Главная страница
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.059 c
15-1137571304
Таркан
2006-01-18 11:01
2006.02.12
Ищем один забавный сайт


3-1134374525
Alex_1
2005-12-12 11:02
2006.02.12
ADO, FoxPro, значения меньше нуля ...


1-1136895142
TAN_K
2006-01-10 15:12
2006.02.12
Печать текстового файла DOS на лазерный принтер средствами Delpfi


2-1137611006
Sysanin
2006-01-18 22:03
2006.02.12
webBrowser


3-1134472163
Andron.Ru
2005-12-13 14:09
2006.02.12
Как проверить работает ли сервер Oracle в сети