Форум: "Основная";
Текущий архив: 2005.01.09;
Скачать: [xml.tar.bz2];
Внизпроверка 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;
Скачать: [xml.tar.bz2];
Память: 0.48 MB
Время: 0.034 c