Visual Basic - Problema al leer currency

Life is soft - evento anual de software empresarial
 
Vista:

Problema al leer currency

Publicado por Raul C (6 intervenciones) el 03/07/2007 19:55:51
Hola a todos:

Tengo el siguiente problema, el codigo dice:

Private Sub Command1_Click()
Open "I:\PROGRAMACION VB\070611-prueba\MADRE.taq" For Input As #10
Open "I:\PROGRAMACION VB\070611-prueba\res.taq" For Output As #20
Dim i As Integer
Dim puntomadre(10) As Long, xmadre(10) As Currency, ymadre(10) As Currency
Dim zmadre(10) As Currency
i = 1
Do While Not EOF(10)
Input #10, puntomadre(i), xmadre(puntomadre(i)), ymadre(puntomadre(i)),
zmadre(puntomadre(i))
Write #20, puntomadre(i), xmadre(puntomadre(i)), ymadre(puntomadre(i)), zmadre(puntomadre(i))
i = i + 1
Loop

Close #10
Close #20
End Sub

El archivo de datos dice:

1,234.3,656.5,678.4
2,376.3,598.5,321.3

Y el de resultados, inexplicablemente dice:

1,0,0,0
2,0,0,0

ALGUIEN ME LO PUEDE EXPLICAR. GRACIAS. AH, EN CONFIGURACION REGIONAL TENGO EL PUNTO DECIMAL Y LA COMA PARA SEPARACION DE MILES.
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:Problema al leer currency

Publicado por fernando (102 intervenciones) el 04/07/2007 13:18:10
No se puede usar como indice de una matriz un valor que se defina en la misma instrucción Input (en este caso puntomadre(i))
Fijate que si hacés dos pasadas de lectura funciona:

Private Sub Command1_Click()
Open "I:\PROGRAMACION VB\070611-prueba\MADRE.taq" For Input As #10
Open "I:\PROGRAMACION VB\070611-prueba\res.taq" For Output As #20
Dim i As Integer
Dim puntomadre(10) As Long, xmadre(10) As Currency, ymadre(10) As Currency
Dim zmadre(10) As Currency, basura1 As Currency, basura2 As Long

i = 1
Do While Not EOF(10)
Input #10, puntomadre(i), basura1, basura1, basura1
i = i + 1
Loop

Close #10

Open "I:\PROGRAMACION VB\070611-prueba\MADRE.taq" For Input As #10
i = 1
Do While Not EOF(10)
Input #10, basura2, xmadre(puntomadre(i)), ymadre(puntomadre(i)), zmadre(puntomadre(i))
Write #20, puntomadre(i), xmadre(puntomadre(i)), ymadre(puntomadre(i)), zmadre(puntomadre(i))
i = i + 1
Loop

Close #10
Close #20
End Sub
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

GRACIAS

Publicado por Raul C (6 intervenciones) el 04/07/2007 19:53:48
GRACIAS POR LA RESPUESTA. SON LOS ERRORES DE HABER PROGRAMADO EN FORTRAN SIEMPRE, ME INICIO AHORA EN VB...
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