:)
まず、私のコード
procedure TForm1.Button3Click(Sender: TObject);
var tempId,i:integer;
begin
tempId:=strtoint(edit5.Text);
plik:=TStringList.Create;
plik.LoadFromFile('.\klienci\'+linia_klient[id+1]+'.txt');
if (plik.Count=1) then
begin
label6.Caption:='then';
if (tempId=StrToInt(plik[0])) then
begin
Label6.Caption:='Zwrócono';
plik.Delete(0);
end
end
else
for i:=0 to plik.Count-2 do
begin
if (tempId=StrToInt(plik[i])) then
begin
Label6.Caption:='Zwrócono';
plik.Delete(i);
end;
end;
plik.SaveToFile('.\klienci\'+linia_klient[id+1]+'.txt');
plik.Free;
end;
for i:=0 to plik.Count-2 do
任意の要素を削除できるが、最後にはできない場合。for i:=0 to plik.Count-1 do
端から端までを除いて要素を削除できる場合。それ以外の場合は、インデックスが範囲外になります。
何が起こっているの?TStringListから要素を安全に検索して削除するにはどうすればよいですか?