Problem ze ścieżką względną

0

Witam.
Mam taki problem,
piszę aplikacje i używam ścieżek względnych do folderów znajdujących się w tym samym katalogu co aplikacja, np:

'\biblioteka\maszyny.ini'

Wszystko jest świetne, jednak, postanowiłem, aby mój program był tworzony przy starcie systemu.
W dalszym ciągu wszystko działa ok, jednakże nie wczytuje mi żadnego pliku, ponadto wyrzuca mi błąd:

"Nie znaleziono pliku w określonej ścieżce C:\Windows\system32\biblioteka\maszyny.ini"

I nie wiem jak sobie z tym poradzić, może macie jakiś pomysł ?

Da się może przy starcie programu sprawdzić ścieżkę do aplikacji ?
Bo pomyślałem, że wtedy mógł bym ją zapisać do stringa i wczytywać ścieżkę w ten sposób:

string+ '\biblioteka\maszyny.ini'

A może jest jakieś inne rozwiązanie tego problemu ?
Proszę o pomoc i pozdrawiam.

0

FilePath:=ExtractFilePath(ParamStr(0))+'\biblioteka\maszyny.ini';

0

Aha, dzięki o to mi chodziło, może zadam teraz dość banalne pytanie, ale nie programuje za długo w delphi :)
jak zdeklarować FilePath ? ( w sensie jako co )

0

Path i patch to dwie różne rzeczy. Zobacz, jakiego typu zmienną zwraca ExtractFilePath i takąż zmienną zadeklaruj.

0

Ok, wielkie dzięki za pomoc :) działa, czasem w ogóle nie myślę, jeszcze raz dzięki

0
listbox1.Items.LoadFromFile(ExtractFilePath(ParamStr(0))+'\biblioteka\maszyny.ini');

Radzę zacząć od przynajmniej powierzchownego przeczytania byle jakiego kursu pascala/delphi bo inaczej nie jesteś w stanie nawet zrozumieć odpowiedzi na twoje pytania.

0

Dzięki :D
dzięki twoim wskazówkom w końcu włączyłem myślenie :)
wgapiałem się z 5 minut w ten kod aż go ogarnąłem, po czym zobaczyłem, że ty odpowiedziałeś mi to samo :)

w rezultacie końcowym użyłem:
ExtractFilePath(Application.ExeName)
Co daje identyczny efekt jak twój i tak samo dobrze działa

Teraz musze zmienić tylko około 100 ścieżek i gotowe.
Pozdrawiam.

1 użytkowników online, w tym zalogowanych: 0, gości: 1