Hallo,
ich habe in eine procedure variablen folgendermaßen deklariert: k[1] bis k[61]. Diese würde ich gern in einer anderen procedure mit aufgreifen.
Ist das möglich und wenn ja wie?
Variablen einer anderen Prozedur entnehmen
Re: Variablen einer anderen Prozedur entnehmen
Ist die Frage ernst gemeint, oder kommt gleich ein Werbelink in der Fusszeile hinterher?
Falls ernst gemient: Ein paar Pascal Grundlagen kann man z.B. hier lernen:
http://www.marcocantu.com/epascal/German/
Falls ernst gemient: Ein paar Pascal Grundlagen kann man z.B. hier lernen:
http://www.marcocantu.com/epascal/German/
Re: Variablen einer anderen Prozedur entnehmen
die frage ist wirklich ernst gemeint. ich möchte zufällig ein k[...] in einer anderen prozedur aufnehmen und weiß nicht wie, ich das k zufällig mache und es dann noch in eine andere procedure aufnehme
-
- Beiträge: 200
- Registriert: So 11. Jul 2010, 18:39
- OS, Lazarus, FPC: Linux
- CPU-Target: 64 Bit
- Wohnort: Wien
- Kontaktdaten:
Re: Variablen einer anderen Prozedur entnehmen
Gut, dann werde ich die Frage auch ernst bearbeiten: Nein, das geht nicht.
Es widerspricht der Pascal-Philosophie eklatant, einen innerhalb einer Prozedur deklarierten Bezeichner außerhalb des Bezeichners zu verwenden und ist daher verboten. Auch technisch ist das unsinnig, weil der Speicherplatz für Variablen auf dem Prozessorstapel liegt. Der Speicherplatz ist zur anderen Verwendung freigegeben, wenn das Programm außerhalb der Prozedur abläuft.
Wenn Du also Daten zwei Prozeduren zur Verfügung stellen willst, musst Du sie global deklarieren. Wenn Du die Daten außerhalb einer Unit geheim halten willst, ist der Implementationsabschnitt der richtige Ort für die Deklaration.
Es widerspricht der Pascal-Philosophie eklatant, einen innerhalb einer Prozedur deklarierten Bezeichner außerhalb des Bezeichners zu verwenden und ist daher verboten. Auch technisch ist das unsinnig, weil der Speicherplatz für Variablen auf dem Prozessorstapel liegt. Der Speicherplatz ist zur anderen Verwendung freigegeben, wenn das Programm außerhalb der Prozedur abläuft.
Wenn Du also Daten zwei Prozeduren zur Verfügung stellen willst, musst Du sie global deklarieren. Wenn Du die Daten außerhalb einer Unit geheim halten willst, ist der Implementationsabschnitt der richtige Ort für die Deklaration.
Ceterum censeo computatores per Pascal docendos esse.
Re: Variablen einer anderen Prozedur entnehmen
@JonasT: Besser ist es, Du erklärst etwas weitläufiger, was Du vorhast, dann kann man Dir auch einen brauchbaren Tip geben. Je nachdem, was Du eingentlich beabsichtigst, kann die Antwort auf Deine Frage lauten: Globale Variable, eine eigene Klasse, definiert als eine Variable einer Klasse, ein Record, ein Zeiger, ein Variablen-/ oder Konstantenparameter einer Procedure/Function oder oder oder...
Code: Alles auswählen
type
TLiveSelection = (lsMoney, lsChilds, lsTime);
TLive = Array[0..1] of TLiveSelection;