Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 06-08-2003
esocrates esocrates is offline
Miembro
 
Registrado: may 2003
Ubicación: Argentina
Posts: 210
Poder: 22
esocrates Va por buen camino
Uso del ShellListView

Hola a todos:
Tengo en un form [Delphi 6] Un Componente ShellTreeView un ShellListView y un Memo.
Cuando hago clic en una carpeta del ShellTreeView se muestran en el ShelListView las subcarpetas y los archivos que contienen.
Les pido me ayuden con el código necesario para que al hacer doble clic sobre el nombre de un archivo txt que se muestra en el ShellListView se muestre en el Memo.
Muchas gracias
Responder Con Cita
  #2  
Antiguo 06-08-2003
andres1569 andres1569 is offline
Miembro
 
Registrado: may 2003
Posts: 908
Poder: 22
andres1569 Va por buen camino
Hola:

No conozco estos componentes, pero suponiendo que el ShellListView tiene una propiedad FileName donde se apunta al fichero seleccionado, y omitiendo comprobaciones de si es un fichero de texto, harías así:

Memo1.Lines.LoadFromFile (SellListView1.FileName);
__________________
Guía de Estilo
Responder Con Cita
  #3  
Antiguo 07-08-2003
esocrates esocrates is offline
Miembro
 
Registrado: may 2003
Ubicación: Argentina
Posts: 210
Poder: 22
esocrates Va por buen camino
Estos controles se encuentran en Delphi 6 en la paleta Samples.
Mi dificultad radica en que la propiedad FileName no se encuentra en el ShelListView.
No sé de qué modo puedo cargar en un Memo el contenido de un txt al hacer doble clic.
Un saludo
Responder Con Cita
  #4  
Antiguo 07-08-2003
Avatar de delphi.com.ar
delphi.com.ar delphi.com.ar is offline
Federico Firenze
 
Registrado: may 2003
Ubicación: Buenos Aires, Argentina *
Posts: 5.932
Poder: 27
delphi.com.ar Va por buen camino
¿Qué te parece algo así?

Código:
procedure TForm1.Button1Click(Sender: TObject);
begin
  if (ShellListView1.SelectedFolder <> nil) and
     (not ShellListView1.SelectedFolder.IsFolder) Then
  begin
    Memo1.Lines.LoadFromFile(ShellListView1.SelectedFolder.PathName);
  end;
end;
Saludos!
__________________
delphi.com.ar

Dedique el tiempo suficiente para formular su pregunta si pretende que alguien dedique su tiempo en contestarla.
Responder Con Cita
  #5  
Antiguo 07-08-2003
esocrates esocrates is offline
Miembro
 
Registrado: may 2003
Ubicación: Argentina
Posts: 210
Poder: 22
esocrates Va por buen camino
Me parece muy bueno delphi.com.ar. Es la solución que buscaba.
Un saludo y muchas gracias.
Responder Con Cita
  #6  
Antiguo 01-07-2005
Avatar de lucasarts_18
lucasarts_18 lucasarts_18 is offline
Miembro
 
Registrado: mar 2005
Ubicación: Villa Alemana,Chile
Posts: 1.087
Poder: 21
lucasarts_18 Va por buen camino
Question

Hola:

Con PathName traes el nombre de la ruta..
Como se pueden cargar los nombres de archivos que se encuentran en las carpetas de un ShellTreeView .

Saludos.
Responder Con Cita
  #7  
Antiguo 01-07-2005
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Cita:
Empezado por lucasarts_18
¿Por qué te enojas?

PathName es la ruta y el nombre del archivo. Para quedarte sólo con el nombre usa la función ExtractFileName:


Código Delphi [-]
ExtractFileName(ShellListView1.SelectedFolder.PathName)

// Saludos
Responder Con Cita
  #8  
Antiguo 01-07-2005
Avatar de lucasarts_18
lucasarts_18 lucasarts_18 is offline
Miembro
 
Registrado: mar 2005
Ubicación: Villa Alemana,Chile
Posts: 1.087
Poder: 21
lucasarts_18 Va por buen camino
No Me resulta!!!!!

Hola Roman:

En ningún caso me he enojado, solo puse esa carita por frustración al ver que el ejemplo no hacía como proponía Delphi.com.ar.

Tengo algunas dudas:
  1. En éste mensaje porqué se hace referencia a ShellListView sí sé está preguntando por ShellTreeView? .
  2. Lo otro sería algo así (ShellTreeView.ShellListView) como podrás ver en el código de más abajo.
Código Delphi [-]
 
 
if (ShellTreeView.ShellListView.SelectedFolder <> nil) and
(not ShellTreeView.ShellListView.SelectedFolder.IsFolder) then
//FrmArchivos.LstBoxFile.Items.Add (ShellTreeView.ShellListView.SelectedFolder.PathName);
Memo1.Lines.LoadFromFile(ShellTreeView.ShellListView.SelectedFolder.PathName);

Cómo puedes ver, hay una línea que se encuentra comentada porque esa es mi idea, pasar todos los nombres de archivos a un ListBox.
Pero como no me resulta con el listbox, hicé el intento de ejecutarlo como lo proponen en éste hilo.

Al momento de ejecutarlo como dice Delphi.Com.Ar me lanza una excepción de violación de acceso a dirección......

Bueno...Ese es mi drama...No estoy enojado A ésta hora me baja el sueño..

Saludos.

Última edición por lucasarts_18 fecha: 01-07-2005 a las 21:40:15.
Responder Con Cita
  #9  
Antiguo 01-07-2005
Avatar de delphi.com.ar
delphi.com.ar delphi.com.ar is offline
Federico Firenze
 
Registrado: may 2003
Ubicación: Buenos Aires, Argentina *
Posts: 5.932
Poder: 27
delphi.com.ar Va por buen camino
Cita:
Empezado por lucasarts_18
  1. En éste mensaje porqué se hace referencia a ShellListView sí sé está preguntando por ShellTreeView.
Cita:
Empezado por esocrates
Les pido me ayuden con el código necesario para que al hacer doble clic sobre el nombre de un archivo txt que se muestra en el ShellListView se muestre en el Memo.
Por otro lado, tu código no tendría que producir un error si es que tienes asignada la propiedad ShellListView de tu ShellTreeView. ¿Porqué accedes a través de esta propiedad pudiendo acceder directamente al ShellListView como en mi ejemplo?

Código Delphi [-]
if Assigned(ShellTreeView.ShellListView) and
(ShellTreeView.ShellListView.SelectedFolder <> nil) and
(not ShellTreeView.ShellListView.SelectedFolder.IsFolder) then
...


Saludos!
__________________
delphi.com.ar

Dedique el tiempo suficiente para formular su pregunta si pretende que alguien dedique su tiempo en contestarla.
Responder Con Cita
  #10  
Antiguo 01-07-2005
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Cita:
Empezado por lucasarts_18
al ver que el ejemplo no hacía como proponía Delphi.com.ar.
El ejemplo hace correctamente lo que Federico indica. Lo sé porque a mi me pasó lo mismo que a ti .

Originalmente se pedía:


Cita:
Empezado por esocrates
que al hacer doble clic sobre el nombre de un archivo txt que se muestra en el ShellListView se muestre en el Memo
lo cual tiene dos interpretaciones:

- que se muestre el nombre del archivo en el memo
- que se muestre el contenido del archivo en el memo

pero más adelante aclaró que era lo segundo:


Cita:
Empezado por esocrates
No sé de qué modo puedo cargar en un Memo el contenido de un txt al hacer doble clic
y a esto es a lo que contestó Federico.

Según entiendo tú quieres la otra opción.


Cita:
Empezado por lucasarts_18
En éste mensaje porqué se hace referencia a ShellListView sí sé está preguntando por ShellTreeView
No, pues ni idea de algo que aconteció hace dos años

Lo que tú necesitas creo que es


Código Delphi [-]
Memo1.Lines.Add(ExtractFileName(ShellListView.SelectedFolder.PathName));

Quité la referencia a ShellTreeView pues me gusta más acceder directamente que através de otra componente.

// Saludos
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


La franja horaria es GMT +2. Ahora son las 10:56:28.


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