Döngüde yaptırmak istediğimi kodlarla özetleyeyim
Kod: Tümünü seç
if (Fotometre5.Form6.CheckBox1.Checked = True) and (fotosira=1) then //ilk önce sırayla yaptırmak istediğim için ilk kutu seçiliyse fotosira 1 oluyor ve bu döngüden başlıyor
begin
count:= count+1;
if count = (StrToInt(Form6.Combobox21.Text)*x1[1])+1 then
begin
count:=0;
if Form6.CheckBox2.Checked Then //Belli bir sıra belirlemek için bunları koydum. Her seferinde bir sonrakine gidiyor böylece
begin
fotosira:=2;
exit;
end;
if Form6.CheckBox3.Checked Then
begin
fotosira:=3;
exit;
end;
if (Fotometre5.Form6.U1.Checked = True) and (siradaki[1]=1) then
begin
//burada yaptırmak istediklerimi yapıyorum
if Fotometre5.Form6.B1.Checked Then // çıkmadan önce döngüyü diğer aralığa yönlendiriyorum böylece bi sonraki döngüde bu begin end aralığını değil biraz daha aşağıdaki aralığı yapıyor.
begin
siradaki[1]:=2;
exit;
end;
end;
Şimdi döngü Çok farklılaştı, Bu A B C D işlerini 1, 2 ,3 ,4 için yaptırdığımızı düşünelim. Önce 1'in A'sı, 1'in B'si, 1'in C'si, 1'in D'si, sonra 2'nin A'sı, 2'nin B'si... diye devam ediyor. Ben bu döngüyü üşenmeden 20 sayı için yaptım kodlar 6000 satır tutuyor döngü yüzünden
En küçük bişey değiştirdiğimde kodlar allak bullak oluyor. Programın takibi zorlaştı. En kötüsü de Bazı yerlerde programı durdurmam veya A işi için bekletmem gerektiğinde döngü Timer içinde olduğu için döngü durmuyor da
Yukarıdaki kod programdaki kod olduğu için biraz karışık olmuş olabilir.
Basit hali şöyle
Kod: Tümünü seç
Timer Döngüsü
Begin
if A=selected and sira=1 then
begin
Yapılacaklar
if B=selected
begin
sira:=2;
exit;
end;
if C=selected
begin
sira:=3;
exit;
end;
if D=selected
begin
sira:=4;
exit;
end;
end;
ve sonraki döngü if B=Selected and sira=2 then