vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
SEPA-Dateien erstellen inkl. IBAN-, BLZ-/Kontonummernprüfung  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2025
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

Visual-Basic Einsteiger
Re: Zeichen nach dem Komma 
Autor: JAG
Datum: 25.01.08 14:50

Hallo Oliver,

nachfolgender Code dürfte wohl alle Deine Wünsche, bezüglich der Eingabe von Zahlen in eine TextBox, erfüllen.
Option Explicit
Dim sSt As Integer
 
Private Sub Text1_KeyPress(KeyAscii As Integer)
 
    Select Case KeyAscii   '-- Tastenfreigabe
        Case 48 To 57: Case 8, 44  '-- Zahlen 0 - 9, Backspace und Komma
        Case Else
            KeyAscii = 0: Beep
    End Select
 
 
    With Text1
        '-- 1. max. Länge der Gesamteingabe festlegen
        .MaxLength = 16
 
        '-- 2. kein zweites Komma möglich wenn schon eins vorhanden
        If KeyAscii = 44 And InStrRev(.Text, ",") > 0 Then KeyAscii = 0: Beep
 
        '-- 3. wenn Komma an 1. Position dann automatisch eine Null davor
        If .SelStart = 0 And KeyAscii = 44 Then .Text = "0": .SelStart = 2
 
        '-- 4. kein Komma an 1. Position möglich (Option zu 3.)
     '   If .SelStart = 0 And KeyAscii = 44 Then KeyAscii = 0: Beep
 
        '-- 5. max. 2 Stellen hinter Komma. Eingabe von Zahlen vor Komma möglich
        If InStr(StrReverse(.Text), ",") > 2 And .SelStart > InStrRev( _
          .Text, ",") - 1 And KeyAscii <> 8 Then KeyAscii = 0: Beep
 
        '-- 6. max. 2 Stellen hinter Komma. Eingabe vor Komma nicht möglich ( 
        ' Option zu 5.)
     '   If InStr(StrReverse(.Text), ",") > 2 And KeyAscii <> 8 Then 
     ' KeyAscii = 0: Beep
 
        '-- 7. Komma in Mitte der Zahleneingabe möglich. Eingabe wird auf 2 
        ' Stellen hinter Komma abgeschnitten
        If .SelStart < Len(.Text) And KeyAscii = 44 Then sSt = .SelStart: .Text _
          = Left(.Text, sSt + 2): .SelStart = sSt
 
        '-- 8. Komma in Mitte der Zahleneingabe nicht möglich (Option zu 7.)
     '   If .SelStart < Len(.Text) And KeyAscii = 44 Then KeyAscii = 0: Beep
    End With
 
End Sub
Zusätzlich noch das Einfügen aus Zwischenablage verhindern.
Code aus Tipp http://www.vbarchiv.net/archiv/tipp_details.php?pid=1262

Noch viel Spaß beim Proggen.

Gruß JAG
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Zeichen nach dem Komma1.107TheReaper24.01.08 19:11
Re: Zeichen nach dem Komma807Zardoz24.01.08 21:00
Re: Zeichen nach dem Komma926JAG25.01.08 14:50
Re: Zeichen nach dem Komma733TheReaper26.01.08 08:47

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2025 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel