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

Вниз

проверка Memo на пустоту   Найти похожие ветки 

 
Yurij-7   (2004-12-20 11:40) [0]

День добрый
Уважаемые мастера подскажите пжл как проверить ТMemo пустой он или нет, пробовал через свойство Lines  но ниче неполучаеться :((
Спасибо.


 
Poirot ©   (2004-12-20 11:43) [1]

TMemo.Text
Можно проверить по Lines.Count и + Если одна линия, то проверить её длину на 0


 
TUser ©   (2004-12-20 11:43) [2]

if Lines.Text = "" then


 
Jay1982 ©   (2004-12-20 11:46) [3]

if Length(Memo1.Text) = 0 then


 
Poirot ©   (2004-12-20 12:10) [4]

Jay1982 ©   (20.12.04 11:46) [3]
Боюсь, что при большом мемо, это буит весьма долгая операция:)_


 
Jay1982 ©   (2004-12-20 12:17) [5]

Зато 100% рабочая


 
Delphin ©   (2004-12-20 12:20) [6]

IF Memo1.GetTextLenght=0 Then ....


 
Yurij-7   (2004-12-20 12:29) [7]

TUser ©   (20.12.04 11:43) [2]
if Lines.Text = "" then

Спасибо, а я вот пробовал так но ничего неполучалось :((

Всем большое спасибо


 
Yurij-7   (2004-12-20 15:39) [8]

У меня возник еще 1 вопрос:
перепробовал все приведенные примеры, но один такой момент если я нередактировал Memo то ниодин из способов неподходит :((
как быть в таком случае?


 
Александр Иванов ©   (2004-12-20 15:48) [9]

Чем не подходит?


 
Yurij-7   (2004-12-20 16:20) [10]

если я только запускаю прогу (фокус сразу на мэмо) и я в мэмо ничего не менял а сразу нажимаю батон то проверка недействует, тоесть если пользователь ничего не менял то проверка не срабатывает.


 
Yurij-7   (2004-12-20 16:20) [11]

если я только запускаю прогу (фокус сразу на мэмо) и я в мэмо ничего не менял а сразу нажимаю батон то проверка недействует, тоесть если пользователь ничего не менял то проверка не срабатывает.


 
TUser ©   (2004-12-20 16:42) [12]


> Боюсь, что при большом мемо, это буит весьма долгая операция:)_

Что такое "большое" мемо?

> TUser ©   (20.12.04 11:43) [2]
> if Lines.Text = "" then
>
> Спасибо, а я вот пробовал так но ничего неполучалось :((

Значит тебе нужно что-то другое. Этот код стопудово рабочий.

> перепробовал все приведенные примеры, но один такой момент
> если я нередактировал Memo то ниодин из способов неподходит
> :((

Может у тебя там написано "Memo1"?

Очень хочется спросить, а что такое проверка на пустоту в данном контексте?


 
Yurij-7   (2004-12-20 17:42) [13]

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


 
Poirot ©   (2004-12-20 18:09) [14]

>>
Что такое "большое" мемо?
Это туеву кучу килобайтов\мегабайтов. ибо Lenght работает с null terminated строками:) и пока оно добежит - это буит шикарно:) Ну обладателям супер пупер пеньков это пофигу, но... это нерациональное использование ресурса ПК:)


 
Skier ©   (2004-12-20 18:16) [15]

>Yurij-7   (20.12.04 17:42) [13]
Я, лично, ничего не понял...


 
pasha_golub ©   (2004-12-20 18:53) [16]

Poirot ©   (20.12.04 18:09) [14]
Рискну предположить что вы ошибаетесь. В том что свойство TMemo.Text: PChar тут несомненно, но... Мне кажется, что длина все-таки храниться по адресу -4 байта от первого символа.

Если не прав - бейте ногами, все равно вечер и спать скоро.


 
Poirot ©   (2004-12-20 19:08) [17]

Но вы забываете что это свойство... А как работает Lenght можно просто продебажив его:) там чистый асмовский код...
Прошу... проверяйте:0 не жалко.. только конструкции типа S:=Memo1.Text не катят, ибо читаем РТФМ
Там s совершенно другой блок памяти:))


 
Gero ©   (2004-12-20 20:57) [18]


> Боюсь, что при большом мемо, это буит весьма долгая операция:)_

Думаю, меньше милли секунды.

Хотя lines.text действительно не очень быстро, но это имеет смысл если ты вызвыаешь его в цикле хотя бы пару миллионов раз.



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

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

Наверх




Память: 0.51 MB
Время: 0.026 c
1-1103667920
AlexLine
2004-12-22 01:25
2005.01.09
Как изменить координаты появления Hint


3-1102513151
Виктор23
2004-12-08 16:39
2005.01.09
Медленное выполнение ADODataSet1.Next


14-1103705307
vidiv
2004-12-22 11:48
2005.01.09
Переходник IDE для ноутбука


11-1084528305
dimon1979
2004-05-14 13:51
2005.01.09
Табуляция


1-1103795423
TUser
2004-12-23 12:50
2005.01.09
Как может оптимизатор пропускать такое?