AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi wie erstelle ich eine function mit aufruf & deklaration
Thema durchsuchen
Ansicht
Themen-Optionen

wie erstelle ich eine function mit aufruf & deklaration

Ein Thema von sneumann · begonnen am 11. Okt 2011 · letzter Beitrag vom 11. Okt 2011
Antwort Antwort
EWeiss
(Gast)

n/a Beiträge
 
#1

AW: wie erstelle ich eine function mit aufruf & deklaration

  Alt 11. Okt 2011, 09:30
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
  Mit Zitat antworten Zitat
sneumann
(Gast)

n/a Beiträge
 
#2

AW: wie erstelle ich eine function mit aufruf & deklaration

  Alt 11. Okt 2011, 11:34
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..

Geändert von sneumann (11. Okt 2011 um 11:43 Uhr)
  Mit Zitat antworten Zitat
hathor
(Gast)

n/a Beiträge
 
#3

AW: wie erstelle ich eine function mit aufruf & deklaration

  Alt 11. Okt 2011, 11:44
Von GRUNDLAGENKENNTNISSEN bist Du weit entfernt!

Willst Du die GRUNDLAGENKENNTNISSE wirklich hier im "Trial and Error"-Verfahren erwerben?

- Du wirfst Funktionen und Prozeduren wild durcheinander
- einen String kannst Du nicht einer Integer-Variablen zuordnen
- wenn Du eine Funktion aufrufst, musst Du auch das Ergebnis zuordnen
- das letzte IntToStr(temp) ist auch falsch

Geändert von hathor (11. Okt 2011 um 11:48 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Nersgatt
Nersgatt

Registriert seit: 12. Sep 2008
Ort: Emlichheim
693 Beiträge
 
Delphi 10.1 Berlin Professional
 
#4

AW: wie erstelle ich eine function mit aufruf & deklaration

  Alt 11. Okt 2011, 11:47
Ist müßig, auf Grundlagenkenntnisse hinzuweisen. Denn diese Hinweise ignoriert er schon seit Tagen. Auch im DF sind ihm mehrfach die allseits bekannten Grundlagentutorials ans Herz gelegt worden. Zeitverschwendung.
Jens
  Mit Zitat antworten Zitat
hathor
(Gast)

n/a Beiträge
 
#5

AW: wie erstelle ich eine function mit aufruf & deklaration

  Alt 11. Okt 2011, 12:03
Diese Funktionen in #6 und #8 werden wahrscheinlich nicht funktionieren:

- erst muss man die Daten anfordern
- warten
- dann muss man sie auf Plausibilität prüfen (z.B. Stringlänge, welche Zeichen dürfen enthalten sein, wenn negativ: neu anfordern
- dann evtl. umwandeln in ein anderes Format
  Mit Zitat antworten Zitat
Benutzerbild von Union
Union

Registriert seit: 18. Mär 2004
Ort: Luxembourg
3.492 Beiträge
 
Delphi 7 Enterprise
 
#6

AW: wie erstelle ich eine function mit aufruf & deklaration

  Alt 11. Okt 2011, 11:45
Delphi-Quellcode:
function messwertLesen : double;
begin
  // Wie sehen die Stringdaten genau aus?
  result := StrToFloat(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(Format('Messwert : %f', [result]));
end;
Aber die ursprüngliche Logik sieht mir schon seltsam aus. Das Senden von FETCH sollte ja wahrscheinlich einen Messwert anfordern, der muss erst noch empfangen werden. Mach Dir mal ein Ablaufdiagramm, das setzt Du in Kommentare um und dann schreibst Du den Source dazu.
Ibi fas ubi proxima merces
sudo /Developer/Library/uninstall-devtools --mode=all
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:48 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz