Форум программистов, компьютерный форум, киберфорум
Наши страницы
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
 
Израдор
4 / 4 / 1
Регистрация: 06.06.2010
Сообщений: 114
1

оптимизация кода

06.10.2013, 21:48. Просмотров 429. Ответов 1
Метки нет (Все метки)

Доброго времени суток.
у меня возник такой вопрос: как сократить этот код:
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
procedure TForm1.Image1Click(Sender: TObject);
begin
if a=5 then begin
          z1:=z1+1;
          e:=e+1;
          if z1=1 then begin
          case e of
          1: begin Panel1.Color:=clfuchsia; end;
          2: begin ShowMessage('ìîæГ*Г® âûäåëèòü òîëüêî 3 ГЄГ*ðòû'); e:=e-1; z1:=z1-1; end;
          end; end else
          begin Panel1.Color:=clbtnface; z1:=0; e:=e-2; end;
      end
    else
    begin
      q:=1;
      videlenie;
      Panel1.Color:=clgray;
      end;  
end;
 
procedure TForm1.Image2Click(Sender: TObject);
begin
if a=5 then begin
    z2:=z2+1;
    e:=e+1;
    if z2=1 then begin
          case e of
          1: begin Panel2.Color:=clfuchsia; end;
          2: begin ShowMessage('ìîæГ*Г® âûäåëèòü òîëüêî 3 ГЄГ*ðòû'); e:=e-1; z2:=z2-1; end;
          end; end else
          begin Panel2.Color:=clbtnface; z2:=0; e:=e-2; end;
      end
    else
    begin
      q:=2;
      videlenie;
      Panel2.Color:=clgray;
     end   
end;
 
procedure TForm1.Image3Click(Sender: TObject);
begin
if a=5 then begin
    z3:=z3+1;
    e:=e+1;
    if z3=1 then begin
          case e of
          1: begin Panel3.Color:=clfuchsia; end;
          2: begin ShowMessage('ìîæГ*Г® âûäåëèòü òîëüêî 3 ГЄГ*ðòû'); e:=e-1; z3:=z3-1; end;
          end; end else
          begin Panel3.Color:=clbtnface; z3:=0; e:=e-2; end;
     end
    else
    begin
      q:=3;
      videlenie;
      Panel3.Color:=clgray;
 
end; end;
 
procedure TForm1.Image4Click(Sender: TObject);
begin
if a=5 then begin
    z4:=z4+1;
    e:=e+1;
    if z4=1 then begin
          case e of
          1: begin Panel4.Color:=clfuchsia; end;
          2: begin ShowMessage('ìîæГ*Г® âûäåëèòü òîëüêî 3 ГЄГ*ðòû'); e:=e-1; z4:=z4-1; end;
          end; end else
          begin Panel4.Color:=clbtnface; z4:=0; e:=e-2; end;
    end
    else
    begin
    q:=4;
videlenie;
Panel4.Color:=clgray;
end; }end;
заранее огромное спасибо
З.Ы. извиняюсь за кривой код
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.10.2013, 21:48
Ответы с готовыми решениями:

оптимизация кода
Помогите,пожалуйста,оптимизировать код на delphi. procedure variant5n; const...

Оптимизация кода
Всем привет. Данный кусок кода перебирает все сочетания из введенных букв и...

Оптимизация кода.
Привет всем. Вот хотел спросить у людей какие кто советы даст по оптимизации...

Оптимизация кода
На форме есть около 30 элементов MaskEdit и CheckBox, расположенных...

Оптимизация кода
Доброго времени суток! Необходимо оптимизировать код. Проблема: загружаю...

1
Cyborg Drone
Модератор
5296 / 3174 / 2442
Регистрация: 17.08.2012
Сообщений: 10,189
07.10.2013, 12:29 2
Может, так... Все z запихать в массив z[1..4] of integer, клики на всех image натравить на одну и ту же процедуру, номер image выделять из его имени.
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
procedure ImageClick(Sender: TObject);
var i: integer;
begin
i := StrToInt(TImage(Sender).Name[6])
if a=5
  then
    begin
      z[i]:=z[i]+1;
      e:=e+1;
      if z[i]=1
        then
          begin
            case e of
              1: begin 
                   with TPanel(FindComponent('Panel' + IntToStr(i) do Color:=clfuchsia
                 end;
              2: begin
                   ShowMessage('можно выделить только 3 карты');
                   e:=e-1;
                   z[i]:=z[i]-1
                 end;
            end
          end
        else
          begin
            with TPanel(FindComponent('Panel' + IntToStr(i) do Color:=clbtnface;
            z[i]:=0;
            e:=e-2
          end;
    end
  else
    begin
      q:=i;
      videlenie;
      with TPanel(FindComponent('Panel' + IntToStr(i) do Color:=clgray
    end  
end;
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
07.10.2013, 12:29

Оптимизация кода
Имеется код который не получается оптимизировать(( Хотелось бы его как то...

Оптимизация кода
Проверяю форму на заполнение всех полей, подсвечиваю красным если не заполнены....

Оптимизация кода
Здравствуйте, уважаемые знатоки! Передо мной стоит задача оптимизировать код...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru