Strona: [  << <   1   > >>  ]  z  1     
Autor Temat: Zamiana liczb
ZIM




Typ: neutral
Postów: 2
Zarejestrowany: Mar 2003
Zamiana liczb

Czy macie moze gotowy schemat do przeliczania liczb na wersje slowna ? Jesli tak prosil bym o linka lub podeslanie na maila.

14-03-2003 18:17
Pokaż profil ZIM  Wyślij email do ZIM   
Chudy
[TLHW]Wiktor



Typ: moderator
Postów: 574
Zarejestrowany: Aug 2002

Zajrzyj do działu Tips


_____________________________________________
Projekt "Thunder Cannons" nadchodzi...

14-03-2003 20:15
Pokaż profil Chudy  Wyślij email do Chudy   Odwiedź stronę Chudy       1220895
ZIM




Typ: neutral
Postów: 2
Zarejestrowany: Mar 2003

Przepraszam i dziekuje za wyrozumialosc. Zlapales mnie na lenistwie .  Niestety mam ciezka sprawe potrzebuje konwertowac liczby na niemiecki, a oni maja inna skladnie i nie wystarczy proste tlumaczenie .  Wielkie dzienki za pomoc

14-03-2003 23:32
Pokaż profil ZIM  Wyślij email do ZIM   
keen




Typ: neutral
Postów: 2
Zarejestrowany: Aug 2003

Ten kod znalazłem niechcący   przeglądając z nudów gazete "Komputer Świat expert" u kumpla.
Było to makro w arkuszu exela ale w VB działa idealnie.

Option Explicit
Dim Idziesiatka

Function SLOWNIE(ByVal Numer)
    Dim temps, tempd, tempj, zlote, grosze, Licznik, grd, grj, MiejsceDz, T_S
   
    If Numer = 0 Then
    SLOWNIE = "zero zł zero gr"
    Exit Function
    End If
   
    If Numer > 9999999999999.99 Or Numer < 0 Then
    MsgBox "Funkcja konwertuje poprawnie tylko od 0 do 9999999999999,99"
    SLOWNIE = "zły zakres"
    Exit Function
    End If
   
    Numer = Trim(Str(Numer))
    MiejsceDz = InStr(Numer, "."
   
    If MiejsceDz > 0 Then
        grosze = Left(Mid(Numer, MiejsceDz + 1) & "00", 2)
        grd = Dziesiatki(Right(grosze, 2))
        If Idziesiatka <> 1 Then
            grj = Jednostki(Right(grosze, 1))
        End If
        grosze = " " & grd & grj & "gr"
        Numer = Trim(Left(Numer, MiejsceDz - 1))
    Else
        grosze = " zero gr"
    End If
   
    If Numer <> "" Then
        Licznik = 1
        Do While Numer <> ""
            temps = ""
            tempd = ""
            tempj = ""
            temps = Setki(Right("000" & Numer, 3))
            tempd = Dziesiatki(Right("00" & Numer, 2))
        If Idziesiatka <> 1 Then
            tempj = Jednostki(Right(Numer, 1))
        End If
       
        Select Case Licznik
            Case 1: T_S = temps & tempd & tempj
            Case 2: T_S = temps & tempd & tempj & KTys(Numer)
            Case 3: T_S = temps & tempd & tempj & KMil(Numer, Licznik)
            Case 4: T_S = temps & tempd & tempj & KMil(Numer, Licznik)
            Case 5: T_S = temps & tempd & tempj & KMil(Numer, Licznik)
        End Select
        zlote = T_S & zlote
       
        If Len(Numer) > 3 Then
            Numer = Left(Numer, Len(Numer) - 3)
            Licznik = Licznik + 1
        Else
            Numer = ""
        End If
        Loop
    Else
        zlote = "zero "
    End If
    SLOWNIE = zlote & "zł" & grosze
End Function

Public Function KTys(ByVal Numer)
    Dim tys
        tys = Val(Right("000" & Numer, 3))
    If tys = 0 Then
        KTys = ""
        Else
            tys = Val(Right(Numer, 2))
        If tys = 1 Then
            KTys = "ąc "
        Else
            If tys = 12 Or tys = 13 Or tys = 14 Then
                KTys = "ęcy "
            Else
            tys = Val(Right(Numer, 1))
            Select Case tys
                Case 2, 3, 4: KTys = "ące "
                Case Else: KTys = "ęcy "
            End Select
            End If
        End If
        KTys = "tysi" & KTys
    End If
End Function

Public Function KMil(ByVal Numer, L)
    Dim mil
    Dim RzadW(5) As String
    RzadW(3) = "milion"
    RzadW(4) = "miliard"
    RzadW(5) = "bilion"
        mil = Val(Right("000" & Numer, 3))
    If mil = 0 Then
        KMil = ""
        Else
            mil = Val(Right(Numer, 2))
        If mil = 1 Then
            KMil = " "
        Else
            If mil = 12 Or mil = 13 Or mil = 14 Then
                KMil = "ów "
            Else
            mil = Val(Right(Numer, 1))
            Select Case mil
                Case 2, 3, 4: KMil = "y "
                Case Else: KMil = "ów "
            End Select
            End If
        End If
    KMil = RzadW(L) & KMil
    End If
End Function


Public Function Setki(ByVal Numer)
    Dim setka, wynik
    setka = Val(Left(Numer, 1))
    Select Case setka
    Case 1: wynik = "sto "
    Case 2: wynik = "dwieście "
    Case 3: wynik = "trzysta "
    Case 4: wynik = "czterysta "
    Case 5: wynik = "pięćset "
    Case 6: wynik = "sześćset "
    Case 7: wynik = "siedemset "
    Case 8: wynik = "osiemset "
    Case 9: wynik = "dziewięćset "
    End Select
   
Setki = wynik
End Function

Public Function Dziesiatki(ByVal Number)
    Dim wynik
    Idziesiatka = Val(Left(Number, 1))
    If Idziesiatka = 1 Then
   
    Select Case Val(Number)
        Case 10: wynik = "dziesięć "
        Case 11: wynik = "jedenaście "
        Case 12: wynik = "dwanaście "
        Case 13: wynik = "trzynaście "
        Case 14: wynik = "czternaście "
        Case 15: wynik = "piętnaście "
        Case 16: wynik = "szesnaście "
        Case 17: wynik = "siedemnaście "
        Case 18: wynik = "osiemnaście "
        Case 19: wynik = "dziewiętnaście "
    End Select
   
    Else
   
    Select Case Idziesiatka
        Case 2: wynik = "dwadzieścia "
        Case 3: wynik = "trzydzieści "
        Case 4: wynik = "czterdzieści "
        Case 5: wynik = "pięćdziesiąt "
        Case 6: wynik = "sześćdziesiąt "
        Case 7: wynik = "siedemdziesiąt "
        Case 8: wynik = "osiemdziesiąt "
        Case 9: wynik = "dziewięćdziesiąt "
    End Select
    End If
   
    Dziesiatki = wynik
   
End Function

Public Function Jednostki(ByVal Numer)
    Dim jedst, wynik
    jedst = Val(Right(Numer, 1))
    Select Case jedst
        Case 1: wynik = "jeden "
        Case 2: wynik = "dwa "
        Case 3: wynik = "trzy "
        Case 4: wynik = "cztery "
        Case 5: wynik = "pięć "
        Case 6: wynik = "sześć "
        Case 7: wynik = "siedem "
        Case 8: wynik = "osiem "
        Case 9: wynik = "dziewięć "
    End Select
    Jednostki = wynik
End Function

Nie jest to moje dzieło ale skoro zostało dołaczone do gazety to pewnie jest to freeware.

05-08-2003 01:30
Pokaż profil keen  Wyślij email do keen        4021690
Wszystkich odpowiedzi: 3 :: Maxymalnie na stronę: 20
Strona: [  << <   1   > >>  ]  z  1