Test Foro de elhacker.net SMF 2.1

Programación => .NET (C#, VB.NET, ASP) => Programación General => 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 (vb) [Seleccionar]
Private Sub Form_Load()
    Dim archivo As Integer
    Dim linea   As String
    Dim x       As Integer
    archivo = FreeFile
    Open App.Path & "\lista.txt" For Input As archivo
    Do While Not EOF(archivo)
        Line Input #archivo, linea
        If InStr(linea, "siguiente") <> 0 Then
            Open App.Path & "\" & linea & x & ".txt" For Output As #1
                Print #1, "Hola"
            Close #1
            x = x + 1
        End If
    Loop
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 ?



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... :(
Cita de: *PsYkE1* en 30 Mayo 2010, 01:34 AM
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 (vb) [Seleccionar]
Private Sub Form_Load()
   Dim archivo As Integer
   Dim archivo2 As Integer
   Dim linea   As String
   Dim x       As Integer
   
   archivo = FreeFile
   Open "C:\lista.txt" For Input As archivo
   Do While Not EOF(archivo)
       Line Input #archivo, linea
       If InStr(linea, "siguiente") <> 0 Then
           archivo2 = FreeFile
           Open "C:\" & linea & x & ".txt" For Output As #archivo2
               Print #archivo2, "Hola"
           Close #archivo2
       End If
       x = x + 1
   Loop
   Close #archivo
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!