Re: Dateiinhalt dynamisch erfassen und speichern
Verfasst: 26.03.2013 19:09
Da hätte ich auch was hübsches für dich. Wenn du etwas nicht verstehst, frag einfach.
Der Hintergrund ist eigentlich nur, dass man die Länge des Strings am besten von vornerein festlegt und ihn nicht immer wieder verlängert.
Achja, so dauert es bei mir dann mit Debugger 492 ms für knapp ein Megabyte. Ohne Debugger dauert es 193 ms. Aber man kann sicherlich noch was optimieren.
Der Hintergrund ist eigentlich nur, dass man die Länge des Strings am besten von vornerein festlegt und ihn nicht immer wieder verlängert.
Code: Alles auswählen
Procedure.s FileToHex(file.s)
Protected fileId.i
Protected fileSize.i
Protected result.s, *pResult
fileId = ReadFile(#PB_Any, file)
If (Not fileId)
ProcedureReturn ""
EndIf
fileSize = Lof(fileId)
result = Space(fileSize * 2)
*pResult = @result
While Not Eof(fileId)
PokeS(*pResult, RSet(Hex(ReadAsciiCharacter(fileId)), 2, "0"), 2)
*pResult + 2
Wend
CloseFile(fileId)
ProcedureReturn result
EndProcedure
Debug FileToHex("/home/nicolas/game1")