A "ByteArray" is just a stream of Bytes (i.e. a file) and you can address
any position directly by offset.

cBytes = FileToStr(Getfile())
? LEN(cBytes)

cBytes = STUFF(cBytes, 5648, 5, "Hello")
&& replace 5 Bytes at 5648 with a string; or insert or delete bytes. See
help on that STUFF  :)

StrToFile(cBytes, PutFile())    && write Bytestream back to disk with new
name


Another option is just using LLFFs (LowLevelFileFunctions):

nHandle = FOPEN(GetFile())
FSEEK(nHandle, 5648, 0)
FRWITE(nHandle, "Hello")
FCLOSE(nHandle)

wOOdy


-----Ursprüngliche Nachricht-----
Von: ProFox <[email protected]> Im Auftrag von Joe Yoder
Gesendet: Dienstag, 2. Mai 2023 04:33
An: [email protected]
Betreff: Byte Arrays in VFP

I want to pull a 3.5 meg file into a Byte Array in Fox, make some changes to
individual bytes, and write the array back to another file.
The only way I have found to do so is to build the array one character at a
time.  Is there a better way to do this?
Thanks in advance for any input ,

Joe


[excessive quoting removed by server]

_______________________________________________
Post Messages to: [email protected]
Subscription Maintenance: https://mail.leafe.com/mailman/listinfo/profox
OT-free version of this list: https://mail.leafe.com/mailman/listinfo/profoxtech
Searchable Archive: https://leafe.com/archives
This message: 
https://leafe.com/archives/byMID/[email protected]
** All postings, unless explicitly stated otherwise, are the opinions of the 
author, and do not constitute legal or medical advice. This statement is added 
to the messages for those lawyers who are too stupid to see the obvious.

Reply via email to