ďťż

Ładny brzuch

witam, robię aktualizację mojego programu i napotkałem problem. Otóż
w poprzedniej wersji pewna procedura opierała się na listboxie, a teraz jest on nie potrzebny.
Więc postanowiłem zamienić go na TStingList.
Procedura wyszukiwała pliki w komputerze, a następnie je kasowała
//nizej jest już napełniony listbox for i:=0 to ListBox1.Items.Count do begin ListBox1.ItemIndex:=ListBox1.ItemIndex+1; DeleteFile(ListBox1.Items.Strings[ListBox1.ItemIndex]); end;

Ale teraz nie wiem jak przerobić to na TStringList.
//tak kombinowalem for i:=0 to files.Count do begin DeleteFile(files.Strings[1]); //to odczyta wartość pierwszej lini Files.Delete(1); // to skasuje pierwszą linie, więc pierwszą będzie druga end;
I coś mi ten kodzik nie działa tak jak powinien.

P.S.
ten temat tak nazwałem bo doszedłem do wniosku, że zmiennej nie widać, a ma ona przypominać listbox'a :]
Użytkownik DJ Mentos edytował ten post 11 lipiec 2007, 10:14


while (files.Count > 0) do begin DeleteFile(files[0]); //to odczyta wartość pierwszej lini Files.Delete(0); // to skasuje pierwszą linie, więc pierwszą będzie druga end;

files.Count != 0
Chyba trochę bardziej optymalne ;). Ale powyższe jak najbardziej prawidłowe.

@Down:
1. Tak się zastanawiam z poziomu poleceń procesora, ale nie mogę znaleźć ich listy z rozmiarami, więc już nie wiem czy jne ma taki sam rozmiar co ja :(. Jak w końcu znajdę to napiszę czy dobrze czułem czy nie ;)
2. Ostatnio głównie php i c++ - przyzwyczajenia ;). Offcourse <>
3. Jak już count będzie < 0 to znaczy że czas na restart windowsa ;).

// No i nie znalazłem :(. No nic, wpadnie Cyrkiel to zdementuje jak nieprawda :D.
Użytkownik Ali240 edytował ten post 11 lipiec 2007, 11:29
1. niby w czym bardziej optymalne??
2. jak już to <> a nie !=
3. jeśli Count jakimś cudem byłby < 0 (Twój warunek by przeszedł) to by się wywalił na dostępie do 0 itema



ah...teraz działa dzięki ;]
jeszcze mam pytanie:
Jak powinno wyglądać to:
while (files.Count > 0) do begin try

czy

while (files.Count > 0) do try begin

konkretnie chodzi o to try

Podejrzewam że w drugim przypadku kompilator wywali... Jak nie to znaczy że oba przechodzą, ale IMO raczej to pierwsze powinno się stosować (czytelność kodu).

a co ma ten try robić?

ubezpieczyc procedure na błędy ;]

no dobra ale na jakie - na brak pliku - to lepiej najpierw sprawdzić, czy plik jest i dopiero wtedy go usuwać


ubezpieczyc procedure na błędy ;]
A czy procedura jest większa niż ta co była podana? Bo zdaje się że DeleteFile nie wywołuje wyjątków...

ah jest i to duzo ;]
po drodze jeszcze sprawdzam rozmiar, czy istnieje, czy nie trzeba go przypadkiem zamknąć :>


ah jest i to duzo ;]
po drodze jeszcze sprawdzam rozmiar, czy istnieje, czy nie trzeba go przypadkiem zamknąć :>

No jak jest to co innego ;]. Tylko sprawdź czy funkcje wyrzucają wyjątki - jak nie to nie ma sensu wstawiać try'a ;).

wyzucją na pewno bo mi ciągle debuger sie rzuca ;]

  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • zsf.htw.pl
  •