Форум программистов, компьютерный форум, киберфорум
Наши страницы
Delphi
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/4: Рейтинг темы: голосов - 4, средняя оценка - 5.00
Unloat777
2 / 2 / 0
Регистрация: 10.05.2011
Сообщений: 50
1

Определение номера строки

13.06.2011, 14:12. Просмотров 718. Ответов 2
Метки нет (Все метки)

Я попытался создать прогу но наткнулся на весьма странную ошибку ! Вот оно поподробней:
Прога загружает файл с винчестера, структура файла на пример:
Delphi
1
2
3
4
5
6
7
8
9
+ Этот файл временный
+ и его редактирование
+ может привести к 
+ потере данных.
+ Пожалуйста, ничего
+ тут не меняйте!
E=ms2
b+=ndui
keyvall fn2000
Всё строки что начинаются с '+' это коменты, дальше идут данные программы. Суть в том чтобы определить номер строки не начинающийся с '+'.
Я попытался реализовать это так:
Delphi
1
2
3
4
5
6
7
8
9
var
i, number: integer;
begin
for i := 0 to memo1.Lines.Count - 1 do
begin
if memo1.Lines[i][1] <> '+' then
number:=i;
end;
end;
Но вылазит ошибка!

Подскажите как это правильно реализовать, и откуда такая ошибка.
Удалить коменты из файла не предлагать.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.06.2011, 14:12
Ответы с готовыми решениями:

Выбор из строки определенного номера
Здравсвуйте! Собственно сложилась ситуация сверки двух exel документов по...

Определение номера строки
У меня есть таблица с полем Name, мне необходимо по наименованию, которое...

Определение номера записи после insert into
Доброго времени суток! База access, три таблицы связаны по коду (id), в...

Определение текущего № строки в наборе данных
Привет! Подскажите использую Delphi 6.0 + InerBase. Как в наборе данных...

Определение номера строки
Всем привет. Как в TMEmo или TRichEdit или TSynMemo определить номера строк,...

2
i8085
1902 / 1332 / 253
Регистрация: 11.09.2009
Сообщений: 4,689
13.06.2011, 17:22 2
Unloat777, ошибка у вас при попытке доступа к несуществующему индексу.
Так как вы просматриваете весь текст, то если наткнётся на пустую строку (нет индекса "1") - будет ошибка.
Зачем вы сделали переменную "number" локальной? Её значение за пределами данной функции недоступно.
Вам надо найти индекс первой строки, которая не начинается с "+"? Но вы не останавливаете поиск, и "number" будет переписываться. Там будет индекс такой последней строки.
Delphi
1
2
3
4
5
6
7
8
for i := 0 to memo1.Lines.Count - 1 do
begin
if Copy(memo1.Lines[i],1,1) <> '+' then // даже если строка пустая - будет "<>"
  begin
  number:=i;
  break;  // закончить поиск (выйти из цикла for)
  end;
end;
1
Unloat777
2 / 2 / 0
Регистрация: 10.05.2011
Сообщений: 50
13.06.2011, 17:40  [ТС] 3
Вопрос решён. Спасибо.
P.S. Могу ли я сам закрыть тему?

---
Mawrat: Темы закрывают модераторы. В отношении этой темы ничего предпринимать не надо.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
13.06.2011, 17:40

Определение номера строки текста, где встречается подстрока
Помогите пожалуйста, не могу разобраться с тем, что нужно добавить в текст,...

Прочесть информацию, отталкиваясь номера строки файла и порядкового номера первого симвала в строке
не стал создавать новую темку, решил что тут тоже задать вопрос можна.... есть...

Задача на определение порядкового номера
Условие: Дана непустая последовательность различных натуральных чисел, за...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru