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

Вниз

Работа с 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;
Скачать: CL | DM;

Наверх




Память: 0.51 MB
Время: 0.104 c
15-1417728602
Юрий
2014-12-05 00:30
2015.09.10
С днем рождения ! 5 декабря 2014 пятница


15-1412541002
Юрий
2014-10-06 00:30
2015.09.10
С днем рождения ! 6 октября 2014 понедельник


15-1418318045
Fox
2014-12-11 20:14
2015.09.10
Англоязычная озвучка карт


2-1393856756
GroupBox
2014-03-03 18:25
2015.09.10
Скрыть рамку котрола


2-1397989657
vini
2014-04-20 14:27
2015.09.10
Как изменить размер bitmap