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

Вниз

case of не работает для строк   Найти похожие ветки 

 
Kuku   (2003-12-30 00:38) [0]


var MyString: Stringl

begin

MyString:=Edit1.Text;

case MyString of
"OK": Edit2.Text:="Хорошо";
"Bad": Edit2.Text:="Плохо";

end;


При попытке скомпилировать курсор переходит к строке с case и говорит - ordinal type required.
В чём проблема????


 
Pat ©   (2003-12-30 00:55) [1]

Теперь берем переводчик и переводим "ordinal type required". Получится что-то вроде "требуется перечисляемый тип переменной" (ну это мой адаптированный перевод :-)) Далее грузим Delphi help и смотрим топик ordinal types


 
Германн ©   (2003-12-30 01:09) [2]

Поскольку по приведенному примеру значения строк вводимых в Edit1 известны уже на этапе компилляции, то можно посоветовать загрузить все варианты таких строк в StringList. Тогда в последствии можно будет сделать так:

case StringList.IndexOf(Edit1.Text) of

Хотя, впрочем, при вышеописанном условии отпадет и всякая необходимость в операторе case. Достаточно будет:

Edit2.Text:=StringList2.Strings[StringList1.IndexOf(Edit1.Text)]



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

Текущий архив: 2004.01.13;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.022 c
1-37701
DimaK
2003-12-24 22:50
2004.01.13
В чем моя ошибка?


3-37493
_jek
2003-12-16 17:13
2004.01.13
ACCESS и спецификация


6-37829
Bill
2003-11-11 03:42
2004.01.13
Cannot allocate socket.


1-37672
fresh
2003-12-26 14:02
2004.01.13
Приложение DOS


14-37870
Undert
2003-12-22 17:46
2004.01.13
Приемущества и недостатки домена