case of + DayOfTheWeek, неработает |
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 наверное надо раставить блоки... но все равно не работает... заранее благодарен. P.S. может case ищё эти типы не обрабатывает... Сообщение отредактировано: compiler - 3.03.2007 19:16 -------------------- Спасибо!
Удачи! |
volvo |
3.03.2007 19:16
Сообщение
#2
|
Гость |
DayOfTheWeek возвращает Integer, а не Char ...
|
compiler |
3.03.2007 19:18
Сообщение
#3
|
Человек Группа: Пользователи Сообщений: 1 050 Пол: Мужской Реальное имя: Станислав Репутация: 3 |
DayOfTheWeek возвращает Integer, а не Char ... а где выход? может надо както приабразовывать(неявное преобразование), а как? -------------------- Спасибо!
Удачи! |
Bokul |
3.03.2007 19:18
Сообщение
#4
|
Гуру Группа: Пользователи Сообщений: 1 117 Пол: Мужской Реальное имя: Богдан Репутация: 11 |
Цитата наверное надо раставить блоки... но все равно не работает... Конечно же повсюду поставить begin и end
-------------------- Лао-Цзы :
Знать много и не выставлять себя знающим есть нравственная высота. Знать мало и выставлять себя знающим есть болезнь. Только понимая эту болезнь, мы можем избавиться от нее. |
compiler |
3.03.2007 19:19
Сообщение
#5
|
Человек Группа: Пользователи Сообщений: 1 050 Пол: Мужской Реальное имя: Станислав Репутация: 3 |
Конечно же повсюду поставить begin и end а как с типами? Сообщение отредактировано: compiler - 3.03.2007 19:19 -------------------- Спасибо!
Удачи! |
volvo |
3.03.2007 19:20
Сообщение
#6
|
Гость |
Цитата а где выход? case DayOfTheWeek(Now) of? |
compiler |
3.03.2007 19:24
Сообщение
#7
|
Человек Группа: Пользователи Сообщений: 1 050 Пол: Мужской Реальное имя: Станислав Репутация: 3 |
-------------------- Спасибо!
Удачи! |
TarasBer |
3.03.2007 19:44
Сообщение
#8
|
Злостный любитель Группа: Пользователи Сообщений: 1 755 Пол: Мужской Репутация: 62 |
Мне не совсем понятно, зачем здесь кейс. В данном конкретном случае можно обойтись
. Сообщение отредактировано: TarasBer - 3.03.2007 19:45 -------------------- |
volvo |
3.03.2007 19:50
Сообщение
#9
|
Гость |
if (DOTW >= 1) and (DOTW <= 7) then beginто есть, возможны и другие варианты? Тогда пример в студию, КОГДА DOTW не будет попадать в интервал 1 .. 7 ... |
TarasBer |
3.03.2007 19:57
Сообщение
#10
|
Злостный любитель Группа: Пользователи Сообщений: 1 755 Пол: Мужской Репутация: 62 |
Это я перестраховался... Если убрать иф, бегин и енд, то код только выиграет, сократившись ещё на 2 строчки.
Сообщение отредактировано: TarasBer - 3.03.2007 19:58 -------------------- |
compiler |
3.03.2007 20:29
Сообщение
#11
|
Человек Группа: Пользователи Сообщений: 1 050 Пол: Мужской Реальное имя: Станислав Репутация: 3 |
Мне не совсем понятно, зачем здесь кейс. В данном конкретном случае можно обойтись у меня были подобные строчки... lgr := 1 - DayOfTheWeek(Now); но позже возникла необходимость вставлять в действия еще операторы(в примере они не приведины, для краткости...) + читабельность, сейчас необходимость пропала (или еще нет:) ),вобщем в разработке оба варианта... P.S. что делает строчка - byte(DOTW > 2) -------------------- Спасибо!
Удачи! |
TarasBer |
3.03.2007 20:32
Сообщение
#12
|
Злостный любитель Группа: Пользователи Сообщений: 1 755 Пол: Мужской Репутация: 62 |
DOTW > 2 - это выражение булевского типа. Оно занимает один байт. Причём этот байт равен 1, если выражение верно и 0 если нет. Это обычная ретипизация, ничего особенного.
-------------------- |
compiler |
3.03.2007 20:46
Сообщение
#13
|
Человек Группа: Пользователи Сообщений: 1 050 Пол: Мужской Реальное имя: Станислав Репутация: 3 |
-------------------- Спасибо!
Удачи! |
TarasBer |
3.03.2007 21:01
Сообщение
#14
|
Злостный любитель Группа: Пользователи Сообщений: 1 755 Пол: Мужской Репутация: 62 |
а зачем оно... А затем, чтобы вместо вычитания из числа булевской переменной (что запрещено синтаксисом), вычитать из числа число, полученное из булевской переменной. -------------------- |
compiler |
3.03.2007 21:03
Сообщение
#15
|
Человек Группа: Пользователи Сообщений: 1 050 Пол: Мужской Реальное имя: Станислав Репутация: 3 |
А затем, чтобы вместо вычитания из числа булевской переменной (что запрещено синтаксисом), вычитать из числа число, полученное из булевской переменной. благодарю... -------------------- Спасибо!
Удачи! |
Текстовая версия | 11.05.2024 13:13 |