IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

> case of + DayOfTheWeek, неработает
compiler
сообщение 3.03.2007 19:05
Сообщение #1


Человек
*****

Группа: Пользователи
Сообщений: 1 050
Пол: Мужской
Реальное имя: Станислав

Репутация: -  3  +


есть урывок <<прблемного>> кода...
case DayOfTheWeek(Now) of
'1' : begin lgr:= 0; pgr:=7; end
'2' : lgr:=-1; pgr:=6;
'3' : lgr:=-3; pgr:=5;
'4' : lgr:=-4; pgr:=4;
'5' : lgr:=-5; pgr:=3;
'6' : lgr:=-6; pgr:=2;
'7' : lgr:=-7; pgr:=1;
end;

наверное надо раставить блоки... но все равно не работает...
заранее благодарен.

P.S. может case ищё эти типы не обрабатывает...

Сообщение отредактировано: compiler - 3.03.2007 19:16


--------------------
Спасибо!
Удачи!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
TarasBer
сообщение 3.03.2007 19:44
Сообщение #2


Злостный любитель
*****

Группа: Пользователи
Сообщений: 1 755
Пол: Мужской

Репутация: -  62  +


Мне не совсем понятно, зачем здесь кейс. В данном конкретном случае можно обойтись

DOTW := DayOfTheWeek(Now)
if (DOTW >= 1) and (DOTW <= 7) then begin
Lgr := 1 - DOTW - byte(DOTW > 2);
Pgr := 8 - DOTW;
end;

.

Сообщение отредактировано: TarasBer - 3.03.2007 19:45


--------------------
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
compiler
сообщение 3.03.2007 20:29
Сообщение #3


Человек
*****

Группа: Пользователи
Сообщений: 1 050
Пол: Мужской
Реальное имя: Станислав

Репутация: -  3  +


Цитата(TarasBer @ 3.03.2007 18:44) *

Мне не совсем понятно, зачем здесь кейс. В данном конкретном случае можно обойтись

у меня были подобные строчки...
lgr := 1 - DayOfTheWeek(Now);
pgr := lgr + 7;

но позже возникла необходимость вставлять в действия еще операторы(в примере они не приведины, для краткости...) + читабельность, сейчас необходимость пропала (или еще нет:) ),вобщем в разработке оба варианта...

P.S. что делает строчка
- byte(DOTW > 2)



--------------------
Спасибо!
Удачи!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

Сообщений в этой теме
compiler   case of + DayOfTheWeek   3.03.2007 19:05
volvo   DayOfTheWeek возвращает Integer, а не Char ...   3.03.2007 19:16
compiler   DayOfTheWeek возвращает Integer, а не Char ... а...   3.03.2007 19:18
Bokul   Конечно же повсюду поставить begin и end case ...   3.03.2007 19:18
compiler   Конечно же повсюду поставить begin и end а как с ...   3.03.2007 19:19
volvo   case DayOfTheWeek(Now) of 1 : begin lgr:= 0; p...   3.03.2007 19:20
compiler   ...? благодарю. это мне и надо было...   3.03.2007 19:24
TarasBer   Мне не совсем понятно, зачем здесь кейс. В данном ...   3.03.2007 19:44
compiler   Мне не совсем понятно, зачем здесь кейс. В данном...   3.03.2007 20:29
volvo   if (DOTW >= 1) and (DOTW <= 7) then beginто ...   3.03.2007 19:50
TarasBer   Это я перестраховался... Если убрать иф, бегин и е...   3.03.2007 19:57
TarasBer   DOTW > 2 - это выражение булевского типа. Оно з...   3.03.2007 20:32
compiler   ничего особенного а зачем оно...   3.03.2007 20:46
TarasBer   а зачем оно... А затем, чтобы вместо вычитания и...   3.03.2007 21:01
compiler   А затем, чтобы вместо вычитания из числа булевско...   3.03.2007 21:03


 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия 21.07.2025 7:17
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"