[glowa] Poszukuje odpowiedzi na temat z którym nie mogę sobie poradzić.
"Otwieranie pliku *.txt za pomocą skojarzenia z moim Edytorem tekstu.
Skojarzenie działa, ale w komponencie np. Memo NIE MA zawartości danego pliku.
Doczytałem, iż odpowiada za to funkcja ParamCount i ParamStr, ale coś mi tu nigra. Funkcja ParamCount zwraca liczbę stringów oddzielonych od siebie spacjami, a funkcja ParamStr odczytuje ścieżkę i nazwę uruchamianego pliku.
Problem polega na tym, iż nie mogę uruchomić pliku z nazwą posiadającą spację między textem(lub kilka spacji).
Pytanie. Co muszę zrobić, aby uruchomić plik z np.taką nazwą?
"Mój plik tekstowy kilka spacji .txt".
ryhopyho@poczta.onet.pl
Zrób pętle
For I:=1 To ParamCount Do NazwaPliku:=NazwaPliku+' '+ParamStr(I);
a Potem Delete(NazwaPliku,1,1);
Nie pamiętam czy przy ParamCount powinno być -1
to jest przyklad uzycia funkcji ParamStr:
(z tego co pamietam to dla ParamStr(0) zwraca sciezke uruchomienia programu
for i := 1 to ParamCount do
begin
if LowerCase(ParamStr(i)) = 'cos' then
Cos; // cos wykonuje
elseif LowerCase(ParamStr(i)) = 'exit' then
Application.Terminate;
end;
ParamStr(i) - i okresla numer parametru wywolania programu
troche sie spoznilem.....
Cudzysłowy. Na przykład:
plik.exe "C:\Program files\K a t a l o g\plik .txt"
ParamCount = 1
ParamStr(1) = 'C:\Program files\K a t a l o g\plik .txt'
Zamiast plik.exe %1 daj plik.exe "%1".
Ok. Już mi działa.
Użyłem cudzysłowu w rejestrze i poszło jak po maśle.
ParamStr(1) przypisał sobie cały ciąg textu łącznie ze wszystkimi spacjami, ParmCount zawsze jest 1.
Dzięki wielkie wszystkim za pomoc. [browar]