Autor Beitrag
flaavia
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 105

WinXp Vista
D6 Ent, D2007 Ent
BeitragVerfasst: Mi 11.06.03 00:02 
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:

ausblenden 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 :D

Moderiert von user profile iconUGrohne: Delphi-Tags hinzugefügt
Brueggendiek
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 304

Win 98, Win98SE, Win XP Home
D5 Std
BeitragVerfasst: Mi 11.06.03 16:06 
Hallo!

Nimm mal das Rewrite da raus, dann klappt's auch mit dem Verkürzen!

Rewrite löscht die Datei und öffnen sie neu!

Gruß

Dietmar Brüggendiek
flaavia Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 105

WinXp Vista
D6 Ent, D2007 Ent
BeitragVerfasst: Do 12.06.03 21:17 
Hallo

Vielen Dank

Geht dies eigentlich auch mit MemoryStreams? Irgendwie muss es gehen !

Ein Tip könnte mir aus der "Wald vor Bäumen nicht mehr sehen" Situation helfen.