PDA

Ver la Versión Completa : Leer archivo Word y pasarlo a una base de datos


jennyprogra
01-03-2011, 22:56:52
hola es la primera vez que entro al foro tengo un problema tengo que hacer una aplicacion en delphi que abra un documento word el documento es un curriculum digamos si encontro nombre la linea que le sigue por ejemplo Luis la inserte en una base de datos sql 2005 mi pregunta es como leer linea por linea el documento el programa tiene que ser en consola Muchas Gracias !!

Casimiro Notevi
01-03-2011, 23:03:54
Hola jennyprogra, bienvenido a clubdelphi, por favor, lee nuestra guía de estilo (http://www.clubdelphi.com/foros/guiaestilo.php), muchas gracias por tu colaboración.

rgstuamigo
01-03-2011, 23:09:08
Hola jennyprogra bienvenido(a) al clubdelphi.
Como eres nuevo(a) te recomiendo leer nuestra famosa Guía de Estilo (http://www.clubdelphi.com/foros/guiaestilo.php) para conocer ciertas reglas y estandares en el foro.;) ya que el título que le has puesto a éste nuevo hilo(tema) no es el adecuado, por lo cual lo cambiaré por uno mas acorde a tu problema.;)

Sobre tu duda pues el tema se ha tratado muchas veces en el foro, tú puedes hacer un Búsqueda (http://www.clubdelphi.com/foros/search.php) con alguna palabra clave y de seguro encontrarás muchos Hilos(temas) que te ayudarán...;)
Saludos... y nuevamente bienvenido(a)...:)
Edito: ahora el hilo titula "Leer archivo Word y pasarlo a una base de datos" y lo he movido al foro de Servers (http://www.clubdelphi.com/foros/forumdisplay.php?f=9)...

rgstuamigo
01-03-2011, 23:25:19
Por si acaso revisa éste (http://www.clubdelphi.com/foros/showthread.php?s=&threadid=2696) hilo donde habla de algo parecido nada más se ésta trabajando con excel en lugar de Word pero puede servirte como Base..;)
Saludos...:)

jennyprogra
01-03-2011, 23:27:25
es que he visto un monton de temas y he buscado aqui mismo pero no he visto uno que me diga como leer linea por linea un documento en word porfisss ayudenme!! y gracias por cambiarle el nombre al tema !! lo que mas me interesa es leer linea por linea el documento Gracias

rgstuamigo
01-03-2011, 23:40:07
Bueno me pregunto si ya leistes estos hilos>
http://www.clubdelphi.com/foros/showthread.php?t=72550
http://www.clubdelphi.com/foros/showthread.php?s=&threadid=2696
Espero te sirvan de base;) ...

jennyprogra
02-03-2011, 03:46:19
He probado abriendo archivos de texto y los leo por lineas y con archivos de texto si lo puedo hacer es que nunca he usado lo de documentos word hasta el momento he podido abrirlo pero leer cada linea no he podido perdon mi ignorancia pero hay por asi decirlo una sentencia o algo como AssignFile(Arch,'test.txt') nada mas que no sea archivo txt sino con documentos word

Neftali [Germán.Estévez]
02-03-2011, 09:51:07
...pero hay por asi decirlo una sentencia o algo como AssignFile(Arch,'test.txt') nada mas que no sea archivo txt sino con documentos word

El problema de los documentos de Word, es que no tienen formato plano. No puedes abrirlos y leer los caracteres, porque obtendrás lo que comúnmente se llaman "marcianadas" :D
Como son archivos con un formato especial, debes abrirlos de forma una forma
especial.

Para eso hay dos sistemas:
(1) Utilizando automatización (si revisas los link de rgstuamigo) verás ejemplos.
(2) Utilizando los componentes de la paleta Servers; Que no es más que automatización, pero simplicada mediante componentes. Si buscas en os foros, seguro que encuentras ejemplos.

jennyprogra
02-03-2011, 16:06:09
bueno hice esto y creo que si me abre el word ahora lo que estoy intentando es leer lo que tiene el documento word y pasarlo a un txt pero el word me abre y me tira un monton de caracteres extraños y a la hora de mandarlo a un txt me manda los mismos caracteres porfa ayudenme !!!!

uses
SysUtils,
Variants,
adodb,
ActiveX,
Classes,
ComObj;

var
valores1:string;

Datos : TextFile;
f : textfile;


I : Integer;
begin

AssignFile (Datos, 'C:\pru.doc');
assignfile(f,'C:\test.txt');

Reset (Datos);

I := 1;

While Not Eof (Datos) do

begin

Readln (Datos, valores1);
if fileexists('C:\test.txt') then append(f) else rewrite(f) ;
writeLn('Escribiendo linea en el txt');
writeln(f,valores1);
closefile(f);
end;

CloseFile (Datos);
readln;

end.

Casimiro Notevi
02-03-2011, 16:13:16
¿No has leído los mensajes anteriores?

Neftali [Germán.Estévez]
03-03-2011, 10:18:41
bueno hice esto y creo que si me abre el word ahora lo que estoy intentando es leer lo que tiene el documento word y pasarlo a un txt pero el word me abre y me tira un monton de caracteres extraños
:(:(:(


El problema de los documentos de Word, es que no tienen formato plano. No puedes abrirlos y leer los caracteres, porque obtendrás lo que comúnmente se llaman "marcianadas"

Avisé que pasaría esto... :o:o:o


¿No has leído los mensajes anteriores?

En una palabra: NO
:D:D:D

rgstuamigo
03-03-2011, 15:58:14
Bueno...:rolleyes: y me pregunto y por qué no guardas tu archivo word en formato texto primero?.. Es decir abres tu archivo word y le das que se guarde como texto.Teniendolo como texto ya puedes leer tal como lo estás haciendo en tu anterior código.;)
De todas formas Delphi cuenta con una gama de componentes que trabajan ya sea con Word,Excel,PowerPoint,etc.(al menos en mi version que tengo Delphi 7) , éstos componentes estan el la pestaña (solapa) de nombre "Servers" de la paleta de componentes...;) de ahí el nombre de éste Foro; Foro Servers (http://www.clubdelphi.com/foros/forumdisplay.php?f=9)...;)
Para manejar word desde Delphi puedes buscar en la web algunos manuales y tutoriales como éste (http://www.rinconcitodelphi.com/articulos/Word_desde_Delphi/Word_desde_Delphi.pdf) por ejemplo.;)
Espero te sea de utilidad...:)

jennyprogra
03-03-2011, 23:14:40
muchas gracias a todos por responder efectivamente hice eso que me recomendaste y ya pude leer bien el archivo muchas gracias a todos por responderme !!!!