До Нового Года осталось....

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
Matv
Новичок
Новичок
 
Сообщения: 26
Зарегистрирован: 13.11.2002 (Ср) 9:20
Откуда: Украина, Харьков

Сообщение Matv » 05.01.2005 (Ср) 14:32

Не могу, как начинающий, претендовать на правильность, но я использую такую подпрограмку для окончаний:

Код: Выделить всё
        Function FNokon$(ln As Variant, kor$, ok1$, ok2$, ok5$)
            Dim a_$, N
            If ln > 100 Then N = ln - CLng(ln / 100) * 100 Else N = ln
            a_$ = kor$ + ok5$
            If N Mod 10 < 5 And Not (N > 10 And N < 20) Then a_$ = kor$ + ok2$
            If N Mod 10 = 1 And N <> 11 Then a_$ = kor$ + ok1$
            If N Mod 10 = 0 Then a_$ = kor$ + ok5$
            FNokon$ = a_$
        End Function


Т.е. в данном случае FNokon$(d, "д","ень","ня", "ней") должно правильно писать слово взависимости от значения d.
P.S. Программа исходно была написана в ТурбоБейсике и потом переведена в VB6.

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 06.01.2005 (Чт) 4:55

Ну вроде всё правильно, однако же опять - не оптимально... Например, вторую строку можно заменить просто на N = ln Mod 100 ;-)
Изображение

Пред.

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

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

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

    TopList