![]() |
Optionaler Parameter
Hi
Ich möchte gerne in einer Function einen Optionalen parameter übergeben Wie wird dieser deklariert? gruß |
Re: Optionaler Parameter
Dazu gibt es keine Kennzeichnung.
Diese Funktionalität bekommst Du nur wenn Du Objektmethoden überlädtst. Hilfe-> overload. Grüße Klaus |
Re: Optionaler Parameter
Zitat:
Danke gruß PUSCH ... Komm nicht ganz klar Das wäre meine VB Zeile!
Code:
Public Function AddWindow(ByVal hwnd As Long, Optional ByVal hWndParent As Long = 0) As Boolean
Delphi-Quellcode:
Das geht ja leider nicht.
function AddWindow(Handle: Integer; Optional hWndParent: Integer := 0): Boolean;
Kann man den Parameter nicht in einer anderen weise direkt als Defaultwert übergeben ?
Delphi-Quellcode:
gruß
Optional hWndParent: Integer := 0
|
Re: Optionaler Parameter
Hi,
alternativ kannst du auch folgendes machen:
Delphi-Quellcode:
Chris
procedure ProcWithOptParam(a, b, c: string; d: integer; e: string = 'default');
|
Re: Optionaler Parameter
Zitat:
Delphi-Quellcode:
...:cat:...
procedure MitOptionalenParams(NichtOptional: string; Optional: string = 'standardWert'; AuchOptional: Byte = 1);
|
Re: Optionaler Parameter
Zitat:
Delphi-Quellcode:
Danke.
function AddWindow(Handle: Integer; hWndParent: Integer = 0): Boolean;
gruß |
Re: Optionaler Parameter
Urgs. Naja, die 'richtige' Methode default Parameter zu übergeben ist eigentlich tatsächlich das überschreiben.
Will heissen Du machst eine Methode die diesen Parameter annimmt und eine weitere, die diesen Parameter nicht annimmt und die andere Methode mit ihren eigenen Argumenten plus dem vorbelegten Wert aufruft. Hat zum einen den Vorteil, dass Du die Standardbelegung bei Bedarf parametrisieren kannst und zum anderen ist das leichter Wartbar. Ist zwar eher ne Stilfrage, aber ich hab anfangs in C# auch Defaultparameter schmerzlich vermisst und inzwischen favorisiere ich die sauberere OOP-Lösung mit dem Überschreiben. |
Re: Optionaler Parameter
Zitat:
Brauche Input .. Nach Hause Telefonieren ;) gruß |
Re: Optionaler Parameter
Delphi-Quellcode:
function AddWindow(Handle: Integer; hWndParent: Integer): Boolean; overload;
function AddWindow(Handle: Integer; ): Boolean; overload; implementation function AddWindow(Handle: Integer; hWndParent: Integer): Boolean; begin // Programmcode... end; function AddWindow(Handle: Integer ): Boolean; begin AddWindow(Handle, 0); end; |
Re: Optionaler Parameter
Zitat:
Direkt von Anfang an richtig so wie es sein muss! gruß |
Re: Optionaler Parameter
Bei einer Zuweisund muß zwar ein := genommen werden, aber bei den DefaultParametern ist es wie mit den Konstanten ... also nur = :angel:
Und das Optional wird sozusagen schon durch das = ausgedrückt.
Delphi-Quellcode:
function AddWindow(Handle: Integer; hWndParent: Integer = 0): Boolean;
Wenn es möglich ist, dann kommt man eigentlich mit den DefaulParametern besser hin. Ersten wird so ein unnötiger Sprung erspart und man spart sich auch die Funktion zum Weiterleiten. Denn per OVERLOAD sähe es ja so aus:
Delphi-Quellcode:
[mist, ich lahme ente -.-'']
function AddWindow(Handle: Integer): Boolean; Overload;
function AddWindow(Handle: Integer; hWndParent: Integer): Boolean; Overload; implementation function AddWindow(Handle: Integer): Boolean; begin Result := AddWindow(Handle, 0); end; function AddWindow(Handle: Integer; hWndParent: Integer): Boolean; begin ... end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:25 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