AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Offset Block aus Datei extrahieren

Ein Thema von fringer · begonnen am 25. Feb 2018 · letzter Beitrag vom 1. Mär 2018
 
fringer

Registriert seit: 25. Feb 2018
15 Beiträge
 
#1

Offset Block aus Datei extrahieren

  Alt 25. Feb 2018, 13:28
Hallo Community,

ich habe seit mehr als 10 Jahren nicht mehr programmiert, würde aber gern
wieder damit anfangen. Gelernt habe ich damals in meiner Lehre mit Delphi 5.
Die Version die ich jetzt gerade installiert habe ist Delphi 7.

Ich würde gern ein kleines Programm schreiben das aus einer
Datei einen bestimmten Teil extrahiert und dann wieder exakt an
dieser Stelle einsetzt.

Klingt erstmal einfach, stellt sich aber doch recht kompliziert
für mich heraus Daher suche ich etwas Hilfe:

Folgende Problematik:
Datei XYZ.DAT ist ca. 4MB, in dieser Datei sitzt ein Byte-Block
vom Offset 0x003E1000 bis 0x003E37FF (das sind 10.240 Bytes).
Diesen Block möchte ich in eine neue extra Datei 1:1 extrahieren.

Versucht habe ich das mit TMemoryStream. Sehr weit bin ich noch
nicht gekommen (siehe Code).

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
  ms : TMemorystream;
  MyOffSet : Integer;

begin
  if Opendialog1.Execute then
  begin
    ms := TMemoryStream.Create;
    MyOffSet := $003E1000;

    try
      ms.LoadFromFile(opendialog1.FileName); // Lade Datei in Stream
      ms.Position := MyOffSet; // gehe zu Offset-Adresse

........

    finally
      ms.Free;

    end;
        end;
            end;

end.
Ich habe die Datei geöffnet und in einen Stream geladen und bin
auch zu besagter Adresse gesprungen. Aber jetzt weiß ich nicht
so richtig weiter.

Wie kann ich definieren wie groß/wie lang dieser Stream
ist (soll wie oben schon geschrieben immer 10.240 Bytes lang sein)
bzw. das er nur das ab der bestimmten Offset Adresse bis zu der
End-Offset Adresse kopiert.

Könntet ihr mir da etwas Hilfestellung geben?
Vielen herzlichen Dank schon mal.

fringer

Geändert von fringer (25. Feb 2018 um 13:36 Uhr)
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:03 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz