Delphi-PRAXiS
Seite 1 von 3  1 23      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi typisierte Datei zum Speichern fehlerhaft (https://www.delphipraxis.net/51627-typisierte-datei-zum-speichern-fehlerhaft.html)

Technikus 16. Aug 2005 08:04


typisierte Datei zum Speichern fehlerhaft
 
Guten Morgen,
ich habe folgenden Script zum Speichern von Daten in einer Datei geschrieben und erhalte einen Fehler in Zeile 6.
Woran kanns liegen? (Delphi 2005)
Vielleicht kann mir jemand helfen.

Danke im voraus
Technikus

Delphi-Quellcode:
type
Tleistung = record
             nr:byte;
             Spannung, Strom, Leistung: double;
            end;
type   TDatei= file of TLeistung;
{Fehlermeldung: E1025 Sprach-Feature wird nicht unterstützt: 'typisierte oder untypisierte Datei'}

procedure TForm1.Button1_SpeichernClick(Sender: TObject);
var Messwert: TLeistung;
    i, anzahl: integer;
    Datei: TDatei;

begin
 anzahl:=StrToInt(Edit3_Eingabe_anzahl.Text);
 AssignFile(Datei,'solarz.dat');
 Rewrite(Datei);
 for i:= 1 to anzahl do
  with Messwert do
   begin
    nr:= i;
    Spannung:= StrToFloat(StringGrid1.Cells[1,i]);
    Strom:= StrToFloat (StringGrid1.Cells [2,i]);
    Leistung:=StrToFloat (StringGrid1.Cells [3,i]);
    Write (Datei,Messwert);
    end;
  CloseFile (Datei);
end;

Kroko1999 16. Aug 2005 08:25

Re: typisierte Datei zum Speichern fehlerhaft
 
(1) zur Fehlermeldung kann ich Dir leider nichts sagen unter D6 Pro klappt diese Type-Anweisung
(2) verwende nie relative Pfade :idea:
Delphi-Quellcode:
  AssignFile(Datei,ExtractFilePath(Application.exeName)+'solarz.dat');

phXql 16. Aug 2005 08:35

Re: typisierte Datei zum Speichern fehlerhaft
 
nimm mal das 2te Type da weg.

Code:
type
  class 1
  class2

bei meinem delphi 2005 personal funktionierts übrigens...

Technikus 16. Aug 2005 08:39

Re: typisierte Datei zum Speichern fehlerhaft
 
Hallo!
phXql-->Ich habe das zweite type weggelassen, geändert hat sich nichts.
koko1999-->AssignFile-habe ich geändert.
Gruß
Technikus

marabu 16. Aug 2005 08:54

Re: typisierte Datei zum Speichern fehlerhaft
 
Hallo Technikus,

hast du schonmal die Online-Hilfe zum Thema "file of" bzw. "typed file" konsultiert? Muss vielleicht ein neuer Compiler-Schalter verwendet werden? Was ist, wenn du einfach folgendes machst:

Delphi-Quellcode:
type
  TLeistung = packed record
    nr: byte;
    Spannung, Strom, Leistung: double;
  end;

procedure TForm1.Button1_SpeichernClick(Sender: TObject);
var
  Messwert: TLeistung;
  i, anzahl: integer;
  Datei: file of TLeistung;
...
Wenn alle Stricke reißen, kannst du noch folgendes probieren:

Delphi-Quellcode:
var
  Datei: file;

begin
  AssignFile(Datei, 'dateiname.ext');
  Rewrite(Datei, SizeOf(TLeistung));
  BlockWrite(...)
  ...
end;
Grüße vom marabu

shmia 16. Aug 2005 09:00

Re: typisierte Datei zum Speichern fehlerhaft
 
Du darf die Deklaration file of TDatentyp nicht mehr verwenden.
Grund: diese Deklaration ist nicht portabel und deshalb unter .NET nicht mehr zugelassen.

Ich würde dann auf TFileStream umschwenken.
Delphi-Quellcode:
var
   fs : TFileStream;
begin
   fs := TFileStream.Create('solarz.dat', fmCreate);
   try
     ...
     fs.WriteBuffer(Messwert, Sizeof(Messwert));
     ...
   finally
     fs.Free;
   end;
end;
PS: vieviele Jahrzehnte wird es noch dauern, bis alle Delphi Programmierer die Finger von AssignFile lassen...

Technikus 16. Aug 2005 09:10

Re: typisierte Datei zum Speichern fehlerhaft
 
Hallo marabu,
ich habe beide Varianten eingegeben. Beide funktionieren nicht.
Ich habe in der Hilfe unter Standardtypen ganz unten etwas über Dateitypen gelesen. Da wurde es am Beispiel genau so gemacht: type Dateiname= file of Typ.
Gruß Technikus

marabu 16. Aug 2005 09:23

Re: typisierte Datei zum Speichern fehlerhaft
 
Hallo Technikus,

habe leider kein D2005 installiert. Deine Beobachtung in der Online-Hilfe beißt sich irgendwie mit der Aussage von Andreas.

marabu

Technikus 16. Aug 2005 09:26

Re: typisierte Datei zum Speichern fehlerhaft
 
Hallo shmia,
ich weiß mit den drei Punkten nichts anzufangen. Was kommt dort rein, was muss ich aus meinem Quellcode weglassen. Könntest du bitte die Zeilen erklären. Ich bin Anfänger und kenne die Kommandos nicht.
Danke
Technikus

Sharky 16. Aug 2005 09:28

Re: typisierte Datei zum Speichern fehlerhaft
 
Hai ihr,

ich kann den Code ohne Problem in einem W32 Projekt unter D2005 kompilieren.


Alle Zeitangaben in WEZ +1. Es ist jetzt 15:27 Uhr.
Seite 1 von 3  1 23      

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