PDA

Ver la Versión Completa : importar un archivo txt a un dbmemo


jfragueiro
23-06-2005, 16:47:20
Necesito importar el texto de un documento txt a un dbmemo, para su posterior tratamiento dentro de mi aplicación, como lo importariais? se que es algo muy simple, pero no logro encontrarlo. Me gustaria que me explicaseis con que componente lo importo etc...

Un saludo y muchas gracias de antemano.

roman
23-06-2005, 16:53:47
¿No te funcionaría DBMemo.Lines.LoadFromFile('archivo.txt')?

// Saludos

jfragueiro
23-06-2005, 17:19:46
veras si intento eso me dice:
Project project1.exe raised exception class EFOpenError with message 'cannot open file c:\Pedidos.text'. Process stopped. Use Step or Run to continue.

No hay ninguna otra forma??

roman
23-06-2005, 17:23:32
si intento eso me dice:
Project project1.exe raised exception class EFOpenError with message 'cannot open file c:\Pedidos.text'.

Bueno, pero esto no parece ser un problema del dbmemo sino de que no puede abrir el archivo:



EFOpenError

EFOpenError is the exception class for file-opening errors during streaming.

Description

EFOpenError is raised when an application cannot open a specified file. This can occur, for example, because the file doesn’t exist or is not in the directory where the application is searching for it.


¿Estás seguro de que el archivo está donde crees que está?

// Saludos

jfragueiro
23-06-2005, 17:29:21
Verás, lo he intentado hacer a través de un componente que añade la ruta del archivo, poniendolo a mano en el codigo incluso poniendolo en el directorio de la aplicación, y en todos ellos me da el mismo error. Te agradeceria si existiera otra forma de hacerlo.

Muchas gracias otra vez

jfragueiro
23-06-2005, 17:40:29
Se ve que el problema era el tamaño del nombre del archivo, asi que poniendolo más corto no hay ningún problema.

Ahora bien, como puedo recorrer los caracteres del tmemo??

necesito ciertos campos contenidos en el, que siguen un formato..

Muchas gracias por anticipado, prometo que esta será mi ultima pregunta.

roman
23-06-2005, 17:41:12
Te pareceré pesado pero no creo que sea cosa de buscar otros métodos cuando el descrito es el más simple y debe funcionar (lo acabo de probar).

En el código que pones escribes

pedidos.text

¿no será que el archivo se llama?

pedidos.txt

// Saludos

roman
23-06-2005, 17:46:05
Se ve que el problema era el tamaño del nombre del archivo, asi que poniendolo más corto no hay ningún problema.


¡Cáspita! ¡Pues que versión de Windows usas!!??

Yo acabo de probar con



DBMemo1.Lines.LoadFromFile(
'facturas que se enviarán por correo a los clientes que compraron antes de que terminara la primavera.txt');


y funcionó sin problemas.

// Saludos

jfragueiro
23-06-2005, 17:47:44
Román, te lo agradezco de veras y por supuesto q tienes toda la razon, el problema creo que era la longitud del archivo, ya que he puesto ped.txt y no hay ningún problema, lo único es que necesito sacar ciertos grupos de caracteres, sabes si hay alguna función q seleccione por ejemplo a partir de cierto caracter y hasta tal carácter o determinado número de caracteres.


Un saludo y muchas gracias de nuevo.

roman
23-06-2005, 18:04:14
ya que he puesto ped.txt y no hay ningún problema


Ves que ahora omites la e en la extensión del archivo. No sé porque creo que ese era el problema y no la longitud del nombre.


sabes si hay alguna función q seleccione por ejemplo a partir de cierto caracter y hasta tal carácter o determinado número de caracteres.


Usa la función Copy:

Copy(S, Start, Length)

que devuelve la parte de S desde el caracter Start y con Length caracteres de largo (o el final de la cadena, lo que ocurra primero).

// Saludos

jfragueiro
23-06-2005, 18:47:56
Joer tio eres un hacha, muchas gracias por todo, todas las dudas solucionadas en un segundillo.

Un saludo y gracias otra vez