![]() |
procedure-Deklaration
Hallo!
Mir ist leider kein besserer Titel eingefallen, aber hier trotzdem meine Frage: Wo genau ist der Unterschied zwischen
Delphi-Quellcode:
und
procedure Machwas(Teststring:string);
Delphi-Quellcode:
Also zusammenfassend gesagt: Wozu ist dieses var gut?
procedure Machwas(var Teststring:string);
|
Re: procedure-Deklaration
Das var übergibt die Speicheradresse und überschreibt somit die variable im Speicher ==> WIrd im kompletten programm verändert.
Ohne Var wird eine Kopie angelegt und die Variable nur innerhalb der Prozedur/Funktion verändert. |
Re: procedure-Deklaration
:hi:
Wenn Du den Parameter mit Var übergibst, so ändert sich - falls du ihren Wert in der Funktion änderst, auch ihr wert aussrhalb der Funktion. F1 + Var mfg Tobias |
Re: procedure-Deklaration
Zitat:
Delphi-Quellcode:
procedure MachWas (var wert : integer);
begin wert := wert +5; end; procedure TForm1.Button1Click (sender : TObject); var mywert : Integer; begin mywert := 2; MachWas (mywert); Label1.Caption := IntToStr (mywert); end; |
Re: procedure-Deklaration
Also kann ich dann im gesamten Programm auf den String Teststring zugreifen, wenn ich das var davorschreibe?
[edit]...Ich hasse es, wenn ich zu langsam bin... :roll: [/edit] |
Re: procedure-Deklaration
ohne var ist es call by value, mit dem var ist es call by reference. angenommen, du hast eine procedure1, in der deklarierst du den string bla mit dem wert "blubb". du rufst in der procedure1 die procedure2 auf, die als parameter einen string erwartet (mit dem var davor). die procedure2 verändert den string bla auf "grün". nun ist auch in der procedure1 der wert von bla auf "grün" geändert worden. würdest du das var weglassen, würde nach dem ausführen der procedure2 der string bla immer noch "blubb" sein würde...
|
Re: procedure-Deklaration
Achso. OK, danke. :thuimb:
Das hab ich mich schon länger gefragt... |
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-2025 by Thomas Breitkreuz