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

 

 


Tema destacado: Usando Git para manipular el directorio de trabajo, el índice y commits (segunda parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP)
| | | |-+  Programación Visual Basic (Moderadores: LeandroA, seba123neo)
| | | | |-+  como posicionarme en una determinada linea de un archivo de texto?
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: como posicionarme en una determinada linea de un archivo de texto?  (Leído 5,041 veces)
Sai-To

Desconectado Desconectado

Mensajes: 180


Ver Perfil
como posicionarme en una determinada linea de un archivo de texto?
« en: 13 Mayo 2008, 12:58 pm »

Saludos, bueno mi duda es la siguiente si yo tengo un archivo .txt y en el tengo esto:

carlos
ana
pedro
jose
juan


y quiero posicionarme en la primera linea de este archivo, osea en carlos, luego cuadno este posicionado borrar ese carlos y reemplazarlo por otro nombre como maria...
Como puedo hacer esto?

Gracias desde ya! ;)


En línea

xavierote

Desconectado Desconectado

Mensajes: 134


Ver Perfil
Re: como posicionarme en una determinada linea de un archivo de texto?
« Respuesta #1 en: 13 Mayo 2008, 13:21 pm »

Yo ese trabajo lo haría de la siguiente manera:
    Abrimos el archivo y lo guardamos en una Matriz separado por líneas.
    Accedemos a la posición que queremos cambiar y lo hacemos.
    Guardamos el archivo.

Código:
Private Sub Command1_Click()
    Dim Texto       As String
    Dim Separado()  As String  'Array para separar el texto en lineas
    Dim foo         As Integer
    Dim i           As Integer
   
    foo = FreeFile
   
    Open "C:\archivo.txt" For Input As #foo  'Abrimos el archivo en modo lectura
        Texto = Input(LOF(foo), #foo)     'Obtenemos el contenido del archivo
    Close #foo
    Separado = Split(Texto, vbCrLf)    'Metemos en el Array el contenido del archivo separado por líneas
   
    'Cambiamos la línea que quieras, en este caso la segunda línea   
    If UBound(Separado) > 2 Then    'Miramos si la segunda línea existe
        Separado(2) = "Cambiado"     'Substituímos
    End If
   
    'Guardamos todo el contenido nuevo en el archivo
    Open "C:\archivo.txt" For Output As #foo
        For i = 0 To UBound(Separado)
            Print #foo, Separado(i)
        Next i
    Close #foo
   
End Sub

¡Un saludo!


En línea

Sai-To

Desconectado Desconectado

Mensajes: 180


Ver Perfil
Re: como posicionarme en una determinada linea de un archivo de texto?
« Respuesta #2 en: 13 Mayo 2008, 20:50 pm »

jaja man gracias este code si funciona pero si es para la 1 linea osea para carlos? como lo haria!:P
En línea

xavierote

Desconectado Desconectado

Mensajes: 134


Ver Perfil
Re: como posicionarme en una determinada linea de un archivo de texto?
« Respuesta #3 en: 13 Mayo 2008, 21:14 pm »

jaja man gracias este code si funciona pero si es para la 1 linea osea para carlos? como lo haria!:P

Pues para la primera línea simplemente cambiamos el valor de Separado(1) = "Cambiado" por Separado(0) = "Cambiado"

Los Arrays o Matrices en Visual Basic, y en todos los lenguajes de programación, los índices de las matrices empiezan por 0, así que la primera posición de la matriz es 0.

Otra cosa es que acabo de ver que hay un error en mi código. No es nada, pero de todas formas todo es por las prisas :P

Código:
Private Sub Command1_Click()
    If UBound(Separado) > 2 Then    'Podemos poner también UBound(Separado) >= 1
        MsgBox UBound(Separado)
        Separado(1) = "Cambiado"     'El índice de la matriz es 1 para la 2ª línea
    End If

¡Un saludo!
En línea

SKL (orignal)

Desconectado Desconectado

Mensajes: 259


UpLoadSourceCode


Ver Perfil WWW
Re: como posicionarme en una determinada linea de un archivo de texto?
« Respuesta #4 en: 14 Mayo 2008, 18:01 pm »

mmmmmmm

fijate si te sirve esto tambien

Código:
Dim i As Long
Dim sData() As String

sData = Split(Text1.Text, vbCrLf)

For i = 0 To UBound(sData)
    Debug.Print sData(i)
Next

lo que hace es dividir por cada vez que se apreto ENTER, si va a ser como el ejemplo esto te va a servir, pero si tenes un texto por ejemplo una historia, lo va a separar en Horaciones y no en lineas.

se entiende??

saludos
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Modificar linea en archivo de texto
PHP
Riki_89D 4 3,828 Último mensaje 8 Diciembre 2010, 17:11 pm
por Riki_89D
[Duda] Extraer determinada linea de archivo « 1 2 »
Scripting
galmito 11 6,565 Último mensaje 31 Enero 2011, 07:58 am
por leogtz
Ayudaaaaa no se como Modificar el contenido de una linea de un archivo de texto
Programación General
luiggi1990 0 1,657 Último mensaje 11 Octubre 2011, 02:16 am
por luiggi1990
Como encontrar los Calls a una determinada direccion?
Ingeniería Inversa
x64core 3 1,693 Último mensaje 15 Julio 2012, 04:04 am
por apuromafo CLS
Como Leer Determinada linea de un TXT?
.NET (C#, VB.NET, ASP)
_CrisiS_ 1 1,635 Último mensaje 25 Diciembre 2017, 14:22 pm
por Eleкtro
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines