Avatar billede mega-hawk Nybegynder
11. december 2010 - 18:15 Der er 10 kommentarer og
1 løsning

Hjælp til "komma" i lommeregner.

Jeg er lige igang med at lave en lommeregner og har fået lavet mig denne linje:
Private Sub btnKomma_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnKomma.Click
        If InStr(TextBox1.Text, ",") = 0 Then
            TextBox1.Text &= ","
        End If
    End Sub

Problemet er bare at hvis jeg taster 5, bliver resultatet ,5 ind til jeg trykker på en ny tast eks 6.
Så vi starter med 5 og så trykker jeg , og får ,5 og trykker 6 og får så 5,6.

Dette er selvfølgelig ikke meningen.
Har prøvet med text1.refresh og med update intet hjælper dog.
Hvad kan der være galt her?
Avatar billede arne_v Ekspert
11. december 2010 - 21:10 #1
Hvad med eksplicit:

TextBox1.Text = TextBox1.Text & ","
Avatar billede mega-hawk Nybegynder
11. december 2010 - 21:17 #2
Ret mig lige hvis jeg er forkert på den men er
TextBox1.Text &= ","
ikke det samme som
TextBox1.Text = TextBox1.Text & ","  ??

Men den har jeg så ogs prøvet og det virkede heller ikke
Avatar billede arne_v Ekspert
11. december 2010 - 21:26 #3
Det burde det være. Men man checker jo lige.

Hvis:

TextBox1.Text = TextBox1.Text & ","

sætter komma ind foran, så ligger fejlen et helt andet sted i don kode.
Avatar billede mega-hawk Nybegynder
11. december 2010 - 21:33 #4
Et lille udsnit

    Private Sub Btn1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Btn1.Click
        If TextBox1.Text = "0" Then
            TextBox1.Text = "1"
        Else
            TextBox1.Text &= 1
        End If
    End Sub


Public Sub BtnPlus_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnPlus.Click
        værdi1 = (Decimal.Parse(TextBox1.Text))
        streng = "+"
        TextBox1.Text = "0"
    End Sub


Private Sub btnLigMed_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnLigMed.Click
        værdi2 = (Decimal.Parse(TextBox1.Text))
        Dim iResult As Decimal
        Select Case streng
            Case Is = "+"
                iResult = (værdi1 + værdi2)
            Case Is = "-"
                iResult = (værdi1 - værdi2)
            Case Is = "*"
                iResult = (værdi1 * værdi2)
            Case Is = "/"
                iResult = (værdi1 / værdi2)
        End Select
        TextBox1.Text = iResult.ToString
    End Sub

Dette burde være nok til du kunne fortælle mig hvor fejlen er
Avatar billede arne_v Ekspert
12. december 2010 - 03:56 #5
No.

Jeg kan virkeligt ikke se noget i den kode som kan vende "5," til ",5".
Avatar billede mega-hawk Nybegynder
12. december 2010 - 09:18 #6
Så tjek hele koden

http://gratisupload.dk/vis/53503/

Se om du kan finde noget jeg har overset
Avatar billede arne_v Ekspert
12. december 2010 - 23:08 #7
Dit program virker fint hos mig - ingen komma problemer her.
Avatar billede mega-hawk Nybegynder
13. december 2010 - 10:07 #8
Det forstår jeg ingen ting af.

Når jeg kører det fra visual studio for jeg ,5 ind til jeg taster næste tal...

Nogen ide om hvad der kan være galt for det er da godt nok svært at lede efter en fejl hvis der ikke er en fejl
Avatar billede Mads Larsen Nybegynder
13. december 2010 - 13:17 #9
Det er ikke evt. en "RightToLeft" som står til true?
Avatar billede mega-hawk Nybegynder
19. december 2010 - 12:49 #10
It-GuFFe smider du et svar da det jo var det som var problemet, dog forstår jeg stadig ikke hvorfor det ikke er flyttet med over til Arne da han hentede programmet
Avatar billede Mads Larsen Nybegynder
20. december 2010 - 08:13 #11
Det skal jeg så ikke kunne sige :)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester