vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Schützen Sie Ihre Software vor Software-Piraterie - mit sevLock 1.0 DLL!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2024
 
zurück
Rubrik: Controls · TextBox & RichTextBox   |   VB-Versionen: VB4, VB5, VB622.10.03
Umlaute während der Texteingabe ersetzen

Sollen Umlaute während der Texteingabe autom. in ae, oe, ue usw. ersetzt werden? Dann sollte Ihnen dieser Tipp weiterhelfen.

Autor:   Dieter OtterBewertung:     [ Jetzt bewerten ]Views:  13.473 
www.tools4vb.deSystem:  Win9x, WinNT, Win2k, WinXP, Win7, Win8, Win10, Win11 Beispielprojekt auf CD 

Sollen Umlaute (äöü, ÄÖÜ) bereits während der Texteingabe entsprechend umgewandelt werden (Ae, Oe, Ue, usw.), lässt sich das wie folgt realisieren:

Private Sub Text1_KeyPress(KeyAscii As Integer) 
  Dim nSelLen As Integer 
  Dim nPos As Integer 
 
  ' Umlaute
  Const sCheck As String = "äöüÄÖÜ" 
  Const sChange As String = "aouAOU" 
 
  With Text1 
    ' Wurde ein Umlaut eingegeben?
    nPos = InStr(sCheck, Chr$(KeyAscii)) 
    If nPos > 0 Then 
      ' Ist ein Textbereich markiert?
      nSelLen = .SelLength 
 
      ' Eingabe "blocken" und entsprechend ersetzen
      KeyAscii = 0 
      .SelText = Mid$(sChange, nPos, 1) + "e" 
 
      ' Falls kein Textbereich markiert war,      
      ' aktuelle Eingabeposition um 2 nach rechts setzen
      If nSelLen = 0 Then .SelStart = .SelStart + 2 
    End If 
  End With 
End Sub