TODOPIC

Lenguajes de programación para PC => Visual Basic => Mensaje iniciado por: ejmc en 02 de Junio de 2005, 12:17:00

Título: Como creo, leo y guardo en un archivo txt
Publicado por: ejmc en 02 de Junio de 2005, 12:17:00
Hola a todos.................
Pues queria saver como se hace para crear un archivo de tipo txt, luego abrirlo, y luego guardar los cambios. No se vale usar el CommonDialog?
Título: RE: Como creo, leo y guardo en un archivo txt
Publicado por: Colores en 02 de Junio de 2005, 18:27:00
Acá va un ejemplo de como escribir secuencialmente un archivo de texto, esto es un extracto de un soft mío donde se guarda un playlist de canciones en MP3:

"******************
Public Sub GuardarPLST()
   
Dim fso, txtfile

Dim indice As Integer
Dim grp As Integer
   
    Set fso = CreateObject("Scripting.FileSystemObject")
    Set txtfile = fso.CreateTextFile("c:Listas.dxl", True)
       
        txtfile.writeline ("Control playlist groups.") " Escribe una línea.
        txtfile.writeblanklines (1)
                           
                If frmMain.lstGrupos.ListItems.Count = 0 Then  "Marcador de archivo vacio.
                            txtfile.writeline ("///")
                End If
               
        txtfile.writeblanklines (1)
       
    If frmMain.lstGrupos.ListItems.Count = 0 Then
        Exit Sub
       
    Else
   
    For grp = 1 To frmMain.lstGrupos.ListItems.Count
   
       txtfile.writeline ("##Grupo: " & frmMain.lstGrupos.ListItems.Item(grp).Text & ", cantidad de archivos: " & Grupo(grp).cantArchivos)
       
       For indice = 0 To Grupo(grp).cantArchivos
           txtfile.writeline ((Grupo(grp).archivo(indice).nombreArchivo))
           txtfile.writeline ((Grupo(grp).archivo(indice).rutaArchivo))
           txtfile.writeline ((Grupo(grp).archivo(indice).duracionArchivo))
           txtfile.writeline ((Grupo(grp).archivo(indice).nombreCancion))
           txtfile.writeline ((Grupo(grp).archivo(indice).tiempoAsignado))
           txtfile.writeline
           
       Next indice
       
      txtfile.writeline
     
    Next grp
    End If
   
    txtfile.writeblanklines (3)
    txtfile.Close
   
End Sub

"***********

Fijate que Grupo es un tipo definido que contiene "archivos" con sus respectivos nombres, rutas, etc...  Usa arrays de tipos y otras complicaciones pero como ejemplo es fácil de seguir y te va a servir para entender como escribir sólo una línea o mandar un array de variables completo a archivo. Obviamente hay llamadas a módulos o objetos que estan en otro formulario (frmMain) que no las vas a tener y las podés ignorar.

Salu2.
Título: RE: Como creo, leo y guardo en un archivo txt
Publicado por: ejmc en 03 de Junio de 2005, 20:19:00
Gracias Colores (  Flash )por tu respuesta........
Ya me solucionastes la cosa, cualquier cosa te aviso Sonrisa Gigante
Título: RE: Como creo, leo y guardo en un archivo txt
Publicado por: Colores en 03 de Junio de 2005, 22:34:00
Fijate que hay varios detalles...
Ahí estás usando un objeto de sistema"CreateObject("Scripting.FileSystemObject"Giño", hay otras maneras de escribir un txt, esa es sólo una.
Otra cosa importante es la ruta inicial de donde se va a guardar el archivo, en este caso se guarda en "C:", lo mismo puede ser en una carpeta, pero te tenés que asegurar de que la ruta exista y se pueda escribir el archivo, sinó se cuelga el programa. Lo ideal es guardarlo en la misma ubicacion en donde se instaló el programa, para eso podes usar funcion "App.Path" que te devuelve la ruta donde está el programa, por ejemplo App.Path & "archivo.txt" (en el caso que todavía no lo tengas instalado te lo va a crear en la carpeta del proyecto en donde esté el .vbp).
Título: Re: Como creo, leo y guardo en un archivo txt
Publicado por: pantera en 19 de Julio de 2006, 14:14:47
Hola

He estado trabajando con memorias MMC en las cuales he podido escribir en cuaquier sector de la memoria.

Sin embargo  ahora tengo un nuevo reto. El cual es poder crear un fichero TXT escribir en los cluster debidos para poder especificar el tamaño del archivo, Donde comienzo a escribir y todas esas cosas.

Sin embargo Realmente tengo muy pocos conosimientos de esto. Alguien podria ayudarme a aterrizar un poco de por donde comenzar.

Espero que puedan ayudarme o al menos una pista.
Gracias

Espero no molestar en este foro