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

decimalan broj u regional settings-u

[es] :: Visual Basic 6 :: decimalan broj u regional settings-u

[ Pregleda: 5106 | Odgovora: 17 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

Borg RS

Član broj: 50497
Poruke: 30
81.94.11.*



Profil

icon decimalan broj u regional settings-u02.12.2005. u 12:54 - pre 223 meseci
prilikom upisa broja(double) u bazu rekordset uopste ne vidi podatak kao double sve dotle dok u regional settingsu ne promjenim da umjesto zareza tacka bude decimalni separator.
U stvari nije to rekordset nego nesto u VB-6,nemam pojma sta, jer mi kod prijatelja to radi na istom OS-u.
Je li neko vec imao slican problem? Strasno me ovo zaj*****.

 
Odgovor na temu

sqlprogramer
Leon Ljubic
Kragujevac

Član broj: 73800
Poruke: 37
*.verat.net.

Sajt: www.bid.co.yu


Profil

icon Re: decimalan broj u regional settings-u02.12.2005. u 14:01 - pre 223 meseci
Moraces ili da prilikom instalacije VB programa automatski promenis podesavanja za tacku , odnosno zarez, ili da ti to polje u bazi bude Text tipa , pa da ga posle pretvoris u doble.
 
Odgovor na temu

Borg RS

Član broj: 50497
Poruke: 30
81.94.11.*



Profil

icon Re: decimalan broj u regional settings-u07.12.2005. u 07:11 - pre 222 meseci
kako da promijenim ta podesavanja za tacku ili zarez?
 
Odgovor na temu

ssteva
Beograd

Član broj: 12533
Poruke: 55
..njuel-bg.customer.sbb.co.yu.



Profil

icon Re: decimalan broj u regional settings-u07.12.2005. u 08:29 - pre 222 meseci
Najsigurnije da to odradis iz koda, pozivom API-ja
Code:
Declare Function WriteProfileString Lib "kernel32.dll" _
        Alias "WriteProfileStringA" _
        (ByVal lpszSection As String, _
        ByVal lpszKeyName As String, _
        ByVal lpszString As String) As Long


Vrednosti menjas ovako
Code:
WriteProfileString("Intl", "sThousand", ",")
WriteProfileString("Intl", "sDecimal", ".")


 
Odgovor na temu

Marko_L
Beograd

Član broj: 20532
Poruke: 2885
*.21.EUnet.yu.

Jabber: Marko_L@elitesecurity.org


+828 Profil

icon Re: decimalan broj u regional settings-u08.12.2005. u 11:59 - pre 222 meseci
Mada je u većini slučajeva neprihvatljivo korisniku menjati Regional Settings samo da bi vaša aplikacija radila normalno.recimo, može da se desi da se poremeti neki druga aplikacija koju taj korisnik aktivno koristi.Treba pokušati prvo na druge načine rešiti problem, recimo Format funkcijom.E sad, nisi dao dovoljno informacija o tome šta radiš, pa da mogu nekako konkretno da ti pomognem.
-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

steewsc
Trajanovic Stevica
Cicevac Town

Član broj: 10379
Poruke: 237
*.dialup.neobee.net.



+5 Profil

icon Re: decimalan broj u regional settings-u08.12.2005. u 22:09 - pre 222 meseci
Neznam za vas, ali mnogo vise volim da koristim [.] od [,].
Nekako mi je zgodnije, jer se[.] nalazi na numerickom delu tastature
i sto se mene tice ja bih se drzao standarda da se koristi samo [.] i to za decimalne vrednosti, a hiljade da se ne obelezavaju.
Problem su hiljade, ali opet nekako izbegavam da koristim [,].

[Ovu poruku je menjao steewsc dana 08.12.2005. u 23:12 GMT+1]
www.cicevac.com
†StEEwSc†
 
Odgovor na temu

Borg RS

Član broj: 50497
Poruke: 30
*.teol.net.



Profil

icon Re: decimalan broj u regional settings-u10.12.2005. u 22:36 - pre 222 meseci
Ja se Izvinjavam, bio sam malo odsutan pa nisam pratio ove odgovore.

Citat:
steewsc: Neznam za vas, ali mnogo vise volim da koristim [.] od [,].
Nekako mi je zgodnije, jer se[.] nalazi na numerickom delu tastature
i sto se mene tice ja bih se drzao standarda da se koristi samo [.] i to za decimalne vrednosti, a hiljade da se ne obelezavaju.
Problem su hiljade, ali opet nekako izbegavam da koristim [,].

[Ovu poruku je menjao steewsc dana 08.12.2005. u 23:12 GMT+1]


Kad bi se aplikacije pravile onako kako je nama zgodnije mogli bi ih samo mi koristiti,
ali problem upravo nastane kada klijent zahtijeva nesto zar ne?

Citat:
Marko_L: Mada je u većini slučajeva neprihvatljivo korisniku menjati Regional Settings samo da bi vaša aplikacija radila normalno.recimo, može da se desi da se poremeti neki druga aplikacija koju taj korisnik aktivno koristi.Treba pokušati prvo na druge načine rešiti problem, recimo Format funkcijom.E sad, nisi dao dovoljno informacija o tome šta radiš, pa da mogu nekako konkretno da ti pomognem.


Ne znam kakvih bih ti dao jos informacija. Sto se tice mog prijatelja i to sto sam napisao da kod njega radi(mozda vas to buni) to mi je rekao preko tel. ali kada sam otisao do njega vidio sam da to nije to (ne radi). Sto se tice format funkcije ja obavezno radim s njom jer volim da tacno znam sta se pise u bazu. Da ne duzim,
ma sta da uradim sa tim brojem kad hocu da ga upisem u bazu a tamo mi je polje double ili decimal ne ide. Kada se debaguje broj 1,22 rekordset vidi kao 122 sve dok se regional settings ne promjeni na tacku onda ga vidi 1.22 i sve je u redu.
Potpuno se slazem da ne dolazi u obzir mijenjanje reg.sett. Ja mogu upisati broj u bazu kao string ali, sve sume trazim upitima, barem mi je to praksa,(jedan red koda)
ako su u bazi sve stringovi od te sume nema nista.
Postoji mogucnost nezavisnosti od reg.sett. tako sto se na formu veze ado objekat. To sam upravo isprobao i u active reportu mi sve cifre izgledaju odlicno, sjajno, bajno... samo naravno ima jedna MALA SITNICA zbog koje cu zapaliti ovaj racunar. Broj 1.234,55 prikaze kao 123.455,00 kada je reg.sett. podesen na zarez.
E sad ja bih mogao njega podijeliti sa 100 i to je to, ali ja to ne bih uradio tako kada bi sve oko mene gorilo pa cak i kada bi postojala naredba REPORT/100. Radije bih poceo uzgajati puzeve nego da napisem i jednu liniju koda vise.
Nadam se da sam ti dao dovoljno informacija. Malo sam ljut, najgore mi je sto sam taj problem uocio na samom pocetku ali sam mislio "o tom potom" uradicu nesto s tim brojem kad dodjem do toga sad cu sve ovo bacit i pisati u necem drugom.
 
Odgovor na temu

ssteva
Beograd

Član broj: 12533
Poruke: 55
..taman-bg.customer.sbb.co.yu.



Profil

icon Re: decimalan broj u regional settings-u11.12.2005. u 11:24 - pre 222 meseci
Nemoj da koristis ado objekat, probaj ovo
Code:

Function ZarezUTacku(broj as double) as string
   dim tmp as string
   tmp = cstr(broj)
   ZarezUTacku = Replace(tmp, ",", ".")
end function

naravno ulaz ne sme biti formatiran sa separatorom za hiljade.
Svaki decimalni broj koji upisujes u bazu obradi pre upisa ovom fjom.

 
Odgovor na temu

Borg RS

Član broj: 50497
Poruke: 30
81.94.11.*



Profil

icon Re: decimalan broj u regional settings-u12.12.2005. u 08:04 - pre 222 meseci
Citat:
ssteva: Nemoj da koristis ado objekat, probaj ovo
Code:

Function ZarezUTacku(broj as double) as string
   dim tmp as string
   tmp = cstr(broj)
   ZarezUTacku = Replace(tmp, ",", ".")
end function

naravno ulaz ne sme biti formatiran sa separatorom za hiljade.
Svaki decimalni broj koji upisujes u bazu obradi pre upisa ovom fjom.


Nisi pazljivo pratio. String ne smije u bazu nije mi to rijesenje, a kad je broj onda zavisi od reg sett. U principu nema veze pusti to.
 
Odgovor na temu

dava
Banja Luka

Član broj: 27208
Poruke: 893



+384 Profil

icon Re: decimalan broj u regional settings-u12.12.2005. u 08:52 - pre 222 meseci
I mene je to mucilo jedno vrijeme, ali sam nasao rjesenje. Nemoras mjenjati reg. set. uradi ovako:

U modul:

Code:

Option Explicit

'=== Api declarations ===
Public Declare Function GetLocaleInfo Lib "kernel32" _
        Alias "GetLocaleInfoA" _
        (ByVal Locale As Long, _
        ByVal LCType As Long, _
        ByVal lpLCData As String, _
        ByVal cchData As Long) As Long
Public Const LOCALE_SYSTEM_DEFAULT = &H800
Public Const LOCALE_USER_DEFAULT = &H400
Public Const LOCALE_NOUSEROVERRIDE = &H80000000 'no user overrides


Public Const LOCALE_ILANGUAGE = &H1         '  language id
Public Const LOCALE_SLANGUAGE = &H2     '  localized name of language
Public Const LOCALE_SENGLANGUAGE = &H1001 'English name of language
Public Const LOCALE_SABBREVLANGNAME = &H3 'short language name
Public Const LOCALE_SNATIVELANGNAME = &H4 'native name of language
Public Const LOCALE_ICOUNTRY = &H5         '  country code
Public Const LOCALE_SCOUNTRY = &H6 'localized name of country
Public Const LOCALE_SENGCOUNTRY = &H1002 'English name of country
Public Const LOCALE_SABBREVCTRYNAME = &H7 'short country name
Public Const LOCALE_SNATIVECTRYNAME = &H8 'native name of country
Public Const LOCALE_IDEFAULTLANGUAGE = &H9 'default language id
Public Const LOCALE_IDEFAULTCOUNTRY = &HA 'default country code
Public Const LOCALE_IDEFAULTCODEPAGE = &HB 'default code page
Public Const LOCALE_SLIST = &HC         '  list item separator
Public Const LOCALE_IMEASURE = &HD         '  0 = metric, 1 = US
Public Const LOCALE_SDECIMAL = &HE         '  decimal separator
Public Const LOCALE_STHOUSAND = &HF         '  thousand separator
Public Const LOCALE_SGROUPING = &H10        '  digit grouping
Public Const LOCALE_IDIGITS = &H11 'number of fractional digits
Public Const LOCALE_ILZERO = &H12        '  leading zeros for decimal
Public Const LOCALE_SNATIVEDIGITS = &H13        '  native ascii 0-9
Public Const LOCALE_SCURRENCY = &H14        '  local monetary symbol
Public Const LOCALE_SINTLSYMBOL = &H15        '  intl monetary symbol
Public Const LOCALE_SMONDECIMALSEP = &H16 'monetary decimal separator
Public Const LOCALE_SMONTHOUSANDSEP = &H17 'monetary thousand sep
Public Const LOCALE_SMONGROUPING = &H18        '  monetary grouping
Public Const LOCALE_ICURRDIGITS = &H19 '# local monetary digits
Public Const LOCALE_IINTLCURRDIGITS = &H1A '# intl monetary digits
Public Const LOCALE_ICURRENCY = &H1B        '  positive currency mode
Public Const LOCALE_INEGCURR = &H1C        '  negative currency mode
Public Const LOCALE_SDATE = &H1D        '  date separator
Public Const LOCALE_STIME = &H1E        '  time separator
Public Const LOCALE_SSHORTDATE = &H1F 'short date format string
Public Const LOCALE_SLONGDATE = &H20        '  long date format string
Public Const LOCALE_STIMEFORMAT = &H1003      '  time format string
Public Const LOCALE_IDATE = &H21        '  short date format ordering
Public Const LOCALE_ILDATE = &H22        '  long date format ordering
Public Const LOCALE_ITIME = &H23        '  time format specifier
Public Const LOCALE_ICENTURY = &H24        '  century format specifier
Public Const LOCALE_ITLZERO = &H25 'leading zeros in time field
Public Const LOCALE_IDAYLZERO = &H26 'leading zeros in day field
Public Const LOCALE_IMONLZERO = &H27 'leading zeros in month field
Public Const LOCALE_S1159 = &H28        '  AM designator
Public Const LOCALE_S2359 = &H29        '  PM designator
Public Const LOCALE_SDAYNAME1 = &H2A        '  long name for Monday
Public Const LOCALE_SDAYNAME2 = &H2B        '  long name for Tuesday
Public Const LOCALE_SDAYNAME3 = &H2C        '  long name for Wednesday
Public Const LOCALE_SDAYNAME4 = &H2D        '  long name for Thursday
Public Const LOCALE_SDAYNAME5 = &H2E        '  long name for Friday
Public Const LOCALE_SDAYNAME6 = &H2F        '  long name for Saturday
Public Const LOCALE_SDAYNAME7 = &H30        '  long name for Sunday
Public Const LOCALE_SABBREVDAYNAME1 = &H31 'short name for Monday
Public Const LOCALE_SABBREVDAYNAME2 = &H32 'short name for Tuesday
Public Const LOCALE_SABBREVDAYNAME3 = &H33 'short name for Wednesday
Public Const LOCALE_SABBREVDAYNAME4 = &H34 'short name for Thursday
Public Const LOCALE_SABBREVDAYNAME5 = &H35 'short name for Friday
Public Const LOCALE_SABBREVDAYNAME6 = &H36 'short name for Saturday
Public Const LOCALE_SABBREVDAYNAME7 = &H37 'short name for Sunday
Public Const LOCALE_SMONTHNAME1 = &H38        '  long name for January
Public Const LOCALE_SMONTHNAME2 = &H39 'long name for February
Public Const LOCALE_SMONTHNAME3 = &H3A        '  long name for March
Public Const LOCALE_SMONTHNAME4 = &H3B        '  long name for April
Public Const LOCALE_SMONTHNAME5 = &H3C        '  long name for May
Public Const LOCALE_SMONTHNAME6 = &H3D        '  long name for June
Public Const LOCALE_SMONTHNAME7 = &H3E        '  long name for July
Public Const LOCALE_SMONTHNAME8 = &H3F        '  long name for August
Public Const LOCALE_SMONTHNAME9 = &H40 'long name for September
Public Const LOCALE_SMONTHNAME10 = &H41 'long name for October
Public Const LOCALE_SMONTHNAME11 = &H42 'long name for November
Public Const LOCALE_SMONTHNAME12 = &H43 'long name for December
Public Const LOCALE_SABBREVMONTHNAME1 = &H44 'short name for January
Public Const LOCALE_SABBREVMONTHNAME2 = &H45 'short name for February
Public Const LOCALE_SABBREVMONTHNAME3 = &H46 'short name for March
Public Const LOCALE_SABBREVMONTHNAME4 = &H47 'short name for April
Public Const LOCALE_SABBREVMONTHNAME5 = &H48 'short name for May
Public Const LOCALE_SABBREVMONTHNAME6 = &H49 'short name for June
Public Const LOCALE_SABBREVMONTHNAME7 = &H4A 'short name for July
Public Const LOCALE_SABBREVMONTHNAME8 = &H4B 'short name for August
Public Const LOCALE_SABBREVMONTHNAME9 = &H4C 'short name for September
Public Const LOCALE_SABBREVMONTHNAME10 = &H4D 'short name for October
Public Const LOCALE_SABBREVMONTHNAME11 = &H4E 'short name for November
Public Const LOCALE_SABBREVMONTHNAME12 = &H4F 'short name for December
Public Const LOCALE_SABBREVMONTHNAME13 = &H100F
Public Const LOCALE_SPOSITIVESIGN = &H50        '  positive sign
Public Const LOCALE_SNEGATIVESIGN = &H51        '  negative sign
Public Const LOCALE_IPOSSIGNPOSN = &H52 'positive sign position
Public Const LOCALE_INEGSIGNPOSN = &H53 'negative sign position
Public Const LOCALE_IPOSSYMPRECEDES = &H54 'mon sym precedes pos amt


'mon sym sep by space from pos amt...
Public Const LOCALE_IPOSSEPBYSPACE = &H55


Public Const LOCALE_INEGSYMPRECEDES = &H56 'mon sym precedes neg amt


'mon sym sep by space from neg amt...
Public Const LOCALE_INEGSEPBYSPACE = &H57
Public Const LOCALE_FONTSIGNATURE = &H58


'=== implementation ===
Public Function GetLocaleItem(ByVal Locale As Long, _
        ByVal lType As Long) As String
        'Returns the info for a locale (Regional Settings) item.
        'Locale: LOCALE_USER_DEFAULT, or LOCALE_SYSTEM_DEFAULT
        'lType: One of the LOCALE_ id items.
        'Note the format syntax is ~not~ the same
        'as that used by VB's Format function.


    Dim sBuf As String
    Dim lBufSize As Long, lRet As Long


    lBufSize = GetLocaleInfo(Locale, lType, sBuf, 0&)
    sBuf = String(lBufSize + 2, 0)
    lRet = GetLocaleInfo(Locale, lType, sBuf, lBufSize)
    GetLocaleItem = Left$(sBuf, lRet)
End Function 


Funkciju pozivas sa:
Code:

GetLocaleItem(LOCALE_USER_DEFAULT, LOCALE_SDECIMAL)


To ti je to pa ga malo prilagodi ako bude trebalo.
Pozdrav



[Ovu poruku je menjao dava dana 12.12.2005. u 09:57 GMT+1]
SELECT * FROM หน่วยงานหลัก WHERE ยสันติ LIKE 'โดย%'
 
Odgovor na temu

Borg RS

Član broj: 50497
Poruke: 30
81.94.11.*



Profil

icon Re: decimalan broj u regional settings-u13.12.2005. u 07:54 - pre 222 meseci
Koliko ja vidim to je da vidim sta mi je u reg. sett. a to mi ne treba.
 
Odgovor na temu

dava
Banja Luka

Član broj: 27208
Poruke: 893



+384 Profil

icon Re: decimalan broj u regional settings-u13.12.2005. u 10:19 - pre 222 meseci
Ne ne, nego program pokupi podesavanja iz reg. set. i koristi takva tako da nemoras reg. set. podesavati prema svojoj aplikaciji. To je mnogo bolje rjesenje upravo zbog toga sto je Marko_L napisao u prvoj recenici.
SELECT * FROM หน่วยงานหลัก WHERE ยสันติ LIKE 'โดย%'
 
Odgovor na temu

Borg RS

Član broj: 50497
Poruke: 30
81.94.11.*



Profil

icon Re: decimalan broj u regional settings-u14.12.2005. u 07:33 - pre 222 meseci
Pa na koji dogadjaj da ga pozovem?
 
Odgovor na temu

dava
Banja Luka

Član broj: 27208
Poruke: 893



+384 Profil

icon Re: decimalan broj u regional settings-u14.12.2005. u 09:45 - pre 222 meseci
Ja sam imao slucaj da kad se klikne na dugme decimalnog znaka u programu, program povuce decimalni simbol iz regional set. i ubaci ga u text box. Bilo da je podesen tacka ili zarez.
E sad ti prilagodi sebi.

SELECT * FROM หน่วยงานหลัก WHERE ยสันติ LIKE 'โดย%'
 
Odgovor na temu

Borg RS

Član broj: 50497
Poruke: 30
81.94.11.*



Profil

icon Re: decimalan broj u regional settings-u14.12.2005. u 11:30 - pre 222 meseci
Ipak moram ti se zahvaliti na ulozenom trudu, ali to nije to definitivno.
Usput jedno pitanje. Jesi li ti taj broj pisao u neku bazu? Koju? Kako si baratao kasnije s tim podatkom?
 
Odgovor na temu

quattor
Ljubisa Nikolic
Subotica

Član broj: 44020
Poruke: 130
*.subotica.net.



+10 Profil

icon Re: decimalan broj u regional settings-u14.12.2005. u 16:54 - pre 222 meseci
Huh... puno toga je receno. Da zakljucim - menjanje bilo kakvih podesavanja racunara od strane korisnickog programa je strogo NO-NO. Univerzalnost postizem tako sto u dogadjaju keypress jednostavno promenim decimalni simbol koji je korisnik uneo u onaj koji iscitam iz registryja. Moze i nakon unosenja, zamenom decimalnih simbola.

Inace, mislim da je ovde nesto drugo problem. Dakle gde god upisujete neki decimalan broj u bazu, to polje formatirajte kao single, bez ikakvog formata. Format vam nije potreban jer ce to vas program odraditi. Ja ovako radim vec godinama i nikada nisam imao ni najmanji problem oko ovoga.

Proveri ova podesavanja u bazi pa javni sta si uradio.

Pozdrav.
 
Odgovor na temu

Borg RS

Član broj: 50497
Poruke: 30
81.94.11.*



Profil

icon Re: decimalan broj u regional settings-u16.12.2005. u 08:39 - pre 222 meseci
Single je u mysql-u decimal?
Decimalni znak mijenjas kao string ili?
 
Odgovor na temu

dava
Banja Luka

Član broj: 27208
Poruke: 893



+384 Profil

icon Re: decimalan broj u regional settings-u19.12.2005. u 10:40 - pre 222 meseci
Moze li ti ovo pomoci:
U var. DecSimbol stavlja znak koji je podesen u regional set. Iz nekog razloga iza tog znaka ima znak razmaka, tako da sam morao koristiti mid funkciju. Sljedeci red koda u textbox-u - unos1.text trazi znak "," i mijenja ga sa pravim decimalnim simbolom.
Nije mi se dalo ali je lako napraviti za oba slucaja, znaci kad je dec. sim. "." ili ","


Code:

Option Explicit
Dim rez As Double


Private Sub cmdSaberi_Click()
Dim DecSimbol As String
Dim SaDecSimbolom As Single
DecSimbol = GetLocaleItem(LOCALE_USER_DEFAULT, LOCALE_SDECIMAL)
DecSimbol = Mid(DecSimbol, 1, 1)
SaDecSimbolom = Replace(Unos1.Text, ",", DecSimbol)
Unos1.Text = SaDecSimbolom
rez = CDbl(Unos1.Text) + CDbl(Unos2.Text)
lblRezultat = rez
End Sub


U modul staviti ono iz osam postova prije.
Pozdrav
SELECT * FROM หน่วยงานหลัก WHERE ยสันติ LIKE 'โดย%'
 
Odgovor na temu

[es] :: Visual Basic 6 :: decimalan broj u regional settings-u

[ Pregleda: 5106 | Odgovora: 17 ] > FB > Twit

Postavi temu Odgovori

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