Autor Beitrag
Glostami
Hält's aus hier
Beiträge: 11
Erhaltene Danke: 1

Win7
Turbo Delphi 2006
BeitragVerfasst: Mi 08.12.10 22:44 
Hi, ich hab mal eine Frage zur Datenspeicherung.



Also ich hab ein Record mit einem Edit, einer CheckBox und einem StringGrid:

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
type TRec = RECORD
       ed : TEdit;
       ch : TCheckBox;
       st : TStringGrid;
end;


Zusätzlich ein Array vom Typ TRec und die dazugehörige Variable:

ausblenden Delphi-Quelltext
1:
2:
3:
type TPool = ARRAY [1..10of TRec
{...}
var test : TPool


Nun fülle ich die Edits mit Daten und ändere bei einigen CheckBoxen das Checked. Schließlich will ich das ganze speichern:

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
procedure TForm1.Button1Click(Sender: TObject);
var dat : file of TRec;
    i : integer;
begin
  assignfile(dat, 'OPenDialog1.FileName');
  rewrite(dat);

  For i:=1 to 10 do
  begin
    write(dat,test[i]);
  end;

  closefile(dat);
end;


Da die irgendwie nicht funktioniert, klappt das aus prinzip nicht (weil es einfach nicht geht) oder gibt's eine andere Lösung?
elundril
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 3747
Erhaltene Danke: 123

Windows Vista, Ubuntu
Delphi 7 PE "Codename: Aurora", Eclipse Ganymede
BeitragVerfasst: Mi 08.12.10 22:53 
Frage, was hast du denn vor? Eine Checkbox als Datenspeicher in einem Record zu halten ist nicht gerade die feine Englische.

lg elundril

_________________
This Signature-Space is intentionally left blank.
Bei Beschwerden, bitte den Beschwerdebutton (gekennzeichnet mit PN) verwenden.
Narses
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Administrator
Beiträge: 10183
Erhaltene Danke: 1256

W10ent
TP3 .. D7pro .. D10.2CE
BeitragVerfasst: Mi 08.12.10 23:01 
Moin und :welcome: im Forum!

user profile iconGlostami hat folgendes geschrieben Zum zitierten Posting springen:
Da die irgendwie nicht funktioniert, klappt das aus prinzip nicht (weil es einfach nicht geht) oder gibt's eine andere Lösung?
Du schreibst hier nicht den Inhalt der Controls, sondern die Adresse der Objekte auf dem Heap - klar, das klappt nicht, weil es nicht das ist, was du willst. :idea: ;)

Zunächst mal solltest du keine typisierte Datei nehmen, sondern z.B. eine CSV-Datei (die kann man recht einfach mit einer TStringList bearbeiten). Da könntest du in einer Zeile (=Datensatz) die Werte der Controls CSV-konform ablegen.

cu
Narses

_________________
There are 10 types of people - those who understand binary and those who don´t.
Glostami Threadstarter
Hält's aus hier
Beiträge: 11
Erhaltene Danke: 1

Win7
Turbo Delphi 2006
BeitragVerfasst: Mi 08.12.10 23:16 
user profile iconNarses hat folgendes geschrieben Zum zitierten Posting springen:
Moin und :welcome: im Forum!
--> Yo, danke.

user profile iconNarses hat folgendes geschrieben Zum zitierten Posting springen:

user profile iconGlostami hat folgendes geschrieben Zum zitierten Posting springen:
Da die irgendwie nicht funktioniert, klappt das aus prinzip nicht (weil es einfach nicht geht) oder gibt's eine andere Lösung?
Du schreibst hier nicht den Inhalt der Controls, sondern die Adresse der Objekte auf dem Heap - klar, das klappt nicht, weil es nicht das ist, was du willst. :idea: ;)

Aha. Klingt plausibel.



user profile iconelundril hat folgendes geschrieben Zum zitierten Posting springen:
Frage, was hast du denn vor? Eine Checkbox als Datenspeicher in einem Record zu halten ist nicht gerade die feine Englische.

lg elundril


Ähm, naja. Ich hab mir gedacht, ich erstelle die ganzen Komponenten zur Laufzeit. Und beim speichern kann ich dann die ganzen Eigenschaften speichern, damit ich die beim laden einfach reinlesen kann.