|  | 
 
 | 
| 
			 
			#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. |