Autor Beitrag
Teppichkleber
Hält's aus hier
Beiträge: 14

Win XP, Win 2000
D7 Prof
BeitragVerfasst: Mo 06.06.05 22:45 
Hallo zusammen,
ich habe mal wieder eine Frage.
Ich habe ein externes Gerät über die Serielle Schnittstelle mit dem PC verbunden.
Wenn ich dem Gerät nun ein bestimmtes Steuerzeichen sende(die möglichen Zeichen habe ich im array param gespeichert) , dann antwortet dieses mit einer definierten Datenläenge. (diese habe ich im Array param_laenge gespeichert). Das angeschlossene Gerät sendet mit einer Boudrate von 1200.
Mein Problem ist jetzt das sich die ausgelesenen Daten meist nur einem Feld meines arrays auslese befinden, weil alles so schnell abläuft.
Wass kann ich machen damit die erste forschleife erst um eins hochzählt, wenn die in dem array param_laenge festgelegte Datenmenge gespeichert wurde?


ausblenden Delphi-Quelltext
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:
const
  //Definieren der Parameter Zeichen
  param: array [1..18of char =
    ('!','"','#','$','%','&','''','(',')','*','+',',','P','Q','R','S','T','U');
// Definieren der Parameter Laenge
  param_laenge: array [1..18of integer = (2,2,2,2,2,2,2,2,3,1,1,2,1,3,2,1,2,1);

var
auslese: array [1..18]  of string;
I,II:integer;


  begin

for I := 18 downto 1 do

begin

 Serial1.TransmittText (param[I]);
 Auslese[i]:=serial1.ReceiveText;
end;

//Zweite For Schleife dient zur Kontrolle der ausgelesenen Werte
 for II:=18 downto 1 do
  begin
 with FindComponent('LabeledEdit' + IntToStr(II)) as TLabeledEdit do
      Text := Auslese[II];
   end;
 
end;


Vielen Dank für eure Tipps

Teppichkleber
retnyg
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 2754

SNES, GB, GBA, CPC, A500, 486/66, P4/3.0HT: NintendOS, AmigaOS, DoS
Delphi 5, Delphi 7
BeitragVerfasst: Mo 06.06.05 23:24 
du könntest eine while oder repeat schleife verwenden ^^

_________________
es gibt leute, die sind genetisch nicht zum programmieren geschaffen.
in der regel haben diese leute die regel...