Documente Academic
Documente Profesional
Documente Cultură
Deseori cand vrem ca valoarea unei variabile sa fie intr-un anumit interval, scriem ceva de genul:
template<class T> inline T constrange(const &T valoare,const &T inferior, const &T superior)
{
return (superior<valoare) ? superior : (valoare<inferior) ? inferior : valoare;
}
In general, schimband prioritatea de procesare a unui program "nu este" lucru indicat. Dar dacă
trebuie neapărat necesat să faceţi lucrul acesta Serge Kreutzmann a oferit următoarea rezolvare:
if(!::SetPriorityClass(GetCurrentProcess(),dwPiority))
ShowMessage("Nu pot schimbat prioritatea procesului!");
}
Bineînţeles, folosiţi numai când este neapărată nevoie.
Un post de pe un grup de discuţii: "Cum fac ca aplicaţia mea să înregistreze un anumit tip de fişier
sub Windows? Aş dori ca aplicaţia mea să se deschidă atunci când se dă dublu-clic pe unul din
fişierele înregistrate cu ea.". Iată răspunsul:
Trebuie să creaţi nişte chei în regiştrii, sub: HKEY_CLASSES_ROOT
key: <nume>
default value: <nume afisat> (afisat in Explorer pentru acel tip de fisier)
key: <nume>\shell\open\command
default value: <calea completa a executabilului> "%1"
Utilizati RegEdit ca să vedeţi nişte exemple, cum ar fi pentru fişierele cu extensia *.txt.
Un alt răspuns:
Presupunând că puteţi scrie în Regiştrii (adică nu rulaţi WinNT cu problemele sale specifice de
securitate), atunci puteţi crea o structură de chei similară cu cea prezentată în cele ce urmează:
HKEY_CLASSES_ROOT\.ext
(Default) "MyProg.File"
Aceasta setează asocierea intre extensia de fişier ".ext" cu tipul "MyProg.File".
HKEY_CLASSES_ROOT\MyProg.File
(Default) "Type Description"
HKEY_CLASSES_ROOT\MyProg.File\Shell\Open\Command
(Default) "c:\path\myprog.exe "%1""
Aceste trei valori vor lansa programul "c:\path\myprog.exe" ca raspuns la un dublu clic in Explorer
(sau clic-dreapta si Open), trecand numele fisierului pe care l-ati indicat.
Probabil veţi vrea să setaţi o nou icon pentru acel tip de fişier:
HKEY_CLASSES_ROOT\MyProg.File\DefaultIcon
(Default) "F:\WIN95\SYSTEM\shell32.dll,-154"
Canvas->Brush->Style = bsClear;
Canvas->TextOut( 0, 0, "Text Transparent" );
Pe Windows 95 si NT, Builder va salva in directorul de unde a fost lansat. Deci daca se lanseaza din
c:\dir\curent atunci el va salva in acest director. Scurtatura folosita pentru a lansa Builderul contine
un parametru care indica Windowsului de unde sa lanseze Builderul. Pentru a schimba acest
parametru, clic dreapta pe scurtatura, propietati, si clic pe tabul "Shortcut" din partea superioara a
ferestrei care apare. Schimbati "Start in: " cu ce director doriti si apoi salvati pentru a reflecta in
practica schimbarile.
Pe Windows 98 si 2000, sistemul de operare tine o evidenta despre ultimul director vizitat al
fiecarei aplicatii cu ajutorul registrilor.
Cum putem crea o aplicatie gen CD Player in Builder c++?
Un asemenea tip de aplicatie se poate crea foarte simplu astfel (este vb de o "foarte simpla"
aplicatie):
File|New Application
Puneti o componenta MediaPlayer pe Form. In propietatile Object Inspector, modificati dupa cum
urmeaza:
Device Type=tAutoSelect
AutoEnable = true
FileName = Clic pe ... navigati pe CDROM si selectati o piesa
Cum obtin acces la datele membre a unei clase private/protejate fara sa schimb
sursa?