Şimdi yapmak istediğim çeşitli bantları seçerek bunlardan sırayla veri almak. Yani toplamda 4 tane bant var U,B,V,R bantları (yanlış anlaşılmasın sadece seri porttan veri geliyor yani tek port ama önündeki filtreler değişiyor) Bunlar için checkboxlar yaptım. Yani diyelim ki U ve B bandını seçtim, 1 saniye arayla önce U bandı için gelen veriyi, sonra 1 saniye bekleyip bu sefer B bandından alsın ve tekrar U bandına geri dönsün ve döngü böylece durdurulana kadar sürsün.
Hemen kaynak kodlarımı yolluyorum. Ben bu şekilde düşündüm ama aynı anda 4 veriyi birden okuyo. ben bunların arasında 1 saniye beklemesini istiyorum.
Kod: Tümünü seç
procedure TForm1.Timer1Timer(Sender: TObject);
var
Veri : String;
Form3 : TForm3;
begin
begin
if Fotometre2.Form3.U.Checked = True then
begin
Comport.ReadStr(Veri,1);
if Veri = '' then Veri := IntToStr(0);
Memo1.Lines.Add(DateToStr(Date)+' '+TimeToStr(Time)+ ' U '+ veri);
end;
if Fotometre2.Form3.B.Checked = True then
begin
Comport.ReadStr(Veri,1);
if Veri = '' then Veri := IntToStr(0);
Memo1.Lines.Add(DateToStr(Date)+' '+TimeToStr(Time)+ ' B '+ veri);
end;
if Fotometre2.Form3.V.Checked = True then
begin
Comport.ReadStr(Veri,1);
if Veri = '' then Veri := IntToStr(0);
Memo1.Lines.Add(DateToStr(Date)+' '+TimeToStr(Time)+ ' V '+ veri);
end;
if Fotometre2.Form3.R.Checked = True then
begin
Comport.ReadStr(Veri,1);
if Veri = '' then Veri := IntToStr(0);
Memo1.Lines.Add(DateToStr(Date)+' '+TimeToStr(Time)+ ' R '+ veri);
end;
end;
end;
