Powiazanie rozszerzenia z programem, uzycie paramstr()

0

Temat: Powiazanie rozszerzenia z programem, uzycie paramstr()
Autor: Redoutable

Mam pewien problem dotyczacy delphi, a scislej mowiac - skojarzenia mojego programu z danym rozszerzeniem. Wymyslilem sobie rozszerzenie *.PS3. Ustawilem w rejestrze jaka ma miec ikone taki plik oraz czym go otwierac. I tu pojawia sie problem - program uruchamia sie i owszem, ale uruchamia sie tak, jakbym uruchomil execa, czyli zamiast otworzyc plik i go edytowac, otworzylem program. Moje pytanie brzmi: jak otwierac programem plik po wybraniu pliku, a nie program?

Mam teraz propozycje z innej beczki. Moze juz tak ktos kombinowal, ale ja o tym nie wiem :)
Chodzi mianowicie o podzielenie forum na tylko dwa dzialy: Programowanie i nieProgramowanie.
To wedlug mnie chyba najlepsze rozwiazanie.

PS.
Kiedys zauwazylem (nie wiem jak jest teraz), ze jak sie odpowiada na post, to nigdzie nie ma tematu, np. jest glowny topic "Moj system sie wiesza", odpowiadam na niego, w temacie postu wpisuje "Zamien Windows na QNX-a", a tego tematu pozniej nie widac. Czy widac? :) Nie wiem, moze za malo spostrzegawczy jestem, ale mi sie wydaje, ze jest tak, jak pisze...

PSS.
Wierzcie mi, to jest akt mojej desperacji :). Gdybym nie grzebal w helpach, modulach, przykladach z tego serwisu, to bym sie nikogo nie pytal teraz, tylko zabral wlasnie do takiej roboty. Ale ja tak juz szukam prawie caly tydzien, i serdecznie mam dosc. Niech teraz ktos lepszy sie tym zajmie :). A przy okazji nauczylem sie wykorzystywac ParamCount. Naprawde super. A tak poza tym polecam wszystkim obowiazkowa lekture programisty - help :) Jakos mnie tak nastroj wzial, bo szczerze i malo skromnie jestem dumny z siebie :).

Z gory dziekuje za ewentualne odpowiedzi (szczegolnie mile widziane na pierwszy problem :))

Redoutable.

0

ja zrobilem tak:
w OnCreate formy glownej:

if ParamCount > 0 then
begin
//tutaj to co ma sie dziac z plikiem np.:
Memo1.Lines.LoadFromFile(ParamStr(1));
end;

ParamStr(1) oznacza parametr z jakim zostal uruchomiony program---=-=[ Delphi 3, 6 ]=-=-
-=-=-==[ LKS ]==-=-=-
-=[ [email protected] ]=-

0

if (ParamCount &gt 0) and FileExists(ParamStr(1)) then
PerformFileOpen(ParamStr(1));

No tak tak :)

Jeżeli ten sam kod co wyżej to sorry ale zwalilem go z richedit ;)

0

Wszystko spox. Nie dzialalo, bo jakis chochlik wpisal mi do run/parameters jakis napis :). Znalazlem go, usunalem i dziala. za help jeszcze raz thx.

Ale teraz jest drugi problem. Otwieram plik.sp3. fajnie, otworzylo sie. niezamykajac programu klikam na plik2.sp3. otwiera sie nowe okno programu, ktory napisalem i skojarzylem z tym rozszerzeniem. teraz problem: jak w takiej sytuacji (gdy program juz jest uruchomiony) zaladowac drugi plik do juz uruchomionego programu? Jka dla mnie, moze byc przyklad na plikach .txt oraz otwieraniu tego w TMemo.

z gory thx.

Redoubtable.

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