Einzelnen Beitrag anzeigen

EWeiss
(Gast)

n/a Beiträge
 
#3

AW: Binärdatei Record auslesen\zuweisen

  Alt 17. Apr 2018, 13:18
Wo kommt die Datei denn her? Schreibst Du die selbst? Hilft es evtl., den Record als packed zu deklarieren?
Nein ich schreibe sie nicht selbst. (noch nicht)
Ich kenne nur die Definition.

Und öffne sie so.
Delphi-Quellcode:
var
  Channel: array[1..MAXCHANNEL] of TSTChannel;
Delphi-Quellcode:
    fHandle := CreateFile(PWideChar(sFile), GENERIC_READ, 0, nil, OPEN_ALWAYS, FILE_ATTRIBUTE_NORMAL, 0);
    if (fHandle <> INVALID_HANDLE_VALUE) then
    begin
      FillChar(Channel, sizeof(TSTChannel) * MAXCHANNEL, 0);

      BufferSize := sizeof(TSTChannel) * MAXCHANNEL;
      FileSize := GetFileSize(fHandle, @FileSize);
      if (FileSize = INVALID_HANDLE_VALUE) then
        FileSize := 0;

      if (FileSize div sizeof(TSTChannel) = 8) then
        BufferSize := FileSize;

      if (FileSize < BufferSize) then
        BufferSize := 0
      else
      bErrorFlag := ReadFile(fHandle, Channel[1], BufferSize, dwBytesReaden, nil);

      CloseHandle(fHandle);
    end;
Der wert im Channel[1].Volume müsste 50 sein ist er aber nicht.

gruss

Geändert von EWeiss (17. Apr 2018 um 13:20 Uhr)
  Mit Zitat antworten Zitat