Главная страница
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.027 c
2-1137928111
Rubey
2006-01-22 14:08
2006.02.12
Скроллинг по STRINGGRID - у


15-1137730196
Думкин
2006-01-20 07:09
2006.02.12
Jeer с днем тебя человечище.


2-1138099309
SergeyZ
2006-01-24 13:41
2006.02.12
Обновление пути в ярлыке.


2-1138173689
emergency
2006-01-25 10:21
2006.02.12
Литература по работе с сетями


1-1136843189
dmk
2006-01-10 00:46
2006.02.12
Функция из DLL не вызывается