Zitat:
Zunächst einmal braucht eine Function einen Rückgabewert:
Logisch!
Nur das ist keine function sondern eine procedure da hier nichts zurückgegeben wird.
gruss
okay habe ein paar andere prozeduren jetzt schon hinbekommen danke!
was mache ich jedoch bei dieser Prozedur falsch? Er zeigt mir an inkompatible Typen String und Integer
Ich will einen Temperaturwert aus einem Gerät lesen.
temp soll die Temperatur sein, die ich als Zahl dann sozusagen zurück bekomme...am Besten ja Float eigentlich?!
Delphi-Quellcode:
// --------------------Messwert auslesen----------------------------
function messwertLesen : integer;
var temp: integer;
begin
temp := StrToInt(SerialPortNG1.ReadNextClusterAsString);
SerialPortNG1.SendString(#$02 + ':FETC' +#$0A +#$03);
if WaitForAnswer(100) < 0 then
memoResult.Lines.Add('Error: No Answer on 4422')
else
memoResult.Lines.Add('Messwert : ' + IntToStr(temp));
result := IntToStr(temp);
end;
rufe die funktion folgendermaßen auf:
messwertLesen;
EDIT:
kennt jemand SerialNG? was steht denn eigentlich hinter dem ReadNextCluster? Er liest bei mir glaub ich die Antwort vom Gerät ab aber als String?! als Integer?? bzw was macht die Funktion genau und was steckt drin?!
Will die Antwort als Float wieder geben zum Beispiel: 25.5 Grad Celius halt. Wie finde ich jetzt heraus ob er mir überhaupt so eine Zahl liefert oder etwas ganz anderes? Mit dem Befehl Fetc? lese ich den Messwert des Geräts aus laut meines Handbuchs..