Hallo
Ich versuche einen file hinten und vorne zu kürzen. (der file enthält sounddaten, die hinten und vorne noch störende Zusatzinformation tragen, durch ADO Auslese aus einer AccessDB) hat jemand eine Idee wie es vorne geht, kann man den file rückwärts in einen anderen übergeben, dann abschneiden und wieder rückwerts zurückübergeben, oder gibt es einfachere Lösungen ??
Ich dachte, ich könnte den file zumindest hinten kürzen:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20:
| procedure TfoMain.btTruncateClick(Sender: TObject); var size: Longint; SufOffset: Longint; df: file; begin SufOffset := 10 ; AssignFile(df, FilePfadString); Reset(df); size := FileSize(df); try Seek(df, size - SufOffset); Truncate(df); Rewrite(df); finally CloseFile(df);
end; end; |
aber nach Anwendung der procedure ist der file immer komplett leer.
Hat jemand einen Tip, was ich falsch gemacht habe?
Gibt es fertige Proceduren (Methoden) um innerhalb des files nach "Codewörtern" zu suchen und ab dort abzuschneiden ??
Ich müsste zum Beispiel alles vor RIFF und alles nach METAFILEPIC abschneiden, so dass nur noch der Binärdatensatz + die kleine Einleitung nach RIFF übrigbleiben.
Weis jemand, wo in diesen Zusatzdaten steht, wie lang sie sind. Irgendwie muss Windows diese Daten ja auch wieder entfernen, sollte das DatenPacket wieder in die Datenbank zurückgespeichert werden.
Vielen herzlichen Dank im vorraus für alle Tips und Anmerkungen
Moderiert von
UGrohne: Delphi-Tags hinzugefügt