Re: Text-Dateien aus dem Data-Block einlesen
Verfasst: 05.09.2012 12:02
Ich habe das Problem durch ein Helper-Programm gelöst:
Code:
In meinem Programm habe ich nun statt IncludeBinary nur noch IncludeFile stehen, mit den entsprechenden PBI-Dateien. Die CheckFileSignature-Prozedur (mit SHA1 und MD5) ist die gleiche, wird nun aber durch eine Helper-Prozedur aufgerufen, die mit "Restore" arbeitet und zuerst prüft, ob drei Zeilen vorhanden sind (Read.i), erst dann werden die drei Werte eingelesen (Read.s) und an die CheckFileSignature-Prozedur übergeben.
Leider sehr umständlich. Es wär SO viel einfacher, wenn eine zukünftige Version von PureBasic so was wie "CatchFile" könnte, die alle Funktionen für das normale Datei-Lesen unterstützen würde..
Code:
Code: Alles auswählen
Procedure TransferData(filename)
Source = ReadFile(#PB_Any, filename+".txt")
Dest = CreateFile(#PB_Any, filename+".pbi")
If Source And Dest
If Eof(Source)
MessageRequester("Info", filename+" is empty!")
Else
Text.s = #DQUOTE$+ReadString(Source)+#DQUOTE$
Lines = 1
While Not Eof(Source)
Current.s = #DQUOTE$+ReadString(Source)+#DQUOTE$
Text + ", " + Current
Lines + 1
Wend
WriteStringN(Dest, "Data.i "+Str(Lines))
WriteString(Dest, "Data.s "+Text)
EndIf
EndIf
EndProcedure
TransferData("signature")
TransferData("program")Leider sehr umständlich. Es wär SO viel einfacher, wenn eine zukünftige Version von PureBasic so was wie "CatchFile" könnte, die alle Funktionen für das normale Datei-Lesen unterstützen würde..