Показать сообщение отдельно
  #1  
Старый 14.10.2013, 11:06
ua3rad ua3rad вне форума
Прохожий
 
Регистрация: 21.12.2012
Сообщения: 17
Репутация: 10
По умолчанию

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