vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Brandneu! sevEingabe v3.0 - Das Eingabecontrol der Superlative!  
 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

Fortgeschrittene Programmierung
zahleneingabe in zweiergruppen, backspace problem! 
Autor: tomyverb
Datum: 11.06.10 08:50

hallo,

ich habe ein problem und komme nicht wirklich weiter.

mit unterem code ist es möglich, zahlen in zweigruppen einzugeben von rechts nach links,
soll heißen nach folgendem format "klijghefcdab"
wobei a die erste eingabestelle für die zahl 1 ist, b die zweite, c die dritte usw.

soweit klappt alles gut, nur ich möchte, das ich die zahlen auch in der textbox mit BACKSPACE korrigeren kann, also immer eine stelle zurückspringt und genau das bekomme ích nicht hin

programmiere leider auch noch mit VB5!

z.b. habe ich eingegeben "6544332211" sehe das die 6 falsch ist, drücke backspace und bin dann auf der position 6 und gebe korrigierend 5 ein!

hoffe habe das nicht zu kompliziert erklärt!

gruß
thomas


'eingabe von zahlen nach formatierung
'
'
'                   eingabeformat = "klijghefcdab"
'                   a=erste zahl, b=zweiter zahl, c=dritte zahl
'
'
'controls textfeld1, textfeld2
 
 
Dim eingabeformat As String
Dim zahl1 As String
Dim wert As String
 
 
Private Sub Form_Load()
'nach diesem eingabeschema soll formatiert werden...a=erste zahl, b=zweiter 
' zahl, c=dritte zahl
eingabeformat = "klijghefcdab"
 
'begrenze eingabefeld auf 12 stellen
Text1.MaxLength = 12
 
End Sub
 
Private Sub Text1_KeyPress(KeyAscii As Integer)
Dim Erlaubt$, aa$
 
'länge der aktuellen eingabe
lang = Len(Text1.Text)
 
'nur zahlen und backspace zulassen
 Erlaubt = "0123456789" & Chr$(8) & Chr$(13)
 aa = Chr$(KeyAscii)
 
 If InStr(1, Erlaubt, aa) = 0 Then
   KeyAscii = 0
     Exit Sub
   Else
  End If
 
'wenn keine eingabe, setze string eingabeformat wieder zurück
If lang = 0 Then eingabeformat = "klijghefcdab": Text2.Text = ""
 
 
'formatiere eingabe und gebe formatierung im textfeld2 aus...
 
If lang = 0 Then eingabeformat = StringReplace(eingabeformat, "a", Chr$( _
  KeyAscii)): Text2.Text = Chr$(KeyAscii) + " "
If lang = 1 Then eingabeformat = StringReplace(eingabeformat, "b", Chr$( _
KeyAscii)): Text2.Text = Right(eingabeformat, 2)
If lang = 2 Then eingabeformat = StringReplace(eingabeformat, "c", Chr$( _
KeyAscii)): Text2.Text = Chr$(KeyAscii) + " " + Right(eingabeformat, 2)
If lang = 3 Then eingabeformat = StringReplace(eingabeformat, "d", Chr$( _
KeyAscii)): Text2.Text = Right(eingabeformat, 4)
If lang = 4 Then eingabeformat = StringReplace(eingabeformat, "e", Chr$( _
KeyAscii)): Text2.Text = Chr$(KeyAscii) + " " + Right(eingabeformat, 4)
 
If lang = 5 Then eingabeformat = StringReplace(eingabeformat, "f", Chr$( _
  KeyAscii)): Text2.Text = Right(eingabeformat, 6)
If lang = 6 Then eingabeformat = StringReplace(eingabeformat, "g", Chr$( _
KeyAscii)): Text2.Text = Chr$(KeyAscii) + " " + Right(eingabeformat, 6)
If lang = 7 Then eingabeformat = StringReplace(eingabeformat, "h", Chr$( _
KeyAscii)): Text2.Text = Right(eingabeformat, 8)
If lang = 8 Then eingabeformat = StringReplace(eingabeformat, "i", Chr$( _
KeyAscii)): Text2.Text = Chr$(KeyAscii) + " " + Right(eingabeformat, 8)
If lang = 9 Then eingabeformat = StringReplace(eingabeformat, "j", Chr$( _
KeyAscii)): Text2.Text = Right(eingabeformat, 10)
If lang = 10 Then eingabeformat = StringReplace(eingabeformat, "k", Chr$( _
KeyAscii)): Text2.Text = Chr$(KeyAscii) + " " + Right(eingabeformat, 10)
If lang = 11 Then eingabeformat = StringReplace(eingabeformat, "l", Chr$( _
KeyAscii)):  Text2.Text = Right(eingabeformat, 12)
End Sub
 
Public Function StringReplace(sText As String, _
  sLookFor As String, sReplaceWith As String) As String
 
  Dim sNew As String
  Dim i As Integer
 
  For i = 1 To Len(sText)
    If Mid$(sText, i, Len(sLookFor)) = sLookFor Then
      sNew = sNew & sReplaceWith
      i = i - 1 + Len(sLookFor)
    Else
      sNew = sNew & Mid$(sText, i, 1)
    End If
  Next
  StringReplace = sNew
End Function
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
zahleneingabe in zweiergruppen, backspace problem!1.478tomyverb11.06.10 08:50
Re: zahleneingabe in zweiergruppen, backspace problem!996Zimmersofts26.06.10 16:21
Re: zahleneingabe in zweiergruppen, backspace problem!996Zimmersofts26.06.10 16:25

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