Risipa de key_press | Programare

Programare .Net | Tehnici de programare | Tutoriale | Lectii si exemple

Risipa de key_press | Programare - Programare .Net | Tehnici de programare | Tutoriale | Lectii si exemple

Caut colaborare cu un designer

Caut un grafician care sa ma ajute sa prezint cat mai frumos si profesionist anumite aplicatii tutorial sau open source – sunt in lucru – pentru acest site.
Nu e mult de lucru – cateva ore pe luna. Cel putin pana acum. Cu ce ar trebui sa ajute un designer? Sa creeze “user interfaces” cat mai aratoase pentru diverse aplicatii, sa ajute la mici schimbari in grafica acestui site (tema curenta ar avea nevoie de mici ajustari), sa creeze cateva banere/logo-uri, sa contribuie la o prezentare cat mai prietenoasa a continutului unor articole prin imbunatatirea graficii si compozitiei vizuale a paginii etc.

Prefer un artist voluntar, care sa nu ceara bani pentru munca depusa. Acest site nu este o sursa de venituri pentru mine, asa ca nu prea imi pot permite sa platesc. Rasplata ar trebui sa fie… placerea de a contrinui la un proiect destinat celor care vor sa invete. Sunt insa dispus si la variante si propuneri de colaborare, alt ceva in afara de voluntariat.

De ce ar fi cineva interesat de o astfel de colaborare? Palmares, dorinta de a invata – daca cel care va colabora este incepator, dorinta de a face un act de voluntariat etc.
Continue reading

API-ul telefonului: apel

     .Net Compact Framework suporta Platform Invoke (P/Invoke). Acest serviciu permite codului managed sa apeleze functii unmanaged care se afla ind dll-uri. P/Invoke exista si in .Net Framework, bineinteles, cu diferente fata de cel din .Net Compact Framework.

     Subiectul acestui articol nu il reprezinta prezentarea P/Invoke, asa ca voi rezuma modul de folosire.

     In primul rand, la design time, trebuie sa specificam ce functie unmanaged vrem sa apelam. Pentru ca in acest articol, vom crea o aplicatie care sa apeleze un numar de telefon, vom scrie urmatorul cod:

        [DllImport("phone.dll")]
        private static extern IntPtr PhoneMakeCall(ref PhoneMakeCallInfo ppmci);

     Urmeaza mai tarziu, apelul metodei si tratarea eventualelor exceptii.

Continue reading

Tipareste cat mai mult!

De ce nu ma impresioneaza mesajele de tipul: “nu tipari acest email pentru a proteja padurile” pe care le vad scrise pe la sfarsitul fiecarui email? De aia! Pentru ca lemnul pentru hartie nu provine din defrisarea padurilor, ci din “plantatii” speciale a caror scop este cresterea arborilor destinati producerii de hartie. Un fel de ferme…

Hartia nu inseamna co2. Faptul ca un copac este transformat in hartie (si nu in lemne de foc) pentru mine asta inseamna ca fiecare copac pentru hartie, copac ce absoarbe de-a lungul vietii – scurta, ce-i drept – co2, contribuie la reduce din emisiile de co2 . Copacii (padurile) curata aerul nu numai de co2, ci si de alte substante. Asa ca folosind hartie fortam (sau incurajam, ca suna mai bine) producatorii de copaci sa creasca numarul de copaci plantati, ceea ce inseamna un aer mai curat.
Continue reading

Threading in .Net CE

     Sistemele de operare moderne suporta multitasking (capacitatea de a incarca mai multe programe in memorie simultan si sa imparta timpul CPU  intre programe). De exemplu, momentul cand in sistemul de operare Windows am deschis mai multe programe (Winamp, Internet Explorer, Messenger).

     Sistemele de operare moderne suporta multithreading. (capacitatea de a suporta mai multe unitati de executie intr-un singur proces, fiecare thread(fir de executie) avand “bucati” din timpul CPU).

     Am ales sa scriu un articol despre threading pentru ca orice aplicatie, cat de cat serioasa, nu poate rula pe un singur thread (nevoia de a rula alte operatii in acelasi timp in background este mare). Problema intervine atunci cand este nevoie ca ele sa imparta aceleasi resurse.

Continue reading