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
) 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
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