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.