Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   visor de archivos txt (https://www.clubdelphi.com/foros/showthread.php?t=62188)

thelibmx 10-12-2008 01:42:13

visor de archivos txt
 
Hola amigos del club, reciban un afectuoso saludo,

el motivo de mi post es para escuchar consejos o ideas que me puedan ayudar necesito realizar un visor de archivos txt, parecido al visor de imagenes y fax de windows(el programa con el que abre windows las imagenes) solo que en ves de que se muestre una imagen se muestren archivos de texto, ya he hecho algo con un memo y un cuadro de dialogo, lo que no se es como hacer para que seleccione una carpeta y todos los archivos txt que se encuentren ahi me los muestre con una flecha hacia atras o adelante,como si fueran las barras de navegacion, no se si haya un componente o algo, estuve pensando un poco en treeview o algo asi, solo quiero visualizar los archivos txt en un memo y que se manipulen por una barra de navegacion, lo que se me complica mas es hacer lo de la barra de navegacion, ya que los archivos individualmente los puedo ver por medio de memo.loadfromfile('nombre del archivo') lo que no se es como hacer para que con un boton de adelante o atras pueda ver el archivo siguiente asi como el visor de windows con las imagenes, espero haberme podido explicar si no pueden preguntar, estoy atento a todas las ideas, de antemano muchas gracias ;)

Caral 10-12-2008 01:48:05

Hola
Sinceramente entiendo pero no entiendo.
Que es exactamente lo que necesitas?.
Me da la impresion de que quieres ver los nombres de los archivos text, pero no estoy seguro.
Saludos

Delphius 10-12-2008 03:20:01

Hola thelibmx,
¿Seleccionas los archivos desde un TOpenDialog?
Porque con el TOpenDialog valiéndonos de la opción ofAllowMultiSelect podemos seleccionar varios archivos.

Cuando uno presiona en Abrir, queda guardado en la propiedad Files el FileName de cada archivo seleccionado.
La propiedad Files del TOpenDialog es un TStrings, y como sabemos, como a cualquier TStrings podemos acceder a cada item según su posición. Teniendo esto en mente se puede al item en [0] le corresponde el primer archivo, a [Count - 1] el último. En cualquier otra parte nos podemos mover para atrás y para adelante.

¿Se entiende la idea? Cuando se pulsa en un botón de "Anterior" podemos hacer algo así:
Código Delphi [-]
if PosActual <> 0
  then begin
           dec(PosActual);
           Memo1.LoadFromFile(OpenDialog1.Files[PosActual]);
         end;

No se si funciona, lo hice al vuelo, pero creo que da una idea.

Ahora, si tienes alguna rutina que explora el directorio y extrae las rutas competas de cada archivo, puedes hacer uso de ya se un Strings, o cualquier descendiente de éste para guardar estos datos y repetir este proceso que he descrito anteriormente.

Espero haberte dado al menos un norte.

Saludos,

Caral 10-12-2008 03:58:51

Hola
Sacado de la ayuda de delphi, un poco modificado.
Tal vez te sirva de ejemplo, si es lo que buscas.
Saludos

Neftali [Germán.Estévez] 10-12-2008 10:08:18

1 Archivos Adjunto(s)
Más que mostrar los nombres de los ficheros, yo creo que se refiere a algo parecido al visualizador de ficgeros del TotalCommander o a lo que hace IrfanView con las imágenes.

Creo que utilizando el truco 82 (que devuelve la lista de ficheros de un directorio y lo que tienes del memo se puede conseguir). Te adjunto el ejemplo, porque si no creo que no se va a entender lo que digo.

Es muy básico,estaría bien ampliarlo con otras extensiones e incluso con otros tipos de ficheros (hasta llegar a algo como esto (uniersal viewer)).

Caro 10-12-2008 13:42:36

1 Archivos Adjunto(s)
Hola, yo lo haría así aunque es un poco parecido a lo que ya te han indicado. para escoger el directorio he utilizado SelectDirectory.

Saluditos

thelibmx 11-12-2008 00:20:03

Muchas gracias amigos, Caral, Delphius, Neftali, Caro

Siempre es mejor ver los consejos de los grandes maestros gracias por su respuesta...

Queria hacer algo exactamente como lo que puso Caro, ahora solo me falta ajustar algunas cosillas y listo, yo tenia otra cosa de codigo pero parece que va mejor con el de Caro, siempre se aprende algo nuevo .

:D

egostar 11-12-2008 00:33:06

Hola

Amiguita Caro, que bien está ese code, me gustó mucho. :)

Salud ITOS

Caral 11-12-2008 00:42:13

Hola
Me quede sin conexión y me puse a jugar con el codigo de la Maestra Caro.
Como me pareció genial quise meterle la parte del novato.
Este esta hecho con un webbrouser.:p
Puede mostrar cualquier tipo de archivo. TXT, DOC, PDF.
La ventaja es que tiene barras desplazadoras, ademas se puede agrandar al tamaño de la pantalla y queda muy bonico.;)
Queria poner la parte de mi codigo para poder recorrer los archivos y mostrarlos, pero me canse (estoy viejito).
Bueno, aqui esta la Novatada.
Saludos

egostar 11-12-2008 00:57:35

Esta bien amigo, me gusta mucho tu code también, eso quiere decir que ya no eres tan novato como quieres aparentar :D:D:D

Salud OS

Caral 11-12-2008 01:01:28

Hola
Que va amigo, nada que no se pueda hacer con copy y paste.:D
La que si sabe es Caro, ella es la del codigo.
Saludos
PD: Por cierto, el codigo del maestro Neftali se las trae, bueno que se puede esperar de el.

felipe88 11-12-2008 01:52:54

:eek: Esta mujer saca la cara por el Club :D... que buen código Caro...

Caro 11-12-2008 02:28:08

Me alegra mucho que mi codigo haya servido, muchísimas gracias por sus comentarios amiguitos me han hecho sentir muy bien :), solo decirles que gran parte de lo poquito que se lo he aprendido aquí en nuestro club ;), ademas que gracias al club también he aprendido a utilizar bastante la ayuda.

Caral ya quisiera yo ser maestra, pero para eso me falta un monton un monton ........., gracias amiguito.

Saluditos

Caral 11-12-2008 03:12:29

Hola
Caro, para mi es lo que eres, una Maestra, tu codigo es cada vez mas impresionante, ya quisiera yo tener tu habilidad.
Tratando de aprender un poco mas hice la modificacion que me faltaba, el visor de los archivos.
Asi se podra ver una lista de los archivos que se tengan, no solo desplazarse.
Lo que faltaria es poder escoger el archivo para visualizarlo, bueno, tal vez con mucho mas tiempo, os dejo la tarea.
Saludos

Caro 11-12-2008 05:26:05

1 Archivos Adjunto(s)
Cita:

Empezado por Caral (Mensaje 330420)
Tratando de aprender un poco mas hice la modificacion que me faltaba, el visor de los archivos.
Asi se podra ver una lista de los archivos que se tengan, no solo desplazarse.
Lo que faltaria es poder escoger el archivo para visualizarlo, bueno, tal vez con mucho mas tiempo, os dejo la tarea.
Saludos

Hola de nuevo Caral :), acabo de ver el programa con los cambios que has hecho esta quedando bien;), he aumentado lo que faltaba, que es lo siguiente:

Se puede ver el archivo que escoja presionando doble click sobre el StringGrid, ademas que a medida que nos movamos en anterior y siguiente también lo hace el StringGrid, he aumenatdo una opción mas para ver todos los archivos, cuando no estaba llena nuestra lista y nos movíamos en anterior o siguiente salía un AccessViolation esa parte también esta controlada.

También he visto que estabas volviendo a recorrer los archivos para llenar el StringGrid, esa parte de llenar el StringGrid lo he puesto en el procedimiento CargarArchivos así no recorremos dos veces.

Gracias de nuevo por tu comentario :).

Saluditos

Caral 11-12-2008 15:41:18

Hola
Excelente Caro, muy bueno.
Me estaba dando un error en index lo he corregido, a lo novato (revisalo).
Otra cosa, me da la impresion de que mantiene en memoria algo, pense que era el stringlist asi que lo libero al salir, pero creo que algo mas hay por ahi.
Saludos
PD: No se puede quejar thelibmx, le as hecho la tarea completa.:D

Caro 11-12-2008 16:24:19

1 Archivos Adjunto(s)
Cita:

Empezado por Caral (Mensaje 330487)
Me estaba dando un error en index lo he corregido, a lo novato (revisalo).
Otra cosa, me da la impresion de que mantiene en memoria algo, pense que era el stringlist asi que lo libero al salir, pero creo que algo mas hay por ahi.

Hola de nuevo caral, estan bien los cambios que has hecho, nose donde te daba el error del Index. Yo hice lo siguiente, para no estar cambiando "Todos" por "*", directamente lo he puesto "*" en el ComboBox, la liberación del sl si faltaba, ayer estaba pensando en eso pero se me ha ido porque ya era un poquito tarde, no es necesario que hagas sl.Destroy, porque de esa forma despues de hacer el Free y despues el Destroy da un AccessViolation, es suficiente con sl.Free o FreeAndNil(sl), he encontrado otro AccessViolation, cuando se da doble click sobre el StringGrid sin tener archivos cargados y también cuando se da doble click en la primera fila (titulo), eso acabo de controlarlo. Revisalo amiguito.

Cita:

Empezado por Caral (Mensaje 330487)
No se puede quejar thelibmx, le as hecho la tarea completa.:D

Lo estamos haciendo juntos amiguito ;).

Saluditos

Caral 11-12-2008 17:14:29

Hola
Muy bien Caro.
Quedo perfecto.
Saludos

thelibmx 11-12-2008 21:29:24

Cita:

Empezado por Caral (Mensaje 330487)

PD: No se puede quejar thelibmx, le as hecho la tarea completa.:D


A decir verdad me alegra mucho que todos me hayan apoyado,de hecho creo q es el hilo donde mas respuestas he tenido, y claro que estoy muy pero muy agradecido, eso solo era una pequeña funcionalidad del programa que necesitaba, pero ahora veo que se esta haciendo un super programon :D, es bueno por que estoy aprendiendo muchas cosas de lo que estan posteando, a mi me ha pasado que muchas cosas de las que quiero hacer, delphi ya trae funciones que lo realizan y como las desconozco casi siempre todo lo hago a mano, por eso escucho las ideas de los grandes maestros y maestras del club, por que me ayudan a ver mas haya del horizonte :p, creo que este programita que esta creciendo aqui, les sera muy util a otros foristas pues no conozco otros programas que hagan lo mismo, y claro todo el credito a los maestros y maestras del club:rolleyes:


Gracias Caro

jhcaboverde 19-03-2009 15:06:57

treeview y directorio de carpetas y archivos
 
Alguien ha visto por aquí, algún ejemplo o el tema de un treeview que muestre todos los archivos y carpetas de una ruta en especifico. Haber me explico mejor haber si alguien me tira una idea.

Quiero hacer una aplicación con las siguiente característica:

Tengo una carpeta con un grupo de subcarpetas y archivos en *.doc, lo que necesito es un forms que tenga un ttreeview y digamos un tmemo que en el treeview cargue esas subcarpetas y los archivos *doc y que cuando seleccionen un archivo se vea en el tmemo.


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

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