Entwickler-Ecke

Delphi Language (Object-Pascal) / CLX - Wie Wandel ich ascii in Dezimal


Bubba - Mo 03.09.07 08:45
Titel: Wie Wandel ich ascii in Dezimal
Hallo

Ich habe ein Problem mit dem Auslesen meines Datenloggers.Und zwar benutze ich die Komponente SerielNG und bin bisher so vorgegangen:

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:
procedure TForm2.rs232RxClusterEvent(Sender: TObject);
begin
case n of
1..255Begin
        string1:=string1+rs232.ReadNextClusterAsString;
        label9.Caption:=inttostr(n);

end;
256..510Begin
        string2:=string2+rs232.ReadNextClusterAsString;
        label13.Caption:=inttostr(n);

end;
511..765Begin
        string3:=string3+rs232.ReadNextClusterAsString;
        label14.Caption:=inttostr(n);

end;
766..1020Begin
        string4:=string4+rs232.ReadNextClusterAsString;
        label15.Caption:=inttostr(n);

end;
1021:  Begin
label16.Caption:='Speicher voll';
label16.Color:=clred;
end;
end;
n:=n+1
end;

Jetzt kann ich die 1020 Daten die zwischen 0 und 5 Volt liegen auch Auslesen aber sie sind halt ein String von ascii Zeichen.Ich würde jetzt gerne die Zeichen in eine Dezimalzahl umwandeln und in einem Array packen der die Werte dann in einem Koordinatensystem importiert.Vieleicht kann mir jemand sein Vorschlag sagen wie er mit der SerialNG komponente auslesen würde.Bin noch ein ziemlicher Anfänger.
Danke im Voraus!

Moderiert von user profile iconGausi: I- durch Delphi-Tags ersetzt


Jakob Schöttl - Mo 03.09.07 10:14

also, ich hoffe ich sage jetzt das richtige (ich kenne die Komponente nicht, und hab nicht den quelltext gelesen)

aber die Antwort auf deine Themen-Überschrift ist

Delphi-Quelltext
1:
i := ord(chr); //i: integer; chr: char; die Funktion ord gibt den ordinalen wert (=zahl) der variablen zurück.                    


Bubba - Mo 03.09.07 13:21

Danke Dir!

Genau das Ord() brauchte ich.