Einzelnen Beitrag anzeigen

Dev_Rai

Registriert seit: 3. Jan 2008
7 Beiträge
 
#13

Re: Suche nach Images in einer Datei

  Alt 31. Okt 2009, 22:36
Hier ist ein Teil des bisherigen Quellcodes, der das - von mir bisher verstandene - Format wieder gibt. Sicherlich eine sehr rudimäntare Art der Programmierung...
Delphi-Quellcode:
      [color=#00bfff]// Beginn der SCA- Header Information - wird nur einmal durchlaufen[/color]
      FileStream := TFileStream.Create(OpenPreScanDlg.FileName,fmOpenRead,fmShareDenyWrite);
      // Lesen des Bandnamens //
      FileStream.Seek(24,soFromBeginning); // An Adr. (dez): 24 steht die Länge des Bandnamens
      FileStream.Read(l1, SizeOf(l1));
      getmem(PBandName, l1);
      FileStream.Read(PBandName^,l1);
      BandName := StrPas(PBandName);
      freemem(PBandName);
      // Lesen der Band Beschreibung //
      FileStream.Read(l2, SizeOf(l2));
      getmem(PTapeDesc, L2);
      FileStream.Read(PTapeDesc^, L2);
      TapeDesc := strPas(PTapeDesc);
      freemem(PTapeDesc);
      FileStream.Seek(4,soFromCurrent); // 4 Byte weiter steht die Anzahl der Szenen
      FileStream.Read(AnzahlSzenen, SizeOf(AnzahlSzenen));
      FilePos := FileStream.Position;
      FileStream.Destroy;
      [color=#00bfff]// ab hier beginn der Code, um jede einzelne Szene herauszuholen[/color]
        FileStream.Read(ASzene.StartFrame, SizeOf(ASzene.StartFrame));
        FileStream.Read(ASzene.StartSec, SizeOf(ASzene.StartSec));
        FileStream.Read(ASzene.StartMin, SizeOF(Aszene.StartMin));
        FileStream.Read(ASzene.StartH, SizeOF(Aszene.StartH));
        FileStream.Read(ASzene.StopFrame, SizeOf(ASzene.StopFrame));
        FileStream.Read(ASzene.StopSec, SizeOf(ASzene.StopSec));
        FileStream.Read(ASzene.StopMin, SizeOF(Aszene.StopMin));
        FileStream.Read(ASzene.StopH, SizeOF(Aszene.StopH));
        FileStream.Seek(+16, soFromCurrent); // Year
        FileStream.Read(Year, SizeOf(Year));
        FileStream.Read(Month, SizeOf(Month));
        FileStream.Seek(+3, soFromCurrent);
        FileStream.Read(Day, SizeOf(Day));
        FileStream.Seek(+1, soFromCurrent);
        FileStream.Read(Hour, SizeOf(Hour));
        FileStream.Read(Zeichen, SizeOf(Zeichen)); // Trennzeichen
        FileStream.Read(Minute, SizeOf(Minute));
        FileStream.Read(Zeichen, SizeOf(Zeichen)); // Trennzeichen
        FileStream.Read(Secunde, SizeOf(Secunde));
        FileStream.Seek(+20, soFromCurrent);
        FileStream.Read(l1, SizeOf(l1));
        getmem(PFileName, l1);
        FileStream.Read(PFileName^,l1);
        FileStream.Seek(+14460, soFromCurrent);
        FileName := StrPas(PFileName);
        freemem(PFileName);
[edit=Luckie]Tag geschlossen. Mfg, Luckie[/edit]
  Mit Zitat antworten Zitat