Foros del Web » Programación para mayores de 30 ;) » Programación General » Visual Basic clásico »

Archivos TXT leer para VB

Estas en el tema de Archivos TXT leer para VB en el foro de Visual Basic clásico en Foros del Web. bueno estoy con dolor de cabeza estoy haciendo un programa tipo HACHA al cual tengo que leer lineas y posicionarme ejemplo txt los datos son ...
  #1 (permalink)  
Antiguo 13/02/2008, 15:10
 
Fecha de Ingreso: septiembre-2007
Mensajes: 54
Antigüedad: 16 años, 7 meses
Puntos: 0
Archivos TXT leer para VB

bueno estoy con dolor de cabeza

estoy haciendo un programa tipo HACHA al cual tengo que leer lineas y posicionarme ejemplo

txt los datos son

felipe 1000 C:/principal.txt " este contiene 6 lineas"
ana 5000
pedro estudiante
juan lagos
fernando yevi
juanito otro loco mas

a lo que necesito copiar de 2 en 2 y meterlas a otro txt distintos

felipe 1000 c:/ primer.txt
ana 5000

pedro estudiante c:/ segundo.txt
juan lagos

fernando yevi c:/tercer.txt
juanito otro loco mas

------------------------------------------------------------------------

se traer el dato a un textbox y leer el txt completo

Text2 = ""

Dim cont As Integer
Dim VarTexto As String

cont = 0
Open "c:/prueba.txt" For Input As #1
Do Until EOF(1)
Line Input #1, VarTexto
Text2 = Text2 & VarTexto & vbCrLf
cont = cont + 1
txtCont = cont
Loop
Close #1

----------------------------------------

puse un contador para saber cuantas lineas estoy leeyendo pero no se como posicionar me en una linea y leer desde un punto pofabor alguna ayuda
  #2 (permalink)  
Antiguo 14/02/2008, 04:20
Colaborador
 
Fecha de Ingreso: enero-2008
Ubicación: Unas veces aquí, otras veces allí
Mensajes: 1.482
Antigüedad: 16 años, 3 meses
Puntos: 37
Re: Archivos TXT leer para VB

Mira, marca la referencia "Microsoft Scripting Runtime" y pon este code

Código:
Dim FSO As New FileSystemObject
Dim TxS As TextStream, Fil As File
Dim a() As String, i As Integer, x As Integer

Set Fil = FSO.GetFile(App.Path & "\prueba.txt")
Set TxS = Fil.OpenAsTextStream(ForReading)
a() = Split(TxS.ReadAll, vbNewLine)
TxS.Close
x = 0
For i = LBound(a) To UBound(a)
    If x > UBound(a) Then Exit For
    Set TxS = FSO.CreateTextFile(App.Path & "\Prueba" & i & ".txt", True)
    TxS.WriteLine a(x)
    If x <> UBound(a) Then TxS.WriteLine a(x + 1)
    x = x + 2
Next i
¿Qué es lo que hace?
1º Abre el archivo "prueba.txt" que contiene todos los nombres
2º Lo lee y lo guarda en un array a()
3º Recorre cada uno de los elementos del array, crea un nuevo archivo y escribe en él los elementos de dos en dos

Nota: Si el archivo a crear ya existe, lo sobreescribe.


La condición "If x <> UBound(a) Then .." es por si en el archivo principal, las lineas fueran impares

Espero que se te pase el dolor de cabeza.
  #3 (permalink)  
Antiguo 14/02/2008, 10:46
Avatar de piojoman  
Fecha de Ingreso: enero-2005
Ubicación: Argentina
Mensajes: 224
Antigüedad: 19 años, 3 meses
Puntos: 3
Re: Archivos TXT leer para VB

tambien puede ser asi:

Private Sub Form_Load()
Dim Dato As String, aux as byte, x as integer, VariableAux as string

aux = 1
For x = 1 To Len(Tex.Text)
Dato = Mid(Text1.Text, x, 1)
If (Asc(Dato) <= 26) Then 'le tire hasta el codigo 26 porque no estaba seguro, pero me parece que con 15 ya detecta el enter
If (aux = 4) Then
MsgBox VariableAux 'Aca tenes que reemplazarlo por el codigo de armar un txt aparte, no tenia ganas de hacerlo
aux = 1
VariableAux = ""
Else
aux = aux + 1
VariableAux = VariableAux + Dato
End If
Else
VariableAux = VariableAux + Dato
End If
Next
End Sub
  #4 (permalink)  
Antiguo 26/02/2008, 15:03
 
Fecha de Ingreso: septiembre-2007
Mensajes: 54
Antigüedad: 16 años, 7 meses
Puntos: 0
Re: Archivos TXT leer para VB

bueno para aquellos que piensan que no termine el prograna les mando la respuesta

bueno lo hice con un Append y con un case asi solo indico mi contador cuanto va a lo que las lineas cuenta con append , imprimo o escribo en mi txt desde el punto ultimo de la ultima linea


Open txtORIGEN For Input As #1

Do Until EOF(1)
Line Input #1, VarTexto
memoria = VarTexto '& vbCrLf
cont = cont + 1
txtCont = cont

nfile = FreeFile
Open patch & rutaArchivo & " - " & conta & ".txt" For Append As #nfile
Print #nfile, memoria
Close #nfile
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 02:14.