1 00:00:00,000 --> 00:00:00,490 2 00:00:00,490 --> 00:00:03,350 COLUMNA 1: Imos escribir un programa con unha interface gráfica de usuario que tamén 3 00:00:03,350 --> 00:00:04,580 inclúe etiqueta. 4 00:00:04,580 --> 00:00:07,940 E nese etiqueta, nós estamos indo para almacenar número, aínda que como unha cadea. 5 00:00:07,940 --> 00:00:10,880 E imos actualizar este rótulo de novo, e de novo, e de novo. 6 00:00:10,880 --> 00:00:15,040 De xeito que, en definitiva contar abaixo a partir de 50 a cero. 7 00:00:15,040 --> 00:00:20,910 Glabel, chamándoo a etiqueta, obtén o valor de novo glabel retornar. 8 00:00:20,910 --> 00:00:22,900 Agora, eu non vou dar a este valor da etiqueta aínda, entón eu vou 9 00:00:22,900 --> 00:00:25,040 poñer en cita, pecha comiñas. 10 00:00:25,040 --> 00:00:29,080 >> Logo imos chama setFont, pasando na etiqueta, e imos pasar en 11 00:00:29,080 --> 00:00:32,910 especialmente unha fonte chamada SansSerif 36 puntos. 12 00:00:32,910 --> 00:00:36,370 Unha fonte que pasa de existir no interior do aparello CS50. 13 00:00:36,370 --> 00:00:41,940 Entón, finalmente, imos engadir a etiqueta para a xanela do seguinte xeito. 14 00:00:41,940 --> 00:00:44,580 Agora, imos seguir a inducir unha loop que contar 15 00:00:44,580 --> 00:00:46,400 a partir de 50 ata cero. 16 00:00:46,400 --> 00:00:49,520 E dentro dese loop, imos iterativa actualizar o rótulo e 17 00:00:49,520 --> 00:00:55,800 amosar-lo na pantalla, para, int i recibe 50, i é superior ou igual 18 00:00:55,800 --> 00:00:59,750 a cero, i menos, menos. 19 00:00:59,750 --> 00:01:02,090 >> Agora etiquetas, ao parecer, ten que ser cadeas. 20 00:01:02,090 --> 00:01:04,110 Pero en realidade estou contando, utilizando números enteiros. 21 00:01:04,110 --> 00:01:07,750 Entón, dalgunha forma eu vou ter que converter o enteiro, i, para unha cadea 22 00:01:07,750 --> 00:01:09,010 representación frecha. 23 00:01:09,010 --> 00:01:12,480 Para iso imos declarar carácter s soporte de tres. 24 00:01:12,480 --> 00:01:15,500 Así que temos bastante espazo de almacenamento por número de dous díxitos, seguidos por un 25 00:01:15,500 --> 00:01:16,910 terminador nulo. 26 00:01:16,910 --> 00:01:22,480 Entón imos chamada s impresión f paso en s, pasando en cita, 27 00:01:22,480 --> 00:01:24,220 por cento unquote i. 28 00:01:24,220 --> 00:01:26,960 Indicando que nós realmente queremos para formatar un número enteiro. 29 00:01:26,960 --> 00:01:29,420 Finalmente pasa-se en i. 30 00:01:29,420 --> 00:01:34,100 Noutras palabras, s impresión f, ou corda f impresión, así como impresión f, espera un 31 00:01:34,100 --> 00:01:37,450 cadea de formato seguido por algunhas variables para substituír aquel 32 00:01:37,450 --> 00:01:38,430 cadea de formato. 33 00:01:38,430 --> 00:01:41,910 Pero tamén é aceptada a súa primeira argumento, o lugar no que 34 00:01:41,910 --> 00:01:44,400 quere gardar a cadea que teña representado 35 00:01:44,400 --> 00:01:45,830 con esa secuencia de formato. 36 00:01:45,830 --> 00:01:52,540 >> Así, na seguinte, imos adiante e chamar a definir, etiqueta, pasando etiqueta, pasando s. 37 00:01:52,540 --> 00:01:56,430 Agora, por fin, só porque este etiquetas ancho vai cambiar co paso do tempo como 38 00:01:56,430 --> 00:02:00,640 contamos abaixo de 50, a 49, a punto, punto, punto, de nove a oito. 39 00:02:00,640 --> 00:02:03,170 O que non é tan grande como un número de dous díxitos é. 40 00:02:03,170 --> 00:02:05,570 Imos continuar a descubrir dinamicamente que o ancho desta 41 00:02:05,570 --> 00:02:08,930 etiqueta debe ser e, a continuación, garantir que está sempre no centro da pantalla. 42 00:02:08,930 --> 00:02:12,390 Vou primeiro en declarar un dobre, chamando-X, e eu estou pasando entón a 43 00:02:12,390 --> 00:02:16,880 gardar dentro de x, o resultado get ancho, pasando a anchura da 44 00:02:16,880 --> 00:02:22,120 Cada fiestra, menos obter ancho, pasando a etiqueta. 45 00:02:22,120 --> 00:02:24,880 Entón, dividindo todo por dous. 46 00:02:24,880 --> 00:02:29,660 Do mesmo xeito que eu vou declarar y ser igual a obter a altura de toda 47 00:02:29,660 --> 00:02:37,280 altura da fiestra, menos get de só o etiqueta e divida que por dous tamén. 48 00:02:37,280 --> 00:02:40,680 Finalmente, eu vou chamar a SetLocation, pasando a etiqueta, 49 00:02:40,680 --> 00:02:43,180 pasando en x, pasando y. 50 00:02:43,180 --> 00:02:45,970 Hai polo posicionamento do etiquetar a coma x y. 51 00:02:45,970 --> 00:02:49,290 >> Por último, co fin de que este non fai conta atrás pasar moi rapidamente imos 52 00:02:49,290 --> 00:02:53,350 deter, por exemplo, 100 milisegundos entre cada actualización da etiqueta. 53 00:02:53,350 --> 00:02:56,320 Para facelo, podemos chamar a pausa función, que está definida no 54 00:02:56,320 --> 00:03:00,390 Stanford biblioteca portátil, simplemente como segue. 55 00:03:00,390 --> 00:03:04,230 >> Agora imos gardar, compilar e executar este programa. 56 00:03:04,230 --> 00:03:08,320 Fai etiqueta, corte de punto, etiqueta. 57 00:03:08,320 --> 00:03:11,000 Non é a miña interface de usuario conta atrás de 50. 58 00:03:11,000 --> 00:03:14,570 Conta atrás, e abaixo, e abaixo, e feito. 59 00:03:14,570 --> 00:03:16,992