Visual Basic - Gracias Fernando, una última duda

Life is soft - evento anual de software empresarial
 
Vista:

Gracias Fernando, una última duda

Publicado por Ivette (28 intervenciones) el 24/12/2003 23:03:57
Hola Fernando, gracias por tu ayuda, ya logré la exportación de los datos como quería, sin embargo, siento que todavía se puede mejorar el código, ya que está de tal forma que conozco el número de columnas del grid, sin embargo, ojalá pudiera quedar el código para que no se especifique el número de columnas del grid, el código es el siguiente:

Dim cadena As String
Open "c:\mifichero.txt" For Output As #1
For r = 1 To MSFlexGrid2.Rows - 1
cadena = MSFlexGrid2.TextMatrix(r, 1)
cadena1 = MSFlexGrid2.TextMatrix(r, 2)
cadena2 = MSFlexGrid2.TextMatrix(r, 3)
cadena3 = MSFlexGrid2.TextMatrix(r, 4)
Print #1, cadena, cadena1, cadena2, cadena3
Next r
Close #1
Como veras sabía que el num de cols es 4, ojalá me pudiera ayudar, gracias, ah por cierto, no sé si me puedas decir si es posible que los datos que se exportan no estén redondeados, gracias y Feliz Navidad!!!!
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:Gracias Fernando, una última duda

Publicado por Fernando (166 intervenciones) el 25/12/2003 14:07:12
No estoy seguro de si entendi bien, pero lo que vos queres hacer es que se genere la variable cadena, en forma dinamica, es decir, sin saber de antemano cuantos campos tenes verdad? Eso se soluciona haciendo dos bucles for, un bucle para cada registro, (como tenes hecho) y dentro de este, un bucle mas que vaya de 0 a msf.Cols - 1.
Te escribo el código de ejemplo de como quedaría, pero tene en cuenta que no lo probe, si algo no funciona revisalo, es para que tengas una idea.

Dim cadena As String
Dim f as Integer, c as Integer
Open "c:\mifichero.txt" For Output As #1

For f = 1 To MSFlexGrid2.Rows - 1
MsFlexGrid2.Row = r
Cadena = "" 'esto es para estar seguro que cadena queda en blanco
For c = 0 To MsFlexGrid2.Cols - 1
MsFloxGrid.Col = c
Cadena = Cadena & " " & MsFlexGrid2.Text
Next c
Print #1, cadena
Next f
Close #1

De esta forma declaras solo una variable cadena, y se hace en forma dinamica.

Suerte
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