Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   variblen in einer anderen procedur verändern (https://www.delphipraxis.net/91340-variblen-einer-anderen-procedur-veraendern.html)

Generaljim 3. Mai 2007 16:27


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

mkinzler 3. Mai 2007 16:29

Re: variblen in einer anderen procedur verändern
 
schlechte lösung: globale Variable
bessere Lösung: Var Parameter / Rückgabewert

oki 3. Mai 2007 16:31

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:
procedure VarReturne(var MyVar : Integer);
begin
  MyVar := MyVar + 2;
end;
Gruß oki

Generaljim 3. Mai 2007 16:34

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.

mkinzler 3. Mai 2007 16:35

Re: variblen in einer anderen procedur verändern
 
Dann bleibt dir ja nur eine globale Variable

Generaljim 3. Mai 2007 16:37

Re: variblen in einer anderen procedur verändern
 
sonst geht nix nur globale variable oder den umweg über ne procedur?

mkinzler 3. Mai 2007 16:38

Re: variblen in einer anderen procedur verändern
 
Eine lokale Variable hat ja nur einen Scope innerhalb der Prozedur/Funktion

DGL-luke 3. Mai 2007 16:39

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:
unit SomePascalStuff;

initialization

var
  MyVar: TVar;

implementation

//beispielzugriff
procedure InitVar;
begin
  MyVar := TVar.Null;
end;
oder als member in eine klasse:

Delphi-Quellcode:
unit SomePascalStuff;

initialization

type
  TMyClass = class
  public
    MyVar: TVar;

    procedure InitVar;
  end;

implementation

//beispielzugriff
procedure TMyClass.InitVar;
begin
  MyVar := TVar.Null;
end;
Auch Delphi-Forms sind Klassen, du kannst sowas also auch z.B. unter "{Private-Deklarationen}" in deine Formklasse schreiben.

oki 3. Mai 2007 16:39

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:
type
  MyObject = class
  private
    FMyVar : Integer;
  protected
    procedure IncrementMyVar;
    procedure DecrementMyVar;
  end;

procedure IncrementMyVar;
begin
  Inc(FMyVar);
end;

procedure DecrementMyVar;
begin
  Dec(FMyVar);
end;
Wenn nicht objektorientiert ist dann global wie mkinzler sagt.

Gruß oki

edit: roter Kasten! grrrr! oder wie DGL_luke sagt

Generaljim 3. Mai 2007 16:40

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 04:20 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz