elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.


 


Tema destacado: Security Series.XSS. [Cross Site Scripting]


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP)
| | | |-+  Programación Visual Basic (Moderadores: LeandroA, seba123neo)
| | | | |-+  crear tabla estilo Excel con VB
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: crear tabla estilo Excel con VB  (Leído 3,436 veces)
Carlosnuel


Desconectado Desconectado

Mensajes: 526


www.carlosnuel.com


Ver Perfil WWW
crear tabla estilo Excel con VB
« en: 22 Noviembre 2006, 05:43 »

hola, la verdad si no tengo experiencia en VB, y pues en la escuela  me pidieron que hiciera una tabla estilo Excel. Me explico mejor, que el usuario inserte en un campo el numero de filas y el numero de columnas que quiere que tenga la tabla, entonces el programa genera esa tabla para que el usuario ingrese los datos que quiera

llevo horas intentandolo y buscando algun metodo pero no me sale... intente colocando puros cuadros de texto y esos habilitarlos dependiendo del numero de filas y columnas que el usuario ingresaba pero no me sale...

ojala puedan darme una idea de como puedo hacerle...

se lo agradeceria mucho


En línea

ReViJa

Desconectado Desconectado

Mensajes: 149


Ver Perfil WWW
Re: crear tabla estilo Excel con VB
« Respuesta #1 en: 22 Noviembre 2006, 09:52 »

Mira en agregar componentes Microsoft Office XP Web Componets.

Si no te sirve puedes usar FlexGrid.




Un saludo.


En línea

CeLaYa


Desconectado Desconectado

Mensajes: 543



Ver Perfil
Re: crear tabla estilo Excel con VB
« Respuesta #2 en: 22 Noviembre 2006, 14:04 »

Puedes usar el FlexGrid y una caja de texto para ir introduciendo los datos, tambien agregando el MSCOMCTL.ocx puedes crear barras de herramientas para que le des una presentación más profesional
En línea

"La soledad es el elemento de los grandes talentos".
Cristina de Suecia (1626-1689) Reina de Suecia.
Carlosnuel


Desconectado Desconectado

Mensajes: 526


www.carlosnuel.com


Ver Perfil WWW
Re: crear tabla estilo Excel con VB
« Respuesta #3 en: 25 Noviembre 2006, 04:51 »

ok, gracias... miren he logrado generar tabla y que está pueda recibir valores...

ahora el consejo que pido es que me digan como puedo hacer que el al momento de que el usuario ingrese un dato por ejemplo en la celda (1,2) automaticamente me guarde ese valor el programa, le intente con el metodo TextMatrix pero no me funciona... es que necesito en mi programa recoger esos valores para realizar el reconocimiento de cadenas...

aqui les dejo el codigo que llevo escrito, ojala puedan ayudarme


Código:

Sub Form_Load()
   Dim Termm(), NoTerm(), elem()  As String
    Dim a, NoElem As Integer
                     
        NoTerm = Split("E|E'|OS|T|T'|OM|F", "|")
        Termm = Split("+|-|*|(|)|2|$", "|")
        Inicia Termm, NoTerm, Fg2
   
   TxtEdit = ""
End Sub

Public Sub Inicia(ArrTerminales() As String, ArrNoTerminales() As String, Fg2 As MSHFlexGrid)

    Reng = UBound(ArrNoTerminales) + 1
    Cols = UBound(ArrTerminales) + 1
 
    Fg2.Rows = Reng + 1
    Fg2.Cols = Cols + 1
    Fg2.FixedCols = 1
    Fg2.FixedRows = 1
 
    For i = 0 To UBound(ArrTerminales)
        Fg2.TextMatrix(0, i + 1) = ArrTerminales(i)
    Next i
 
    For j = 0 To UBound(ArrNoTerminales)
        Fg2.TextMatrix(j + 1, 0) = ArrNoTerminales(j)
    Next j
 End Sub



Private Function Fgi(r As Integer, c As Integer) As Integer
   Fgi = c + Fg2.Cols * r
End Function

Sub Fg2_KeyPress(KeyAscii As Integer)
   MSHFlexGridEdit Fg2, TxtEdit, KeyAscii
End Sub

Sub Fg2_DblClick()
   MSHFlexGridEdit Fg2, TxtEdit, 32 ' Simula un espacio.
End Sub
Sub MSHFlexGridEdit(MSHFlexGrid As Control, _
Edt As Control, KeyAscii As Integer)

   Case 0 To 32
      Edt = MSHFlexGrid
      Edt.SelStart = 1000

   Case Else
      Edt = Chr(KeyAscii)
      Edt.SelStart = 1
   End Select

   Edt.Move MSHFlexGrid.Left + MSHFlexGrid.CellLeft, _
      MSHFlexGrid.Top + MSHFlexGrid.CellTop, _
      MSHFlexGrid.CellWidth - 8, _
      MSHFlexGrid.CellHeight - 8
   Edt.Visible = True

   Edt.SetFocus
End Sub
Sub txtEdit_KeyPress(KeyAscii As Integer)
   ' Elimina los retornos para quitar los pitidos.
   If KeyAscii = Asc(vbCr) Then KeyAscii = 0
End Sub

Sub txtEdit_KeyDown(KeyCode As Integer, _
Shift As Integer)
   EditKeyCode Fg2, TxtEdit, KeyCode, Shift
End Sub

Sub EditKeyCode(MSHFlexGrid As Control, Edt As _
Control, KeyCode As Integer, Shift As Integer)

   Select Case KeyCode

   Case 27 
      Edt.Visible = False
      MSHFlexGrid.SetFocus

   Case 13
      MSHFlexGrid.SetFocus

   Case 38      ' Arriba.
      MSHFlexGrid.SetFocus
      DoEvents
      If MSHFlexGrid.Row > MSHFlexGrid.FixedRows Then
         MSHFlexGrid.Row = MSHFlexGrid.Row - 1
      End If

   Case 40     
      MSHFlexGrid.SetFocus
      DoEvents
      If MSHFlexGrid.Row < MSHFlexGrid.Rows - 1 Then
         MSHFlexGrid.Row = MSHFlexGrid.Row + 1
      End If
   End Select
End Sub
Sub Fg2_GotFocus()
   If TxtEdit.Visible = False Then Exit Sub
   Fg2 = TxtEdit
   TxtEdit.Visible = False
End Sub

Sub Fg2_LeaveCell()
   If TxtEdit.Visible = False Then Exit Sub
   Fg2 = TxtEdit
   TxtEdit.Visible = False
End Sub
En línea

CeLaYa


Desconectado Desconectado

Mensajes: 543



Ver Perfil
Re: crear tabla estilo Excel con VB
« Respuesta #4 en: 25 Noviembre 2006, 14:33 »

puedes poner una caja de texto para simular que el usuario esta escibiendo arriba del MSFlexGrid, y que al dar enter en el text te ponga los datos en la celda


Private Sub MSFlexGrid1_EnterCell()
    Text1.Top = MSFlexGrid1.CellTop
    Text1.Left = MSFlexGrid1.CellLeft
End Sub

Private Sub Text1_KeyPress(KeyAscii As Integer)
    If KeyAscii = 13 Then MSFlexGrid1.Text = Text1.Text
End Sub
En línea

"La soledad es el elemento de los grandes talentos".
Cristina de Suecia (1626-1689) Reina de Suecia.
Carlosnuel


Desconectado Desconectado

Mensajes: 526


www.carlosnuel.com


Ver Perfil WWW
Re: crear tabla estilo Excel con VB
« Respuesta #5 en: 30 Noviembre 2006, 04:53 »

ya he podido hacer que el usuario ingrese automaticamente los datos, gracias...

pero otra pregunta, disculpen las molestias que causo es que apenas estoy aprendiendo VB mi pregunta es... en mi FlexGrid el usuario ya escribe los datos en la dirección del arreglo que quiere... ahora lo que  necesito hacer es que en las celdas que quedan vacias escriba un 0  pero no me queda porque en todas las celdas escribe el 0 y el boton que puse no funciona para hacer esa parte que les digo de completar la tabla, en pocas palabras asi como carga el programa llena la tabla y ese no es el chiste, si no que primero el usuario escriba los campos que necesite y luego complete la tabla...


este es mi codigo

Citar
Public Sub LlenarT_Click()
  GeneraT
 End Sub

Private Sub GeneraT(ArrTerminales() As String, ArrNoTerminales() As String)
    Reng = UBound(ArrNoTerminales) + 1
    Cols = UBound(ArrTerminales) + 1
 
  For j = 0 To UBound(ArrNoTerminales)
    grd.TextMatrix(j + 1, 7) = "Explorar"
  Next j
   
End Sub


pd. no sé si lo comente antes... pero mi programa es para un analizador lexico de la materia de compiladores... tengo que realizar la recuperación de errores por ese metodo
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
[Ayuda]Crear Tabla Relacionadas
PHP
rolly21102 1 3,838 Último mensaje 2 Febrero 2011, 07:15
por zarkiel
Problema al crear excel [SOLUCIONADO]
Java
Pablo Videla 2 5,221 Último mensaje 7 Noviembre 2011, 15:43
por Pablo Videla
Problema con restricciones al crear una tabla (SQL, Oracle)
Bases de Datos
|Miguel| 1 3,663 Último mensaje 27 Diciembre 2011, 13:40
por |Miguel|
Crear videojuego estilo Doddle Jump
Programación General
RaloGomez 1 705 Último mensaje 20 Enero 2017, 01:51
por engel lex
Aplasta a tus enemigos: alguien logró crear una versión de Civilization en Excel
Noticias
wolfbcn 0 229 Último mensaje 10 Septiembre 2019, 02:25
por wolfbcn
Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines