![]() |
variblen in einer anderen procedur verändern
Hallo leute , ich hab ein kleines problem : wie kann ich variablen deklarieren die ich zur laufzeit ändern kann und diesen neuen wert zur luafzeit auch wieder auslesen kann?
gruß an alle P.S: bin neu deswegen keine ahnung vom programieren |
Re: variblen in einer anderen procedur verändern
schlechte lösung: globale Variable
bessere Lösung: Var Parameter / Rückgabewert |
Re: variblen in einer anderen procedur verändern
Hi,
übergib deine Variable an die Procedur mit der Deklaration var. dann kannst du sie in der Procedure verändern und bekommst sie verändert wieder zurück.
Delphi-Quellcode:
Gruß oki
procedure VarReturne(var MyVar : Integer);
begin MyVar := MyVar + 2; end; |
Re: variblen in einer anderen procedur verändern
schon nicht schlecht aber nix für mein problem ich will die variable aus verschieden anderen prozeduren heraus bequem verändern und auh wieder aufrufen können.
|
Re: variblen in einer anderen procedur verändern
Dann bleibt dir ja nur eine globale Variable
|
Re: variblen in einer anderen procedur verändern
sonst geht nix nur globale variable oder den umweg über ne procedur?
|
Re: variblen in einer anderen procedur verändern
Eine lokale Variable hat ja nur einen Scope innerhalb der Prozedur/Funktion
|
Re: variblen in einer anderen procedur verändern
Hallo,
so eine variable musst du (unit/klassen)global deklarieren. Das heißt, die kommt als var in deine unit:
Delphi-Quellcode:
oder als member in eine klasse:
unit SomePascalStuff;
initialization var MyVar: TVar; implementation //beispielzugriff procedure InitVar; begin MyVar := TVar.Null; end;
Delphi-Quellcode:
Auch Delphi-Forms sind Klassen, du kannst sowas also auch z.B. unter "{Private-Deklarationen}" in deine Formklasse schreiben.
unit SomePascalStuff;
initialization type TMyClass = class public MyVar: TVar; procedure InitVar; end; implementation //beispielzugriff procedure TMyClass.InitVar; begin MyVar := TVar.Null; end; |
Re: variblen in einer anderen procedur verändern
Wenn du es im Rahmen eines Objektes tust wird sicher keiner die Nase rümpfen.
Delphi-Quellcode:
Wenn nicht objektorientiert ist dann global wie mkinzler sagt.
type
MyObject = class private FMyVar : Integer; protected procedure IncrementMyVar; procedure DecrementMyVar; end; procedure IncrementMyVar; begin Inc(FMyVar); end; procedure DecrementMyVar; begin Dec(FMyVar); end; Gruß oki edit: roter Kasten! grrrr! oder wie DGL_luke sagt |
Re: variblen in einer anderen procedur verändern
na dann mal herzlichen dank , ich probiers dann mal.
gruß Jim Balthasra |
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:45 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