Code: procedure TForm1.Button1Click(Sender: TObject); var ts:TStringList; i : integer; s : string; begin ts := TStringList.Create; try ts.LoadFromFile('Исходный.txt'); for i:=0 to ts.Count-1 do begin if copy(ts.Strings[i],1,2)='11' then begin Delete(ts.Strings[i],1,2); with TFileStream.Create('Имяфайла.txt',fmCreate or fmOpenWrite or fmShareDenyWrite) do begin Seek(Size,soBeginning); Write(PChar(ts.Strings[i])[0],Length(ts.Strings[i])); Free; end; end; end; ts.SaveToFile('1.txt'); finally ts.Free; end; end; Code: Delete(ts.Strings[i],1,2); ^^^ компилятор ругается на эту строчку! Constant object cannotbe passed as var parameter Где я допустил ошибку?
Нелзя свойство обьекта var параметром передавать(ссылкой). Code: procedure TForm1.Button1Click(Sender: TObject); var ts:TStringList; i : integer; s,[B]TmpStr[/B]: string; begin ts := TStringList.Create; try ts.LoadFromFile('Исходный.txt'); for i:=0 to ts.Count-1 do begin if copy(ts.Strings[i],1,2)='11' then begin [B]TmpStr[/B] := ts.Strings[i]; Delete([B]TmpStr[/B],1,2); with TFileStream.Create('Имяфайла.txt',fmCreate or fmOpenWrite or fmShareDenyWrite) do begin Seek(Size,soBeginning); Write(PChar([B]TmpStr[/B])[0],Length([B]TmpStr[/B])); Free; end; end; end; ts.SaveToFile('1.txt'); finally ts.Free; end; end;