Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2007.02.11;
Скачать: [xml.tar.bz2];

Вниз

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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.49 MB
Время: 0.043 c
3-1164210002
Леонид Федьков
2006-11-22 18:40
2007.02.11
BDE и распространение прикладных программ


3-1163606293
AlexWlad
2006-11-15 18:58
2007.02.11
Невозврат значения из Stored Procedure


4-1159027456
Чапаев
2006-09-23 20:04
2007.02.11
Запись строкового ресурса


6-1157533660
wolchonok29
2006-09-06 13:07
2007.02.11
ПРоблема с сетью


2-1169709085
oops
2007-01-25 10:11
2007.02.11
ADONETConnection - куда он делся?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский