![]() |
brauche dringend hilfe... pfad usw
hallo, ich habe vor kurzem angefangen mit delphi zu programmieren...
habe schon mit ini files etwas erfahrung und mit timern und so weiter.... und habe aber noch paar fragen.... wenn man mit diesem befehl ne ini file ertellt oder lädt:
Delphi-Quellcode:
dann wird die test.ini im folgenden pfad gespeichert:
ini:=TIniFile.Create('test.ini');
Code:
...
c:\windows\system32\test.ini
wenn man den befehl
Delphi-Quellcode:
benutzt, dann wird die ini file im hauptverzeichniss
ini:=TIniFile.Create('\test.ini');
der partition gespeichert, auf welcher sich auch das projekt besser gesagt die ausführbare datei befindet... also die exe... und nun meine frage... meine EXE liegt zb
Code:
und die ini soll im gleichen verzeichniss abgelegt werden... also:
C:\blabla\Project1\test.exe
Code:
ich könnte ja schreiben:
C:\blabla\Project1\test.ini
Delphi-Quellcode:
aber dann wird die ini immer dort
ini:=TIniFile.Create('C:\blabla\Project1\test.ini');
gespeichert auch wenn ich die exe verschiebe.... also mein prob ist, die exe soll nich in einem genauen verzeichniss suchen, sondern immer auf die ini zugreifen die im gleichen oder unterordner liegt.... was muss ich dann als pfad eingeben? so was ich auch noch gerne wissen würde: 1. gesammt vorhandener ramspeicher und der freie ramspeicher, der noch zur verfügung steht in ein label schreiben lassen??? 2. kann ich nach cd roms suchen lassen? 3. ich weiß ja wie ich dat mache, dass wenn ich auf ein button mit der rechten maus taste raufklicke dass sich dann ein popup menu öffnet... wie mach ich dass es mit der linken maustaste passiert? THX im vorraus.... |
Re: brauche dringend hilfe... pfad usw
ParamStr(0) liefert dir deinen Anwendungspfad, ExtractFilepath liefert dir dann den Pfad ohne Dateiname. Und für die anderen Frage mach bitte jeweils einen neune Thread auf, bzw. benutz erstmal die Suche. Die Suche hätte dir übrigens auch hier schon geholfen.
|
Re: brauche dringend hilfe... pfad usw
Hallo wolfzone,
herzlich willkommen in der Delphi-PRAXiS. Nimm das und die Online-Hilfe:
Delphi-Quellcode:
Grüße vom marabu
ini := TMemIniFile.Create(ChangeFileExt(ParamStr(0), '.ini'));
|
Re: brauche dringend hilfe... pfad usw
Hi,
um eine Datei im Programmverzeichnis zu benutzen, ermittle einfach den Pfad Deiner Anwendung:
Delphi-Quellcode:
Für die restlichen Fragen wären einzelne Threads pro Frage angebracht ;)
FileName := ExtractFilePath(ParamStr(0)) + 'Dateiname.xyz';
Gruß Stephan :dance: edit: Ups, da hab ich wohl wiedermal nen roten Kasten übersehen :oops: |
Re: brauche dringend hilfe... pfad usw
Hi wolfzone :)
Zu deiner Ini-Frage: (Rauseditiert, das oben schon steht. Ich bin einfach zu langsam. :x) Zur 4. (3.) Frage: Vielleicht einfach dem OnClick-Event das Popup-Menü zuweisen? Geht das? Ansonsten: Benutz die Suchfunktion, ich bin sicher, dass die Ramfrage schonmal beantwortet wurde, wenns nicht vielleicht sogar in der Codelib steht. |
Re: brauche dringend hilfe... pfad usw
THX leutz, hat mir sehr geholfen....
aber eine frage hätt ich noch:
Delphi-Quellcode:
was bedeutet die "0" in klammern hinter ParamStr?
ini := TMemIniFile.Create(ChangeFileExt(ParamStr(0), '.ini'));
Mfg WolF |
Re: brauche dringend hilfe... pfad usw
Hi,
:roll: [F1] :arrow: ParamStr(0) gibt den Pfad und den Dateinamen des ausgeführten Programms zurück (z.B. C:\TEST\MYPROG.EXE). Was die Online-Hilfe nicht alles weiß :shock: :mrgreen: Gruß Stephan :dance: |
Re: brauche dringend hilfe... pfad usw
Das sagte Luckie ja bereits, nur wieso gerade eine Null, ich denke, das möchte er wissen. Das steht in der OH nämlich nicht.
|
Re: brauche dringend hilfe... pfad usw
Die Zahl in Klammern ist der Index des Parameters.
0 deshalb, weil der Anwendungsname der erste "Aufrufparameter" ist, um das Programm zu starten. Das was danach kommt, z.B. wenn ein Dateiname ans Programm übergeben wird oder Schalter benutzt werden, folgen dann mit Index 1 bis n. Öhm :gruebel: genauer kann ich nich erklären :stupid: Gruß und schönes WE zusammen :mrgreen: Stephan :dance: |
Re: brauche dringend hilfe... pfad usw
der parameter von ParamStr() gibt an welcher teil des kompletten pfades zurückgegeben werden soll
der pfad besteht aus "programmname.exe param1 param2 param3" der ERSTE teil (index 0) ist der programmname deshalb bekommst bei ParamStr(0) den program namen zurück falls dich das verwirrt ParamStr(0) zu verwenden, kannst auch uses Forms; Application.ExeName verwenden |
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:43 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz