Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailemVyřešeno Lazarus -StringList

Do cyklu přidejte podmínku

if i>= TS.count then break;

tím vyskočíte z cyklu pokud se dostanete mimo seznam nebo cokoliv číslovaného (řešil jsem to třeba pro stringgrid nebo listbox).

Mnohokrát jsem to takto vyřešil.

Je to takové nesystémové řešení. Lepší by bylo použít cyklus while a testovat v každém cyklu, jestli nejsme už mimo


ind := 0;
while ind<TS.count do begin
   ....
   inc(ind);
end;

ale na tuhle chybu většinou nemyslím a přijdu na ni až dodatečně a to se mi nechce přepisovat.

Mimochodem poslední roky nerad používám i a j jako iterační proměnné, v lazarusu je to jedno, ale v Matlabu jsou i a j komplexní jednotka a pak je docela zajímavé, když ji mám takto překrytou, hledat, proř nějaký výpočet v komplexních číslech nefunguje. A ještě zajímavější je to naopak, pokud se pokusím indexovat nějaké pole komplexní jednotkou (chyba index must be real positive number mě ale dost rychle přivede na stopu) prostě ze zvyku napíšu pole(i) i když ta proměnná se jmenuje třeba ind jako index.

Reakce na odpověď

1 Zadajte svou přezdívku:
2 Napište svou odpověď:
3 Pokud chcete dostat ban, zadejte libovolný text:

Zpět do poradny