VBATools

Bankomat – Jak optymalnie wydać resztę?

by on Jan.20, 2012, under Excel, Porady

Jesteś ciekawy jak działa bankomat? Chciałbyś zbudować maszynkę do efektywnego wydawania reszty?

Oto prosty przykład przestawiający okno odpytujące o kwotę do wydania.

XL_Bankomat_1

a oto wynik:

XL_Bankomat_2

Przy zastosowaniu tablic można agregować nominały aby pokazywać ich sumę, jednakże pow forma przedstawia sposób kolejnego doboru bilonów. Możesz to wykorzystać i zbudować interfejs wyposażony w zdjęcia bilonów i monet, a dzięki wbudowaniu animacji przedstawić proces wydania, lub podłączyć procedurę do portu RS i przenieść proces wydania w rzeczywistość.

Sub ile_banknotow()
'wartość zostanie przeliczona na dane z tablicy i kolejno zaproponowane
'MVP OShon from VBATools.pl
Dim liczba As Currency, y&, do_wydania$, pyt
Dim tablica As Variant, skarbonka As Currency
tablica = Array(500, 200, 100, 50, 20, 10, 5, 2, 1, 0.5, 0.2, 0.1, 0.05, 0.02, 0.01)
pyt = InputBox("Wpisz wartość liczbową aby uzyskać " & _
 "informacje o banknotach składających się na tą wartość:", _
 "Bankomat VBATools.pl", "1234,56") 'przykładowa wartość zamiast Zera
If Len(pyt) = 0 Then Exit Sub
If IsNumeric(pyt) = False Then MsgBox "Wartość " & Chr(34) & pyt & Chr(34) & _
 " nie jest spodziewaną wartością pieniężną!", vbExclamation, _
 " VBATools.pl": Exit Sub
liczba = CCur(pyt)

On Error GoTo Blad
Do While skarbonka < liczba
nowy_banknot:
 If skarbonka + tablica((y)) > liczba Then
   y = y + 1
   GoTo nowy_banknot
 Else
   skarbonka = skarbonka + tablica((y))
   do_wydania = do_wydania & tablica((y)) & " +"
   If skarbonka = liczba Then Exit Do
 End If
Loop
Debug.Print skarbonka & " = " & do_wydania
MsgBox "Aby wydać wartość " & skarbonka & " należy wydać kolejno: " _
 & vbCr & Left$(do_wydania, Len(do_wydania) - 2), _
 vbInformation, "Bankomat VBATools.pl"
Exit Sub
Blad:
MsgBox "Podana wartość " & pyt & " nie jest postaci walutowej!", _
 vbExclamation, " VBATools.pl"
End Sub

Gotowy projekt z wizualizacją bilonów można znaleźć na tej stronie. Jeśli rozwiązanie ci się podoba namawiamy do zakupu czym zasilisz dalsze ciekawe projekty.

(c) Shon Oskar – www.VBATools.pl

Wszelkie prawa zastrzeżone. Żadna część ani całość tego artykułu nie może być powielana ani publikowana bez zgody autora.

:, , , ,

Leave a Reply

Recently Active Members

Profile picture of vbatools
Profile picture of Karol Stilger
Profile picture of Joanna Subik
Profile picture of Anorak
Profile picture of marcinmachalowski
Profile picture of programistaaccess
Profile picture of piotrpawlik
Profile picture of Emil Wasilewski
Profile picture of kicekpicek
Profile picture of coldfusion
Profile picture of Gosia Borzęcka
Profile picture of lukaszch
Profile picture of itadministracja
Profile picture of farbenia
Profile picture of Łukasz Kałużny
Profile picture of kabzinski
Profile picture of rtynski
Profile picture of leszekbetlinski
Profile picture of Iv
Profile picture of Justyna Spychała