Edicion de Archivos en VB

Iniciado por Hendrix, 8 Abril 2006, 13:23 PM

0 Miembros y 2 Visitantes están viendo este tema.

Hendrix

Weno, creo que se posible editar archivos en VB, lo que quiero hacer es esto:

supongamos que tengo este archivo: file.txt

Hola
a
todos
soy
Hendrix

Weno, supongamos que tenemos esto, komo konsigo ver si el archivo kontiene la palabra "soy" y si la tiene que modifike el archivo y kede asi:

Hola
a
todos
y
a
todas

soy
Hendrix

(Este archivo tiene las palabras separadas por lienas, asi que se tienen que poner los saltos de liena pertenientes).

Alguien me puede ayudar???

Salu2 y gracias.

Hendrix

"Todos los días perdemos una docena de genios en el anonimato. Y se van. Y nadie sabe de ellos, de su historia, de su peripecia, de lo que han hecho, de sus angustias, de sus alegrías. Pero al menos una docena de genios se van todos los días sin que sepamos de ellos". - Juan Antonio Cebrián

Cicklow

#1

re = "y" & vbnewline & "a" & vbnewline & "todas"
open "file.txt" for input as #1
while not eof(1)
  line input #1, contenido
  if ucase(contenido) <> "SOY"
    open "file2.txt" for append as #2
      print #2, contenido
    close
  else
    open "file2.txt" for append as #2
      print #2, re
      print #2, contenido
    close
  end if
wend
close
kill "file.txt"
name "file2.txt" as "file.txt"
msgbox "Listo"
www.cicklow.com . Solo Soy Un Ciego que Ve El Sonido Del Silencio

Hendrix

Weno, le e tenido que agregar algunos kambios y me keda asi:

Private Sub Command1_Click()
Dim re As String
Dim contenido As String
re = "y" & Chr(13) & "a" & Chr(13) & "todas"
Open "C:\file.txt" For Input As #1
While Not EOF(1) = [color=Red]True[/color]
  Line Input #1, contenido
  If UCase(contenido) <> "SOY" [color=Red]Then[/color]
  Open "C:\file2.txt" For Append As #2
      Print #2, contenido
    Close
  Else
    Open "C:\file2.txt" For Append As #2
      Print #2, re
      Print #2, contenido
    Close
  End If
Wend
Close
Kill "C:\file.txt"
Name "C:\file2.txt" As "C:\file.txt"
MsgBox "Listo"
End Sub


Pero ahora me sale error aki:

While Not EOF(1) = True

Me sale sete error: Nombre o numero de archivo incorrecto.

Gracias de todos modos... ;) ;)

Salu2

"Todos los días perdemos una docena de genios en el anonimato. Y se van. Y nadie sabe de ellos, de su historia, de su peripecia, de lo que han hecho, de sus angustias, de sus alegrías. Pero al menos una docena de genios se van todos los días sin que sepamos de ellos". - Juan Antonio Cebrián

Cicklow

Me salte el then (eso es por programar en VFP y C que no lo usan jejeje

estas negando el eof asike no nesesitas el = True
con solo While Not EOF(1) listo!!
www.cicklow.com . Solo Soy Un Ciego que Ve El Sonido Del Silencio

Hendrix

Weno, lo e korregido y me salta error en la misma linea y kon el mismo tipo de error... :-\ :-\ :-\

Salu2 y zankiu!!!

"Todos los días perdemos una docena de genios en el anonimato. Y se van. Y nadie sabe de ellos, de su historia, de su peripecia, de lo que han hecho, de sus angustias, de sus alegrías. Pero al menos una docena de genios se van todos los días sin que sepamos de ellos". - Juan Antonio Cebrián

NYlOn


    Dim Final, Todo, Buff, Frase As String
    Frase = vbCrLf & "y" & vbCrLf & "a" & vbCrLf & "todas" & vbCrLf 'Aramamos la frase
   
    Open "c:\linea.txt" For Input As #1 'abrimos el archivo a modificar
        Do While Not EOF(1) 'mientras no se haya terminado
            Line Input #1, Buff
            Todo = Todo & Buff & vbCrLf 'ir poninedo linea por linea en una variable
        Loop
    Close #1 'cerramos
   
    For i = 1 To Len(Todo) 'desde 1 hasta el largo de la variable
        If Mid(Todo, i, 3) = LCase("soy") Then 'si encontramos la palabra 'soy'
            Final = Left(Todo, i - 2) & Frase & Right(Todo, Len(Todo) - i + 1) 'ponemos en una nueva variable lo que esta antes del 'soy', nuestra frase y lo que queda al final.
        End If
    Next i
           
    Open "c:\Modificado.txt" For Output As #1 'Abrimos el archivo resultante
        Print #1, Final 'ponemos la variable Final que nos habia quedado
    Close #1


Espero que te sirva, saludos.-

Hendrix

Muchisimas gracias NYlon!!!! ;) ;) ;)

A ti tambien Cyklow

Salu2

"Todos los días perdemos una docena de genios en el anonimato. Y se van. Y nadie sabe de ellos, de su historia, de su peripecia, de lo que han hecho, de sus angustias, de sus alegrías. Pero al menos una docena de genios se van todos los días sin que sepamos de ellos". - Juan Antonio Cebrián