Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Probleme mit typisierten Dateien (https://www.delphipraxis.net/15759-probleme-mit-typisierten-dateien.html)

GTF_Thanatos 3. Feb 2004 18:55


Probleme mit typisierten Dateien
 
Hi Leute!

Ich wollte für unsern Clan, der inzwischen um die 70 Member umfasst, eine kleine Mitgliederverwaltung schreiben. Da ich aber keinen Bock mehr auf Paradox(von der BDE ganz zu schweigen :evil: ) habe, wollte ich das mit typisierten Dateien umsetzen.
nach dem Anlegen eines neuen Mitgliedes wollte ich das veränderte Array of Record wieder in die Datei auf Record schreiben. bekomme aber folgenden Fehler in der write-Anweisung:
"Inkompatible Typen: 'mitglied' und 'dynamic array'".
Der Queeltext steht unten(Kritische Zeile mit * markiert).

Delphi-Quellcode:
procedure TfrmNeu.btnOKClick(Sender: TObject);
var anzahlDS : Integer;
    i       : Integer;
begin
  anzahlDS := length(frmMain.Speicher); //Speicher = Array of Record
  SetLength(frmMain.Speicher,anzahlDS+1);

  frmMain.Speicher[anzahlDS+1].Nick    := edtNick.Text;
  frmMain.Speicher[anzahlDS+1].Nachname := edtNachname.Text;
  frmMain.Speicher[anzahlDS+1].Vorname := edtVorname.Text;
  frmMain.Speicher[anzahlDS+1].Rang    := edtRang.Text;
  frmMain.Speicher[anzahlDS+1].Aufgaben := edtAufgaben.Text;
  frmMain.Speicher[anzahlDS+1].Wing    := edtWing.Text;
  frmMain.Speicher[anzahlDS+1].Telefon := edtTele.Text;
  frmMain.Speicher[anzahlDS+1].mail    := edtMail.Text;
  frmMain.Speicher[anzahlDS+1].msn     := edtMSN.Text;
  frmMain.Speicher[anzahlDS+1].yim     := edtYIM.Text;
  frmMain.Speicher[anzahlDS+1].eintritt := edtEintritt.Wert;

  reWrite(frmMain.Datei);
* Write(frmMain.Datei,frmMain.Speicher); //Datei = File of Record *
  CloseFile(frmMain.Datei);

  Close;
end;
Ich habe alternativ auch schon versucht, mit einer "for i := 0 to length(frmMain.Speicher)" Schleife jeden Datensatz einzeln in die Datei zu packen, dann speichert er mir aber immer nur den neu angelegten :pale:
Ich möchte aber kein append an die Datei machen, da das ganze in zukunft auch netzwerkfähig werden soll, deswegen möchte ich die Daten zur Laufzeit im Speicher halten, aber kein festes Array nutzen.

Wäre froh, wenn mir da jemand helfen könnte!
Danke im Voraus

[GTF]Thanatos

SirThornberry 3. Feb 2004 19:26

Re: Probleme mit typisierten Dateien
 
Ähm, also mit T(File)Stream geht das irgendwie einfacher.
einfach myfilestream.write(myrecord, sizeof(myrecord));

Luckie 3. Feb 2004 19:46

Re: Probleme mit typisierten Dateien
 
Oder nimm dir meine Klasse für typisierte dateien: http://www.luckie-online.de/downloads/


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