Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 05.11.2010, 06:02
whizzkey whizzkey вне форума
Прохожий
 
Регистрация: 16.10.2010
Сообщения: 35
Репутация: 10
По умолчанию Конструкция выбора в делфи

Всем добрый день, подскажите каким образом реализуется множественный выбор в делфи? Т.е. дано к примеру 5 условий - когда какое либо из условий выполняется - происходит определенное действие
Я делаю вот так
Код:
if Edit6.Text=0  or @ Edit2.Text:=''
or Edit3.Text:='' or  Edit4.Text:='' 
or Edit5.Text:=''
then
begin
WriteTest:=false ;
end
else
WriteTest:=true;
на что делфи мне пишет operator not applicable to this operand type либо variable requared
Ответить с цитированием
  #2  
Старый 05.11.2010, 06:54
Аватар для ryderx34
ryderx34 ryderx34 вне форума
Активный
 
Регистрация: 22.01.2010
Сообщения: 211
Версия Delphi: 7, 2010
Репутация: 1349
По умолчанию

При использовании or пиши сравнения в скобках:
Код:
if (Edit1.Text='text 1') or (Edit2.Text='text 2') or (Edit3.Text='text 3') then
И строки не сравниваются с числами:
Код:
Edit6.Text=0 // неправильно
Ответить с цитированием
  #3  
Старый 05.11.2010, 06:56
whizzkey whizzkey вне форума
Прохожий
 
Регистрация: 16.10.2010
Сообщения: 35
Репутация: 10
По умолчанию

Цитата:
Сообщение от ryderx34
И строки не сравниваются с числами:
Имеется ввиду Edit6.Text='0' значение Edit'a равное 0
А как можно сделать следующее?? - чтобы помимо сравнения выводилось сообщение по каждому из edit'ов что то из типа 'Введите текст в Edit'
Код:
If (Edit6.Text=0, Showmessage='Введите текст в Edit') or...end

ЗЫ writetest у меня процедура , описанная в модуле, как запретить ее выполнение при удовлетворении одного из условий?
writetest:=false; - не работает

Последний раз редактировалось whizzkey, 05.11.2010 в 07:21.
Ответить с цитированием
  #4  
Старый 05.11.2010, 08:51
Аватар для ryderx34
ryderx34 ryderx34 вне форума
Активный
 
Регистрация: 22.01.2010
Сообщения: 211
Версия Delphi: 7, 2010
Репутация: 1349
По умолчанию

Не совсем понял о чём речь, но попробую
Код:
// проверяется наличие введённого текста:
if (Edit1.Text='') or (Edit2.Text='') or (Edit3.Text='') then
  ShowMessage('Введите текст в каждый Edit') // если что-то не введено выводится сообщение
else
  WriteTest; // если всё введено, то вызывается процедура WriteTest
end;
это нужно?
Ответить с цитированием
  #5  
Старый 05.11.2010, 10:38
whizzkey whizzkey вне форума
Прохожий
 
Регистрация: 16.10.2010
Сообщения: 35
Репутация: 10
По умолчанию

Цитата:
Сообщение от ryderx34
Не совсем понял о чём речь, но попробую
я видимо криво обьяснил - ладно покажу кодом
Код:
if (Edit1.Text='') "<-- Месссадж введите тото-тото в Edit1" 
or (Edit2.Text='') "<--Месссадж введите тото-тото в Edit2"
почему хочу сделать чтобы было по каждому едиту в отдельности? потомучто Edit1 - содержит только числовые значения, Edit2 - строковые
Ответить с цитированием
  #6  
Старый 05.11.2010, 10:53
Аватар для TOJluK
TOJluK TOJluK вне форума
Местный
 
Регистрация: 25.02.2009
Адрес: Минск
Сообщения: 551
Версия Delphi: 2007
Репутация: 110
По умолчанию

Код:
if edit1.text = '' then
   showmessage('караул')
else 
  if edit2.text = '' then
     showmessage('ыыы')
 
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра
Комбинированный вид Комбинированный вид

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 07:34.


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2025