Hot News:

Unser Angebot:

  Foren auf CAD.de (alle Foren)
  Inventor VBA
  List-Variable mit Text

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 Autodesk Produkte
Autor Thema:  List-Variable mit Text (975 mal gelesen)
FabianCAD
Mitglied
Technischer Systemplaner


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

Beiträge: 13
Registriert: 24.10.2017

Inventor Professional 2015
AutoCAD Mechanical 2015/17
NVIDIA Quadro 2000

erstellt am: 08. Nov. 2017 11: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

Hallo,

oCompDef.ModelGeometryVersion definiert ein Bauteil ("{711400EF-78F2-B302-8D5F-7ADC43228CA0}" String)
oPartNumProperty.Value nimmt die Bauteilnummer aus den iProperties
oDescripProperty.Value nimmt die Beschreibung aus den iProperties

Code:
Dim o_list_part() As String
                o_list_part(oCompDef.ModelGeometryVersion, 1) = oPartNumProperty.Value
                o_list_part(oCompDef.ModelGeometryVersion, 2) = oDescripProperty.Value
               

Main Ziel ist es, eine "Listen-Variable" zu erstellen, die einmal die Bauteil-ID ("{711400EF-78F2-B302-8D5F-7ADC43228CA0}" String) speichert, dazu eine Zahl (1 oder 2...) und als Wert z.B. eine iPropertie-Eigenschaft (oDescripProperty.Value). Am Ende sollen dann alle Variablen durchgegangen werden und es soll eine Debug-Message ausgegeben werden, die "oCompDef.ModelGeometryVersion" + "Zahl" + "oPartNumProperty.Value" anzeigt.

Ich weiß selbst nicht, wie ichs besser beschreiben soll  . Im Grunde besteht mein Problem darin, eine Variable zu erstellen, die solchen Aufbau besitzt.

Mit freundlichen Grüßen Fabian Oswald

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

KraBBy
Mitglied
Maschinenbau-Ingenieur


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

Beiträge: 601
Registriert: 19.09.2007

Inventor Professional 2020
WinX

erstellt am: 08. Nov. 2017 13:55    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 FabianCAD 10 Unities + Antwort hilfreich

liegt das Problem an der Definition/Umgang mit einem Array?
Evtl. hilfreiche Stichpunkte

dim myArray() as ...
erstellt ein variables Datenfeld

redim myArray(3)
Ändert die Größe auf 4(!) Einträge, dabei gehen ggf. gespeicherte Inhalte verloren. (mit "Option Base" liese sich der niedrigste Index auch verändern)

redim preserve myArray(3)
bei Vergrößerung des Arrays, Preserve behält die bisherigen Einträge

myArray(2) = "Text an Index 2 schreiben"
myString = myArray(2) 'Text von Index 2 lesen

Welcher Inhalt dann an welcher Stelle vom Array steht, wird ja von Dir festgelegt. Du musst dann wissen, wie Du die einzelnen Elemente für Deine Meldung zusammensetzt.

Man könnte auch eine benutzerdefinierten Datentyp erstellen. Hätte den Vorteil, dass man unterschiedliche Datentypen vereinen könnte (z.b. einige Eigenschaften sind Strings, andere Integer ...) -> Type Anweisung

Type myVarType
    version As String
    Int1 As Integer
    Str As String
End Type
Sub Test_myVar
    Dim myVar As myVarType
    myVar.version = "String der Eigenschaft Version"
    myVar.Int1 = 6
    myVar.Str = "noch ein Text"   
    MsgBox myVar.version & vbCrLf & myVar.Int1 & vbCrLf & myVar.Str
End Sub

------------------
Gruß KraBBy

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

Tacker
Mitglied
TZ, Tech. MB, Softwareentwickler


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

Beiträge: 175
Registriert: 23.09.2010

IV 2017 Pro
i7-7700K 4x4.2GHz
32GB DDR4-2400
GTX 1060 6GB DDR5

erstellt am: 10. Nov. 2017 08: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 FabianCAD 10 Unities + Antwort hilfreich

Guten Morgen,

Als Ergänzung zu KraBBy:

Du könntest auch eine eigene Klasse erstellen.
Ist umfangreicher als einen Type zu erstellen, Vorteil wäre aber, dass innerhalb der Klasse auch Arbeit verrichtet werden kann (und auch sollte sonst macht der Aufwand keinen Sinn).

Beispielsweise dass bestimmte Werte überprüft werden sobald sie an die Klasse übergeben werden, oder wie in deinem Fall, dass sobald die Klasse komplett gefüllt wurde, die Debug-Message erzeugt wird.

MFG

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