Главная страница
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.025 c
15-1137903654
SPeller
2006-01-22 07:20
2006.02.12
Переход с ворованной версии софта на лицензионную


15-1137598495
Mike Kouzmine
2006-01-18 18:34
2006.02.12
Госдума просит Фрадкова отменить правила дорожного движения


3-1134388793
WG
2005-12-12 14:59
2006.02.12
После индексирования dbf-файла некорректно работает select (SQL)


15-1138080984
Lancelot
2006-01-24 08:36
2006.02.12
Коды ERRORLEVEL для команд MS-DOS


9-1125221933
ArtemESC
2005-08-28 13:38
2006.02.12
Задний фон в OpenGL