|
#1
|
|||
|
|||
синтаксис CASE
Привет специалисты программирования. Для оптимизации нижеследующего кода необходимо перевести в case, но у меня не получается (нехватает знания). Если у кого найдется желание, дайте немного знания новичку. Спасибо всем, кто заглянул.
Код:
if w1='1' then begin wNach:=0; wKon:=6; end; if w1='2' then begin wNach:=1; wKon:=5; end; if w1='3' then begin wNach:=2; wKon:=4; end; if w1='4' then begin wNach:=3; wKon:=3; end; if w1='5' then begin wNach:=4; wKon:=2; end; if w1='6' then begin wNach:=5; wKon:=1; end; if w1='7' then begin wNach:=6; wKon:=0; end; |
#2
|
|||
|
|||
сделал вот так, но выдает ошибку oridinal type required
Код:
case w1 of 1: begin wNach:=0; wKon:=6; end; 2: begin wNach:=1; wKon:=5; end; 3: begin wNach:=2; wKon:=4; end; 4: begin wNach:=3; wKon:=3; end; 5: begin wNach:=4; wKon:=2; end; 6: begin wNach:=5; wKon:=1; end; 7: begin wNach:=6; wKon:=0; end else showmessage('Ошибка'); end; |
#3
|
||||
|
||||
case со строками не работает.
Код:
var Value: Integer; if TryStrToInt(w1, Value) then case Value of 1: begin wNach:=0; wKon:=6; end; 2: begin wNach:=1; wKon:=5; end; 3: begin wNach:=2; wKon:=4; end; 4: begin wNach:=3; wKon:=3; end; 5: begin wNach:=4; wKon:=2; end; 6: begin wNach:=5; wKon:=1; end; 7: begin wNach:=6; wKon:=0; end else ShowMessage('Ошибка'); end; Последний раз редактировалось ryderx34, 02.06.2011 в 10:33. |
#4
|
|||
|
|||
Цитата:
Код:
case StrToInt(w1) of 1: begin wNach:=0; wKon:=6; end; 2: ... end; Код:
wNach:= StrToInt(w1) - 1; wKon:= 7 - StrToInt(w1); |
#5
|
|||
|
|||
Но анализ кода говорит нам, что можно обойтись одной формулой, без case:
Код:
wNach:= StrToInt(w1) - 1; wKon:= 7 - StrToInt(w1); Спасибо за быстрый ответ . |
#6
|
|||
|
|||
Уважаемые гуру. Есть задачка, которую несколько дней не могу решить. Видно такие задачки Вам ничего не стоят, помогите у кого будет желание.
Имеется DateTimePicker, дата которого равняется системной дате. Есть таблица с полей Дата_Фикс. При нажатии на кнопку в Grid-е должно выводится только те строки таблицы, которые входят в эту неделю, то есть NachNed-DateTimePicker.date и KonNed+DateTimePicker.date Последний раз редактировалось Молоток, 02.06.2011 в 15:23. |