Autor Beitrag
FatalError
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 64

WIN ME
D6 Pers
BeitragVerfasst: Mo 15.12.03 18:42 
:idea:

Hi,

gibt es die Möglichkeit, in Delphi einen Pointer (aus einer Linearen Verkettung z.B.) "auszulagern", sodass der Inhalt des Ponters unverändert nach Neustart des Programms wieder ausgelesen werden kann?
Ich meine jetzt, ohne den Umweg über eine .txt -Datei zu gehen?


gute Grüße
Andy
ErnestoChe
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 528

Win 2000 pro, CRUX 2.0
Delphi 6 Pers, Open K3
BeitragVerfasst: Mo 15.12.03 18:49 
Hi,

wohin willst du ihn auslagern? Wenn dein Programm beendet wird ist der Speicherbereich nicht mehr gültig und wird freigegeben. Wieso möchtest du nicht in einer Datei speichern? Es muss ja nicht unbedingt eine Textdatei sein. Da gibt es ja viele Möglichkeiten. Könntest dir auch ein eigenes Dateiformat überlegen.

MFG

- Ernesto -
FatalError Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 64

WIN ME
D6 Pers
BeitragVerfasst: Mo 15.12.03 22:41 
Hi,

das mit der Textdatei will ich vermeiden, da ich mir dei gaze Arbeit mit Ausgeben/neu einlesen ersparen will.

Gibt es keine Möglichkeit, innerhalb von Windows selbst irgendwie einen Zeiger auszulagern?

Ansonsten: wie erstellt man ein eigenes Dateiformat und wie speichert/lädt man darin?

Grüße Andy
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Mo 15.12.03 22:53 
Das ist das Problem deiner Anwendung, da wird dir Windows nichts abnehmen können.

Was die Dateien angeht, kuck mal nach typisierten Dateien. Eine Klasse mit Demo findest du auch auf meiner Seite im Delphi-Demo Ordner.
ErnestoChe
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 528

Win 2000 pro, CRUX 2.0
Delphi 6 Pers, Open K3
BeitragVerfasst: Mo 15.12.03 22:58 
Hi,

Zitat:
das mit der Textdatei will ich vermeiden, da ich mir dei gaze Arbeit mit Ausgeben/neu einlesen ersparen will.


Ach, das ist eigentlich dank TStringList ganz einfach.

Speichern:
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
var
  slTextDatei: TStringList;
begin
  slTextDatei := TStringList.Create;
  try
    slTextDatei.Add('Servus');
    slTextDatei.Add('Wie gehts?');
    slTextDatei.Add('Danke, gut');

    slTextDatei.SaveToFile('C:\Servus.txt');
  finally
    slTextDatei.Free;
  end;
end;


Laden:
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
var
  slTextDatei: TStringList;
begin
  slTextDatei := TStringList.Create;
  try
    slTextDatei.LoadFromFile('C:\Servus.txt');
    Memo1.Lines.AddStrings(slTextDatei);
      // hier hätte man auch mit Memo1.Lines.LoadFromFile
      // die Datei direkt ins Memo laden können
  finally
    slTextDatei.Free;
  end;
end;


Zitat:
Ansonsten: wie erstellt man ein eigenes Dateiformat und wie speichert/lädt man darin?


Kommt darauf an wie das Format aussehen soll. Hier mal ein Tutorial mit TFileStream.

MFG

- Ernesto -
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Mo 15.12.03 23:29 
Es geht um Zeiger. Aber da sehe ich ein Problem: Sie zeigen ja auf eine Adresse im Speicher. Wer sagt dir, dass die Adresse beim nächsten Start die gleiche ist? Speichere lieber das, was an der Adresse steht.
ErnestoChe
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 528

Win 2000 pro, CRUX 2.0
Delphi 6 Pers, Open K3
BeitragVerfasst: Mo 15.12.03 23:38 
Hi,

@Luckie

Das ist wohl klar, das der Wert bzw. die Werte gespeichert werden sollen. Hat ja auch keiner gesagt, dass er die Zeigeradresse speichern soll.

MFG

- Ernesto -
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Di 16.12.03 00:36 
ErnestoChe hat folgendes geschrieben:
Das ist wohl klar, das der Wert bzw. die Werte gespeichert werden sollen.

Dem Frgaesteller scheint das nicht so ganz klar zu sein, sonst hätte er nicht explizit nach den Zeigern gefragt.
Zitat:

Hat ja auch keiner gesagt, dass er die Zeigeradresse speichern soll.

Aber ob ihm dann dein Beispiel mit den Strings hilft ist genauso zweifelhaft.
ErnestoChe
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 528

Win 2000 pro, CRUX 2.0
Delphi 6 Pers, Open K3
BeitragVerfasst: Di 16.12.03 08:44 
Hi,

das Beispiel sollte anhand einer Stringliste zeigen, dass es einfach ist Textdateien zu schreiben bzw. auszulesen, was ja vom Fragesteller als "viel Arbeit" angesehen wurde. Und was speichert man in einer Textdatei? Wohl Strings, oder? Es gibt in Delphi ja genug Methoden um alle möglichen Datentypen in Strings umzuwandeln.

MFG

- Ernesto -
FatalError Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 64

WIN ME
D6 Pers
BeitragVerfasst: Do 18.12.03 21:11 
Hi,

danke für die veilen Ideen und Anregungen;

ihr habt natürlich recht, ich werde auch versuchen ne Textdatei zuu verwenden; Zeiger dierekt speichen sah für mich erste einfacher aus ist es aber wohl nicht...
:roll:

Grüße
Andy