ďťż

Ładny brzuch

Do wyznaczania ścieżki położenia programu używam procedury GetDir i nigdy z tym nie miałem problemów, aż do momentu kiedy zachciało mi się odpalić program z parametrem.
Uruchamiając program z parametrem (niezależnie od tego czy go program obsługuje) zmienia mi się ścieżka 'generowana' przez procedurę GetDir na folder użytkownika (C:\Documents and Settings\użytkownik\).
Nie mogę w żaden sposób tego obejść. Zmiana procedury GetDir na funkcję GetCurrentDir nie przynosi jakichkolwiek zmian. Niezależnie od tego z jakim parametrem odpalę program, ścieżkę zawsze wskazuje mi na katalog użytkownika.
Ktoś się orientuje w sytuacji i ma wiedzę jak to obejść?

Używam Delphi 2005 Personal, ale to nie powinno mieć znaczenia.



Do wyznaczenia ścieżki położenia programu użyj.

sciezka := ExtractFilePath(ParamStr(0));

To może ci się przydać: :D
Application.ExeName - Ścieżka, z której został uruchomiony program (wraz z nazwą pliku) ParamCount - ilość parametrów ParamStr(Index) - zwraca parametr o podanym indeksie

"Application.ExeName" odpada, bo bym musiał usuwać nazwę pliku, za dużo zbędnego pisania.
Na początku trochę przekonstruowałem "ExtractFilePath()", aby pozbyć się "\" z końca. I tu mnie olśniło. Nie dałoby oczywiście rady, bez porady :)
"ExtractFileDir()" - tego szukałem. Podaje idealnie ścieżkę, w formie jakiej potrzebuję i nie ma takich cyrków jakie opisywałem na początku. Aż mi głupio, że tego nie zauważyłem wcześniej, przed napisaniem tematu.

Serdecznie dziękuję za pomoc w odnalezieniu rozwiązania.

  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • zsf.htw.pl
  •