COLUNA 1: Vamos escrever um programa com uma interface gráfica do usuário que também inclui etiqueta. E nesse rótulo, nós estamos indo para armazenar número, ainda que como uma string. E vamos atualizar esse rótulo novamente, e novamente, e novamente. De modo que, em última análise contar para baixo a partir de 50 para zero. Glabel, chamando-a etiqueta, obtém o valor de novo glabel retornar. Agora, eu não vou dar a este valor do rótulo ainda, então eu vou colocar em citação, fecha aspas. Em seguida vamos chamá setFont, passando no rótulo, e vamos passar em especificamente uma fonte chamada SansSerif 36 pontos. Uma fonte que acontece de existir no interior do aparelho CS50. Então, finalmente, vamos adicionar o rótulo para a janela da seguinte maneira. Agora, vamos continuar a induzir uma loop que vai contar a partir de 50 até zero. E dentro desse loop, vamos iterativa atualizar o rótulo e exibi-lo na tela, para, int i recebe 50, i é superior ou igual a zero, i menos, menos. Agora rótulos, ao que parece, tem que ser strings. Mas na verdade estou contando, utilizando números inteiros. Então, de alguma forma eu vou ter de converter o inteiro, i, para uma string representação seta. Para fazer isso vamos declarar caractere s suporte de três. Assim que temos bastante espaço de armazenamento por número de dois dígitos, seguidos por um terminador nulo. Então vamos chamada s impressão f passagem em s, passando em citação, por cento unquote i. Indicando que nós realmente queremos para formatar um número inteiro. Finalmente passa-se em i. Em outras palavras, s impressão f, ou corda f impressão, assim como impressão f, espera um cadeia de formato seguido por algumas variáveis para substituir naquele string de formato. Mas também é aceita o seu primeiro argumento, o local em que você gostaria de armazenar a cadeia que você tenha representado com essa seqüência de formato. Assim, na próxima, vamos em frente e ligar para definir, rótulo, passando rótulo, passando s. Agora, finalmente, só porque este rótulos largura vai mudar ao longo do tempo como contamos para baixo de 50, a 49, a ponto, ponto, ponto, de nove para oito. O que não é tão grande como um número de dois dígitos é. Vamos prosseguir para descobrir dinamicamente que a largura desta rótulo deve ser e, em seguida, garantir que ele está sempre no centro da tela. Vou primeiro a declarar um duplo, chamando-X, e eu estou passando então a armazenar dentro de x, o resultado de get largura, passando a largura da Toda janela, menos obter largura, passando o rótulo. Então, dividindo tudo por dois. Da mesma forma que eu vou declarar y ser igual a obter a altura de toda altura da janela, menos get de apenas o rótulo e divida que por dois também. Finalmente, eu vou ligar para SetLocation, passando o rótulo, passando em x, passando y. Há pelo posicionamento do rotular a vírgula x y. Finalmente, de modo a que este não faz contagem decrescente acontecer muito rapidamente vamos pausar, por digamos, 100 milissegundos entre cada actualização do rótulo. Para fazê-lo, podemos chamar a pausa função, que está definida no Stanford biblioteca portátil, simplesmente como se segue. Agora vamos salvar, compilar e executar este programa. Faça etiqueta, corte de ponto, etiqueta. Não é a minha interface de usuário contagem regressiva de 50. Contagem regressiva, e para baixo, e para baixo, e feito.