Newsgroup: it.comp.lang.visual-basic
Titolo: Internationa setting della data e VB6

Salve a tutti,
Ho un problema incredibile e molto insidioso:
Su un PC Windows 2000 inglese con il regional setting impostato a italiano e
il formato data correttamente impostato dd/mm/yyyy, il software sviluppato
in VB6 si rifiuta di utilizzare il formato italiano
Da prompt di dos se visualizzo la data viene in giorno/mese /anno
sembra tutto impostato correttamente
Da VB6 se utilizzo l'istruzione NOW viene MM/DD/YYYY
Devo utilizzare il format(now, "dd/mm/yyyy")
ma sono incappato in una situazione in cui non lo posso fare xchè devo fare
operazioni sulle date e queste vengono fatte utilizzando le impostazioni di
sistema!
Come risolvo il problema? Qualcuno ha già riscontrato un problema analogo
premetto che ho installato tutti i Service pack necessari.
Ciao
--
Toglere #NOSPAM# dall'indirizzo
Cut #NOSPAM# to replay

 premetto che ho installato tutti i Service pack necessari.
Non c'è nessun problema.
Stai facendo semplicemente una confusione immane fra il VALORE di una
variabile e la sua RAPPRESENTAZIONE.
Cose diverse, usi diversi, sintassi diverse.
A seconda dei casi, posta i problemi che hai e vedremo cosa si può fare.
Ciao
Alberto

[enorme vigenti] scrisse (ore 10:47)
(snip)
[Albe V財 rispose (ore 10:51)
(snip)
ho fatto bene a non rispondere al primo apparire del post  ;-)
Salutoni
Sergio

 A seconda dei casi, posta i problemi che hai e vedremo cosa si può fare.
Anzitutto grazie x la pronta risposta! :)
Il problema è che ho installato le mie procedure fatte in VB su un nuovo
server.
prima funzionava tutto. Il nuovo server ha le international settings
impostate in Italiano e sembra tutto ok. La differenza è che si tratta di
Windows 2000 (prima era su una macchina NT4)
Attualmente se da dos digito Date viene 3/12/2002
Se da VB eseguo NOW viene: 12/3/2002
Che posso fare?
Grazias 1000!!!!

 Che posso fare?
'Che posso fare' per fare cosa?
Ti stai lamentando di un comportamento corretto del sistema.
Almeno dimmi che problemi ti genera questa cosa.
E considera che questi problemi nascono solo ed esclusivamente se il
software contiene conversioni implicite o formattazioni non controllate dal
codice stesso, altrimenti funziona tutto correttamente.
Ciao
Alberto

 Ti stai lamentando di un comportamento corretto del sistema.
Allora è probabile che non mi sono spiegato bene:
Sul mio PC (dove c'è l'ambiente di sviluppo VB6) lancio il programma
Eseguo msgbox now e viene 3/12/2002
Sul server dove ho installato l'eseguibile del programma
Eseguo msgbox now e viene 12/3/2002
Non mi pare che sia proprio corretto! E' chiaro che qualche impostazione non
corrisponda!!!
La mia domanda è la seguente: Quale può essere l'impostazione che non
corrisponde?
Sto diventandoci matto!!!
grazie ancora
Ciao

 corrisponde?
Prova a cambiare le impostazioni di visualizzazione data nelle
configurazioni internazionali.
Comunque considera che se fai le conversioni implicite (tipo MsgBox Now),
sei sempre esposto a questi casini. Per risparmiare qualche carattere di
codice, spesso ci si trova poi a fare i conti con problemi 'inspiegabili'
(che poi sono spiegabilissimi, ma si è disabituati a tenerne conto).
Ciao
Alberto

 è quello che il tuo PC sta eseguendo.
Da dove le prende le impostazioni predefinite?
Il problema è che le impostazioni locali del server sono ITALIANE come sul
mio PC!!!
E' tutto impostato in modo IDENTICO!
Sul mio PC msgbox now -> 03/12/2002
Sul server msgbox now ->12/03/2002
Che modifico le impostazioni locali? Quali impostazioni?
Non mi dire il regional options perchè ho già chiarito che è tutto identico!
Non vedo cos'altro devo modificare!!!!

 Sul server msgbox now ->12/03/2002
prova a fare, sul tuo pc e sul server, il seguente codice:
msgbox format$(now, "dd/mm/yyyy")
e poi guarda cosa succede.....
Perchè continui a preoccuparti della "rappresentazione" di un dato?
Salutoni
Sergio

 ha scritto nel messaggio
news:r80H9.29803$qF1.1...@news2.tin.it...

Perchè lui su quel dato deve farci dei calcoli, come ha detto nel primo
post.
Quindi a seconda di come viene rappresentato gli cambia tutto...
Comunque, a parte gli scherzi.
Ho capito che quello che Enorme ha non è un problema, ma una semplice
curiosità (se fosse un problema, la soluzione gliela abbiamo già data).
Ed effettivamente ignoro come mai due PC con identiche impostazioni
internazionali abbiano comportamenti diversi.
Ma proprio il fatto che queste cose non sono mai del tutto chiare
(soprattutto con sistemi NT dove ogni utente può avere impostazioni diverse
e l'applicativo può partire con diversi account), mi ha sempre spinto a
usare solo conversioni esplicite e rigidamente formattate, salvo casi in cui
io volevo la formattazione secondo le impostazioni locali.
A quanto mi risulta, se le "Impostazioni Locali" sono identiche, la
conversione implicita (o anche il CStr esplicito), dovrebbe dare la stessa
stringa. Ma non ho mai verificato, perchè a me non tange minimamente.
Ciao
Alberto

 Perchè continui a preoccuparti della "rappresentazione" di un dato?
Il motivo c'è... purtroppo!
Lo so anch'io che posso usare l'istruzione format
Pero' successivamente utilizzo anche l'istruzione dateAdd per sottrarre un
certo numero di secondi (molto alto per altro) alla data, non fa il calcolo
nel modo corretto!

 nel modo corretto!
:-)))
cvd
Alberto

nel modo corretto!
Se dopo queste indicazioni il problema rimane, prova a postere la parte di
codice in cui esegui il DateAdd, comprese le dichiarazioni delle variabili
coinvolte.. ma attento, ho impressione che albe si ....inalberi ;-)
Salutoni

 ma attento, ho impressione che albe si ....inalberi ;-)
No... sono molto quiet...
Mi sto divertendo come un pazzo.
Gli ho detto nel primo post che stava facendo confusione su alcune cose, e
lui ha ripostato dicendo "non mi sono spiegato bene", e ripetendo quanto
aveva già detto.
La differenza fra chi vuole migliorare e chi è convinto di essere già al top
sta proprio nella disponibilità ad ascoltare commenti, consigli, e anche, al
bisogno, qualche battutaccia.
Ciao
Alberto

 wrote in message
news:tK0H9.50481$3l.14...@twister1.libero.it...
Non c'è bisogno di inalberarsi! ci mancherebbe...
Avete ragione tutti nel dire che è molto diverso il valore memorizzato e il
formato di visualizzazione, ci mancherebbe!
Io cmq non ho risolto il problema ma sto cercando di aggirarlo.
Avrei preferito capire come mai 2 PC con le stesse impostazioni forniscono
risultati diversi!!! Mi resta la curiosità!!!
Ringrazio comunque tutti voi per il tempo dedicatomi...
Grazie ancora
Ciao

 bisogno, qualche battutaccia.
Non la metterei giù così dura, credo che sia una cosa un po' più sottile
della semplice "arroganza" di chi si sente già al top....
Proverò ad esprimere il mio parere/ragionamento.. prima qualche premessa:
1) E' ora di pranzo, nessuno mi stressa, quindi adesso vi beccate la solita
filippica altrove nota come [semi OT della pausa pranzo]
2) tutto quanto vado a scrivere si basa sull'osservazione non sistematica di
un limitatissimo numero di casi, in pratica poco più che aria fritta...
OK ? andiamo a incominciare....
Lo sviluppatore software (altrimenti denominato "programmatore") è un
animale sostanzialmente solitario, molte volte per scelta ma più spesso per
necessità: parla una lingua ai più sconosciuta, si cruccia per problemi che
gli altri nemmeno comprendono, si gloria per obiettivi comunemente
considerati risibili; è insomma, a parte rari casi, costretto a
lavorare/giocare in assoluta solitudine. Questa situazione comporta lo
sviluppo di una curiosa forma mentale (su alcuni testi viene definita
"autoreferenzialità", in altri viene riportata come "guardare il proprio
ombelico"), che però non è una libera scelta, ma una necessità imposta
dall'isolamento. Poi la luce: il newsgroup, un'intera comunità di persone
che parlano la tua stessa lingua (a parte gli scherzi, per mé è stato
_esattamente_ così), ma non è facile abbandonare i vecchi clichè, gli
antichi atteggiamenti, per cui, se ho un problema cerco in primis di
arrangiarmi: lo guardo lo studio lo sviscero lo capisco (credo, per lo
meno), ma mi manca un dettaglio... che faccio? C'é il NG, potrei chiedere a
loro... eseguo e la prima risposta che mi viene data è:
non ti preoccupare, non c'è nessun problema, è giusto che sia così..
Rimango ovviamente spiazzato: ma come, ma cosa, ma che cacchio? a no, forse
non mi sono spiegato bene, era troppo bello trovare un gruppo di persone che
capissero la mia lingua.... e quindi giù di spiegazioni, distinguo,
precisazioni, assolutamente inutili perchè la risposta vera era, e continua
ad essere, la prima e il tuo problema è solo dovuto ad una errata abitudine
che il lavoro/gioco in ambienti protetti/controllati/poco soggetti a
variazioni non aveva mai evidenziato.
Non è facile, non è per nulla facile accorgersi di questi errori, anche se
qualcuno ce li fa notare: ma come (è la risposta classica), ma se le altre
volte aveva sempre funzionato...
Abbiamo inoltre a che fare con uno strumento di sviluppo eccessivamente
"tollerante" nei confronti delle cattive abitudini degli sviluppatori, e che
permette un certo incancrenimento delle stesse. Anche io, un sacco di volte,
posso aver scritto:
msgbox Now, o una delle sue sorelline, o anche text1=date, che racchiude in
sè due trappole al prezzo di una, e probabilmente lo scriverò ancora un
sacco di volte... perchè "tanto è lo stesso", "sul mio pc funziona", "non
distribuirò mai il programma fuori dall'Italia" eccetera.
Salutoni, sperando di non avervi annoiato troppo...
Sergio

 Io cmq non ho risolto il problema ma sto cercando di aggirarlo.
non per farmi i fatti tuoi, ma c'è un motivo particolare per cui non puoi
risolvere il problema e stai cercando di aggirarlo?
Salutoni
Sergio

 un limitatissimo numero di casi, in pratica poco più che aria fritta...
[mega cut]
Il sermone mi e' piaciuto, e' molto obiettivo.
Ognuno puo' fare le proprie considerazioni, valutare la propria 
situazione e meditare se e' il caso di correre ai ripari oppure no!
In piu' si potrebbe mettere su qualcosa sul sito comune, tipo articoli 
che trattano le regole di buona programmazione,o sull'ingegneria del 
software, ecc. tanto per dare una mano a chi certe informazioni non le 
possiede, e parlo anche per me stesso, senza alcun riferimento ad altre 
persone.
ciao Marco

 forniscono risultati diversi!!! Mi resta la curiosità!!!
Lo so, è già stato detto, ma permettimi una domanda, senza ironia: Sei
assolutamente sicuro?

 distribuirò mai il programma fuori dall'Italia" eccetera.
Keep Message. :-)
Bye, G.