AGB  ·  Datenschutz  ·  Impressum  







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

Datei binär einlesen

Ein Thema von nailor · begonnen am 23. Dez 2002 · letzter Beitrag vom 29. Dez 2002
Antwort Antwort
Seite 1 von 2  1 2      
Benutzerbild von nailor
nailor

Registriert seit: 12. Dez 2002
Ort: Karlsruhe
1.989 Beiträge
 
#1

Datei binär einlesen

  Alt 23. Dez 2002, 14:04
Wie kann ich von einer Datei die ersten 32 Byte (256 Bit) binär einlesen, und als Integer, Byte, String... (irgendwas womit man weiterarbeiten kann) benutzen??? Es muss egal sein, was für Werte da drin stehen, es muss immer klappen!
Michael N.
http://nailor.devzero.de/code/sharpmath/testing/ --- Tests, Feedback, Anregungen, ... aller Art sehr willkommen!
::: don't try so hard - it'll happen for a reason :::
  Mit Zitat antworten Zitat
Benutzerbild von sakura
sakura

Registriert seit: 10. Jun 2002
Ort: München
11.412 Beiträge
 
Delphi 11 Alexandria
 
#2

Re: Datei binär einlesen

  Alt 23. Dez 2002, 14:10
Zitat von Nailor:
Es muss egal sein, was für Werte da drin stehen, es muss immer klappen!
Klappt nur, wenn auch mind. 32 Bytes vorhanden sind.

Delphi-Quellcode:
type
  TMy32Bytes = array[0..31] of Byte;
var
  My32Bytes: TMy32Bytes;
begin
  with TFileStream.Create('C:\Temp\SimpleFile.dat', fmOpenRead) do
  try
    Read(My32Bytes, SizeOf(My32Bytes));
    // jetzt kannst Du mit den 32 Bytes machen was Du willst
  finally
    Free;
  end;
  // auch hier kannst Du mit den 32 Bytes machen was Du willst
end;
So einfach.
Daniel W.
Ich bin nicht zurück, ich tue nur so
  Mit Zitat antworten Zitat
Benutzerbild von nailor
nailor

Registriert seit: 12. Dez 2002
Ort: Karlsruhe
1.989 Beiträge
 
#3
  Alt 23. Dez 2002, 14:15
ok, für den speziellen fall reicht das vollkommen,
aber generell:
kann man auch die bytes einzeln einlesen, und dann immer 1 weitergehen, oder 8 oder sowas?
Michael N.
http://nailor.devzero.de/code/sharpmath/testing/ --- Tests, Feedback, Anregungen, ... aller Art sehr willkommen!
::: don't try so hard - it'll happen for a reason :::
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.105 Beiträge
 
Delphi 11 Alexandria
 
#4
  Alt 23. Dez 2002, 14:17
Moin Nailor,

schau Dir doch einfach mal die Methode TFileStream.Read an.
Das müsste Deine Frage eigentlich beantworten.
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
Benutzerbild von nailor
nailor

Registriert seit: 12. Dez 2002
Ort: Karlsruhe
1.989 Beiträge
 
#5
  Alt 23. Dez 2002, 14:19
Ich hab die ganze DelphiHilfe nach "Read" durchsucht, aber nix gefunden, was mir zu helfen schien
Michael N.
http://nailor.devzero.de/code/sharpmath/testing/ --- Tests, Feedback, Anregungen, ... aller Art sehr willkommen!
::: don't try so hard - it'll happen for a reason :::
  Mit Zitat antworten Zitat
Benutzerbild von sakura
sakura

Registriert seit: 10. Jun 2002
Ort: München
11.412 Beiträge
 
Delphi 11 Alexandria
 
#6

Re: Datei binär einlesen

  Alt 23. Dez 2002, 14:20
JA.
Delphi-Quellcode:
var
  I, OneByte: TMy32Bytes;
begin
  with TFileStream.Create('C:\Temp\SimpleFile.dat', fmOpenRead) do
  try
    for I := 0 to 31 do
    begin
      Read(OneByte, SizeOf(OneByte));
      ShowMessage(IntToStr(OneByte));
    end;
  finally
    Free;
  end;
end;
Daniel W.
Ich bin nicht zurück, ich tue nur so
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.105 Beiträge
 
Delphi 11 Alexandria
 
#7
  Alt 23. Dez 2002, 14:23
Moin Nailor,

es geht ja um die Methode Read von TFileStream, ergo:
Erst mal nach TFileStream suchen, und dann oben auf die Methoden klicken.
Dann geht ein Fenster auf mit allen Methoden, die TFileStream kennt, und Read ist dabei.
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
Benutzerbild von nailor
nailor

Registriert seit: 12. Dez 2002
Ort: Karlsruhe
1.989 Beiträge
 
#8
  Alt 23. Dez 2002, 14:24
d.h. er rückt die position in der datei automatisch nach dem lesen vor?

auf jeden fall schon mal vielen dank!!!
Michael N.
http://nailor.devzero.de/code/sharpmath/testing/ --- Tests, Feedback, Anregungen, ... aller Art sehr willkommen!
::: don't try so hard - it'll happen for a reason :::
  Mit Zitat antworten Zitat
Benutzerbild von nailor
nailor

Registriert seit: 12. Dez 2002
Ort: Karlsruhe
1.989 Beiträge
 
#9
  Alt 23. Dez 2002, 15:41
Noch eine Frage, bevor ich mir jede Menge Arbeit mach:

Gibt es eine andere möglichkeit, zwei Dateien zu vergleichen, ohne beide komplett Byte für Byte einzulesen und jeweils zu vergleichen?
Michael N.
http://nailor.devzero.de/code/sharpmath/testing/ --- Tests, Feedback, Anregungen, ... aller Art sehr willkommen!
::: don't try so hard - it'll happen for a reason :::
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.105 Beiträge
 
Delphi 11 Alexandria
 
#10
  Alt 23. Dez 2002, 15:47
Moin Nailor,

wenn es Dir genügt mit einiger Wahrscheinlichkeit festzustellen, ob zwei Dateien gleich sind, könntest Du es mit einer CRC 32 Prüfsumme über beide Dateien hinbekommen.

100%ig ist das naheliegender Weise natürlich nicht, da es ja "nur" (2 hoch 32) - 1 verschiedene Prüfsummen gibt, aber wohl bestimmt mehr verschiedene Dateien.

Wenn es sicherer sein soll ginge es wohl auch mit einer MD5 Prüfsumme, wie es z.B. die Kerio Personal Firewall macht, um manipulierte/ersetzte Dateien aufzuspüren.

In keinem Falle wirst Du wohl darum herumkommen beide Dateien komplett zu lesen, nur musst Du sich nicht zwingend Byte für Byte vergleichen.
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 14:50 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz