Visual Basic - Como agregar datos en una matriz desde algun grid

Life is soft - evento anual de software empresarial
 
Vista:

Como agregar datos en una matriz desde algun grid

Publicado por Daniel Martin Brutti (1 intervención) el 31/10/2005 01:20:43
hola que tal, estoy desarrollando un software que resuleve Sistemas de Ecuaciones Lineales de N incognitas entre otras cosas, y necesito hacer lo siguiente:
Que el usuario ingrese el tamaño del Sistema de ecuaciones lineales, entonces con ese tamaño redimensiono algun control (tipo flexgrid) a tamaño filas*tamaño columnas.
luego que el pueda ingresar los datos de la matriz en ese control y de ahi mediante algun algoritmo los pasaria a una matriz de reales para resolver el sistema.
la duda esta en que control puedo usar para que el usuario ingrese los datos y depues los pueda pasar a una matriz, ya que estuve viendo los distinto grid y no encontra alguno q sirva para eso, todos son para bases de datos!
bueno espero me ayuden! gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Como agregar datos en una matriz desde algun gr

Publicado por Arnaldo (53 intervenciones) el 01/11/2005 03:29:34
Hola Daniel, pordes probar con un MSFLEXGRID, dimecionas la matris del flexo segun la cantidad de filas y columnas que necesites, en las celdas solo podes cargar valores numericos pertenecientes a los reales y una vez que cargaste los datos, mediante la accion que mas te convenga pasa los datos a la matriz variable o empleas los valores directamente para resolver el calculo.
Te mando un ejemplo de lo que acabo de escrivir. Objetops: 1 Msflexgrid, 3 TextBox y 2 commandButton

'--------------------------------------------------------------------------------------------------------

Private Sub Command1_Click()
Dim x as integer

MSFlexGrid1.Cols = Val(Text1(0).Text) + 1
MSFlexGrid1.Rows = Val(Text1(1).Text) + 1
With MSFlexGrid1
For x = 1 To Val(Text1(0).Text)
.TextMatrix(0, x) = "Valor " & Str(x)
Next x
For x = 1 To Val(Text1(1).Text)
.TextMatrix(x, 0) = "Fila " & Str(x)
Next x
End With
End Sub
'--------------------------------------------------------------------------------------------------------

Private Sub Command2_Click()
Dim x, y As Integer
Dim cont As Single

cont = 0
For x = 1 To (MSFlexGrid1.Cols - 1)
For y = 1 To (MSFlexGrid1.Rows - 1)
cont = cont + Val(MSFlexGrid1.TextMatrix(y, x))
Next y
Next x
Text3.Text = cont
End Sub
'--------------------------------------------------------------------------------------------------------

Private Sub Form_Load()
Text1(0).Text = ""
Text1(1).Text = ""
End Sub
'--------------------------------------------------------------------------------------------------------

Private Sub MSFlexGrid1_KeyPress(KeyAscii As Integer)
If InStr("0123456789.", Chr(KeyAscii)) = 0 Then
MSFlexGrid1.Text = ""
Else
MSFlexGrid1.Text = MSFlexGrid1.Text & Chr(KeyAscii)
End If
End Sub
'--------------------------------------------------------------------------------------------------------

Private Sub Text1_Change(Index As Integer)
Text1(Index).Text = Val(Text1(Index).Text)
End Sub
'--------------------------------------------------------------------------------------------------------
Espero que te sirva, yo solo exprese la suma de cada celda del flexo. Mi recorrido es por columnas hasta completar el total de filas.
Suerte con tu proyecto
Tene en cuenta que anule la coma decimal porque "Val" solo te toma como numero real si reconoce punto, sino te toma la parte entera del numero.

Arnaldo.
A.A.V
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar