Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.02.12;
Скачать: CL | DM;

Вниз

зависание проги при чтении из файла в цикле   Найти похожие ветки 

 
_Tirex_   (2006-01-26 18:15) [0]

есть такой код, при выполнении прога зависает?
в файле телефонные номера(цифр 10) в столбик,
procedure TForm1.FormCreate(Sender: TObject);
begin
 First_lst:=TStringLIst.Create;
 First_lst_count:=0;
 od1.InitialDir:=ExtractFileDir(Application.ExeName);
end;

procedure TForm1.FormDestroy(Sender: TObject);
begin
 First_lst.Free;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
 if od1.Execute then
 begin
   load1list(od1.FileName);
   ListBox1.Items:=First_lst;
 end;
end;

procedure load1list(fn: string);
var
 temp_str: string;
begin
 AssignFile(First_lst_file,fn);
 Reset(First_lst_file);

 repeat
   read(First_lst_file,temp_str);
   First_lst.Add(temp_str);
 until eof(First_lst_file);

{  while not eof(First_lst_file) do;
 begin
   read(First_lst_file,temp_str);
   First_lst.Add(temp_str);
 end;
 }

 CloseFile(First_lst_file);
end;


 
Fay ©   (2006-01-26 18:27) [1]

ку?
procedure load1list(fn: string);
var
 sl : TStringList;
begin
 sl := TStringList.Create;
 try
   sl.LoadFromFile(fn);
   First_lst.AddStrings(sl);
 finally
   sl.Free;
 end;
end;


 
Fay ©   (2006-01-26 18:28) [2]

В смысле
procedure TForm1.load1list(fn: string);
...


 
umbra ©   (2006-01-26 18:30) [3]

repeat
  readln(First_lst_file,temp_str);
  First_lst.Add(temp_str);
until eof(First_lst_file);


В Вашем коде read читает первую строку, а затем бесконечно возвращает пустую строку, поскольку не может пройти символы конца строки


 
_Tirex_   (2006-01-26 20:04) [4]

2 Fay
спасибо за оптимизацию,
2 umbra
спасибо! не обратил внимания.



Страницы: 1 вся ветка

Текущий архив: 2006.02.12;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.048 c
15-1137946037
Desdechado
2006-01-22 19:07
2006.02.12
2 мучающих меня элементарных вопроса :)


6-1131316062
SergProger
2005-11-07 01:27
2006.02.12
Копирование файла с сервера


1-1136980916
Gear
2006-01-11 15:01
2006.02.12
Как можно установить Merge Module (*.MSM) с помощью Delphi ?


2-1138094394
V0va
2006-01-24 12:19
2006.02.12
удаление строк из списка


1-1137227153
мух
2006-01-14 11:25
2006.02.12
Скорость выполнения операций