http://www.irt.org/script/8.htm
Fiksumpi, saisiko tuon funktion käännettynä VB6:lle ?
Tuossa on yksi toteutus:
Function LisaaPilkut(luku As String) As String If Len(luku) < 4 Then LisaaPilkut = luku Else LisaaPilkut = LisaaPilkut(Left(luku, Len(luku) - 3)) & "," & Right(luku, 3) End If End Function
Yllä olevaa funktiota käytetään näin:
MsgBox LisaaPilkut(1234567)
Toinen ratkaisu on käyttää funktiota Format seuraavasti:
MsgBox Format(1234567, "#,#")
Tässä tapauksessa tuhaterotin riippuu Windowsin kieliasetuksista. Esimerkiksi suomen kielessä tuhaterotin on välilyönti eikä pilkku.
Kun txtAttackXP muuttuu, VB herjaa "ByRef argument type mismatch" TotalEnemies-muuttujasta yritettäessä ajaa sitä LisaaPilkut(käänsin sen -> AddComma) läpi.
Option Explicit Dim TotalEnemies As Integer Dim XPgain As Integer Dim EnemyHits As Integer Dim AttackType As String Private Sub Calcu() On Error Resume Next ' välistä poistettu koodia lblResults.Caption = "You need to kill " & AddComma(TotalEnemies) & txtEnemyHP.Text & "HP enemies to gain " & AddComma(XPgain) & "XP for level " & txtTargetLVL.Text & " " & AttackType End Sub Private Function AddComma(integerNumber As String) As String If Len(integerNumber) < 4 Then AddComma = integerNumber Else AddComma = AddComma(Left(integerNumber, Len(integerNumber) - 3)) & "," & (Right(integerNumber, 3)) End If End Function
Kutsu funktiota näin: AddComma((TotalEnemies))
.
Aihe on jo aika vanha, joten et voi enää vastata siihen.