AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Programmpfad ermitteln

Ein Thema von robinWie · begonnen am 13. Nov 2005 · letzter Beitrag vom 13. Nov 2005
Antwort Antwort
Seite 1 von 2  1 2      
Benutzerbild von robinWie
robinWie

Registriert seit: 26. Okt 2005
Ort: Lippcity
404 Beiträge
 
Delphi 2005 Personal
 
#1

Programmpfad ermitteln

  Alt 13. Nov 2005, 14:48
Hallo,

wenn ich in einer Anwendung ein Shelltreeview, FileListbox usw. habe und ich eine Datei aus dem Ordner laden will in der sich das Programm befindet, erscheint immer die Meldung "Datei nicht gefunden". Also wird der Pfad vom z.B. Shelltreeview verwendet.

Meine Frage: Gibt es eine Funktion oder eine Procedure die den Pfad ausgibt wo sich das Programm befindet?

Danke im Voraus
Robin
Robin W.
Ein Computer kann (fast) alles.... Man muss es ihm nur beibringen
  Mit Zitat antworten Zitat
ichbins

Registriert seit: 9. Jul 2005
Ort: Hohenaltheim
1.001 Beiträge
 
Delphi 2005 Personal
 
#2

Re: Programmpfad ermitteln

  Alt 13. Nov 2005, 14:49
extractfilepath(paramstr(0)); oder

extractfilepath(application.exename);
Michael Enßlin
Ich, der ich weiß, mir einzubilden, dass ich weiß, nichts zu wissen, weiß, dass ich nichts weiß.
Sokrates
  Mit Zitat antworten Zitat
Benutzerbild von Dj_Base
Dj_Base

Registriert seit: 10. Aug 2004
Ort: Aachen
231 Beiträge
 
Delphi 2007 Professional
 
#3

Re: Programmpfad ermitteln

  Alt 13. Nov 2005, 15:53
Hi!

Oder du rufst im OnCreate deiner MainForm einfach:
Delphi-Quellcode:
var Dir: string;
begin
  Dir := GetCurrentDir;
end;
auf.

Das funktioniert auch!

Also dann, Gruß & Tschüss...
Dj_Base

EDIT: von Dj_Base: "immer" entfernt
  Mit Zitat antworten Zitat
Benutzerbild von Flocke
Flocke

Registriert seit: 9. Jun 2005
Ort: Unna
1.172 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#4

Re: Programmpfad ermitteln

  Alt 13. Nov 2005, 16:02
Zitat von Dj_Base:
Das funktioniert auch immer!
Diese Aussage ist falsch!

Wenn ich eine Startmenü-Verknüpfung auf dein Programm anlege und dort ein anderes Arbeitsverzeichnis eintrage, dann bekommst du das (und nicht das Programmverzeichnis).
Volker
Besucht meine Garage
Aktuell: RtfLabel 1.3d, PrintToFile 1.4
  Mit Zitat antworten Zitat
Benutzerbild von Helmi
Helmi

Registriert seit: 29. Dez 2003
Ort: Erding, Republik Bayern
3.323 Beiträge
 
Delphi XE2 Professional
 
#5

Re: Programmpfad ermitteln

  Alt 13. Nov 2005, 16:31
Hallo,

wenn ich den Pfad meiner Anwendung brauche mach ich das im OnCreate so:

Delphi-Quellcode:
  //Ordner auslesen
  drive := IncludeTrailingPathDelimiter(ExtractFilePath(Application.ExeName));

  //Variablen beschreiben
  drive_FileUpdateIni := drive + 'FileUpdate.ini';
  drive_FileListXML := drive + 'FileList.xml';
die Variable "drive" beinhaltet also den Pfad der Anwendung mit einem Backslash am Ende.
mfg
Helmi

>> Theorie ist Wissen, dass nicht funktioniert - Praxis ist, wenn alles funktioniert und keiner weiss warum! <<
  Mit Zitat antworten Zitat
Benutzerbild von Neutral General
Neutral General

Registriert seit: 16. Jan 2004
Ort: Bendorf
5.219 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#6

Re: Programmpfad ermitteln

  Alt 13. Nov 2005, 16:37
Ich glaube die Methode ist ehh etwas übertrieben -.-
Michael
  Mit Zitat antworten Zitat
Benutzerbild von Helmi
Helmi

Registriert seit: 29. Dez 2003
Ort: Erding, Republik Bayern
3.323 Beiträge
 
Delphi XE2 Professional
 
#7

Re: Programmpfad ermitteln

  Alt 13. Nov 2005, 16:41
inwiefern übertrieben?
mfg
Helmi

>> Theorie ist Wissen, dass nicht funktioniert - Praxis ist, wenn alles funktioniert und keiner weiss warum! <<
  Mit Zitat antworten Zitat
Benutzerbild von Neutral General
Neutral General

Registriert seit: 16. Jan 2004
Ort: Bendorf
5.219 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#8

Re: Programmpfad ermitteln

  Alt 13. Nov 2005, 16:47
Warum nicht einfach nur

ExtractFilePath(Application.ExeName); Ich weiß nicht wofür der andere Kram da noch hinsollte.. Vielleicht auch weil ich keine Ahnung hab was der Rest bewirkt aber mit dem Code oben hat man den Pfad doch...
Michael
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu
Online

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.063 Beiträge
 
Delphi 12 Athens
 
#9

Re: Programmpfad ermitteln

  Alt 13. Nov 2005, 16:50
Zitat von Helmi:
Delphi-Quellcode:
  //Ordner auslesen
  drive := IncludeTrailingPathDelimiter(ExtractFilePath(Application.ExeName));

  //Variablen beschreiben
  drive_FileUpdateIni := drive + 'FileUpdate.ini';
  drive_FileListXML := drive + 'FileList.xml';

IncludeTrailingPathDelimiter ist unnötig, da ExtractFilePath direkt auf einen Pfad angewendet wird, der auf jeden Fall alle nötigen Backslashs enthält

Und das mit dem drive, welches gleich beim Programmstart überall mit ingebaut wird ... wozu willst du denn unbendingt Arbeitsspeicher verschwenden? (OK, wann man das für nur eine einzige Variable/Datei macht ist es besser so, aber sonst ...)

[add]
Ja ExtractFilePath(ParamStr(0)) ist ausreichend ^^
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat
Benutzerbild von Dj_Base
Dj_Base

Registriert seit: 10. Aug 2004
Ort: Aachen
231 Beiträge
 
Delphi 2007 Professional
 
#10

Re: Programmpfad ermitteln

  Alt 13. Nov 2005, 16:52
Zitat von Flocke:
Diese Aussage ist falsch!

Wenn ich eine Startmenü-Verknüpfung auf dein Programm anlege und dort ein anderes Arbeitsverzeichnis eintrage, dann bekommst du das (und nicht das Programmverzeichnis).
Jawohl!

Da hast du Recht!
Deswegen, ist das "immer" jetzt auch weg...


mfg,
Dj_Base
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:27 Uhr.
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