1 00:00:00,000 --> 00:00:00,490 2 00:00:00,490 --> 00:00:03,350 ALTAVEU 1: Anem a escriure un programa amb una interfície gràfica d'usuari que també 3 00:00:03,350 --> 00:00:04,580 inclou etiqueta. 4 00:00:04,580 --> 00:00:07,940 I en aquesta etiqueta, que anem a emmagatzemar nombre, encara que sigui com una cadena. 5 00:00:07,940 --> 00:00:10,880 I anem a actualitzar aquesta etiqueta una altra vegada, i una altra, i una altra. 6 00:00:10,880 --> 00:00:15,040 Així que en última instància comptem des de 50 a zero. 7 00:00:15,040 --> 00:00:20,910 Glabel, cridant etiqueta, obté el valor de la nova glabel tornar. 8 00:00:20,910 --> 00:00:22,900 Ara, jo no vaig a donar aquesta valor de l'etiqueta, però, així que vaig a 9 00:00:22,900 --> 00:00:25,040 posat en cometes, tanca. 10 00:00:25,040 --> 00:00:29,080 >> Següent diguem setFont, passant a l'etiqueta, i passarem a 11 00:00:29,080 --> 00:00:32,910 específicament una font anomenada SansSerif 36 punts. 12 00:00:32,910 --> 00:00:36,370 Una font que passa a existir l'interior de l'aparell CS50. 13 00:00:36,370 --> 00:00:41,940 Llavors, finalment, anem a afegir l'etiqueta a la finestra de la següent manera. 14 00:00:41,940 --> 00:00:44,580 Ara, anem a procedir a induir un bucle que comptarà 15 00:00:44,580 --> 00:00:46,400 de 50 a zero. 16 00:00:46,400 --> 00:00:49,520 I dins d'aquest bucle, anem iterativa actualitzar l'etiqueta i 17 00:00:49,520 --> 00:00:55,800 mostrar a la pantalla, per, int i aconsegueix 50, i és més gran que o igual 18 00:00:55,800 --> 00:00:59,750 a zero, i menys, menys. 19 00:00:59,750 --> 00:01:02,090 >> Ara les etiquetes, resulta que, han de ser cadenes. 20 00:01:02,090 --> 00:01:04,110 Però en realitat estic explicant, l'ús de nombres enters. 21 00:01:04,110 --> 00:01:07,750 Així que d'alguna manera em vaig a haver de convertir el nombre sencer, i, a una cadena 22 00:01:07,750 --> 00:01:09,010 representació fletxa. 23 00:01:09,010 --> 00:01:12,480 Per a això anem a declarar Char s abraçadora 3. 24 00:01:12,480 --> 00:01:15,500 Així que tenim prou espai d'emmagatzematge per nombre de dos dígits, seguit per una 25 00:01:15,500 --> 00:01:16,910 terminador nul. 26 00:01:16,910 --> 00:01:22,480 Després de deixar l'anomenada s print f pas en si, passant cita, 27 00:01:22,480 --> 00:01:24,220 cent unquote i. 28 00:01:24,220 --> 00:01:26,960 Indicant que en veritat volem per donar format a un nombre enter. 29 00:01:26,960 --> 00:01:29,420 Passant Finalment en i si mateix. 30 00:01:29,420 --> 00:01:34,100 En altres paraules, s print f, o cadena print f, igual que la impressió f, espera un 31 00:01:34,100 --> 00:01:37,450 cadena de format seguit d'algunes variables a substituir en aquesta 32 00:01:37,450 --> 00:01:38,430 cadena de format. 33 00:01:38,430 --> 00:01:41,910 Però també accepta és la seva primera argument, la ubicació en la qual 34 00:01:41,910 --> 00:01:44,400 li agradaria emmagatzemar la cadena que ha representat 35 00:01:44,400 --> 00:01:45,830 amb la cadena de format. 36 00:01:45,830 --> 00:01:52,540 >> Així que la propera, seguirem endavant i d'establiment de trucada, etiqueta, que passa a l'etiqueta, passant s. 37 00:01:52,540 --> 00:01:56,430 Ara, per fi, només perquè aquest etiquetes amplada canviarà amb el temps com 38 00:01:56,430 --> 00:02:00,640 comptem baix de 50, a 49, posar els punts, punt, punt, a nou a vuit. 39 00:02:00,640 --> 00:02:03,170 Que no són tan àmplies com un nombre de dos dígits és. 40 00:02:03,170 --> 00:02:05,570 Anem a procedir a calcular de forma dinàmica el que l'amplada d'aquesta 41 00:02:05,570 --> 00:02:08,930 etiqueta ha de ser i després assegurar-se que que sempre s'ha centrat en la pantalla. 42 00:02:08,930 --> 00:02:12,390 Estic primer va a declarar un matrimoni, cridant X, i després em vaig a 43 00:02:12,390 --> 00:02:16,880 emmagatzemar a l'interior de x, el resultat de get amplada, que passa a l'amplada de la 44 00:02:16,880 --> 00:02:22,120 tota la finestra, menys aconseguir l'amplada, que passa a l'etiqueta. 45 00:02:22,120 --> 00:02:24,880 Llavors dividint tot per dos. 46 00:02:24,880 --> 00:02:29,660 De la mateixa manera que vaig a declarar i per ser igual per aconseguir l'alçada del conjunt 47 00:02:29,660 --> 00:02:37,280 alçada de la finestra, menys get de només el etiqueta, i dividir que per dos. 48 00:02:37,280 --> 00:02:40,680 Finalment, vaig a trucar a SetLocation, que passa a l'etiqueta, 49 00:02:40,680 --> 00:02:43,180 passant en x, que passa a i. 50 00:02:43,180 --> 00:02:45,970 Hi ha pel posicionament de la etiquetar en x coma i. 51 00:02:45,970 --> 00:02:49,290 >> Finalment, de manera que aquest compte enrere no succeir massa ràpid deixar de 52 00:02:49,290 --> 00:02:53,350 fer una pausa, per dir, 100 mil · lisegons entre cada actualització de l'etiqueta. 53 00:02:53,350 --> 00:02:56,320 Per a això, podem trucar a la pausa funció, que està definit en l' 54 00:02:56,320 --> 00:03:00,390 Stanford biblioteca portàtil, simplement de la següent manera. 55 00:03:00,390 --> 00:03:04,230 >> Ara anem a guardar, compilar, i executar aquest programa. 56 00:03:04,230 --> 00:03:08,320 Fer etiqueta, barra de punt, etiqueta. 57 00:03:08,320 --> 00:03:11,000 Aquí està el meu interfície d'usuari el compte enrere des de 50. 58 00:03:11,000 --> 00:03:14,570 Compte baix, i cap avall, i avall, i fet. 59 00:03:14,570 --> 00:03:16,992