Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  SolidWorks
  API Fragen

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 SOLIDWORKS
  
SPS
Autor Thema:  API Fragen (922 mal gelesen)
KeepCat
Mitglied
CAE-Admin


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

Beiträge: 82
Registriert: 01.06.2004

erstellt am: 09. Feb. 2005 09:52    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

Moin moin SWXSolidWorks-Gemeinde

hab da mal ein paar Fragen zu der VB-Programmierung mit SWXSolidWorks.

OK, ok, vorab schon mal, es handelt sich eher um die Programmierung ansich, als um SWXSolidWorks, aber indirekt hat es ja damit zu tun:

Frage 01: Was bedeutet das "public enum" ? Wozu wird das benötigt? Reicht es nicht aus, die Konstanten mittels "const" zu definieren?
Frage 02: In der API-Hilfe gibt es ein klasse Beispiel, zum TIFF-Erstellen (=Save Document As TIFF Example (VB)). Bei der Analyse der einzelnen Befehle, frag ich mich, was die Zuordnung "&H1" bedeutet (siehe bei: swSaveAsOptions_Silent).
Frage 03: In dem TIFF-Beispiel werden diversen Konstanten Zahlen zugewiesen (siehe bei: swTiffPrintDPI). Gibt es dazu eine Dokumentation, welche Werte, was bedeuten?

Bin natürlich froh, das dieses Beispiel klasse funzt, aber möchte ich auch verstehen, was da passiert und warum.
Hoffentlich kann mir eine helfen und Rat geben, oder ggf. sagen, wo ich meine Fragen beantwortet bekomme.

Danke euch allen im voraus
Gruß Thomas

------------------
Jeder ist zu etwas nütze,
er kann immer noch als schlechtes Beispiel dienen

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

StefanBerlitz
Guter-Geist-Moderator
IT Admin (CAx)



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

Beiträge: 8756
Registriert: 02.03.2000

SunZu sagt:
Analysiere die Vorteile, die
du aus meinem Ratschlag ziehst.
Dann gliedere deine Kräfte
entsprechend und mache dir
außergewöhnliche Taktiken zunutze.

erstellt am: 09. Feb. 2005 10:53    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 KeepCat 10 Unities + Antwort hilfreich

Hallo Thomas,

gute Fragen, auf die sicher jeder in seiner "Programmiererlaufbahn" mal trifft. 

zu 1: unter Public Enum versteht masn eine öffentliche (public) Auslistung (enumeration). Diese Aufzählungen können dann im Code verwendet werden um eine Gruppe von Konstanten durchzureichen. Für einzelne Konstanten kannst du genauso gut Public Const schreiben

zu 2: das &H davor bedeutet, das die Zahl als HEX-Zahl angegeben wird. &H1 bedeutet dasselbe wie einfach nur 1, aber gerade bei der bit-verschlöüsselten werten aus diesem Beispiel ist es einfacher, die als HEX anzugeben (also z.B. &H40 für swFileSaveWithRebuildError )

zu 3: in der API Hilfe stehen die Zuordnungen der Konstante zu ihren Werten, aber eine Doku, was wofür ist gibt es AFAIK nicht. Da muss man sich schon auf die Namen verlassen, die allerdings sehr gut beschreiben, welche Option oder Wert da gemeint ist.

Ciao,
Stefan

------------------
Inoffizielle deutsche SolidWorks Hilfeseite
http://solidworks.cad.de

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

KeepCat
Mitglied
CAE-Admin


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

Beiträge: 82
Registriert: 01.06.2004

erstellt am: 09. Feb. 2005 11: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

Danke Stefan

bin nun etwas schlauer, aber ich bin ehrlich:
Ich weiß nun was was ist, aber komme auch nur zu dem Entschluß:
... es ist eben so und gut ist ...
Dennoch, danke für deine Bemühungen.

Eine klitzekleine Frage zu 1:
Wie soll ich dein Zitat verstehen :

Zitat:
Original erstellt von StefanBerlitz:
Diese Aufzählungen können dann im Code verwendet werden um eine Gruppe von Konstanten durchzureichen.

Wie kann ich denn die Gruppe "durchreichen" ?

Gruß Thomas

------------------
Jeder ist zu etwas nütze,
er kann immer noch als schlechtes Beispiel dienen

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

KMassler
Ehrenmitglied V.I.P. h.c.
CAD Admin + Mädchen für Alles...



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

Beiträge: 2675
Registriert: 06.11.2000

SolidWorks Start 1999
** CSWP 01/2008 **
------------------
Zuletzt beruflich:
- SWX2020 SP5;
- SAP/PLM+ECTR;
- DriveWorks Pro;
- Programmierung:
VBA, aktuell Visual Studio 2022/VB.Net
------------------
ab 2024 (privat):
Onshape und anderes

erstellt am: 09. Feb. 2005 11:48    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 KeepCat 10 Unities + Antwort hilfreich

"Durchreichen" heißt einfach an alle Module weiterleiten bzw. in allen Modulen deines Projekts verwenbar machen.

Beispiel aus swConst.bas, dort steht:

Code:

Public Enum swDocumentTypes_e
        swDocNONE = 0  '  Used to be TYPE_NONE
        swDocPART = 1  '  Used to be TYPE_PART
        swDocASSEMBLY = 2      '  Used to be TYPE_ASSEMBLY
        swDocDrawing = 3        '  Used to be TYPE_DRAWING
        swDocSDM = 4    '  Solid data manager.
End Enum

Statt dessen könntest du meines Erachtens genauso schreiben:
Code:

Public Const swDocNONE = 0  '  Used to be TYPE_NONE
Public Const swDocPART = 1  '  Used to be TYPE_PART
Public Const swDocASSEMBLY = 2      '  Used to be TYPE_ASSEMBLY
Public Const swDocDrawing = 3        '  Used to be TYPE_DRAWING
Public Const swDocSDM = 4    '  Solid data manager.

Funktionell besteht da wohl kein Unterschied, oder Stefan?
Oder kann man die ganze Enum-Gruppe irgendwie ansprechen/verwenden?

Ciao

------------------
Klaus

Danke für deinen Besuch in meinem Gästebuch!
www.al-ko.de
privat...
ForumsChat: Schau doch mal hier rein, wenn ihr Zeit habt...

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

KeepCat
Mitglied
CAE-Admin


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

Beiträge: 82
Registriert: 01.06.2004

erstellt am: 09. Feb. 2005 11:57    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

Zitat:
Original erstellt von KMassler:

Oder kann man die ganze Enum-Gruppe irgendwie ansprechen/verwenden?

Genau DAS mein ich !
Denk mal irgendwie schon, denn es muß doch einen Sinn machen, das die ENUM - Gruppe einen Namen bekommen hat:

Zitat:
Public Enum swDocumentTypes_e

Gruß Thomas

------------------
Jeder ist zu etwas nütze,
er kann immer noch als schlechtes Beispiel dienen

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

StefanBerlitz
Guter-Geist-Moderator
IT Admin (CAx)



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

Beiträge: 8756
Registriert: 02.03.2000

SunZu sagt:
Analysiere die Vorteile, die
du aus meinem Ratschlag ziehst.
Dann gliedere deine Kräfte
entsprechend und mache dir
außergewöhnliche Taktiken zunutze.

erstellt am: 09. Feb. 2005 12: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 Nur für KeepCat 10 Unities + Antwort hilfreich


enum-in-vb.gif

 
Hallo Thomas,

ist so, wie Klaus das erklärt hat, wenn es nur um die Nutzung der Konstanten geht sind die beiden Deklarationen gleich.

Mit dem Durchreichen mach ich mal in einem Beispiel anschaulicher, siehe Bild. Da wird dann auch noch ein anderer Vorteil im Editor klar, dass eben die "Gruppe" angesprochen werden kann.

Wenn also eine Funktion weiß, dass es für einen bestimmten Parameter nur Konstanten aus der Gruppe swDocumentTypes_e annehmen darf, wird auch nur der im Editor angezeigt.

Ciao,
Stefan

------------------
Inoffizielle deutsche SolidWorks Hilfeseite
http://solidworks.cad.de

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

KMassler
Ehrenmitglied V.I.P. h.c.
CAD Admin + Mädchen für Alles...



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

Beiträge: 2675
Registriert: 06.11.2000

SolidWorks Start 1999
** CSWP 01/2008 **
------------------
Zuletzt beruflich:
- SWX2020 SP5;
- SAP/PLM+ECTR;
- DriveWorks Pro;
- Programmierung:
VBA, aktuell Visual Studio 2022/VB.Net
------------------
ab 2024 (privat):
Onshape und anderes

erstellt am: 09. Feb. 2005 12: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 KeepCat 10 Unities + Antwort hilfreich

Ahaaaa!

Danke für den Hinweis, damit bekommt das Enum auch einen Sinn!

Ciao

------------------
Klaus

Danke für deinen Besuch in meinem Gästebuch!
www.al-ko.de
privat...
ForumsChat: Schau doch mal hier rein, wenn ihr Zeit habt...

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

KeepCat
Mitglied
CAE-Admin


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

Beiträge: 82
Registriert: 01.06.2004

erstellt am: 09. Feb. 2005 14: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

Jo Baby Jo

Klasse, DAS war es!
Und wieder ist ein Programmierer ein wenig schlauer.
Danke Jungs, echt klasse von euch.

Gruß Thomas

------------------
Jeder ist zu etwas nütze,
er kann immer noch als schlechtes Beispiel dienen

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

Kalle
Mitglied
Student


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

Beiträge: 706
Registriert: 14.04.2002

erstellt am: 09. Feb. 2005 15:15    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 KeepCat 10 Unities + Antwort hilfreich

Aheu,

muss mich den Danksagungen anschließen. Hab wieder was gelernt. Und die ganze SWXSolidWorks-API-Geschichte ist schon wieder etwas klarer.

Besten Dank für die Informationen.

Bis dann,
Kalle

------------------
-----------------------------------------
Es gibt immer mehr Lösungen als Probleme.

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