![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
|
|
#1
|
|||
|
|||
|
Здравствуйте!
Есть код: Код:
if (условие 1) or (условие 2) ... or (условие 30) then... Как узнать какое условие верное? Например - условие 22 оказалось верным, и выполняется then..., но необходимо узнать какое именно условие было верным. Условия Код:
(text = edit1.text) or (text = edit2.text) ... Последний раз редактировалось M.A.D.M.A.N., 16.07.2014 в 13:15. |
|
#2
|
||||
|
||||
|
or здесь не подходит, похоже придётся примерно так делать
Код:
...
prosedure ptg(ds: integer);
begin
Label1.Caption:='Сработало условие ' + IntToStr(ds);
Здесь выполнение then ..
end;
begin
if (условие 1) then ptg(1);
if (условие 2) then ptg(2);
if (условие 3) then ptg(3);
if (условие 4) then ptg(4);
end; |
|
#3
|
||||
|
||||
|
Цитата:
Код:
...
prosedure ptg(ds: integer; condition: boolean);
begin
if condition then
begin
Label1.Caption:='Сработало условие ' + IntToStr(ds);
Здесь выполнение then ..
end;
end;
begin
ptg(1, a=b);
ptg(2, a=b);
ptg(3, a=b);
ptg(4, a=b);
end; |
|
#4
|
||||
|
||||
|
Да фиг его знает, Мэд, какие там у ТС условия, может совершенный разнобой, да и если совсем по-чесноку, непонятно, зачем такой результат вообще нужен, сработало - да и так хорошо, проще тогда просто ифзенами обойтись
|
|
#5
|
|||
|
|||
|
Если задача указана в посте автора и является таковой (т.е. он не пример привел, а реальную потребность), то лучше динамически создать эдиты (можно в цикле), закинуть их в массив, и циклом по нему пробежаться, делая проверку, тогда и кода будет немного, не будет копипасты, и узнать выполнившееся сравнение в цикле проще простого.
Вообще, 30 эдитов говорят, что Вы делаете что-то неправильно. Поглядите на компонент TStringGrid на вкладке Additional палитры компонент, лучше использовать его для структурированного ввода теста, а не плодить эдиты. В гриде сделать проверку циклом тоже просто и определить, в какой ячейке нашлось совпадение текста. |
|
#6
|
||||
|
||||
|
Цитата:
Примеры (из моих проектов): ![]() ![]() |