Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

VB.net molim za pomoc

[es] :: .NET :: .NET Desktop razvoj :: VB.net molim za pomoc

[ Pregleda: 1044 | Odgovora: 7 ]

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

Nena-bg
Beograd

Član broj: 29608
Poruke: 7
*.smin.sezampro.yu.



Profil

icon VB.net molim za pomoc05.07.2004. u 18:41

Napravila sam kalkulator u vb.net, unese se vrednost a on izracuna
iznos kredita za 3 razlicite kamatne stope i prikaze mi na dnu strane (sa label) i to dobro radi.
E kako sada da se na toj prvoj strani (calculator1.aspx) unese samo vrednost a onda kada se stisne button da mi na sledecoj strani (calculator2.aspx) izracuna iznos kredita
za tri kamatne stope i ispise vrednosti gde ja zelim na stranici.
Takodje kako sada da se za istu unetu vrednost na (calculator1.aspx) na calculator2.aspx moze sa dropdown izabrati period otplate (10 godina, 20. godina) i da on ponovo izracuna iznos kredita za iste kamatne stope kada se na drugoj strani izabere period i stisne button (izracunaj).
Nemam ideju, tek sam pocela da ucim ako neko moze malo da mi pomogne, ja to umem da uradim u php i tamo je jednostavno. VB.net ni da beknem.
Ajde neka mi neko da ovde ideju kako to da uradim. Unapred zahvalna.

Nena
05.07.2004. u 18:41 

degojs

Član broj: 4716
Poruke: 5050
*.cpe.net.cable.rogers.com

Sajt: www.novetehnologije.com


Profil

icon Re: VB.net molim za pomoc05.07.2004. u 19:22
Vrednost koja je uneta na prvoj strani moraš nekako da proslediš na ovu drugu stranu gde se računa i ispisuje rezultat. Postoji više načina, možda najjednostavnije je da koristiš Session promenjive.

Na prvoj strani, imamo TextBox (txtIznos) i dugme (btnIzracunaj). Klikni 2x u dizajneru na to dugme i dodaj kod:
Code:
Private Sub btnIzracunaj_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnIzracunaj.Click
        Dim iznos As Double
        Try
            iznos = Convert.ToDouble(Me.txtIznos.Text)
        Catch ex As System.InvalidCastException
            ' kod za gresku
            Return
        End Try

        Session("Vrednost") = iznos
        Response.Redirect("./calculator2.aspx")
    End Sub


Na drugoj stranici imas jednu labelu (Label1) i sledeći kod:
Code:
Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        'Put user code to initialize the page here
        Dim iznos As Double = Convert.ToDouble(Session("Vrednost"))

        ' obavi neko racunanje i prikazi rezultat
        iznos = iznos * 1.15
        Me.Label1.Text = iznos.ToString()
End Sub



Što se onog drugog dela tiče, princip je isti - kada se pritisne dugme, pročitaš vrednost iz dropdown-a, upamtiš to u Session promenjivoj i sa Response.Redirect ideš na stranu gde se računa (može biti ta ista strana). U Page_Load pročitaš vrednost iz Session i računaš.. itd.
Commercial-Free !!!
05.07.2004. u 19:22 

Nena-bg
Beograd

Član broj: 29608
Poruke: 7
*.smin.sezampro.yu.



Profil

icon Re: VB.net molim za pomoc05.07.2004. u 21:36
Dejane, hvala ti puno na pomoci, bas si fer. Ovaj prvi deo funkcionise probala sam!
Posle cu videti za drugi deo, pa ako imam jos neko pitanje....
Hvala jos jednom!
Nena
05.07.2004. u 21:36 

veljaradenkovic
Velja Radenkovic
Beograd

Član broj: 2977
Poruke: 280
*.ptt.yu

ICQ: 147120023


Profil

icon Re: VB.net molim za pomoc05.07.2004. u 23:11
Cisto "sitna" napomena.

Ako je, kako mi se cini ova kalkulacija jedina stvar koju treba da obavi aplikacija pomalo je apsurdno racunati to na serveru. To se radi na clientu JavaScriptom i nije tesko.

A ako su recimo kamatne stope promenljive i povlace se iz nekog data sourc-a sa
servera. Mozes da ih smestis u recimo skriveno polje i uzmes u obzir pri izracunavanju.

Jeftinije je da na submit strane izvrsis validaciju i kamatnih stopa i rezultata nego ovaj round trip.

Nego predpostavljam da ti ovo vise sluzi kao primer za ucenje, pa samo napred.

Pozdrav.

05.07.2004. u 23:11 

Nena-bg
Beograd

Član broj: 29608
Poruke: 7
*.smin.sezampro.yu.



Profil

icon Re: VB.net molim za pomoc06.07.2004. u 00:24
Hvala!
Ovo mi sluzi kao primer za ucenje ali se jako tesko snalazim (i ne predajem se ).
Da li moze jos malo pomoci oko drugog dela?
Znaci, na calculator2.aspx on mi izracuna iznos kredita, i to je OK. Kako sada da se sa dropdown liste izaberu periodi otplate (10 godina, 20. godina) i da on ponovo preracuna iznos kredita za iste kamatne stope i pokaze na toj istoj strani calculator2.aspx
Nena
06.07.2004. u 00:24 

degojs

Član broj: 4716
Poruke: 5050
*.cpe.net.cable.rogers.com

Sajt: www.novetehnologije.com


Profil

icon Re: VB.net molim za pomoc06.07.2004. u 01:10
Na calculator2.aspx možeš da dodaš jedan drop-down (DropDownList1) i jedan button (Button1).

Code:
Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    'Put user code to initialize the page here

    If (Page.IsPostBack = False) Then
        ' ovaj kod se izvršava samo jednom odnosno..
        ' vidi malo sta je Page.IsPostBack
        Me.DropDownList1.Items.Clear()
        Me.DropDownList1.Items.Add("10")
        Me.DropDownList1.Items.Add("20")
        Me.DropDownList1.Items.Add("30")
        Me.DropDownList1.SelectedIndex = 0
    End If

    Dim period As Integer = Convert.ToInt32(Me.DropDownList1.SelectedItem.Value)

    Dim iznos As Double = Convert.ToDouble(Session("Vrednost"))

    ' obavi racunanje i prikazi rezultat
    iznos = iznos * period
    Me.Label1.Text = iznos.ToString()
End Sub


Dakle, kada izabereš vrednost iz drop-downa klikni na dugme i to je to. E sad, ako pogledaš svojstva za drop-down, možeš da promeniš AutoPostBack u True, pa ne moraš ni da klikćeš na dugme..
Što se tiče onog Page.IsPostBack - moraćeš da malo pročitaš Help.

Valjalo bi nabaviti neku knjigu, makar bilo kakvu.
Commercial-Free !!!
06.07.2004. u 01:10 

Nena-bg
Beograd

Član broj: 29608
Poruke: 7
*.smin.sezampro.yu.



Profil

icon Re: VB.net molim za pomoc06.07.2004. u 14:45
Hvala, Hvala, Hvala!
Uspela sam i ovaj drugi deo da ugradim. Fantasticno!
Ostalo mi je jos da mi nakon:
iznos = iznos * 1.15
Me.Label1.Text = iznos.ToString()
ne ispisuje npr. 5500,234567
nego 5500 pa tacka i da mi zaokruzi na dve decimale (5500.23)

Koje mi knjige preporucujete a koje se mogu naci kod nas, idem sutra da kupujem.
Dosta sam naucila za nedelju dana ali vb.net ne moze ovako. Hvala jos jednom




Nena
06.07.2004. u 14:45 

mmix
Miljan Mitrovic
Software Architect
Pancevo, Srbija

Moderator
Član broj: 17944
Poruke: 1694
217.24.20.*



Profil

icon Re: VB.net molim za pomoc06.07.2004. u 17:47
Citat:
Nena-bg: Hvala, Hvala, Hvala!
Me.Label1.Text = iznos.ToString()
ne ispisuje npr. 5500,234567
nego 5500 pa tacka i da mi zaokruzi na dve decimale (5500.23)


ToString može da primi dva parametra: format i provider. Format verovatno već znaš šta je, sad ostaje provider koji je razlog što ti se pojavljuje , umesto . Po defaultu, koristi se NumberFormatInfo trenutnog thread-a koji je po defaultu postavljen na podešavanja koja su u Regional Settings u Control Panel-u

Da bi prikazala tačku moraš da dođeš do američkog (ili engleskog ili nekog trećeg) provajdera, a najlakši način je da pribaviš instancu na američki CultureInfo, koja poseduje property NumberFormat tipa NumberFormatInfo. Prosto, zar ne...
Dakle, sledeće:

Code:

Imports System.Globalization 

.../tvoj code/...

Dim nf As NumberFormatInfo = CultureInfo.CreateSpecificCulture("en-US").NumberFormat
Me.Label1.Text = iznos.ToString("0.00", nf)


Više o formatiranju tipova možeš naći ovde:
.NET Framework Developer's Guide
Formatting Types

▪ The word 'politics' is derived from the word 'poly', meaning 'many', and the word 'ticks', meaning 'blood sucking parasites' - Larry Hardiman
▪ If the good guy gets the girl, it's rated PG; if the bad guy gets the girl, it's rated R; and if everybody gets the girl, it's rated X
▪ Illegal aliens have always been a problem in the United States. Ask any Native American
06.07.2004. u 17:47 

[es] :: .NET :: .NET Desktop razvoj :: VB.net molim za pomoc

[ Pregleda: 1044 | Odgovora: 7 ]

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.