1
2
3
4
5
6
7
8
9
Выступающий 1: Давайте напишем программу с Графический интерфейс пользователя, что также включает в себя этикетку. И в этом лейбле, мы собираемся хранить число, хотя и в виде строки. И мы собираемся обновить эту метку снова, и снова, и снова. Так что мы в конечном итоге рассчитывать вниз от 50 до нуля. Glabel, назвав его лейбл, получает возвращать значение нового glabel. Теперь, я не собираюсь дать этому значение метки еще, так что я буду положить в цитатой, конец цитаты. Теперь давайте называть SetFont, проходя на этикетке, и перейдем в специально шрифт под названием SansSerif 36 очко. Шрифт, происходит существовать внутри CS50 прибора. Тогда, наконец, давайте добавим метку к окну следующим образом. Теперь, давайте перейдем к индукции цикл, который собирается рассчитывать от 50 до нуля. И в течение этого цикла, давайте многократно обновления метки и отображать его на экране, для, Int я получает 50, я больше, чем, или равно к нулю, я минус, минус. 

Теперь этикетки, оказывается, должны быть строками. Но я на самом деле рассчитывает, с помощью целых чисел. Так или иначе я буду иметь, чтобы преобразовать целое число, я, чтобы строка представление стрелка. Для этого объявим Чара с кронштейн три. Так что у нас есть достаточно места для хранения для двузначного числа, а затем нуль терминатор. Печать е прохождение Тогда давайте назовем с в с, передавая цитатой, конец цитаты процентов я. Указав, что мы действительно хотим Для форматирования целых чисел. Наконец передавая я себе. Другими словами, с печати F, или строки печать е, как и печати е, ожидает Формат строки следуют некоторых переменных подставить в том, что Формат строки. Но она также принимает его первый Аргумент, место, в котором вы хотели бы сохранить строку что вы представляли с этой строкой формата. 

Так что в следующий, давайте идти вперед и называть установить, этикетка, переходя в этикетке, переходя в с. Теперь, наконец, просто потому, что это метки ширина собирается меняться с течением времени, как мы отсчет от 50, до 49, до точки,, точка, точка, до девяти до восьми. Которые не так велик, как двузначное число есть. Перейдем выяснить динамически что ширина этого Этикетка должна быть и убедитесь, что это всегда по центру экрана. Я сначала собирается объявить дубль, назвав его х, и я тогда буду хранить внутри х, результат Get ширина, переходя в ширине все окно, минус получить ширину, переходя в этикетке. Тогда деления все это на два. Точно я собираюсь объявить у быть равной получить высоту в целом высота окна, минус Get просто этикетка и деления, что два, а также. Наконец, я собираюсь позвонить SetLocation, проходя на этикетке, проходя по х, переходя в у. Там, позиционируя маркировать при х запятой у. 

Наконец, так что этот отсчет не происходит слишком быстро давайте паузу, для скажем, 100 миллисекунд между каждое обновление этикетки. Чтобы сделать это, мы можем вызвать паузу Функция, который определен в Стэнфордский переносимая библиотека, довольно просто следующим образом. 

Теперь давайте сохраним, компиляции, и запустить эту программу. Сделать этикетки, точечные слэш, этикетку. Там мой пользовательский интерфейс обратный отсчет от 50. Обратный отсчет, и вниз, и вниз, и сделано.