Pagina 2 di 3 primaprima 1 2 3 ultimoultimo
Visualizzazione dei risultati da 11 a 20 su 28
  1. #11
    Non capisco perché devi sommare dei valori prendendoli dalle label: non ti basta memorizzare in delle variabili double il valore che metti nelle label nel momento in cui lo stai per mostrare, per poi usare questi valori memorizzati quando effettui il calcolo?
    Amaro C++, il gusto pieno dell'undefined behavior.

  2. #12
    Utente di HTML.it
    Registrato dal
    Jul 2008
    Messaggi
    760
    (giustamente, visto che VAL vuole il "." come separatore dei decimali)
    Non usare Val(), Usa CDbl() o CSng() o CInt() o CLng() a seconda del tipo di risultato desiderato, e non avrai bisogno di preoccuparti delle impostazioni locali.

  3. #13
    Anche le funzioni che citi hanno i loro problemi con i separatori di migliaia... la soluzione da adottare sempre, se possibile, è evitare la conversione da stringa a numero.
    Amaro C++, il gusto pieno dell'undefined behavior.

  4. #14
    Utente di HTML.it
    Registrato dal
    Jul 2008
    Messaggi
    760
    ... evitare la conversione da stringa a numero.
    Questo è un po' difficile quando il dato di partenza è in una Label, non trovi?
    Le funzioni di conversione citate danno problemi solo se la stringa di partenza non è interpretabile correttamente come valore numerico, ma la validazione del dato deve essere fatta prima.

  5. #15
    Originariamente inviato da MItaly
    Non capisco perché devi sommare dei valori prendendoli dalle label: non ti basta memorizzare in delle variabili double il valore che metti nelle label nel momento in cui lo stai per mostrare, per poi usare questi valori memorizzati quando effettui il calcolo?

    Si, volendo potrei...era solo per sapere come fare quella determinata cosa.
    In ogni caso io volevo sapere come fare per ignorare le impostazioni regionali, lo so anche io che ci sono altri metodi per risolvere il problema (infatti l'ho risolto senza grandi difficoltà).

  6. #16
    Utente di HTML.it
    Registrato dal
    Jul 2008
    Messaggi
    760
    Se lo scopo va oltre fare delle semplici somme e devi per forza sapere/cambiare le impostazioni regionali puoi più semplicemente leggere/modificare i valori sotto la chiave di registro
    HKEY_CURRENT_USER\Control Panel\International
    Per esempio c'è sDecimal e sThousand.

  7. #17
    Con questo vado a modificare le impostazioni regionali o le ignoro e uso delle impostazioni mie?
    sai...non vorrei modificare le impostazioni regionali degli utenti, disistallerebbero subito il programma (senza contare che se vanno a cambiarsi le impostazioni con il programma aperto non cambia niente).

  8. #18
    Utente di HTML.it
    Registrato dal
    Jul 2008
    Messaggi
    760
    Non a caso la chiave principale è HKEY_CURRENT_USER.
    Ribadisco che non è il modo corretto di rendersi indipendenti dalle impostazioni locali.

  9. #19
    Originariamente inviato da Grumpy
    Questo è un po' difficile quando il dato di partenza è in una Label, non trovi?
    E il dato della label da chi è stato messo lì? Nel 90% dei casi dal programma stesso, come risultato di un calcolo precedente che si può conservare in forma numerica.
    Se lo scopo va oltre fare delle semplici somme e devi per forza sapere/cambiare le impostazioni regionali puoi più semplicemente leggere/modificare i valori sotto la chiave di registro
    Se proprio deve piuttosto che usi le apposite API. Per citare il solito Raymond Chen:
    And of course, when you're looking for information, you don't search MSDN; that's for crazy people. No, let's just fire up regedit and hit Ctrl+F. (I can't imagine how many application compatibility bugs were created by that "helpful" Ctrl+F dialog in regedit.)
    Non a caso la chiave principale è HKEY_CURRENT_USER.
    Il che significa che intervieni sul profilo utente, per cui comunque gli modifichi le impostazioni. Come spiegato qui, non bisogna mai toccare impostazioni globali per problemi locali all'applicazione.

    Ribadisco: la soluzione più semplice è evitare completamente la conversione.
    Amaro C++, il gusto pieno dell'undefined behavior.

  10. #20
    Utente di HTML.it
    Registrato dal
    Jul 2008
    Messaggi
    760
    Non ho capito quasi niente di quest'ultimo post, ma pazienza.

    Ho sostenuto che non si può fare a meno di una conversione se si vuole usare il contenuto di una Label in un'operazione aritmetica, in quanto la proprietà Caption di un controllo Label è di tipo String. La conversione può essere implicita o esplicita tramite le funzioni deputate, ma non c'entra niente se contiene o non contiene un numero. Sarei poi curioso di sapere chi o che cosa imposta il contenuto di una Label nel restante 10% dei casi.

    Riguardo alla modifica dei valori delle chiavi di registro mi sembra abbastanza evidente che debba essere fatto ricorrendo alle API opportune; non credo che qualcuno abbia potuto pensare che intendessi eseguire una Shell a Regedit e una serie di Sendkeys che simulassero Ctrl-F

    Ma forse, come ho detto all'inizio, non ho capito io. :master:

    P.S. Ah, mi scuso se non sono andato a leggere il link gentilmente postato.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2026 vBulletin Solutions, Inc. All rights reserved.