[ sky_nex @ 23.03.2005. 14:30 ] @
Pokušavam zbrojiti unose koji se unesu u text1 i text2 Box i to mi sve ide uredu dok ne dođem do brojeva koji nisu cijeli.

Primjer :

Text1 = 5
Text2 = 5

rezultat koji dobijemText3 = 10 ; to je dobro

a kada napišem

Text1 = 5,5
Text2 = 5

rezultat koji dobijem Text3 = 10

Kada stavim umjesto zareza točku onda mi dobro zbroji, ja hoću da mi zbraja sa zarezom!?


[ Shadowed @ 23.03.2005. 14:48 ] @

Text3.Text = Val(Text1.Text) + Val(Replace(Text2.Text, ",", "."))
[ Not now, John! @ 23.03.2005. 16:03 ] @
Windows računa da je zarez ono što ti je namješteno pod Regional Settings odnosno ono što dobiješ kada pritisneš "zarez" na numeričkoj tastaturi. Ne bi trebalo da to definišeš na nivou programa.
[ Shadowed @ 23.03.2005. 16:25 ] @
Ovo ce raditi nezavisno od podesavanja. Samo ce u Text3 biti upisan rezultat kakav je po tim podesavanjima ali ce uvek dobiti sabrane brojeve.
[ Not now, John! @ 23.03.2005. 20:42 ] @
Citat:
Shadowed: Ovo ce raditi nezavisno od podesavanja. Samo ce u Text3 biti upisan rezultat kakav je po tim podesavanjima ali ce uvek dobiti sabrane brojeve.

Ali kada prenese na neki drugi računar koji prikazuje brojeve kao "1.234.456,89" ili "1,234,456.89" neće raditi.
[ Shadowed @ 24.03.2005. 15:16 ] @
Aha, ovo sa zarezom na drugim mestima mi nije palo na pamet. Onda bi mogao da uporedi InStrRev(Text1.Text, ",") i InStrRev(Text1.Text, ".") pa ako je ovaj prvi manji ili je drugi = 0 vrsi onu zamenu inace ne vrsi.
[ sky_nex @ 25.03.2005. 05:22 ] @
Shadowed možeš li staviti cijeli primjer koda, jer nisam baš razumio ovo što si napisao!?

[ Shadowed @ 25.03.2005. 14:21 ] @
Code:
If  (InStrRev(Text1.Text, ",") < InStrRev(Text1.Text, ".")) Or (InStrRev(Text1.Text, ".") = 0) then _
Text3.Text = Val(Text1.Text) + Val(Replace(Text2.Text, ",", "."))
[ quattor @ 25.03.2005. 18:15 ] @
Hmmm, zasto ne uradis to ovako, bar te nece boleti glava: Uzmes API f-ju GetLocaleInfo i vidis sta je u racunaru podeseno za decimale - zarez, da ne kazem zapeta, ili tacka. Onda korisniku dozvolis da unese samo taj znak i cifre od 0-9 i sve si resio, ukljucujuci i razne sasave unose. Jos ukoliko ubacis i f-ju IsNumeric...

Pozdrav...
[ Not now, John! @ 25.03.2005. 19:59 ] @
Ja opet ponavljam. Nije uredu tjerati korisnika da brojeve upisuje na numeričkoj tastaturi, a zarez da ganja lijevo, kod razmaknice.
[ Shadowed @ 25.03.2005. 20:55 ] @
@quattor. Sve je to OK. Ali sky_nex rece da hoce bas sa zarezom pa radimo na metodi da se bez obzira na podesavanje u Win-u koristi zarez. Znaci, pocetni uslov je bio koriscenje zareza.
[ quattor @ 26.03.2005. 07:21 ] @
Momci, vi onda iskombinujte sve do sada receno. Sa GetLocaleInfo proveri sta je podeseno u Windowsu. Ako je zarez za decimale, onda je OK. Ako nije, onda zarez zameni sa tackom, kao sto je vec bilo postirano. Ako neces da trckaras do zareza kod razmaknice, napravi da se ukucana tacka na numerickoj tastaturi (vbKeyDecimal) automatski prevede u zarez. Naravno, nije sve tako jednostavno - ako je za decimale podesen zarez, ukucana tacka sa numericke tastature nije vise vbKeyDecimal, nego obicna tracka (keyascii=46). Nadam se da sam pomogao...

Pozdrav...