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

Delphi Sources



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

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 30.03.2012, 19:30
Alexandrdc Alexandrdc вне форума
Прохожий
 
Регистрация: 30.03.2012
Сообщения: 3
Репутация: 10
Вопрос CASE и Delphi

Доброго времени суток.Объясните мне , можно ли как то запрограммировать поле Edit так , что б когда вводишь в него определенное слово , например, VIZIT (название домофона ) выскакивала форма. Пытался осуществить это через оператор CASE , но ничего не вышло. Делал это так :

var s:string;
begin

case s of
VIZIT: Form1.show;
end;

Ничего не получилось.Помогите пожалуйста
Ответить с цитированием
  #2  
Старый 30.03.2012, 19:42
Аватар для YVitaliy
YVitaliy YVitaliy вне форума
Местный
 
Регистрация: 14.12.2011
Сообщения: 481
Версия Delphi: Borland Delphi7
Репутация: 17
По умолчанию

В событии Edit#.OnChange проверяй текст в поле:
Код:
procedure TForm1.Edit1Change(Sender: TObject);
begin
if Edit1.Text='VISIT'  then showmessage('VISIT');
end;
Ответить с цитированием
Этот пользователь сказал Спасибо YVitaliy за это полезное сообщение:
Alexandrdc (30.03.2012)
  #3  
Старый 30.03.2012, 19:53
Alexandrdc Alexandrdc вне форума
Прохожий
 
Регистрация: 30.03.2012
Сообщения: 3
Репутация: 10
Хорошо

Большое спасибо !
Ответить с цитированием
  #4  
Старый 30.03.2012, 21:59
Snake22 Snake22 вне форума
Активный
 
Регистрация: 20.02.2011
Сообщения: 374
Репутация: 744
По умолчанию

в дельфи кейз только для цифр.
используй выше приведенный пример
if .. then ..
else if .. then ..
else if .. then ..
else if .. then ..
... =)
Ответить с цитированием
  #5  
Старый 30.03.2012, 22:09
PS11011010 PS11011010 вне форума
Новичок
 
Регистрация: 30.03.2012
Сообщения: 98
Репутация: 282
По умолчанию

Цитата:
Сообщение от YVitaliy
В событии Edit#.OnChange проверяй текст в поле:
Код:
procedure TForm1.Edit1Change(Sender: TObject);
begin
if Edit1.Text='VISIT'  then showmessage('VISIT');
end;

А разве можно вот так прям всю строку сравнивать?

Я бы посоветовал (на всякий случай) функцию
Код:
AnsiCompareText(const S1, S2: String): Integer
Сравнивает две строки S1 и S2 без учёта регистра символов. Возвращает значение <0 если S1<S2, 0 если S1=S2, >0 если S1>S2.
Ответить с цитированием
  #6  
Старый 30.03.2012, 22:53
Аватар для YVitaliy
YVitaliy YVitaliy вне форума
Местный
 
Регистрация: 14.12.2011
Сообщения: 481
Версия Delphi: Borland Delphi7
Репутация: 17
По умолчанию

Цитата:
А разве можно вот так прям всю строку сравнивать?
Можно и нужно. Если бы ТС нужно было сравнивать строки без учета регистра, то я бы рекрмендовал ф-цию UpperCase (или LowerCase):
Код:
if Uppercase(Edit1.Text) = UpperCase('STRING') then showmesage(lowercase(message));
а то какие-то AnsiReplaceString, AnsiCompareString... Как кому удобнее. Здесь нужно проверять только одно условие...
Ответить с цитированием
  #7  
Старый 30.03.2012, 23:08
Аватар для angvelem
angvelem angvelem вне форума
.
 
Регистрация: 18.05.2011
Адрес: Омск
Сообщения: 3,970
Версия Delphi: 3,5,7,10,12,XE2
Репутация: выкл
По умолчанию

Цитата:
Сообщение от YVitaliy
Можно и нужно...
Правилом "хорошего" тона, как раз и считается сравнение без учёта регистра, обратное используется гораздо реже.
Цитата:
Сообщение от YVitaliy
то я бы рекрмендовал ф-цию UpperCase (или LowerCase):
Тогда уж: AnsiUpperCase (или AnsiLowerCase) - так спокойнее
__________________
Je venus de nulle part
55.026263 с.ш., 73.397636 в.д.
Ответить с цитированием
Ответ


Delphi Sources

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

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

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

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


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


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

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

ВКонтакте   Facebook   Twitter