Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  CATIA V5 Programmierung
  InputBox mit Eingabeprüfung

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:  InputBox mit Eingabeprüfung (855 mal gelesen)
InFlames
Mitglied
techn. Productdesigner


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

Beiträge: 72
Registriert: 22.09.2014

Windows 7 Professional
Catia V5R26

erstellt am: 12. Jun. 2015 10:57    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 wie der Name schon sagt möchte ich eine Inputbox erstellen welche sich so lange wiederholen soll,
bis der richtige Wert eingegeben wurde. Das funktioniert eigentlich auch super z.B. so (Input darf nicht leer sein)

Code:

   BauteilName = False
      Do
         BtlName = InputBox("Bitte geben Sie den Namen der Haupt-BG an.", "Input")
   If BtlName <> "" Then
         BauteilName = True
   End If
      Loop Until BauteilName = True

Nun soll die Positionsnummer eingegeben und geprüft werden. Die positionsnummer darf nur an der 1000er- und 100er-Stelle
über null sein. Also 1000 - 9900. Also Prüfe ich ob Pos 1+2 > 0 und Pos 3+4 = 0 und ob das Inputfenster leer ist.
Sobald eine Zahl drin steht funktioniert die Prüfung wunderbar, aber sobald ich leer auf ok oder auf Abbrechen gehe dann
wird die Inputbox nicht mehr wiederholt?!

Code:

   PositionsNummer = False
      Do
         Pos_Nr = InputBox("Bitte geben Sie die Pos_Nr der Haupt-BG an." & vbLF & _
                           "----------------------------------------------------------------------" & vbLF & _
                           "Nur die ersten zwei Stellen sind zu definieren." & vbLF & _
                           "" & vbLF & _
                           "      Form: 1000 bis" & vbLF & _
                           "      Form: 9900", "Input")

   If Len(Pos_Nr) = 4 AND Pos_Nr <> "" AND Left(Pos_Nr, 2) > 0 AND Right(Pos_Nr, 2) = 0 Then
      PositionsNummer = True
   End If
      Loop Until PositionsNummer = True


Wenn ich nur Pos_Nr <> "" Prüfe dann wiederholt er die Inpubox bei leerem
Eingang. Sobald ich jedoch zusätzlich noch Left(Pos_Nr, 2) > 0 AND Right(Pos_Nr, 2) = 0
prüfe, bringt er die Inputbox bei leerer Eingabe nicht mehr sondern prüft
nur noch die Zahlen wenn welche eingegeben wurden 

[Diese Nachricht wurde von InFlames am 12. Jun. 2015 editiert.]

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

bgrittmann
Moderator
Konstrukteur


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

Beiträge: 11780
Registriert: 30.11.2006

CATIA V5R19

erstellt am: 12. Jun. 2015 14:07    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 InFlames 10 Unities + Antwort hilfreich

Servus
Ich würde die Rückgabe eher in ein Zahl konvertieren und dann prüfen. zB
Code:
If IsNumeric(Pos_Nr) Then
  If (CInt(Pos_Nr) >= 1000) And CInt(Pos_Nr) < 10000 And (CInt(Pos_Nr) Mod 100 = 0) Then
      PositionsNummer = True
  End If
End If
Gruß
Bernd

PS: ggf noch "Cancel" oder ESC abfangen

------------------
Warum einfach, wenn es auch kompliziert geht.

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