| Autor | Beitrag | 
| navarro2010 
          Beiträge: 25
 Erhaltene Danke: 1
 
 
 
 
 | 
Verfasst: So 22.05.11 11:17 
 
Hallo,
 kann mir jemand den Unterschied zwischen Procedures und Functions erklären?
 Danke für eure HilfeModeriert von  Martok: Topic aus Multimedia / Grafik verschoben am So 22.05.2011 um 13:06 | 
|  | 
| jaenicke 
          Beiträge: 19326
 Erhaltene Danke: 1749
 
 W11 x64 (Chrome, Edge)
 Delphi 12 Pro, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
 
 | 
Verfasst: So 22.05.11 11:19 
 
Eine Prozedur bekommt ggf. Parameter, hat aber keinen Rückgabewert während eine Funktion einen Rückgabewert hat. Für diesen Beitrag haben gedankt: navarro2010
 | 
|  | 
| Regan 
          Beiträge: 2157
 Erhaltene Danke: 72
 
 
 Java (Eclipse), Python (Sublimetext 3)
 
 | 
Verfasst: So 22.05.11 11:21 
 Für diesen Beitrag haben gedankt: navarro2010
 | 
|  | 
| navarro2010  
          Beiträge: 25
 Erhaltene Danke: 1
 
 
 
 
 | 
Verfasst: So 22.05.11 11:47 
 
Danke, aber was bringt ein Rückgabewert überhaupt und welche Vorteile haben Functions gegenüber Procedures, bzw. wann ist es besser Functions anstatt Procedures anzuwenden? | 
|  | 
| Regan 
          Beiträge: 2157
 Erhaltene Danke: 72
 
 
 Java (Eclipse), Python (Sublimetext 3)
 
 | 
Verfasst: So 22.05.11 11:56 
 
	  |  navarro2010 hat folgendes geschrieben  : |  	  | Danke, aber was bringt ein Rückgabewert überhaupt | 
 Nehmen wir an, du hättest eine Funktion, die Integerzahlen in Strings umwandelt. Nennen wir diese Funktion einfach IntToStr . Dann würde die Funktion so aussehen:
 		                       Delphi-Quelltext 
 									| 1:2:
 3:
 4:
 5:
 
 | function IntToStr(i: Integer):Stringbegin
 
 result:=convertedString;
 end;
 |  Wenn du diese Funktion nun mehrere Male in deinem Programm brauchst, dann kannst du diese Konvertierung einfach dann immer aufrufen.
 Funktionen immer dann anwenden, wenn du einen Rückgabewert brauchst (z. B. bei Umwandlungen oder wenn du z. B. bestimmte Zeichen aus einem String rauswerfen möchtest oder eine komplizierte Formel ständig berechnest). Bei dem Rest dann Prozeduren   Für diesen Beitrag haben gedankt: navarro2010
 | 
|  | 
| beastofchaos 
          Beiträge: 247
 Erhaltene Danke: 4
 
 
 
 
 | 
Verfasst: So 22.05.11 12:00 
 Für diesen Beitrag haben gedankt: navarro2010
 | 
|  | 
| navarro2010  
          Beiträge: 25
 Erhaltene Danke: 1
 
 
 
 
 | 
Verfasst: So 22.05.11 13:27 
 
		                       Delphi-Quelltext 
 									| 1:2:
 3:
 4:
 
 | Function Add(a, b: Integer): Integer;begin
 result := a + b;
 end;
 |  Wie würde der komplette Quellcode dann aussehen und welche Elemente(Panel, Editfeld,...) müsste ich noch einfügen? | 
|  | 
| HenryHux 
          Beiträge: 542
 Erhaltene Danke: 33
 
 Windows 7 Premium
 Delphi XE, Eclipse
 
 | 
Verfasst: So 22.05.11 13:31 
 
Ich weiß nicht genau, was du jetzt vorhast aber angenommen du willst einem Label jetzt das Ergebnis geben dann schreibst du:
 		                       Delphi-Quelltext 
 									| 1:
 | label1.caption := inttostr(Add(1,2));					 |  Wenn du Werte aus einem Editfeld übernehmen willst kannst du auch schreiben
 		                       Delphi-Quelltext 
 									| 1:
 | label1.caption := inttostr(Add(strtoint(Edit1.text), strtoint(Edit2.text)));					 |  lg | 
|  | 
| Luckie Ehemaliges Mitglied
 Erhaltene Danke: 1
 
 
 
 
 | 
Verfasst: So 22.05.11 13:33 
 
Das ist der ganze Code und du brauchst auch keine weiteren Steuerelemente. Wozu auch, wird ja auf keine zugegriffen.
 Ich denke ein Grundlagentutorial oder Buch wäre ganz angebracht.
 | 
|  | 
| beastofchaos 
          Beiträge: 247
 Erhaltene Danke: 4
 
 
 
 
 | 
Verfasst: So 22.05.11 13:58 
 
Jep, ich hab mir auch alles per Buch und Ausprobieren beigebracht. Welche Delphi-Version hast du denn? | 
|  | 
| navarro2010  
          Beiträge: 25
 Erhaltene Danke: 1
 
 
 
 
 | 
Verfasst: So 22.05.11 14:20 
 | 
|  | 
| beastofchaos 
          Beiträge: 247
 Erhaltene Danke: 4
 
 
 
 
 | 
Verfasst: So 22.05.11 14:39 
 
Gut, ich auch    Ich denke, du weißt, wie man sich ein Formular macht, Edits und Buttons setzt. Also sollteste das gut damit üben können. die OnClick-Prozedur von dem Button könnte dann so solche Funktionen und Prozeduren benutzen, um im EditFenster iwas einzugeben. Also z.B. Edit1.Text := IntToStr(Sub(Add(5, 7), 3));  (Das Ergebnis sollte 9 sein - das prüfste und wenns niht so ist, schau dir den Quelltext durch oder frag   | 
|  |