Всем добрый день. Помогите найти ошибку:
Код:
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