Autor
|
Thema: Deklaration von Array Plätzen (515 mal gelesen)
|
MakroNovize Mitglied Konstrukteur, CAD-Admin
Beiträge: 60 Registriert: 20.07.2009 Windows XP SP3 CATIA V5 R18 Xeon 2x 3Ghz 3Gb RAM NVIDIA Quadro FX 3450
|
erstellt am: 17. Aug. 2009 08:52 <-- editieren / zitieren --> Unities abgeben:
Hi Leutz, wie ihr in dem angehängten Bild seht habe ich ein Array. Dies is als Variant deklariert. Jetzt seht ihr, dass mir Zahlen teilweise als String und teilweise als Long eingetragen werden. Gibt es eine Möglichkeit es zu erzwingen, dass Die Zahlen als Long eingetragen werden? Bemerkung: die Zahlen werden aus benutzerdefinierten Parametern ausgelesen mit Par.Value und wenn's geht will ich daran nichts ändern!!! Danke schonmal!!! ------------------ Grüße Christoph ************************************************* Die Katia am Morgen, bringt dir reichlich Sorgen! Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
DanielFr. Moderator Manager
Beiträge: 2506 Registriert: 10.08.2005 HP Compaq 8710w, Intel Core Duo T7700, 2,40 Ghz, 3GB RAM, Windows XP Professionel @32bit, Quadro FX 1600M, CATIA V5 R19 SP3
|
erstellt am: 17. Aug. 2009 09:04 <-- editieren / zitieren --> Unities abgeben: Nur für MakroNovize
Hallo Christoph, mach einfach eine TypeConversion bevor die die Werte an dein Array übergibst. z.B. myArray(1) = CLng(Par.Value) Dann bist du sicher das du immer einen Double-Wert übergibst . Hier nochmal ein Link mit den Konvertierungsmöglichkeiten Type Conversion Functions Kannst auch die interne VBA Hilfe zu rate ziehen da ist das auch ganz gut erklärt. ------------------ MFG Daniel Die KATJA ist halt doch nur ne zickige Französin Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
MakroNovize Mitglied Konstrukteur, CAD-Admin
Beiträge: 60 Registriert: 20.07.2009 Windows XP SP3 CATIA V5 R18 Xeon 2x 3Ghz 3Gb RAM NVIDIA Quadro FX 3450
|
erstellt am: 17. Aug. 2009 09:10 <-- editieren / zitieren --> Unities abgeben:
Danke Daniel, aber das kenn ich. Habe mich wohl falsch ausgedrückt. Meine Werte werden mit folgender Funktion ausgelesen: If Par <> "" Then If Par.Value <> "" Then aProps(x, iArZ) = Par.Value End If End If Diese Funktion kann ich einfach für jeden Parameter aufrufen. Somit ist der Quellcode kürzer und übersichtlicher. Das will ich beibehalten. Der Haken ist, dass auch String und Single parameter dabei sind. Deswegen will ich die konvertierung nicht hier reinmachen. Gibts ne andere Möglichkeit? Am besten wäre wenn ich einen gewissen Array Platz Array(x, y) in ein Format konvertieren kann. Dann kann ich es auch wieder mit einer neutralen Schleife auslesen. ------------------ Grüße Christoph ************************************************* Die Katia am Morgen, bringt dir reichlich Sorgen! Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
DanielFr. Moderator Manager
Beiträge: 2506 Registriert: 10.08.2005 HP Compaq 8710w, Intel Core Duo T7700, 2,40 Ghz, 3GB RAM, Windows XP Professionel @32bit, Quadro FX 1600M, CATIA V5 R19 SP3
|
erstellt am: 17. Aug. 2009 09:17 <-- editieren / zitieren --> Unities abgeben: Nur für MakroNovize
Hallo, schreibe dir den kurzen Code innerhalb von einer Function und rufe die Funktion mit den entsprechenden Übergabewerten (Par, x, iArZ , Type) auf. Wobei "Type" der Typ ist den die Variabel annehmen soll. Mit mit einer zusätzlichen Abfrage (If Type "Boolen" then CBool(...)..elseIf Type "String" the CStr(...)) kannst du jetzt entscheiden wie du es konvertierst. Die Funktion bleibt kurz und dein Problem ist gelöst Eine nachträgliche Konvertierung innerhalb eines Array ist mir nicht bekannt. ------------------ MFG Daniel Die KATJA ist halt doch nur ne zickige Französin Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
MakroNovize Mitglied Konstrukteur, CAD-Admin
Beiträge: 60 Registriert: 20.07.2009 Windows XP SP3 CATIA V5 R18 Xeon 2x 3Ghz 3Gb RAM NVIDIA Quadro FX 3450
|
erstellt am: 17. Aug. 2009 09:21 <-- editieren / zitieren --> Unities abgeben:
Super Daniel, genau die gleiche Vorgehensweise (mit Seleect Case) hab ich schon in dem Programm drin. Selber wäre ich nicht drauf gekommen. Werde das jetz so verbauen!!! Riesen Dankeschön Daniel ------------------ Grüße Christoph ************************************************* Die Katia am Morgen, bringt dir reichlich Sorgen! Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
| Anzeige.:
Anzeige: (Infos zum Werbeplatz >>)
|