Pliki w Listbox

0

Mam wczytaną listę plików z danego katalogu. Wykonuję extractfilename() w listboxie. Czy jest możliwość aby po kliknięciu na 1 item z listboxa załadować dany plik.

W skrócie chodzi mi o to aby na listbox-ie pojawiały się lylko nazwy plików a nie całe ścieżki i aby po kliknięciu np na 1-szy items plik załadował się do timage.

0

TStringList

0

Na moje oko to są dwie możliwości:

  1. Zmienna TStrings gdzie przechowujesz ścieżki
  2. OwnerDraw i rysowanie tylko nazwy pliku przy itemie :)
0

Można można, w ListBoxie masz tylko nazwy, a w "równoległym" TStringList ich ścieżki pełni.. tylko jedna uwaga: numeracji musi się zgadzać.. bo jak nie to klikniesz np. na plik1.txt, a otworzy się inny...

0

no i właśnie o to chodzi że numeracja się może nie zgadzać bo włączone jest sortowanie listy. Już próbowałem z tstringlist i mi to nie wychodziło właśnie z tego powodu.

0

A może posłuż się tablicami dynamicznymi.
A właściwie jakąś tablicą typów rekordowych.

0

Niewiem czy to za działa nie sprawdzałem

Function sprawdz(nazwa:string):integer;
 for i:=0 to tablicaplikow.count-1 do
  begin
   if pos(nazwa,tablicaplikow[i].Strings[i])>0 then
    begin result:=i;exit;end;
  end;
End;
0

Faktycznie z tym rysowaniem tekstu to był niezły pomysł!!!
Dzięki Eristoff [browar]

0

po posortowaniu/dodaniu itemów(przy automat. sortowaniu):

procedure PrzepiszListBox(lb : TListBox; var Lista : TStringList) ;
var
i : integer;
begin
Lista.Clear;
for i := 0 to lb.Items.Count-1 do
   begin
   Lista.Add(lb.Items[i]);
   lb.Items[i] := ExtractFileName(lb.Items[i]);
   end;
end;

//hehe a ja sie jeszcze trudziłem z tą procką

0

Wprowadź jakąś zmienną globalną, (np. DIR) w której będzie pamiętany ostatnio otwarty katalog. Przy zmianie katalogu przez użytkownika uaktualniaj tą zmienną i ListBox-a. Po kliknięciu na itemie ListBox-a składaj pełną ścieżkę ze zmiennej DIR + '' + text zaznaczonego itema (czyli sama nazwa pliku) i ładuj ten plik do TImage-a.
Po co tutaj wprowadzać StringListy, a tym bardziej tablice dynamiczne !?

0

jack dobre, ale jest jeden problem działałoby tylko z jednym katalogiem. Przy większej ilości trzeba by było tworzyć więcej zmiennych.

0

Po co tutaj wprowadzać StringListy, a tym bardziej tablice dynamiczne !?

Może po to, że pliki są w różnych katalogach? :)

0

Może po to, że pliki są w różnych katalogach? :)

W pytaniu .::CYMES::.-a można przeczytać: "Mam wczytaną listę plików z danego katalogu". Dlatego założyłem, iż chodzi o jeden (dany) katalog.

1 użytkowników online, w tym zalogowanych: 0, gości: 1