Fetstil Fetstil Kursiv Understrykning linje färgläggning tabellverk Punktlista Nummerlista Vänster Centrerat högerställt Utfyllt Länk Bild htmlmode
  • Forum & Blog
    • Forum - översikt
      • .Net
        • asp.net generellt
        • c#
        • vb.net
        • f#
        • silverlight
        • microsoft surface
        • visual studio .net
      • databaser
        • sql-server
        • databaser
        • access
        • mysql
      • mjukvara klient
        • datorer och komponenter
        • nätverk, lan/wan
        • operativsystem
        • programvaror
        • säkerhet, inställningar
        • windows server
        • allmänt
        • crystal reports
        • exchange/outlook
        • microsoft office
      • mjukvara server
        • active directory
        • biztalk
        • exchange
        • linux
        • sharepoint
        • webbservers
        • sql server
      • appar (win/mobil)
      • programspråk
        • c++
        • delphi
        • java
        • quick basic
        • visual basic
      • scripting
        • asp 3.0
        • flash actionscript
        • html css
        • javascript
        • php
        • regular expresssion
        • xml
      • spel och grafik
        • DirectX
        • Spel och grafik
      • ledning
        • Arkitektur
        • Systemutveckling
        • krav och test
        • projektledning
        • ledningsfrågor
      • vb-sektioner
        • activeX
        • windows api
        • elektronik
        • internet
        • komponenter
        • nätverk
        • operativsystem
      • övriga forum
        • arbete karriär
        • erbjuda uppdrag och tjänster
        • juridiska frågor
        • köp och sälj
        • matematik och fysik
        • intern information
        • skrivklåda
        • webb-operatörer
    • Posta inlägg i forumet
    • Chatta med andra
  • Konto
    • Medlemssida
    • Byta lösenord
    • Bli bonsumedlem
    • iMail
  • Material
    • Tips & tricks
    • Artiklar
    • Programarkiv
  • JOBB
  • Student
    • Studentlicenser
  • KONTAKT
    • Om pellesoft
    • Grundare
    • Kontakta oss
    • Annonsering
    • Partners
    • Felanmälan
  • Logga in

Hem / Forum översikt / inlägg

Posta nytt inlägg


Man ska inte kunna skriva bokstäver i textbox

Postades av 2005-12-24 02:07:33 - Mikael Lind, i forum visual basic - allmänt, Tråden har 8 Kommentarer och lästs av 818 personer

Hej!

Jag undrar hur man gör för att det endast ska gå att skriva siffror i en textbox?!

Tacksam för svar

//Mikael


Svara

Sv: Man ska inte kunna skriva bokstäver i textbox

Postades av 2005-12-24 02:52:25 - Björn Johansson

<code>
Private Sub Text1_KeyPress(KeyAscii As Integer)
If (KeyAscii < 48 Or KeyAscii > 57) And KeyAscii <> 8 And KeyAscii <> asc("-") Then KeyAscii = 0
End Sub
</code>

Källa: http://forums.dreamincode.net/showtopic12812.htm

Ej testat men det ser "korrekt" ut. :)

Lycka till och god jul.

/bj


Svara

Sv:Man ska inte kunna skriva bokstäver i textbox

Postades av 2005-12-24 10:31:09 - Göran Blomgren

Kanske en enklare lösning..
Private Sub Text1_Change()
If Len(Text1)>=1 then
If Not IsNumeric(Text1) Then
Text1=""
MsgBox"Inga bokstäver här"
end if
end if
End Sub

//Göran


Svara

Sv: Man ska inte kunna skriva bokstäver i textbox

Postades av 2005-12-24 12:05:20 - Andreas Hillqvist

Du kan självklart göra det med API:

Private Declare Function SetWindowLong Lib "user32" Alias _
    "SetWindowLongA" (ByVal hwnd As Long, _
                      ByVal nIndex As Long, _
                      ByVal _
                      dwNewLong As Long) As Long
Private Declare Function GetWindowLong Lib "user32" Alias _
    "GetWindowLongA" (ByVal hwnd As Long, _
                      ByVal nIndex As Long) As Long

Private Const GWL_STYLE    As Long = (-16)
Private Const ES_UPPERCASE As Long = &H8&
Private Const ES_LOWERCASE As Long = &H10&
Private Const ES_NUMBER    As Long = &H2000

Sub OnlyNumeric(TextBox As TextBox)
Dim DefStyle As Long
    DefStyle = GetWindowLong(TextBox.hwnd, GWL_STYLE)
    Call SetWindowLong(TextBox.hwnd, GWL_STYLE, DefStyle Or ES_NUMBER)
End Sub

Private Sub Form_Load()
    OnlyNumeric Text1
End Sub


Svara

Sv: Man ska inte kunna skriva bokstäver i textbox

Postades av 2005-12-24 12:08:07 - Andreas Hillqvist

Göran. Jag skulle inte klassa ditt exempel som användarvänligt.
Om användaren matar in ett belopp, råkar slinta på en tangent, och förlorar införd data.
En lämpligare lösning är då:

Sub RestoreNumeric(TextBox As TextBox)
Dim pos As Long
    If IsNumeric(TextBox.Text) Then
        TextBox.Tag = TextBox.Text
    Else
        pos = TextBox.SelStart
        TextBox.Text = TextBox.Tag
        TextBox.SelStart = pos
    End If
End Sub

Private Sub Text2_Change()
    RestoreNumeric Text2
End Sub


Svara

Sv:Man ska inte kunna skriva bokstäver i textbox

Postades av 2005-12-24 12:12:00 - Sven Åke Persson

Faen vad Ni strular med detta elementära problem. Gör så här
<code>
Private Sub Text1_KeyPress(KeyAscii As Integer)
'Normalt bör du tillåta dessa tecken tillsammans med siffror
'BackSpace, Tab, Enter, Komma, Minustecken, Punkt och 0 - 9
Select Case KeyAscii
Case 8, 9, 13, 44, 45, 46, 48 To 57
' Tillåt
'här byter du sida på 44 och 46 efter önskemål ,komma(,) punkt(.)
If KeyAscii = 46 Then KeyAscii = 44
' så här bör det vara konsekvent
' If KeyAscii = 44 Then KeyAscii =46
Case Is = 22 'användaren klistrar in Ctrl+V
If IsNumeric(Clipboard.GetText) Then _
Text1.Text = Replace(Clipboard.GetText, ",", ".")
Clipboard.Clear
Case Else
KeyAscii = 0
End Select
End Sub
</code>


Svara

Sv: Man ska inte kunna skriva bokstäver i textbox

Postades av 2005-12-25 14:27:58 - Martin Adrian

> Case Is = 22 'användaren klistrar in Ctrl+V

Jag brukar klistra in med Shift-Insert. Vad händer då?


Svara

Sv:Man ska inte kunna skriva bokstäver i textbox

Postades av 2005-12-25 15:56:03 - Sven Åke Persson

<b>Jag brukar klistra in med Shift-Insert. Vad händer då? </b>

You are "fucked" ;-)

Can´t win them all.

Gott Nytt År

Sven


Svara

Sv: Man ska inte kunna skriva bokstäver i textbox

Postades av 2005-12-25 19:11:53 - Göran Blomgren

Om uttrycket är numeriskt och inget annat tecken förekommer tex , eller . fungerar mitt exempel alldeles utmärkt.
För övrigt tar jag kritiken på allvar och har tacksamt noterat kod-exemplen.


Svara

Nyligen

  • 19:55 kick-off med fokus på hälsa?
  • 19:53 kick-off med fokus på hälsa?
  • 16:24 Föreslå en skönhetsklinik online
  • 16:23 Föreslå en skönhetsklinik online
  • 18:42 Hvor finder man håndlavede lamper
  • 18:41 Hvor finder man håndlavede lamper
  • 16:36 Allt du behöver veta om keramiskt
  • 16:14 Vem anlitar man egentligen när tak

Sidor

  • Hem
  • Bli bonusmedlem
  • Läs artiklar
  • Chatta med andra
  • Sök och erbjud jobb
  • Kontakta oss
  • Studentlicenser
  • Skriv en artikel

Statistik

Antal besökare:
Antal medlemmar:
Antal inlägg:
Online:
På chatten:
4 570 722
27 958
271 751
344
0

Kontakta oss

Frågor runt konsultation, rådgivning, uppdrag, rekrytering, annonsering och övriga ärenden. Ring: 0730-88 22 24 | pelle@pellesoft.se

© 1986-2013 PelleSoft AB. Last Build 4.1.7169.18070 (2019-08-18 10:02:21) 4.0.30319.42000
  • Om
  • Kontakta
  • Regler
  • Cookies