![]() |
|
#1
|
|||
|
|||
![]() Всем добрый день. Помогите найти ошибку:
Код:
procedure TForm1.open_drlClick(Sender: TObject); var N,i, probel, N_strok, l: integer; st: string; a:array[1..1000] of string; drl_string: array [1..1000] of string; flag: boolean; begin if OpenDialog1.Execute then begin AssignFile(f, OpenDialog1.FileName); reset(f); // Удаляем из файла повторяющиеся строки и переводим строки в массив while not Seekeof(f) do begin readln(f, st); { считываем из файла строки } probel:= Pos (' ',st); {находим координаты символа 'пробел' в конце строки} Delete (st,probel,200); {удаляем все пробелы в конце каждой строки} N := N + 1; { увеличиваем переменную на единицу } repeat begin i := i + 1; { увеличиваем переменную на единицу } a[i] := st; { записываем строки в массив } end; until i = N; { условие для окончания циклы } end; N_strok := 1; for i := 1 to N do begin flag := true; for l := 1 to N_strok do if drl_string[l] = a[i] then flag := false; if flag = true then begin drl_string[N_strok] := a[i]; N_strok := N_strok + 1; end; end; closefile(f); {закрываем исходный файл} end; // Выводим массив в TMemo--------------------------------------------------- for i := 1 to N_strok do DrlText.Lines[i]:= drl_string[i]; end; Забыл написать про ошибку. Программа компилируется, но при открытии файла вылетает следующее Access violation at addess 00407296 in module 'DrlToAutoCad.exe'. Write of addess 02B5BF04 Последний раз редактировалось M.A.D.M.A.N., 14.10.2013 в 12:06. |