Discussion:
Archivos TXT
(demasiado antiguo para responder)
Victor David
2005-10-17 12:24:05 UTC
Permalink
¿Como puedo agregar datos y nuevas líneas a un archivo TXT desde una
aplicación hecha en Visual Basic?
Lluís Franco
2005-10-17 13:18:10 UTC
Permalink
:-)
Hola,
Puedes usar el ISAM de texto incorporado en el Jet engine, de esta forma
puedes tratarlo a través de un recordset.

Eso si, te aconsejo una buena lectura del 'pedazo' de artículo del colega
Enrique Martínez 'SoftJaén':
http://mvp-access.com/softjaen/articulos/texto/jet_text_isam.htm

Ya que puedes encontrarte con algunas limitaciones:

[...] Otra limitación importante que presenta el ISAM de Texto del motor
Microsoft Jet, es que sólo nos permitirá añadir nuevos registros al archivo
de texto, por lo que no podremos eliminar registros o actualizar los datos
existentes en dicho archivo, ya que obtendremos el siguiente mensaje de
error: Este ISAM no admite la actualización/eliminación de datos en una
tabla vinculada. Por tanto, no podremos ejecutar los comandos DELETE o
UPDATE de SQL, así como cualquier otro método de algún objeto de acceso a
datos que implique ejecutar dichas acciones. Para más información, se puede
consultar el siguiente artículo de la Knowledge Base: El driver de texto
ODBC sólo soporta la instrucción INSERT.

Saludos,
--
Lluís Franco i Montanyés
[MS-MVP-MCP Visual Basic]

This posting is provided "AS IS" with no warranties, and confers no rights.
Este mensaje se proporciona "COMO ESTA" sin garantias y no otorga ningun
derecho

--
(Guía de netiquette del foro)
http://www.uyssoft.com/MSNews.aspx?sm=10
FIMARGE, S.A.
Principat d'Andorra
***@ODIO_EL_SPAMfimarge.ad
Tel.: +376 805 100
Fax: +376 824 500
Mi Perfil MVP en:
https://mvp.support.microsoft.com/profile=02aa1615-1a2f-4202-bc3f-aec297d967d2
unknown
2005-10-17 13:19:41 UTC
Permalink
Abrí el archivo de esta forma

Dim NFile as integer

NFile = Freefile

Open "Miarchivo" For Append as #NFile

Abrir el archivo en modo Append las grabaciones se van agregando a la cola.

--
Un saludo, Víctor Koch.
Post by Victor David
¿Como puedo agregar datos y nuevas líneas a un archivo TXT desde una
aplicación hecha en Visual Basic?
Napoleón Cabrera
2005-10-17 14:55:59 UTC
Permalink
Hola Victor David!

Otra forma es utilizando la librería Microsoft Scripting Runtime que te da
acceso al objeto FileSystemObject que te deja entre otras cosas abrir
archivos de texto, manipular archivos en general y sus atributos.
Para agregarlo tenes que meterte en el menu de VB6 Proyecto/Referencias... y
buscarlo con el nombre «FileSystemObject» y luego...
The following code illustrates how the FileSystemObject is used to return a
TextStream object that can be read from or written to:

Set fs = CreateObject("Scripting.FileSystemObject")
Set a = fs.CreateTextFile("c:\testfile.txt", True)
a.WriteLine("This is a test.")
a.Close
Más información la encontrarás en MSDN Library si buscas...
«FileSystemObject object»
Saludos!
Napoleón Cabrera
Post by Victor David
¿Como puedo agregar datos y nuevas líneas a un archivo TXT desde una
aplicación hecha en Visual Basic?
Napoleón Cabrera
2005-10-17 15:01:13 UTC
Permalink
Error de Copy/Paste :p
Perdón, en el menú Proyecto/referencias tenes que buscarlo con el nombre
«Microsoft Scripting Runtime»
Saludos otra vez!
Post by Napoleón Cabrera
Hola Victor David!
Otra forma es utilizando la librería Microsoft Scripting Runtime que te da
acceso al objeto FileSystemObject que te deja entre otras cosas abrir
archivos de texto, manipular archivos en general y sus atributos.
Para agregarlo tenes que meterte en el menu de VB6 Proyecto/Referencias...
y buscarlo con el nombre «FileSystemObject» y luego...
The following code illustrates how the FileSystemObject is used to return
Set fs = CreateObject("Scripting.FileSystemObject")
Set a = fs.CreateTextFile("c:\testfile.txt", True)
a.WriteLine("This is a test.")
a.Close
Más información la encontrarás en MSDN Library si buscas...
«FileSystemObject object»
Saludos!
Napoleón Cabrera
Post by Victor David
¿Como puedo agregar datos y nuevas líneas a un archivo TXT desde una
aplicación hecha en Visual Basic?
Victor David
2005-10-17 14:13:01 UTC
Permalink
Muchísimas gracias a todos por sus respuestas.
He intentado usar el Append y ok, lo abre en modo de agregar.... pero
¿Realmente como hago para que escriba al final de la línea y continúe así las
veces que quiera?

Y también he usado el FSO, pero cuando uso el OpenTextFile me da error.
Saga
2005-10-17 14:36:42 UTC
Permalink
Despues de usar el open miArchivo for append solo necesitas usar
print #NumArchivo, "mis nuevos datos" para seguir agregando al
archivo abierto.

Te recomiendo que no uses el FSO. Es padre, pero tiene muchos
detalles que te pueden causar problemas, tal como:

- Differentes versiones de scripting engine en diferentes equipos.
- Que el scripting este deshabilitado por razones de seguridad.

Saludos
Saga
Post by Victor David
Muchísimas gracias a todos por sus respuestas.
He intentado usar el Append y ok, lo abre en modo de agregar.... pero
¿Realmente como hago para que escriba al final de la línea y continúe así las
veces que quiera?
Y también he usado el FSO, pero cuando uso el OpenTextFile me da error.
Victor David
2005-10-17 14:54:11 UTC
Permalink
Gracias Saga,

Usando:
Write #NumArchivo, "mis nuevos datos"

También lo agrega, al igual que
Print #NumArchivo, "mis nuevos datos"

Pero el problema es que ambos continúan agregándolo como una nueva fila y
realmente lo que busco es agregarlo al final de la cadena o al final del
archivo, más no que se me vayan creando nuevas filas.

¿Esto es posible?
Saga
2005-10-17 17:04:21 UTC
Permalink
Puedes hacer esto:

Print #NumArchivo, "mis nuevos datos";

Poniendo el punto-y-coma al ultimo, Esto impedira que se cree una
nueva linea, aunque no se si escriba los datos tal como tu quieres.

Si no logras hacer esto funcionar con Print (toma en cuenta que
Write agrega doble comillas a lo que escribe) entonces puede ser
que necesites hacerlo de otra manera, tal como el usar get y put
en lugar del Print.

Saludos
Saga
Post by Victor David
Gracias Saga,
Write #NumArchivo, "mis nuevos datos"
También lo agrega, al igual que
Print #NumArchivo, "mis nuevos datos"
Pero el problema es que ambos continúan agregándolo como una nueva fila y
realmente lo que busco es agregarlo al final de la cadena o al final del
archivo, más no que se me vayan creando nuevas filas.
¿Esto es posible?
Loading...