1 00:00:00,000 --> 00:00:00,490 2 00:00:00,490 --> 00:00:03,350 INTERLOCUTEUR 1: Écrivons un programme avec une interface utilisateur graphique qui sont aussi 3 00:00:03,350 --> 00:00:04,580 comprend étiquette. 4 00:00:04,580 --> 00:00:07,940 Et dans ce label, nous allons stocker nombre, mais en tant que chaîne. 5 00:00:07,940 --> 00:00:10,880 Et nous allons mettre à jour cette étiquette encore, et encore, et encore. 6 00:00:10,880 --> 00:00:15,040 Alors que nous comptons finalement baisse de 50 à zéro. 7 00:00:15,040 --> 00:00:20,910 Glabel, appelant étiquette, obtient la valeur de la nouvelle glabel revenir. 8 00:00:20,910 --> 00:00:22,900 Maintenant, je ne vais pas donner à cette valeur de label, donc je vais 9 00:00:22,900 --> 00:00:25,040 mettre en entre guillemets. 10 00:00:25,040 --> 00:00:29,080 >> Suivant appelons setFont, en passant sur l'étiquette, et nous allons passer en 11 00:00:29,080 --> 00:00:32,910 spécifiquement une police appelée SansSerif 36 points. 12 00:00:32,910 --> 00:00:36,370 Une police qui arrive à exister l'intérieur de l'appareil de CS50. 13 00:00:36,370 --> 00:00:41,940 Puis, finalement, nous allons ajouter l'étiquette à la fenêtre de la façon suivante. 14 00:00:41,940 --> 00:00:44,580 Maintenant, nous allons procéder à induire une boucle qui va compter 15 00:00:44,580 --> 00:00:46,400 de 50 à zéro. 16 00:00:46,400 --> 00:00:49,520 Et dans cette boucle, nous allons de manière itérative mettre à jour l'étiquette et 17 00:00:49,520 --> 00:00:55,800 l'afficher sur l'écran, pour, int i obtient 50, i est supérieur ou égal 18 00:00:55,800 --> 00:00:59,750 à zéro, i moins, moins. 19 00:00:59,750 --> 00:01:02,090 >> Maintenant étiquettes, il s'avère, doivent être des chaînes. 20 00:01:02,090 --> 00:01:04,110 Mais je suis en train de compter, utilisant des entiers. 21 00:01:04,110 --> 00:01:07,750 Donc, de toute façon je vais avoir à convertir l'entier, i, à une chaîne 22 00:01:07,750 --> 00:01:09,010 représentation flèche. 23 00:01:09,010 --> 00:01:12,480 Pour ce faire nous allons déclarer de l'omble de support à trois. 24 00:01:12,480 --> 00:01:15,500 Alors que nous avons assez d'espace de stockage pour un nombre à deux chiffres, suivi d'un 25 00:01:15,500 --> 00:01:16,910 terminateur null. 26 00:01:16,910 --> 00:01:22,480 Impression f décès de l'appel puis laisser en s, en passant citation, 27 00:01:22,480 --> 00:01:24,220 Fin de citation pour cent i. 28 00:01:24,220 --> 00:01:26,960 Indiquant que nous voulons en effet pour formater un nombre entier. 29 00:01:26,960 --> 00:01:29,420 Enfin, en passant i lui-même. 30 00:01:29,420 --> 00:01:34,100 En d'autres termes, l impression f, ou chaîne f impression, tout comme impression f, s'attend à une 31 00:01:34,100 --> 00:01:37,450 chaîne de format suivie par certaines variables à substituer en ce que 32 00:01:37,450 --> 00:01:38,430 chaîne de format. 33 00:01:38,430 --> 00:01:41,910 Mais il accepte aussi est son premier argument, l'emplacement dans lequel vous 34 00:01:41,910 --> 00:01:44,400 aimerait pour stocker la chaîne que vous avez représenté 35 00:01:44,400 --> 00:01:45,830 avec cette chaîne de format. 36 00:01:45,830 --> 00:01:52,540 >> Alors, la prochaine, nous allons aller de l'avant et d'établissement d'appel, étiquette, en passant étiquette, en passant par l'art. 37 00:01:52,540 --> 00:01:56,430 Maintenant, enfin, juste parce que ce étiquettes largeur va changer au fil du temps 38 00:01:56,430 --> 00:02:00,640 le compte à rebours à partir de 50, à 49, à point, point, point, à neuf à huit. 39 00:02:00,640 --> 00:02:03,170 Qui ne sont pas aussi large que un nombre à deux chiffres est. 40 00:02:03,170 --> 00:02:05,570 Passons à comprendre de façon dynamique ce que la largeur de cette 41 00:02:05,570 --> 00:02:08,930 étiquette doit être et faire en sorte que il est toujours centrée sur l'écran. 42 00:02:08,930 --> 00:02:12,390 Je vais d'abord déclarer un double, appeler X, et je puis aller à 43 00:02:12,390 --> 00:02:16,880 stocker à l'intérieur de x, le résultat de get la largeur, en passant dans la largeur de l' 44 00:02:16,880 --> 00:02:22,120 fenêtre ensemble, moins obtenir la largeur, passant dans l'étiquette. 45 00:02:22,120 --> 00:02:24,880 Puis en divisant le tout par deux. 46 00:02:24,880 --> 00:02:29,660 De même, je vais déclarer Y à égale à obtenir la hauteur de l'ensemble 47 00:02:29,660 --> 00:02:37,280 hauteur de la fenêtre, moins get de la juste étiquette, et diviser que par deux ainsi. 48 00:02:37,280 --> 00:02:40,680 Enfin, je vais appeler setLocation, passant dans l'étiquette, 49 00:02:40,680 --> 00:02:43,180 passant en x, y passant. 50 00:02:43,180 --> 00:02:45,970 Il en positionnant l' étiqueter à virgule x y. 51 00:02:45,970 --> 00:02:49,290 >> Enfin, de sorte que ce n'est pas le compte à rebours arriver trop rapidement laissez nous 52 00:02:49,290 --> 00:02:53,350 pause, pour disons, 100 millisecondes entre chaque mise à jour de l'étiquette. 53 00:02:53,350 --> 00:02:56,320 Pour ce faire, nous pouvons appeler la pause fonction, qui est défini dans le 54 00:02:56,320 --> 00:03:00,390 Stanford bibliothèque portable, tout simplement comme suit. 55 00:03:00,390 --> 00:03:04,230 >> Maintenant, nous allons enregistrer, compiler, et exécuter ce programme. 56 00:03:04,230 --> 00:03:08,320 Assurez-étiquette, point barre, étiquette. 57 00:03:08,320 --> 00:03:11,000 Voilà mon interface utilisateur le compte à rebours à partir de 50. 58 00:03:11,000 --> 00:03:14,570 Le compte à rebours, et vers le bas, et en bas, et fait. 59 00:03:14,570 --> 00:03:16,992