PDA

Ver la Versión Completa : nombre de archivo en un listbox


ramphi
11-11-2006, 16:31:44
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:

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:


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
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 [-] (http://www.clubdelphi.com/foros/#)
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
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????????