Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 06.11.2010, 04:34   #1
igabenu
Пользователь
 
Регистрация: 05.11.2010
Сообщений: 27
По умолчанию подсчет количества строк в memo

подскажите, как правильно посчитать и вывести в showmessage количество строк в memo?(за исключением пустых)
igabenu вне форума Ответить с цитированием
Старый 06.11.2010, 08:14   #2
pray_driver
Форумчанин
 
Аватар для pray_driver
 
Регистрация: 18.08.2010
Сообщений: 140
По умолчанию

вообще memo.lines.count : Integer кажется там есть, но там пустые выводятся.
Люди бывают десяти типов: те, кто знают двоичную систему, и те, кто нет
pray_driver вне форума Ответить с цитированием
Старый 06.11.2010, 08:59   #3
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

А в цикле пройтись уже не модно?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 06.11.2010, 08:59   #4
Риндера
Delphi, учу С
Форумчанин
 
Аватар для Риндера
 
Регистрация: 20.10.2010
Сообщений: 178
По умолчанию

Можно организовать цикл на подсчет пустых строк, путем проверки нескольких первых символов. А потом это число вычесть из memo.lines.count
Риндера вне форума Ответить с цитированием
Старый 06.11.2010, 09:39   #5
pray_driver
Форумчанин
 
Аватар для pray_driver
 
Регистрация: 18.08.2010
Сообщений: 140
По умолчанию

Цитата:
Сообщение от Риндера Посмотреть сообщение
Можно организовать цикл на подсчет пустых строк, путем проверки нескольких первых символов. А потом это число вычесть из memo.lines.count
да тогда уж ничего не вычетать
Код:
Var num : Integer;
      Memo1 : TMemo;
      i : Integer;

...

num := 0;
For i := 0 to Memo1.Lines.Count do
    If Memo1.Lines[i] <> '' then Inc(num);
Люди бывают десяти типов: те, кто знают двоичную систему, и те, кто нет
pray_driver вне форума Ответить с цитированием
Старый 06.11.2010, 10:29   #6
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

pray_driver, уважаемый коллега, внимательнее, пожалуйста. Если приводите пример, старайтесь, чтобы он был без ошибок...

Цитата:
Код:
num := 0;
For i := 0 to Memo1.Lines.Count-1 do
    If Trim(Memo1.Lines[i]) <> '' then Inc(num);
Serge_Bliznykov вне форума Ответить с цитированием
Старый 06.11.2010, 11:00   #7
pray_driver
Форумчанин
 
Аватар для pray_driver
 
Регистрация: 18.08.2010
Сообщений: 140
По умолчанию

Serge_Bliznykov, да вот кстати, думал над этим. Всегда забываю сколько там диапазон, от нуля до конца за вычетом единицы, или от 1 до конца.
Визуальное программирование расслабляет
Люди бывают десяти типов: те, кто знают двоичную систему, и те, кто нет
pray_driver вне форума Ответить с цитированием
Старый 06.11.2010, 11:26   #8
Grag
А может и не...
Участник клуба
 
Аватар для Grag
 
Регистрация: 27.03.2010
Сообщений: 1,269
По умолчанию

Цитата:
Сообщение от pray_driver Посмотреть сообщение
Всегда забываю сколько там диапазон, от нуля до конца за вычетом единицы, или от 1 до конца.
Визуальное программирование расслабляет
Тут и думать не надо. Надо знать, что при использовании динамических структур данных отсчет всегда от 0
Перемешивай дело с бездельем и не сойдешь с ума...
Grag вне форума Ответить с цитированием
Старый 06.11.2010, 11:36   #9
kangreon
Форумчанин
 
Аватар для kangreon
 
Регистрация: 03.04.2009
Сообщений: 305
По умолчанию

Как вариант.. Можно просто убрать пустые строки и вывести их количество.
Код:
begin
  memo1.Text := StringReplace(Memo1.Text,#13#10#13#10,#13#10,[rfReplaceAll]);
  ShowMessage(IntToStr(memo1.Lines.Count));
end;
kangreon вне форума Ответить с цитированием
Старый 06.11.2010, 15:40   #10
pray_driver
Форумчанин
 
Аватар для pray_driver
 
Регистрация: 18.08.2010
Сообщений: 140
По умолчанию

Цитата:
Сообщение от Grag Посмотреть сообщение
Тут и думать не надо. Надо знать, что при использовании динамических структур данных отсчет всегда от 0
может и надо знать, но всего не упомнишь.
мне кажется, эта ошибка "-1" не принципиальна в данном случае, когда тебе компьютер выдаст что-то типа "out of range". Не буду спорить что это ошибка конечно, но всего не упомнишь.
Паскаль кстати используется всё меньше и меньше в серьёзном программировании, особенно в провинциях в России. Не каждая контора выложит 60000р. за 1 рабочее место, чтобы обеспечить сотрудников дельфой
В вузах уже дельфе не учат кстати
Люди бывают десяти типов: те, кто знают двоичную систему, и те, кто нет
pray_driver вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Подсчет количества слов Driver_09 Помощь студентам 2 24.10.2010 17:14
Подсчет количества строк в БД (Delphi 7) NuR1k БД в Delphi 8 30.08.2010 03:57
Подсчет количества часов Fezdipekla Microsoft Office Excel 3 22.06.2010 13:54
Подсчет количества заполненных строк. fuzzylogic Microsoft Office Excel 8 11.03.2010 18:37
Подсчет количества и частоты Ensoph Помощь студентам 6 08.05.2008 10:16