habe folgenden Code.
Code: Alles auswählen
procedure TForm1.Timer1Timer(Sender: TObject);
var i : Integer;
inB : Integer;
inW : String;
begin
Chart1BarSeries1.Clear; {Balkenlöschen}
Label2.Caption:='Messung gestartet';
Label2.Refresh;
SendByte (4);
SendByte (ord('0'));
SendByte (ord('0'));
SendByte (ord('0'));
SendByte (ord('0'));
SendByte (ord('s'));
SendByte (ord('r'));
SendByte (2);
SendByte (ord('f'));
SendByte (ord('e'));
SendByte (ord('t'));
SendByte (ord('c'));
SendByte (ord('?'));
SendByte (10);
SendByte (3);
ReadByte;
SendByte (4);
SendByte (ord('0'));
SendByte (ord('0'));
SendByte (ord('0'));
SendByte (ord('0'));
SendByte (ord('p'));
SendByte (ord('o'));
SendByte (5);
ReadByte;
inW:='';
i:=0;
repeat
inc(i);
inB:=ReadByte;
inW:=inW+chr(inB);
until (inB=13) or (i>20);
ReadByte;
ReadByte;
y_wert:=StrToFloat2(inW)*1000;
if RadioButton1.Checked=true then
begin
if (y_wert>0.1) and (n_wert<7) then {Schleife 6-Teil}
begin
inc(n_wert);
if n_wert=1 then EditR1.Text:= FormatFloat('0.0',y_wert);
if n_wert=2 then EditR2.Text:= FormatFloat('0.0',y_wert);
if n_wert=3 then EditR3.Text:= FormatFloat('0.0',y_wert);
if n_wert=4 then EditR4.Text:= FormatFloat('0.0',y_wert);
if n_wert=5 then EditR5.Text:= FormatFloat('0.0',y_wert);
if n_wert=6 then EditR6.Text:= FormatFloat('0.0',y_wert);
if n_wert=7 then EditRA.Text:= FormatFloat('0.0',y_wert);
end;
if n_wert<7 then Label2.Caption:='Messung: OK';
if n_wert=7 then Label2.Caption:='!!! FERTIG !!!';
end;
Nun möchte ich nicht immer die Taste drücken und habe einen Timer mit reingemacht. Der mir alle 0,7sec Werte liefert. Funktioniert auch gut.. ABER er trägt mir jeden gemessen Wert sofort in die Edits.
MEINE FRAGE: Ich habe herausgefunden das, das jeder 3te Wert erst brauchbar ist. Nun möchte ich eine Schleife die mir jeden 3ten Wert in die Edits schreibt.
Hoffe es ist nun verständlicher formuliert.
Gruß Foxi