Entwickler-Ecke
Sonstiges (Delphi) - ExtractFilePath(ParamStr(0)); vs getdir(0,x);
catweasel - Do 23.12.04 17:50
Titel: ExtractFilePath(ParamStr(0)); vs getdir(0,x);
Hi,
mal ne allgemeine Frage....
Immer wenn hier im Forum, oder in online tuts, den aktuellen Anwendungspfad herausbekommen moechte, verwendet er/sie die
ExtractFilePath(ParamStr(0)) Methoden.
Ich persoenlich verwende lieber:
Delphi-Quelltext
1: 2: 3: 4:
| var pfad : string;
getdir(0,pfad); |
Ist ja nur ein Methodenaufruf. (Bei dem anderen Weg werden ja zwei Methoden
ParamStr und
Extractfilepath aufgerufen...
Ist da Geschmack das einzige Kriterium, oder gibt es gute Argumente fuer die erste Variante......
(Ich frag mich warum die getdir(); Funktion soooo unpopulaer zu sein scheint... :nixweiss: )
Danke fuer ein paar Kommentare.. :-)
Catweasel
Christian S. - Do 23.12.04 17:53
Hallo!
Delphi-Hilfe: |
GetDir
Returns the current directory for a specified drive. |
Und das aktuelle Verzeichnis muss nicht immer das Verzeichnis sein, in dem die Anwendung liegt!
MfG
Christian
Stefan S. - Do 23.12.04 17:53
Ähm... Ist doch eigentlich egal, solange es funktioniert, oder? Als ich gefragt hab, wie man den Anwendungspfad herausbekommt, wurde mir "ExtractFilePath(ParamStr(0))" empfohlen. Funktioniert. Wenn deine Methode auch funktioniert, dann is ja gut! ^^ Aber ich versteh nicht, worüber hier jetzt diskutiert werden soll...
EDIT:
Zitat: |
Und das aktuelle Verzeichnis muss nicht immer das Verzeichnis sein, in dem die Anwendung liegt! |
Da hast du's! ^^
AXMD - Do 23.12.04 17:53
Vielleicht weil GetDir schon eine sehr veraltete Funktion ist. Meines Wissens stammt sie noch aus DOS-Zeiten und funktionierte auch schon unter Turbo Pascal (bin mir aber nicht sicher...)
AXMD
Delete - Do 23.12.04 18:04
DaSteve hat folgendes geschrieben: |
Ähm... Ist doch eigentlich egal, solange es funktioniert, oder? |
Eine tickende Zeitbombe geht auch irgendwann mal hoch, ist nur eine Frage der Zeit.
Der Benutzer braucht nur ein anderes Arbeitsverzeichnis in der Verknüpfung angeben und das war es dann gewesen. Genauso verhält es sich, wenn er mit dem OpenDialog oder SaveDialog eine Datei öffnet und dabei das Verzeichnis wechselt, dann isat das aktuelle Verzeichnis nämlich nicht mehr das Anwendungsverzeichnis.
Christian S. - Do 23.12.04 18:09
Als DaSteve das schrieb, hatte er mein Posting wohl noch nicht gelesen. Hier sind drei Postings in der gleichen Minute reingeschneit ;-)
retnyg - Do 23.12.04 19:00
extractfilepath(application.exename) is auch möglich... (mein favorit)
StefanH - Do 23.12.04 20:29
retnyg hat folgendes geschrieben: |
extractfilepath(application.exename) is auch möglich... (mein favorit) |
IMHO ruft "Application.ExeName" "ParamStr(0)" auf...
.Chef - Do 23.12.04 20:36
retnyg hat folgendes geschrieben: |
extractfilepath(application.exename) is auch möglich... (mein favorit) |
Ich nehme eigentlich auch immer das, ohne jemals so tiefsinnig darüber philosophiert zu haben. ParamStr(0) ist historisch zwar tiefer verwurzelt, aber im Zuge der Objektisierung hab ich mir das wohl abgewöhnt. :nixweiss:
Delete - Do 23.12.04 21:37
Bei einem Konsolenprogramm ohne die Klasse TApplication geht es aber nur mit ParamStr(0);
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2024 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!