Entwickler-Ecke

Sonstiges (Delphi) - Binärdaten aus Resource einlesen


matts - Do 09.12.10 16:37
Titel: Binärdaten aus Resource einlesen
Liebe Delphi-Experten,

ich habe eine Datei erzeugt, die ein 2-dimensionales array mit integerzahlen enthält:

Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
mtyp=    record
              x:integer;
              y:integer;
          end;

matrixtyp = array[1..10,1..425of mtyp;

var  datei: file of matrixtyp;

assignfile( datei , 'c:\abbildungsmatrix.dat' );

Diese Datei habe ich erfolgreich in eine resource verwandelt (matrix.res), die ich in mein Delphiprogramm mit
{$R matrix.res} eingebunden habe.
Soweit alles gut.

Wie aber komme ich an die Daten in dieser Resource wieder ran ? Also wie lese ich die Daten wieder in ein array, mit dem ich dann weiterarbeiten kann.

Leider habe ich bisher im Netz keine Tipps gefunden - es gibt viele Vorschläge, wie man Bitmaps, sounds usw. aus einer Resource einliest, aber nicht, wie man reine Binärdaten wieder verfügbar macht.

Wer hilft weiter ?

Vielen Dank im Vorraus!

Moderiert von user profile iconNarses: Delphi-Tags hinzugefügt


jaenicke - Do 09.12.10 17:02

TResourceStream ;-)


matts - Fr 10.12.10 01:10

user profile iconjaenicke hat folgendes geschrieben Zum zitierten Posting springen:
TResourceStream ;-)


Danke - war zwar etwas knapp, der Tip, hat mich aber dazu angeregt, ein wenig über TResourcestream zu recherieren und nun funktioniert alles so, wie ich wollte.


Delete - Fr 10.12.10 02:52

Wäre es nicht einfacher das Array einfach im Code zu deklarieren und zu initialisieren? Was soll der Umweg über eine Ressourcendatei?


Bergmann89 - Fr 10.12.10 13:34

Hey,

user profile iconmatts hat folgendes geschrieben Zum zitierten Posting springen:
war zwar etwas knapp, der Tip, hat mich aber dazu angeregt, ein wenig über TResourcestream zu recherieren
Genau so war es ja auch gedacht. Wenn man das Problem selber löst bleit es eher hängen, als wenn man einfach den Code vorgesetzt bekommt ;)

MfG Bergmann.


matts - Fr 10.12.10 23:09

user profile iconLuckie hat folgendes geschrieben Zum zitierten Posting springen:
Wäre es nicht einfacher das Array einfach im Code zu deklarieren und zu initialisieren? Was soll der Umweg über eine Ressourcendatei?


Die daten, die in das array sollen wurden durch ein anderes Programm erzeugt und dieses hat einige Stunden daran gerechnet. Es geht um eine Art Raytracing von Elektronenstrahlen durch eine magnetische Linse und leider muss man das Magnetfeld in jedem Punkt der bahn mit Hilfe ekelhafter Integrale neu berechnen - das dauert eben. Jetzt habe ich aber eine Matrix, die jedem Punkt meiner kamerarückwand einen Punkt des Objekts zuweist. Natürliche könnte ich die erhaltenen abbildungsdaten per datei immer wieder einlesen -aber schöner ist es natürlich, wenn die in der exe direkt verfügbar sind - daher der weg über die resource.

Dennoch Danke für die Rückmeldung.

Grüße
Matthias