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

VB_Uzimanje i sabiranje vrednosti iz ListBox-a... da li znate?

[es] :: Visual Basic 6 :: VB_Uzimanje i sabiranje vrednosti iz ListBox-a... da li znate?

[ Pregleda: 3341 | Odgovora: 12 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

Rollback
Goran Božinović
Bor

Član broj: 100881
Poruke: 65



+3 Profil

icon VB_Uzimanje i sabiranje vrednosti iz ListBox-a... da li znate?12.10.2006. u 19:22 - pre 212 meseci
Trenutno privodim kraju jedan program koji služi za unos i skladištenje podataka naručilaca nekih artikala poput: knjiga, CD/DVD-a i još nekih stvari. Program i pored unosa i skladištenja ima kontrole za: prikaz cene po artiklu, naručene količine i iznos uplate naručioca i još mnoge druge kontrole koje ću neke od njih kasnije spomenuti. Prilikom unosa, program prihvata podatak iz: cene po artiklu, množi ga sa naručenom količinom, oduzima za iznos uplate naručioca i prosleđuje rezultat kontroli za ostatak duga i to se naravno, upisuje i čuva u bazu. Kada se prilikom pretraživanja određene osobe pokrene pretraživač, uzimaju se podaci iz kontrola "Nazivi artikala - ListBox" a ima ih tri: (knjige, CD/DVD i ostalo) tražene osobe i prosleđuje se kontroli "Spisak neplaćenih narudžbina - ListBox" tu stoje svi proizvodi ili artikli koje je neki naručilac naručio a nije platio. Na isti način uzima vrednost iz kontrola za ostatak duga (a ima ih takođe tri) i prosleđuje je kontroli "Ostaci dugova - ListBox" i tu su svi ostaci dugova za svaki artikal koje je neki naručilac naručio a nije u celosti platio. E sad, moj problem se ovde javlja. Problem mi je da, iz koda, uzmem sve vrednosti iz jedne kontrole "Ostaci dugova - ListBox" kako bi mogao da ih izračunam tj. saberem i zbir dodelim kontroli "Ukupan dug - TextBox". Ništa mi drugo nije problem, problem mi je ono prvo: Kako uzeti vrednosti iz ListBox-a, koliko ih god ima, da bi ih mogao obraditi i proslediti dalje?

Pitanja: Da li je moguće da se iz ListBox-a uzmu sve vrednosti i saberu kako bi se kasnije zbir dodelio TextBox-u i kako? Ako nije moguće, koja bi kontrola to mogla da odradi i naravno, na koji način? Ako bi neko mogao da mi pomogne savetom ili nekim primerom koda bio bi mu zahvalan...
Svoje najlepše dane proveo sam noću.
 
Odgovor na temu

Aleksandar Ružičić
Software Architect, Appricot d.o.o.
Beograd

Član broj: 26939
Poruke: 2881

Jabber: krckoorascic@gmail.com
Sajt: krcko.net


+44 Profil

icon Re: VB_Uzimanje i sabiranje vrednosti iz ListBox-a... da li znate?12.10.2006. u 21:24 - pre 212 meseci
Citat:
Rollback:Pitanja: Da li je moguće da se iz ListBox-a uzmu sve vrednosti i saberu kako bi se kasnije zbir dodelio TextBox-u i kako? Ako nije moguće, koja bi kontrola to mogla da odradi i naravno, na koji način? Ako bi neko mogao da mi pomogne savetom ili nekim primerom koda bio bi mu zahvalan...

mozda ovako:
Code:

Dim i As Long
Dim zbir As Double

For i = 0 to ListBox1.ListItems-1
  zbir = zbir + Val(ListBox.List(i))
Next

Text1.Text = zbir


to bi bilo to, ako sam razumeo dobro sta hoces...
 
Odgovor na temu

goranvuc
Goran Vucicevic
Novi Sad

Član broj: 4934
Poruke: 1846
*.neobee.net.



+41 Profil

icon Re: VB_Uzimanje i sabiranje vrednosti iz ListBox-a... da li znate?12.10.2006. u 22:02 - pre 212 meseci
Samo mali dodatni komentar uz kod koji je @krckoorascic prilozio:
Ako koristite Val() funkciju treba da znate da ona poznaje samo "." kao decimalni separator nezavisno od lokalnog podesavanja, pa moze da se desi sledeci slucaj:
Code:

Dim strVrednost As String
Dim dblVrednost As Double

strVrednost = 45.5 'dodela vrednosti promenljivoj tipa string - ako je dec. sep. na sistemu "," onda vrednost postaje "45,5"
dblVrednost = Val(strVrednost) 'promenljiva uzima vrednost 45


Zbog toga je bolje koristiti CDbl() funkciju!
 
Odgovor na temu

Rollback
Goran Božinović
Bor

Član broj: 100881
Poruke: 65



+3 Profil

icon Re: VB_Uzimanje i sabiranje vrednosti iz ListBox-a... da li znate?12.10.2006. u 22:07 - pre 212 meseci
Jeste, dobro si me razumero... to je upravo ono što mi treba. Hvala!

Evo kako kod mene radi:
Code:
Dim i As Long
Dim zbir As Double

    For i = 0 To List1.ListCount - 1
      zbir = zbir + Val(List1.List(i))
    Next

txtTotal.Text = zbir


Svoje najlepše dane proveo sam noću.
 
Odgovor na temu

Rollback
Goran Božinović
Bor

Član broj: 100881
Poruke: 65



+3 Profil

icon Re: VB_Uzimanje i sabiranje vrednosti iz ListBox-a... da li znate?12.10.2006. u 22:31 - pre 212 meseci
@goranvuc hvala i tebi na savetu za ove dve funkcije.

Primetio sam i ja da Val() prihvata samo celobrojne vrednosti pa sam već počeo da razmišljam kako da zabranim unos "," ali si došao u pravi čas sa pravim odgovorom. Pozdrav svima!
Svoje najlepše dane proveo sam noću.
 
Odgovor na temu

Aleksandar Ružičić
Software Architect, Appricot d.o.o.
Beograd

Član broj: 26939
Poruke: 2881

Jabber: krckoorascic@gmail.com
Sajt: krcko.net


+44 Profil

icon Re: VB_Uzimanje i sabiranje vrednosti iz ListBox-a... da li znate?13.10.2006. u 22:12 - pre 212 meseci
Citat:
goranvuc: Samo mali dodatni komentar uz kod koji je @krckoorascic prilozio:
Ako koristite Val() funkciju treba da znate da ona poznaje samo "." kao decimalni separator nezavisno od lokalnog podesavanja, pa moze da se desi sledeci slucaj:
Code:

Dim strVrednost As String
Dim dblVrednost As Double

strVrednost = 45.5 'dodela vrednosti promenljivoj tipa string - ako je dec. sep. na sistemu "," onda vrednost postaje "45,5"
dblVrednost = Val(strVrednost) 'promenljiva uzima vrednost 45


Zbog toga je bolje koristiti CDbl() funkciju!

hvala na dopuni ali ja sam ipak za to da se koristi Val iz razloga sto ce Val iz recimo stringa "45.5 evra" vratiti 45.5 dok ce CDbl tu javiti gresku, znaci ukoliko nije sigurno da ce se samo brojevi nalaziti u ListBox-u onda je Val najlakse resenje, stim sto nisam znao da nece da radi sa zarezom, ali i to moze veoma lako da se popravi:

Code:

Dim i As Long
Dim zbir As Double

For i = 0 to ListBox1.ListItems-1
  zbir = zbir + Val(Replace(ListBox.List(i), ",", "."))
Next

Text1.Text = zbir

 
Odgovor na temu

goranvuc
Goran Vucicevic
Novi Sad

Član broj: 4934
Poruke: 1846
*.neobee.net.



+41 Profil

icon Re: VB_Uzimanje i sabiranje vrednosti iz ListBox-a... da li znate?14.10.2006. u 08:01 - pre 212 meseci
@krckoorascic, nisi bas najbolje shvatio poentu: ako upisujes u string promenljive vrednosti formatirane na osnovu lokalnog podesavanja, onda je najbolje da ih citas/konvertujes sa CDbl(), a ako vec koristis Val() moras da imas u vidu karakteristiku koju sam naveo. Sto se mene tice, koristi sta hoces - ovo nije bio komentar "ja sam pametniji", vec sam hteo da ukazem da treba poznavati funkcije koje upotrebljavate (narocito funkcije za konverziju kod kojih je bitno koje su "lokalno svesne", a koje ne).

Da zakljucim, ako u istom programu - na istom lokalnom podesavanju upisujete numericke vrednosti u tekst, pa posle te iste vrednosti citate i konvertujete u brojeve KORISTITE CDbl() i nece biti nikakvih problema. Za sve ostale situacije i kombinacije morate predvideti moguce slucajeve i poznavati funkcije za konverziju koje koristite.

Pitanje: Da li ti kod korisnika postavljas lokalno podesavanje tako da tvoji programi ispravno rade, ili pravis aplikacije koje su lokalno nezavisne? Ako si koristio Val() na nacin na koji si ovde pokazao morao si bar kod nekog od korisnika da imas problem u slucaju kad je kod njega razlicit decimalni separator na sistemu.

Citat:

hvala na dopuni ali ja sam ipak za to da se koristi Val iz razloga sto ce Val iz recimo stringa "45.5 evra" vratiti 45.5 dok ce CDbl tu javiti gresku

Netacno
Citat:

znaci ukoliko nije sigurno da ce se samo brojevi nalaziti u ListBox-u onda je Val najlakse resenje

Tacno, Val() je dobro resenje za string koji nema pouzdano numericku vrednost, vec je moguce da sadrzi i neke slovne karaktere, a funkcija vraca samo ono sto je broj, a ostalo ignorise.

Val() je prilicno "prljava" funkcija i treba je koristiti samo u slucajevima koji to opravdavaju.

Jos malo saveta za "lenje" programere: Ako koristite Val() funkciju za konverziju zato sto ona ne daje gresku pri konverziji, razmislite ipak o koristenju lokalno svesnih funkcija(CDbl, Cint...) u sprezi sa IsNumeric() funkcijom - malo vise koda, ali uvek cista situacija. U suprotnom, moze vam se desiti da Val("123a") + Val("a123") = 123!

Da li je to rezultat koji ste ocekivali?


[Ovu poruku je menjao goranvuc dana 14.10.2006. u 10:39 GMT+1]
 
Odgovor na temu

Aleksandar Ružičić
Software Architect, Appricot d.o.o.
Beograd

Član broj: 26939
Poruke: 2881

Jabber: krckoorascic@gmail.com
Sajt: krcko.net


+44 Profil

icon Re: VB_Uzimanje i sabiranje vrednosti iz ListBox-a... da li znate?15.10.2006. u 00:20 - pre 212 meseci
Citat:

ovo nije bio komentar "ja sam pametniji"

nisam ga tako ni shvatio, vec kao poziv na pravu (nadam se nekome i korisnu) diskusiju kakvu odavno nisam video na ovom forumu :)

i sve sto sledi ne dokazuje da sam ja u pravu a da ti nisi, vec samo iznosim svoje argumente i doprinosim diskusiji (cisto da ne shvatis ovo kao "ja sam pametniji" sa moje strane :D)

Citat:

nisi bas najbolje shvatio poentu

jesam ja shvatio, ali Rollback nije naveo kakve tacno podatke ima u tom ListBoxu-u, recimo da ima:

2
489
4126
238
blablabla
153
45 evra

i sad, ako se krene petljom i sa Cdbl, ukoliko se ne koristi IsNumeric kod blablabla ce javiti gresku, ukoliko se koristi IsNumeric onda ce preci preko blablabla ali isto tako i preko 45 evra, odakle moze da se "iscupa" ono 45 sto ce Val i da uradi (Val ce za blablabla da vrati 0, a posto je u pitanju sabiranje nema potrebe da se koristi IsNumeric jer 0 ne utice na konacan zbir)

Citat:
ako upisujes u string promenljive vrednosti formatirane na osnovu lokalnog podesavanja, onda je najbolje da ih citas/konvertujes sa CDbl(), a ako vec koristis Val() moras da imas u vidu karakteristiku koju sam naveo.

tacno je to ali zasto ne skratiti kod tamo gde je moguce ako sa duzim kodom ne dobijas na brzini (ako je Val i sporiji od IsNumeric+CDbl to je toliko neznatno da ne vredi pominjati)? cak i taj kraci kod (Val) ti daje odredjene mogucnosti ('45 evra' string)

Citat:

vec sam hteo da ukazem da treba poznavati funkcije koje upotrebljavate (narocito funkcije za konverziju kod kojih je bitno koje su "lokalno svesne", a koje ne).

i to je tacno

Citat:

Pitanje: Da li ti kod korisnika postavljas lokalno podesavanje tako da tvoji programi ispravno rade, ili pravis aplikacije koje su lokalno nezavisne? Ako si koristio Val() na nacin na koji si ovde pokazao morao si bar kod nekog od korisnika da imas problem u slucaju kad je kod njega razlicit decimalni separator na sistemu.

Ne, ne postavljam lokalna podesavanja kod korisnika, zapravo nikada nisam imao problema sa lokalnim podesavanjima (da cukem u drvo da tako i ostane), jedino sam imao problema sa fontovima i nasim slovima (od tada stavljam fontove u svaku instalaciju :D) a koristio sam Val u vise navrata, ne tako cesto ali sam koristio, koristio sam ja i CDbl i CInt i ostalo kad mi je trebalo ali problema (srecom) nisam imao...

Citat:

Citat:

hvala na dopuni ali ja sam ipak za to da se koristi Val iz razloga sto ce Val iz recimo stringa "45.5 evra" vratiti 45.5 dok ce CDbl tu javiti gresku

Netacno

hoces da kazes da CDbl nece prijaviti gresku? Mozda gresim ali proverio sam, pogledaj attachment...


Citat:

Tacno, Val() je dobro resenje za string koji nema pouzdano numericku vrednost, vec je moguce da sadrzi i neke slovne karaktere, a funkcija vraca samo ono sto je broj, a ostalo ignorise.

pa to ja i pricam, nigde ne kazem da je Val bolji od CDbl vec da je Val laksi za upotrebu i ja ga preporucujem upravo u ovakvim situacijama, kada nije sigurno da su samo brojevi u pitanju (sto se tice ove teme Rollback nije ni rekao da ima problema sa nenumerickim stringovima, ja sam to samo naveo kao pretpostavku jer ce mozda neko drugi imati upravo taj problem)


Citat:

Val() je prilicno "prljava" funkcija i treba je koristiti samo u slucajevima koji to opravdavaju.

po cemu si zakljucio da je "prljava"? (i sta taj termin uopste znaci kada se upotrebi kao "epitet" uz funkciju, to mu dodlje na isto kao kad sportski komentator kaze "to je trojka, ali traljava trojka", kako trojka moze da bude traljava?)
ne verujem da si imao prilike da vidish izvorni kod Val funkcije pa me interesuje kako znas da je "prljava" (navedi primere koji dokazuju "prljavost" i razloge zasto ne koristiti neke "prljave" metode ako ce to u datoj situaciji resiti problem na lak nacin)

Citat:

Da zakljucim, ako u istom programu - na istom lokalnom podesavanju upisujete numericke vrednosti u tekst, pa posle te iste vrednosti citate i konvertujete u brojeve KORISTITE CDbl() i nece biti nikakvih problema. Za sve ostale situacije i kombinacije morate predvideti moguce slucajeve i poznavati funkcije za konverziju koje koristite.

apsolutno se slazem sa ovim


Citat:

Jos malo saveta za "lenje" programere: Ako koristite Val() funkciju za konverziju zato sto ona ne daje gresku pri konverziji, razmislite ipak o koristenju lokalno svesnih funkcija(CDbl, Cint...) u sprezi sa IsNumeric() funkcijom - malo vise koda, ali uvek cista situacija. U suprotnom, moze vam se desiti da Val("123a") + Val("a123") = 123!

Da li je to rezultat koji ste ocekivali?

ja sam se pronashao u "lenjim" programerima, zato sto jesam lenj (to mi je najveca mana) ali isto tako gledam da sto vise optimizujem kod, tj da ga smanjim (koristeci "prljave" funkcije ako je to potrebno, a nece dovesti do nezeljenih situacija) i ubrzam (recimo koristeci LenB, InStrB itd umesto Len i InStr i td) sto je nekad mnogo zamorno (skoro sam uzeo da sredim neki stari kod i za sat vremena sam broj linija smanjio za 30%, a proces izvrsavanja ubrzao za ~2%) ali isplativo...


elem, jos jednom da kazem da ne pokusavam da dokazem da ti gresis (jer ne gresis, ali ne gresim ni ja) cak sta vise ja smatram da ti u nekim stvarima imas vise iskustva od mene (jer si stariji i verovatno se duze bavis programiranjem od mene) i ja to postujem... samo pokusavam malo da ozivim ovaj forum sa kvalitetnim diskusijama...


poz
Prikačeni fajlovi
 
Odgovor na temu

goranvuc
Goran Vucicevic
Novi Sad

Član broj: 4934
Poruke: 1846
*.dialup.neobee.net.



+41 Profil

icon Re: VB_Uzimanje i sabiranje vrednosti iz ListBox-a... da li znate?15.10.2006. u 08:16 - pre 212 meseci
Citat:
krckoorascic: Citat:
Citat:
Citat:
Citat:
Citat:
hvala na dopuni ali ja sam ipak za to da se koristi Val iz razloga sto ce Val iz recimo stringa "45.5 evra" vratiti 45.5 dok ce CDbl tu javiti gresku

Netacno

hoces da kazes da CDbl nece prijaviti gresku? Mozda gresim ali proverio sam, pogledaj attachment..

Izvini, nisam video ono "evra".

Citat:
krckoorascic: Citat:
Citat:

Val() je prilicno "prljava" funkcija i treba je koristiti samo u slucajevima koji to opravdavaju.

po cemu si zakljucio da je "prljava"? (i sta taj termin uopste znaci kada se upotrebi kao "epitet" uz funkciju, to mu dodlje na isto kao kad sportski komentator kaze "to je trojka, ali traljava trojka", kako trojka moze da bude traljava?)
ne verujem da si imao prilike da vidish izvorni kod Val funkcije pa me interesuje kako znas da je "prljava" (navedi primere koji dokazuju "prljavost" i razloge zasto ne koristiti neke "prljave" metode ako ce to u datoj situaciji resiti problem na lak nacin).

"Prljava je" u smislu sto je predvidjena da radi sve i svasta, pa ako ne poznajes njenu specifikaciju detaljno, mozes da dobijes neocekivane rezultate. Microsoft je drzi samo zbog "backward" kompatibilnosti, inace bi je vec odavno izbacili. Sve funkcije koje ne postoje u ostalim vodecim programskim jezicima (mislim na funkcionalnost, a ne na naziv), a postoje u VB-u vecinom su "nasledje iz mracne proslosti".
Za mene je "prljavo" da u neku funkciju prosledim alfanumericki string, a da mi ona vraca broj, tj. ako od korisnika ocekujem da unese neki broj, a dopustim mu da unese bilo sta, a onda to "bilo sta" konvertujem sa Val (samo zato sto sam siguran da time nece doci do runtime error - VAUUU) i onda na kraju dobijem nesto sto nikom na ovom svetu ne odgovara, jer - KORISNIK JE MOZDA SLUCAJNO POGRESIO KOD UNOSA.
Ovo nije moj stil, volim jasne i precizne funkcije cija se funkcionalnost moze opisati jednom recenicom, a Val to nije, vec je ustupak pocetnicima i neznalicama koji ne znaju ni da je potrebno deklarisati promenljive, ne znaju sta su tipovi... (ne mislim na tebe)

Jedna prica iz iskustva: Radio sam sa likom koji je u svim svojim aplikacijama za rad sa bazama podataka uzeo Integer kao tip za promenljive u programu koje se odnose na vrednost primarnih kljuceva iz baze. Onda su jednog dana pocele da se javljaju greske na sve strane, kako su vrednosti kljuceva prelazile 32768, a sta mislite koliko mu je trebalo da "skonta" o cemu se radi? Kada sam ga pitao sto je tako odradio celu stvar, kaze "bas me briga, promenicu kad dodje do greske, bar imam sta da radim".

Takvi programeri koriste Val() funkcije za sve zivo, upisuju podatke sa Format() funkcijom, ne deklarisu promenljive .... Zato sam se u prvi mah i javio, smatram da treba da dobro poznajes ono sto koristis, a ne po inerciji...

Nadam se da je bar neko iz ovoga nesto naucio, sto ti kazes "da ozivimo malo ovaj forum".

Pozdrav!

[Ovu poruku je menjao goranvuc dana 15.10.2006. u 09:38 GMT+1]
 
Odgovor na temu

Marko_L
Beograd

Član broj: 20532
Poruke: 2885
*.dynamic.sbb.co.yu.

Jabber: Marko_L@elitesecurity.org


+828 Profil

icon Re: VB_Uzimanje i sabiranje vrednosti iz ListBox-a... da li znate?15.10.2006. u 18:45 - pre 212 meseci
Evo da se i ja malo uključim :)
Dakle, rekao bih da ste obojica u pravu, ali u principu, ne valja ni jedno ni drugo. Val će praviti problem ako korisnik greškom unese neko slovo pre numeričke vrednosti, kao i ako decimale nisu odvojene tačkom (mada ovo može da se reši Replace funkcijom kao što krcko reče), dok Cdbl ne valja jer će dolaziti do greške ukoliko uneta vrednost sadrži neku vrednost koja nije ni broj ni dec. sep. Inače sam protiv bilo kakve naknadne konverzije podataka, pogotovo ako će se oni koristiti za nekakve proračune. Mnogo je bolje, efikasnije i elegantnije onemogućiti korisnika da uopšte pogrešno upiše podatke, a posle je pesma. Pogotovo zato što se to može uraditi na jednostavan način, a može uštedeti mnogo posla kasnije. Postoje mnoge metode kojima se korisnik može sprečiti da unese pogrešan unos u bazu... Recimo, jedan od elegantnijih načina jeste korišćenje posebno namenjenih kontrola za unos određenog tipa podataka, kao što je DTPicker za datum koja će uvek kao vrednost vratiti datum u formatu kakav je podešen u Regional Settings, zatim Masked Edit Box za mnoge druge stvari kojom možemo forsirati korisnika da unese podatak baš onakav kakav nam treba za dalju obradu, i slično, a uz malo kodiranja i običan textbox može da posluži. Tu su recimo funkcije IsDate, IsNumeric, IsNull i slične kojima možemo da proverimo da li je korisnik uneo ispravan podatak ili nije, pa možemo da ga obavestimo MsgBox-om da je uneo pogrešnu vrednost i da treba da je ispravi. Isto tako možemo koristiti keypress event textboxa i tako sprečimo korisnika da uopšte upiše neku vrednost koja nije brojčana... recimo nešto ovako
Code:
Private Sub Text1_KeyPress(KeyAscii As Integer)
Select Case KeyAscii
  Case 8 'dozvoljavamo koriscenje backspace tastera
    Exit Sub
  Case 46 'dozvoljavamo unos samo jedne tacke koja ce da predstavlja decimalni separator
    If InStr(1, txtANum, ".") > 0 Then
      KeyAscii = 0
    Else
      Exit Sub
    End If
  Case Is < 48, Is > 58 'ne dozvoljavamo unos slova i ostalih karaktera koji nisu cifre
    KeyAscii = 0
End Select
End Sub

Vrlo elegantno i jednostavno. Naravno, nijedna od ovih metoda sama po sebi nije sasvim sigurna, jer dosta toga zavisi i od regionalnih podešavanja, pa treba u sve to uključiti i proveru regionalnih podešavanja. Recimo API funkcijom GetNumberFormat se može dobiti dec. sep. za lokalnu mašinu na kojoj je pokrenut program, pa prema tome napraviti zaštitu od pogrešnog unosa. Jeste da ima posla oko toga, ali isplati se, jer dobijate mnogo manje mogućnosti da se kasnije prilikom obrade takvih podataka javi greška, a korisniku obezbeđujete udobniji rad što će on svakako ceniti. Takođe veoma bitan element je i Error handling, jer će korisnik svakako više ceniti ako mu na ekranu izađe poruka "Niste uneli dobar tip podataka, očekivana je brojčana vrednost. Morate ispraviti unos." ili nešto slično, nego ako mu se ispiše "Type Mismatch" i aplikacija pukne, a kao što rekoh, najviše će ceniti ako mu program uopšte ne dozvoli da napravi grešku, a i nama programerima to olakšava posao u daljem pisanju koda, jer mnogih otežavajućih faktora kao što je mogućnost pogrešnog unosa i lupanja glavom kako obraditi ako korisnik upiše ovo ili ono, više nema.
-Odracuonogakomijedrpiorazmaknicu.
-Ne rxdi mi txstxturx, kxd god hocu dx
ukucxm "x" onx ukucx "x".
-Ko kaaz e da ja neuummem da kuuca
m.
-Piše "Insert disk 3", a jedva sam i ova
dva ugurao u drajv
-Postoje samo dve osobe kojima
verujem, jedna sam ja, a druga nisi ti
 
Odgovor na temu

goranvuc
Goran Vucicevic
Novi Sad

Član broj: 4934
Poruke: 1846
*.dialup.neobee.net.



+41 Profil

icon Re: VB_Uzimanje i sabiranje vrednosti iz ListBox-a... da li znate?15.10.2006. u 23:38 - pre 212 meseci
Citat:

Inače sam protiv bilo kakve naknadne konverzije podataka, pogotovo ako će se oni koristiti za nekakve proračune

Ako je potrebno racunanje sa tekstom koji je upisao korisnik - konverzija je neizbezna. Sve ostalo sto si naveo uglavnom potvrdjuje ono sto sam i ja pisao: Korisnika uvek treba informisati o zahtevanom nacinu unosa podataka i raditi validaciju unosa. Tek na kraju, posle svih neophodnih validacija radi se konverzija, a kada se Val() funkcija primenjuje u ovoj problematici, uglavnom bude "garbage in, garbage out".
 
Odgovor na temu

Marko_L
Beograd

Član broj: 20532
Poruke: 2885
*.dynamic.sbb.co.yu.

Jabber: Marko_L@elitesecurity.org


+828 Profil

icon Re: VB_Uzimanje i sabiranje vrednosti iz ListBox-a... da li znate?16.10.2006. u 20:07 - pre 212 meseci
Citat:
Ako je potrebno racunanje sa tekstom koji je upisao korisnik - konverzija je neizbezna.

Slažem se, ali moja poenta je da korisniku ne treba uopšte dozvoliti proizvoljan unos podataka, već mu presretati svaki podatak koji unese i naterati ga da upiše onakav kakav je potreban, koristeći neku od metoda koje sam naveo ili neku sasvim desetu. Ako se taj deo programa lepo odradi, naknadna konverzija nije potrebna što olakšava posao programeru i eliminiše mogućnost greške u proračunima (misli se na logičku, a ne vrednosnu grešku).
-Odracuonogakomijedrpiorazmaknicu.
-Ne rxdi mi txstxturx, kxd god hocu dx
ukucxm "x" onx ukucx "x".
-Ko kaaz e da ja neuummem da kuuca
m.
-Piše "Insert disk 3", a jedva sam i ova
dva ugurao u drajv
-Postoje samo dve osobe kojima
verujem, jedna sam ja, a druga nisi ti
 
Odgovor na temu

Aleksandar Ružičić
Software Architect, Appricot d.o.o.
Beograd

Član broj: 26939
Poruke: 2881

Jabber: krckoorascic@gmail.com
Sajt: krcko.net


+44 Profil

icon Re: VB_Uzimanje i sabiranje vrednosti iz ListBox-a... da li znate?17.10.2006. u 20:21 - pre 212 meseci
Dakle, zakljucak: "bolje spreciti nego leciti" :)


samo jos nesto da dodam:
Citat:

Microsoft je drzi samo zbog "backward" kompatibilnosti, inace bi je vec odavno izbacili.

nisam siguran da su imali na umu da je izbace, jer VB je ipak BASIC language, znaci mora da ima gomilu keywordova i built-in funkcija da bi mogli da ga koriste oni kojima je namenjen. BASIC (Beginner's All-purpose Symbolic Instruction Code) su napravili profesori John Kemeny i Thomas Kurtz da bi studente lakse naucili koncepte programiranja. Kasnije se preko BASIC-64, GW-BASIC i QBASIC-a stiglo da VB-a pa i do VB.NET (koji po meni nije BASIC jezik vec jezik koji ima samo basic-like sintaksu, ali mozda gresim...), cinjenica je da je VB veoma mocno razvojno okruzenje i veoma zastupljeno ali to je i dalje "Beginner's All-purpose Symbolic Instruction Code" jezik, tj mora da bude lak za upotrebu, a upravo gomila keywordova (uporedi samo c keyword listu i vb keyword listu!) i dosta ugradjenih i raznolikih funkcija omogucava laku upotrebu jezika.
Recimo, zasto bih se mucio i pisao funkcije koje ce stringove u hex i octal obliku pretvarati u decimalne brojeve (Integer, Long tipove) kad to imam uradjeno vec u Val funkciji (recimo Val("&HFF00FF") i Val("&O777"))


Citat:

Sve funkcije koje ne postoje u ostalim vodecim programskim jezicima (mislim na funkcionalnost, a ne na naziv), a postoje u VB-u vecinom su "nasledje iz mracne proslosti".

nadam se da se "mracna proslost" ne odnosi na qbasic (jer je vb proistekao iz qb-a) jer je qb i dan danas koriscen jezik (pogledaj koliko samo redovno updateovanih sajtova na temu qb-a ima), a pogledaj samo freebasic (koji je nastao kao "nastavak qbasic-a") koji polako dobija oop (verzija koja je u cvs-u vec ima dosta toga implementiranog)...

 
Odgovor na temu

[es] :: Visual Basic 6 :: VB_Uzimanje i sabiranje vrednosti iz ListBox-a... da li znate?

[ Pregleda: 3341 | Odgovora: 12 ] > FB > Twit

Postavi temu Odgovori

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