Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Übergabeparemeter "sparen" (https://www.delphipraxis.net/33666-uebergabeparemeter-sparen.html)

CReber 10. Nov 2004 21:45


Übergabeparemeter "sparen"
 
Ich sollte das hier nochmal poste (warum zum teufel auch immer :gruebel: )

Ist es möglich bei einem Übergebeparameter (Bsp: var Blabl:Int64) etwas vergleichbares wie nil einzugeben, um in der procedure eine Variable zu sparen?

Nikolas 10. Nov 2004 21:47

Re: Übergabeparemeter "sparen"
 
Du kannst mit overload zwei Versionen deiner Funktion erstellen also
Delphi-Quellcode:
foo(i,j: integer); Overload;
foo(i: integer); Overload;
Wenn du die Procedure dann in deinem Programm verwendest wird die passende Proceudre angewendet.

Luckie 10. Nov 2004 21:48

Re: Übergabeparemeter "sparen"
 
Zitat:

Zitat von hOnkibOnk
Ich sollte das hier nochmal poste (warum zum teufel auch immer :gruebel: )

War das: http://www.delphipraxis.net/internal...=265024#265024 nicht deutlich genug?

Zitat:

Ist es möglich bei einem Übergebeparameter (Bsp: var Blabl:Int64) etwas vergleichbares wie nil einzugeben, um in der procedure eine Variable zu sparen?
Nein, es sei denn es ist ein Pointer, dann kann man, wenn man den Parameter nicht braucht nil übergeben.

Nicodius 10. Nov 2004 21:55

Re: Übergabeparemeter "sparen"
 
das MUSST du mit overloads machen weil du sonst nen fehler bekommst(pointer)

CReber 10. Nov 2004 21:56

Re: Übergabeparemeter "sparen"
 
Dieses Nein hätte man jetzt nicht in den anderen Thread schreiben können? :))

Nicodius 10. Nov 2004 21:57

Re: Übergabeparemeter "sparen"
 
das sind halt die regeln hOnkibOnk ohne die wär das forum wahrscheinlich schon zusammengebrochen ;)

Christian Seehase 10. Nov 2004 22:35

Re: Übergabeparemeter "sparen"
 
Moin Christian,

irgendwie ist mir ein wenig der Sinn entgangen :gruebel:
Was hast Du denn eigentlich vor, bzw. wie sieht die aufwendige Version aus?

CReber 10. Nov 2004 22:43

Re: Übergabeparemeter "sparen"
 
Ne das wollte ich nur mal so wissen.

Wenn man z.B. GetVolumeInformation aufruft benötigt man zig Variablen zur Übergabe. Wenn ich aber meinetwegen NUR den FileSysName benötige könnte ich ja die restl. Parameter auf "nil" setzen. Das dass nur mit Pointer geht ist mir schon klar aber vlt. hätte es ja eine Alternative geben können.

Wehe jetzt sagt einer "Programmiere doch ne Procedure nur für FileSysName das spart Rechenarbeit ;)

jim_raynor 11. Nov 2004 06:24

Re: Übergabeparemeter "sparen"
 
Was heisst denn hier sparen? Wenn die Variable als Parameter definiert ist, dann wird sie auch immer mit übergeben und ist immer vorhanden. Was nun die Prozedur mit den Parametern macht ist ihr ganz alleine überlassen. Wenn nun nil das Kennzeichen ist, dass nichts damit gemacht werden soll (bzw. nicht befüllt werden soll) dann ist es einfach so. Bei Int64 könntest du zum Beispiel einfach 0 übergeben. Aber das hängt halt immer von der Prozedur ab, was sie mit dem Parameter macht. :gruebel:

Also so ganz verstehen wir hier nicht, was du damit erreichen willst :drunken:

Dax 11. Nov 2004 06:28

Re: Übergabeparemeter "sparen"
 
Meinst du so?
Delphi-Quellcode:
function foo(Param: Integer = 0): boolean;
Mit dieser Spielart kannst du die Funktion einfach ohne Parameter aufrufen, da der einzige Parameter schon einen Standardwert hat.


Alle Zeitangaben in WEZ +1. Es ist jetzt 07:50 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz