Punt komma probleempje

Status
Niet open voor verdere reacties.

old Hippy

Gebruiker
Lid geworden
24 mei 2008
Berichten
911
Hallo allemaal

ik heb een probleem met puntkomma
de code die ik gebruik is deze in de OffertebedragTextBox_TextChanged

Code:
OffertebedragTextBox.Text = OffertebedragTextBox.Text.Replace(".", ",")

probleem is dat als het bedrag is 15.000,00

het er 15,000,00 van maakt is dit optelossen????
 
De code die je gebruikt zegt: vervang . (punt) door , (komma).
En dat doet-ie.

Als je de punt niet wilt vervangen door een komma,
waarom gebruik je dan die code?
 
Probeer deze code eens:

Code:
OffertebedragTextBox.Text = FormatNumber(OffertebedragTextBox.Text, 2)
 
Probleem is dat het numerieke toetsenbord word gebruikt en dat is een punt.
zo als je weet is dat in ons getallenstelsel een scheiding teken voor de duizend tallen.
alles na de 999,99 geeft dus het probleem.
 
Ik denk het te zoeken in key mapping.
Misschien iemand hier ervaring mee????????
 
Bij mij werkt de code van tobiastheebe gewoon?
FormatNumber("15000,00", 2) wordt 15.000,00
 
ik denk dat we naast elkaar werken.
probeer het als volgt uit.

geef in een textbox het getal met het numerieke toetsenboard in dus 2200.00
let op de punt moet een komma worden dat werkt in de textbox komt dan 2.200,00 te staan

als er dan weer een optelling word gemaakt komt er 2,200,00 te staan.

je kan met het numerieke toetsenboard geen komma geven
 
Laatst bewerkt:
Ik heb wel iets maar weet niet of je dit zoekt.

Dan is de punt van de duizend tallen er niet en er moet altijd een punt of komma gebruikt worden .


bv 2.200.00 wordt dan 2200,00

Code:
 Private Sub TextBox30_Validating(ByVal sender As Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles TextBox30.Validating
        Dim t_tekst As String, d_sep As Boolean, c_placed As Boolean, lgt As Integer

        If TextBox30.Text = "" Then Exit Sub

        d_sep = False
        lgt = Len(TextBox30.Text)
        t_tekst = vbNullString

        For i As Integer = 1 To lgt
            Select Case Mid(TextBox30.Text, i, 1)
                Case ".", ","
                    d_sep = True
                Case Else
                    If i >= lgt - 2 Then
                        If d_sep And Not c_placed Then
                            t_tekst = t_tekst & ","
                            c_placed = True
                        End If
                    End If
                    t_tekst = t_tekst & Mid(TextBox30.Text, i, 1)
            End Select
        Next

        If Not d_sep Then
            MsgBox(" Let op geen correct getal!")
        Else
            TextBox30.Text = t_tekst
        End If
    End Sub


    Private Sub Textbox30_Textchanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles TextBox30.TextChanged
        Dim a_chars As String = "0123456789.,", t_tekst As String, i As Integer
        For i = 1 To Len(TextBox30.Text)
            If InStr(a_chars, Mid(TextBox30.Text, i, 1)) = 0 Then
                MsgBox("Let op geen correct getal")
            Else
                t_tekst = t_tekst & Mid(TextBox30.Text, i, 1)
            End If
        Next
        TextBox30.Text = t_tekst
        TextBox30.SelectionStart = i



     
    End Sub
 
Beste Doofenshmirt

Dit lijkt te werken gelukkig niet teveel textboxen.

Ben hier even mee geholpen.
op internet vond ik app's waar mee je je toetsen board kan mappen.
dit is interessant en ga daar nog wat verder in zoeken.
lijkt mij wel makkelijk om in je eigen app toetsen te kunnen te manipuleren.
mischien is er hier iemand die daar al wat mee gedaan heefd

In ieder geval bedankt voor je hulp.
Old Hippy
 
Hallo allemaal

ik heb het volgende gevonden en dat werkt.
hier mee manipuleer je het toetsenboard.
gevonden op Helpmij.

Code:
Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layout]
"Scancode Map"=hex:00,00,00,00,00,00,00,00,02,00,00,00,33,00,53,00,00,00,00,00

deze code opgeslagen met de extensie .reg (ScancodeMap.reg)
dubbelklik en de sleutel wordt weg geschreven.
pc op nieuw opstarten en hopla numeriek toetsenbord geeft een komma.

Wat ik zou willen is deze code met een button ingeven van uit mijn app.
en met een andere button weer verwijderen.
ik heb echter geen ervaring met het register hoe dit aan te pakken.
kan iemand mij hier bij helpen????

Groet Old Hippy
 
Dan moet je het programma wel steeds als administrator opstarten, want anders krijg je een foutmelding...

Pim

PS Ik had ooit nog een website gevonden over het register in Visual Basic. Ik ga die vandaag nog even zoeken en de link geven.
 
Pim15

Beste pim15 als ik een setup van mijn programma maak stel ik het in als administrator.
dus is dat geenprobleem.
 
Laatst bewerkt:
Hi pim15

Dank voor je moeite.
maar het probleem is dat in deze( [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layout] )
Deze REG_BINARY code geplaatst moet worden( "Scancode Map"=hex:00,00,00,00,00,00,00,00,02,00,00,00,33,00,53,00,00,00,00,00 )

Groet Old Hippy
 
Heb je het wel doorgelezen? Want als het goed is moet daar alles staan om dat te maken...

Pim
 
Door gelezen en uit geprobeerd op div manieren

Maar het lukt mij niet
 
Het lukt me handmatig al niet, dus automatisch zal het ook wel niet lukken...

Pim
 
Ha Pim15
Fijn dat je het hebt geprobeerd dank hier voor.

Maar overal is een oplossing voor ook al is het niet zo mooi.

ik heb het kladblok bestand met de code opgeslagen als scancodemap.reg

met een button doe ik het volgende.
Code:
 Process.Start(System.Windows.Forms.Application.StartupPath & "\Administratie\scancodemap.reg")

De sleutel is nu geplaatst en voor het verwijderen.
Code:
 Process.Start("regedit.exe")

Zoek de code en verwijder de sleutel op nieuw opstaren en klaar

nog maal bedankt en groet Old Hippy
 
Dat had ik ook al gedaan, maar bij mij werkte het niet. Maar gelukkig werkt het bij jou wel. Kan je de inhoud van de .reg bestanden hier ook neerzetten?

Pim
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan