Newsgroup: it.comp.lang.visual-basic
Titolo: [?] Da True/False a 1/0

Ciao a tutti !!
Devo salvare una serie di valori booleani su un file, vi mostro molto
semplicemente uno schizzo della routine :
Dim Valore As Boolean
Open "c:\temp\test.txt" as output ....bla bla bla
Valore = True
For i = 1 to 10
    Print #2 , Valore
Next i
Close #2
------
Ok, ora io mi aspettavo di vedermi un file pieno di 1 , invece é pieno di
"VERO VERO VERO" grrr....
C'e' qualche variabile di sistema o qualcosa da settare per permettermi di
cambiare le scritte in numeri ?
Ciao e grazie !!
DaVe

purtroppo True non vale 1, ma vale .... True!
fai un bell' IF
if valore=true then
    print #1 "1"
else
    print #1,"0"
endif


Print #2, CInt(Valore)
se vuoi un 1 al posto di -1 puoi usare Abs(CInt(Valore))
Ciao
Faber

 purtroppo True non vale 1, ma vale .... True!
...veramente True vale -1
Quindi puoi scrivere:
  print #1, (valore * -1)
Infatti per convertire da True/False a 1/0:
--------------------------------
Dim blnValore as Boolean
Dim intValore as Integer
blnValore = True   ' oppure blnValore = False
intvalore = blnValore * -1
-------------------------------
Invece per convertire da 1/0 a True/False
--------------------------------
Dim blnValore as Boolean
Dim intValore as Integer
intValore = 1         '      oppure intValore = 0
blnValore = intValore =1
-------------------------------
Ciao  ;-)



 ha scritto nel messaggio
news:8e917t$8pk$1...@nslave1.tin.it...

mmmmm..... rammentando che :
se n = 0    ==> False
se n <> 0  ==> True
basterebbe fare
Public Function ZeroUno(lValue As Long) As Byte
       ZeroUno = 0
       If lValue Then ZeroUno = 1
End Function


Public Function ZeroUno(blnValue As Boolean) As Byte
      ZeroUno = blnValue * -1
End Function
;-)

 End Function
 Public Function ZeroUno(blnValue As Boolean) As Byte
       ZeroUno =  - blnValue
 End Function
8-)
Ciao
*Roby*

cambiare le scritte in numeri ?
Se vuoi i valori binari devi aprire il file "As Binary" e usare Put anzichè
print.
Attenzione che True viene visto come -1 per cui dovresti fare un Put
#1,,Abs(CInt(Valore))
Ciao

 cambiare le scritte in numeri ?
Spero possa esserti utile:
Option Explicit
Private Sub PrintTrueFalse( _
ByRef bln As Boolean _
)
Const s$ = """", t% = 40
  Cls
  Print bln; Tab(t) _
    ; s; bln; s
  Print "-" & bln; Tab(t) _
    ; s; -bln; s
  Print "1 * " & bln; Tab(t) _
    ; s; 1 * bln; s
  Print "Abs(" & bln & ")"; Tab(t) _
    ; s; Abs(bln); s
  Print "CInt(" & bln & ")"; Tab(t) _
    ; s; CInt(bln); s
  Print "CInt(-" & bln & ")"; Tab(t) _
    ; s; CInt(-bln); s
  Print "Abs(CInt(" & bln & "))"; Tab(t) _
    ; s; Abs(CInt(bln)); s
  Print "Abs(CInt(-" & bln & "))"; Tab(t) _
    ; s; Abs(CInt(-bln)); s
  Print "CByte(" & bln & ")"; Tab(t) _
    ; s; CByte(bln); s
  Print "CByte(-" & bln & ")"; Tab(t) _
    ; s; CByte(-bln); s
  Print "Format$(" & bln & ")"; Tab(t) _
    ; s; Format$(bln); s
  Print "Format$(" & bln & ", ""True/False"")"; Tab(t) _
    ; s; Format$(bln, "True/False"); s
  Print "Format$(" & bln & ", ""Yes/No"")"; Tab(t) _
    ; s; Format$(bln, "Yes/No"); s
  Print "Format$(" & bln & ", ""On/Off"")"; Tab(t) _
    ; s; Format$(bln, "On/Off"); s
  Print "Format$(-" & bln & ", ""0"")"; Tab(t) _
    ; s; Format$(-bln, "0"); s
  Print "Format$(-" & bln & ", ""General Number"")"; Tab(t) _
    ; s; Format$(-bln, "General Number"); s
  Print "Format$(" & bln & ", ""0"")"; Tab(t) _
    ; s; Format$(bln, "0"); s
  Print "Format$(" & bln & ", ""0;0;0"")"; Tab(t) _
    ; s; Format$(bln, "0;0;0"); s
  Print "IIf(" & bln & ", ""1"", ""0"")"; Tab(t) _
    ; s; IIf(bln, "1", "0"); s
  Let bln = Not bln
End Sub
Private Sub Form_Click( _
)
Static bln As Boolean
  Call PrintTrueFalse(bln)
End Sub
Private Sub Form_Load( _
)
  Let FontName = "Courier New"
End Sub
--
Ciao.
Maurizio

 > Close #2
Saluti,
Domenico

 ha scritto nel messaggio
news:8e9il9$ns1$1...@nslave1.tin.it...

ZeroUno = - (lValue <>0)
facciamo a meno anche della Function ...
Chi offre di...meno ??
8-))
Ciao
Ven