Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут
закрыты.
Читайте
требования к создаваемым темам.
-
alibek
-
- Большой Человек
-
-
- Сообщения: 14205
- Зарегистрирован: 19.04.2002 (Пт) 11:40
- Откуда: Russia
alibek » 01.04.2005 (Пт) 7:47
Есть небольшая программа, которая почему-то работает совсем не так, как ожидается.
- Код: Выделить всё
Option Explicit
...
Public Enum Taxes As Single
tvNormal = 0.18
tvSimple = 0.13
End Enum
...
Public Function CalcTaxPart(ByVal Amount As Currency, ByVal Tax As Taxes, Optional ByVal Reservation As Currency)
Select Case Tax
Case tvNormal
CalcTaxPart = Amount * (1 - Tax)
If CalcTaxPart < Reservation Then CalcTaxPart < Reservation
Case tvSimple
CalcTaxPart = Amount * (1 - Tax)
If CalcTaxPart < Reservation Then CalcTaxPart < Reservation
End Select
End Function
Когда использую, ничего не считается.
Intermediate писал(а):- Код: Выделить всё
? CalcTaxPart(1200,tvNormal)
0
? CalcTaxPart(1400,tvSimple,120)
0
Хе-хе :)
Lasciate ogni speranza, voi ch'entrate.
-
vvs_adm
-
- Гуру
-
-
- Сообщения: 1492
- Зарегистрирован: 03.02.2005 (Чт) 3:45
- Откуда: оттуда ;)
-
vvs_adm » 01.04.2005 (Пт) 8:49
Так у тя код неправильный, нужно так
- Код: Выделить всё
Option Explicit
...
Public Enum Taxes As Single
tvNormal = 0.18
tvSimple = 0.13
End Enum
...
Public Function CalcTaxPart(ByVal Amount As Currency, ByVal Tax As Taxes, Optional ByVal Reservation As Currency)
Select Case Tax
Case tvNormal
CalcTaxPart = Amount * (1 - Tax)
If CalcTaxPart < Reservation Then CalcTaxPart < Reservation
Case tvSimple
CalcTaxPart = Amount * (1 - Tax)
If CalcTaxPart < Reservation Then CalcTaxPart < Reservation
Case tvPofig
CalcTaxPart = Amount * (1 - Tax)
If CalcTaxPart < Reservation Then CalcTaxPart < Reservation
Case tvOdinHren
CalcTaxPart = Amount * (1 - Tax)
If CalcTaxPart < Reservation Then CalcTaxPart < Reservation
Else
CalcTaxPart = Amount * (1 - Tax)
If CalcTaxPart < Reservation Then CalcTaxPart < Reservation
End Select
End Function
-
Костя
-
- Обычный пользователь
-
-
- Сообщения: 93
- Зарегистрирован: 14.02.2005 (Пн) 6:45
- Откуда: Новосибирск
Костя » 01.04.2005 (Пт) 8:55
If CalcTaxPart < Reservation Then CalcTaxPart < Reservation
Сомневаюсь что это выполнимо.
Всё бывает!
-
GSerg
-
- Шаман
-
-
- Сообщения: 14286
- Зарегистрирован: 14.12.2002 (Сб) 5:25
- Откуда: Магадан
GSerg » 01.04.2005 (Пт) 9:03
Гы гы гы
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас
-
vvs_adm
-
- Гуру
-
-
- Сообщения: 1492
- Зарегистрирован: 03.02.2005 (Чт) 3:45
- Откуда: оттуда ;)
-
vvs_adm » 01.04.2005 (Пт) 10:00
Костя писал(а):If CalcTaxPart < Reservation Then CalcTaxPart < Reservation
Сомневаюсь что это выполнимо.
И чего же тут невыполнимого?
Простейшая инструкция : Если КалТрахПат меньше резервирования зен КалТрахПат сдвигаем влево от резервирования... Но потому и не работает, что нужно дописать : иначе сдвигаем вправо (т.е. else CalcTaxPart > Reservation)
-
Tarik
-
- Агент Системы
-
-
- Сообщения: 1222
- Зарегистрирован: 03.01.2003 (Пт) 16:05
- Откуда: Москва
-
Tarik » 01.04.2005 (Пт) 20:58
Дык... Э... Блин, опять дурят нашего брата
2Костя: Невыполнима уже эта строчка
- Код: Выделить всё
Public Enum Taxes As Single
Ever tried? Ever failed? No matter. Try again! Fail again! Fail better!
-
alibek
-
- Большой Человек
-
-
- Сообщения: 14205
- Зарегистрирован: 19.04.2002 (Пт) 11:40
- Откуда: Russia
alibek » 04.04.2005 (Пн) 8:20
Да, уж и помечтать нельзя
(закатывая глаза) А как было бы классно, если подобный синтаксис поддерживался... Enum Messages As String - рулез
Lasciate ogni speranza, voi ch'entrate.
Вернуться в Visual Basic 1–6
Кто сейчас на конференции
Сейчас этот форум просматривают: Google-бот, SemrushBot, Yandex-бот и гости: 160