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 <profox-boun...@leafe.com> Im Auftrag von Joe Yoder Gesendet: Dienstag, 2. Mai 2023 04:33 An: profoxt...@leafe.com 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: ProFox@leafe.com 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/01b801d97cc4$0b793f70$226bbe50$@wondzinski.de ** 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.