Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Problem typisiert Dateien (https://www.delphipraxis.net/3620-problem-typisiert-dateien.html)

CalganX 21. Mär 2003 17:42


Problem typisiert Dateien
 
Hi,
ich habe mir für eine WWM-Show-Abkupferung (brauche ich für so eine Art WWM) folgenden Typ ausgedacht:
Delphi-Quellcode:
type
  TAnswersystem = packed record
        sAnswA: array[0..255] of Char;
        sAnswB: array[0..255] of Char;
        sAnswC: array[0..255] of Char;
        sAnswD: array[0..255] of Char;
  end;
  TCorrectAnswerSystem = (A, B, C, D);
  TCategories = (a50, a100, a200, a300, a500,
                        a1000, a2000, a4000, a8000,
                        a16000, a32000, a64000, a125000,
                        a500000, a1Mio);
  // der eigentliche Datentyp kommt jetzt
  TDatensatz = packed record
        sQuestion: array[0..255] of Char;
        aAnswers: TAnswersystem;
        aCorrect: TCorrectAnswerSystem;
        aCategorie: TCategories;
  end;
  TDataFile = file of TDatensatz;
Dann dachte ich mir doch, da kannste doch was auslesen mit den Variablen
Delphi-Quellcode:
var
  DataFile: TDataFile;
  allSets: array[0..9999] of TDatensatz;
  MaxSet: integer;
  curDataset: TDatensatz;
  xCounter: integer;
und dann das ganze im OnShow so machen:
Delphi-Quellcode:
  AssignFile(DataFile, DATA_PATH+'QuestionSetup.dat');
  xCounter := 0;
  while not eof(DataFile) do begin
    ReadLn(DataFile, allSets[xCounter]); (* - *)
    inc(xCounter, 1);
  end;
  CloseFile(DataFile);
  dec(xCounter, 1);
  MaxSet := xCounter;
Nun, dann kommt in der Zeile, die mit (* - *) gezeichnet ist folgender Fehler:
Zitat:

Zitat von Der blöde Delphi-Kompiler
[Error] MainFrmUnit.pas(77): Incompatible types

Jetzt frage ich euch: was kann ich da machen? Ich habe bereits es versucht an Stelle von allSetes[xCounter] curSet einzusetzen, aber das rafft der auch nicht (mit der gleichen Fehlermeldung)...

Was kann ich da tun, dass das läuft?

Bin für jede Hilfe offen :mrgreen:,
Chris

MrSpock 21. Mär 2003 19:47

Hallo Chris,

ReadLn geht nur bei TextFiles. Für typisierte Dateien musst du Read benutzen.

CalganX 21. Mär 2003 20:01

Hi,
super! Funktioniert...

Danke,
Chris


Alle Zeitangaben in WEZ +1. Es ist jetzt 21:20 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