Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.02.11;
Скачать: CL | DM;

Вниз

TMemo   Найти похожие ветки 

 
Arhip   (2007-01-14 03:58) [0]

Товарисчи по сети!
Подскажите пожалуйста кто знает, как посчитать количество строк в TMemo?
Если есть код.. киньте тут!


 
unknown ©   (2007-01-14 04:40) [1]

В 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;


 
koha ©   (2007-01-14 06:46) [2]

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 07:00) [3]

:-)


 
SerJaNT ©   (2007-01-14 09:54) [4]

Memo1.Lines.Count-1;


 
Anatoly Podgoretsky ©   (2007-01-14 13:06) [5]

> SerJaNT  (14.01.2007 09:54:04)  [4]

Одна строка лишняя, автору не нужна, наверно для пометок.


 
Johnmen ©   (2007-01-14 13:32) [6]

Очередная разводка.


 
Джо ©   (2007-01-14 14:03) [7]

Тут половина вопросов таких, иной раз думаешь, что и вправду кто-то плоско шутит :)


 
Antoxa2005   (2007-01-14 15:25) [8]


> unknown

Мировове решение!


 
Arhip   (2007-01-15 01:09) [9]

Спасибо всем! Справился...


 
SerJaNT ©   (2007-01-15 09:51) [10]


> Спасибо всем! Справился...


Это было "как подсчитать количество строк", теперь "как добавить новую строку"

?


 
Arhip   (2007-01-20 15:33) [11]

Нет... я со всем справился...


 
Delphi-Chainik   (2007-01-20 17:01) [12]

Это, что... Мне тут попадалось решение.. Вот кусочек кода :

function MemoLC: iteger;
var
  I: integer;
begin
for A := 0 to Memo1.Lines.Count do  I := I + 1;
Result := I;
end;


Я после этого пацталом лежал... )))


 
Архангел Фленов-Фаронов и Ко   (2007-01-20 18:42) [13]

Вопрос на самом деле сложный.
И сарказм тут совершенно не уместен.
При решении данной задачи без рекурсии не обойтись:

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);


Все остальные решения являются или частным случаем, или содержат нереально безопасный код, поэтому правильные пацаны и настоящие хакеры не должны ими пользоваться.


 
Джо ©   (2007-01-20 18:48) [14]

> [12] Delphi-Chainik   (20.01.07 17:01)
> Это, что... Мне тут попадалось решение.. Вот кусочек кода
> :

Не обнуляется локальная переменная I перед циклом. И вообще, она лишняя.


 
Архангел Фленов-Фаронов и Ко   (2007-01-20 19:07) [15]

Не обнуляется локальная переменная I перед циклом. И вообще, она лишняя.

А переменную А вообще лучше объявлять глобальной. Тогда ее можно будет использовать в разных местах программы, не особо заморачиваясь с объявлениями. Вообще, реальные пацаны и крутые хакеры, когда начинают новый проект, объявляют 26 переменных согласно английского алфавита. Так проще - каждый раз объявлять не надо. Движения в этом направлении еще в Фортране были. Типа, все, что на i (k, l, m, n) начинается - то целочисленное. А настоящие программисты, как всем известно, пишут на Фортране.


 
Delphi-Chainik   (2007-01-20 21:58) [16]

Народ вы вообще про что сейчас? Давайте велосипеды изобретать начнём... Элементарные задачи стоят, а для них функции изобретают, которые уже реализованы. Сорказм и.т.п. это уже просто... Вообщем нет слов.

to > Архангел Фленов-Фаронов и Ко
Вы видимо один из них? Тогда зачем эту конфиренцию читаете? ))))


 
Johnmen ©   (2007-01-20 22:08) [17]


> Тогда зачем эту конфиренцию читаете?


А вы почему интересуетесь? Вы не из милиции будете? (c)


 
Doomer   (2007-01-26 17:26) [18]

Удалено модератором


 
novill ©   (2007-01-26 17:29) [19]

СПАСИБО! ПОРАДОВАЛИ! )))))


 
Правильный Вася   (2007-01-26 17:42) [20]

стока вариантов и все неправильные
в меме вообще строк нет, это дырка-отображалка
строки в классе TStrings



Страницы: 1 вся ветка

Текущий архив: 2007.02.11;
Скачать: CL | DM;

Наверх




Память: 0.51 MB
Время: 0.045 c
3-1163606293
AlexWlad
2006-11-15 18:58
2007.02.11
Невозврат значения из Stored Procedure


3-1163689786
DelphiLexx
2006-11-16 18:09
2007.02.11
TDBTreeView, перемещение элементов


15-1169060320
Джо
2007-01-17 21:58
2007.02.11
Как глушить эмоции?


2-1169715505
ocean
2007-01-25 11:58
2007.02.11
Нет DBNavigator


2-1169754437
TStas
2007-01-25 22:47
2007.02.11
Как получить имя текущего пользователя на компе?