Autor
|
Thema: Inputbox / Eingabefenster (6353 mal gelesen)
|
Sven2010 Mitglied
Beiträge: 56 Registriert: 20.04.2010 V5R19SP3 Hotfix 50
|
erstellt am: 08. Mai. 2010 13:46 <-- editieren / zitieren --> Unities abgeben:
Hallo, nachdem ich gerade mit der Programmierung angefangen habe und hier schon auf zahlreiche Themen gute Antworten und Hilfe bekommen habe, melde ich mich direkt wieder mit dem nächsten Problem Besteht unter CATScript die Möglichkeit, eine Inputbox mit mehreren Eingabefeldern zu erstellen? Momentan zeige ich 3 Input Boxen nacheinander an, eine einzige wäre schon netter. Besteht die Möglichkeit, in einer Inputbox eine Drop Down Liste zu zeigen, aus welcher der User Werte auswählen kann (evtl. aus einer Excel Liste)? Wenn nein, kann mir einer sagen wie ich mittels der Fehlerermittlung folgendes abprüfe: Wenn der eingegebene Wert etwas anderes darstellt als 2 Ziffern (0...9), bspw. 04, dann soll ein Fehler gemeldet werden sein damit ich entsprechend das Macro abbrechen kann. If Input 1 <> ????? then... Nochmal vielen Dank an alle, die mir hier schon so hilfreich zur Seite gestanden haben. Ist ein wirklich gutes Board hier! Danke und Gruß Sven Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
zoltan.bekesi Mitglied
Beiträge: 321 Registriert: 22.10.2006 Job: CATIA V5R19 / XP 32bit MS Office 2003 Microstation V8 2004 Edition DELL Precision M6300
|
erstellt am: 08. Mai. 2010 15:13 <-- editieren / zitieren --> Unities abgeben: Nur für Sven2010
Hallo Sven, nein, in CATScript kannst du keine Dialogboxe erstellen, es gibt nur Inputbody und Msgbox. In VBA kannst du aber schon einiges erreichen, dir selber Userforms erstellen. Es gibt dieses Makro für Zeichnungsköpfe, welches aus CATScript Tcl/Tk Fenster öffnet, das wäre vielleicht noch eine Möglichkeit, ist aber wahrscheinlich auch nicht einfach. Wenn du aber bei CATScript bleiben möchtest, es gibt eine Funktion namens IsNumeric(String) und gibt zurück, ob du ein Zahlenwert bekommen hast. Wenn es wahr ist, dann kannst du es ruhig mit CInt(String) in Integer konvertieren und prüfen, welchen Zahlenwert der hat. In so allgemeine Programmiersachen hilft dir aber Google oder andere Suchfunktionen sicher weiter. CATScript ist nunmal sehr ähnlich zu VBScript und VB allgemein. Gruß, Zoltan Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Sven2010 Mitglied
Beiträge: 56 Registriert: 20.04.2010 V5R19SP3 Hotfix 50
|
erstellt am: 08. Mai. 2010 22:46 <-- editieren / zitieren --> Unities abgeben:
HI Zoltan, vielen Dank für den Tip, es funktioniert jetzt den eingegebenen Wert zu überprüfen und entsprechend rück zu melden. Hat jemand eine Ahnung, ob man in ner Input Box eine Drop down Liste hinterlegen kann? Das wäre natürlich noch viel ansprechender Gruß Sven 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: 08. Mai. 2010 22:52 <-- editieren / zitieren --> Unities abgeben: Nur für Sven2010
|
Sven2010 Mitglied
Beiträge: 56 Registriert: 20.04.2010 V5R19SP3 Hotfix 50
|
erstellt am: 08. Mai. 2010 23:01 <-- editieren / zitieren --> Unities abgeben:
Servus, dich trifft man auch oft hier Ok, dann hat sich das Thema wohl erledigt. Fange gerade erst an, mit CATScript einigermassen klar zu kommen und entsprechend erst einmal dabei bleiben. Ich denke VBA ist für mich sicherlich zu komplex, um mich da in kurzer Zeit einzuarbeiten. Danke euch beiden für die schnelle und kompetente Hilfe! Gruß und schönes WE Sven 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: 10. Mai. 2010 09:18 <-- editieren / zitieren --> Unities abgeben: Nur für Sven2010
Ich hätte noch eine Möglichkeit für eine "Mehrfacheingabe" in einer Inputbox. Lass Dir ein Trennzeichen einfallen und den User dann die Eingabe mit Trennzeichen machen. Beispiel Trennzeichen ";" und 3 Zahlenwerte als Eingabe: 90;10;13 Dann kannst Du ein Split auf den String ausführen Dim varSplit as Variant varSplit = Split(sInput, ";") in varSplit würde dann das Array deiner Eingaben stehen, um zu Prüfen ob's 3e sind einfach ein UBound() machen und dann eben über IsNumeric(), CInt() und Len() die einzelnen Werte prüfen. ------------------ 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 |
Ex-Mitglied
|
erstellt am: 25. Aug. 2010 10:35 <-- editieren / zitieren -->
Hallo, ich habe ebenfalls ein kleines Problem mit dem Eingabefenster. Ich denke, dass es am ehesten hier rein passt: Ich möchte eine Abfrage in einem Eingabefenster machen, die später verwendet werden soll Hier ein Ausschnitt von meinem Code: oEingabe="Bitte ganze Zahlen eingeben" oEingabe=InputBox("Anzahl angeben,oEingabe) cAnzahl=oEingabe
Komponente = (WS.Cells(nRow, 2).Text) ... = "cAnzahl" &":\" & (WS.Cells(nRow, 2).Text)"
unter cAnzahl soll die eingegebene Zahl erscheinen.
Vielleicht kann mir jemand weiterhelfen, was hier falsch ist... |
bgrittmann Moderator Konstrukteur
Beiträge: 11780 Registriert: 30.11.2006 CATIA V5R19
|
erstellt am: 25. Aug. 2010 10:50 <-- editieren / zitieren --> Unities abgeben: Nur für Sven2010
|
RSchulz Moderator² Head of CAD, Content & Collaboration / IT-Manager
Beiträge: 5541 Registriert: 12.04.2007 @Work Lenovo P510 Xeon E5-1630v4 64GB DDR4 Quadro P2000 256GB PCIe SSD 512GB SSD SmarTeam V5-6 R2016 Sp04 CATIA V5-6 R2016 Sp05 E3.Series V2019 Altium Designer/Concord 19 Win 10 Pro x64
|
erstellt am: 25. Aug. 2010 10:53 <-- editieren / zitieren --> Unities abgeben: Nur für Sven2010
Zitat: Original erstellt von newCADuser: Hallo,ich habe ebenfalls ein kleines Problem mit dem Eingabefenster. Ich denke, dass es am ehesten hier rein passt: Ich möchte eine Abfrage in einem Eingabefenster machen, die später verwendet werden soll Hier ein Ausschnitt von meinem Code: oEingabe="Bitte ganze Zahlen eingeben" oEingabe=InputBox("Anzahl angeben,oEingabe) cAnzahl=oEingabe
Komponente = (WS.Cells(nRow, 2).Text) ... = "cAnzahl" &":\" & (WS.Cells(nRow, 2).Text)"
unter cAnzahl soll die eingegebene Zahl erscheinen.
Vielleicht kann mir jemand weiterhelfen, was hier falsch ist...
Hallo, du hast einfach nur ein " vergessen und drei zu viel... Code:
oEingabe="Bitte ganze Zahlen eingeben" oEingabe=InputBox("Anzahl angeben",oEingabe) cAnzahl=oEingabe Komponente = (WS.Cells(nRow, 2).Text) ... = cAnzahl & ":\" & (WS.Cells(nRow, 2).Text)
------------------ MFG Rick Schulz Nettiquette (CAD.de) - Was ist die Systeminfo? - Wie man Fragen richtig stellt. - Unities
[Diese Nachricht wurde von RSchulz am 25. Aug. 2010 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Ex-Mitglied
|
erstellt am: 25. Aug. 2010 11:00 <-- editieren / zitieren -->
Danke @Bernd und Rick jetzt funktioniert es. Manchmal ist zuviel nicht immer besser... |
| Anzeige.:
Anzeige: (Infos zum Werbeplatz >>)
|