Komma tal

Tags:    visual-basic

jeg har brugt formelen ..

Private Sub Text1_KeyPress(KeyAscii As Integer)
If Not IsNumeric(Chr(KeyAscii)) And Not KeyAscii = vbKeyBack Then KeyAscii = 0
End Sub

men jeg ville også godt kunne skrive komma.. hvordan gør jef det så jeg også kan skrive kommaer???


jeg har også laver en lommeregner uden formelen..

Private Sub Text1_KeyPress(KeyAscii As Integer)
If Not IsNumeric(Chr(KeyAscii)) And Not KeyAscii = vbKeyBack Then KeyAscii = 0
End Sub
men den kan ikkke regne med kommetal hvad gør jeg??



10 svar postet i denne tråd vises herunder
2 indlæg har modtaget i alt 2 karma
Sorter efter stemmer Sorter efter dato
jeg har brugt formelen ..
<pre>
Private Sub Text1_KeyPress(KeyAscii As Integer)
If Not IsNumeric(Chr(KeyAscii)) And Not KeyAscii = vbKeyBack Then KeyAscii = 0
End Sub
</pre>

men jeg ville også godt kunne skrive komma.. hvordan gør jef det så jeg også kan skrive kommaer???


jeg har også laver en lommeregner uden formelen..
<pre>
Private Sub Text1_KeyPress(KeyAscii As Integer)
If Not IsNumeric(Chr(KeyAscii)) And Not KeyAscii = vbKeyBack Then KeyAscii = 0
End Sub
</pre>
men den kan ikkke regne med kommetal hvad gør jeg??

Ændre koden så du må trykke komma i dette tilfælde , som ,

<pre>
Private Sub Text1_KeyPress(KeyAscii As Integer)
If Not IsNumeric(Chr(KeyAscii)) And Not KeyAscii = vbKeyBack And Not KeyAscii = 44 Then
KeyAscii = 0
End If
End Sub
</pre>

If Not IsNumeric(Chr(KeyAscii)) And Not KeyAscii = vbKeyBack And Not KeyAscii = 44 Then

denn linnie fortæller visual basic hvis det der trykkes ikke er et tallet, ikke slet og ikker er et komma, så

KeyAscii = 0

skriv det ikek i feltet.

mvh.
Thomas Christensen
-------------------------------------------------------
Visual Basic noget for dig?
tjek Visual Basic-Gruppen
http://www.udvikleren.dk/groups/?gid=41

[Redigeret d. 14/03-04 12:16:07 af Thomas Christensen]


jOw tak..

men hvad skal jeg gøre så det virker??

Du skal ændre den kode som du skrev til det jeg skrev.

eller du kan kopiere hele den kode jeg skrev og erstatte den med den kode du skrev.

så skulle det virker.

mvh.
Thomas Christesnsen
-------------------------------------------------------
Visual Basic noget for dig?
tjek Visual Basic-Gruppen
http://www.udvikleren.dk/groups/?gid=41



Jeg ville gøre sådan her:



Fold kodeboks ind/udKode 




/AC



jeg har brugt formelen ..
<pre>
Private Sub Text1_KeyPress(KeyAscii As Integer)
If Not IsNumeric(Chr(KeyAscii)) And Not KeyAscii = vbKeyBack Then KeyAscii = 0
End Sub
</pre>

men jeg ville også godt kunne skrive komma.. hvordan gør jef det så jeg også kan skrive kommaer???


jeg har også laver en lommeregner uden formelen..
<pre>
Private Sub Text1_KeyPress(KeyAscii As Integer)
If Not IsNumeric(Chr(KeyAscii)) And Not KeyAscii = vbKeyBack Then KeyAscii = 0
End Sub
</pre>
men den kan ikkke regne med kommetal hvad gør jeg??


Ændre koden så du må trykke komma i dette tilfælde , som ,

<pre>
Private Sub Text1_KeyPress(KeyAscii As Integer)
If Not IsNumeric(Chr(KeyAscii)) And Not KeyAscii = vbKeyBack And Not KeyAscii = 44 Then
KeyAscii = 0
End If
End Sub
</pre>

If Not IsNumeric(Chr(KeyAscii)) And Not KeyAscii = vbKeyBack And Not KeyAscii = 44 Then

denn linnie fortæller visual basic hvis det der trykkes ikke er et tallet, ikke slet og ikker er et komma, så

KeyAscii = 0

skriv det ikek i feltet.

mvh.
Thomas Christensen
-------------------------------------------------------
Visual Basic noget for dig?
tjek Visual Basic-Gruppen
http://www.udvikleren.dk/groups/?gid=41

[Redigeret d. 14/03-04 12:16:07 af Thomas Christensen]



jeg har brugt formelen ..
<pre>
Private Sub Text1_KeyPress(KeyAscii As Integer)
If Not IsNumeric(Chr(KeyAscii)) And Not KeyAscii = vbKeyBack Then KeyAscii = 0
End Sub
</pre>

men jeg ville også godt kunne skrive komma.. hvordan gør jef det så jeg også kan skrive kommaer???


jeg har også laver en lommeregner uden formelen..
<pre>
Private Sub Text1_KeyPress(KeyAscii As Integer)
If Not IsNumeric(Chr(KeyAscii)) And Not KeyAscii = vbKeyBack Then KeyAscii = 0
End Sub
</pre>
men den kan ikkke regne med kommetal hvad gør jeg??

Ændre koden så du må trykke komma i dette tilfælde , som ,

<pre>
Private Sub Text1_KeyPress(KeyAscii As Integer)
If Not IsNumeric(Chr(KeyAscii)) And Not KeyAscii = vbKeyBack And Not KeyAscii = 44 Then
KeyAscii = 0
End If
End Sub
</pre>

If Not IsNumeric(Chr(KeyAscii)) And Not KeyAscii = vbKeyBack And Not KeyAscii = 44 Then

denn linnie fortæller visual basic hvis det der trykkes ikke er et tallet, ikke slet og ikker er et komma, så

KeyAscii = 0

skriv det ikek i feltet.

mvh.
Thomas Christensen
-------------------------------------------------------
Visual Basic noget for dig?
tjek Visual Basic-Gruppen
http://www.udvikleren.dk/groups/?gid=41

[Redigeret d. 14/03-04 12:16:07 af Thomas Christensen]



jOw tak..

men hvad skal jeg gøre så det virker??



Jow tak nu kan jeg skrive dem men ikke regne med dem

hvordan gør jeg så jeg kam regne med komma tal???



Jow tak nu kan jeg skrive dem men ikke regne med dem

hvordan gør jeg så jeg kam regne med komma tal???


Så skal du hen i den kode hvor selve regning sker

hvis dit system er sat op til standarten i usa
er . = ,

hvis der er dansk
er , = ,

din kode ligner nok nået ligenend denne
<pre>
label1.caption=val(text1.text)+val(text1.text)
</pre>

en af måderne at komme uden om det problem er at replace komma med punktum

<pre>
Label1.Caption = Val(Replace(Text1.Text, ",", ".")) + Val(Replace(Text2.Text, ",", "."))
</pre>

Mvh.
Thomas Christensen
-------------------------------------------------------
Visual Basic noget for dig?
tjek Visual Basic-Gruppen
http://www.udvikleren.dk/groups/?gid=41

[Redigeret d. 14/03-04 13:51:03 af Thomas Christensen]



Jeg ville gøre sådan her:



Fold kodeboks ind/udKode 




/AC



desværre det virker ikke



desværre det virker ikke

Okay. Bare mærkeligt at det virker på min computer. :)



/AC



desværre det virker ikke
Okay. Bare mærkeligt at det virker på min computer. :)



/AC


Jow jeg har fået det til at virke med at kun må skrive tal og kommaer med dem kan ikke regne med det den siger 1,2+2 =3

og jeg ville have den til at sige 1,2+2 = 3,2



desværre det virker ikke
Okay. Bare mærkeligt at det virker på min computer. :)



/AC

Jow jeg har fået det til at virke med at kun må skrive tal og kommaer med dem kan ikke regne med det den siger 1,2+2 =3

og jeg ville have den til at sige 1,2+2 = 3,2

Det sandsynligvis fordi dit styresystem opfatter komma som tusindesdels sepparetor

og punktom som komma.


Så skal du hen i den kode hvor selve regning sker

din kode ligner nok nået ligenend denne
<pre>
label1.caption=val(text1.text)+val(text1.text)
</pre>

en af måderne at komme uden om det problem er at replace komma med punktum

<pre>
Label1.Caption = Val(Replace(Text1.Text, ",", ".")) + Val(Replace(Text2.Text, ",", "."))
</pre>

Mvh.
Thomas Christensen
-------------------------------------------------------
Visual Basic noget for dig?
tjek Visual Basic-Gruppen
http://www.udvikleren.dk/groups/?gid=41



t