elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Introducción a la Factorización De Semiprimos (RSA)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP)
| | | |-+  Programación Visual Basic (Moderadores: LeandroA, seba123neo)
| | | | |-+  Duda con archivos de texto
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Duda con archivos de texto  (Leído 1,467 veces)
pandemonio

Desconectado Desconectado

Mensajes: 26


Orgullosamente usuario del Xtreeeem Porquería


Ver Perfil
Duda con archivos de texto
« en: 21 Septiembre 2006, 17:27 pm »

Tengo un archivo de texto con el siguiente contenido:

Citar
Campo1, MAS DATOS|Campo2|Campo3|Campo4|
Campo1|Campo2, MAS DATOS|Campo3|Campo4|
Campo1|Campo2|Campo3, MAS DATOS|Campo4|
Campo1|Campo2|Campo3|Campo4, MAS DATOS|

Si notan, el archivo contiene una serie de registros conformados por campos los cuales están divididos por Pipes (|), mi problema aquí es que deseo eliminar todas las comas (,) que existen en el archivo y guardar dicho archivo sin las comas; haciendo esto el archivo debería quedar así:

Citar
Campo1 MAS DATOS|Campo2|Campo3|Campo4|
Campo1|Campo2 MAS DATOS|Campo3|Campo4|
Campo1|Campo2|Campo3 MAS DATOS|Campo4|
Campo1|Campo2|Campo3|Campo4 MAS DATOS|

El archivo debe quedar sin comas, eso es todo lo que necesito. Gracias.


En línea

karmany
Colaborador
***
Desconectado Desconectado

Mensajes: 1.614


Sueñas que sueñas


Ver Perfil WWW
Re: Duda con archivos de texto
« Respuesta #1 en: 21 Septiembre 2006, 17:46 pm »

Puedes abrir el archivo en modo binario o aleatorio y comparar cuándo aparece la ",":
Open nombre_fichero For modo As #nFichero
Utiliza Freefile para obterner el siguiente número disponible.

Después se me ocurre que cuando encuentre el programa una "," que mueva todo el contenido del archivo una posición a la izquierda, a partir de la "," encontrada.


« Última modificación: 22 Septiembre 2006, 22:10 pm por karmany » En línea

pandemonio

Desconectado Desconectado

Mensajes: 26


Orgullosamente usuario del Xtreeeem Porquería


Ver Perfil
Re: Duda con archivos de texto
« Respuesta #2 en: 21 Septiembre 2006, 18:24 pm »

Puedes abrir el archivo en modo binario o aleatorio y comparar cuándo aparece la ",":
Open nombre_fichero For modo As
  • nFichero
Utiliza Freefile para obterner el siguiente número disponible.

Después se me ocurre que cuando encuentre el programa una "," que mueva todo el contenido del archivo una posición a la izquierda, a partir de la "," encontrada.

Buena idea, gracias por tu comentario, me será de mucha ayuda. ¿Alguién tiene más sugerencias?


EDITADO

Aquí tengo el código para buscar la coma, ahora sólo me falta el código para quitarla en todo el archivo.

Código:

Private Sub Command1_Click()
    Dim Archivo As String, TODO As String, Busca As String
   
    Dim NumArchivo As Integer
   
    Archivo = "C:\archivo.txt"
    NumArchivo = FreeFile()
   
    Open Archivo For Input As #NumArchivo
        TODO = input(LOF(1), 1)
       
        busca = InStr(1, TODO, ",", vbTextCompare)
           
        If busca > 0 Then
            MsgBox "Encontrado"
        End If
    Close #NumArchivo
   
    Text1.Text = TODO
End Sub


Es necesario agregar un botón de comando y un cuadro de texto con la propiedad Multiline en True.
« Última modificación: 21 Septiembre 2006, 19:45 pm por pandemonio » En línea

MANULOMM


Desconectado Desconectado

Mensajes: 559


Erepublik.com


Ver Perfil
Re: Duda con archivos de texto
« Respuesta #3 en: 22 Septiembre 2006, 03:50 am »

Hola...
Yo he encontrado un codigo el cual busca y reemplaza un caracter en un texto, lo malo es que solo reemplaza el 1 caracter que hay..
Yo lo he adecuado para que busque y reemplaza todos los caracteres ( en este caso "comas"), lo unico que tenes que hacer es pasar el texto del Archivo.txt al texbox que para mi codigo se llama txtTexto...
Código:
Private Sub Command1_Click()
Dim original, busca, reemplaza, nueva As String
Dim long_original, long_busca, lugar_reemplaza As Integer
Dim Cont As Integer
For Cont = 1 To Len(txtTexto.Text)
    original = Trim(txtTexto.Text)
    busca = ","
    reemplaza = ""
    long_original = Len(original)
    long_busca = Len(busca)
    lugar_reemplaza = InStr(original, busca)
    If lugar_reemplaza = 0 Then
        txtTexto = nueva
        Exit Sub
    End If
    nueva = Mid(original, 1, lugar_reemplaza - 1) & reemplaza

    nueva = nueva & Mid(original, lugar_reemplaza + long_busca, long_original)
    txtTexto = nueva
Next Cont
End Sub
espero te sirva....

Atentamente


JUAN MANUEL LOMBANA
MEDELLÍN - COLOMBIA
En línea


karmany
Colaborador
***
Desconectado Desconectado

Mensajes: 1.614


Sueñas que sueñas


Ver Perfil WWW
Re: Duda con archivos de texto
« Respuesta #4 en: 22 Septiembre 2006, 23:02 pm »

Siguiendo el ejemplo que has hecho tú, puedes hacer lo siguiente:

Código:
Private Sub Command1_Click()

    Dim Archivo As String, Busca As String, TODO As String
    Dim NumArchivo As Integer, x As Long
   
    Archivo = "C:\archivo.txt"
    NumArchivo = FreeFile()
   
  Open Archivo For Input As #NumArchivo
    TODO = Input(LOF(1), 1)
       
    For x = 1 To Len(TODO)
        If Mid(TODO, x, 1) = "," Then TODO = Mid(TODO, 1, x - 1) & Mid(TODO, x + 1, Len(TODO) - x1)
    Next x
       
  Close #NumArchivo
   
  Open Archivo For Output As #NumArchivo
    Print #NumArchivo, TODO
  Close #NumArchivo
   
    Text1 = TODO
   
End Sub

Los problemas que puedes tener y que me han pasado a mi en algún programa es:
-que si pasas tu archivo.txt a un textbox tienes que tener en cuenta que el límite de un textbox son 64K.
-otra cosa que me ocurrió es que una persona me abrió  el .txt con el Microsoft Word y tras modificarlo lo guardó. No puedes imaginar la cantidad de código que añade este programa y que me falseaba lo que yo buscaba...

Que tengas suerte
En línea

NYlOn


Desconectado Desconectado

Mensajes: 842


OOOOHHHHHH, TARAGÜIIII xDDDDDD


Ver Perfil WWW
Re: Duda con archivos de texto
« Respuesta #5 en: 23 Septiembre 2006, 23:50 pm »

Podes usar la funcion Replace y no te haces tanto lio. Podes hacer algo asi:
Código:
Todo = Replace(Todo, ",", "")
Despues usas la variable "Todo" que ya no contiene ninguna coma.

Saludos.-
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
archivos de texto
Programación C/C++
pzk 1 2,035 Último mensaje 18 Enero 2011, 08:22 am
por Khronos14
manejando archivos de texto en vb.net
.NET (C#, VB.NET, ASP)
llAudioslavell 3 6,398 Último mensaje 4 Septiembre 2011, 17:36 pm
por Keyen Night
Ayuda con archivos de texto en C
Programación C/C++
M4RQUS 1 1,306 Último mensaje 26 Octubre 2018, 03:54 am
por EdePC
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines