Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  CATIA V5 Programmierung
  Verschluckte Zahlen!!!!

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:  Verschluckte Zahlen!!!! (392 mal gelesen)
MakroNovize
Mitglied
Konstrukteur, CAD-Admin


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

Beiträge: 60
Registriert: 20.07.2009

Windows XP SP3
CATIA V5 R18
Xeon 2x 3Ghz
3Gb RAM
NVIDIA Quadro FX 3450

erstellt am: 13. Aug. 2009 11: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


Bild1.JPG


Bild2.JPG


Data2BFWSort.txt

 
Ich habe hier (meiner Meinung nach) ein sehr skuriles Problem.

Ich entwickle ein Makro mit dem ich zuvor eingepflegte Daten aus einer Baugruppe auslese. diese werden dann sortiert und anschließend in Excel geschrieben. Das Makro entwickel ich im VBA Editor und das Ergebnis sieht aus wie in Bild1. Soweit funktioniert alles wunderbar. Wenn ich den gleichen Program Code aber in ein CATScript Makro einfüge sieht das Ergebnis aus wie in Bild2. Der rote Rahmen zeigt einmal die Zahl vorhanden (Bild1) und nicht vorhanden (Bild2) an. Da das Problem nur im CATScript auftaucht hab ich keine Chance einen debugger zu nutzen. Somit ist es für mich als Anfänger unmöglich den Grund zu finden.

Anmerkungen:
-die Zahlen wo das Problem auftauchen setzen sich aus den Zahlen der Spalte links daneben und einer laufenden Zahl zusammen
-das Problem taucht nur auf wenn die Zahlen, in der Spalte links daneben, unterschiedliche Anzahlen an Stellen aufweisen. Bsp. wenn alle Zahlen 3stellig sind funktionierts, wenn 1stellige und 3stellige vorhanden sind kanns funtkonieren, tut es aber nicht immer.

Ich hab kontrolliert ob es davon abhängig ist an welcher Position im Strukturbaum das Teil ist dessen Zahl verschluckt wir. Aber hab da keine Abhängigkeiten entdecken können.

Ich hab euch noch den Programmcode angehängt. Bitte nich wundern, bin noch Anfänger und das muss für euch Chaoss ohne Ende sein. Ausserdem sind Funktionen drin die mit absicht noch zu kommentaren gesetz sind.

Ich hoffe, dass mir irgendeiner nur annähernd einen Hinweis gebn kann!!!

Bin dankbar für wirklich jede Hilfe!!!!

------------------
Grüße

Christoph

*************************************************
Die Katia am Morgen, bringt dir reichlich Sorgen!

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

DanielFr.
Moderator
Manager


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

Beiträge: 2506
Registriert: 10.08.2005

HP Compaq 8710w, Intel Core Duo T7700, 2,40 Ghz, 3GB RAM, Windows XP Professionel @32bit, Quadro FX 1600M, CATIA V5 R19 SP3

erstellt am: 13. Aug. 2009 11: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 MakroNovize 10 Unities + Antwort hilfreich

Hallo,

ich habe gerade kein CATIA zur Hand und kann nichts testen ich könnte mir aber vorstellen das es an der Deklaration von Variablen liegt. CATvba deklariert mache Variablen scheinbar anders als ein CATScript.

Beispiel:
Ich deklariere ein Objekt in CATvba als "HybridBody" und übergebe einen Body an die Variable => Fehler weil falscher Typ (CATvba erwartet ein geometrisches Set)
Ich machen das selbe in CATScript => kein Laufzeitfehler aber das Objekt bleibt leer

Ich hätte aber einen ev. sogar einen schnelleren Vorschlag (falls der Fehler nicht gefunden wird weil er nicht reproduzierbar ist):
Wenn sich der Wert immer aus der Spalte links daneben und einer fortlaufenden Zahl zusammensetzt dann könntest du doch diese Spalte gleich in Excel füllen lassen und nicht die Variable von CATIA nach Excel mitschleppen. Du brauchst ja nur eine Abfrage ob der Wert in der linken Spalte schon mal existiert. Wenn ja dann ist der Index eins höher als der letzte wenn nein ist der Index 1 (bzw. wenn es nicht sortiert ist (soll heißen die Werte nicht nacheinander stehen) kannst du ja ein Array füllen und die uBound auslesen um den nächsten Index zu bekommen)

------------------
MFG Daniel

Die KATJA ist halt doch nur ne zickige Französin

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

MakroNovize
Mitglied
Konstrukteur, CAD-Admin


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

Beiträge: 60
Registriert: 20.07.2009

Windows XP SP3
CATIA V5 R18
Xeon 2x 3Ghz
3Gb RAM
NVIDIA Quadro FX 3450

erstellt am: 13. Aug. 2009 11:54    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

Hi Daniel,

danke schon mal für deine Mühen.

Das mit der Deklaration würd ich ausschließen. Meiner Meinung nach dürfte es dann ja gar nicht funktionieren. Ich habe es gerade einem Mitarbeiter zeigen wollen und da hat es in jeglicher Kombination funktionert. Ich dacht schon die Katja will mich verarschen und plötzlich hat wieder eine Zahl gefehlt.
Ich will das nicht im Excel machen. Ich muss das in ein BFW einpflegen. Das ist ein Excel Dokument, das voll von Makros und Zeugs ist. Ich will nur reinschreiben und sonst nix im Excel machen.
Wenn ich allerdings einmal eine Kombination habe bei der eine Zahl fehlt, dann fehlt sie auch wenn ich das Makro mehrfach laufen lass.

------------------
Grüße

Christoph

*************************************************
Die Katia am Morgen, bringt dir reichlich Sorgen!

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

DanielFr.
Moderator
Manager


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

Beiträge: 2506
Registriert: 10.08.2005

HP Compaq 8710w, Intel Core Duo T7700, 2,40 Ghz, 3GB RAM, Windows XP Professionel @32bit, Quadro FX 1600M, CATIA V5 R19 SP3

erstellt am: 13. Aug. 2009 12:35    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 MakroNovize 10 Unities + Antwort hilfreich

Hallo,

nein ich glaub du hast mich falsch verstanden. Du sollst kein neues Makro in Excel schreiben sondern das vorhandene Excel Objekt (aus deinem CATScript benutzen) um damit in Excel die Operation durchzuführen und nicht die schon fertigen zahlen mit dem CATscript erstellen und auf einmal übergeben.

Ein ähnliches Beispiel währe wenn du die Zahlen nach Excel übergibt und anschließend die Excel-Spaltenbreite mit dem CATScript änderst.

------------------
MFG Daniel

Die KATJA ist halt doch nur ne zickige Französin

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

MakroNovize
Mitglied
Konstrukteur, CAD-Admin


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

Beiträge: 60
Registriert: 20.07.2009

Windows XP SP3
CATIA V5 R18
Xeon 2x 3Ghz
3Gb RAM
NVIDIA Quadro FX 3450

erstellt am: 13. Aug. 2009 13:23    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

Nein, ich habe dich schon richtig verstanden. Nur sind in so nem Excel Dokument soviele Sachen hinterlegt, dass man keine Zellen verschieben darf und solche Sachen. Deswegen möchte ich alle Operationen aus Excel heraus lassen. Aber im Grunde verlangt deine Methode ja nur das lesen der vorherigen Zelle......    

Ich werde jetz noch ne etwas ausführlicherre Untersuchung starten. Wenn ich dann immer noch nicht weis woran es liegt dann versuch ich es mit deiner Variante.

Ich danke dir recht herzlich!!!

------------------
Grüße

Christoph

*************************************************
Die Katia am Morgen, bringt dir reichlich Sorgen!

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

DanielFr.
Moderator
Manager


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

Beiträge: 2506
Registriert: 10.08.2005

HP Compaq 8710w, Intel Core Duo T7700, 2,40 Ghz, 3GB RAM, Windows XP Professionel @32bit, Quadro FX 1600M, CATIA V5 R19 SP3

erstellt am: 13. Aug. 2009 13:56    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 MakroNovize 10 Unities + Antwort hilfreich

Hallo,

ja wie gesagt das war der Vorschlag wenn man du den Fehler nicht reproduzieren kannst. Ich denke auch es sollte kein Problem sein die vorherige Spalte auszulesen (ich mein ist ja ein eindeutig definierter Bereich  )

------------------
MFG Daniel

Die KATJA ist halt doch nur ne zickige Französin

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

MakroNovize
Mitglied
Konstrukteur, CAD-Admin


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

Beiträge: 60
Registriert: 20.07.2009

Windows XP SP3
CATIA V5 R18
Xeon 2x 3Ghz
3Gb RAM
NVIDIA Quadro FX 3450

erstellt am: 13. Aug. 2009 14:39    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 die Lösung des Problems!!!

Anfangs dacht ich es kommt durch den Sortier-Algorithmus den ich eingefügt habe. Dann hab ich gemerkt, dass der Fehler schon vorher auftrat. Also das ältere Programm durchsucht. Ich konnte es dann auf einen kleinen Bereich begrenzen. Da konnte aber kein Fehler auftreten außer, dass ein Wertevergleich nicht funktionieren könnte. Da lag das Problem. Ich hatte die Zahlen als String Parameter hinterlegt und da bestand dann wohl manchmal ein Problem die Werte zu vergleichen. Wenn ich die Zahlen als Integer hinterlege Funktioniert es einwandfrei.

   

------------------
Grüße

Christoph

*************************************************
Die Katia am Morgen, bringt dir reichlich Sorgen!

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

DanielFr.
Moderator
Manager


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

Beiträge: 2506
Registriert: 10.08.2005

HP Compaq 8710w, Intel Core Duo T7700, 2,40 Ghz, 3GB RAM, Windows XP Professionel @32bit, Quadro FX 1600M, CATIA V5 R19 SP3

erstellt am: 13. Aug. 2009 15:04    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 MakroNovize 10 Unities + Antwort hilfreich

Hallo,

und letzten Endes hatte es doch was mit der Deklaration der Variablen zu tun 

------------------
MFG Daniel

Die KATJA ist halt doch nur ne zickige Französin

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

MakroNovize
Mitglied
Konstrukteur, CAD-Admin


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

Beiträge: 60
Registriert: 20.07.2009

Windows XP SP3
CATIA V5 R18
Xeon 2x 3Ghz
3Gb RAM
NVIDIA Quadro FX 3450

erstellt am: 13. Aug. 2009 15:07    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

Stimmt und deswegen sollte man nie an den Weisen zweifeln 

Bitte verzeih mir oh Guru der Makros *verneig*

------------------
Grüße

Christoph

*************************************************
Die Katia am Morgen, bringt dir reichlich Sorgen!

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