Вниз
Скачать: CL | DM;

Case ???   Найти похожие ветки 

← →
Koala ©   (2004-09-04 21:32) [0]

Почему так получается
   REAL_NUM  : integer;
   ENT_NUM   : integer;
   END_NUM   : integer;

     case REAL_NUM of
      ENT_NUM..END_NUM: - ругается

      else
       begin

       end;
      end;

     case REAL_NUM of
      0..15: - нормально проходит
     else
       begin

       end;
      end;


← →
Семен Сорокин ©   (2004-09-04 21:42) [1]

потому как там должна стоять константа, или выражение которое компилятор может вычислить на этапе компиляции.
ЗЫ. В хелпе по case это черным по белому написано.


← →
Koala ©   (2004-09-04 22:04) [2]


> Семен Сорокин ©   (04.09.04 21:42)

Тогда как его обойти???


← →
Mihey_temporary ©   (2004-09-04 22:10) [3]


If (REAL_NUM >= ENT_NUM) and (REAL_Num <= END_NUM) then
 begin
 end;


← →
Koala ©   (2004-09-04 22:19) [4]


> [3] Mihey_temporary ©   (04.09.04 22:10)

спасибо

тогда получается
if REAL_NUM in [ENT_NUM..END_NUM] then   - не ругается но и не работает

почему???


← →
Mihey_temporary ©   (2004-09-04 23:00) [5]


> тогда получается
> if REAL_NUM in [ENT_NUM..END_NUM] then   - не ругается но
> и не работает
>
> почему???


Ошибка в значениях, наверное. Вот такой код у меня сработал на ура (сообщение появилось):


var Cu1: Integer;
   Lo1: Integer;
   Hi1: Integer;
begin
 Cu1 := 50;
 Lo1 := 1;
 Hi1 := 100;
 If Cu1 in [Lo1..Hi1] then
  ShowMessage("!!!!");


← →
Mihey_temporary ©   (2004-09-04 23:10) [6]

2 Koala:

Хочу добавить, что если твоя задача может быть решена способом Mihey_temporary © (04.09.04 22:10) [3], то лучше им и воспользоваться, так как он на порядок быстрее в плане выполнения (проверял сейчас только). Это справледливо, если элементов множества больше 32.


← →
Koala ©   (2004-09-04 23:17) [7]

Спасибо всем!!!



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

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.023 c
6-1089815439
Amid
2004-07-14 18:30
2004.09.19
отправки файлов при помощи Indy


4-1091136573
BaG
2004-07-30 01:29
2004.09.19
Как свернуть окно в "Область уведомлений" (правый нижний угол)?


3-1093279783
mouse_web
2004-08-23 20:49
2004.09.19
Запустить дополнительную форму параллельно процессу


3-1093333516
r9000
2004-08-24 11:45
2004.09.19
Ошибка при использовании отчета на QuickRep.


6-1089616621
ikivio
2004-07-12 11:17
2004.09.19
Socket Error в компонентах Indy




   Наверх