Mám takto definovanou proceduru:
procedure UkZpravuHodnotou(TextVOkne:string);
begin
ShowMessage(TextVOkne);
TextVOkne:='Parametr se během procedury změnil';
beep;
end;
a poté dále:
procedure TForm1.tlacitkoClick(Sender: TObject);
var param:string;
begin
param:='Prave byla zavolana ukazkova procedura';
UkZpravuHodnotou(param);
UkZpravuHodnotou(param);
end;
V této podobě se mi když pustím program otevřou dvě okna ve kterých bude stejný text:" Prave byla zavolana ukazkova procedura" ale není mi jasné proč když do deklarace procedury UkZpravuHodnotou přidám var takže to bude vypadat takto procedure UkZpravuHodnotou(var TextVOkne:string); tak se v prvním okně zobrazí : "Prave byla zavolana ukazkova procedura" ale proč se v tim druhym okně se zobrazí :"Parametr se během procedury změnil" nejsem žádný odborník ale když má napsáno v závorce co má zobrazit jak to že zobrazí něco jiného a nebo proč to jiné nezobrazí už první okno...byl by mi někdo schopný odpovědět??fakt už jsem toho jelen
Fórum › Delphi
Drobnost...jenom dotaz
to je podle toho jak parametr predaves...
jsou tri moznosti:
-neco(var s:string)
-neco(const s:string)
-neco(s: string)
-v prvnim to bude fungovat tak, ze kdyz neco v te procedure zmenis s tou promenou tak se to taky projevi na te promenne kterou jsi predaval...
-ve druhem prokladu ti nepujde (ani kompilator ti to nedovoli) vubec promenou menit... budes moct z ni cist..
- ve tretim priklade budes moct s promennou opet normalne pracovat, akorat zmeny se neprojevi do predavane promenne...
takze asi tak... doufam ze to chapes..
http://jan.skrasek.com – @hrachcz – webdeveloper
Zjistit počet nových příspěvků
Přidej příspěvek
Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!
Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku
×Vložení zdrojáku
×Vložení obrázku
×Vložení videa
Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
Uživatelé prohlížející si toto vlákno
Uživatelé on-line: 0 registrovaných, 33 hostů
Podobná vlákna
Visual Basic - Error jenom v některých verzích Office — založil Kateřina
Datareader nacte jenom prvni zaznam z databaze SQL — založil massic
"Mysql dotaz v dotaz" — založil Tomáš Sedlmajer