Od pomysłu do serwisu - część druga
- Jakub Chabik,
- 25.02.2002
Skutkiem wykonania powyższego kodu będzie więc wygenerowanie formularza, w którym domyślna wartość nowej wpłaty jest taka jak poprzedniej, a data nowej wpłaty jest o miesiąc późniejsza niż data ostatniej zarejestrowanej. Po naciśnięciu przycisku "Dodaj wpłatę" trafimy znowu na stronę kredyt.asp (atrybut action w polu <FORM> na to wskazuje). Oczekujemy zastać tam listę wpłat, włącznie z tą nowo zarejestrowaną. Musimy więc uzupełnić naszą stronę odczytaniem nowej wpłaty. W modelu obiektowym ASP metoda Form obiektu Request odczytuje zmienną o podanej nazwie. Aby odczytać więc datę i kwotę nowej wpłaty, musimy napisać:
<%
sDzienNowejWplaty = Request.Form("DzienNow")
sMiesiacNowejWplaty = Request.Form("MiesNow")
sRokNowejWplaty = Request.Form("RokNow")
sKwotaNowejWplaty = Request.Form("KwotaNow")
%>
Proszę zwrócić uwagę, że musieliśmy użyć tych samych nazw, co w nazwach elementów formularza. Przypomnijmy, że ograniczniki <% oraz %> sygnalizują, że mamy do czynienia z kodem VBScript wykonywanym po stronie serwera, a nie kodem HTML. Zauważmy też, że w naszym programie pojawiła się zmienna sKwotaNowejWpłaty, której już użyliśmy w definicji formularza jako domyślnej wartości nowej raty.
Mając więc informację o kredycie (którą możemy odczytać w ten sam sposób, ze zmiennych KwotaKredytu, RokUdz, MiesUdz oraz DzienUdz), możemy powołać nowy obiekt klasy "CKredyt" z komponentu ActiveX DLL, zdefiniowanego w poprzednim odcinku. Powołujemy więc obiekt i dodajemy jedną spłatę.
<%
Set oKalkulator = CreateObject("KalkulatorRRSO.CKalkulator")
Set oKredyt = oKalkulator.NowyKredyt(sKwotaKredytu
DateSerial(sRokUdzielenia, sMiesiacUdzielenia, sDzienUdzielenia)
oKredyt.Splaty.Dodaj sWplataKwotaNowejWplaty
DateSerial(sRokNowejWplaty, sMiesiacNowejWplaty, sDzienNowejWplaty)
%>
Dysponujemy teraz obiektem klasy "CKredyt", z jedną zarejestrowaną wpłatą. Jeżeli to wystarcza do obliczenia RRSO dla kredytu, zróbmy to! Możemy użyć do tego metody Write obiektu Response, który po prostu wypisuje zadany kod HTML:
<%
Response.Write "<P>Rzeczywista Roczna Stopa Procentowa</P>" & vbCrLf
Response.Write "<P align=center>" & Round(oKredyt.RzeczywistaStopa*100, 1) & "%</P>" & vbCrLf
%>
...czyli na przykład tekst: "Rzeczywista Stopa Procentowa <nowa linia> 21,5%". Przypomnijmy teraz, że tę informację - kluczową dla Kowalskiego odwiedzającego nasz serwis - obiecaliśmy uczynić odpowiednio wyraźną, a więc w rzeczywistym serwisie powinniśmy wyróżnić większą czcionką i jaskrawym kolorem.