Non esistono misteri, tanto meno con il VB6 ...
Facci capire meglio ... con quali valori della stringa da una parte funziona e dall'altra no?
Non esistono misteri, tanto meno con il VB6 ...
Facci capire meglio ... con quali valori della stringa da una parte funziona e dall'altra no?
No MP tecnici (non rispondo nemmeno!), usa il forum.
allora spero di essere piu' chiaro
Dim CampoA as Boolean
Dim CampoB as String
CampoB = "Vero"
CampoA = CampoB ' funziona sul pc di sviluppo
CampoA = Cbool(CampoB) ' necessario sull' altro PC
Partendo dal fatto che comunque la cosa corretta da fare è usare la CBool, bisogna capire meglio ...
Il codice che hai mostrato mi sembra un esempio, ma il contenuto di CampoB sarà ottenuto da altre linee di codice e non assegnato ... per capire un problema bisogna esaminare il vero codice che gira ...
No MP tecnici (non rispondo nemmeno!), usa il forum.
Prima di tutto ciò avviene perchè l'altro PC non riconosce la stringa 'Vero' che è una interpretazione di VB6 e che cambia a seconda della lingua.Originariamente inviato da Luberto Mario
allora spero di essere piu' chiaro
Dim CampoA as Boolean
Dim CampoB as String
CampoB = "Vero"
CampoA = CampoB ' funziona sul pc di sviluppo
CampoA = Cbool(CampoB) ' necessario sull' altro PC
Ad esempio, se esegui il programma su un PC inglese non conterrà mai 'Vero' ma 'True'.
La stessa cosa vale per 'Falso' e 'False', e via così per ogni lingua.
Ciò a dimostrare che non bisogna mai usare valori booleani convertiti in stringhe perchè è sbagliato farlo , ma occorre usare sempre e solo valori numerici, infatti :
- 0 equivale a False
- 1 equivale a True
Detto per inciso, qualsiasi altro numero diverso da 0 (1,2,-1,-2...) equivale a True.
0 e 1 funzionano in qualsiasi lingua (anche in ostrogoto)
![]()
grazie gibra
risolto grazie a te