Files |  Tutorials |  Articles |  Links |  Home |  Team |  Forum |  Wiki |  Impressum

Aktuelle Zeit: Fr Jul 18, 2025 05:43

Foren-Übersicht » Programmierung » Allgemein
Unbeantwortete Themen | Aktive Themen



Ein neues Thema erstellen Auf das Thema antworten  [ 4 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: Pointer???
BeitragVerfasst: Do Jun 24, 2004 06:00 
Offline
DGL Member
Benutzeravatar

Registriert: Di Dez 02, 2003 12:47
Beiträge: 300
Wohnort: Marburg
Ich würde gerne Variablen haben, die sich nicht mit Wertren eines Types sondern (Während der Laufzeit) mit einer "Adresse" auf eine Vorhandene Variable dieses Types belegen lassen.
(Hat das was mit Pointern zu tun (Function PTR(),ADDR()...)
Wenn ich dann auf diese Variable zugreife/ schreibe, soll immer automatisch auf die, in der Adresse enthaltene Variable zugegriffen werden.
Hab schon mit diversen Functionen rumprobiert aber naja...

_________________
Nothing, oh sweet nothing,
today we are doing nothing at all...
http://www.geo-progs.de


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do Jun 24, 2004 07:34 
Offline
DGL Member
Benutzeravatar

Registriert: Do Dez 05, 2002 10:35
Beiträge: 4234
Wohnort: Dortmund
Irgendwie verstehe ich die Problematik nicht ganz. Also das was genau vor hast. Bevor ich dir da jetzt irgendwas vom Pferd erzähle lasse ich es lieber. Wenn du noch mal beschreiben könntest was genau du vor hast, kann ich dir dann wahrscheinlich auch was dazu sagen.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do Jun 24, 2004 08:59 
Offline
DGL Member
Benutzeravatar

Registriert: Di Dez 02, 2003 12:47
Beiträge: 300
Wohnort: Marburg
Also:
Ich hab nen Typen zb TBsp,

Und deklariere:

var
a: "Adresse zu" TBsp;
b: TBsp;
c: array[1..3] of TBsp;

Dann belege ich z.b. mit einem Button:

a:="Adresse zu" b; bzw a:="Adresse zu" c[2];

Wenn ich dann belege:

a:=Bsp Wert;

Wobei dann nicht a sondern b bzw c[2] diesen Wert annimmt!

So könnte ich zb wenn ein Timer eine Variable überwacht und anzeigt wehrend das programm läuft die überwachte variable ohne grossen Aufwand wechseln. usw.
Aber vieleicht gibt es ja auch eine gleichwertige völlig andere Lösung dieses Problemms?

_________________
Nothing, oh sweet nothing,
today we are doing nothing at all...
http://www.geo-progs.de


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do Jun 24, 2004 09:21 
Offline
DGL Member
Benutzeravatar

Registriert: Do Dez 05, 2002 10:35
Beiträge: 4234
Wohnort: Dortmund
Ah. Jetzt habe ich es auch verstanden. ;-)

Wenn es sich bei TBsp um eine Klasse handelt, dann könntest du auf die Pointer verzichten, da Klassen generell nur Pointer sind.

Wenn es sich aber eher um ein Record handelt (wovon ich mal ausgehe), dann wüsste ich so spontan nicht, was man daran ändern könnte/sollte. Mir würden bestimmt noch komplexere oder schwierigere Lösungen einfallen aber die wären auch alle langsamer. ;-) So wie es ist ist es schon ziemlich genial gelöst.

Die Adresse einer Variable bekommst du entweder mit der Funktion Addr oder mit @Variable.

Um einen Wert zu schreiben solltest du die Variable noch dereferenzieren. Ist zwar nicht immer erforderlich bietet sich aber immer an um zu sehen, dass es sich dabei um einen Pointer handelt. Das geht mit Variable^ := Wert; Oder anders herum um den Wert auszulesen.

Mehr kann ich jetzt so dazu auch nicht sagen.


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 4 Beiträge ] 
Foren-Übersicht » Programmierung » Allgemein


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 4 Gäste


Du darfst keine neuen Themen in diesem Forum erstellen.
Du darfst keine Antworten zu Themen in diesem Forum erstellen.
Du darfst deine Beiträge in diesem Forum nicht ändern.
Du darfst deine Beiträge in diesem Forum nicht löschen.
Du darfst keine Dateianhänge in diesem Forum erstellen.

Suche nach:
Gehe zu:  
cron
  Powered by phpBB® Forum Software © phpBB Group
Deutsche Übersetzung durch phpBB.de
[ Time : 0.006s | 14 Queries | GZIP : On ]