Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi aus ini-Datei lesen??? (https://www.delphipraxis.net/126895-aus-ini-datei-lesen.html)

AlexanderBrade 4. Jan 2009 11:36


aus ini-Datei lesen???
 
Hallo, ich erstelle meine ini-Datei folgendermaßen:
Delphi-Quellcode:
procedure TForm5.Speichern1Click(Sender: TObject);
var ini: TIniFile;
begin

ini := Tinifile.create (ExtractFilePath(ParamStr(0))+'abi.ini');

  try
    ini.WriteString ('Fach1','Speicherung 1',panel2.caption);
    ini.WriteString ('Fach2','Speicherung 2',panel3.caption);
    ini.WriteString ('Fach3','Speicherung 3',panel4.caption);
    ini.WriteString ('Fach4','Speicherung 4',panel5.caption);
Das schreiben klappt prima!
Nur das Auslesen geht nicht!
Delphi-Quellcode:
procedure TForm5.ffnen1Click(Sender: TObject);
var var1:string;
begin
   ini := Tinifile.create ('F:\Delphi\BMI\inispeicher.ini');
try
   var1:= ini.ReadString('Fach1','Speicherung1','');
     panel2.caption:=var1;

 { panel2.Caption := ini.ReadString('Fach1','Speicherung1','');}  {Das Auselesen geht weder nach der einen, noch nach der anderen Variante(es geht nur ums Anzeigen}
  panel3.Caption := ini.ReadString('Fach2','Speicherung2','');
  panel3.Caption := ini.ReadString('Fach3','Speicherung3','');
  panel3.Caption := ini.ReadString('Fach4','Speicherung4','');
Benötige Hilfe! Danke im voraus.

Die Muhkuh 4. Jan 2009 11:37

Re: aus ini-Datei lesen???
 
Du schreibst in "Speicherung 1" und liest aus "Speicherung1", Leerzeichen beachten!

Helmi 4. Jan 2009 11:44

Re: aus ini-Datei lesen???
 
und wieso schreibst du in eine andere Datei als Die, die du liest?

Die Muhkuh 4. Jan 2009 11:45

Re: aus ini-Datei lesen???
 
Zitat:

Zitat von Helmi
und wieso schreibst du in eine andere Datei als Die, die du liest?

Das ist mir nicht mal aufgefallen, das Leerzeichen ist mir gleich ins Auge gesprungen *g*

Helmi 4. Jan 2009 11:48

Re: aus ini-Datei lesen???
 
Zitat:

Zitat von Die Muhkuh
Zitat:

Zitat von Helmi
und wieso schreibst du in eine andere Datei als Die, die du liest?

Das ist mir nicht mal aufgefallen, das Leerzeichen ist mir gleich ins Auge gesprungen *g*

Mir sind dafür die Leerzeichen nicht aufgefallen *g* - so ergänzt man sich..

DeddyH 4. Jan 2009 11:50

Re: aus ini-Datei lesen???
 
Das kommt davon, wenn man keine Konstanten benutzt.

Helmi 4. Jan 2009 11:55

Re: aus ini-Datei lesen???
 
Zitat:

Zitat von DeddyH
Das kommt davon, wenn man keine Konstanten benutzt.

Man muss ja nicht unbedingt Konstanten verwenden - es reicht wen man kontrolliert was man schreibt, oder kopiert :-)

DeddyH 4. Jan 2009 11:59

Re: aus ini-Datei lesen???
 
Sauberer ist es aber immer mit Konstanten, sobald diese Werte mehrfach verwendet werden sollen. Selbst, wenn man sich vertippt, funktioniert das dann immer noch, da ja trotzdem auf denselben Wert zugegriffen wird.
Delphi-Quellcode:
const Section1 = 'Section 2'; //absichtlicher Vertipper
      Ident1 = 'Wuppdi';
...
Ini.WriteString(Section1,Ident1,'Blubb');
...
Wert := Ini.ReadString(Section1,Ident1,'');

Helmi 4. Jan 2009 12:06

Re: aus ini-Datei lesen???
 
Zitat:

Zitat von DeddyH
Sauberer ist es aber immer mit Konstanten, sobald diese Werte mehrfach verwendet werden sollen. Selbst, wenn man sich vertippt, funktioniert das dann immer noch, da ja trotzdem auf denselben Wert zugegriffen wird.

ja, teils gib ich dir ja recht - ich finds halt etwas overload für sowas Konstanten einzusetzen, die "unnötigerweise" im Speicher liegen und nur 2 mal gebraucht werden.
Ich denke dabei an meine zwei Funktionen zum Auslesen bzw. Schreiben der Applications-Ini-Datei.
Da müsst ich global Konstanten erzeugen die nur 2 mal gebraucht werden. Einmal im OnCreate und einmal im OnClose.

Ist halt Geschmackssache - aber was das Verhindern von Schreibfehlern angeht, da hast du recht!

WInfo 4. Jan 2009 12:12

Re: aus ini-Datei lesen???
 
Zitat:

Zitat von Helmi
ich finds halt etwas overload für sowas Konstanten einzusetzen, die "unnötigerweise" im Speicher liegen und nur 2 mal gebraucht werden.

Da hast Du Recht, Konstanten liegen 1 Mal im Speicher, wenn Du darauf verzichtet, bei zweimaligen gebrauch, blähst du dein Compilat auf, da diese dann 2 Mal im Speicher liegen.

Von den möglichen Folgeproblemen ganz abgesehen, aber die Konstanten gehören einfach zum guten Ton.


Alle Zeitangaben in WEZ +1. Es ist jetzt 12:37 Uhr.
Seite 1 von 2  1 2      

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