Registriert seit: 3. Jan 2008
7 Beiträge
|
Re: Suche nach Images in einer Datei
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]
|
|
Zitat
|