Eine lokale Variable heisst lokal, weil sie wirklich nur lokal zur Verfügung steht. Das heisst, du kannst von "aussen" nicht auf sie zugreifen. Was du aber machen kannst, ist der Prozedur eine Variable übergeben, mit welcher die Prozedur arbeiten und sogar verändern kann. Hier ein Beispiel:
Quelltext
1: 2: 3: 4: 5: 6: 7: 8:
| //Eine Prozedur, die eine Variable übernimmt und dann damit etwas anstellt (a ist zb eine globale Variable) procedure quadratflaeche(i: Integer); begin ShowMessage(IntToStr(i*i)); end;
//So würde die Funktion aufgerufen quadratflaeche(a); |
Mit der folgenden Prozedur kann man die übergebene Variable sogar verändern (a ist zb eine globale Variable):
Quelltext
1: 2: 3: 4: 5: 6: 7:
| procedure ZahlVeraendern(var i: Integer); begin i:=i*3; end;
//Aufgerufen wird sie gleich wie die vorige ZahlVeraendern(a); |
Ich hoffe, ich habe dir etwas neues und hilfreiches erklärt. Sonst postest du nochmals.