![]() |
Ü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? |
Re: Übergabeparemeter "sparen"
Du kannst mit overload zwei Versionen deiner Funktion erstellen also
Delphi-Quellcode:
Wenn du die Procedure dann in deinem Programm verwendest wird die passende Proceudre angewendet.
foo(i,j: integer); Overload;
foo(i: integer); Overload; |
Re: Übergabeparemeter "sparen"
Zitat:
![]() Zitat:
|
Re: Übergabeparemeter "sparen"
das MUSST du mit overloads machen weil du sonst nen fehler bekommst(pointer)
|
Re: Übergabeparemeter "sparen"
Dieses Nein hätte man jetzt nicht in den anderen Thread schreiben können? :))
|
Re: Übergabeparemeter "sparen"
das sind halt die regeln hOnkibOnk ohne die wär das forum wahrscheinlich schon zusammengebrochen ;)
|
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? |
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 ;) |
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: |
Re: Übergabeparemeter "sparen"
Meinst du so?
Delphi-Quellcode:
Mit dieser Spielart kannst du die Funktion einfach ohne Parameter aufrufen, da der einzige Parameter schon einen Standardwert hat.
function foo(Param: Integer = 0): boolean;
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:52 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