[BCB 6P]scena po pierwszym uruchomieniu

Odpowiedz Nowy wątek
2004-02-15 21:17

Rejestracja: 16 lat temu

Ostatnio: 15 lat temu

0

No właśnie jak zrobić aby po pierwszym uruchomieniu programu wychodziło okienko z zapytaniem jakie pliki ma otwierać i następnie wysyłało by do rejestru odpowiednie dane z związku z otwarciem pliku??

Np.


Wybierz pliki które ma uruchamiać program ****:

-".txt" //tu pole znacznika wyboru (albbo przed textem)
-"
.html"
itp.


rozumiecie??

Pozostało 580 znaków

2004-02-15 21:39

Rejestracja: 16 lat temu

Ostatnio: 14 lat temu

0

Chodzi ci o powiązania plików z twoim programem? Tzn. klikasz go, a on ci się otwiera w twoim progsie?

pisałem o tym w C++ -> Porady na http://std.iglu.cz


Pozostało 580 znaków

2004-02-21 16:53

Rejestracja: 16 lat temu

Ostatnio: 15 lat temu

0

ta strona którą podał Krecik nie działa. Pomoże ktoś??


mail: [email protected]
gg: 3153667

Pozostało 580 znaków

2004-02-21 18:09

Rejestracja: 16 lat temu

Ostatnio: 14 lat temu

0

Nie działa strona, czy sposób na niej podany? Jeżeli strona, to sprawdź ponownie, mi działa...
konkretnie:
http://std.iglu.cz/cpp/porady/view_faq.php?id=16
i
http://std.iglu.cz/cpp/porady/view_faq.php?id=17


Pozostało 580 znaków

2004-02-21 21:12

Rejestracja: 16 lat temu

Ostatnio: 15 lat temu

0

te linki co podłeś są dobre ale jak ja klikam na nie od strony głównej (C++, Porady) to wyświetla mi się błąd. Napraw to.

Pozostało 580 znaków

2004-03-04 19:45

Rejestracja: 16 lat temu

Ostatnio: 15 lat temu

0

mam jeszcze jedno pytanie pisze tam tak:

//Aby ustawic inną ikonę niż programu,
//zamiast ParamStr(0), wpisz scieżkę dostępu do ikony.

mam tam wpisać np. C:\Program Files\ikona.bmp
czy jakoś inaczej??

Pozostało 580 znaków

2004-03-04 21:55

Rejestracja: 16 lat temu

Ostatnio: 14 lat temu

0

Tak robię i działa:

Reg->WriteString("", "E:\\Soundman.ico,0");

Tam w jednej z linii coś jest nie tak (PHP mi w kodzie namotało:p)
jest:

Reg->WriteString("", ParamStr(0) + " "%1""); 

powino być:

Reg->WriteString("", ParamStr(0) + " "\%1"");

I jeszcze rozszerzenie najlepiej zmienić na coś w stylu ".pik" [bez gwiazdki]


Pozostało 580 znaków

2004-03-04 22:50

Rejestracja: 16 lat temu

Ostatnio: 15 lat temu

0

oki ale jak zrobić aby za jednym kliknięciem zarejestrować kilka rozszerzeń??
zrobiłem zaznaczanie i osoba może sobie w CheckBox'ie zaznaczyć które pliki ma otwierać program
jeżeli robie to tak:

{
ble ble
}
{
ble ble
}

itd. to wychodzą mi błędy
a jak robię wszystko w {ble ble, ble ble} to wychodzi mi, że "nazwa" i "opis" itd. już istnieją i nie pomaga nawet zrobienie "nazwa2" itd.

Pozostało 580 znaków

2004-03-04 23:01

Rejestracja: 16 lat temu

Ostatnio: 14 lat temu

0

Masz cały kod (działa):

TStringList *ListExt = new TStringList;
ListExt->Add(".ext1");
ListExt->Add(".ext2");//tu sobie dodajesz rozszerzenia, jakie ci się podobają...
ListExt->Add(".ext3");
TRegistry* Reg = new TRegistry();
for(int i=0; i<ListExt->Count; i++)
{
String ext = ListExt->Strings[i]; //rozszerzenie
String nazwa = "Moje";//jego nazwa
String opis = "Opis mojego rozszerzenia";//jego opis
//rejestracja rozszerzenia
Reg->RootKey = HKEY_CLASSES_ROOT;
Reg->OpenKey(ext, true);
Reg->WriteString("", nazwa);
Reg->CloseKey();

//otwarcie pliku po jego dwukrotnym kliknięciu w Eksploratorze
Reg->OpenKey(nazwa, true);
Reg->WriteString("", opis);
Reg->OpenKey("shell", true);
Reg->WriteString("", "open");
Reg->OpenKey("open", true);
Reg->WriteString("", "&Open");
Reg->OpenKey("command", true);
Reg->WriteString("", ParamStr(0) + " "\%1"");
Reg->CloseKey();

//wymyślona przez nas dodatkowa akcja jaką można wykonać na pliku
//czyli to co jest dostępne pod prawym przyciskiem myszy
Reg->OpenKey(nazwa, true);
Reg->OpenKey("shell", true);
Reg->OpenKey("info", true);
//Nazwa opcji:
Reg->WriteString("", "&Informacje");
//Wykonywana kacja, tu: uruchomienie jakiegos pliku (nie musi byc *.exe)
Reg->OpenKey("command", true);
Reg->WriteString("", "c:program.exe");
Reg->CloseKey();

//kojarzenie ikony z rozszerzeniem (taka sama jak ikona programu)
Reg->OpenKey(nazwa, true);
Reg->OpenKey("DefaultIcon", true);
//Aby ustawic inną ikonę niż programu,
//zamiast ParamStr(0), wpisz scieżkę dostępu do ikony.
Reg->WriteString("", "E:\\Soundman.ico,0");
}
delete Reg;
delete ListExt;

Pozostało 580 znaków

2004-03-07 21:08

Rejestracja: 16 lat temu

Ostatnio: 15 lat temu

0

jeszcze jeden problem :)
otóż zrobiłem takie coś aby na rozpoczęciu programu pokazywało się okno

void __fastcall T*****::FormShow(TObject *Sender)
{
RejestBox->ShowModal();
}

a teraz nie mogę sobie poradzić ze deaktywowaniem tego okna (nie wiem czy to słowo pasuje tutaj). Chodzi oto aby po kliknięciu na przycisk (tego wyświetlonego okna) nie pokazywało się one (to okno) nigdy więcej.
Próbowałem już różnie i nic.

P.S trochę namotałem alechyba rozumiecie :)

Pozostało 580 znaków

2004-03-07 21:13

Rejestracja: 16 lat temu

Ostatnio: 14 lat temu

0

Zapisz se jakąś wartość w rejestrze(lub plik, np. INI), a potem ją odczytuj...


Pozostało 580 znaków

Odpowiedz

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