funkcja ParamStr

0

[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".
[email protected]

0

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

0

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.....

0

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".

0

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]

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