Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > OOP
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 10-10-2007
zvf zvf is offline
Miembro
 
Registrado: abr 2006
Posts: 158
Poder: 19
zvf Va por buen camino
Manejo de archivos

Hola a todos!!

Estoy un poco perdida y se que ustedes me pueden orientar, porque siempre lo han hecho

Necesito saber como hacer, primero para poner un objeto que tenga un botón examinar y me permita abrir un archivo *.doc.

Luego, con el programa en delphi, ir leyendo letra por letra e ir presentando un mensaje que vaya diciendo la letra que voy leyendo. Esto lo necesito para un programa más grande, pero sabiendo como se hace esto, me ayudará a continuar.

Por ejemplo:
Presiono el botón examinar, busco un archivo *.doc, el contenido de este archivo no me interesa que se vea en la pantalla escrito, solo necesito que al indicarle que archivo abra, comience por ejemplo, si el archivo dice: "Este es el concepto que trabajaremos...", aparezca un mensaje, primero con la letra 'E', cuando le doy a un botón, me aparezca otro con la letra 's', después otro con la letra 't', y así hasta llegar a la última letra del archivo seleccionado.

No se si me di a entender...
Espero puedan orientarme un poco ....
Responder Con Cita
  #2  
Antiguo 10-10-2007
Avatar de aeff
aeff aeff is offline
Miembro
 
Registrado: oct 2006
Ubicación: Cuba, Guantánamo
Posts: 348
Poder: 18
aeff Va camino a la fama
saludos, espero que te sirva esto:

implementa esta función en tu unit:

Código Delphi [-]
...
  uses ComObj;
...
procedure GetDocAsTxt(FileName, SaveTxtFileTmp: string; var TxtDoc: string);
var
  WordApp: Variant;
  vTxtFile: TextFile;
  TxtData: string;
begin
  WordApp := CreateOleObject('Word.Application');
  WordApp.Documents.Open(FileName);
  WordApp.ActiveDocument.SaveAs(string(SaveTxtFileTmp), 2);
  WordApp.ActiveDocument.Close;
  WordApp.Quit;
  AssignFile(vTxtFile, SaveTxtFileTmp);
  Reset(vTxtFile);
  TxtDoc := '';
  while not Eof(vTxtFile) do
    begin
      Readln(vTxtFile, TxtData);
      TxtDoc := TxtDoc + TxtData + #13#10;
    end;
  CloseFile(vTxtFile);
  DeleteFile(SaveTxtFileTmp);
end;

ahora, en el evento onclick de un button por ejemplo, pon esto:

Código Delphi [-]
var
  Archivo: string;
  i: Integer;
begin
  GetDocAsTxt('C:\aeff.doc', 'C:\aeff.txt', Archivo);
  for i := 1 to Length(Archivo) do
    ShowMessage(Archivo[i]);

dime si te funciona ¿ok?

saludos

aeff!!
Responder Con Cita
  #3  
Antiguo 10-10-2007
Avatar de aeff
aeff aeff is offline
Miembro
 
Registrado: oct 2006
Ubicación: Cuba, Guantánamo
Posts: 348
Poder: 18
aeff Va camino a la fama
ahhh!!, si notas que se tarda mucho, entonces te recomiendo que hagas lo siguiente:

Dentro de la función GetDocAsTxt hay dos lineas que dicen asi:
Código Delphi [-]
  WordApp.ActiveDocument.Close;
  WordApp.Quit;

esas dos remplazala por estas:

Código Delphi [-]
  ShellExecute(Application.Handle, nil, 'tskill', 'WINWORD', nil, SW_HIDE);
  Sleep(100);

y no olvides añadir en el uses la unit ShellApi si vas a trabajar con ShellExecute,

saludos,
aeff!!
Responder Con Cita
  #4  
Antiguo 11-10-2007
zvf zvf is offline
Miembro
 
Registrado: abr 2006
Posts: 158
Poder: 19
zvf Va por buen camino
Gracias

Muchas muchas gracias, funciona de maravilla...
De verdad que me impresiona ver como ustedes prestan su tiempo para apoyar a otras personas, esto que te estoy pidiendo es para hacer un proyecto que va a beneficiar a personas SordoCiegas aquí en México, así que si funciona como lo planeamos, prometo darte créditos y además claro, de promover el foro.

Oye, una duda más, si yo quiesiera que no solo fueran archivos *.doc; sino tambien *.pdf o de otras extensiones.

¿Hay alguna forma de hacerlo?

Gracias!
Responder Con Cita
  #5  
Antiguo 11-10-2007
Avatar de aeff
aeff aeff is offline
Miembro
 
Registrado: oct 2006
Ubicación: Cuba, Guantánamo
Posts: 348
Poder: 18
aeff Va camino a la fama
mira, no te preocupes por los creditos, si vas a ser referecia a esta ayuda que te he dado solo hazlo a nombre de ClubDelphi,

te doy gracias a ti por haberme agradecido, asi de simple,

bueno, para los *.pdf si no tengo ni idea, pero te prometo que voy investigar como hacer los mismo con estas extenciones, puede que exista alguna forma de hacer automatizaciones con Acrobat Reader o encontrar algunos componentes para leer *.pdf que yo no conozco y es posible que alguien aqui en este club conozca.

por favor, respondanle a [zvf] lo antes posible si alguien conoce de esto, ya saben que el objetivo de su trabajo ayudara a personas con discapacidades.
muchas gracias, y un gran saludo

aeff!!
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Manejo de archivos .tif BetoAlonso Gráficos 5 06-07-2010 07:03:31
Manejo de archivos binarios en Delphi rodrigo19 Varios 6 26-05-2007 02:36:52
Manejo de Archivos con C++ Builder Tapax C++ Builder 8 19-08-2006 20:33:49
manejo de archivos Egar Varios 0 24-03-2005 01:57:13
c++ builder y manejo de archivos binarios prubtest C++ Builder 2 11-03-2004 17:03:05


La franja horaria es GMT +2. Ahora son las 18:09:06.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi