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/)
-   -   MyIniFile := Tinifile.Create( 'MyIniFile.ini' ); (https://www.delphipraxis.net/99305-myinifile-%3D-tinifile-create-myinifile-ini-%3B.html)

taktaky 10. Sep 2007 13:29


MyIniFile := Tinifile.Create( 'MyIniFile.ini' );
 
Hallo

es passiert nichts, wenn ich den Pfad als relativ eingebe!!!
Ich meine der Pfad von MyIniFile.ini

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var MyIniFile : TInifile;
begin
 MyIniFile := Tinifile.Create( 'C:\test\MyIniFile.ini' );
aber so geht nicht :
//MyIniFile := Tinifile.Create( 'MyIniFile.ini' );


 MyIniFile.WriteString('Section1','edit1.text', 'hallo');
 MyIniFile.WriteString('Section1','edit2.text', 'Guten Tag');
 MyIniFile.WriteString('Section1','edit3.text', 'http://yahoo.de');

 //MyIniFile.WriteString('LastUsedBitmap', 'LUBitmap', bitmap);
 MyIniFile.Free;
end;

procedure TForm1.Button2Click(Sender: TObject);
var MyIniFile : TInifile;

begin
MyIniFile := Tinifile.Create( 'MyIniFile.ini' );
Edit1.Text := MyIniFile.ReadString('Section1','edit1.text','0');
Form1.Caption:= MyIniFile.ReadString('Section1','edit2.text','0');

Webbrowser1.Navigate(MyIniFile.ReadString('Section1','edit3.text','0'));

end;
wenn ich den Pfad als absolut eingebe, dann funktioniert, als relativ nicht !!!

Matze 10. Sep 2007 13:32

Re: MyIniFile := Tinifile.Create( 'MyIniFile.ini' );
 
Du solltest immer absolute Pfade nutzen, denn das Arbeitsverzeichnis kann sich ändern und dann ist nicht gewiss, wo du die Datei abspeicherst:

Delphi-Quellcode:
ExtractFilePath(ParamStr(0)) + 'MyIniFile.ini'
Und ein Ausrufezeichen reicht, zumal hier auch je ein normaler Punkt genügen würde. :warn:

DP-Maintenance 10. Sep 2007 13:33

DP-Maintenance
 
Dieses Thema wurde von "Matze" von "Windows 9x / ME / 2000 / XP / 2003 / Vista" nach "Sonstige Fragen zu Delphi" verschoben.
Delphi-Frage

Luckie 10. Sep 2007 13:34

Re: MyIniFile := Tinifile.Create( 'MyIniFile.ini' );
 
Hilfe lesen:
Zitat:

inweis

Normalerweise werden INI-Dateien im Verzeichnis \WINDOWS gespeichert. Wenn sich die INI-Datei an einem anderen Ort befindet, geben Sie in FileName den vollständigen Pfadnamen an.
Hinzukommt, welches Betriebssystem udn welche Benutzerrechte sind vorhanden?

pstruh 10. Sep 2007 13:38

Re: MyIniFile := Tinifile.Create( 'MyIniFile.ini' );
 
Also ich verstehe unter einem relativen Pfad auch etwas anderes, z.B. "..\data\name.ext". Die Angabe "name.ext" bedeutet, das die Datei im Stammverzeichnis des gerade aktuellen Laufwerks (welches auch immer das ist) gesucht wird.

s-off 10. Sep 2007 13:39

Re: MyIniFile := Tinifile.Create( 'MyIniFile.ini' );
 
Hi,

das MSDN sagt das

Edit: Luckie hat's bereits gesagt - trotzdem das Statement dazu von MS (die Funktion 'WritePrivateProfileString' aus der Kernel32 ist die, welche die Ini-Datei beim Update speichert)

taktaky 10. Sep 2007 14:42

Re: MyIniFile := Tinifile.Create( 'MyIniFile.ini' );
 
Hallo zusammen,

es funktioniert jetzt mit dem relativen Pfad

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var MyIniFile : TInifile;
begin
MyIniFile := TIniFile.Create(ExtractFilePath(ParamStr(0)) + 'MyIniFile3.ini');

MyIniFile.WriteString('Section1','edit1.text', '22222222222222');
MyIniFile.WriteString('Section1','edit2.text', '33333333333333');
MyIniFile.Free;
end;

procedure TForm1.Button2Click(Sender: TObject);
var MyIniFile : TInifile;
begin
MyIniFile := TIniFile.Create(ExtractFilePath(ParamStr(0)) + 'MyIniFile3.ini');
Edit1.Text := MyIniFile.ReadString('Section1','edit1.text','nicht gefunden');
Edit2.Text := MyIniFile.ReadString('Section1','edit2.text','nicht gefunden');

 MyIniFile.Free;
end;
Delphi-Quellcode:
  _____        ___   __   _   _   _    _____ 
|  _  \     /   | |  \ | | | | / /  | ____| 
| | | |    / /| | |   \| | | |/ /   | |__   
| | | |   / / | | | |\   | | |\ \   |  __| 
| |_| |  / /  | | | | \  | | | \ \  | |___ 
|_____/ /_/   |_| |_|  \_| |_|  \_\ |_____|

Luckie 10. Sep 2007 14:44

Re: MyIniFile := Tinifile.Create( 'MyIniFile.ini' );
 
Zitat:

Zitat von taktaky
es funktioniert jetzt mit dem relativen Pfad

Absolute Pfade, das sind absolute Pfade.

Klaus01 10. Sep 2007 14:44

Re: MyIniFile := Tinifile.Create( 'MyIniFile.ini' );
 
Zitat:

Zitat von taktaky
Hallo zusammen,

es funktioniert jetzt mit dem relativen Pfad

Nur zur Info:

ExtractFilePath liefert einen absoluten Pfad und keinen relativen.

Grüße
Klaus

pstruh 10. Sep 2007 14:57

Re: MyIniFile := Tinifile.Create( 'MyIniFile.ini' );
 
Hallo Zusammen,
vielleicht wäre eine kurze Erklärung, was RELATIVE Pfadangaben sind, angebracht. Ich zitiere aus WIKIPEDIA:

"... Pfadangaben können absolut sein ..., d. h. sie orientieren sich an der Wurzel des Dateisystems, oder relativ, d. h. sie gehen von einer bestimmten Position in der Baumstruktur des Dateisystems zu einer anderen, z. B. ../geschaeftsbriefe/, lies "gehe eins hoch und dann in geschaeftsbriefe"

Das müßte doch verständlich sein!
Gruß


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