1
00:00:00,000 --> 00:00:00,490

2
00:00:00,490 --> 00:00:03,350
Выступающий 1: Давайте напишем программу с
Графический интерфейс пользователя, что также

3
00:00:03,350 --> 00:00:04,580
включает в себя этикетку.

4
00:00:04,580 --> 00:00:07,940
И в этом лейбле, мы собираемся хранить
число, хотя и в виде строки.

5
00:00:07,940 --> 00:00:10,880
И мы собираемся обновить эту метку
снова, и снова, и снова.

6
00:00:10,880 --> 00:00:15,040
Так что мы в конечном итоге рассчитывать
вниз от 50 до нуля.

7
00:00:15,040 --> 00:00:20,910
Glabel, назвав его лейбл, получает
возвращать значение нового glabel.

8
00:00:20,910 --> 00:00:22,900
Теперь, я не собираюсь дать этому
значение метки еще, так что я буду

9
00:00:22,900 --> 00:00:25,040
положить в цитатой, конец цитаты.

10
00:00:25,040 --> 00:00:29,080
>> Теперь давайте называть SetFont, проходя
на этикетке, и перейдем в

11
00:00:29,080 --> 00:00:32,910
специально шрифт под названием
SansSerif 36 очко.

12
00:00:32,910 --> 00:00:36,370
Шрифт, происходит существовать
внутри CS50 прибора.

13
00:00:36,370 --> 00:00:41,940
Тогда, наконец, давайте добавим метку
к окну следующим образом.

14
00:00:41,940 --> 00:00:44,580
Теперь, давайте перейдем к индукции
цикл, который собирается рассчитывать

15
00:00:44,580 --> 00:00:46,400
от 50 до нуля.

16
00:00:46,400 --> 00:00:49,520
И в течение этого цикла, давайте многократно
обновления метки и

17
00:00:49,520 --> 00:00:55,800
отображать его на экране, для, Int я
получает 50, я больше, чем, или равно

18
00:00:55,800 --> 00:00:59,750
к нулю, я минус, минус.

19
00:00:59,750 --> 00:01:02,090
>> Теперь этикетки, оказывается,
должны быть строками.

20
00:01:02,090 --> 00:01:04,110
Но я на самом деле рассчитывает,
с помощью целых чисел.

21
00:01:04,110 --> 00:01:07,750
Так или иначе я буду иметь, чтобы преобразовать
целое число, я, чтобы строка

22
00:01:07,750 --> 00:01:09,010
представление стрелка.

23
00:01:09,010 --> 00:01:12,480
Для этого объявим
Чара с кронштейн три.

24
00:01:12,480 --> 00:01:15,500
Так что у нас есть достаточно места для хранения
для двузначного числа, а затем

25
00:01:15,500 --> 00:01:16,910
нуль терминатор.

26
00:01:16,910 --> 00:01:22,480
Печать е прохождение Тогда давайте назовем с
в с, передавая цитатой,

27
00:01:22,480 --> 00:01:24,220
конец цитаты процентов я.

28
00:01:24,220 --> 00:01:26,960
Указав, что мы действительно хотим
Для форматирования целых чисел.

29
00:01:26,960 --> 00:01:29,420
Наконец передавая я себе.

30
00:01:29,420 --> 00:01:34,100
Другими словами, с печати F, или строки
печать е, как и печати е, ожидает

31
00:01:34,100 --> 00:01:37,450
Формат строки следуют некоторых переменных
подставить в том, что

32
00:01:37,450 --> 00:01:38,430
Формат строки.

33
00:01:38,430 --> 00:01:41,910
Но она также принимает его первый
Аргумент, место, в котором вы

34
00:01:41,910 --> 00:01:44,400
хотели бы сохранить строку
что вы представляли

35
00:01:44,400 --> 00:01:45,830
с этой строкой формата.

36
00:01:45,830 --> 00:01:52,540
>> Так что в следующий, давайте идти вперед и называть установить,
этикетка, переходя в этикетке, переходя в с.

37
00:01:52,540 --> 00:01:56,430
Теперь, наконец, просто потому, что это метки
ширина собирается меняться с течением времени, как

38
00:01:56,430 --> 00:02:00,640
мы отсчет от 50, до 49, до точки,,
точка, точка, до девяти до восьми.

39
00:02:00,640 --> 00:02:03,170
Которые не так велик, как
двузначное число есть.

40
00:02:03,170 --> 00:02:05,570
Перейдем выяснить динамически
что ширина этого

41
00:02:05,570 --> 00:02:08,930
Этикетка должна быть и убедитесь, что
это всегда по центру экрана.

42
00:02:08,930 --> 00:02:12,390
Я сначала собирается объявить дубль,
назвав его х, и я тогда буду

43
00:02:12,390 --> 00:02:16,880
хранить внутри х, результат Get
ширина, переходя в ширине

44
00:02:16,880 --> 00:02:22,120
все окно, минус получить ширину,
переходя в этикетке.

45
00:02:22,120 --> 00:02:24,880
Тогда деления все это на два.

46
00:02:24,880 --> 00:02:29,660
Точно я собираюсь объявить у быть
равной получить высоту в целом

47
00:02:29,660 --> 00:02:37,280
высота окна, минус Get просто
этикетка и деления, что два, а также.

48
00:02:37,280 --> 00:02:40,680
Наконец, я собираюсь позвонить SetLocation,
проходя на этикетке,

49
00:02:40,680 --> 00:02:43,180
проходя по х, переходя в у.

50
00:02:43,180 --> 00:02:45,970
Там, позиционируя
маркировать при х запятой у.

51
00:02:45,970 --> 00:02:49,290
>> Наконец, так что этот отсчет не
происходит слишком быстро давайте

52
00:02:49,290 --> 00:02:53,350
паузу, для скажем, 100 миллисекунд между
каждое обновление этикетки.

53
00:02:53,350 --> 00:02:56,320
Чтобы сделать это, мы можем вызвать паузу
Функция, который определен в

54
00:02:56,320 --> 00:03:00,390
Стэнфордский переносимая библиотека,
довольно просто следующим образом.

55
00:03:00,390 --> 00:03:04,230
>> Теперь давайте сохраним, компиляции,
и запустить эту программу.

56
00:03:04,230 --> 00:03:08,320
Сделать этикетки, точечные слэш, этикетку.

57
00:03:08,320 --> 00:03:11,000
Там мой пользовательский интерфейс
обратный отсчет от 50.

58
00:03:11,000 --> 00:03:14,570
Обратный отсчет, и вниз,
и вниз, и сделано.

59
00:03:14,570 --> 00:03:16,992