![]() |
|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
|||
|
|||
![]() Помогите с "оптимизацией"... Подскажите как проще реализовать такой код? Знаю, что есть более простой вариант решения, по это и ищу..
Код:
procedure TForm1.Timer1Timer(Sender: TObject); //Зига 1 begin z1 := Random(49); //Рандомим значение для зиги 1 ProgressBar1.Position := ProgressBar1.Position + z1; //Прибавляем к прогр бару рандом1 Gauge1.Progress := ProgressBar1.Position; //Гауг приравниваем к бару зиги if ProgressBar1.Position = 1000 then //Если прогресс бар зиги = 1000 то вырубаем работу зиг!!! begin Timer1.Enabled := false; Timer2.Enabled := false; Timer3.Enabled := false; Timer4.Enabled := false; Timer5.Enabled := false; Timer6.Enabled := false; Timer7.Enabled := false; Timer8.Enabled := false; Timer9.Enabled := false; Timer10.Enabled := false; end; if Timer1.Enabled = False then //Если Зиига 1 вырублена зигуем =)) ShowMessage('\o 1 '); end; procedure TForm1.Timer2Timer(Sender: TObject); //Зига 2 begin z2 := Random(49); //Рандомим значение для зиги 2 ProgressBar2.Position := ProgressBar2.Position + z2; //Прибавляем к прогр бару рандом2 Gauge2.Progress := ProgressBar2.Position; //Гауг приравниваем к бару зиги if ProgressBar2.Position = 1000 then //Если прогресс бар зиги = 1000 то вырубаем работу зиг!!! begin Timer1.Enabled := false; Timer2.Enabled := false; Timer3.Enabled := false; Timer4.Enabled := false; Timer5.Enabled := false; Timer6.Enabled := false; Timer7.Enabled := false; Timer8.Enabled := false; Timer9.Enabled := false; Timer10.Enabled := false; end; if Timer2.Enabled = False then //Если Зиига 2 вырублена зигуем =)) ShowMessage('\o 2'); end; procedure TForm1.Timer3Timer(Sender: TObject); begin z3 := Random(49); //Рандомим значение для зиги 3 ProgressBar3.Position := ProgressBar3.Position + z3; //Прибавляем к прогр бару рандом3 Gauge3.Progress := ProgressBar3.Position; //Гауг приравниваем к бару зиги if ProgressBar3.Position = 1000 then //Если прогресс бар зиги = 1000 то вырубаем работу зиг!!! begin Timer1.Enabled := false; Timer2.Enabled := false; Timer3.Enabled := false; Timer4.Enabled := false; Timer5.Enabled := false; Timer6.Enabled := false; Timer7.Enabled := false; Timer8.Enabled := false; Timer9.Enabled := false; Timer10.Enabled := false; end; if Timer3.Enabled = False then //Если Зиига 3 вырублена зигуем =)) ShowMessage('\o 3'); end; procedure TForm1.Timer4Timer(Sender: TObject); begin z4 := Random(49); //Рандомим значение для зиги 4 ProgressBar4.Position := ProgressBar4.Position + z4; //Прибавляем к прогр бару рандом4 Gauge4.Progress := ProgressBar4.Position; //Гауг приравниваем к бару зиги if ProgressBar4.Position = 1000 then //Если прогресс бар зиги = 1000 то вырубаем работу зиг!!! begin Timer1.Enabled := false; Timer2.Enabled := false; Timer3.Enabled := false; Timer4.Enabled := false; Timer5.Enabled := false; Timer6.Enabled := false; Timer7.Enabled := false; Timer8.Enabled := false; Timer9.Enabled := false; Timer10.Enabled := false; end; if Timer4.Enabled = False then //Если Зиига 4 вырублена зигуем =)) ShowMessage('\o 4'); end; procedure TForm1.Timer5Timer(Sender: TObject); begin z5 := Random(49); //Рандомим значение для зиги 5 ProgressBar5.Position := ProgressBar5.Position + z5; //Прибавляем к прогр бару рандом5 Gauge5.Progress := ProgressBar5.Position; //Гауг приравниваем к бару зиги if ProgressBar5.Position = 1000 then //Если прогресс бар зиги = 1000 то вырубаем работу зиг!!! begin Timer1.Enabled := false; Timer2.Enabled := false; Timer3.Enabled := false; Timer4.Enabled := false; Timer5.Enabled := false; Timer6.Enabled := false; Timer7.Enabled := false; Timer8.Enabled := false; Timer9.Enabled := false; Timer10.Enabled := false; end; if Timer5.Enabled = False then //Если Зиига 5 вырублена зигуем =)) ShowMessage('\o 5'); end; procedure TForm1.Timer6Timer(Sender: TObject); begin z6 := Random(49); //Рандомим значение для зиги 6 ProgressBar6.Position := ProgressBar6.Position + z6; //Прибавляем к прогр бару рандом6 Gauge6.Progress := ProgressBar6.Position; //Гауг приравниваем к бару зиги if ProgressBar6.Position = 1000 then //Если прогресс бар зиги = 1000 то вырубаем работу зиг!!! begin Timer1.Enabled := false; Timer2.Enabled := false; Timer3.Enabled := false; Timer4.Enabled := false; Timer5.Enabled := false; Timer6.Enabled := false; Timer7.Enabled := false; Timer8.Enabled := false; Timer9.Enabled := false; Timer10.Enabled := false; end; if Timer6.Enabled = False then //Если Зиига 6 вырублена зигуем =)) ShowMessage('\o 6'); end; procedure TForm1.Timer7Timer(Sender: TObject); begin z7 := Random(49); //Рандомим значение для зиги 7 ProgressBar7.Position := ProgressBar7.Position + z7; //Прибавляем к прогр бару рандом7 Gauge7.Progress := ProgressBar7.Position; //Гауг приравниваем к бару зиги if ProgressBar7.Position = 1000 then //Если прогресс бар зиги = 1000 то вырубаем работу зиг!!! begin Timer1.Enabled := false; Timer2.Enabled := false; Timer3.Enabled := false; Timer4.Enabled := false; Timer5.Enabled := false; Timer6.Enabled := false; Timer7.Enabled := false; Timer8.Enabled := false; Timer9.Enabled := false; Timer10.Enabled := false; end; if Timer7.Enabled = False then //Если Зиига 7 вырублена зигуем =)) ShowMessage('\o 7'); end; procedure TForm1.Timer8Timer(Sender: TObject); begin z8 := Random(49); //Рандомим значение для зиги 8 ProgressBar8.Position := ProgressBar8.Position + z8; //Прибавляем к прогр бару рандом8 Gauge8.Progress := ProgressBar8.Position; //Гауг приравниваем к бару зиги if ProgressBar8.Position = 1000 then //Если прогресс бар зиги = 1000 то вырубаем работу зиг!!! begin Timer1.Enabled := false; Timer2.Enabled := false; Timer3.Enabled := false; Timer4.Enabled := false; Timer5.Enabled := false; Timer6.Enabled := false; Timer7.Enabled := false; Timer8.Enabled := false; Timer9.Enabled := false; Timer10.Enabled := false; end; if Timer8.Enabled = False then //Если Зиига 8 вырублена зигуем =)) ShowMessage('\o 8'); end; procedure TForm1.Timer9Timer(Sender: TObject); begin z9 := Random(49); //Рандомим значение для зиги 9 ProgressBar9.Position := ProgressBar9.Position + z9; //Прибавляем к прогр бару рандом9 Gauge9.Progress := ProgressBar9.Position; //Гауг приравниваем к бару зиги if ProgressBar9.Position = 1000 then //Если прогресс бар зиги = 1000 то вырубаем работу зиг!!! begin Timer1.Enabled := false; Timer2.Enabled := false; Timer3.Enabled := false; Timer4.Enabled := false; Timer5.Enabled := false; Timer6.Enabled := false; Timer7.Enabled := false; Timer8.Enabled := false; Timer9.Enabled := false; Timer10.Enabled := false; end; if Timer9.Enabled = False then //Если Зиига 9 вырублена зигуем =)) ShowMessage('\o 9'); end; procedure TForm1.Timer10Timer(Sender: TObject); begin z10 := Random(49); //Рандомим значение для зиги 10 ProgressBar10.Position := ProgressBar10.Position + z10; //Прибавляем к прогр бару рандом10 Gauge10.Progress := ProgressBar10.Position; //Гауг приравниваем к бару зиги if ProgressBar10.Position = 1000 then //Если прогресс бар зиги = 1000 то вырубаем работу зиг!!! begin Timer1.Enabled := false; Timer2.Enabled := false; Timer3.Enabled := false; Timer4.Enabled := false; Timer5.Enabled := false; Timer6.Enabled := false; Timer7.Enabled := false; Timer8.Enabled := false; Timer9.Enabled := false; Timer10.Enabled := false; end; if Timer10.Enabled = False then //Если Зиига 10 вырублена зигуем =)) ShowMessage('\o 10'); end; |
#2
|
||||
|
||||
![]() познакомься с таким понятием как массивы и организация циклов в delphi
|
#3
|
||||
|
||||
![]() Копец. а зачем столько таймеров?
Что за зига? Это чтоли? http://demotivation.me/images/20090628/rckvqusgopkb.jpg — Как тебя понимать? — Понимать меня не обязательно. Обязательно меня любить и кормить вовремя. На Delphi, увы, больше не программирую. Рекомендуемая литература по программированию |
#4
|
||||
|
||||
![]() А вот и я!
Ну вы и китаец, товарищ. Ну ты понел ^_^. |
#5
|
||||
|
||||
![]() Он уже и к нам добрался.
![]() Je venus de nulle part 55.026263 с.ш., 73.397636 в.д. |
#6
|
|||
|
|||
![]() как минимум создай единую процедурку
что-то типа Код:
OnOffTimers(state:boolean) begin Timer1.Enabled := state; Timer2.Enabled := state; Timer3.Enabled := state; Timer4.Enabled := state; Timer5.Enabled := state; Timer6.Enabled := state; Timer7.Enabled := state; Timer8.Enabled := state; Timer9.Enabled := state; Timer10.Enabled := state; end; |
Этот пользователь сказал Спасибо Snake22 за это полезное сообщение: | ||
RuSp (17.03.2013)
|
#7
|
|||
|
|||
![]() Спасибо за совет.
Код:
procedure TForm1.ComboBox1Change(Sender: TObject); begin OnOffTimers(False); PBP(0); GP(); Button1.Caption := 'GO!!'; n := StrToInt(ComboBox1.Text); if n = 2 then begin ProgressBar1.visible := true; Gauge1.Visible := True; Label1.Visible := True; ProgressBar2.visible := true; Gauge2.Visible := True; Label2.Visible := True; //Âûêë ProgressBar3.visible := false; Gauge3.Visible := false; Label3.Visible := false; ProgressBar4.visible := false; Gauge4.Visible := false; Label4.Visible := false; ProgressBar5.visible := false; Gauge5.Visible := false; Label5.Visible := false; ProgressBar6.visible := false; Gauge6.Visible := false; Label6.Visible := false; ProgressBar7.visible := false; Gauge7.Visible := false; Label7.Visible := false; ProgressBar8.visible := false; Gauge8.Visible := false; Label8.Visible := false; ProgressBar9.visible := false; Gauge9.Visible := false; Label9.Visible := false; ProgressBar10.visible := false; Gauge10.Visible := false; Label10.Visible := false; end; if n = 3 then begin ProgressBar1.visible := true; Gauge1.Visible := True; Label1.Visible := True; ProgressBar2.visible := true; Gauge2.Visible := True; Label2.Visible := True; ProgressBar3.visible := true; Gauge3.Visible := True; Label3.Visible := True; ProgressBar4.visible := false; Gauge4.Visible := false; Label4.Visible := false; ProgressBar5.visible := false; Gauge5.Visible := false; Label5.Visible := false; ProgressBar6.visible := false; Gauge6.Visible := false; Label6.Visible := false; ProgressBar7.visible := false; Gauge7.Visible := false; Label7.Visible := false; ProgressBar8.visible := false; Gauge8.Visible := false; Label8.Visible := false; ProgressBar9.visible := false; Gauge9.Visible := false; Label9.Visible := false; ProgressBar10.visible := false; Gauge10.Visible := false; Label10.Visible := false; end; if n = 4 then begin ProgressBar1.visible := true; Gauge1.Visible := True; Label1.Visible := True; ProgressBar2.visible := true; Gauge2.Visible := True; Label2.Visible := True; ProgressBar3.visible := true; Gauge3.Visible := True; Label3.Visible := True; ProgressBar4.visible := true; Gauge4.Visible := True; Label4.Visible := True; ProgressBar5.visible := false; Gauge5.Visible := false; Label5.Visible := false; ProgressBar6.visible := false; Gauge6.Visible := false; Label6.Visible := false; ProgressBar7.visible := false; Gauge7.Visible := false; Label7.Visible := false; ProgressBar8.visible := false; Gauge8.Visible := false; Label8.Visible := false; ProgressBar9.visible := false; Gauge9.Visible := false; Label9.Visible := false; ProgressBar10.visible := false; Gauge10.Visible := false; Label10.Visible := false; end; if n = 5 then begin ProgressBar1.visible := true; Gauge1.Visible := True; Label1.Visible := True; ProgressBar2.visible := true; Gauge2.Visible := True; Label2.Visible := True; ProgressBar3.visible := true; Gauge3.Visible := True; Label3.Visible := True; ProgressBar4.visible := true; Gauge4.Visible := True; Label4.Visible := True; ProgressBar5.visible := true; Gauge5.Visible := True; Label5.Visible := True; ProgressBar6.visible := false; Gauge6.Visible := false; Label6.Visible := false; ProgressBar7.visible := false; Gauge7.Visible := false; Label7.Visible := false; ProgressBar8.visible := false; Gauge8.Visible := false; Label8.Visible := false; ProgressBar9.visible := false; Gauge9.Visible := false; Label9.Visible := false; ProgressBar10.visible := false; Gauge10.Visible := false; Label10.Visible := false; end; if n = 6 then begin ProgressBar1.visible := true; Gauge1.Visible := True; Label1.Visible := True; ProgressBar2.visible := true; Gauge2.Visible := True; Label2.Visible := True; ProgressBar3.visible := true; Gauge3.Visible := True; Label3.Visible := True; ProgressBar4.visible := true; Gauge4.Visible := True; Label4.Visible := True; ProgressBar5.visible := true; Gauge5.Visible := True; Label5.Visible := True; ProgressBar6.visible := true; Gauge6.Visible := True; Label6.Visible := True; ProgressBar7.visible := false; Gauge7.Visible := false; Label7.Visible := false; ProgressBar8.visible := false; Gauge8.Visible := false; Label8.Visible := false; ProgressBar9.visible := false; Gauge9.Visible := false; Label9.Visible := false; ProgressBar10.visible := false; Gauge10.Visible := false; Label10.Visible := false; end; if n = 7 then begin ProgressBar1.visible := true; Gauge1.Visible := True; Label1.Visible := True; ProgressBar2.visible := true; Gauge2.Visible := True; Label2.Visible := True; ProgressBar3.visible := true; Gauge3.Visible := True; Label3.Visible := True; ProgressBar4.visible := true; Gauge4.Visible := True; Label4.Visible := True; ProgressBar5.visible := true; Gauge5.Visible := True; Label5.Visible := True; ProgressBar6.visible := true; Gauge6.Visible := True; Label6.Visible := True; ProgressBar7.visible := true; Gauge7.Visible := True; Label7.Visible := True; ProgressBar8.visible := false; Gauge8.Visible := false; Label8.Visible := false; ProgressBar9.visible := false; Gauge9.Visible := false; Label9.Visible := false; ProgressBar10.visible := false; Gauge10.Visible := false; Label10.Visible := false; end; if n = 8 then begin ProgressBar1.visible := true; Gauge1.Visible := True; Label1.Visible := True; ProgressBar2.visible := true; Gauge2.Visible := True; Label2.Visible := True; ProgressBar3.visible := true; Gauge3.Visible := True; Label3.Visible := True; ProgressBar4.visible := true; Gauge4.Visible := True; Label4.Visible := True; ProgressBar5.visible := true; Gauge5.Visible := True; Label5.Visible := True; ProgressBar6.visible := true; Gauge6.Visible := True; Label6.Visible := True; ProgressBar7.visible := true; Gauge7.Visible := True; Label7.Visible := True; ProgressBar8.visible := true; Gauge8.Visible := True; Label8.Visible := True; ProgressBar9.visible := false; Gauge9.Visible := false; Label9.Visible := false; ProgressBar10.visible := false; Gauge10.Visible := false; Label10.Visible := false; end; if n = 9 then begin ProgressBar1.visible := true; Gauge1.Visible := True; Label1.Visible := True; ProgressBar2.visible := true; Gauge2.Visible := True; Label2.Visible := True; ProgressBar3.visible := true; Gauge3.Visible := True; Label3.Visible := True; ProgressBar4.visible := true; Gauge4.Visible := True; Label4.Visible := True; ProgressBar5.visible := true; Gauge5.Visible := True; Label5.Visible := True; ProgressBar6.visible := true; Gauge6.Visible := True; Label6.Visible := True; ProgressBar7.visible := true; Gauge7.Visible := True; Label7.Visible := True; ProgressBar8.visible := true; Gauge8.Visible := True; Label8.Visible := True; ProgressBar9.visible := true; Gauge9.Visible := True; Label9.Visible := True; ProgressBar10.visible := false; Gauge10.Visible := false; Label10.Visible := false; end; if n = 10 then begin ProgressBar1.visible := true; Gauge1.Visible := True; Label1.Visible := True; ProgressBar2.visible := true; Gauge2.Visible := True; Label2.Visible := True; ProgressBar3.visible := true; Gauge3.Visible := True; Label3.Visible := True; ProgressBar4.visible := true; Gauge4.Visible := True; Label4.Visible := True; ProgressBar5.visible := true; Gauge5.Visible := True; Label5.Visible := True; ProgressBar6.visible := true; Gauge6.Visible := True; Label6.Visible := True; ProgressBar7.visible := true; Gauge7.Visible := True; Label7.Visible := True; ProgressBar8.visible := true; Gauge8.Visible := True; Label8.Visible := True; ProgressBar9.visible := true; Gauge9.Visible := True; Label9.Visible := True; ProgressBar10.visible := true; Gauge10.Visible := True; Label10.Visible := True; end; end; А с таким кодом, что посоветуете? |
#8
|
||||
|
||||
![]() Цитата:
— Как тебя понимать? — Понимать меня не обязательно. Обязательно меня любить и кормить вовремя. На Delphi, увы, больше не программирую. Рекомендуемая литература по программированию |
#9
|
||||
|
||||
![]() Цитата:
Код:
procedure TForm1.ComboBox1Change(Sender: TObject); begin OnOffTimers(False); PBP(0); GP(); Button1.Caption := 'GO!!'; n := StrToInt(ComboBox1.Text); ProgressBar1.Visible := n in [2,3,4,5,6,7,8,9,10]; Gauge1.Visible := n in [2,3,4,5,6,7,8,9,10]; Label1.Visible := n in [2,3,4,5,6,7,8,9,10]; ProgressBar2.Visible := n in [2,3,4,5,6,7,8,9,10]; Gauge2.Visible := n in [2,3,4,5,6,7,8,9,10]; Label2.Visible := n in [2,3,4,5,6,7,8,9,10]; //Auee ProgressBar3.Visible := n in [3,4,5,6,7,8,9,10]; Gauge3.Visible := n in [3,4,5,6,7,8,9,10]; Label3.Visible := n in [3,4,5,6,7,8,9,10]; ProgressBar4.Visible := n in [4,5,6,7,8,9,10]; Gauge4.Visible := n in [4,5,6,7,8,9,10]; Label4.Visible := n in [4,5,6,7,8,9,10]; ProgressBar5.Visible := n in [5,6,7,8,9,10]; Gauge5.Visible := n in [5,6,7,8,9,10]; Label5.Visible := n in [5,6,7,8,9,10]; ProgressBar6.Visible := n in [6,7,8,9,10]; Gauge6.Visible := n in [6,7,8,9,10]; Label6.Visible := n in [6,7,8,9,10]; ProgressBar7.Visible := n in [7,8,9,10]; Gauge7.Visible := n in [7,8,9,10]; Label7.Visible := n in [7,8,9,10]; ProgressBar8.Visible := n in [8,9,10]; Gauge8.Visible := n in [8,9,10]; Label8.Visible := n in [8,9,10]; ProgressBar9.Visible := n in [9,10]; Gauge9.Visible := n in [9,10]; Label9.Visible := n in [9,10]; ProgressBar10.Visible := n in [10]; Gauge10.Visible := n in [10]; Label10.Visible := n in [10]; end; 2й вариант: Код:
procedure TForm1.ComboBox1Change(Sender: TObject); var i : integer; c : TComponent; begin OnOffTimers(False); PBP(0); GP(); Button1.Caption := 'GO!!'; n := StrToInt(ComboBox1.Text); for i := 1 to 10 do begin c := FindComponent('Label'+IntToStr(i)); if c <> nil then TLabel(c).Visible := i <= n; c := FindComponent('ProgressBar'+IntToStr(i)); if c <> nil then TProgressBar(c).Visible := i <= n; c := FindComponent('Gauge'+IntToStr(i)); if c <> nil then TGauge(c).Visible := i <= n; end; end; Поживу - увижу, Доживу - узнаю, Выживу - учту. ![]() [P.S.]->Выражая благодарность за помощь - Вы получаете шанс на помощь в следующий раз
Последний раз редактировалось Yurk@, 17.03.2013 в 13:37. |
Этот пользователь сказал Спасибо Yurk@ за это полезное сообщение: | ||
RuSp (18.03.2013)
|
#10
|
|||
|
|||
![]() ![]() Последний раз редактировалось M.A.D.M.A.N., 18.03.2013 в 08:10. |