Visual Basic [exceptions?]
Strana 1 od 2 12 PoslednjaPoslednja
Prikazujem rezultate 1 do 25 od 27

Tema: Visual Basic [exceptions?]

  1. #1
    Početnik [Venom] (avatar)
    Učlanjen
    15.07.2005.
    Pol
    muški
    Poruke
    46
    Reputaciona moć
    0

    Podrazumevano Visual Basic [exceptions?]

    Poz,

    Radio se o formi na kojoj postoje INPUT (doubles, integers) i OUTPUT polja. Podaci se upisuju u formatu brojeva u textbox a posle proces/kalkulacije rezultat se pojavljuje u drugom textbox-u. U input polja trebaju da se upisu brojevi kako bi program izracuno sto treba, medjutim u ta polja mogu da se upisu i slova kao i ostali karakteri tako da dolazi go greske tokom izvodjenja operacija.

    Kako bih mogao da se izvede neki "exeption" ili bilo sta drugo sto bi prilikom unosenja "nebrojeva" i ostalih pogresnih karaktera opomenilo korisnika da mora da unese brojeve u pravilnom formatu?

    Na primer, da se pojavi message box koji opominje korisnika sta mora da unese.

    valjda sam bio dovoljno jasan



  2. #2
    Peruzzi nije na forumu
    је дошао тихо и ушао у легенду...
    Domaćin Peruzzi (avatar)
    Učlanjen
    03.08.2003.
    Pol
    muški
    Lokacija
    Shumadija
    Poruke
    3.924
    Reputaciona moć
    92

    Podrazumevano Re: Visual Basic [exceptions?]

    mozes
    1.i da postavis event koji ce da reaguje kada se upisuje znak u ta polja pa, pre nego sto se znak upise, proveri se da li je to broj i ako jeste upise se a ako nije izbaci se poruka ili se znak jednosravno ne upise

    2. da postavis event na izlazak iz kontrole (tj kad druga kontrola preuzme fokus) da proveris da li je sadrzaj polja dobar

    3. kada se unesu vrednosti u sva polja pre nego sto se odradi racun proveri se za svako polje da li je unos dobar i ako nije izbaci se poruka

    za 1 proveravas da li je uneti znak, koji treba da se upise, 1 - 9
    za 2 i 3 proveravas da li u stringovima postoji bar jedan znak koji nije broj. to bi uradio nekako ovako

    dok i=0 do duzina_stringa i string_dobar radi
    ako string[i] nije 1,2,3,4,5,6,7,8,9,0 onda string_dobar = netacno
    i=i+1

    ne stojim dobro sa basicom, ako ti nesto znaci mogu da ti iskucam u pascalu ili c-u, eventualno odradim program u delphiju pa uci na primeru


  3. #3
    Peruzzi nije na forumu
    је дошао тихо и ушао у легенду...
    Domaćin Peruzzi (avatar)
    Učlanjen
    03.08.2003.
    Pol
    muški
    Lokacija
    Shumadija
    Poruke
    3.924
    Reputaciona moć
    92

    Podrazumevano Re: Visual Basic [exceptions?]

    e da, inace je cesta potreba da se proveri da li je unet string validna brojna vrednost

    u pascalu postoji procedura koja moze to da odredi, val(string,integer,greska);
    string je string koji se proverava, integer je int vrednost u koju se upisuje konverzija ako moze da se odradi, greska je integer koji je -1 ako je konverzija moguca, odnosno broj polja u stringu u kojem je doslo do greske.
    mozda sam malo pomesao ali tako nekako radi.
    pogledaj u helpu, mozda postoji nesto tako i u basicu

    u delphiju postoji trystrtoint koja vraca true ako moze string da se pretvori u int i false ako ne moze.
    za strtofloat mislim da nema. u svakom slucaju radio sam jednom prilikom testiranje string u float konverzije i to upravo prolaskom kroz string i ispitivanjem znakova i brojanjem zareza, tj. tacki (zavisno od regionalnog podesavanja)


  4. #4
    Peruzzi nije na forumu
    је дошао тихо и ушао у легенду...
    Domaćin Peruzzi (avatar)
    Učlanjen
    03.08.2003.
    Pol
    muški
    Lokacija
    Shumadija
    Poruke
    3.924
    Reputaciona moć
    92

    Podrazumevano Re: Visual Basic [exceptions?]

    sto me opet podseti - vodi racuna na reg podesavanja ako program radis za neki honorar. mene je upravo to yebalo pa sam pisao proceduru za konverziju


  5. #5
    Iskusan codemaker (avatar)
    Učlanjen
    05.04.2004.
    Lokacija
    Beograd
    Poruke
    6.416
    Reputaciona moć
    0

    Podrazumevano Re: Visual Basic [exceptions?]

    Mozda ima u VB neka takozvana PICTURE clauzula, koja kod unosa u GET polje jednostavno ignorise bilo sta sto nije numerik (ako je namesteno tako)
    KAo primer u xHarbouru unos polja ima otprilike ovakav izgled:
    REDEFINE oGet1 VAR nNekiBroj PICTURE "999,999.99" ID 103 OF oDlg
    Mozda nesto slicno postoji i u VB?

  6. #6
    Peruzzi nije na forumu
    је дошао тихо и ушао у легенду...
    Domaćin Peruzzi (avatar)
    Učlanjen
    03.08.2003.
    Pol
    muški
    Lokacija
    Shumadija
    Poruke
    3.924
    Reputaciona moć
    92

    Podrazumevano Re: Visual Basic [exceptions?]

    u al je ruzno....

    vidis tako prostog resenja se nisam setio

    a u visual c++ kad sam nekad davno poceo da ucim (pa batalio, losa knijga) chini mi se da je bilo da se podesi koji tip vraca Edit box, sto znaci da samo taj tip moze da se upise


  7. #7
    Zainteresovan član sist_ing (avatar)
    Učlanjen
    28.02.2006.
    Pol
    muški
    Lokacija
    Bor
    Poruke
    292
    Reputaciona moć
    46

    Podrazumevano Re: Visual Basic [exceptions?]

    Citat Original postavio codemaker Pogledaj poruku
    Mozda ima u VB neka takozvana PICTURE clauzula, koja kod unosa u GET polje jednostavno ignorise bilo sta sto nije numerik (ako je namesteno tako)
    KAo primer u xHarbouru unos polja ima otprilike ovakav izgled:
    REDEFINE oGet1 VAR nNekiBroj PICTURE "999,999.99" ID 103 OF oDlg
    Mozda nesto slicno postoji i u VB?
    Postoji IsNumeric(expression) Funkcija koja vraca True ili False u zavisnosti od toga kakav unos korisnik upisuje:
    Kod:
    MyVar = "459.95"             ' Dodela vrednosti
    MyCheck = IsNumeric(MyVar)   ' Vraca True.
    
    MyVar = "45 Help"            ' Dodela vrednosti sa stringom.
    MyCheck = IsNumeric(MyVar)   ' Vraca False.
    I Islo bi ovako:
    Kod:
    Private Sub Text1_KeyPress(KeyAscii As Integer)
        'Dozvoljeni su samo brojevi i ","
        'KeyAscii ("44" -> "," - za zarez; "46" -> "." - za tacku; "8" -> za backspace)
        If IsNumeric(Chr(KeyAscii)) = False And KeyAscii <> 44 And KeyAscii <> 8 Then
            KeyAscii = 0
            MsgBox "Dozvoljen je samo unos brojeva od ""0-9"" i "",""", vbExclamation, "Pogresan unos!"
        End If
    End Sub
    @[Venom] Ako ovo nije resenje - ako i ovo kod tebe ne radi (mada bi trebalo jer ovde nisam filozofirao), postavi kod ili deo koda koji ti pravi problem pa da vidimo gde si zapeo.

    P.S. Pogledaj u MSDN-u detalje o IsNumeric F'ji.
    Poslednji put ažurirao/la sist_ing : 13.11.2007. u 10:20

  8. #8
    Početnik [Venom] (avatar)
    Učlanjen
    15.07.2005.
    Pol
    muški
    Poruke
    46
    Reputaciona moć
    0

    Podrazumevano Re: Visual Basic [exceptions?]

    Samo Visual Basic, tek sam poceo za programiranjem tako da je sada najteze.

    sist_ing nece da reaguje tvoj kod. Zar ne treba to nekako povezati sa textbox ili variable? :?

    Ako hoces mogu ja da uploadujem celi projekat pa ti vidi ako imas vremena. Jako je mali kod, samo matemticke funkcije izmedju polja i nista vise.

  9. #9
    Zainteresovan član
    Učlanjen
    23.08.2005.
    Poruke
    379
    Reputaciona moć
    48

    Podrazumevano Re: Visual Basic [exceptions?]

    Citat Original postavio [Venom] Pogledaj poruku
    Poz,

    Radio se o formi na kojoj postoje INPUT (doubles, integers) i OUTPUT polja. Podaci se upisuju u formatu brojeva u textbox a posle proces/kalkulacije rezultat se pojavljuje u drugom textbox-u. U input polja trebaju da se upisu brojevi kako bi program izracuno sto treba, medjutim u ta polja mogu da se upisu i slova kao i ostali karakteri tako da dolazi go greske tokom izvodjenja operacija.

    Kako bih mogao da se izvede neki "exeption" ili bilo sta drugo sto bi prilikom unosenja "nebrojeva" i ostalih pogresnih karaktera opomenilo korisnika da mora da unese brojeve u pravilnom formatu?

    Na primer, da se pojavi message box koji opominje korisnika sta mora da unese.

    valjda sam bio dovoljno jasan
    Овако, додаш функцију за догађај "текст у пољу се променио"( како се тај event зове у VB-у не сећам се) и провериш који је знак унесен. Ако је број или тачка онда је ок а ако није онда "одсечеш" задњи карактер из текст поља. Остаје проблем у томе што корисник може да copy/paste неки текст у текст поље па би могао да заобиђе ову проверу на тај начин. То можеш да решиш тако што ћеш у неку променљиву да памтиш пређашњи текст па ако се нови текст у још неком сем у задњем карактеру разликује од претходног, мораш да идеш "пешке" кроз сваки знак и провераваш дал је број и ако није да га избациш.
    Samo jedan klub--samo jedan grad---
    samo Z E T A bre
    kakav partizan

  10. #10
    Zainteresovan član sist_ing (avatar)
    Učlanjen
    28.02.2006.
    Pol
    muški
    Lokacija
    Bor
    Poruke
    292
    Reputaciona moć
    46

    Podrazumevano Re: Visual Basic [exceptions?]

    Citat Original postavio [Venom] Pogledaj poruku
    ...Ako hoces mogu ja da uploadujem celi projekat pa ti vidi ako imas vremena. Jako je mali kod, samo matemticke funkcije izmedju polja i nista vise.
    Okaci pa da vidim zasto ne reaguje...

  11. #11
    Zainteresovan član sist_ing (avatar)
    Učlanjen
    28.02.2006.
    Pol
    muški
    Lokacija
    Bor
    Poruke
    292
    Reputaciona moć
    46

    Podrazumevano Re: Visual Basic [exceptions?]

    Citat Original postavio toxi Pogledaj poruku
    ...мораш да идеш "пешке" кроз сваки знак и провераваш дал је број и ако није да га избациш.
    Evo peske:
    Ovaj kod proverava svaki znak kome dozvoljavamo unos i on se nalazi u samom
    event-u "Change" tako da ga proverava cak i ako korisnik ide "Copy/Paste"... aj' reci da ni ovo ne radi:shock:
    Kod:
    Private Sub Text1_Change()
    Dim unos As String
    '
    'Uzimamo zadnji broj kako bi smo ga proveravali
    unos = Right(Text1.Text, 1)
        '
        If unos = "0" Or unos = "1" Or unos = "2" Or unos = "3" Or unos = _
        "4" Or unos = "5" Or unos = "6" Or unos = "7" Or unos = "8" Or unos = "9" _
        Or unos = "," Or unos = "." Or unos = " " Or unos = "" Then
            '
            'Ako je sve ispravno, odradjuje ovaj blok koda
            Label1.Caption = "Ispravan unos!"
        Else
            '
            'Ako nije u redu, odradjuje drugi blok
            MsgBox "Pogresan unos", vbExclamation, "Greska!"
            Label1.Caption = "Neispravan unos!"
        End If
        '
    End Sub
    Citat Original postavio Venom
    sist_ing nece da reaguje tvoj kod. Zar ne treba to nekako povezati sa textbox ili variable?
    Treba povezivati samo preimenuj kontrolu Text1 u ime za TextBox koje ti koristis u kodu.
    Poslednji put ažurirao/la sist_ing : 13.11.2007. u 16:22

  12. #12
    Iskusan codemaker (avatar)
    Učlanjen
    05.04.2004.
    Lokacija
    Beograd
    Poruke
    6.416
    Reputaciona moć
    0

    Podrazumevano Re: Visual Basic [exceptions?]

    Jos jedan od razloga sto VB nikada nece biti ozbiljan jezik
    Pa te kontrole unosa postoje u nekim jezicima od samog pocetka i sve se svodi na jednu jedinu liniju (i unos i kontrola i validacija i farbanje i vrsta fonta i formatiranje cifara ili teksta ili datuma)....
    U VB koliko vidim treba da se napise par strana koda za validaciju jednog unosa? Mozda gresim jer ne radim u VB odavno, od kad sam video sta sve ne moze...

  13. #13
    Zainteresovan član sist_ing (avatar)
    Učlanjen
    28.02.2006.
    Pol
    muški
    Lokacija
    Bor
    Poruke
    292
    Reputaciona moć
    46

    Podrazumevano Re: Visual Basic [exceptions?]

    Citat Original postavio codemaker Pogledaj poruku
    ...U VB koliko vidim treba da se napise par strana koda za validaciju jednog unosa?...
    Pa nije bas par strana, dovoljna je samo jedna strana:-D. U sustini, taj problem je resen na ovaj nacin koji sam ovde izneo ali coveku nece to da radi iz, meni, nepoznatih razloga. Jeste, VB nema tu ugradjenu inteligenciju koju noviji jezici imaju. U VB-u si u nekim situacijama prinudjen da to odradis deo po deo. Ali je prednost u njemu sto moze da se prosiri i da onaj ko ga koristi moze kreirati sopstvene objekte koje kasnije samo nalepi i podesi svojstva.
    Dakle od ovog sto sam dole napisao moze se napraviti nova kontrola koja ce u buduce pozluziti u te svrhe i koja se moze vremenom dopuniti.

    P.S. Oba primera koje sam dole dao (7 i 11 post) odradjuju isti zadatak samo sam drugacije pristupio problemu.
    Poslednji put ažurirao/la sist_ing : 13.11.2007. u 17:33

  14. #14
    Iskusan codemaker (avatar)
    Učlanjen
    05.04.2004.
    Lokacija
    Beograd
    Poruke
    6.416
    Reputaciona moć
    0

    Podrazumevano Re: Visual Basic [exceptions?]

    Malo skretanje sa teme:
    Da li je poslednja verzija (ma koja to bila) VB-a, kompletan OO jezik? Mislim da ima ograniceno baratanja klasama, koliko mi je poznato. Ne mozes sam kreirati klase, subclassing, encapsulation itd?

  15. #15
    Početnik [Venom] (avatar)
    Učlanjen
    15.07.2005.
    Pol
    muški
    Poruke
    46
    Reputaciona moć
    0

    Podrazumevano Re: Visual Basic [exceptions?]

    Uploadovo sam kompletan project.

    btw. kad se tesko snalazim sa VB kako bih tek sa nekim drugim jezikom ako je VB najlaksi. Uskoro ce knjiga da mi stigne pa ce sve biti lakse.
    Priloženi fajlovi Priloženi fajlovi

  16. #16
    Zainteresovan član sist_ing (avatar)
    Učlanjen
    28.02.2006.
    Pol
    muški
    Lokacija
    Bor
    Poruke
    292
    Reputaciona moć
    46

    Podrazumevano Re: Visual Basic [exceptions?]

    Citat Original postavio codemaker Pogledaj poruku
    Malo skretanje sa teme:
    Da li je poslednja verzija (ma koja to bila) VB-a, kompletan OO jezik? Mislim da ima ograniceno baratanja klasama, koliko mi je poznato. Ne mozes sam kreirati klase, subclassing, encapsulation itd?
    Ne, VB nije potpuno OO jezik ali je "objektno baziran". Mogu se kreirati klase (moduli klase) koje se kasnije koriste iz bilo kog dela u projektu. Za podklase neznamops:

  17. #17
    Zainteresovan član sist_ing (avatar)
    Učlanjen
    28.02.2006.
    Pol
    muški
    Lokacija
    Bor
    Poruke
    292
    Reputaciona moć
    46

    Podrazumevano Re: Visual Basic [exceptions?]



    Pa ovo je VB .NET!!!
    Sad mi je jasno sto nece nista da radi kod tebe. Nemam instaliran VB .NET pa ti ne mogu pomoci.
    Kada si spomenuo VB mislio sam da se radi o VB6:shock:

  18. #18
    Zainteresovan član
    Učlanjen
    23.08.2005.
    Poruke
    379
    Reputaciona moć
    48

    Podrazumevano Re: Visual Basic [exceptions?]

    Хех, човек па што не кажеш одма

    Види 'вако, када оћеш да читаш вредност из неког TextBox-a и да је конвертујеш у на пример double, урадиш прво ово:
    if( Double.TryParse( txtWidth.Text, width) == false) -- uradi šta hoćeš kada unos nije dobar --
    где је width нека променљива типа Double. Ако није добар стринг онда ће функција TryParse да врати false.

    И ето га...

    Још да додам, ја мислим да је С# лакши од Visual Basic .NET-a, ако ништа друго код је неупоредиво лепши
    Samo jedan klub--samo jedan grad---
    samo Z E T A bre
    kakav partizan

  19. #19
    Početnik
    Učlanjen
    14.05.2007.
    Pol
    muški
    Poruke
    44
    Reputaciona moć
    0

    Podrazumevano Re: Visual Basic [exceptions?]

    Ajd da dodam i ja stogod!!! Evo ti jedan primercic u VB.NET-u kako da u text box-u dozvolis unos samo brojeva i decimalne tacke. Pored toga je dozvoljen enter i backspace.

    Private Sub txt_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txt.KeyPress

    Select Case e.KeyChar
    Case CChar("0") To CChar("9"), ControlChars.Back

    e.Handled = False
    Case ControlChars.Cr

    txt2.Focus()
    e.Handled = False
    Case CChar(".")
    If InStr(txt.Text, ".") = 0 Then
    e.Handled = False
    Else
    e.Handled = True
    End If
    Case Else
    e.Handled = True
    End Select
    End Sub
    Ali ti predlazem da za takva polja koristis masked text box. Nadam se da sam bio od pomoci.

  20. #20
    Zainteresovan član
    Učlanjen
    23.08.2005.
    Poruke
    379
    Reputaciona moć
    48

    Podrazumevano Re: Visual Basic [exceptions?]

    Ово што си приложио, колико видим, може да се заобиђе тако што се copy/paste текст у тај textbox...
    Samo jedan klub--samo jedan grad---
    samo Z E T A bre
    kakav partizan

  21. #21
    Početnik
    Učlanjen
    14.05.2007.
    Pol
    muški
    Poruke
    44
    Reputaciona moć
    0

    Podrazumevano Re: Visual Basic [exceptions?]

    Citat Original postavio toxi Pogledaj poruku
    Ово што си приложио, колико видим, може да се заобиђе тако што се copy/paste текст у тај textbox...
    Moze. Ako hoce i to da izbegne neka koristi masked!

  22. #22
    Zainteresovan član sist_ing (avatar)
    Učlanjen
    28.02.2006.
    Pol
    muški
    Lokacija
    Bor
    Poruke
    292
    Reputaciona moć
    46

    Podrazumevano Re: Visual Basic [exceptions?]

    A da li VB .NET ima event Change? Tu ce se ovaj kod izvrsiti svaki put kada se bilo sta menja: bilo da se unosi preko tastature ili Copy/Paste.

  23. #23
    Zainteresovan član
    Učlanjen
    23.08.2005.
    Poruke
    379
    Reputaciona moć
    48

    Podrazumevano Re: Visual Basic [exceptions?]

    Наравно. Али пази, приложени код проверава само задњи унети карактер, не све карактере, тако да ако корисник paste-ује нпр "блабл1" програм неће видети грешку у уносу...
    Samo jedan klub--samo jedan grad---
    samo Z E T A bre
    kakav partizan

  24. #24
    Peruzzi nije na forumu
    је дошао тихо и ушао у легенду...
    Domaćin Peruzzi (avatar)
    Učlanjen
    03.08.2003.
    Pol
    muški
    Lokacija
    Shumadija
    Poruke
    3.924
    Reputaciona moć
    92

    Podrazumevano Re: Visual Basic [exceptions?]

    е зато најбоље да се тек кад треба да се користи тај стринг провери да ли може да се конвертује (тачније, тек кад се кликне на тастер који нешто ради са вредностима у тим пољима)


  25. #25
    Zainteresovan član sist_ing (avatar)
    Učlanjen
    28.02.2006.
    Pol
    muški
    Lokacija
    Bor
    Poruke
    292
    Reputaciona moć
    46

    Podrazumevano Re: Visual Basic [exceptions?]

    Nista mu to ne znaci. Kao sto @toxi kaze: kod koji je ovde napisan proverava samo zadnji karakter tako da ce i pritiskom na bilo koje dugme isto to odraditi.

Slične teme

  1. C++ i Visual Basic
    Autor Topnik_15 u forumu Programiranje
    Odgovora: 2
    Poslednja poruka: 09.02.2008., 17:51
  2. Visual Basic
    Autor M_ilan u forumu Programiranje
    Odgovora: 1
    Poslednja poruka: 14.02.2007., 13:41
  3. Visual Basic
    Autor BIVSI ZEKEN u forumu Programiranje
    Odgovora: 37
    Poslednja poruka: 24.12.2006., 13:23
  4. Visual Basic
    Autor damir24 u forumu Programiranje
    Odgovora: 8
    Poslednja poruka: 29.09.2006., 12:17
  5. Visual Basic 6.0
    Autor **case-problem**Istrazivac u forumu Programiranje
    Odgovora: 0
    Poslednja poruka: 06.03.2005., 20:37

Pravila za slanje poruka

  • Ne možete kreirati novu temu
  • Ne možete poslati odgovor
  • Ne možete dodati priloge
  • Ne možete prepraviti svoju poruku
  •