vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Top-Preis! AP-Access-Tools-CD Volume 1  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2024
 
zurück

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

VB.NET - Ein- und Umsteiger
Re: Maskierte Textbox 
Autor: JimmyJo22
Datum: 18.03.10 19:30

Hey alles klar hat soweit geklappt,
nun die frage, ich habe jetzt z.b.

mal 1/9/3
dann mal

12/12/1034

o.ä.

strings die ich da in die box einlese und dann beareitet werden!
wie bekomme ich den die strings richtig eingelesen also mit der trennung immer nach / ?
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Maskierte Textbox 
Autor: JimmyJo22
Datum: 18.03.10 15:41

Hallo zusammen,

ich verusuche im moment eine textbox bzw eine maskedtextbox die "/" als Trennzeichen hat.

Im grunde so xx/xx/xxxx

man soll dann die xe ändern können aber die striche sollen fest sein also die Maske. Und dann würde ich gerne als String die komplette eingabe bekommen also z.b 12/12/1024, der string soll also auch die "/" enthalten.

Nur wie mache ich das? komme da nicht weiter.


MFG
JimmyJo
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Maskierte Textbox 
Autor: keco
Datum: 18.03.10 15:59

Eine MaskedTextBox verwenden.
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Maskierte Textbox 
Autor: Manfred X
Datum: 18.03.10 16:45

... mit folgender Maske:
MaskedTextBox1.Mask = "AA\/AA\/AAAA"
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Maskierte Textbox 
Autor: Manfred X
Datum: 18.03.10 20:01

Hallo!

Wie sehen die Eingaben aus und
als was sollen Sie "richtig" gelesen werden?

Geht es ggf. nur um das Entfernen von Spaces
(bei optionalen Digit-Stellen in der Maske)?

Etwa so?

Label1.Text = MaskedTextBox1.Text.Replace(" ", "")

Beitrag wurde zuletzt am 18.03.10 um 20:02:34 editiert.
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Maskierte Textbox 
Autor: JimmyJo22
Datum: 18.03.10 20:38

ALso ich lesen eine Datei aus mit mehreren werten z.b.

3/9/1
12/1/1234
/1/12/12

o.ä.

diese sollen dann in einer masked textbox landen der / bzw die 2 / sind pflicht nur will ich sozusagen die drei werte aus meinem original string nach dem / trennen und in die masked text box reinschreiben.


1. original textdatei: 76/1/28
2. string test=76/1/28
3. masked text box" / / "

und dann die werte 76 in den ersten abschnitt 1 in den zweiten und 28 in den dritten

Beitrag wurde zuletzt am 18.03.10 um 20:39:23 editiert.
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Maskierte Textbox 
Autor: Manfred X
Datum: 19.03.10 05:42

Hallo!

Die MaskedTextBox wird von links nach rechts
anhand der durch "Mask" festgelegten gültigen Zeichen gefüllt.

Zunächst muss man Trennzeichen, sowie Zahl und Länge der
Felder definieren und danach die Maske aufbauen - etwa so

   Dim TrennZeichen As String = "/"            'Feld-Trennzeichen
   Dim Fieldcount As Integer = 3               'Zahl der Felder
   Dim Max_FieldLength(Fieldcount) As Integer  'Länge der Felder (Zeichenzahl)
   Max_FieldLength(0) = 2
   Max_FieldLength(1) = 2
   Max_FieldLength(2) = 4
 
   'Aufbau der entsprechenden Maske (hier: für Ziffern)
   MaskedTextBox1.Mask = ""
   For i As Integer = 0 To Fieldcount - 1
      MaskedTextBox1.Mask &= _
      Microsoft.VisualBasic.StrDup(Max_FieldLength(i), "9")
      If i < Fieldcount - 1 Then _
      MaskedTextBox1.Mask &= "\" & TrennZeichen
   Next i
Das Verarbeiten von Zeichenfolgen aus einer Textdatei, die
nicht formatiert durch ein Programm gefüllt worden ist,
bedarf einer genauen Schrittfolge.

Beim Lesen eines String aus der Datei muss die
Zahl der Felder anhand des Trennzeichens ermittelt
und ggf. korrigiert werden.
Ungültige Zeichen aus den Feldern entfernen
(hier: nur Ziffern werden erlaubt)
Danach muss die Zeichenlänge der einzelnen Felder
eingerichtet (hier: rechtsbündig) und der
anzuzeigende String aufgebaut werden
(wg. Demo Schritt für Schritt):

    'Aus der Datei gelesener String (Beispiel)
    Dim dat_str As String = "76/aaa1234/28/33"
 
    'Zerlegung des String in Felder anhand der Trennzeichen
    Dim dat_fields() As String = dat_str.Split(CChar(TrennZeichen))
    If dat_fields.Length <> Fieldcount Then
       'Ungültige Zahl der Felder -> Anhängen oder Abschneiden?
       ReDim Preserve dat_fields(Fieldcount - 1)
    End If
 
    Const Ziffern As String = "0123456789" 'zulässige Zeichen
 
    Dim istr As String
    'Formatierung der Felder auf korrekte Länge
    For i As Integer = 0 To Fieldcount - 1
       'Zeichen, die keine Ziffern sind, ggf. entfernen
       istr = String.Empty
       If Not String.IsNullOrEmpty(dat_fields(i)) Then
          For z As Integer = 0 To dat_fields(i).Length - 1
             If Ziffern.Contains(dat_fields(i)(z)) Then
               istr &= dat_fields(i)(z)
             End If
          Next z
          dat_fields(i) = istr
       Else
           dat_fields(i) = String.Empty
       End If
 
       'zu kurze Strings verlängern
       While dat_fields(i).Length < Max_FieldLength(i)
          dat_fields(i) = " " & dat_fields(i)
       End While
       'zu lange Strings abschneiden
       dat_fields(i) = _
       dat_fields(i).Substring(0, Max_FieldLength(i))
    Next i
 
    'Aufbau des Anzeigestrings
    Dim display_string As String = String.Empty
    For i As Integer = 0 To Fieldcount - 1
       display_string &= dat_fields(i)
    Next i
 
    MaskedTextBox1.Text = display_string
Dieser Code entfernt - ohne Warnung - überzählige Felder
und ungültige/überzählige Zeichen aus dem Dateistring.
(Für "RegExer": Ich weiss, ich weiss ...)
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

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-2024 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