Strona: [  << <   1   > >>  ]  z  1     
Autor Temat: formatowanie TEXT BOX
Zbyszek




Typ: neutral
Postów: 8
Zarejestrowany: Feb 2004
formatowanie TEXT BOX

Proszę o pomoc przy formacie TEXT BOX tak aby można było wprowadzić tylko liczbę z 2 znakami po przecinku np. 123,45

09-02-2004 13:38
Pokaż profil Zbyszek  Wyślij email do Zbyszek   
Jelcyn
Admin forum




Typ: admin
Postów: 895
Zarejestrowany: Apr 2002

troche zamotany, ale ten sampel działa :-)

Private Sub Text1_KeyPress(KeyAscii As Integer)
    Dim X As Boolean
    Dim a As Long
   
    X = False
    If KeyAscii >= Asc("0" And KeyAscii <= Asc("9" Then X = True
    If KeyAscii = Asc("." And InStr(1, Text1.Text, "." = 0 And InStr(1, Text1.Text, "," = 0 And Len(Text1.Text) > 0 Then X = True
    If KeyAscii = Asc("," And InStr(1, Text1.Text, "," = 0 And InStr(1, Text1.Text, "." = 0 And Len(Text1.Text) > 0 Then X = True
   
    For a = 1 To Len(Text1.Text)
        If Mid$(Text1.Text, a, 1) = "." Or Mid$(Text1.Text, a, 1) = "," Then
            If Len(Text1.Text) - a = 2 Then X = False
            Exit For
        End If
    Next a
   
    If KeyAscii = 8 Then X = True
   
    If X = False Then KeyAscii = 0
End Sub


_____________________________________________
Jelcyn
vb4all(małpka)canpol.pl
http://www.coderscity.pl/no-vb4all * http://www.jelcyn.com

09-02-2004 19:08
Pokaż profil Jelcyn  Wyślij email do Jelcyn   Odwiedź stronę Jelcyn       270849979    6237704
Jelcyn
Admin forum




Typ: admin
Postów: 895
Zarejestrowany: Apr 2002

cholerne forum zamienia niektóre znaki na uśmieszki, wysłałem kod na maila


_____________________________________________
Jelcyn
vb4all(małpka)canpol.pl
http://www.coderscity.pl/no-vb4all * http://www.jelcyn.com

09-02-2004 19:09
Pokaż profil Jelcyn  Wyślij email do Jelcyn   Odwiedź stronę Jelcyn       270849979    6237704
losmac
"profesorek"




Typ: neutral
Postów: 758
Zarejestrowany: May 2003
a ja proponuję...

Podaje Ci przykład z sztuczką.
Dużo czytelniejszy i łatwiejszy w zrozumieniu niż mojego poprzednika (bez urazy, Jelcyn )

Private Sub TextBox1_KeyPress(ByVal KeyAscii As Integer)
Static poz As Long 'zachowuje wartosci do nastepnej zmiany - TU JEST SZTUCZKA!
Dim dl As Long


dl = Len(Me.TextBox1) 'pobierz dlugosc wprowadzonego tekstu

Select Case KeyAscii 'jaki kod klawisza?
    Case 48 To 57
        'prawidlowe wartosci 0-9
    Case 44
        poz = dl
    Case Else
        MsgBox "To nie jest cyfra!"
        KeyAscii = 0
End Select

'jesli roznica miedzy polozeniem przecinka a ostatnia liczba jest rowne 3, nie pozwol nic wpisac
If poz > 0 And (dl - poz) = 3 Then KeyAscii = 0

End Sub

[Post edytowany dnia 09-02-2004 20:32 przez losmac]


_____________________________________________
POSTULATY STARUSZKA:
1) Ludzie, dbajcie o polszczyznę!!!
2) Ludzie, zadawajcie kompletne pytania, a nie rzucacie ochłapy i trzeba się domyślać o co chodzi!!!

Powodzenia
Maciej Łoś

09-02-2004 20:28
Pokaż profil losmac  Wyślij email do losmac   Odwiedź stronę losmac  
Jelcyn
Admin forum




Typ: admin
Postów: 895
Zarejestrowany: Apr 2002

mój przykład jest lepszy bo możesz wpisać przecinek albo kropkę, nie możesz wpisać jednocześnie obu tych znaków, poza tym ma włączony support dla klawisza BackSpace ;-)


_____________________________________________
Jelcyn
vb4all(małpka)canpol.pl
http://www.coderscity.pl/no-vb4all * http://www.jelcyn.com

09-02-2004 22:27
Pokaż profil Jelcyn  Wyślij email do Jelcyn   Odwiedź stronę Jelcyn       270849979    6237704
Zbyszek




Typ: neutral
Postów: 8
Zarejestrowany: Feb 2004

Dzięki za pomoc!!!

10-02-2004 09:23
Pokaż profil Zbyszek  Wyślij email do Zbyszek   
Wszystkich odpowiedzi: 5 :: Maxymalnie na stronę: 20
Strona: [  << <   1   > >>  ]  z  1