Hot News:

Unser Angebot:

  Foren auf CAD.de (alle Foren)
  TM - Plant Simulation
  Benutzerdefinierte Attribute zur Laufzeit verarbeiten

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:  Benutzerdefinierte Attribute zur Laufzeit verarbeiten (1439 mal gelesen)
schafmoeoeoe
Mitglied


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

Beiträge: 5
Registriert: 02.03.2010

erstellt am: 03. Mrz. 2010 08:41    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

Ich erzeuge zur Laufzeit mittels einer Methode Attribute. Typ und Name der Attribute hole ich aus dem Index einer Tabelle. Ich weiß also nur zur Laufzeit des Modells wie die Attribute heißen und welchen Typ sie haben.

Code:

/*
Deklarationsbereich der BE-Attribute
Die Namen der Attribute dürfen keine Sonderzeichen enthalten
*/
for i := 1 to Auftraege_Attribute.indexXDim loop
@.erzeugeAttr(Auftraege_Attribute[i,0], Auftraege_Attribute.holeDatenTyp(i)); 
next;

in einem zweiten Schritt der Methode möchte ich Werte aus der Tabelle auslesen und in die Attribute schreiben. Hierfür muss ich jedoch die Attribute ansprechen. Versuchen tu ich das wie folgt:

Code:

    /*
Definitionsbereich der BE-Attribute
*/
while @.Auftrags_Nr /= Auftraege["Auftrags_Nr",Auftragsnummer_index] loop
if Auftraege["Ist_Menge",Auftragsnummer_index]<Auftraege["Soll_Menge",Auftragsnummer_index]
then
--Ist Menge der erzeugten BE´s wird um einen erhöht und in der Tabelle Auftraege_Attribute abgelegt
Ist_Menge_lokal:=Auftraege_Attribute["Ist_Menge",Auftragsnummer_index]+1;
Auftraege_Attribute["Ist_Menge",Auftragsnummer_index]:=Ist_Menge_lokal;

--Alle Attribute werden an BE übergeben
for i := 1 to Auftraege_Attribute.indexXDim loop
@.Auftraege_Attribute[i,0]:=Auftraege_Attribute[Auftraege_Attribute[i,0],Auftragsnummer_index];
next;

--Abbruch
exitloop
else
Auftragsnummer_index:=Auftragsnummer_index+1;
Ist_Menge_lokal:=0;
  end;
end;


Leider bekomme die Fehlermeldung: Unbekannter Name Auftraege_Attribute[i,0]
Nun würde ich gern wissen ob man mit dem @ Operator nur auf explizit die bekannten Attribute der BE zugreifen kann oder ob ich einen syntaxfehler mache und der name deshalb nicht ausgelesen wird. Mit einem
Code:
test:=Auftraege_Attribute[i,0]
wird der Name der Variablen korrekt zugewiesen - auslesen läßt es sich aber anscheinend nicht.

vielen Dank für eure Hilfe

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

planty
Mitglied
Dipl.-Ing.


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

Beiträge: 139
Registriert: 18.09.2006

erstellt am: 03. Mrz. 2010 12: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 schafmoeoeoe 10 Unities + Antwort hilfreich

Moin,

vielleicht suchst Du setzeAttrWert/setAttrValue?

Gruß
P.

------------------
Two hours of trial and error can save ten minutes of manual reading!

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

schafmoeoeoe
Mitglied


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

Beiträge: 5
Registriert: 02.03.2010

erstellt am: 03. Mrz. 2010 14: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

Ich habe nun schon mal einen Fehler gefunden.
Code:
setzeAttribut(Auftraege_Attribute[i,0],Auftraege_Attribute[Auftraege_Attribute[i,0],Auftragsnummer_index]);

ist auf jeden Fall schon mal richtiger als vorher

Code:
@.Auftraege_Attribute[i,0]:=Auftraege_Attribute[Auftraege_Attribute[i,0],Auftragsnummer_index];

dein Tip mit

Code:
setzeAttrWert
werde ich mir gleich auch mal ansehen - wenn ich die Hilfe da richtig versteh erwartet der Befehl ein integer um das Attribut zu identifizieren. Ich muss mir also gleich mal ansehen wie man dieses integer bestimmt.

[Diese Nachricht wurde von schafmoeoeoe am 03. Mrz. 2010 editiert.]

[Diese Nachricht wurde von schafmoeoeoe am 03. Mrz. 2010 editiert.]

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

planty
Mitglied
Dipl.-Ing.


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

Beiträge: 139
Registriert: 18.09.2006

erstellt am: 03. Mrz. 2010 16:01    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 schafmoeoeoe 10 Unities + Antwort hilfreich

holeAttrNr / getAttrNo

------------------
Two hours of trial and error can save ten minutes of manual reading!

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