Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  CATIA V5 Programmierung
  Eingabefeld in Inputbox begrenzen..

Antwort erstellen  Neues Thema erstellen
CAD.de Login | Logout | Profil | Profil bearbeiten | Registrieren | Voreinstellungen | Hilfe | Suchen

Anzeige:

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen nächster neuer Beitrag | nächster älterer Beitrag
Autor Thema:  Eingabefeld in Inputbox begrenzen.. (2756 mal gelesen)
ackee
Mitglied



Sehen Sie sich das Profil von ackee an!   Senden Sie eine Private Message an ackee  Schreiben Sie einen Gästebucheintrag für ackee

Beiträge: 20
Registriert: 25.11.2004

erstellt am: 21. Dez. 2005 09:22    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo V5ler,

Hab hier mal wieder ein kleines Problem mit meinem Macro.
Ich hab in meinem Macro ein Eingabefeld, in das eine Bezeichnung mit höchstens 10 Stellen eingegeben werden muss. Wie kann ich das Eingabefeld begrenzen, dass der Benutzer nicht mehr Stellen eingeben kann.
Das wär mal das wichtigste.

Wenn dann zufällig noch jemand weiß wie, wenn nicht die kompletten zehn Stellen ausgefüllt werden, ich dem Macro sagen kann, dass es die restlichen stellen mit Punkten auffüllt.

Euch schon mal vielen Dank

ein frohes Fest an alle und Gruß an die Welle

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

gehirnsuelze
Mitglied
Student


Sehen Sie sich das Profil von gehirnsuelze an!   Senden Sie eine Private Message an gehirnsuelze  Schreiben Sie einen Gästebucheintrag für gehirnsuelze

Beiträge: 58
Registriert: 16.11.2005

erstellt am: 21. Dez. 2005 09:46    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für ackee 10 Unities + Antwort hilfreich

Nu ja,

diese Aufgabenstellung wird sich wohl nicht gerade einfach umsetzen lassen. Ich nehme an du programmierts in CATScript oder VBScript !?! Denke nicht das das dort so einfach zu gestalten ist. Ich würde dir vorschlagen CATvba zu verwenden, denn dort kannst du dir eigene Eingabefelder erzeugen, die dann auch viel flexibler auf die Nutzereingaben reagieren können. Nachteil: neben der Makroprogrammierung an sich, musst du dir noch etwas über VBA anlesen. Das geht aber relativ  zügig wenn man mal ein paar Quellen gefunden hat. Die Lösung mit dem begrenzten String sollte man dann in einem VBA- Forum finden. Dafür gibt es sicherlich schon Ansätze.

Hab dir zwar nicht geholfen aber dich hoffentlich etwas weiter gebracht.

Mfg Gehirnsuelze

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

tomtom1972
Mitglied
dipl ing maschinenbau


Sehen Sie sich das Profil von tomtom1972 an!   Senden Sie eine Private Message an tomtom1972  Schreiben Sie einen Gästebucheintrag für tomtom1972

Beiträge: 605
Registriert: 22.03.2005

NVidia Quadro K4000
Intel Xeon E5-1620, 64GB RAM
Windows10 64bit
R30 <= CATIA V5 > =R19

erstellt am: 21. Dez. 2005 14:28    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für ackee 10 Unities + Antwort hilfreich

Hallo,

du kannst zwar nicht die Länge des Eingabefeldes selbst begrenzen, aber du kannst die Eingabe in eine Loop setzten, die erst verlassen wird, wenn die Eingabe <=10 Zeichen ist. Dann bis zum 10 Zeichen Punkte zufügen. Test es mal. Mehr kannst du mit einer Inputbox (CATScript) nicht machen.

Gruss TomTom

Sub CATMain()

Dim sInfo, sVorgabe, sString as String

sInfo = "Bitte einen maximal 10stelligen String eingeben"
sVorgabe = "12345"

Do
  sString = inputbox(sInfo, "TestEingabeBox", sVorgabe)
  sInfo = "Das waren aber mehr als 10 Stellen. Nochmal."
Loop until (Len(sString) <= 10)

Do While (Len(sString) < 10)
  sString = sString & "."
Loop

msgbox sString, 64, "Info"

End Sub

------------------
tomtom1972

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

ackee
Mitglied



Sehen Sie sich das Profil von ackee an!   Senden Sie eine Private Message an ackee  Schreiben Sie einen Gästebucheintrag für ackee

Beiträge: 20
Registriert: 25.11.2004

erstellt am: 21. Dez. 2005 14:55    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hey Danke,

das ist echt super.

Gruß ackee

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

tanker17
Mitglied


Sehen Sie sich das Profil von tanker17 an!   Senden Sie eine Private Message an tanker17  Schreiben Sie einen Gästebucheintrag für tanker17

Beiträge: 5
Registriert: 16.09.2005

erstellt am: 22. Dez. 2005 11:08    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für ackee 10 Unities + Antwort hilfreich

Hallo TomTom,

ich habe ein ähnliches Problem ...
Ich möchte, wie ackee, die Eingabemöglichkeiten begrenzen.
Allerdings nicht in der Anzahl, sondern, ich möchte dem Benutzer verbieten, Umlaute (ä,ö,ü) zu verwenden. Sollte der Benutzer dennoch einen Umlaut verwenden, soll er erneut eine Eingabe machen müssen.(wie bei ackee)


Vielen Dank vorab und schöne Feiertage,

tanker17

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

tomtom1972
Mitglied
dipl ing maschinenbau


Sehen Sie sich das Profil von tomtom1972 an!   Senden Sie eine Private Message an tomtom1972  Schreiben Sie einen Gästebucheintrag für tomtom1972

Beiträge: 605
Registriert: 22.03.2005

NVidia Quadro K4000
Intel Xeon E5-1620, 64GB RAM
Windows10 64bit
R30 <= CATIA V5 > =R19

erstellt am: 22. Dez. 2005 13:36    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für ackee 10 Unities + Antwort hilfreich

Hallo,

das geht am einfachsten über die Abfrage des Ascii-Codes eines Zeichen. Die Grossbuchstaben A-Z entsprechen z.B. 65-90 im Ascii-Code, die kleinen (a-z) 97-122. Eine Liste findest du, wenn du in Googel nach < +Ascii +Code +Liste > suchst. Das ganze in eine Schleife und fertig. Das Script unten lässt nur Grossbuchstaben als Eingabe zu. Die Abfrage kannst du erweitern wie du willst. Es geht auch einfach das Gegenteil, d.h. die Ascii- Codes der Länderspezifischen Zeichen (>192) sollens nicht sein:
.... If Not (asc(Mid(sString, i, Len(sString))) >= 192 Then

Viel Spass damit und auch ein schönes Weihnachtsfest.

Gruss TomTom

Der Code:

Sub CATMain()

Dim sInfo, sVorgabe, sString as String
Dim bAllowedSigns As Boolean

sInfo = "Bitte nur Buchstaben eingeben (A-Z)"
sVorgabe = "ABCDEÖÄÜ"

Do
  sString = inputbox(sInfo, "TestEingabeBox", sVorgabe)
  sInfo = "Das waren aber keine Buchstaben (A-Z). Nochmal."
  For i = 1 to Len(sString)
  If (asc(Mid(sString, i, Len(sString))) >= 65 AND asc(Mid(sString, i, Len(sString))) < 90) Then
     bAllowedSigns = true
  End if
  Next
Loop until bAllowedSigns

msgbox sString, 64, "Info"

End Sub

------------------
tomtom1972

[Diese Nachricht wurde von tomtom1972 am 22. Dez. 2005 editiert.]

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

tanker17
Mitglied


Sehen Sie sich das Profil von tanker17 an!   Senden Sie eine Private Message an tanker17  Schreiben Sie einen Gästebucheintrag für tanker17

Beiträge: 5
Registriert: 16.09.2005

erstellt am: 22. Dez. 2005 15:05    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für ackee 10 Unities + Antwort hilfreich

Hallo TomTom,

Vielen, Vielen Dank... Hast mir sehr weitergeholfen.
Genial!
Quasi wie ein Weihnachtsgeschenk... ;o)


Grüße

Tanker17

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Anzeige.:

Anzeige: (Infos zum Werbeplatz >>)

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen

nächster neuerer Beitrag | nächster älterer Beitrag
Antwort erstellen


Diesen Beitrag mit Lesezeichen versehen ... | Nach anderen Beiträgen suchen | CAD.de-Newsletter

Administrative Optionen: Beitrag schliessen | Archivieren/Bewegen | Beitrag melden!

Fragen und Anregungen: Kritik-Forum | Neues aus der Community: Community-Forum

(c)2023 CAD.de | Impressum | Datenschutz