Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi fehler beim auslesen der ini (https://www.delphipraxis.net/9649-fehler-beim-auslesen-der-ini.html)

EvilDragon 30. Sep 2003 21:27


fehler beim auslesen der ini
 
ich würde gern enige informationen gleich beim start des programmes aus der ini auslesen und diese in variabeln ect ablegen hier mein beispiel:

Delphi-Quellcode:
procedure TForm1.FormShow(Sender: TObject);
var URL: String;
begin
  ini := TIniFile.Create('konfig.ini');
  try
    Form1.Left := Ini.ReadInteger('FensterPosMenu','Links',0);
    Form1.Top := Ini.ReadInteger('FensterPosMenu','Top',0);
    URL := Ini.ReadString('URL','Seite','eintrag');
  finally
    ini.free;
  end;
end;
aber e sklappt nicht ganz, also das er in der ini dieses auslesen tut:

[URL]
Seite=http://xyz.de/

und was nach Seite= in die Variable URL packt...

Hier noch das was passieren sol, wenn das fenster geschlossen wird (klappt nicht ganz, das das programm bzw. formular dort startet wo man es beendet hat):

Delphi-Quellcode:
procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
  ini := TIniFile.Create(ExtractFilePath(ParamStr(0))+'konfig.ini');
  ini.WriteInteger('FensterPosMenu','Links',Form1.Left);
  ini.WriteInteger('FensterPosMenu','Top',Form1.Top);
  ini.free;
end;
Achtung: NEWBIE in sachen INI

MrKnogge 30. Sep 2003 21:35

Re: fehler beim auslesen der ini
 
haudn Code mal in TForm.Create statt Show rein !

Desweiren würde ich eventuell den Wert erst in eine "Übergangsvariable" einlesen.

EvilDragon 30. Sep 2003 21:38

Re: fehler beim auslesen der ini
 
Zitat:

Zitat von MrKnogge
...
Desweiren würde ich eventuell den Wert erst in eine "Übergangsvariable" einlesen.

was genau meinst da mit?

Das mit der fensterposition geht uahc net, muss ich was bestimmtes in den Eigenschaften für Form einstellen (z.b. Position oder so)

Luckie 30. Sep 2003 21:41

Re: fehler beim auslesen der ini
 
1.) Gib mal den kompletten Pfad zur Ini in Form Show an.
2.) Beim Schreiben fehlt der Ressourcenschutzblock.
3.) Ein Beispiel zu Readstring aus der Hilfe sieht bei mir so aus:
Delphi-Quellcode:
uses Registry;
function GetRegistryValue: string;
var
  Registry: TRegistry;
  S: string;
begin
  Registry:=TRegistry.Create;

  Registry.RootKey:=HKEY_LOCAL_MACHINE;
  {False because we do not want to create it if it doesn’t exist}
  Registry.OpenKey('MYKEY',False);
  Result :=Registry.ReadString('VALUE1');

  Registry.Free;
end;
Und was nicht geht, wäre auch noch gut zu wissen, sonst bleibt das hier eine Raterei.

MrKnogge 30. Sep 2003 21:53

Re: fehler beim auslesen der ini
 
Zitat:

Zitat von EvilDragon
Zitat:

Zitat von MrKnogge
...
Desweiren würde ich eventuell den Wert erst in eine "Übergangsvariable" einlesen.

was genau meinst da mit?

Das mit der fensterposition geht uahc net, muss ich was bestimmtes in den Eigenschaften für Form einstellen (z.b. Position oder so)

1. Du sollst den Code von FormShow bei FormCreate reinschreiben
(doppelklick auf deine Form)

2. Arbeite bei deiner FormClose-Procedure auch mit try und finally

3. Lese den Wert aus deine ini nicht direkt in Form1.left ein sondern lad den wer erst in einer Variable zB. FLeft oder so und setzte dann Form1.Left := FLeft;

EvilDragon 30. Sep 2003 21:54

Re: fehler beim auslesen der ini
 
ich bräuchte das auslesen für eine ini nicht für die registry ...(VCL)

so siehts jetzt aus:

Delphi-Quellcode:
var
  URL: String;

procedure TForm1.FormCreate(Sender: TObject);
begin
  ini := TIniFile.Create(ExtractFilePath(ParamStr(0))+'konfig.ini');
  try
    Form1.Left := Ini.ReadInteger('FensterPosMenu','Links',0);
    Form1.Top := Ini.ReadInteger('FensterPosMenu','Top',0);
    URL := Ini.ReadString('URL','Seite','eintrag');
    Panel1.Caption := Ini.ReadString('URL','Seite','eintrag');
  finally
    ini.free;
  end;
end;

Daniel B 30. Sep 2003 21:56

Re: fehler beim auslesen der ini
 
Zitat:

Zitat von EvilDragon
Delphi-Quellcode:
    URL := Ini.ReadString('URL','Seite','eintrag');
    Panel1.Caption := Ini.ReadString('URL','Seite','eintrag');

Würde auch so gehen, wozu zweimal lesen ;)
Delphi-Quellcode:
    URL := Ini.ReadString('URL','Seite','eintrag');
    Panel1.Caption := URL;

Luckie 30. Sep 2003 21:57

Re: fehler beim auslesen der ini
 
Ach Mist. Mußt du das so genau nehmen?

Funktioniert es denn jetzt? Und wenn nicht, dann sag gleich was wie nicht funktioniert!

Daniel B 30. Sep 2003 22:00

Re: fehler beim auslesen der ini
 
Zitat:

Zitat von Luckie
Ach Mist. Mußt du das so genau nehmen?

Warum, Er hat nciht ganz gelesen dass das Beispiel aus der Hilfe stammt... ;)
Zitat:

Funktioniert es denn jetzt? Und wenn nicht, dann sag gleich was wie nicht funktioniert!
Zitat:

Zitat von Er
aber e sklappt nicht ganz, also das er in der ini dieses auslesen tut:

[URL]
Seite=http://xyz.de/

und was nach Seite= in die Variable URL packt...

Das liegt einfach daran das Er die Ini im Programmverzeichniss hat, aber ohne Pfadangabe beim Lesen Er die Ini nicht findet weil sie im Win-Verz. leigt

MrKnogge 30. Sep 2003 22:05

Re: fehler beim auslesen der ini
 
Zitat:

Zitat von Daniel B
Zitat:

Zitat von Luckie
Ach Mist. Mußt du das so genau nehmen?

Warum, Er hat nciht ganz gelesen dass das Beispiel aus der Hilfe stammt... ;)
Zitat:

Funktioniert es denn jetzt? Und wenn nicht, dann sag gleich was wie nicht funktioniert!
Zitat:

Zitat von Er
aber e sklappt nicht ganz, also das er in der ini dieses auslesen tut:

[URL]
Seite=http://xyz.de/

und was nach Seite= in die Variable URL packt...

Das liegt einfach daran das Er die Ini im Programmverzeichniss hat, aber ohne Pfadangabe beim Lesen Er die Ini nicht findet weil sie im Win-Verz. leigt

Ihr mit eurem rumgespamme :mrgreen:


Alle Zeitangaben in WEZ +1. Es ist jetzt 17:49 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