Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Funktion / Prozedur mit vorgegebenen Parametern (https://www.delphipraxis.net/53083-funktion-prozedur-mit-vorgegebenen-parametern.html)

ManuMF 9. Sep 2005 19:19


Funktion / Prozedur mit vorgegebenen Parametern
 
Hallo,

was muss ich in einer Prozedur schreiben, damit ein Parameter nicht zwingend angegeben werden muss?
Im QuickInfo würde es dann z.B. so aussehen:
Code:
procedure Meldung(var Meldung : String; [Wirklich anzeigen : Boolean = false]);
Danke,
ManuMF

marabu 9. Sep 2005 19:24

Re: Funktion / Prozedur mit vorgegebenen Parametern
 
Hallo,

ist doch fast schon richtig:

Delphi-Quellcode:
procedure Meldung(var MeldungsText: String; WirklichAnzeigen: Boolean = false);
Grüße vom marabu

ManuMF 9. Sep 2005 19:59

Re: Funktion / Prozedur mit vorgegebenen Parametern
 
Tatsächlich!
Ich habe mich nur gewundert, weil im QuickInfo immer noch der 2. Parameter drinsteht als ob er notwendig wäre, während es z.B. bei anderen Prozeduren mit den []-Klammern drinsteht.

Beispiel, wie es funktioniert:
Code:
WirklichAnzeigen : Boolean
Beispiel, wenn es so wäre, wie ich es erwartet hätte:
Code:
[WirklichAnzeigen : Boolean = false]
Man kann das gut bei der Prozedur Inc sehen:
Code:
Procedure Inc(var X: Ordinal; [N: Integer])
Gruß,
ManuMF

alzaimar 9. Sep 2005 20:13

Re: Funktion / Prozedur mit vorgegebenen Parametern
 
Das mit den eckigen Klammern kommt -denke ich- aus der BNF. Dort stehen sie für optionale Bestandteile der beschreibenden Sprache. In der Syntax von Delphi hat das dann aber nichts zu suchen.

dizzy 9. Sep 2005 20:43

Re: Funktion / Prozedur mit vorgegebenen Parametern
 
Jopp, eckige Klammern bedeuten in der (E)BNF "Ein oder kein mal"-Vorkommen

ManuMF 9. Sep 2005 23:57

Re: Funktion / Prozedur mit vorgegebenen Parametern
 
Klar, dass die Klammern selbst nicht in der Funktion vorkommen.

Aber im QuickInfo scheinen sie eben optionales zu markieren.


Alle Zeitangaben in WEZ +1. Es ist jetzt 10:27 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 by Thomas Breitkreuz