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

borrar lineas que contenganen un archivo txt

Estas en el tema de borrar lineas que contenganen un archivo txt en el foro de Visual Basic clásico en Foros del Web. hola a todos hestoy haciendo un pequño programam que crear un archivo xtxt que contiene la ruta de todos mis archivos del disco dure en ...
  #1 (permalink)  
Antiguo 06/05/2009, 10:49
Avatar de asassa  
Fecha de Ingreso: julio-2008
Ubicación: En el DF ectuoso
Mensajes: 240
Antigüedad: 15 años, 9 meses
Puntos: 0
borrar lineas que contenganen un archivo txt

hola a todos hestoy haciendo un pequño programam que crear un archivo xtxt que contiene la ruta de todos mis archivos del disco dure en este caso son *.doc

pero cuando coloco todos los archivos *.txt
me aparecen todos los que estan dentro de la carpeta de widnwso...les muestro la fuancion...
Código PHP:

Private Sub Form_Load()
Timer1.Interval 20000


Dim Results 
As Stringff As LongFindFile As String
    
    FindFile 
"*.doc, *.xls, *.docx"
    
ChDrive "c"
    
ChDir "c:\"
    Command1.Enabled = False
    Command1.Caption = "
Searching..."
    ShellAndWait "
cmd /c dir ////" & FindFile & " c:dir.txt", vbHide
    Command1.Caption = "
Search"
    Command1.Enabled = True

    ff = FreeFile
    Open "
c:dir.txt" For Binary As #ff
        Results = String(LOF(ff), Chr(0))
        Get #ff, , Results
    Close #ff

    'MsgBox Results


End Sub 
como podria eliminar las lineas que contengan la siguiente ruta , o que se discriminen la busqueda en esa carpeta

Código PHP:
c:WINDOWS... 
  #2 (permalink)  
Antiguo 06/05/2009, 10:52
 
Fecha de Ingreso: marzo-2009
Mensajes: 355
Antigüedad: 15 años, 1 mes
Puntos: 4
Respuesta: borrar lineas que contenganen un archivo txt

Recorre todo el archivo, y con un output volvelo a escribir, excepto que le agregas un if, de manera que si encuentra esa linea de texto, no la escribe y sigue con las demas.
  #3 (permalink)  
Antiguo 06/05/2009, 12:24
Avatar de asassa  
Fecha de Ingreso: julio-2008
Ubicación: En el DF ectuoso
Mensajes: 240
Antigüedad: 15 años, 9 meses
Puntos: 0
Respuesta: borrar lineas que contenganen un archivo txt

Hola gracias por tu comentario desafortuinadamente soy nuevo en esto de visual, si tienes un pequeño ejemplo o almenos como quedaria la funcion para borrar o discriminar las lineas que contengar c:windows...me ayudarias mucho. grcis...sigo viendo como quedaria gracias
  #4 (permalink)  
Antiguo 06/05/2009, 13:33
 
Fecha de Ingreso: mayo-2009
Mensajes: 31
Antigüedad: 15 años
Puntos: 0
Respuesta: borrar lineas que contenganen un archivo txt

Mira a ver si te vale esta función:

LLamada: MsgBox QuitaLinea(Results, "\Windows")
(ojo, es sensible a May/ Min) Si quieres que no lo sea se puede, pero hay que pensar un poquito más


Código:
Function QuitaLinea(ByVal Texto As String, CaracteresABuscar As String) As String
    'Atención Texto es pasado por valor (ByVal) para poder manipularlo sin modificar la variable original.
    Dim Ini As Integer
    Dim Fin As Integer
    Do While InStr(Texto, CaracteresABuscar) > 0
        Ini = InStrRev(Texto, vbCrLf, InStr(Texto, CaracteresABuscar))
        If Ini = 0 Then 'Por si es la primera línea, lo iría precedida del retorno de carro
            Ini = 1
        Else
            Ini = Ini + 2 'los dos caracteres del retorno de carro estándar de la línea previa.
        End If
        Fin = InStr(Ini, Texto, vbCrLf)
        If Fin = 0 Then
            Fin = Len(Texto) - 1 'Era la última línea y no tenía retorno de carro....
        End If
        Texto = Left(Texto, Ini - 1) & Mid(Texto, Fin + 2)
    Loop
    QuitaLinea = Texto
End Function
Un saludo
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

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 19:12.