Сохранение и загрузка строк из listbox

Доброго времени суток! Имеется проблема с компонентом listbox. По каким-то причинам, если в листбокс много строк, то при сохранении в текстовой файл имееюся потери( Например, было 500 строк, когда заново загружаю то их становится 597. Помогите!
4 ответа

А вы пишете вот так?
procedure TForm1.FormCreate(Sender: TObject);
begin
 if FileExists('D:\File.txt') then
 ListBox1.Items.LoadFromFile('D:\File.txt');
end;
...
procedure TForm1.Button1Click(Sender: TObject);
begin
 ListBox1.Items.SaveToFile('D:\File.txt');
end;


Да, именно так! Т к строк много, мне не отследить, какие именно теряются( Может можно сохранять как-нибудь по другому и в другой формат, excel, например?


Попробуйте сохранять вручную:
procedure TForm1.Button1Click(Sender: TObject);
var
 t: TextFile;
 i: integer;
begin
 AssignFile(t, 'D:\File.txt');
 try
 Rewrite(t);
 for i := 0 to ListBox1.Items.Count - 1 do
 Writeln(t, ListBox1.Items[i]);
 finally
 CloseFile(t);
 end;
end;
И загружать так же:
procedure TForm1.FormCreate(Sender: TObject);
var
 t: TextFile;
 str: string;
begin
 if FileExists('D:\File.txt') then
 begin
 AssignFile(t, 'D:\File.txt');
 try
 Reset(t);
 While not EOF(t) do
 begin
 readln(t, str);
 ListBox1.Items.Add(str);
 end;
 finally
 CloseFile(t);
 end;
 end;
end;


Спс, попробую) Потом отпишусь)