How to write binary data to a file

  • Thread starter Thread starter Lars Uffmann
  • Start date Start date
L

Lars Uffmann

Hi everyone!

I'm probably struck blind at the moment, but I cannot seem to get this
thing right:

I want the equivalent of
Const bufferSize = 10000&
Dim buffer as String

Open "myfile.txt" For Binary Access Read As #1
buffer = Input(bufferSize, 1)
for write operations.

I.e.

Open "myfile.txt" For Binary Access Write As #1
buffer = "something"
Write #1, buffer, len (buffer)

However, Write in that form is not compatible with Binary mode, and if I
open the file "for output", Write packs my buffer string into text
qualifying double quotes. Put, however, totally messes up the data when
I use it like

Open "myfile.txt" For Binary Access Write As #1
buffer = "something"
Put #1, , buffer

and it doesn't seem to be what I want anyways. I could swear I've done
this before - successfully - but right now I don't know how.

Anyone able to help me? I want the output file to contain exactly the
number of bytes that equals the length of buffer, and nothing else.

Thanks in advance!

Lars
 
Lars said:
Open "myfile.txt" For Binary Access Write As #1
buffer = "something"
Put #1, , buffer

and it doesn't seem to be what I want anyways. I could swear I've done
this before - successfully - but right now I don't know how.

Solved my problem: actually I didn't do what I wrote above, but rather I
tried directly outputting a string constant - and Put needs a byref
variable.
The above code works just fine.

Best Regards,

Lars
 
Is this what you need?


Sub StringToTextFile(strFile As String, strText As String)

Dim hFile As Long

On Error GoTo ERROROUT

hFile = FreeFile
Open strFile For Binary As #hFile
Put #hFile, , strText
Close #hFile

Exit Sub
ERROROUT:

If hFile > 0 Then
Close #hFile
End If

End Sub


RBS
 
Yes - I was making a mistake, as stated above. Thank you for your time &
response!
 
Back
Top