Einzelnen Beitrag anzeigen

skaven

Registriert seit: 13. Okt 2004
87 Beiträge
 
#1

Array zuweisung falsch???

  Alt 22. Okt 2004, 15:42
Ist die array zuweiseung richtig?

Ich will die werte die mir die variable data gibt in ein fortlaufendes array geben, dabei die letzten zwei aktuellen werte miteinander vergleichen und wenn der unterschied <=10 ist soll die schleife beendet werden, aber irgendwie funktioniert das nicht, wieso?
Hab keine Ahnung mehr

Delphi-Quellcode:
///// Liest eine gewählte Datei ein und sendet die Daten per com 1 an das Endgerät /////

procedure TForm1.DateieinlesenClick(Sender: TObject);
var
   Liste : TStringList;
   i : Integer;
   data : string;
   x : integer;
   F: TextFile;
   filename : String;
   prdwerte : array of integer;
   differenzwert : integer;
   begin
  if OpenDialog1.Execute then { Dialog zum Dateiöffnen anzeigen }
  begin
    filename := OpenDialog1.FileName;
   try
  Liste := TStringList.Create;
  Liste.LoadFromFile(filename);
    for i := 0 to Liste.Count-1 do
      begin
      // ShowMessage(Liste[i]);
       apdcomport1.putstring(Liste[i]);
       apdcomport1.putstring(#13);
       repeat
        apdcomport1.putstring('prd');
        apdcomport1.putstring(#13);
        // repeat
         //until data = '-->';
         Setlength(prdwerte,length(prdwerte)+length(data));
        for x:=1 to Length(Data) do
        prdwerte[Length(prdwerte) - Length(Data)] := integer(Data[x]);
         //differenzwert := prdwerte[high(prdwerte)-1]-prdwerte[high(prdwerte)];
        until abs(x)<=10;
    end
   finally
  Liste.Free;
  end;
  end;
end;


///// Stellt den Antwortbefehl des Endgerätes auf einem Memo da /////

procedure TForm1.ApdComPort1TriggerAvail(CP: TObject; Count: Word);
var
  Data: String;
  I: Integer;
begin
     data := '';
    for I:= 0 to Count-1 do
     Data := data+ApdComPort1.GetChar;
  Memo1.text:= data;
  end;
  Mit Zitat antworten Zitat