Autor
|
Thema: Select case ... case 5 To 10 (1241 mal gelesen)
|
Tim2007 Mitglied Konstrukteur
Beiträge: 143 Registriert: 02.01.2007 Catia V5R19SP3 XP64<P>"Was wir wissen, ist ein Tropfen; was wir nicht wissen, ein Ozean." Sir Isaac Newton
|
erstellt am: 01. Aug. 2011 17:34 <-- editieren / zitieren --> Unities abgeben:
|
bgrittmann Moderator Konstrukteur
Beiträge: 11780 Registriert: 30.11.2006 CATIA V5R19
|
erstellt am: 01. Aug. 2011 17:52 <-- editieren / zitieren --> Unities abgeben: Nur für Tim2007
|
Tim2007 Mitglied Konstrukteur
Beiträge: 143 Registriert: 02.01.2007 Catia V5R19SP3 XP64<P>"Was wir wissen, ist ein Tropfen; was wir nicht wissen, ein Ozean." Sir Isaac Newton
|
erstellt am: 02. Aug. 2011 09:46 <-- editieren / zitieren --> Unities abgeben:
Danke Bernd, mein Problem ist nur, dass ich Dimensionen von z. B. 0,001 - 1,999 nehmen will und - da Case nur ganze Zahlen verarbeiten kann - ich dann daraus 1 - 1999 mache. Das würde bedeuten, dass ich alle 2000 Zahlen eingeben müsste In VBA direkt funktioniert das ja, aber eben in dem dussligen Macro-Standard-Editor mit CATScript nicht. Andere Vorschläge? Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
bgrittmann Moderator Konstrukteur
Beiträge: 11780 Registriert: 30.11.2006 CATIA V5R19
|
erstellt am: 02. Aug. 2011 10:15 <-- editieren / zitieren --> Unities abgeben: Nur für Tim2007
Servus Du könntest statt den "Select-case"-Abfrage mehrere if-Abfrage verwenden (ist zwar nicht schön). (if x > 0 and x < 2 then) Gruß Bernd ------------------ Warum einfach, wenn es auch kompliziert geht. [Diese Nachricht wurde von bgrittmann am 02. Aug. 2011 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Tim2007 Mitglied Konstrukteur
Beiträge: 143 Registriert: 02.01.2007 Catia V5R19SP3 XP64<P>"Was wir wissen, ist ein Tropfen; was wir nicht wissen, ein Ozean." Sir Isaac Newton
|
erstellt am: 02. Aug. 2011 11:24 <-- editieren / zitieren --> Unities abgeben:
Hi Bernd, danke, dass ist auch eine Lösung. Mir ging es aber prinzipiel darum zu verstehen, ob ich eine Einstellung wie "Language = VBScript" vergessen hatte oder ob der Editor das einfach nicht kann. Denke halt immer, dass ich falsch arbeite und hier was vergessen habe. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
HoBLila Mitglied Dipl.-Ing. (BA) praktische Informatik - Senior Entwickler CAx
Beiträge: 1118 Registriert: 29.05.2008 DELL PRECISION T3500 Intel(R) Xeon(R) CPU W3540 @ 2.93GHz 12285 MB RAM NVIDIA Quadro FX 1800 Microsoft Windows 7 Enterprise Service Pack 1 CATIA V5 R19 SP09 HF69 VB6.5 CAA RADE CDC
|
erstellt am: 02. Aug. 2011 13:06 <-- editieren / zitieren --> Unities abgeben: Nur für Tim2007
VBS ist eben leider viel rudimentärer, als VBA, weshalb einige "neuere" Sachen nicht gehen. Man kann in VBS z.B. auch nicht noch einmal den Variablennamen hinter das Next schreiben und so weiter. Da es aber so rudimentär ist funktioniert es eben auch unter Unix. Sprungmarken gibt es z.B. auch nicht, wobei das nicht so schlimm ist, was eher schlimm ist, dass VBS mit Variablendeklarationen nicht umgehen kann. Manchmal muss man dadurch leider seinen Code umbauen. :-( Mit If/EleIf kommst Du jedoch schon recht weit. Eine weitere Option wäre eine Modulo oder Div-Operator für Deine Bereiche. Also Rechnen mit Rest oder Ganzzahl. Schau mal hier:http://msdn.microsoft.com/de-de/library/se0w9esz%28v=vs.80%29.aspx Weiß ja nicht ob es mehrere Fälle gibt, wenn es sowieso nur zwei Fälle gibt, dann ist eine CASE-Anweisung sowieso zu viel, da If weniger Auswand und weniger Performanceverlust bedeutet. ------------------ Mit freundlichen Grüßen, Henry Schneider alias Lila Es gibt einen ewigen Wettkampf zwischen der Natur und den Ingenieuren: Die Ingenieure versuchen, immer idioten-sicherere Systeme zu bauen, die Natur versucht, immer bessere Idioten zu bauen Xing Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Tim2007 Mitglied Konstrukteur
Beiträge: 143 Registriert: 02.01.2007 Catia V5R19SP3 XP64<P>"Was wir wissen, ist ein Tropfen; was wir nicht wissen, ein Ozean." Sir Isaac Newton
|
erstellt am: 02. Aug. 2011 14:50 <-- editieren / zitieren --> Unities abgeben:
Hi Henry, danke für die Info. Habe ca. 20 Schleifen und es war igrnedwie nervig das alles umzuschreiben. Jetzt habe ich allerdings das Problem, dass er immer die erste Schleife nimmt und nicht die entsprechende. Unter VBA funktioniert das allerdings!?! Kann es sein, dass der rudimentäre Macroeditor die Nachkommazahlen nicht verträgt? Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
bgrittmann Moderator Konstrukteur
Beiträge: 11780 Registriert: 30.11.2006 CATIA V5R19
|
erstellt am: 02. Aug. 2011 15:25 <-- editieren / zitieren --> Unities abgeben: Nur für Tim2007
|
Tim2007 Mitglied Konstrukteur
Beiträge: 143 Registriert: 02.01.2007 Catia V5R19SP3 XP64<P>"Was wir wissen, ist ein Tropfen; was wir nicht wissen, ein Ozean." Sir Isaac Newton
|
erstellt am: 02. Aug. 2011 16:25 <-- editieren / zitieren --> Unities abgeben:
Hi, im VBA-Editor ist es unter dem Watches-Fenster als Typ Long und Ganzzahlig dargestellt. Mache ich dasselbe im Macro-Editior, kommen da Zahlen mit Kommas. Weiß der Geier wieso dies unterschiedlich dargestellt wird. Wenn ich nun Round(xyz,0) mache ändert das zwar die Kommas - die gibt es dann nicht - aber er nimmt dann immer nur noch die erste Schleife!?! Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
bgrittmann Moderator Konstrukteur
Beiträge: 11780 Registriert: 30.11.2006 CATIA V5R19
|
erstellt am: 02. Aug. 2011 16:56 <-- editieren / zitieren --> Unities abgeben: Nur für Tim2007
Servus Poste mal bitte den Code. EDIT: Lass dir mal den Wert der entsprechenden Variable vor der if-Abfrage in einer Messagebox ausgeben. Viellicht liegt es nicht an den If-Abfragen. Gruß Bernd ------------------ Warum einfach, wenn es auch kompliziert geht. [Diese Nachricht wurde von bgrittmann am 02. Aug. 2011 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |