Delphi-PRAXiS
Seite 4 von 5   « Erste     234 5      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Programmzustand speichern und laden (https://www.delphipraxis.net/2024-programmzustand-speichern-und-laden.html)

phlux 6. Jan 2003 08:57

Okay hier mal ne kleine Prozedur:
Delphi-Quellcode:
//Beispiel für TStringList
var f: TStringlist;

procedure SaveStringList;
begin
  f := TStringList.Create;//Erstellt Stringlist
  f.Add('Ein String');//Fügt einen String hinzu
  f.SaveToFile('C:\MeineStrings.txt');
  f.Free;
end;

procedure LoadStringList;
begin
  f := TStringList.Create;//Erstellt Stringlist
  f.LoadFromFile('C:\MeineStrings.txt');
end;
Eigentlich ist es komfortabler TStringList zu nehmen anstatt TStrings.

Christian Seehase 6. Jan 2003 13:45

Moin Phlux,

von TStrings sollte man tunlichst keine Instanzen bilden, da TStrings eine abstrakte Klasse darstellt.
Bei einer abstrakten Klasse ist mindestens eine Methode nur deklariert, aber nicht "mit Leben gefüllt", so dass ein Zugriff auf diese Methode in einer Access Violation mündet. (wie wohl z.B. LoadFromFile/SaveToFile, wenn ich mich recht entsinne).

Eine Klasse, die diese abstrakten Methoden von TStrings implementiert wäre TStringList.

Als Typ für einen Funktionsparameter wäre es allerdings wiederum von Vorteil TStrings zu verwenden, da man dann alle Nachfahren von TStrings als Parameter übergeben kann, also z.B. Memo1.Lines ebenso wie eine Variable vom Typ TStringList.

phlux 6. Jan 2003 14:05

uuups.. :oops: Danke das du mich auf diesen Fehler hingewiesen hast. Das nächste mal poste ich nich mehr so früh :lol:

Christian Seehase 6. Jan 2003 14:16

Moin Phlux,

es war ja nur der Typ nicht ganz richtig.
Du hättest nur TStrings durch TStringList ersetzen müssen, dann hätte es ja funktioniert.

phlux 6. Jan 2003 14:23

Jo aber er hat ja eh explizit nach TStrings gefragt. Werd den code aber heut abend wieder reinstellen.

trebormillenium 7. Jan 2003 20:17

:?
Was ist mit der Prozedur? Habe ein ComboBox genommen und will dort eine Internet-Adresse eigeben, dann die adresse in die Tstring liste aufnehmen lassen und abspeichern lassen!

Hoffe ihr könnt mir helfen!

phlux 7. Jan 2003 20:23

Delphi-Quellcode:
//speichern
  ComboBox1.Items.SaveToFile('C:\Strings.txt');

//laden
  ComboBox1.Items.LoadFromFile('C:\Strings.txt');

//Dateiname is frei wählbar ersetze einfach C:\Strings.txt

Sibbe05 29. Jan 2003 10:10

Ich habe mal 'ne Frage:
Ich möchte eine .ini datei öffnen (Mit opendialog),
das programm soll dann eine .ini datei erzeugen, falls die datei mit eingegebenen namen nicht vorhanden ist.
Wenn ich nun einen beliebigen namen eingebe, erstellt er mir keine
neue .ini datei, sondern füllt alles mit den default werten.
Warum???

Christian Seehase 29. Jan 2003 13:36

Moin Sibbe,

ich hab' jetzt Dein Problem nicht ganz verstanden, könntest Du das bitten noch mal etwas genauer beschreiben?

Sibbe05 29. Jan 2003 14:42

hat sich schon geklärt...
Trotzdem danke.

-------
Sibbe05


Alle Zeitangaben in WEZ +1. Es ist jetzt 13:56 Uhr.
Seite 4 von 5   « Erste     234 5      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz