Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   nombre de archivo en un listbox (https://www.clubdelphi.com/foros/showthread.php?t=37383)

ramphi 11-11-2006 16:31:44

nombre de archivo en un listbox
 
hola amigos como estas en esta ocacion les escribo con la duda de, como podria que en un listbox solo muestre el nombre del archivo y no la ubicacion de este(me esplico mejor)

tengo un pequeño reproductor de video en el cual con un opendialog abro los archivos y los pongo en el listbox, ahora mi pregunta es como puedo hacer :confused: para que en el listbox solo aparesca el nombre del archivo y no la direccion en donde este se en cuentra, entre los foro creo que vi al como un extracfilename, pero no estoy seguro si es lo que busco o mi duda seria resuelta por una propiedad del listbox pues no vi ninguna que diera esa opcion

muchasa gracias por su tiempo :D

lag_0 11-11-2006 19:17:48

Pues si tienes un reprodctor de video deberias conocer:

Código Delphi [-]
ExtractFileName( );

Si no es a eso a lo que te refieres explicate mejor..

roman 12-11-2006 05:55:57

Habrás de tener cuidado en como usas ExtractFileName, porque si lo usas al momento de añadir el archivo al ListBox entonces pierdes la ruta necesaria para abrir postriormente el archivo.

Una solución rápida podría ser poner ListBox.Style en lbOwnerDrawFixed para que tú mismo dibujes los elementos en el evento OnDrawItem:

Código Delphi [-]
procedure TForm1.ListBox2DrawItem
(Control: TWinControl; Index: Integer; Rect: TRect; State: TOwnerDrawState);
var
  LB: TListBox;
  S: String;

begin
  LB := (Control as TListBox);
  S := ExtractFileName(LB.Items[Index]);

  LB.Canvas.FillRect(Rect);
  LB.Canvas.TextOut(Rect.Left + 2, Rect.Top, S);
end;

De esta manera, en el ListBox sólo muestras el nombre del archivo, pero la ruta completa sigue guardada.

// Saludos

lag_0 12-11-2006 11:57:19

Cita:

Empezado por roman
Habrás de tener cuidado en como usas ExtractFileName, porque si lo usas al momento de añadir el archivo al ListBox entonces pierdes la ruta necesaria para abrir postriormente el archivo.

Una solución rápida podría ser poner ListBox.Style en lbOwnerDrawFixed para que tú mismo dibujes los elementos en el evento OnDrawItem:


Código Delphi [-]
procedure TForm1.ListBox2DrawItem
(Control: TWinControl; Index: Integer; Rect: TRect; State: TOwnerDrawState);
var
LB: TListBox;
S: String;

begin
LB := (Control as TListBox);
S := ExtractFileName(LB.Items[Index]);

LB.Canvas.FillRect(Rect);
LB.Canvas.TextOut(Rect.Left + 2, Rect.Top, S);
end;





De esta manera, en el ListBox sólo muestras el nombre del archivo, pero la ruta completa sigue guardada.

// Saludos

Buen codigo, nunca lo pensé.
;)

ramphi 13-11-2006 15:10:08

otra duda resuelta
 
me parese muy bien

ah si tambien tenia esa duda como paso la direccion del listbox al mediaplayer
y me preguntaba si pasaria eso de k la ruta se perdiera por solo mostrar el nombre

gracias por la aclaracion
:D :D

arasay17 12-07-2007 20:59:59

Hola estoy trabajando con un fichero excel y quiero que sea de solo lectura
Alguien sabe como lo logro????????


La franja horaria es GMT +2. Ahora son las 20:31:06.

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