1 00:00:00,000 --> 00:00:00,490 2 00:00:00,490 --> 00:00:03,350 Sprecher 1: Lassen Sie uns ein Programm schreiben, mit eine grafische Benutzeroberfläche, die auch 3 00:00:03,350 --> 00:00:04,580 umfasst Label. 4 00:00:04,580 --> 00:00:07,940 Und in diesem Label, wir gehen zu speichern Anzahl, wenn auch als String. 5 00:00:07,940 --> 00:00:10,880 Und wir werden dieses Label aktualisieren wieder und wieder und wieder. 6 00:00:10,880 --> 00:00:15,040 So, dass wir letztlich zählen unten von 50 bis Null. 7 00:00:15,040 --> 00:00:20,910 Glabel, nannte es Label, erhält der Rückgabewert der neuen glabel. 8 00:00:20,910 --> 00:00:22,900 Nun, ich bin nicht dabei, diese geben Labelwert noch, so werde ich 9 00:00:22,900 --> 00:00:25,040 legte im Zitat, Zitat Ende. 10 00:00:25,040 --> 00:00:29,080 >> Weiter nennen setFont, vorbei lassen auf dem Etikett, und lassen Sie uns geben 11 00:00:29,080 --> 00:00:32,910 insbesondere eine Schriftart namens SansSerif 36 Punkt. 12 00:00:32,910 --> 00:00:36,370 Eine Schrift, die zu existieren passiert innerhalb des CS50-Appliance. 13 00:00:36,370 --> 00:00:41,940 Dann endlich, fügen wir das Label zum Fenster wie folgt. 14 00:00:41,940 --> 00:00:44,580 Nun lassen Sie uns gehen Sie zu induzieren ein Schleife, die gehen zu zählen 15 00:00:44,580 --> 00:00:46,400 von 50 bis auf Null. 16 00:00:46,400 --> 00:00:49,520 Und innerhalb dieser Schleife, mal iterativ aktualisieren Sie das Etikett und 17 00:00:49,520 --> 00:00:55,800 zeigt sie auf dem Bildschirm, Für, int i 50 erhält, die größer oder gleich i 18 00:00:55,800 --> 00:00:59,750 Null, i minus, minus. 19 00:00:59,750 --> 00:01:02,090 >> Jetzt Etiketten, es stellt sich heraus, müssen Strings sein. 20 00:01:02,090 --> 00:01:04,110 Aber ich bin eigentlich zu zählen, mit Zahlen. 21 00:01:04,110 --> 00:01:07,750 Also irgendwie werde ich konvertieren zu müssen die ganze Zahl i, um eine Zeichenfolge 22 00:01:07,750 --> 00:01:09,010 Darstellung Pfeil. 23 00:01:09,010 --> 00:01:12,480 Dazu lassen Sie uns erklären, char s Halterung drei. 24 00:01:12,480 --> 00:01:15,500 Damit haben wir genug Stauraum für zweistellige Zahl, gefolgt von einem 25 00:01:15,500 --> 00:01:16,910 Nullabschluss. 26 00:01:16,910 --> 00:01:22,480 Anruf s Dann lassen Sie uns Druck f Gang in s, vorbei an Zitat, 27 00:01:22,480 --> 00:01:24,220 unquote i Prozent. 28 00:01:24,220 --> 00:01:26,960 Zeigt an, dass wir in der Tat wollen um eine ganze Zahl zu formatieren. 29 00:01:26,960 --> 00:01:29,420 Schließlich vorbei in i selber. 30 00:01:29,420 --> 00:01:34,100 Mit anderen Worten, f s Druck oder Zeichenfolge Druck f, genau wie Druck f, erwartet eine 31 00:01:34,100 --> 00:01:37,450 Format-String gefolgt von einigen Variablen in, dass ersetzen 32 00:01:37,450 --> 00:01:38,430 Format-String. 33 00:01:38,430 --> 00:01:41,910 Aber es nimmt auch seine erste Argument, die Lage, in der Sie 34 00:01:41,910 --> 00:01:44,400 möchte die Zeichenfolge zu speichern Sie vertreten haben 35 00:01:44,400 --> 00:01:45,830 mit diesem Format-String. 36 00:01:45,830 --> 00:01:52,540 >> Also das nächste, gehen Sie vor und rufen gesetzt, Label, vorbei an Label, vorbei in s. 37 00:01:52,540 --> 00:01:56,430 Jetzt, endlich, nur weil diese Etiketten Breite wird sich im Laufe der Zeit ändern 38 00:01:56,430 --> 00:02:00,640 wir Countdown ab 50, bis 49, zu Punkt, Punkt, Punkt, um neun auf acht. 39 00:02:00,640 --> 00:02:03,170 Die nicht so breit wie eine zweistellige Zahl ist. 40 00:02:03,170 --> 00:02:05,570 Lassen Sie uns gehen, um herauszufinden, dynamisch Was die Breite dieser 41 00:02:05,570 --> 00:02:08,930 Label sein sollte und dann dafür sorgen, dass es ist immer auf dem Bildschirm zentriert. 42 00:02:08,930 --> 00:02:12,390 Ich bin zuerst zu einem Doppel erklären, nannte sie X, und ich bin dann werde 43 00:02:12,390 --> 00:02:16,880 Speichern innerhalb von x, das Ergebnis der get Breite, vorbei in die Breite der 44 00:02:16,880 --> 00:02:22,120 ganze Fenster, minus Breite erhalten, vorbei an dem Etikett. 45 00:02:22,120 --> 00:02:24,880 Dann Division der ganzen Sache durch zwei. 46 00:02:24,880 --> 00:02:29,660 Ebenso werde ich erklären, y zu sein gleich der Höhe des gesamten erhalten 47 00:02:29,660 --> 00:02:37,280 Fenster, minus get Höhe von nur der Etikett und dividieren, dass durch zwei als gut. 48 00:02:37,280 --> 00:02:40,680 Schließlich werde ich setLocation nennen, vorbei an dem Etikett, 49 00:02:40,680 --> 00:02:43,180 vorbei in x, y vorbei an. 50 00:02:43,180 --> 00:02:45,970 Es durch die Positionierung der beschriften bei x Komma y. 51 00:02:45,970 --> 00:02:49,290 >> Schließlich, so dass diese nicht Countdown zu schnell passieren lassen 52 00:02:49,290 --> 00:02:53,350 Pause, für beispielsweise 100 Millisekunden zwischen jede Aktualisierung des Labels. 53 00:02:53,350 --> 00:02:56,320 Um dies zu tun, können wir die Pause nennen Funktion, das ist in der definierte 54 00:02:56,320 --> 00:03:00,390 Stanford tragbare Bibliothek, ganz einfach wie folgt. 55 00:03:00,390 --> 00:03:04,230 >> Nun wollen wir speichern, übersetzen, und führen Sie dieses Programm. 56 00:03:04,230 --> 00:03:08,320 Machen Etikett, Punkt Schrägstrich-Label. 57 00:03:08,320 --> 00:03:11,000 Es ist meine Benutzeroberfläche zählt von 50 auf. 58 00:03:11,000 --> 00:03:14,570 Zählen Sie, und unten, und ab, und fertig. 59 00:03:14,570 --> 00:03:16,992