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

Despre Delegates ca parametru al unei metode

Putini sunt programatorii de .Net care folosesc (sau mai bine spus au nevoie) sa transmita unei functii ca parametru o alta functie. Pana astazi nici eu nu am avut nevoie, si, probabil, nici de aici inainte nu voi mai avea nevoie (cred). Unde avem nevoie de astfel de lucruri? Hmmm… de exemplu la un interviu pentru un job, unde cei care scriu intrebarile vor sa te puna in dificultate.
Hai sa vedem cum se face asta. Nu poti scrie asa:

public void A() {}

public void B(*A) {}

sau alte bazaconii de genul asta.
Pentru a transmite o metoda ca parametru unei alte functii ai nevoie de un delegate, care in c# este un asemanator cu un pointer spre o metoda (in c++).
Continue reading

S-a dat drumul la domenii

Nu stiu daca ar trebui sa ne bucuram sau sa ne intristam, insa am citit astazi (adica in urma cu 3 minute) ca s-a dat drumul la nume de domenii in araba! Nu stiu unde e araba in numele de domeniu urmator: http://xn--4gbrim.xn—-rmckbbajlc6dj7bxne2c.xn--wgbh1c/ar/default.aspx insa numele de domeniu e cel putin ciudat: xn--wgbh1c.
In scurt timp toata lumea nelatina o sa isi traduca numele de domeniu in limba proprie, folosind alfabetul propriu, si o sa avem o brambureala faina pe tot netul. Pana acum am mai citit ca se discuta introducerea acestei facilitati;parerile sunt impartite, pro si contra. Azi am vazut (in screenshot-ul prezentat in siteul de unde am luat stirea url-ul este scris in araba) araba in address bar-ul browserului si in minte imi vine un singur gand: nu imi place!

Finalize si Dispose

Din ciclul “chestiunea zilei”, Finalize si Dispose, in c#.
Ambele metode sunt executate cand un obiect este distrus. In mod normal Garbage Collector (zis in continuare GC) elibereaza memoria curatand obiectele aflate acolo sprea care nu exista nici o referinta. Cu alte cuvinte, daca avem asa:

Person p = new Person("gigel");
p = null;

vine GC si curata ceea ce am instantiat in p, fara a necesita ca eu, programator, sa ma preocup de curatenie. Frumos, nu? As vrea si in bucatarie sa existe un GC care sa faca curatenie dupa ce eu gatesc. Asa as gati mai des si mai cu chef! Oricum, pana ce o sa am versiunea aia de bucatarie echipata cu GC sa ma inteorc la .Net.
Continue reading

Cautare job

De cateva zile am inceput sa imi caut de munca. Nu pentru ca nu as avea job, ci pentru ca periodic e bine sa mai mergi la cateva interviuri, sa mai verifici piata, sa vezi ce se mai intreaba la interviuri, ce se mai cere etc. Deasemeni, nu se stie de unde sare iepurele: poate imi ofera cineva 30-40% mai mult decat am salariu acum, sau poate gasesc un proiect superinteresant.
Pe scurt, eu cred ca e bine, pentru a ramane in top si in forma, pentru a mai iesi din ritualul zilnic (cafea, email, visual studio, masa, cafea, visual studio, casa), ca oricine sa isi caute, nu musai sa si accepte, job nou periodic. Eu sunt, in momentul asta, in cautare de job. Am fost la un interviu si am avut surprize – neplacute, dar si placute. O sa continui sa merg la interviuri, eventual o sa postez diverse probleme de la interviuri pe aici.
Continue reading

Controale in .Net CE – Partea 3-a

     Am observat in articolele precedente ca Visual Studio permite proiectarea interfetei utilizatorului nu doar programatic, ci si vizual, prin “drag and drop” la “design time”. Asezate pe forma, controalelor le pot fi modificate pozitia, proprietatile si putem crea metode care sa fie apelate la evenimentele care indica interactiunea cu utilizatorul.

     In acest articol, vom incheia seria articolelor dedicate controalelor in .Net Compact Framework.

Panel

PanelControl

     Acest control este folosit ca un container (recipient) pentru alte controale. Este foarte util atunci cand vrem sa generam controale programatic, sa ascunderea/afisarea unui grup de controale, sau pentru gruparea/localizarea acestora.

     Controlul Panel are niste proprietati care permit particularizarea modului in care sunt afisate controalele continute si a comportamentului acestora.

     Facem drag and drop unui control de tip Panel din Toolbox.

Continue reading

Mici scapari…

Desi programez de ceva ani, sunt diverse probleme simple la care gresesc. Uite o mica problema pe care am intampinat-o azi:
Care dintre urmatoarele linii genereaza erroare la compilare:

        int i = new int();
        int j = new Int16();
        int k = new Int32();
        int l = new Int64();
        int m = null;

Stiam ca

        int m = null;

e eroare, deoarece int nu e Nullable Type, insa nu stiam ca Int64 este de fapt… long! Insa omul cat traieste invata!

Ce mai cumpara google

Citesc azi pe net ca google a cumparat o noua jucarie: BumpTop, companie care construieste desktop-uri 3D pentru windows si mac. Pretul achizitiei nu este publicat.

Informatie preluata de pe http://news.cnet.com/8301-1023_3-20003950-93.html

Cum arata un desktop 3d:

Parerea mea despre Apple/IPhone/IWhatever

Ma dispera ca peste tot pe internet de 2-3 zile incoace se vorbeste numai depre produsele Apple. Nu stiu de ce e asa de important ca primele 5 articole de pe fiecare site de stiri au in titlu o referire la… Apple.
Iphone-ul nu e mare lucru: pana la urma e un smart phone de fitze. IPad e un accesoriu inutil Eu nu as umbla cu asa ceva dupa mine. Sunt produse mai interesante pe piata, de exemplu smartphone-urile cu Android, telefoanele HTC, laptop-urile de la Toshiba (si nu numai), Visual Studio 2010, Adobe CS5 etc. M-am saturat sa aud tot timpul despre Apple, Jobs, contre intre oricine si Apple, figuri etc.
Apple are cele mai inchise sisteme, insa toata lumea critica Microsoft ca sunt “inchisi”. Pai, pe platforme Microsoft nu ai nevoi de aprobarea nimanui ca scrii un program, nu ai nici mcar nevoie de compiler microsoft. Poti scrie folosind un editor de text care ruleaza pe linux, compila cu mono, si rula pe windows.