![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
TMemo
Arhip © (2007-01-14 03:58:00)Товарисчи по сети!
Подскажите пожалуйста кто знает, как посчитать количество строк в TMemo?
Если есть код.. киньте тут!
Правильный Вася (2007-01-26 17:42:00) [1]стока вариантов и все неправильные
в меме вообще строк нет, это дырка-отображалка
строки в классе TStrings
novill (2007-01-26 17:29:00) [2]СПАСИБО! ПОРАДОВАЛИ! )))))
Doomer (2007-01-26 17:26:00) [3]Удалено модератором
Johnmen (2007-01-20 22:08:00) [4]
> Тогда зачем эту конфиренцию читаете?
А вы почему интересуетесь? Вы не из милиции будете? (c)
Delphi-Chainik (2007-01-20 21:58:00) [5]Народ вы вообще про что сейчас? Давайте велосипеды изобретать начнём... Элементарные задачи стоят, а для них функции изобретают, которые уже реализованы. Сорказм и.т.п. это уже просто... Вообщем нет слов.
to > Архангел Фленов-Фаронов и Ко
Вы видимо один из них? Тогда зачем эту конфиренцию читаете? ))))
Архангел Фленов-Фаронов и Ко (2007-01-20 19:07:00) [6]Не обнуляется локальная переменная I перед циклом. И вообще, она лишняя.
А переменную А вообще лучше объявлять глобальной. Тогда ее можно будет использовать в разных местах программы, не особо заморачиваясь с объявлениями. Вообще, реальные пацаны и крутые хакеры, когда начинают новый проект, объявляют 26 переменных согласно английского алфавита. Так проще - каждый раз объявлять не надо. Движения в этом направлении еще в Фортране были. Типа, все, что на i (k, l, m, n) начинается - то целочисленное. А настоящие программисты, как всем известно, пишут на Фортране.
Джо (2007-01-20 18:48:00) [7]> [12] Delphi-Chainik (20.01.07 17:01)
> Это, что... Мне тут попадалось решение.. Вот кусочек кода
> :
Не обнуляется локальная переменная I перед циклом. И вообще, она лишняя.
Архангел Фленов-Фаронов и Ко (2007-01-20 18:42:00) [8]Вопрос на самом деле сложный.
И сарказм тут совершенно не уместен.
При решении данной задачи без рекурсии не обойтись:
procedure MemoLC(Memo: TMemo; var Count: integer);
begin
if Count < Memo.Lines.Count then
begin
Count := Count + 1;
MemoLC(Memo, Count);
end;
end;
Вызов:
Count := 0;
MemoLC(Memo1, Count);
Все остальные решения являются или частным случаем, или содержат нереально безопасный код, поэтому правильные пацаны и настоящие хакеры не должны ими пользоваться.
Delphi-Chainik (2007-01-20 17:01:00) [9]Это, что... Мне тут попадалось решение.. Вот кусочек кода :
function MemoLC: iteger;
var
I: integer;
begin
for A := 0 to Memo1.Lines.Count do I := I + 1;
Result := I;
end;
Я после этого пацталом лежал... )))
Arhip (2007-01-20 15:33:00) [10]Нет... я со всем справился...
SerJaNT (2007-01-15 09:51:00) [11]
> Спасибо всем! Справился...
Это было "как подсчитать количество строк", теперь "как добавить новую строку"
?
Arhip (2007-01-15 01:09:00) [12]Спасибо всем! Справился...
Antoxa2005 (2007-01-14 15:25:00) [13]
> unknown
Мировове решение!
Джо (2007-01-14 14:03:00) [14]Тут половина вопросов таких, иной раз думаешь, что и вправду кто-то плоско шутит :)
Johnmen (2007-01-14 13:32:00) [15]Очередная разводка.
Anatoly Podgoretsky (2007-01-14 13:06:00) [16]> SerJaNT (14.01.2007 09:54:04) [4]
Одна строка лишняя, автору не нужна, наверно для пометок.
SerJaNT (2007-01-14 09:54:00) [17]Memo1.Lines.Count-1;
unknown (2007-01-14 07:00:00) [18]:-)
koha (2007-01-14 06:46:00) [19]while not EOF(F) do
begin
Readln(F);
Inc(Count);
end;
зачем это делаешь? мемо сам считает этот параметр автоматом при заполнении.
и вообще использую обратную процедуру этой Memo1.Lines.SaveToFile('c:\memo.txt'); >>> Memo1.Lines.LoadFromFile('c:\memo.txt'); >>>
Caption := Format('Memo1.Lines.Count=%d', [Memo1.Lines.Count]);
unknown (2007-01-14 04:40:00) [20]В TMemo? Черезвычайно сложная задача.
В справке не смотри, там нет решения.
Считать надо так:
procedure TForm1.Button1Click(Sender: TObject);
var
F: TextFile;
Count: integer;
begin
Count := 0;
try
Memo1.Lines.SaveToFile('c:\memo.txt');
AssignFile(F, 'c:\memo.txt');
Reset(F);
while not EOF(F) do
begin
Readln(F);
Inc(Count);
end;
CloseFile(F);
DeleteFile('c:\memo.txt');
finally
end;
Caption := Format('Memo1.Lines.Count=%d', [Count]);
end;