11.07.2015 Views

Ùı Ô ÙÏ ÙÔÛÁ - Xakep Online

Ùı Ô ÙÏ ÙÔÛÁ - Xakep Online

Ùı Ô ÙÏ ÙÔÛÁ - Xakep Online

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

ÊÎÄÈÍÃPHPÕÀÊÅÐ/¹07(67)/2004Invalidate();}// Îáðàáîò÷èê, îòâå÷àþùèé çà ïåðåðèñîâêó ôîðìûprivate void Form1_Paint(object sender,System.Windows.Forms.PaintEventArgs e){// Ïåðåðèñóåì ôèãóðûfor (int i = 0; i < 4; i++)figures[i].Draw(e.Graphics);}Ñêðèíñåéâåð íà PocketPCÍà êîìïàêò-äèñêåòû íàéäåøü ïîëíûåèñõîäíûå êîäûìîáèëüíîãî ïðèëîæåíèÿ,à òàê æå åãîðàáî÷óþ âåðñèþ.Äëÿ êîìïèëÿöèèèñõîäíèêîâ ïîíàäîáèòñÿMicrosoftVisual Studio.Åñëè òåáÿ çàèíòåðåñîâàëàýòà òåìà,òî òåáå ïðÿìàÿäîðîãà íà www.gotdotnet.ru.Òåñòèì ñêðèíñåéâåð ïîä Windows92îáðàáîò÷èê Tick äëÿ îáúåêòà òàéìåðà. Îáðàòèâíèìàíèå, ÷òî ñðàçó ïîñëå äîáàâëåíèÿñîáûòèÿ ñòóäèÿ ïåðåêèäûâàåò òåáÿ â ôàéë ñêîäîì. Ýòî îñíîâíîé ôàéë, ãäå õðàíèòñÿâåñü êîä, îòâå÷àþùèé çà ðàáîòó ïðèëîæåíèÿ.Îñîáåííîñòü ïðèëîæåíèé .NET çàêëþ÷àåòñÿâ òîì, ÷òî áîëüøèíñòâî íàñòðîåê, çàèñêëþ÷åíèåì êàðòèíîê è ïðî÷èõ åìêèõ ðåñóðñîâ,õðàíèòñÿ èìåííî â òàêîì ôàéëå.Âíèìàòåëüíî ïîêîïàâøèñü â íåì, òû íàéäåøüìàëåíüêóþ ñåðåíüêóþ ñòðîêó WindowsForm Designer generated code. Ðÿäîì ñ íåéñëåâà òû îáíàðóæèøü çíàê ïëþñ, íàæèìàéíà íåãî è íå ïóãàéñÿ. Ïðÿìî â êîä âûïàäåòçäîðîâåííûé ëèñòèíã, åãî ñãåíåðèë äèçàéíåðñòóäèè, ïîêà òû ñàìîçàáâåííî ðàññòàâëÿëêíîïî÷êè ïî ôîðìå. Âïðî÷åì, ýòîò êîäèíòåðåñîâàòü íàñ îñîáî íå áóäåò, åãî ñòîèòòðîãàòü òîëüêî â öåëÿõ ñàìîîáðàçîâàíèÿ.Ñîçäàíèå ïðèëîæåíèé â îñíîâíîì ïðîèñõîäèòâèçóàëüíî, çà êîä áóäåò îòâå÷àòü ñàìàñòóäèÿ, ãåíåðèðóÿ åãî íà ëåòó.ÏÐÈÑÒÓÏÈÌ Ê ÒÅËÓÏî ïðîñüáå ìîåãî ãîðÿ÷î ëþáèìîãî ðåäàêòîðà,ñåé÷àñ ìû ñ òîáîé íåìíîæêî îêóíåìñÿâ ìèð ãðàôèêè, åñëè êîíå÷íî, òî, ÷òî ìûáóäåì äåëàòü, ìîæíî òàê íàçâàòü. Òîëüêî íèâ êîåì ñëó÷àå íå ãîâîðè åìó :) (ñëàâà áîãó,÷òî íèêòî íå âèäåë ïåðâîé âåðñèè ýòîéñòàòüè - ïðèì. Dr. :)). Äëÿ íà÷àëà íàì ïðèäåòñÿðàçðàáîòàòü êëàññ, êîòîðûé áóäåò îòâå÷àòüçà îòðèñîâêó ïðîèçâîëüíûõ ìíîãîóãîëüíèêîâ.Êàæäûé ýêçåìïëÿð ýòîãî êëàññàáóäåò ðèñîâàòü ñîáñòâåííûé ïðîèçâîëüíûéìíîãîóãîëüíèê.Òåïåðü, êîãäà ó íàñ åñòü ýòîò êëàññ,íàïèñàòü ñàì ñêðèíñåéâåð íå ñîñòàâèòîñîáîãî òðóäà. Ïðåäñòîèò ñäåëàòü ëèøüíåñêîëüêî ôèíòîâ óøàìè. Ïåðâûì äåëîìíàäî äîáàâèòü íåñêîëüêî îáúåêòîâ Figureâ ãëàâíóþ ôîðìó ïðèëîæåíèÿ, äëÿ ýòîãîìû îáúÿâèì ñëåäóþùèì ìàññèâ÷èê "privateFigure[] figures = new Figure[4];"ïðÿìî â êëàññå ôîðìû. Ïîñëå ÷åãî íàìíåîáõîäèìî áóäåò äîáàâèòü òîëüêî êîäèç ýòîé ïëàøêè:Êîä ãëàâíîé ôîðìû, îòâå÷àþùèé çà îáúåêòû// Êîíñòðóêòîð ôîðìûpublic Form1(){// Èíèöèàëèçèðóåì ôîðìóInitializeComponent();Random rnd = new Random();// Ñîçäàäèì íà ôîðìå ÷åòûðå ôèãóðûColor[] clrs = new Color[] {Color.Blue, Color.Red, Color.Yellow,Color.White};for (int i = 0; i < 4; i++){figures[i] = new Figure();figures[i].Init(rnd.Next(3,8),this.Width, this.Height, clrs[i]);}// Âêëþ÷èì òàéìåðtimer1.Enabled = true;}// Îáðàáîò÷èê òàéìåðàprivate void timer1_Tick(object sender, System.EventArgs e){// Ïåðåñ÷èòàåì ôèãóðûfor (int i = 0; i < 4; i++)figures[i].Calculate();// Ïåðåðèñóåì ôîðìóÂñå, ïðèëîæåíèå ãîòîâî. Òåïåðü íàñòàëìîìåíò èñòèíû - êîìïèëÿöèÿ è çàïóñê ïðèëîæåíèÿ.Äëÿ ýòîãî íàæìè íà êíîïêó Start(òðåóãîëüíè÷åê) íà ïàíåëè èíñòðóìåíòîâ. Òåáåïðåäëîæàò âûáðàòü ïëàòôîðìó, íà êîòîðîéáóäåò çàïóùåíî íàøå ïðèëîæåíèå: ëèáîðåàëüíóþ, ëèáî âèðòóàëüíóþ (Emulator). Âûáèðàéýìóëÿòîð è æìè íà êíîïêó Deploy. Íàýêðàíå ïîÿâèòñÿ ñòèëèçîâàííîå èçîáðàæåíèåPocket PC, â êîòîðîì íà÷íåò çàãðóæàòüñÿ ñîîòâåòñòâóþùàÿîïåðàöèîíêà. Áîëüøèíñòâîíîâè÷êîâ ñèëüíî ïóãàþòñÿ, êîãäà ïîñëå çàãðóçêèíå îáíàðóæèâàþò ñâîåãî ïðèëîæåíèÿíà ýêðàíå âèðòóàëüíîãî íàëàäîííèêà, è òóòæå çàêðûâàþò ýìóëÿòîð. Òàê äåëàòü íè â êîåìñëó÷àå íåëüçÿ - êàê ðàç â ýòè ñåêóíäûñòóäèÿ ïåðåêà÷èâàåò íà ýìóëÿòîð òâîå ïðèëîæåíèå,÷òî ïîäòâåðæäàåò ïîëîñêà ïðîãðåññà,áåãóùàÿ â ñòðîêå ñîñòîÿíèÿ ñòóäèè.Ïîäîæäàâ íåìíîãî, òû óâèäèøü ñâîå ïðèëîæåíèåâî âñåé êðàñå, íå îòõîäÿ îò êàññû.ÐÀÇÄÀ×À ÑËÎÍÎÂÑàìîå èíòåðåñíîå, íàøå ïðèëîæåíèå ïîëíîñòüþíåçàâèñèìî îò îïåðàöèîííîé ñèñòåìûè àïïàðàòíîé êîíôèãóðàöèè, îíî çàâèñèòòîëüêî îò ñðåäû èñïîëíåíèÿ .NET, êîòîðàÿîáÿçàòåëüíî äîëæíà áûòü óñòàíîâëåíà íàòâîåì êîìïüþòåðå.  äèñòðèáóòèâå îíà çàíèìàåò20 Mb è ïîñòàâëÿåòñÿ ñî ìíîãèìèñîâðåìåííûìè ïðèëîæåíèÿìè. Âî âñåõ íîâåéøèõîïåðàöèîííûõ ñèñòåìàõ, íà÷èíàÿ ñWindows 2003 Server, îíà ÿâëÿåòñÿ âñòðîåííûìêîìïîíåíòîì. Íå çà ãîðàìè òî âðåìÿ,êîãäà ñðåäó èñïîëíåíèÿ .NET ìîæíî áóäåòíàéòè íà ëþáîì óñòðîéñòâå, êîòîðîå õîòüìàëî-ìàëüñêè òÿíåò íà ðîëü êîìïüþòåðà, íà-÷èíàÿ îò íàëàäîííèêîâ è êîí÷àÿ íàñòîëüíûìèëàìïàìè. Íà äàííûé ìîìåíò âèðòóàëüíûåìàøèíû .NET ðåàëèçîâàíû èëè íàõîäÿòñÿâ ñòàäèè ðàçðàáîòêè äëÿ ñëåäóþùèõ ïëàòôîðì:Windows 9x, Windows NT, Windows2000, Windows XP, Windows 2003, WindowsCE, Pocket PC, Free BSD, Linux, Mac OS. Òàêèìîáðàçîì, òî ñàìîå íåçàìûñëîâàòîå ïðèëîæåíèå,êîòîðîå ìû ñ òîáîé ñîçäàëè, áóäåòçàïóñêàòüñÿ íà âñåõ ýòèõ ïëàòôîðìàõ. z

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!