Visual Basic - Acceso secuencial

Life is soft - evento anual de software empresarial
   
Vista:

Acceso secuencial

Publicado por Mikel (5 intervenciones) el 28/03/2008 19:43:56
No hay nadie que sepa hacer esto......

Necesito sacar datos de un fichero de texto para operar con ellos.
El fichero de texto puede ser bastante largo ( 12Mb )

Ejemplo del fichero:

1 P0 B134,34 C120,45 D23.34
2 B14,34 C20,45 D3.34
3 B234,34 C120,45 D223.
4 P1 B11334 C120,45 D234
5 B234,34 C120,45 D223.
6 P1 B11334 C120,45 D234

......

Se trata de sacar los datos que van después de las "B","C" y "D" y si hay un "P0" al principio sumarlos, Y Si hay un P1 al principio restarlos.

Muchas gracias por vuestra ayuda.
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:Acceso secuencial

Publicado por lolo (163 intervenciones) el 28/03/2008 20:05:50
Si ya de entrada afirmas que "No hay nadie que sepa hacer esto...... " no sé para qué preguntas.

YO SI SE cómo se puede hacer eso, pero por pedante no te respondo!

Que te den!
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

RE:Acceso secuencial

Publicado por lolo (163 intervenciones) el 28/03/2008 22:03:33
Es evidente, amigo Manuel, que aunque seas profesor en una academia, no sabes siquiera donde te encuentras.

ese codigo que pones no es de VB6 sino de .NET y mas me temo aún que ni siquiera es VB sino C

asi que sr. profesor chiflado vaya con sus respuestas al foro correspondiente.

Reciba mi señor profesor??? un cordial saludo
y de paso que te den por el QLO!!!

a que rima?
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

RE:Acceso secuencial

Publicado por Mikel (5 intervenciones) el 29/03/2008 14:44:34
Manuel parece que eres el único que estría interesado en ayudarme.

Olvidémonos de el lolo que no hace otra cosas que intentar ser ingenioso con sus comentarios por el foro.

Necesito ayuda con lo de los datos del fichero.

Un saludo.
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

RE:Acceso secuencial

Publicado por lolo (163 intervenciones) el 29/03/2008 15:35:52
Pero... pequeño saltamontes, cómo haces caso a este elemento?

Fíjate en sus respuestas

"Mi respuesta era correcta salvo que me confundi de lenguaje de programacion."
???

" Imparto clases de tantos lenguajes que ya no se muy bien donde ando."

Lo único cierto de eso es que no sabe donde anda!

Y yo doy respuestas coherentes cuando las preguntas también lo son, no como este ejemplar que dice ser profesor e impartir clases en tantos lenguajes de programacion y que ni siquiera sabe donde se anda.

En fin... es posible que mas tarde (si me pides disculpas) te solucione el problema.
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

RE:Acceso secuencial

Publicado por Mikel (5 intervenciones) el 29/03/2008 18:48:57
Normalmente no necesito que alguien me diga cuando me tengo que disculpar pero es importante que aprenda a extraer los datos de ese tipo de archivos. Y si he de disculparme por en algún momento ser pedante, lo siento. Pero por favor, si puedes iluminarme te lo agradezco.
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

RE:Acceso secuencial

Publicado por lolo (163 intervenciones) el 29/03/2008 22:04:14
Pues mira, en este momento no me sale de las pelotas iluminarte, pero no desesperes que quizá en otro momento.
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

RE:Acceso secuencial

Publicado por lolo (163 intervenciones) el 30/03/2008 13:30:50
Bueno, ahora sí es el momento (es que anoche acababa de perder el Barcelona y estaba como muy cabreado, espero que lo entiendas).

Este código va dedicado al "Profesor"

Private Sub Command1_Click()
Dim a() As String, i As Integer
Dim Suma As Double, Resta As Double
Dim Pos1 As Long, Pos2 As Long, Pos3 As Long
Open App.Path & "Fichero.txt" For Input As #1
a = Split(Input(LOF(1), #1), vbNewLine)
Close #1
For i = LBound(a) To UBound(a)
' esta instrucción la tuve que poner porque en tu fichero de ejemplo
' unos datos tenían como separador decimal la coma y otros el punto.
a(i) = Replace(a(i), ".", ",")
'''''''''''''''''''''''''''''''''''
If InStr(1, a(i), "P0") Then
Pos1 = InStr(1, a(i), "B") + 1
Pos2 = InStr(1, a(i), "C")
Pos3 = InStr(1, a(i), "D")
Suma = Suma + CDbl(Mid(a(i), Pos1, (Pos2 - Pos1)))
Suma = Suma + CDbl(Mid(a(i), Pos2 + 1, (Pos3 - Pos2 - 1)))
Suma = Suma + CDbl(Mid(a(i), Pos3 + 1, Len(a(i)) - Pos3))
ElseIf InStr(1, a(i), "P1") Then
Pos1 = InStr(1, a(i), "B") + 1
Pos2 = InStr(1, a(i), "C")
Pos3 = InStr(1, a(i), "D")
Resta = Resta - CDbl(Mid(a(i), Pos1, (Pos2 - Pos1)))
Resta = Resta - CDbl(Mid(a(i), Pos2 + 1, (Pos3 - Pos2 - 1)))
Resta = Resta - CDbl(Mid(a(i), Pos3 + 1, Len(a(i)) - Pos3))
End If
Next i
Label1 = Suma
Label2 = Resta
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

RE:Acceso secuencial

Publicado por Mikel (5 intervenciones) el 29/03/2008 14:42:53
Manuel parece que eres el único que estría interesado en ayudarme.

Olvidémonos de el lolo que no hace otra cosas que intentar ser ingenioso con sus comentarios por el foro.

Necesito ayuda con lo de los datos del fichero.

Un saludo.
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