12.4.2 | VBA in CATIA: Programmierpraxis

Transcrição

12.4.2 | VBA in CATIA: Programmierpraxis
www.olzog.de/Suche/index.htm?category=2269822&q=D9306035120402
www.olzog.de/Suche/index.htm?category=2269822&q=S93060
Thema: .
VO
R
SC
H
AU
Frank Mantwill | Gerhard Tecklenburg (Hrsg.)
Titel: 12.4.2 | VBA in CATIA: Programmierpraxis Variablendeklaration (19 S.)
Produkthinweis
Egal ob Sie erst einige Wochen mit CATIA V5 arbeiten oder bereits ein Profi auf
dem Gebiet der CAD-Anwendung sind – Der Leitfaden CATIA V5 hilft Ihnen weiter!
Lernen Sie aus den Erfahrungen der CATIA-Konstrukteure! Schritt für Schritt und
mit hohem Praxisbezug werden Ihnen die aktuellen Kenntnisse kompakt und
einfach vermittelt. Die erfahrenen Profis und Trainer zeigen Ihnen u.a., wie Sie
CATIA V5 schnell und effektiv einsetzen, wie Sie Ihre Konstruktionen für die
Nachbearbeitung optimieren und wie Sie die praxiserprobten Tipps und
Tricks auf Ihre Projekte anwenden.
Die Printausgabe können Sie auch per Post im Jahresabo (Grundwerk zzgl.
Ergänzungslieferungen) beziehen.
Nutzungsbedingungen
Die Materialien dürfen nur persönlich für Ihre eigenen Zwecke genutzt und nicht
an Dritte weitergegeben bzw. Dritten zugänglich gemacht werden. Sie sind berechtigt, für Ihren eigenen Bedarf Fotokopien zu ziehen, bzw. Ausdrucke zu
erstellen. Jede gewerbliche Weitergabe oder Veröffentlichung der Materialien 
auch auszugsweise  ist unzulässig.
Die vollständigen Nutzungsbedingungen finden Sie hier.
Haben Sie noch Fragen?
Unser Kundenservice hilft weiter:
Kontaktformular 
 Mail: [email protected]
 Post: OLZOG Verlag
c/o Rhenus Medien Logistik GmbH & Co. KG
Justus-von-Liebig-Str. 1  86899 Landsberg
 Tel.: +49 (0)8191 / 97 000 - 220
 Fax: +49 (0)8191 / 97 000 - 198
www.olzog.de
Leitfaden CATIA V5
Teil 12
12.4 VBA in CATIA: Programmierpraxis
V5
12.4.2 Variablendeklaration
12.4.2 Variablendeklaration
SC
H
AU
Wenn ich Deinen Hals berühr,
Deinen Mund an meinem spür,
ach wie sehn’ ich mich nach Dir,
du heißgeliebte Flasche Bier!
(Hochdeutscher Trinkspruch)
VO
R
Der oben abgebildete Trinkspruch zeigt scherzhaft, wie wunderbar
mehrdeutig die menschliche Sprache aufgebaut sein kann.
Durch den Einsatz von Betonungen, Beschreibungen, Metaphern
und sogar Körpersprache kommen wir Menschen mit Mehrdeutigkeiten meistens klar. Eine Programmiersprache jedoch nicht (vgl. Kapitel 12.4.1 „Algorithmen“; in einem Algorithmus besitzt jede Anweisung einen eindeutigen Effekt). Als Folge muss auch jede
verwendete Programmiervariable eindeutig beschrieben sein, sonst
hat es einen Widerspruch zur Folge:
Setze: x = 1
Setze: y = 1
Setze: Summe = x + y
Output: „das Additionsergebnis beträgt“ Summe
Die Berechnungsergebnisse „2“ und „11“ sind gleichberechtigt!
Einer Mehrdeutigkeit wird beim Programmieren vorgebeugt, indem
den Variablen ein bestimmter Variablentyp zugewiesen wird. Wenn
die verwendeten Variablen x, y, Summe als Zeichentyp-Variablen deklariert werden, kann das Ergebnis auch nur ein Zeichen sein, also
„11“. Werden die drei Variablen im oberen Beispiel dagegen als Zahlenvariablen deklariert, ist das Ergebnis ebenfalls eine Zahl, also „2“.
Es mag in dem einen oder anderen Fall absurd aussehen, aber jede
verwendete Variable muss in einer Programmiersprache stets so
deklariert werden, wie ihre Verwendung das vorsieht. Folgende Anekdote treibt diese Regelung auf die Spitze:
Geht ein Programmierer ins Bett,
nimmt er immer zwei Wassergläser mit:
ein volles, wenn er mit Durst aufwacht, und
ein leeres, wenn er dann nichts trinken möchte.
CATIA V5, 35. Ausgabe 3/2014
(Programmierer-Folklore
der 80er-Jahre)
1
Fachliteratur, Ratgeber, Leitfaden, 3D CAD-Konstruktionssoftware
(c) OLZOG Verlag GmbH
Seite 1
Leitfaden CATIA V5
V5
12.4 VBA in CATIA: Programmierpraxis
Teil 12
12.4.2 Variablendeklaration
Die Eindeutigkeit ist aber nicht der einzige Grund, warum Variablen
in Programmiersprachen deklariert werden müssen. Es geht auch
um den Speicherverbrauch.
VO
R
SC
H
AU
Auch wenn einer Variablen im Programmablauf noch kein Wert zugewiesen wurde, beansprucht sie von „Geburt“ an Platz im Arbeitsspeicher, da sie einen initialen Wert besitzt (z. B. ist der initiale Wert
einer Zahlentypvariablen „0“). Damit Variablen den Arbeitsspeicher
nicht überbeanspruchen, existiert eine Regelung, von welchem Variablentyp welche Wertebereiche (z. B. Zahlen zwischen 0 und 255)
aufgenommen werden können. Je nach zugewiesenem Wertebereich
fällt der Speicherbedarf dann aus.
Die folgende Aufzählung stellt eine Übersicht von häufig verwendeten Variablentypen, der zugewiesenen Datenbereiche und des jeweiligen Speicherbedarfs im VBA dar:
• Integer: Dieser Typ ist für Variablen vorgesehen, die nur ganze
Zahlen im Wertebereich zwischen -32.768 und +32.767 aufnehmen. Eine Integer-Variable beansprucht 16 Bit im Arbeitsspeicher.
• Long: Dieser Typ ist für Variablen vorgehalten, die ganze Zahlen
in einem deutlich größeren Wertebereich aufnehmen, nämlich
zwischen -2.147.483.648 und +2.147.483.647. Variablen dieses Typs
beanspruchen 32 Bit.
• Single: Dieser Typ ist für Variablen vorgesehen, die Gleitkommazahlen in einem diskreten Wertebereich aufnehmen. Der Wertebereich ist mit ± [3,402823 × 1038 … 1,401298 × 10-45] sowie 0 optisch
zwar deutlich größer als beim Typ Long. Die Anzahl der im Variablentyp Single darstellbaren Zahlen ist jedoch dieselbe, da hier
wieder nur 32 Bit zur Verfügung stehen.
• Double: Dieser Typ ist für Variablen gedacht, die Gleitkommazahlen abspeichern, und zwar in einem diskreten Wertebereich
von ± [1.79769313486231 × 10308 … 4,94065645841247 × 10-324]. Der
größere Wertebereich beansprucht auch mehr Arbeitsspeicher.
Hier liegt der Speicherbedarf bei 64 Bit.
• String: Dieser Typ ist für Variablen vorgesehen, die Zeichenfolgen
speichern. Die Länge der Zeichenfolge darf zwischen 0 (kein Zeichen) und 231 Unicode-Zeichen (in etwa 2 Milliarden) liegen. Jedes
einzelne Unicode-Zeichen beansprucht 16 Bit. Der String-Typ
2
Fachliteratur, Ratgeber, Leitfaden, 3D CAD-Konstruktionssoftware
(c) OLZOG Verlag GmbH
Seite 2
Leitfaden CATIA V5
Teil 12
12.4 VBA in CATIA: Programmierpraxis
V5
12.4.2 Variablendeklaration
„verbraucht“ 10 Bit + Anzahl der enthaltenen Unicode-Zeichen ×
16 Bit. Somit kann eine einzige String-Variable bei „Maximalauslastung“ 4 Gigabyte beanspruchen!
SC
H
AU
• Boolean: Dieser Typ ist für Variablen vorgesehen, die nur zwei logische Werte (man sagt auch „mögliche Zustände“) speichern:
„Wahr“ und „Falsch“ (bzw. „True“ und „False“ im Englischen).
Historisch bedingt, beansprucht diese Variable 16 Bit.
VO
R
• Variant: Dieser Typ tritt als „Dachtyp“ für alle anderen Variablentypen auf. Die Variable wird zwar als Variant deklariert, nach der
Aufnahme eines bestimmten Wertetyps (z. B. einer Zahl 1) passt
sich der Datentyp auf einen der grundlegenden Datentypen, z. B.
Variant > Integer, und beansprucht entsprechend weniger Speicher. Dieser Typ wird genutzt, wenn in der gleichen Variable verschiedene Wertetypen verarbeitet werden müssen, sowohl Zahlen
wie auch Zeichen.
Die Deklaration einer Variablen erfolgt normalerweise am Anfang
einer Prozedur. Dazu gibt es drei Möglichkeiten (nennen wir die Variable „X“):
• Dim X As … Typ (z. B. Integer, Double etc.)
• Private X As …
• Public X As …
Mit Dim … As … erhält eine Variable ihren Datentyp innerhalb einer
Prozedur:
Sub Deklarationsbeispiel()
Dim i As Integer, x As Double, y As String, u
’Kommentar: hier passiert noch nichts
End Sub
Während in der obigen Prozedur die Variablen i als Integer, x als
Double, y als String deklariert werden, bleibt u nicht ohne Typ. Das
Auslassen der Typbezeichnung bedeutet lediglich, dass die Variable
den Standardtyp Variant erhält. Die Wirkung ist also dieselbe wie bei
diesem Ausdruck:
Dim i As Integer, x As Double, y As String, u As Variant
CATIA V5, 35. Ausgabe 3/2014
3
Fachliteratur, Ratgeber, Leitfaden, 3D CAD-Konstruktionssoftware
(c) OLZOG Verlag GmbH
Seite 3