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