Hot News:

Unser Angebot:

  Foren auf CAD.de (alle Foren)
  TM - Plant Simulation
  Zeiger auf Tabelle

Antwort erstellen  Neues Thema erstellen
CAD.de Login | Logout | Profil | Profil bearbeiten | Registrieren | Voreinstellungen | Hilfe | Suchen

Anzeige:

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen nächster neuer Beitrag | nächster älterer Beitrag
Autor Thema:  Zeiger auf Tabelle (1754 mal gelesen)
kleinUNDhilflos
Mitglied



Sehen Sie sich das Profil von kleinUNDhilflos an!   Senden Sie eine Private Message an kleinUNDhilflos  Schreiben Sie einen Gästebucheintrag für kleinUNDhilflos

Beiträge: 71
Registriert: 31.07.2007

erstellt am: 06. Dez. 2007 11:53    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo,

so wie ich das verstanden hab ist

Code:
is
  tmpTable:table;
do
...

so eine Variable vom Typ table nur ein Zeiger der standardmäßig auf VOID zeigt.

Das wenn ich da drin was speichern will erst

Code:
tmpTable.create;
machen muss erscheint dann ja auch alles sinnig.

Nun möchte ich aber die Variable als Zeiger benutzen:
ich hab eine Subtabelle und weise die nun meinem Zeiger zu:

Code:
tmpTable := Tabelle["0815",2][2,5]["test",4][1,1];

nun spuckt mir der Debugger ein Fehler aus: "Unbekannter Name setze"

wenn ich

Code:
tmpTable.setzeName("HalloWelt");

eingebe... ich glaube irgendwas ganz grundsätzliches hab ich da noch nicht verstanden....
weil
Code:
Tabelle["0815",2][2,5]["test",4][1,1].setzeName("HalloWelt");

ja funktioniert...


Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

pom
Mitglied
Dipl.-Ing. (FH)


Sehen Sie sich das Profil von pom an!   Senden Sie eine Private Message an pom  Schreiben Sie einen Gästebucheintrag für pom

Beiträge: 182
Registriert: 25.08.2006

erstellt am: 06. Dez. 2007 12:51    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für kleinUNDhilflos 10 Unities + Antwort hilfreich

So wie ich das verstanden habe erzeugst du eine temporäre Tabelle (eine Tabelle die nach einem reset gelöscht wird) und keinen Zeiger.

Dein Befehl
  tmpTable := Tabelle["0815",2][2,5]["test",4][1,1];
kopiert nur den Inhalt von Tabelle["0815",2][2,5]["test",4][1,1] in die temporäre Tabelle tmpTable.

Versuch mal

is
tmpTabele:Object;
do

end;

und lass tmptable.create; weg

Wenn ich falsch liege, Asche über mein Haupt   


MFG
Patrick

[Diese Nachricht wurde von pom am 06. Dez. 2007 editiert.]

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

kleinUNDhilflos
Mitglied



Sehen Sie sich das Profil von kleinUNDhilflos an!   Senden Sie eine Private Message an kleinUNDhilflos  Schreiben Sie einen Gästebucheintrag für kleinUNDhilflos

Beiträge: 71
Registriert: 31.07.2007

erstellt am: 06. Dez. 2007 15:03    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

hm... ich hatte das schon mal mit
Code:
tmpTable:Object;

versucht.... da hatte ich nen fehler... habs jetzt nochmal versuch..... klappt wunderbar...*kopfkratz*....DANKE   

[Diese Nachricht wurde von kleinUNDhilflos am 06. Dez. 2007 editiert.]

[Diese Nachricht wurde von kleinUNDhilflos am 06. Dez. 2007 editiert.]

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

kleinUNDhilflos
Mitglied



Sehen Sie sich das Profil von kleinUNDhilflos an!   Senden Sie eine Private Message an kleinUNDhilflos  Schreiben Sie einen Gästebucheintrag für kleinUNDhilflos

Beiträge: 71
Registriert: 31.07.2007

erstellt am: 06. Dez. 2007 15:14    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

HA!
nehm alles zurück 

klappt nicht!

man kann zwar eine object variable auf eine tabelle zeigen lassen - aber nicht auf eine subtabelle! 

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

pom
Mitglied
Dipl.-Ing. (FH)


Sehen Sie sich das Profil von pom an!   Senden Sie eine Private Message an pom  Schreiben Sie einen Gästebucheintrag für pom

Beiträge: 182
Registriert: 25.08.2006

erstellt am: 10. Dez. 2007 09:45    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für kleinUNDhilflos 10 Unities + Antwort hilfreich

Du bist aber sicher das du auch eine Subtabelle und keine Zelle im String Format ansprichst oder?
ICh hatte da auch nen bissel mit rum getest und ich bekomme die selbe Fehlermeldung wenn ich eine Zelle anspreche.

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

dst
Mitglied



Sehen Sie sich das Profil von dst an!   Senden Sie eine Private Message an dst  Schreiben Sie einen Gästebucheintrag für dst

Beiträge: 23
Registriert: 11.12.2007

PlantSimulation 8.1
PlantSimulation 9.0
PlantSimulation 10.0

erstellt am: 11. Dez. 2007 11:58    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für kleinUNDhilflos 10 Unities + Antwort hilfreich

So ganz verstehe ich Dein Problem nicht. Einer Objektvariablen kannst Du durchaus Subtabellen zuweisen und für Zugriffe auf die Tabelleninhalte verwenden.
Vermutlich hat pom Recht, dass Du versehentlich eine Zelle im Stringformat in der Subtabelle zuweisen wolltest.

dst

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

kleinUNDhilflos
Mitglied



Sehen Sie sich das Profil von kleinUNDhilflos an!   Senden Sie eine Private Message an kleinUNDhilflos  Schreiben Sie einen Gästebucheintrag für kleinUNDhilflos

Beiträge: 71
Registriert: 31.07.2007

erstellt am: 11. Dez. 2007 12:37    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities


subtableERROR.png

 
dann mach ich da offensichtlich was falsch (siehe Bild)

danke

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

dst
Mitglied



Sehen Sie sich das Profil von dst an!   Senden Sie eine Private Message an dst  Schreiben Sie einen Gästebucheintrag für dst

Beiträge: 23
Registriert: 11.12.2007

PlantSimulation 8.1
PlantSimulation 9.0
PlantSimulation 10.0

erstellt am: 11. Dez. 2007 13:57    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für kleinUNDhilflos 10 Unities + Antwort hilfreich


Beispiel_Tabelle.jpg

 
Sorry, jetzt hab ich mich unverständlich ausgedrückt. Variable ist vom Typ table. Ändere Deine Variable von object auf table, dann klappts (siehe Anhang)

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

kleinUNDhilflos
Mitglied



Sehen Sie sich das Profil von kleinUNDhilflos an!   Senden Sie eine Private Message an kleinUNDhilflos  Schreiben Sie einen Gästebucheintrag für kleinUNDhilflos

Beiträge: 71
Registriert: 31.07.2007

erstellt am: 11. Dez. 2007 14:11    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

was uns dann ja wieder zum Ausgangsproblem führt->

das .setzeName dann nicht funktioniert (siehe oben)

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

dst
Mitglied



Sehen Sie sich das Profil von dst an!   Senden Sie eine Private Message an dst  Schreiben Sie einen Gästebucheintrag für dst

Beiträge: 23
Registriert: 11.12.2007

PlantSimulation 8.1
PlantSimulation 9.0
PlantSimulation 10.0

erstellt am: 11. Dez. 2007 14:51    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für kleinUNDhilflos 10 Unities + Antwort hilfreich

hm, dann versuche mal folgendes:

bei der Zuweisung der Tabelle zur Variable (Typ table), gehe von der Verschachtelungstiefe der Subtabellen 1 "Hierarchiestufe" höher, z.B. so

is
local
    tZeiger : table;
do
tZeiger := Tabelle1[1,1]; -- anstatt Tabelle1[1,1][1,1] bei Sub-Subtabelle

Tabelle1[1,1][1,1].setzeName( "Name" ); -- direkter Zugriff
tZeiger[1,1].setzeName( "Name" ); -- Zugriff über Variable

end;

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Anzeige.:

Anzeige: (Infos zum Werbeplatz >>)

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen

nächster neuerer Beitrag | nächster älterer Beitrag
Antwort erstellen


Diesen Beitrag mit Lesezeichen versehen ... | Nach anderen Beiträgen suchen | CAD.de-Newsletter

Administrative Optionen: Beitrag schliessen | Archivieren/Bewegen | Beitrag melden!

Fragen und Anregungen: Kritik-Forum | Neues aus der Community: Community-Forum

(c)2023 CAD.de | Impressum | Datenschutz