Pentru a sparge notebook-ul. Sau toate pentru lucrul cu extensii în Windows folosind Delphi
O mică introducere trebuie citită
Cu asocierea unor extensii ca cele sortate - mergem mai departe. Ce înseamnă să înregistrați singur extensiile? Și asta înseamnă că trebuie să-i spui Windows: "Iată o nouă extensie pentru tine, suge, iubită!" și să înregistreze un program care va funcționa cu această extensie - acesta va fi un "prog de implicit". Acesta este: vă înregistrați .maks de extensie, și acum de fiecare dată când deschideți un tip de fișier * .maks, se va deschide programul (care, probabil, ați creat) și să apară pictograma corespunzătoare unei pictograme de program.
Cu toate acestea, totul pare a fi clar. Abonarea elementului în meniul contextual. Ei bine, totul este ușor - în contextul principal al Windows, articolul dvs. este creat atunci când faceți clic pe care deschide aplicația dvs. cu conținutul fișierului în raport cu care a fost localizat meniul. Puteți face orice prog.
Acum, puteți lucra cu ușurință și rapid cu documentele utilizând editorul dvs., fără a trebui să îl instalați în sistem. WINDOWS în sine identifică câmpul pentru editare și va introduce datele după deschidere!
Și amintiți-vă, tot ce vă voi arăta acum necesită cunoștințe de lucru cu registrul - dar acest lucru nu este, în principiu, principalul lucru. Tocmai am făcut totul sub Windows XP, iar registrul XP și registrul Lenollium sunt două lucruri diferite. Prin urmare, nu garantez că totul va fi bine cu tine într-un alt sistem de operare (chiar spun cu certitudine că, în plus față de XP, asocierea dvs. și alte prostii nu vor merge în nici un alt sistem:
- Cum se asocia o extensie standard cu un program
- Înregistrați-vă extensia
- Adăugați un element în context
Și toate acestea se fac programabil cu ajutorul iubitului nostru Delphi.
Voi explica de la dispozitivul Delphi 7, dar în alte medii acest proces nu va fi deloc diferit, deoarece modulul Registry funcționează peste tot.
Începem codarea (sau puțin despre registru)
Ne-am conectat, oricum, formularul 2 nu va fi vizibil nicăieri la lansarea programului. Pentru aceasta, trebuie să fie chemată. Cum o veți numi, veți decide. Puteți crea un meniu principal de sus și de acolo, dar nu voi explica cum să faceți acest lucru. Tocmai am luat și am plasat butonul obișnuit pe RichEdit1 - nu prea bine, dar la vedere. Acum procesăm evenimentul onclick al butonului1 (pentru asta faceți clic de 2 ori).
Totul, acum pe form2 cu mai multe componente: 2 edit'a, 2 checkbox'a, 3 button'a.
Prima editare va servi ca câmp de intrare pentru extensia pe care dorim să o înregistrăm, așa că schimbăm proprietatea nume în extensie. Un prim buton va trebui să se înregistreze această extensie - numesc createext, butonul de-al doilea este o extensie a dizintegrirovat (ce cuvânt am venit cu un inteligent :) - hai să numim deleteext.Pervy CheckBox va servi ca .txt nostru de extensie (vă voi arăta un exemplu de doar unul extensie, deoarece lucrul cu celelalte extensii este identic), adică În cazul în care caseta de selectare este activată - ar trebui să treacă, apoi asociat nostru un program cu extensia * .txt, atunci când oprit - nu cruce, apoi a anula integrarea prin scrierea note „default prog“ (așa cum a fost la început :). Deci, schimba numele său la txt. În al doilea rând CheckBox va lucra cu edit2: în edit2 vom introduce meniul contextual, care trebuie să se înregistreze noi, iar caseta ne va spune, crea sau șterge elementul (inclus - crearea, off - elimina :). Schimbați numele celui de-al doilea steag în context și numele celei de-a doua ediții la contextstr. Am facut schimbari de nume numai pentru comoditate (ca sa nu ma deranjez :). Și în sfârșit ultimul buton sub numele Gues va face. apoi afla ce :)
Deci, să începem codificarea, dar mai întâi vă voi oferi câteva informații despre registru:
Așadar, trebuie să prezentăm și acest parametru - brusc, cineva îl va șterge accidental.
Pasul 1: Asocierea cu extensia .txt
Pe scurt, vom începe să implementăm funcția care asociază programul nostru și pictograma acestuia cu extensia .txt. Pentru a face acest lucru, vom crea o procedură denumită fileass și, de asemenea, vom aduce modulul de registru responsabil pentru lucrul cu registrul.
Pasul 2: Înregistrați extensia
Acum, să facem înregistrarea extensiilor (pentru aceasta, după cum ne amintim, avem extensia componentelor, createext, deleteext). Pentru a face acest lucru, vom crea o nouă procedură. Și pentru dezintegrare vom avea procedeul deletext. Ca întotdeauna, le adăugăm la secțiunea PRIVATE și apoi le descriem.
Această din urmă procedură este pregătită, după cum puteți vedea, se verifică dacă este bifată caseta: dacă este activată, elementul introdus în context, creat atunci când este oprit, elementul care a fost creat anterior - îndepărtat. Dar am uitat încă cel mai important lucru: în definitiv, avem doar proceduri: la urma urmei, ei încă mai trebuie să fie pusi undeva la lucru. Pe scurt, procesul de substitut, care este responsabil pentru crearea unei noi extensii (newext), în funcție de componenta createext (buton) este responsabil pentru îndepărtarea de expansiune (delext) în deleteext componente (buton). O procedură de asociere a prog cu .txt (fileass) și crearea procedurii, îndepărtarea contextul alineatului (checkcontext), în componenta Gues (buton) - astfel încât ea a fost utilă, ea va închide matrița, după efectuarea unor modificări, declarată mai mare! Bineînțeles, toate funcțiile trebuie înregistrate în evenimentul OnClick al butoanelor:
Răspunsul clic-pentru-clic al butonului este o asociere cu extensia .txt și crearea / ștergerea unui element în context
În principiu, asta e tot. Desigur, ați putea scrie pur și simplu codurile celor patru proceduri de mai sus în evenimentul onclick, dar acest lucru nu este cel mai convenabil mod.
Și, în concluzie, voi obține tot codul unui program:
O mică concluzie trebuie citită
Ți-am spus câteva funcții utile, dar nu ia în considerare acele erori pe care le va observa la o dată - de exemplu, nu am înregistra evenimentul și forma onclose onCreate (bine este necesar pentru a salva setările responsabile pentru steaguri de activitate Inifaylah că nu a existat nici o schimbare :). Acesta este tot ce vă las. pentru cină.