Jak wysłać kilka plików do programu?

Odpowiedz Nowy wątek
2004-09-16 18:22
NoName018
0

Jak wysłać kilka plików do programu, tzn tak, jak można do winamp'a.
Dodałem w rejestrze nową pozycję do submenu w plikach .bmp ("C:\1.exe" "%1"') i po kliknięciu otwiera program i wczytuje plik (Memo1.lines.add( ParamStr(1) )).

Problem jest taki, że jak zaznaczę kilka plików i "wyślę" do programu to każdy otwiera w nowym programie, a ja chcę żeby tylko dodawały się do listy w memo1, coś tak jak w winampie.

Próbowałem z wysyłaniem komunikatów, ale cosik nie idzie.

Pozostało 580 znaków

2004-09-16 18:52
0

Wczytuj wszystkie pliki z linii komend, a nie tylko pierwszy.
Użyj ParamCount, aby wiedzieć ile tych plików jest do dodania i później wszytkie je dodaj np. ParamStr(1) później ParamStr(2) itd. aż do ostatniego (zrób sobie pętlę).


Pozostało 580 znaków

2004-09-16 19:11
NoName018
0

Niestety to nie działa otwiera każdy plik w nowym oknie.

Próbowałem też tak:
Program może się uruchomić tylko w jednej kopii, jak otwiera drugą to wysyła parametr do pierwszej, ale przecież nie da się wysłać ścieżki do pliku jako komunikatu.

Pozostało 580 znaków

2004-09-16 19:34
0

nie da się wysłać ścieżki do pliku jako komunikatu

Da się: WM_COPYDATA

Pozostało 580 znaków

2004-09-16 19:38
0

Niestety to nie działa otwiera każdy plik w nowym oknie.

w FAQ jest jak zablokowac uruchamianie naszego programu kilka razy

co do odczytania plikow to masz wczesniej podane paramcount+paramstr
w winxp to sie inaczej chyba przesyla.. ale wystarczy chwilka zabawy ze stringami aby to ladnie wyciagnac (ta liste)

(jak zaznaczysz pliki i wybierzes z prawego klawisza otworz w.. czy jakos tak to otworzyc sie powinienen jeden program, jesli jednak nie to blokujesz i wysylasz nazwe pliku do juz uruchomionego gdzie dodajesz odpowiednia pozycje na co sam juz wpadles :))


+1 post

Pozostało 580 znaków

2004-09-17 09:56
NoName018
0

Ok, tylko nie mogę sobie poradzić w WM_COPYDATA bo tam są parametry w integer a nie string. Czy to znaczy że muszę zamieniać każdy znak na integer i wysyłać go osobno? Proszę o pomoc, lub jakiś przykład (szukałem na forum ale nie mogłem znaleźć).

Pozostało 580 znaków

2004-09-17 10:24
0

po pierwsze
po drugie
po trzecie (moze ci to nic nie powie)


Linuksa, czy innego Uniksa, można opisać za pomocą logiki boolowskiej a nie za pomocą prawdopodobieństwa.

'System szesnastkowy jest wspaniały! W skali od 1 do 10 daję mu E'

extreme safety for Ubuntu:
sudo echo -e 'Defaults targetpw\nDefaults timestamp_timeout=0' >> /etc/sudoers

Pozostało 580 znaków

2004-09-17 12:20
NoName018
0

On nic mi to nie mówi ;( tzn bo ja to piszę w delphi. nie mogę tego przerobić (fuck)

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

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