Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Algorithmen, Datenstrukturen und Klassendesign (https://www.delphipraxis.net/78-algorithmen-datenstrukturen-und-klassendesign/)
-   -   Delphi .inis bei der exe speichern (https://www.delphipraxis.net/157676-inis-bei-der-exe-speichern.html)

SpiDe1500 20. Jan 2011 15:23

.inis bei der exe speichern
 
Hallo,

mein Programm erstellt automatisch beim ersten Start (nur dann...) eine .ini, jedoch musste ich es bisher so machen, dass ich einen festen Pfad eingebe.

Für mein Programm ist es aber unbedingt notwendig, dass es auf jedem Rechner läuft, dh ist ein fester Pfad nicht ideal.

Wie kriege ich das hin? Welchen Pfad muss ich eingeben?
Bisher mache ichs so:

Delphi-Quellcode:
ini := TIniFile.Create('C:\Users\henning\Desktop\Auftrag\Programm\Debug\Win32\Dontopen.ini');
if fileexists('C:\Users\henning\Desktop\Auftrag\Programm\Debug\Win32\Dontopen.ini') then
begin
ist halt nur doof...

DeddyH 20. Jan 2011 15:24

AW: .inis bei der exe speichern
 
Such einmal im Forum nach Hier im Forum suchenSHGetFolderPath.

alfold 20. Jan 2011 15:28

AW: .inis bei der exe speichern
 
z.B. mit
Delphi-Quellcode:
mypath:= ExtractFilePath(Application.Exename);
damit hast Du den Pfad wo deine exe sich befindet.

Gruss alfold

SpiDe1500 20. Jan 2011 15:45

AW: .inis bei der exe speichern
 
Wunderbar :) Danke jungs!

Noch eine Frage, die sich aus der Problemstellung unter Umständen ergibt:

Mein Win 7 sagt beim starten der exe außerhalb Delphi XEs, dass die Ini nicht geschrieben werden kann.

Beispiel:

"C:\Dontopen.ini kann nicht geschrieben werden."

Wenn ich als Admin ausführe gehts.

Kann man win 7 da irgendwie austricksen? :/ Wäre ja nervig, wenn man es immer als Aministrator ausführen muss!

alfold 20. Jan 2011 15:50

AW: .inis bei der exe speichern
 
Dein Prog sollte ja auch dahin wo der jeweilige user die Rechte hatt!
Und das ist nun mal nicht 'C:\'

Gruss alfold

DeddyH 20. Jan 2011 15:55

AW: .inis bei der exe speichern
 
Deswegen ja mein Hinweis auf SHGetFolderPath. Es gibt ja von Windows vorgesehene Verzeichnisse für Einstellungsdateien.

himitsu 20. Jan 2011 16:08

AW: .inis bei der exe speichern
 
Zitat:

Kann man win 7 da irgendwie austricksen? :/ Wäre ja nervig, wenn man es immer als Aministrator ausführen muss!
Wäre ja noch schöner, wenn man Zugriffsrechte, welche man nicht besitzt, irgendwie umgehen kann.

p80286 20. Jan 2011 17:02

AW: .inis bei der exe speichern
 
Es hat sich augenscheinlich immer noch nicht herum gesprochen, daß hinter den vielen Verzeichnissen in einem frisch installierten Windows ein Konzept steckt.
Ob das soo sinnvoll ist, kann man ja diskutieren, aber das Prinzip ist nicht so ganz dumm!

Gruß
K-H

himitsu 20. Jan 2011 17:30

AW: .inis bei der exe speichern
 
Eigentlich existiert das mit den Zugriffsrechten im Dateisystem schon lange, aber da Viele bis XP noch mit vollen Adminrechten unterwegs waren, hat das nur keiner gemerkt und niemand machte sich Gedanken darum dieses mal richtig zu beachten. (tja, seit Vista heulen nun alle rum, weil nix mehr geht, obwohl es schon sooooo lange "bekannt" war)

Sir Rufo 20. Jan 2011 17:39

AW: .inis bei der exe speichern
 
Wenn das Programm beim ersten Start (der mit Admin-Rechten ausgeführt wird) die ini-Datei anlegen soll, dann bietet sich folgendes an um einen Dateinamen für die ini-Datei zu bekommen, der direkt im Anwendungsverzeichnis liegt.
Der Dateiname ist bis auf die Endung gleich dem Anwendungsnamen.
Delphi-Quellcode:
ChangeFileExt( ParamStr( 0 ), '.ini' )
Ansonsten nimmst die die Unit die du hier findest
Da hast du einen sehr einfachen Zugriff auf die SpecialFolders unter Windows


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