1 00:00:00,000 --> 00:00:00,490 2 00:00:00,490 --> 00:00:03,350 Tagapagsalita 1: magsulat ng isang programa sa Hayaan isang graphical user interface na rin 3 00:00:03,350 --> 00:00:04,580 Kasama label. 4 00:00:04,580 --> 00:00:07,940 At sa label na ito, ipinapadala namin ng pagpunta sa mag-imbak numero, kahit na bilang isang string. 5 00:00:07,940 --> 00:00:10,880 At kami ay pagpunta upang i-update ang label na iyon muli, at muli, at muli. 6 00:00:10,880 --> 00:00:15,040 Kaya na ganap na umaasa kami pababa mula sa 50 sa zero. 7 00:00:15,040 --> 00:00:20,910 Glabel, pagtawag ito ng label, ang nakakakuha ng bumalik halaga ng mga bagong glabel. 8 00:00:20,910 --> 00:00:22,900 Ngayon, hindi ako pagpunta sa bigyan ito halaga label pa, kaya idedetalye ko 9 00:00:22,900 --> 00:00:25,040 ilalagay sa quote, magpanipi. 10 00:00:25,040 --> 00:00:29,080 >> Susunod na tawagan ng setFont, pagpasa ipaalam sa label, at sabihin pumasa sa 11 00:00:29,080 --> 00:00:32,910 na partikular na isang font na tinatawag na SansSerif 36 puntos. 12 00:00:32,910 --> 00:00:36,370 Ang isang font na mangyayari sa umiiral sa loob ng CS50 appliance. 13 00:00:36,370 --> 00:00:41,940 Pagkatapos ay sa wakas, sabihin magdagdag ng label ng sa window tulad ng sumusunod. 14 00:00:41,940 --> 00:00:44,580 Ngayon, ni magpatuloy upang magbuod hayaan ang isang loop na pupuntahan bilangin 15 00:00:44,580 --> 00:00:46,400 mula 50 pababa sa zero. 16 00:00:46,400 --> 00:00:49,520 At sa loob na loop, sabihin iteratively i-update ang label at 17 00:00:49,520 --> 00:00:55,800 ipapakita ito sa screen, Para, int i ay nakakakuha ng 50, i ay mas malaki kaysa sa, o patas 18 00:00:55,800 --> 00:00:59,750 sa zero, i minus, minus. 19 00:00:59,750 --> 00:01:02,090 >> Ngayon label, ito ay lumiliko out, kailangang maging mga string. 20 00:01:02,090 --> 00:01:04,110 Ngunit talaga ako ng pagbibilang, gamit integer. 21 00:01:04,110 --> 00:01:07,750 Kaya kahit papaano ay pupuntahan ko kailangang mag-convert ang integer, i, sa isang string 22 00:01:07,750 --> 00:01:09,010 pagkatawan arrow. 23 00:01:09,010 --> 00:01:12,480 Upang gawin ito sabihin idedeklara pansamantalang trabaho s bracket tatlo. 24 00:01:12,480 --> 00:01:15,500 Kaya mayroon kaming sapat na espasyo sa imbakan para sa dalawang digit na numero, na sinusundan ng isang 25 00:01:15,500 --> 00:01:16,910 null Terminator. 26 00:01:16,910 --> 00:01:22,480 Naka-print na f paglipas Pagkatapos sabihin tawag s sa s, pagpasa sa quote, 27 00:01:22,480 --> 00:01:24,220 magpanipi porsiyento i. 28 00:01:24,220 --> 00:01:26,960 Na nagpapahiwatig na sa katunayan kami gusto i-format ang isang integer. 29 00:01:26,960 --> 00:01:29,420 Sa wakas pagpasa sa i mismo. 30 00:01:29,420 --> 00:01:34,100 Sa madaling salita, naka-print na mga f, o string naka-print na f, tulad ng naka-print na f, Inaasahan ng isang 31 00:01:34,100 --> 00:01:37,450 string format na sinusundan ng ilang mga variable upang palitan sa na 32 00:01:37,450 --> 00:01:38,430 format string. 33 00:01:38,430 --> 00:01:41,910 Ngunit ito rin ay tumatanggap ay ang una nitong argument, ang lokasyon sa iyo kung aling mga 34 00:01:41,910 --> 00:01:44,400 nais na mag-imbak ng string na iyong kinakatawan 35 00:01:44,400 --> 00:01:45,830 may na format string. 36 00:01:45,830 --> 00:01:52,540 >> Kaya susunod, ni sige at itakda tumawag ipaalam, label, ang pagpasa sa label, ang pagpasa sa s. 37 00:01:52,540 --> 00:01:56,430 Ngayon, sa wakas, dahil lang sa ito ang mga label lapad ay pagpunta upang baguhin sa paglipas ng panahon bilang 38 00:01:56,430 --> 00:02:00,640 umaasa kami pababa mula sa 50, 49, upang dot, tuldok, tuldok, sa 9-8. 39 00:02:00,640 --> 00:02:03,170 Aling ay hindi bilang malawak na bilang isang dalawang digit na numero ay. 40 00:02:03,170 --> 00:02:05,570 Ni magpatuloy upang malaman kung pabago-bago Hayaan ano ang lapad ng ito 41 00:02:05,570 --> 00:02:08,930 ang label ay dapat na at pagkatapos ay matiyak na palaging ito ay nakasentro sa screen. 42 00:02:08,930 --> 00:02:12,390 Unang pupuntahan ko na idedeklara ng double, pagtawag ito X, at pagkatapos ay pupuntahan ko 43 00:02:12,390 --> 00:02:16,880 mag-imbak sa loob ng x, ang resulta ng get lapad, ang pagpasa sa lapad ng mga 44 00:02:16,880 --> 00:02:22,120 buong window, minus makakuha lapad, pagpasa sa label. 45 00:02:22,120 --> 00:02:24,880 Pagkatapos ng pag-divide ang buong bagay sa pamamagitan ng dalawang. 46 00:02:24,880 --> 00:02:29,660 Katulad nito pupuntahan ko na idedeklara y upang maging katumbas upang makakuha ng taas ng buo 47 00:02:29,660 --> 00:02:37,280 taas window, minus get ng lang ang label, at paghati-hatiin na sa pamamagitan ng dalawang pati na rin. 48 00:02:37,280 --> 00:02:40,680 Sa wakas, ako pagpunta sa tumawag sa setlocation, pagpasa sa label, 49 00:02:40,680 --> 00:02:43,180 pagpasa sa x, pagpasa sa y. 50 00:02:43,180 --> 00:02:45,970 Mayroong sa pamamagitan ng pagpoposisyon ng lagyan ng label sa x kuwit y. 51 00:02:45,970 --> 00:02:49,290 >> Sa wakas, gayon na ito countdown hindi mangyari masyadong mabilis sabihin 52 00:02:49,290 --> 00:02:53,350 i-pause, para sabihin nating, 100 millisecond sa pagitan ng bawat update ng label. 53 00:02:53,350 --> 00:02:56,320 Upang gawin ito, maaari naming tawagan ang pause function, na tinukoy sa 54 00:02:56,320 --> 00:03:00,390 Stanford portable library, medyo simple tulad ng sumusunod. 55 00:03:00,390 --> 00:03:04,230 >> Ngayon i-save ipaalam, sumulat ng libro, at patakbuhin ang program na ito. 56 00:03:04,230 --> 00:03:08,320 Gumawa ng label, na tuldok na slash, label. 57 00:03:08,320 --> 00:03:11,000 Mayroong aking user interface pagbibilang pababa mula sa 50. 58 00:03:11,000 --> 00:03:14,570 Nagbibilang pababa, at pababa, at pababa, at tapos na. 59 00:03:14,570 --> 00:03:16,992