Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de
  CATIA V5 Programmierung
  List.add() zum Laufen kriegen

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
  
Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für CATIA & Co.
  
KISTERS 3DViewStation: Mit Modellbasiertem Design zum Modellbasierten Unternehmen , eine Pressemitteilung
Autor Thema:  List.add() zum Laufen kriegen (894 mal gelesen)
Escore1337
Mitglied


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

Beiträge: 4
Registriert: 27.03.2015

erstellt am: 27. Mrz. 2015 10: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

Hey, ich arbeite mit CATIA V5 R19 und habe mich ein wenig in Makros eingearbeitet (catvba). Nun hänge ich jedoch leider daran eine Liste zu erstellen.

Ich habs zuerst mit Collection versucht, jedoch ist es mir zu umständlich immer Werte aus der Collection löschen und wieder erstellen zu müssen um diese zu ändern. Weiters benötige ich eine Liste in einer Liste, was mit Collections scheinbar nicht möglich ist.

Also ich lese mir die Parameter der Parts aus (ich gehe rekursiv durch alle teile). In der oberen Liste sollen die Namen aller Teile stehen und in der unteren Liste (Der Liste in der oberen Liste) die jeweiligen Parameter.

Ich habe keinerlei Probleme die Werte auszulesen, nur die Liste macht mir zu schaffen.

Bsp.:

    Dim myList As List
    myList.Add(itemValue As AnyObject)      'Das in der Klammer ist das was intellisense mir sagt

Bitte helft mir herauszufinden wie man items hinzufügt und ausliest - danke!

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

bgrittmann
Moderator
Konstrukteur


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

Beiträge: 12054
Registriert: 30.11.2006

CATIA V5R19

erstellt am: 28. Mrz. 2015 09: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 Nur für Escore1337 10 Unities + Antwort hilfreich

Servus
Willkommen im Forum. Bitte Systeminfo ausfüllen.
Mit dem Objekt "List" hab ich noch nie gearbeitet.
ggf könntest du einen 2-Dimensonales Array nehmen, in das du den Namen des Parts und einen Array (oder Dictonary) mit den entsprechenden Parametern ablegst.
Wenn du in einer Collection einen einen Parameter ablegst (also nicht den Wert) kannst du auch den Wert nachträglich ändern.
Welche für dich dass richtige "Speicher-Objekt" ist, hängt von deiner Aufbage ab.

Gruß
Bernd

------------------
Warum einfach, wenn es auch kompliziert geht.

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

joehz
Mitglied
Freiberuflicher Konstrukteur


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

Beiträge: 1057
Registriert: 25.11.2006

Win7 Pro 64 + Ubuntu + Irix6.5.20
Dell Precision M6600 i7-2960XM 2.7GHz 16GB
NVidia Quadro M5010
Catia V5R19
VB6Pro.SP6/VBA 6.5.1053

erstellt am: 28. Mrz. 2015 23:33    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 Escore1337 10 Unities + Antwort hilfreich

Hallo Escore,

hast Du mal an UDTs gedacht?
Die kannst auch als VB-Record sehen.

Siehe auch hier:

http://ww3.cad.de/foren/ubb/Forum137/HTML/005656.shtml

Hope it helps,
Joe

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

Escore1337
Mitglied


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

Beiträge: 4
Registriert: 27.03.2015

erstellt am: 30. Mrz. 2015 08:08    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, erstmal Danke für eure Antworten! Folgendes Problem: "Compile Error: Only user-defined types defined in public object modules can be coerced to or from a variant or passed to late-bound functions".

Überhalb vom Sub steht bei mir:

Code:
Public Type myType
    strName As String
    intNummer As Integer
End Type

Dim myList
Dim myPart As myType


Und dann im Sub:

Code:
Redim myList(1) 'Initialize myList as Array
Redim myList(UBound(myList) - LBound(myList) + 1) 'Increase Array Size by 1
myPart.name = "abc"
myList(1) = myPart
Debug.Print myList(1).name

Ich hätte gerne alles in einem einzigen Txt File (Kein extra Class File). Was kann ich also machen um mehrere Parts meines Typs in einer Liste zu speichern, welche ich anschließend wieder auslesen kann um Sie nach Excel zu pasten?  Weiters die Frage, zeigt (wenn das mal klappt) nur ein Pointer auf myPart, also verliere ich die Werte in der Liste, wenn ich myPart ändere? Vielen Dank!

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

Escore1337
Mitglied


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

Beiträge: 4
Registriert: 27.03.2015

erstellt am: 30. Mrz. 2015 08:16    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

Hey Leute, ich hab's wie's aussieht direkt nach'm posten meiner letzten Antwort geschafft.

Code:
Dim myArr() As myType
Redim myArr(1)
myArr(1).name = "abc"
Debug.Print myArr(1).name

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)2025 CAD.de | Impressum | Datenschutz