Warunek przy Itemie w FileListBox

0

Witam!
Kurcze męczę się nad jednym warunkiem.
Chodzi o to, że gdy odpalam program to on przy starcie (onCreate) pobiera pierwszą z góry nazwę pliku w FileListBox'ie. Pliki są umieszczone w jakimś folderze. Wszystko jest dobrze gdy pliki są w nim i wtedy ładnie pobiera
pierwszy z góry.
Natomiast gdy folder jest pusty to wyskakuje błąd z Itemem:
EStringListError with message 'List index out of bounds (0)'.
Jak napisac warunek "jeśli jest są pliki w folderze to pobieraj nazwę pierwszego pliku w FileListBox, w przeciwnym wypadku nie pobieraj"? Stoję z projektem przez to :( Pomocy. Dziękuję.

0

If FileListBox[.Items].Count>0 then {Pobieraj} else {Nie pobieraj};
Nie jestem pewny, czy to Items tam ma być, nie chce mi się sprawdzać, dlatego dałem w nawias kwadratowy. Jak nie pójdzie bez Items, to spróbuj z Items.

0

Generalnie wiem jak napisać konstrukcję warunku ale chodzi mi własnie o to jak napisać kodem te Twoje {Nie pobieraj} po else :) I w tym siedzi cała bajka. Z tym nie mogę sobie poradzić :(

0

Albo po else daj showmessage('nie znalazlem pliku'); albo w ogóle wyrzuć wszystko od słowa else :)

0

Niestety takie cos też nie działa:

If FileListBox1.Items.Count>0 then
Edit5.Text:=FilelistBox1.Items[0] else
showmessage('Nie znalazlem pliku');

Bez else też próbowałem :(

0

EStringListError with message 'List index out of bounds (0)'.

  • wydaje mi się, a nawet jestem pewien że problem hest gdzie indziej niż przy wpisywaniu do edita nazwy tego pliku.

sprawdziłem u siebie, wszystko działa.

begin
FileListBox1.Directory:='c:\1'; //pusty katalog
if FileListBox1.Items.Count>0 then
  Edit5.Text:=FilelistBox1.Items[0]
else showmessage('Nie znalazlem pliku');
end;
0

Zgadza się! Błąd siedzi w innym miejscu źródła. Przetestowałem tą prockę na nowym projekcie i działa. Idę szukać zatem tego awaryjnego miejsca. Dzięki.
[browar]

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