1 00:00:00,000 --> 00:00:00,490 2 00:00:00,490 --> 00:00:03,350 Spreker 1: Kom ons skryf 'n program met 'n grafiese gebruikerskoppelvlak wat ook 3 00:00:03,350 --> 00:00:04,580 sluit etiket. 4 00:00:04,580 --> 00:00:07,940 En in hierdie etiket, ons gaan te stoor nommer, al is dit as 'n string. 5 00:00:07,940 --> 00:00:10,880 En ons gaan daardie etiket te werk weer en weer en weer. 6 00:00:10,880 --> 00:00:15,040 Sodat ons uiteindelik tel af van 50 tot nul. 7 00:00:15,040 --> 00:00:20,910 Glabel, noem dit etiket, kry die terugkeer waarde van nuwe glabel. 8 00:00:20,910 --> 00:00:22,900 Nou, ek is nie van plan om dit te gee etiket waarde nie, so ek sal 9 00:00:22,900 --> 00:00:25,040 sit in quote, unquote. 10 00:00:25,040 --> 00:00:29,080 >> Volgende kom ons noem setFont, verby op die etiket, en laat ons slaag in 11 00:00:29,080 --> 00:00:32,910 spesifiek 'n font genoem SansSerif 36 punt. 12 00:00:32,910 --> 00:00:36,370 'N lettertipe wat gebeur het om te bestaan binne-in die CS50 toestel. 13 00:00:36,370 --> 00:00:41,940 Dan uiteindelik, laat ons voeg die etiket na die venster as volg. 14 00:00:41,940 --> 00:00:44,580 Nou, laat ons voortgaan om te veroorsaak 'n lus wat gaan om te tel 15 00:00:44,580 --> 00:00:46,400 vanaf 50 tot nul. 16 00:00:46,400 --> 00:00:49,520 En binne daardie lus, laat ons iteratief werk die etiket en 17 00:00:49,520 --> 00:00:55,800 vertoon dit op die skerm, Vir, int i kry 50, ek is groter as of gelyk 18 00:00:55,800 --> 00:00:59,750 nul, i minus, minus. 19 00:00:59,750 --> 00:01:02,090 >> Nou etikette, dit blyk, het snare te wees. 20 00:01:02,090 --> 00:01:04,110 Maar ek is eintlik tel, gebruik heelgetalle. 21 00:01:04,110 --> 00:01:07,750 So een of ander manier wat ek gaan hê om te skakel die getal, i, na 'n string 22 00:01:07,750 --> 00:01:09,010 verteenwoordiging pyl. 23 00:01:09,010 --> 00:01:12,480 Om dit te doen laat verklaar kar se bracket drie. 24 00:01:12,480 --> 00:01:15,500 Sodat ons genoeg stoorplek twee-syfer-nommer, gevolg deur 'n 25 00:01:15,500 --> 00:01:16,910 null Terminator. 26 00:01:16,910 --> 00:01:22,480 Dan kom ons noem s Druk f verby in s, verby in quote, 27 00:01:22,480 --> 00:01:24,220 unquote persent i. 28 00:01:24,220 --> 00:01:26,960 Wat daarop dui dat ons inderdaad wil 'n heelgetal te formateer. 29 00:01:26,960 --> 00:01:29,420 Uiteindelik slaag in i self. 30 00:01:29,420 --> 00:01:34,100 Met ander woorde, s Druk f, of string Druk f, net soos druk f, verwag 'n 31 00:01:34,100 --> 00:01:37,450 formaat string gevolg deur 'n paar veranderlikes te vervang in daardie 32 00:01:37,450 --> 00:01:38,430 formaat string. 33 00:01:38,430 --> 00:01:41,910 Maar dit het ook aanvaar is vir die eerste keer argument, die plek waar jy 34 00:01:41,910 --> 00:01:44,400 wil graag die string te stoor dat jy verteenwoordig het 35 00:01:44,400 --> 00:01:45,830 met die formaat string. 36 00:01:45,830 --> 00:01:52,540 >> So volgende, laat ons gaan voort en noem stel, etiket, verby in etiket, verby in s. 37 00:01:52,540 --> 00:01:56,430 Nou, uiteindelik, net omdat hierdie etikette wydte gaan verander met verloop van tyd as 38 00:01:56,430 --> 00:02:00,640 ons reken af ​​van 50 tot 49, dot, dot, dot, te 9-8. 39 00:02:00,640 --> 00:02:03,170 Wat nie so wyd as 'n twee-syfer-nommer is. 40 00:02:03,170 --> 00:02:05,570 Kom ons voortgaan om uit te vind dinamiese wat die breedte van hierdie 41 00:02:05,570 --> 00:02:08,930 etiket behoort te wees en dan te verseker dat dit is altyd gesentreer op die skerm. 42 00:02:08,930 --> 00:02:12,390 Ek gaan eers 'n dubbel te verklaar, noem dit x, en ek is dan gaan 43 00:02:12,390 --> 00:02:16,880 stoor binnekant van x, is die resultaat van die get breedte, verby in die breedte van die 44 00:02:16,880 --> 00:02:22,120 hele venster, minus kry breedte, verby in die etiket. 45 00:02:22,120 --> 00:02:24,880 Toe die verdeling van die hele ding met twee. 46 00:02:24,880 --> 00:02:29,660 Net so ek gaan om te verklaar y te wees gelyke hoogte van die geheel te kry 47 00:02:29,660 --> 00:02:37,280 venster, minus get hoogte van net die etiket, en die kloof wat deur twee so goed. 48 00:02:37,280 --> 00:02:40,680 Ten slotte, ek gaan setlocation te roep, verby in die etiket, 49 00:02:40,680 --> 00:02:43,180 verby in x, verby in y. 50 00:02:43,180 --> 00:02:45,970 Daar word deur die posisionering van die etiketteer by x komma y. 51 00:02:45,970 --> 00:02:49,290 >> Ten slotte, so dat die aftel nie gebeur te vinnig laat 52 00:02:49,290 --> 00:02:53,350 breek, vir byvoorbeeld, 100 millisekondes tussen elke opdatering van die etiket. 53 00:02:53,350 --> 00:02:56,320 Om dit te doen, kan ons die pouse bel funksie, dit is gedefinieer in die 54 00:02:56,320 --> 00:03:00,390 Stanford draagbare biblioteek, eenvoudig soos volg. 55 00:03:00,390 --> 00:03:04,230 >> Nou laat spaar, saamstel, en die uitvoering van hierdie program. 56 00:03:04,230 --> 00:03:08,320 Maak etiket, dot streep etiket. 57 00:03:08,320 --> 00:03:11,000 Daar is my user aftel van 50. 58 00:03:11,000 --> 00:03:14,570 Aftel, en af, en af, en gedoen het. 59 00:03:14,570 --> 00:03:16,992