AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Variablen in Prozeduren

Ein Thema von LoL · begonnen am 6. Okt 2004 · letzter Beitrag vom 6. Okt 2004
Antwort Antwort
LoL
(Gast)

n/a Beiträge
 
#1

Variablen in Prozeduren

  Alt 6. Okt 2004, 11:16
Hallo zusammen

Variablen die in eriner Prozedure deklariert sind werden und dann zb. geändert werden, sind beim nächsten aufruf der prozedur ja wieder weg. Aber kann ich diese auch irgendwie speichern oder muss ich die Variable dann Global machen?
  Mit Zitat antworten Zitat
Benutzerbild von alcaeus
alcaeus

Registriert seit: 11. Aug 2003
Ort: München
6.537 Beiträge
 
#2

Re: Variablen in Prozeduren

  Alt 6. Okt 2004, 11:19
Hi LOL,

du hast drei möglichkeiten:
1. globale Variablen
2. Variablenparameter
3. Rückgabewert der Funktion (aber nur evtl.)
Falls du aber globale Variablen brauchst, dann stimmt an deinem Programmkonzept was nicht. Membervariablen in der Formklasse sind ok, aber globale Variablen

Greetz
alcaeus
Andreas B.
Die Mutter der Dummen ist immer schwanger.
Ein Portal für Informatik-Studenten: www.infler.de
  Mit Zitat antworten Zitat
LoL
(Gast)

n/a Beiträge
 
#3

Re: Variablen in Prozeduren

  Alt 6. Okt 2004, 11:23
Beispiel:

Delphi-Quellcode:
procedure bla;
var i : byte;
begin
  inc(i);
end;
Nehmen wir an i würde in der procedure einmal irgendwo auf 0 initialisiert so ist i immer wieder 1. ich will das der wert aber gespeichert wird.
  Mit Zitat antworten Zitat
Benutzerbild von Treffnix
Treffnix

Registriert seit: 25. Jun 2003
Ort: AC
740 Beiträge
 
Delphi 7 Professional
 
#4

Re: Variablen in Prozeduren

  Alt 6. Okt 2004, 11:28
dann solltest du wirklich mit einem Objekt arbeiten und dort i z.B. als private variable deklarieren.
  Mit Zitat antworten Zitat
LoL
(Gast)

n/a Beiträge
 
#5

Re: Variablen in Prozeduren

  Alt 6. Okt 2004, 11:30
also lässt sich in der procedure selbst nichts daran drehen das zu speichern?
  Mit Zitat antworten Zitat
Benutzerbild von toms
toms
(CodeLib-Manager)

Registriert seit: 10. Jun 2002
4.648 Beiträge
 
Delphi XE Professional
 
#6

Re: Variablen in Prozeduren

  Alt 6. Okt 2004, 11:44
Hi,

Wenn du auf globale Variabeln verzichtest möchtest, könntest du auch Zuweisbare typisierte Konstanten
nehmen.

Bsp: Bei jedem klick auf den Button wird x um 1 erhöht.

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
 {$j+}
const
  x : Integer = 0;
 {$j-}
begin
  Caption := Inttostr(x);
  Inc(x);
end;

Bem: Diese Option dient der Abwärtskompatibilität zu Delphi 1.0.

| Die Direktive $J legt fest, ob typisierte Konstanten geändert werden
| können. Im Status {$J+} ist diese Änderung möglich. Typisierte
| Konstanten sind in diesem Fall mit initialisierten Variablen
| vergleichbar. Im Status {$J-} sind typisierte Konstanten tatsächlich
| konstant. Jeder Versuch, sie zu ändern, führt zu einer Fehlermeldung
| durch den Compiler. In früheren Versionen von Delphi und Borland
| Pascal konnten typisierte Konstanten immer geändert werden (wie im
| Status {$J+}). Deshalb muß älterer Quelltext, der änderbare
| typisierte Konstanten enthält, im Status {$J+} compiliert
| werden. Bei neuen Anwendungen sollten Sie aber initialisierte
| Variablen und den Status {$J-} verwenden.
Thomas
  Mit Zitat antworten Zitat
LoL
(Gast)

n/a Beiträge
 
#7

Re: Variablen in Prozeduren

  Alt 6. Okt 2004, 12:00
ok danke so werde ichs machen
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:29 Uhr.
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