Помогите с модулем

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
nikemike
Обычный пользователь
Обычный пользователь
Аватара пользователя
 
Сообщения: 59
Зарегистрирован: 29.07.2005 (Пт) 11:36
Откуда: Chel

Помогите с модулем

Сообщение nikemike » 29.07.2005 (Пт) 11:41

Люди, помогите - вот скачал в инете модуль для вб чтобы переводить число в число прописью ну aka сумма прописью, вот весь его код. Помогите плиз, я полный чайник в вб ну это надо. Спасибо! :lol:
Код: Выделить всё
Attribute VB_Name = "NumbersInWords"
' (c) Andrew Usachov, 2:5100/87@fidonet, Andrejs.Usacovs@rota.lv
' (c) Anatoly Ressin, 2:5100/87.9@fidonet, Anatolijs.Ressins@rota.lv

Option Compare Database
Option Explicit

Function TriadInWords$(Triad$, Gender%, Unit1$, Unit2$, Unit5$)
    Dim Result$
    If Triad = "000" Then
        TriadInWords = ""
    Else
        Result = Choose(Mid(Triad, 1, 1) + 1, "", " сто", " двести", " триста", " четыреста", _
            " пятьсот", " шестьсот", " семьсот", " восемьсот", " девятьсот")
        If Mid(Triad, 2, 1) = 1 Then
            Result = Result & " " & Choose(Mid(Triad, 3, 1) + 1, "десять", "одиннадцать", _
                "двенадцать", "тринадцать", "четырнадцать", "пятнадцать", "шестнадцать", _
                "семнадцать", "восемнадцать", "девятнадцать") & " " & Unit5
        Else
            Result = Result & Choose(Mid(Triad, 2, 1) + 1, "", "", " двадцать", " тридцать", _
                " сорок", " пятьдесят", " шестьдесят", " семьдесят", " восемьдесят", " девяносто")
            Select Case Mid(Triad, 3, 1)
                Case 1: Result = Result & Choose(Gender, " один ", " одна ", " одно ") & Unit1
                Case 2: Result = Result & Choose(Gender, " два ", " две ", " два ") & Unit2
                Case 3: Result = Result & " три " & Unit2
                Case 4: Result = Result & " четыре " & Unit2
                Case Else: Result = Result & Choose(Mid(Triad, 3, 1) + 1, "", "", "", "", "", _
                    " пять", " шесть", " семь", " восемь", " девять") & " " & Unit5
            End Select
        End If
        TriadInWords = Result
    End If
End Function

Function NumberInWords(Number, Gender%, Unit1$, Unit2$, Unit5$)
    Dim Image$, Modulus$
    If IsNull(Number) Then
        NumberInWords = Null
    Else
        Image = Format(Abs(Number), String(15, "0"))
        If Image = 0 Then
            NumberInWords = Trim("ноль " & Unit5)
        Else
            If Len(Image) > 15 Then
                Modulus = " <много> " & Unit5
            Else
                Modulus = TriadInWords(Mid(Image, 1, 3), 1, "триллион", "триллионa", "триллионов") & _
                    TriadInWords(Mid(Image, 4, 3), 1, "миллиард", "миллиарда", "миллиардов") & _
                    TriadInWords(Mid(Image, 7, 3), 1, "миллион", "миллиона", "миллионов") & _
                    TriadInWords(Mid(Image, 10, 3), 2, "тысяча", "тысячи", "тысяч") & _
                    IIf(Mid(Image, 13, 3) = "000", " " & Unit5, _
                        TriadInWords(Mid(Image, 13, 3), Gender, Unit1, Unit2, Unit5))
            End If
            NumberInWords = Trim(IIf(Number < 0, "минус", "") & Modulus)
        End If
    End If
End Function

Function AmountInWords(Amount, Gender1%, Dollar1$, Dollar2$, Dollar5$, Gender2%, Cent1$, Cent2$, Cent5$)
    Dim Image$
    If IsNull(Amount) Then
        AmountInWords = Null
    Else
        Image = Format(Amount, "0.00")
        AmountInWords = IIf(Left(Image, 1) = "-", "минус ", "") & _
            NumberInWords(Abs(Left(Image, Len(Image) - 3)), Gender1, Dollar1, Dollar2, Dollar5) & _
            ", " & NumberInWords(Right(Image, 2), Gender2, Cent1, Cent2, Cent5)
    End If
End Function

Function IntegerInWords(Number)
    IntegerInWords = NumberInWords(Number, 1, "", "", "")
End Function

Function RoublesInWords(Amount)
    RoublesInWords = AmountInWords(Amount, 1, "рубль", "рубля", "рублей", 2, "копейка", "копейки", "копеек")
End Function

Function DollarsInWords(Amount)
    DollarsInWords = AmountInWords(Amount, 1, "доллар", "доллара", "долларов", 1, "цент", "цента", "центов")
End Function

Function MarksInWords(Amount)
    MarksInWords = AmountInWords(Amount, 2, "марка", "марки", "марок", 1, "пфеннинг", "пфеннинга", "пфеннингов")
End Function

RayShade
Scarmarked
Scarmarked
Аватара пользователя
 
Сообщения: 5511
Зарегистрирован: 02.12.2002 (Пн) 17:11
Откуда: Russia, Saint-Petersburg

Сообщение RayShade » 29.07.2005 (Пт) 12:04

Ээ... А с чем помочь то?

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 29.07.2005 (Пт) 12:33

Я скачал файл с сайта, но он оказался мне не нужен. Как мне вернуть его обратно? :)
Lasciate ogni speranza, voi ch'entrate.

Шурик
Самогонщик
Самогонщик
Аватара пользователя
 
Сообщения: 1657
Зарегистрирован: 30.06.2003 (Пн) 13:27
Откуда: из запоя :))))) Матных сообщений: 972

Сообщение Шурик » 29.07.2005 (Пт) 12:40

гыыыыыы)))))) офф:
У меня уже 2 года установлен windows 95 и он не разу не завис и не заглючил. Что я делаю не так :lol: :lol: :lol:

nikemike
Обычный пользователь
Обычный пользователь
Аватара пользователя
 
Сообщения: 59
Зарегистрирован: 29.07.2005 (Пт) 11:36
Откуда: Chel

Сообщение nikemike » 29.07.2005 (Пт) 13:00

Э пардон, как мне его включить в проэкт. Вот у меня есть два textbox, в один вводишь число а во втором выводит число прописью!

Twister
Теоретик
Теоретик
Аватара пользователя
 
Сообщения: 2251
Зарегистрирован: 28.06.2005 (Вт) 12:32
Откуда: Алматы

Сообщение Twister » 29.07.2005 (Пт) 16:44

Я скачал файл с сайта, но он оказался мне не нужен. Как мне вернуть его обратно?

У меня уже 2 года установлен windows 95 и он не разу не завис и не заглючил. Что я делаю не так?

РЖУНЕМОГУ!!!!!!!!!!!! :lol:
А я все практикую лечение травами...

Twister
Теоретик
Теоретик
Аватара пользователя
 
Сообщения: 2251
Зарегистрирован: 28.06.2005 (Вт) 12:32
Откуда: Алматы

Сообщение Twister » 29.07.2005 (Пт) 16:48

2 nikemike:

Нажми на браузере форм правой кнопкой мыши (нашел? :wink: ), добавить -> модуль. Выдели вкладку существующие, найди то чудо, что надо в ИНЕТ вернуть и нажми ОК.

Потом пользуй функции TriadInWords$, NumberInWords, AmountInWords...
А я все практикую лечение травами...

Sur
Обычный пользователь
Обычный пользователь
Аватара пользователя
 
Сообщения: 91
Зарегистрирован: 14.07.2003 (Пн) 20:54
Откуда: C2H5OH

Сообщение Sur » 02.08.2005 (Вт) 20:06

alibek
Я скачал файл с сайта, но он оказался мне не нужен. Как мне вернуть его обратно?

Вот из-за таких как ты, скоро на сайтах файлов не останется... :cry:


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: Google-бот и гости: 49

    TopList