![]() |
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; |
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');
|
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... |
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 |
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:
Wenn alle Stricke reißen, kannst du noch folgendes probieren:
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; ...
Delphi-Quellcode:
Grüße vom marabu
var
Datei: file; begin AssignFile(Datei, 'dateiname.ext'); Rewrite(Datei, SizeOf(TLeistung)); BlockWrite(...) ... end; |
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:
PS: vieviele Jahrzehnte wird es noch dauern, bis alle Delphi Programmierer die Finger von AssignFile lassen...
var
fs : TFileStream; begin fs := TFileStream.Create('solarz.dat', fmCreate); try ... fs.WriteBuffer(Messwert, Sizeof(Messwert)); ... finally fs.Free; end; end; |
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 |
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 |
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 |
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. |
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