Показать сообщение отдельно
  #9  
Старый 14.10.2013, 12:41
Аватар для Bargest
Bargest Bargest вне форума
Профессионал
 
Регистрация: 19.10.2010
Адрес: Москва
Сообщения: 2,390
Версия Delphi: XE3/VS12/FASM
Репутация: 14665
По умолчанию

Цитата:
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); {удаляем все пробелы в конце каждой строки}
А если там 203 пробела? Поискали бы получше в гугле, нашли бы Trim.
Цитата:
N := N + 1; { увеличиваем переменную на единицу }
А где инициализация N?
Цитата:
repeat
begin
i := i + 1; { увеличиваем переменную на единицу }
А где инициализация I?
Цитата:
N := N + 1; { увеличиваем переменную на единицу }
repeat
begin
i := i + 1; { увеличиваем переменную на единицу }
a[i] := st; { записываем строки в массив }
end;
until i = N; { условие для окончания циклы }
No comment... Вам за количество строк кода платят?
Цитата:
end;

N_strok := 1;
for i := 1 to N do
begin
А если в файле 1007 строк, а массив до 1000?
Цитата:
flag := true;
for l := 1 to N_strok do
А если в файле 1005 уникальных строк, а массив до 1000?
Количество ошибок зашкаливает. 5 штук на такой короткий код. 4 из 5 могут привести к той самой ошибке A/V.
__________________
jmp $ ; Happy End!
The Cake Is A Lie.
Ответить с цитированием