Foro de elhacker.net

Programación => Programación Visual Basic => Mensaje iniciado por: Psyke1 en 30 Mayo 2010, 01:34 am



Título: [Ayuda] Editar archivo de texto
Publicado por: Psyke1 en 30 Mayo 2010, 01:34 am
Hola , os lo voy a poner facil:
Estoy haciendo un programa que lee un archivo de texto, y si detecta la cadena "Siguiente" en una linea cree un archivo de texto que contenga esa linea, actualmente hago esto:
Código
  1. Private Sub Form_Load()
  2.    Dim archivo As Integer
  3.    Dim linea   As String
  4.    Dim x       As Integer
  5.    archivo = FreeFile
  6.    Open App.Path & "\lista.txt" For Input As archivo
  7.    Do While Not EOF(archivo)
  8.        Line Input #archivo, linea
  9.        If InStr(linea, "siguiente") <> 0 Then
  10.            Open App.Path & "\" & linea & x & ".txt" For Output As #1
  11.                Print #1, "Hola"
  12.            Close #1
  13.            x = x + 1
  14.        End If
  15.    Loop
  16. End Sub
Pero me da error me dice:
Citar
El archivo ya está abierto
Y me marca la linea:
Citar
Open App.Path & "\" & linea & x & ".txt" For Output As #1
mmmmmm
Porque?¿  :huh:


Título: Re: [Ayuda] Editar archivo de texto
Publicado por: Dessa en 30 Mayo 2010, 03:24 am
No se si entendí bien ?

Código:

Private Sub Form_Load()
   
  Open App.Path & "\lista.txt" For Output As #1
    Print #1, "L1 siguiente"
    Print #1, "L2"
    Print #1, "L3 siguiente"
    Print #1, "L4"
    Print #1, "L5"
    Print #1, "L6 siguiente"
  Close #1
 
  Dim linea   As String
  Dim x       As Integer
   
  Open App.Path & "\lista.txt" For Input As #1
    While Not EOF(1)
      Line Input #1, linea
      If InStr(linea, "siguiente") <> 0 Then
          Open App.Path & "\" & linea & x & ".txt" For Output As #2
              Print #2, "Hola"
          Close #2
          x = x + 1
       End If
    Wend
  Close #1

End Sub




Título: Re: [Ayuda] Editar archivo de texto
Publicado por: Psyke1 en 30 Mayo 2010, 03:46 am
Hola Dessa! :P
Siento decirte que no es eso :silbar:, el error me lo da con el code que tengo posteado... :(
Pero me da error me dice:
Citar
El archivo ya está abierto
Y me marca la linea:
Citar
Open App.Path & "\" & linea & x & ".txt" For Output As #1
mmmmmm
Porque?¿  :huh:
Creo que lo explique bastante claro...

Salu2!


Título: Re: [Ayuda] Editar archivo de texto
Publicado por: seba123neo en 30 Mayo 2010, 04:39 am
es porque el freefile del primer archivo te esta dando el mismo ID que el 1 que vos estas poniendo fijo en el segundo archivo, si lo haces con freefile, debes hacerlo con todos...sino ponele 1 al primero y 2 al segundo...pero nunca mezcles porque nunca vas a saber si te va a dar los mismos ID.

y el contador va fuera del IF.

Código
  1. Private Sub Form_Load()
  2.    Dim archivo As Integer
  3.    Dim archivo2 As Integer
  4.    Dim linea   As String
  5.    Dim x       As Integer
  6.  
  7.    archivo = FreeFile
  8.    Open "C:\lista.txt" For Input As archivo
  9.    Do While Not EOF(archivo)
  10.        Line Input #archivo, linea
  11.        If InStr(linea, "siguiente") <> 0 Then
  12.            archivo2 = FreeFile
  13.            Open "C:\" & linea & x & ".txt" For Output As #archivo2
  14.                Print #archivo2, "Hola"
  15.            Close #archivo2
  16.        End If
  17.        x = x + 1
  18.    Loop
  19.    Close #archivo
  20. End Sub

saludos.


Título: Re: [Ayuda] Editar archivo de texto
Publicado por: Psyke1 en 30 Mayo 2010, 10:56 am
Gracias una vez más seba123neo! ;-)
Ya sabia yo que tenia que ser una chorrada... :silbar:

Salu2!