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

Вниз

Работа с Edit   Найти похожие ветки 

 
Andrey5 ©   (2014-04-12 19:01) [0]

Ребята Доброго времени суток. Не подскажете как организовать проверку на ввод информации в Edit. Т.е. мне нужно проверить если информация введена в 3 edit-а, то выполнять действия, а если информация введена в 5 edit-ов, то выполнять совсем другие действия. Спасибо за понимание.


 
Inovet ©   (2014-04-12 19:14) [1]

if not Edit1.Text.IsEmpty and not Edit2.Text.IsEmpty and Edit3.Text.IsEmpty then одни действия
if not Edit1.Text.IsEmpty and not Edit2.Text.IsEmpty and not Edit3.Text.IsEmpty then другие действия


 
Andrey5 ©   (2014-04-12 19:53) [2]

Ругается на IsEmpty , в D7 такой функции нету


 
Inovet ©   (2014-04-12 20:45) [3]

> [2] Andrey5 ©   (12.04.14 19:53)

А ну да, Делфи же. А самому никак не догадаться до такого
if Edit1.Text <> "" and Edit2.Text <> "" and Edit3.Text = "" then одни действия
if Edit1.Text <> "" and Edit2.Text <> "" and Edit3.Text <> "" then другие действия


 
Andrey5 ©   (2014-04-12 21:08) [4]

Спасибо большое =)


 
turbouser ©   (2014-04-12 21:55) [5]


> Andrey5 ©   (12.04.14 21:08) [4]
>
> Спасибо большое =)

Trim не забудь ;)


 
Andrey5 ©   (2014-04-12 21:59) [6]

Благодарю


 
Труп Васи Доброго ©   (2014-04-14 08:27) [7]


> Т.е. мне нужно проверить если информация введена в 3 edit-
> а, то выполнять действия, а если информация введена в 5
> edit-ов, то выполнять совсем другие действия.

Бз-з-з-з-з-з-з! Несколько странная логика...
Поясни, как можно заполнить пять полей (для "других" действий), не заполнив при этом три (для "первых действий")????
например я - юзер, заполняя по очереди все Editы, получаю такой результат:
Заполняю третье поле - (проверка на "три Edita" положительная)  происходит "действие" (проверка на "пять Editов" отрицательная).
Заполняю четвёртое поле - (проверка на "три Edita" положительная)  происходит "действие" (проверка на "пять Editов" отрицательная).
Заполняю пятое поле - (проверка на "три Edita" положительная)  происходит "действие" (проверка на "пять Editов" положительная)  происходит "другое действие".
Ты именно этого добиваешься?


 
junglecat   (2014-04-14 09:16) [8]

а че странного? ну будет
if (edit1.text<>"") and (edit2.text<>"") and (edit3.text<>"") then begin
 if (edit4.text <> "") and (edit5.text <> "") then
   другая логика
 else
   одна логика
end;


 
Труп Васи Доброго ©   (2014-04-14 09:27) [9]


> а че странного?

А сам не видишь ущербности своего кода? Поля заполняются неким Хуаном, а он на то и Хуан, чтобы заполнять так, как его нога чешется, а не так, как ты себе это в мечтах представлял. Любой Пэдро может начать заполнять (и обязательно начнёт, ибо он Пэдро, а не автор программы) с пятого Edita, а не с первого. и тогда твой код будет в пролёте. Заполнены три поля Edit5, Edit4 и Edit2, а твой код, вместо положенного "действия" жуёт сопли, поверяя на заполненность первых трёх Editов.
Вот я и спрашиваю ТС, какую логику он пытается реализовать и для чего?
З.Ы. Программируя любое взаимодействие с человеком, постоянно помни о Пэдро, чтобы потом не удивляться "какого Хулио моя супер-пуперская мегапрограмма неправильно работает".


 
junglecat   (2014-04-14 09:29) [10]

> с пятого Edita, а не с первого

а причем здесь порядок? главное же, чтобы были заполнено либо первые 3, либо все 5


 
Труп Васи Доброго ©   (2014-04-14 10:02) [11]


> главное же, чтобы были заполнено либо первые 3, либо все
> 5

А где ты в вопросе ТС увидел по первые??? Он спрашивал про вообще три, и нигде не указал порядок заполнения, вопрос был исключительно про количество. Не надо додумывать за других, надо задавать уточняющие вопросы, что я и сделал, поскольку исходя из первого поста не вижу логической оправданности этих действий.


 
junglecat   (2014-04-14 10:21) [12]

да я бы вообще в цикле проверку делал и взводил флаги, набор которых означает ту или иную операцию.
Но автор уже сказал "спасибо", так что мы тут уже чисто междусобойчик устроили


 
Труп Васи Доброго ©   (2014-04-14 10:31) [13]


> Но автор уже сказал "спасибо"

Исходя из его вопросов, автор не особо продвинутый гуру программирования и сказал спасибо за первое же решение, которое, возможно и подходит, но только в частном случае заполнения по порядку. В общем же случае (произвольный порядок заполнения) проверка не сработает. Да и при "правильном" заполнении будут "лишние" "действия" после заполнения  четвёртого и пятого Editов. Так что наш "междусобойчик", возможно, натолкнёт автора на размышления о перестроении логики программы.


 
junglecat   (2014-04-14 13:13) [14]

var
 Edits: array[0..4] of TEdit;
 Flags: integer;

Flags := 0;
for i:=0 to high(Edits) do begin
 if (Trim(Edits[i].Text) <> "") then
   Flags := Flags Or Edits[i].Tag;
end;

if (Flags and AllEditsMask) <> 0 then Совсем Другие Действия
else if (Flags and ThreeEditsMask) <> 0 then Действия


 
Inovet ©   (2014-04-14 13:46) [15]

> [13] Труп Васи Доброго ©   (14.04.14 10:31)
> Так что наш "междусобойчик", возможно, натолкнёт автора
> на размышления о перестроении логики программы.

Я понял так - проверка делается в момент нажатия кнопки Ок/Спасти/Сохранить/Принять/ПрыжокНаСледующийЭтапЗависящийОтЗаполнения, так что в такой логике порядок заполнения пофиг. Другое дело, если дествия по заполнению ещё незаполненных зависят от заполненности предположительно уже заполненых, тогда да, путанно как-то.


 
Труп Васи Доброго ©   (2014-04-14 14:38) [16]


> Я понял так

Ну видишь, твой миелофон так настроен, а на моём зелёная крутилка на 8 поставлена и я понял что

> дествия по заполнению ещё незаполненных зависят от заполненности
> предположительно уже заполненых

Да и вообще возможно автор хочет проверять ход/смысл дальнейших действий на основе уже заполненных полей. Может он поисковик какой-то делает, который начинает предварительный поиск объекта по минимум трём характеристикам, а заполнение остальных полей сужает поиск, но если по трём уже ничего не найдено, то заполнять остальные нет смысла и надо сообщить юзеру, чтобы не корячился, заполняя оставшиеся данные.
Для определённости и нужны пояснения автора.


 
Dennis I. Komarov ©   (2014-04-14 17:33) [17]

Нет автора больше.
Ждите следующую ветку ;)



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

Форум: "Начинающим";
Текущий архив: 2015.09.10;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.49 MB
Время: 0.041 c
1-1330588997
Deltas
2012-03-01 12:03
2015.09.10
Автоматическое подключение модулей в секции uses


15-1422346556
кгшзх
2015-01-27 11:15
2015.09.10
чокак там в mssql


15-1422271890
alexdn
2015-01-26 14:31
2015.09.10
Требуется модератор


2-1395098688
Вова
2014-03-18 03:24
2015.09.10
выпадающее меню в TCustomComponent


15-1422221404
Юрий
2015-01-26 00:30
2015.09.10
С днем рождения ! 26 января 2015 понедельник





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский