Тема: AHK: Raw - Чтение / Запись
Столкнулся с проблемой считывания содержимого из файлов.
С текстовыми файлами проблем нет, открыть / сохранить выходит.
Пытаюсь пересохранить .png файл - выходит пустой файл на выходе. При этом в Gui окошке есть текст, т.е. чтение происходит и проблема в самом методе сохранения в файл. Это видно в заголовке окна, 0 байт записано.
Ещё с текстом проблема, так как отображение нечитаемое, думаю нужно кодировать строки, но как правильно? Это всё же не основная проблема, главное сохранять .png файл.
#SingleInstance Force
#NoEnv
SetWorkingDir %A_ScriptDir%
SetBatchLines -1
FileName = 0.png
;0.png
;N1.ini
;Текст.txt
;Test.ahk
File := OpenRaw(FileName) ; Открыть.
R := SaveRaw(File.Buf,File.Ret, "SaveRaw-Test (" File.Code ").txt") ; Сохранить.
Gui Add, Edit, w360 h120, % File.Buf ; Показать содержимое.
Gui, Show,, % "Записано: " R " байт, кодировка: " File.Code
Return
OpenRaw(FileName)
{
File := FileOpen(FileName, "r")
File.Pos := 0 ; Для текстовых файлов.
Ret := File.RawRead(Buf, File.Length)
File.Close()
Return {"Buf":Buf, "Ret":Ret, "Code":File.Encoding}
}
SaveRaw(Buf, Length, FileName)
{
File := FileOpen(FileName, "w")
R := File.RawWrite(Buf, Length)
File.Close()
Return R
}
Esc::
F4:: ExitApp
F6:: Reload