Functionen und Proceduren in Delphi
Der Unterschied zwischen Functionen und Proceduren ist:
Das Functionen eine Rückgabewert liefern.
Das bedeutet z.b. Das die Function etwas berechnet und das Ergebnis zurück liefert.
Die Procedure liefert keinen Rückgabewert daher es ist nur ein Code der abgearbeitet wird.
Wie kann das nun ausschauen??
Hier mal eine Function:
function IstDateiVorhanden (Dateiname : String):Boolean;
begin
if FileExists(ExtractFilePath(Application.ExeName)+Dateiname) then
result:= true
else
result:= false;
end;
Nun die Erklärung zu o.a. function:
1 Zeile: Unsere function heißt IstDateiVorhanden.
Die function erwartet bei Aufrufe einen String.
Und sie liefert einen Rückgabewert vom Typ Boolean.
3 Zeile: FileExists : ist selbsterklärend – Prüft ob eine Datei vorhanden ist.
ExtractFilePath: Extrahiert den Pfad auf der Festplatte von der gewünschten Datei,
welche wir mit Application.ExeName übergeben.
Application.ExeName: Gibt den Namen unserer aktuellen erzeugen Exe an.
4 Zeile: result:= true; Das ist unser Rückgabewert vom Typ Boolean.
Und hier noch eine Procedure:
Procedure TesteDatei (Dateiname : String);
begin
if FileExists(ExtractFilePath(Application.ExeName)+Dateiname) then
showmessage(‘Datei vorhanden’);
else
showmessage(‘Datei nicht vorhanden’);
end;
Wie ruft man nun functionen und proceduren auf??
Einfach so:
procedure TForm1.Button1Click(Sender: TObject);
var Antwort: Boolean;
begin
Antwort:= IstDateiVorhanden(’Test.txt’); //Aufruf function liefert Wert für var Antwort
If Antwort = true then
Showmessage(’Datei exestiert’)
Else
Showmessage(‘Datei exestiert nicht’);
TesteDatei(’Test.txt’); //Aufrufe procedure
end;
Hoffe ich konnte hier so einigermaßen den Unterschied zwischen Proceduren und Functionen
erklären.
Wer mehr erfahren will geht am besten auf meine Seite:
<a href="http://members.chello.at/delphi-developer">Delphi-Developer</A>