Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Wert von ini Datei lesen und wenn nicht vorhanden dann Exit (https://www.delphipraxis.net/113295-wert-von-ini-datei-lesen-und-wenn-nicht-vorhanden-dann-exit.html)

Delphiturbo 5. Mai 2008 19:43


Wert von ini Datei lesen und wenn nicht vorhanden dann Exit
 
hallo

mein Programm holt einen Wert von einer ini Datei
Delphi-Quellcode:
...
procedure TForm1.FormCreate(Sender: TObject);
var MyIniFile : TInifile;
begin
MyIniFile := TIniFile.Create(ExtractFilePath(ParamStr(0)) + 'MyIniFile3.ini');
Edit1.Text := MyIniFile.ReadString('Section1','edit1.text','nicht gefunden');

 MyIniFile.Free;
end;
ich möchte dass mein Programm beendet wenn die Datei nicht vorhanden ist
was kann ich dazu in Code schreiben ?

Der.Kaktus 5. Mai 2008 19:46

Re: Wert von ini Datei lesen und wenn nicht vorhanden dann E
 
Hallo,

Delphi-Quellcode:
If Paramcount>0 then ...//pruefen ob Parameter i.O. ist
else application.terminate;
Dem entsprechend die Reaktion abbrechen wenn der Inifile Wert nicht dem entspricht, was er enthalten soll.

tomsel 5. Mai 2008 19:59

Re: Wert von ini Datei lesen und wenn nicht vorhanden dann E
 
Delphi-Quellcode:
if not FileExists... then
  Close;

bluesbear 5. Mai 2008 20:07

Re: Wert von ini Datei lesen und wenn nicht vorhanden dann E
 
Besser wäre, das Form gar nicht erst zu erstellen, wenn die ini nicht existiert.

tomsel 5. Mai 2008 20:10

Re: Wert von ini Datei lesen und wenn nicht vorhanden dann E
 
Ja, genau! Close in FormCreate, geht das überhaupt?

bluesbear 5. Mai 2008 20:14

Re: Wert von ini Datei lesen und wenn nicht vorhanden dann E
 
Zitat:

Zitat von tomsel
Ja, genau! Close in FormCreate, geht das überhaupt?

Sehr gute Frage. Das habe ich noch nie ausprobiert <g>. Ein PostMessage in FormShow abzusetzen sollte klappen. Aber dann flackert das Form kurz auf.

Der.Kaktus 5. Mai 2008 20:16

Re: Wert von ini Datei lesen und wenn nicht vorhanden dann E
 
Zitat:

Zitat von bluesbear
Zitat:

Zitat von tomsel
Ja, genau! Close in FormCreate, geht das überhaupt?

Sehr gute Frage. Das habe ich noch nie ausprobiert <g>. Ein PostMessage in FormShow abzusetzen sollte klappen. Aber dann flackert das Form kurz auf.

Wie ich oben schon schrieb..Application.Terminate geht da nur..hatte das Prob. naemlich letztens. ;-)

Delphiturbo 5. Mai 2008 20:20

Re: Wert von ini Datei lesen und wenn nicht vorhanden dann E
 
Warum verschwendet Button1 nach dem Klick !!!
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var MyIniFile : TInifile;
begin
if FileExists('MyIniFile3.ini') then
begin
MyIniFile := TIniFile.Create(ExtractFilePath(ParamStr(0)) + 'MyIniFile3.ini');
Edit1.Text := MyIniFile.ReadString('Section1','text1','nicht gefunden')
end
else
begin
//close;
ShowMessage('nicht gefunden ');
MyIniFile.Free;
end;

toms 5. Mai 2008 20:22

Re: Wert von ini Datei lesen und wenn nicht vorhanden dann E
 
Zitat:

Zitat von Der.Kaktus
Zitat:

Zitat von bluesbear
Zitat:

Zitat von tomsel
Ja, genau! Close in FormCreate, geht das überhaupt?

Sehr gute Frage. Das habe ich noch nie ausprobiert <g>. Ein PostMessage in FormShow abzusetzen sollte klappen. Aber dann flackert das Form kurz auf.

Wie ich oben schon schrieb..Application.Terminate geht da nur..hatte das Prob. naemlich letztens. ;-)

Warum den Check nicht schon in der dpr Datei machen?

Der.Kaktus 5. Mai 2008 20:25

Re: Wert von ini Datei lesen und wenn nicht vorhanden dann E
 
@toms 2late *gg* folgt!!


Zitat:

Zitat von Delphiturbo
Warum verschwendet Button1 nach dem Klick !!!
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var MyIniFile : TInifile;
begin
if FileExists('MyIniFile3.ini') then
begin
MyIniFile := TIniFile.Create(ExtractFilePath(ParamStr(0)) + 'MyIniFile3.ini');
Edit1.Text := MyIniFile.ReadString('Section1','text1','nicht gefunden')
end
else
begin
//close;
ShowMessage('nicht gefunden ');
MyIniFile.Free;
end;

mach die Abfrage doch im Projekt(dpr) hinter application.init..iss paramcount bzw. Inifile(wert) ungleich dem, den Du erwartest..dann schreibst Du "Application.Terminated"..schon umgehst Du alle Schwierigkeiten.


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