Neuigkeiten:

Wenn ihr euch für eine gute Antwort bedanken möchtet, im entsprechenden Posting einfach den Knopf "sag Danke" drücken!

Mobiles Hauptmenü

Bei der Eingabe einen Punkt in ein Komma umwandeln

Begonnen von Bernd Sowa, Oktober 01, 2024, 10:33:47

⏪ vorheriges - nächstes ⏩

Bernd Sowa

Hallo zusammen,
ich würde mich über eure Hilfe freuen.

ich habe ein Textfeld [Start_Naht] in das entweder die Zahlen 0 bis 9 eingegeben werden dürfen oder Kommazahlen wie z.B. 1,1.
Ich habe die Eingabemöglichkeiten auf diese Zeichen begrenzt was auch gut funktioniert.
Allerdings führt es dazu, das bei der Eingabe eines Punktes anstelle eines Kommas, dieser Punkt ignoriert wird.
Aus der Eingabe 1.1 wird dann 11.

Verwendet habe ich folgenden Code:

Private Sub Start_Naht_KeyPress(KeyAscii As Integer)
 Select Case KeyAscii
    Case 1, 8, 44, 48 To 57   ' hier wird definiert, welche Zeichen zugelassen sind komma =44, Punkt =46
    Case Else
      KeyAscii = 0
  End Select
 End Sub

Gigt es eine Möglichkeit diesen code so zu verändern, das bei der Eingabe ein Punkt in ein Komma umgewandelt wird?

Mir würde schon reichen wenn bei einer Eingabe eines Punktes eine MsgBox aufploppt und den Benutzer darauf aufmerksam macht das keine Punkte erlaubt sind.

MzKlMu

#1
Hallo,
na dann wandle doch, Du wandelst ja auch zu Ascii 0  ;D
Private Sub Start_Naht_KeyPress(KeyAscii As Integer)
 Select Case KeyAscii
    Case 1, 8, 44, 48 To 57   ' hier wird definiert, welche Zeichen zugelassen sind komma =44, Punkt =46
    Case 46
      Msgbox "Punkt nicht erlaubt, wird zu Komma geändert"
      KeyAscii = 44
    Case Else
      KeyAscii = 0
  End Select
 End Sub

Auf die MsgBox kann verzichtet werden.
Die Prüfung auf Case 1 kann mMn auch entfallen.
Und Enter (13) solltest Du zulassen.
Gruß Klaus

Bernd Sowa


Knobbi38

Hallo Bernd,

neben dem <CR> (Enter/13), wie Klaus schon angemerkt hat, solltest du aber auch <ESC> (Escape/27) für das UNDO zulassen und evtl. die Vorzeichen +/-. Im Prinzip könntest du gleich alle Steuerzeichen < 32 zulassen, die würden nicht stören.

Warum läßt du eigentlich explizit das Zeichen <SOH> (1) zu, das erschließt sich mir jetzt nicht.

Gruß
Ulrich