2009-02-13 2 views
0

Я хочу вручную создать двоичный скрипт, а затем сохранить его как двоичный файл.Как создать BinaryArray в VbScript?

Я хочу добавить все следующие байты и создать из них двоичный файл.

&HF0 
&HF1 
&HF2 

Я хочу, чтобы иметь возможность сделать что-то вроде этого:

Dim generateData(3) As Byte 
generateData(0) = &HFF 
generateData(1) = &HFE 
generateData(2) = &HFC 

Но очевидно Как Byte не работает на VBScript. Я использую следующую функцию для записи бинарного массива на диск (по крайней мере я, когда я в состоянии создать двоичный массив)

Function SaveBinaryData(FileName, ByteArray) 
    Const adTypeBinary = 1 
    Const adSaveCreateOverWrite = 2 

    'Create Stream object 
    Dim BinaryStream 
    Set BinaryStream = CreateObject("ADODB.Stream") 

    'Specify stream type - we want To save binary data. 
    BinaryStream.Type = adTypeBinary 

    'Open the stream And write binary data To the object 
    BinaryStream.Open 
    BinaryStream.Write ByteArray 

    'Save binary data To disk 
    BinaryStream.SaveToFile FileName, adSaveCreateOverWrite 
End Function 

ответ

1

Я видел что-то вдоль этих линий, используемое:

Sub WriteBinary(FileName, Buf) 

    Dim I, aBuf, Size, bStream 

    Size = UBound(Buf): ReDim aBuf(Size \ 2) 

    For I = 0 To Size - 1 Step 2 

     aBuf(I \ 2) = ChrW(Buf(I + 1) * 256 + Buf(I)) 

    Next 

    If I = Size Then aBuf(I \ 2) = ChrW(Buf(I)) 

    aBuf=Join(aBuf, "") 

    Set bStream = CreateObject("ADODB.Stream") 

    bStream.Type = 1: bStream.Open 

    With CreateObject("ADODB.Stream") 

     .Type = 2 : .Open: .WriteText aBuf 

     .Position = 2: .CopyTo bStream: .Close 

    End With 

    bStream.SaveToFile FileName, 2: bStream.Close 

    Set bStream = Nothing 

End Sub 
+0

Ровно что я искал! ура –

Смежные вопросы