Public Function DexToBin(ByVal num As Long) As String
If num = 0 Then DexToBin = "0": Exit Function
Dim i As Long
For i = 0 To num
If 2 ^ i > num Then Exit For
DexToBin = IIf(num And 2 ^ i, "1", "0") + DexToBin
Next
If Len(DexToBin) = 0 Then Bin = "0"
End Function
sub writetofile(fname as string, dat as string)
dim x as integer
x=freefile
open fname for append as x
print #x, dat
close x
end sub
function readfromfile(fname as string) as string
dim x as integer
x=freefile
Open fname For Input As x
readfromfile = Input(LOF(x), 1)
Close x
end function
Public Function BinToDex(Bin As String) As Long
Dim i As Long
For i = 1 To Len(Bin)
BinToDex = BinToDex + CLng(Mid$(Bin, i, 1)) * 2 ^ (Len(Bin) - i)
Next i
End Function
dim chislo as long 'Закодировано
dim chislo2 as string 'раскодировано
chislo = .....
writetofile "c:\file.txt", dextobin(chislo)
chislo2=readfromfile("c:\file.txt")
msgbox trim(bintodex(chislo2))
Binary$=""
For i=1 to 32
c=Number mod 2
Number=Number\2
Binary$=str$(c) & Binary$
Next i
Ariman писал(а):А не проще файл открыть for binary?
Или цель именно в получении из числа ноликов и единичек?
Можно по-подробнее, для чего это нужно?
Open "Binary.txt" For Binary As #1
Type PlayerData
Hits as integer
Mana as integer
Gold as long
end type
Dim pd as PlayerData
'далее открываем файл для записи в бинарной форме:
open "save1.sve" for binary as #1
put #1,,pd
close #1
Type PlayerData
Hits as integer
Mana as integer
Gold as long
end type
Dim pd as PlayerData
open "save1.sve" for binary as #1
get #1,,pd
close #1
Private Type test
val1 As Integer
val2 As String
val3 As Long
val4 As Double
End Type
Dim t As test
Dim t2 As test
Private Sub Command1_Click()
Open "test.tst" For Binary As #1
Get #1, , t2
Close #1
Debug.Print t2.val1, t2.val2, t2.val3, t2.val4,
End Sub
Private Sub Form_Load()
t.val1 = 100
t.val2 = "Hello"
t.val3 = 100000000
t.val4 = 5.5
Open "test.tst" For Binary As #1
Put #1, , t
Close #1
End Sub
О! Я и обытом хотел узнать!Ariman писал(а):Ты в MIDI-то правильно записываешь?? Там ведь в variable-lenght записывается delta-time, а не просто так.........
debug.print 44763 and &hff
44763 and &hff
44763& and &hff&
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 26