Hot News:

Unser Angebot:

  Foren auf CAD.de (alle Foren)
  TM - Plant Simulation
  Tabelleninhalt aus Excel importieren & Format anpassen

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:  Tabelleninhalt aus Excel importieren & Format anpassen (1734 mal gelesen)
Joshy
Mitglied



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

Beiträge: 56
Registriert: 20.08.2003

System: eM-Workplace Version 6.0.6 (PC Version) und eM-Plant Version 7.0.8

erstellt am: 11. Mrz. 2005 16:25    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,

ich versuche gerade ein Materialflusssystem zu modellieren. Die Verbindungen zwischen den einzelnen Wegen habe ich in einer Exceltabelle definiert. Diese Tabelle möchte ich nun in eine Planttabelle importieren und dann über eine Methode automatisch die Kanten zwischen den einzelnen Wegabschnitten setzten lassen.

Dummerweise ist das Format meiner Planttabelle nach dem Datenimport aus Excel immer vom Typ String. Um es verwenden zu können benötige ich aber den Typ "Object". Wenn ich das Format (manuell) ändere, färbt sich meine Tabelle rot ein. Führe ich meine Methode aus, erhalte ich die Fehlermeldung "Typenkonflikt in Verbinden, Parameter 2: erwarte object". Schreibe ich die Daten von Hand in die Planttabelle (habe dabei das Format vorher auf Object geändert), dann funktioniert das ganze super. Hat jemand eine Idee, was ich falsch mache?

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

Joshy
Mitglied



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

Beiträge: 56
Registriert: 20.08.2003

System: eM-Workplace Version 6.0.6 (PC Version) und eM-Plant Version 7.0.8

erstellt am: 11. Mrz. 2005 16:42    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

So, die Sache hat sich gerade in Wohlgefallen aufgelöst.

Die Planttabelle mit den zu verbindenden Materialflussobjekten befand sich in einem anderen Netzwerk als die Materialflussobjekte. Damit scheint Plant nicht zu klar zu kommen. Ich habe die Tabelle jetzt in mein Hauptnetzwerk zu den Materialflussobjekten gelegt und jetzt funktioniert alles super.

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

Joshy
Mitglied



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

Beiträge: 56
Registriert: 20.08.2003

System: eM-Workplace Version 6.0.6 (PC Version) und eM-Plant Version 7.0.8

erstellt am: 11. Mrz. 2005 17: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

Ich hätte allerdings nocheinmal eine andere Frage. Gibt es eine Möglichkeit die so erzeugten Kanten am Ende des Simulationslaufes auch wieder zu vernichten? Den Befehl Weg.nfKante.vernichteObjekt habe ich schon gefunden, allerdings vernichtet dieser nur Kanten zwischen Wegen und keine Kante zwischen einem Weg und einer Einzelstation. Wie könnte ich eine Schleife programmieren, die mir automatisch für meine ca. 80 Wegabschnitte die Kanten wieder löscht?

Ich habe es schon mit der folgenden Methode probiert, aber leider funktioniert das noch nicht (Fehlermeldung: Ein VOID kann keine Methode vernichteObjekt empfangen)

is
        a: object;
i,j: integer;
do
j:= Wege.yDim;

for i:=1 to j loop
a:=Wege ["Weg", i];
a.nfKante.vernichteObjekt;
a.vgKante.vernichteObjekt;
next;

end;

Gruß
/Joshy

[Diese Nachricht wurde von Joshy am 11. Mrz. 2005 editiert.]

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


Ex-Mitglied

erstellt am: 11. Mrz. 2005 19:10    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat

Hi Joshy,

nun das ist so wie bei vielen anderen Systemen auch, wenn
kein Pfad angegeben wird, dann wird automatisch in der derzeitigen Umgebung gesucht (nach den Objekten)- in Deinem Fall im Netzwerk,  wo Deine Methode steht. Mit einer absoluten Pfadangabe können die Objekte von beliebigen Stellen aus aufgerufen werden.
Manchmal ist es günstiger die Objekte als strings (in Tabellen)
abzuspeichern und erst beim Zugriff per str_to_obj(pfad+objektname)
den entsprechenden Objekt-Pfad mit anzugeben.

Gruß

------------------
DER SIMULATOR  

[Diese Nachricht wurde von Simulator am 11. Mrz. 2005 editiert.]


Ex-Mitglied

erstellt am: 11. Mrz. 2005 19:41    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat

Hi Joshy,

auch hier gibt´s wieder viele Wege, die nach Rom führen.

mit
is
i :integer;
liste :list[object];
obj : object;
do

liste.create;
for i:=1 to current.anzahlobjekte loop
obj:=current.objekt(i);
if obj.klasse.name="Kante" then
liste.anhaengen(obj);  -- Kanten sammeln
end;
next;

repeat
liste.entnehmen(1).vernichteObjekt;
until liste.dim=0;

end;


Kannst Du alle Kanten sammeln und dann loeschen;


Wenn Du nur die Kanten loeschen willst, die in Deiner Wegetabelle stehen und Objekte sind, die mit Kanten verbunden werden können - also keine Methoden, Displays etc.,  so kannst Du folgendermassen vorgehen :


is
i,j :integer;
obj : object;
do
for i:=1 to wege.ydim loop

obj:=Wege ["Weg", i];

for j:=1 to obj.anzahlnf loop
obj.nfkante.vernichteobjekt;
next;

for j:=1 to obj.anzahlvg loop
obj.vgkante.vernichteobjekt;
next;
next;
end;


ich vermute mal, dass Du bei Deinem Schleifendurchlauf (N) die nfkante des Bausteins N die auch die vgkante des Bausteins N+1 ist gelöscht hast und diese Kante dann beim nächsten Schleifendurchlauf (N+1) nicht mehr gefunden wurde.

Man könnte durch eine Abfrage, ob das Kantenobjekt noch existiert
if obj.nfkante\=VOID then .... dies vorher überprüfen.

wie gesagt, es gibt viele Möglichkeiten, dies waren nur einige.


Gruß

------------------
DER SIMULATOR 

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