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 და ამ label, ჩვენ ვაპირებთ შესანახად ნომერი, თუმცა როგორც სიმებიანი. 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, უწოდა ეტიკეტების, იღებს დაბრუნების ღირებულება new glabel. 8 00:00:20,910 --> 00:00:22,900 ახლა, მე არ ვაპირებ, რათა ამ label ღირებულება არ არის, ამიტომ მე 9 00:00:22,900 --> 00:00:25,040 მა ციტირებით unquote. 10 00:00:25,040 --> 00:00:29,080 >> შემდეგი მოდით მოვუწოდებთ setFont გავლით in ეტიკეტების, და მოდით კორიდორი 11 00:00:29,080 --> 00:00:32,910 სპეციალურად შრიფტის მოუწოდა SansSerif 36 წერტილი. 12 00:00:32,910 --> 00:00:36,370 Font რომ ხდება არსებობს შიგნით CS50 ელექტრო მოწყობილობების. 13 00:00:36,370 --> 00:00:41,940 მაშინ საბოლოოდ, მოდით დაამატოთ label ფანჯარა შემდეგნაირად. 14 00:00:41,940 --> 00:00:44,580 ახლა, მოდით გაგრძელება გამოიწვიოს loop რომ აპირებს ითვლიან 15 00:00:44,580 --> 00:00:46,400 50 ქვემოთ ნულოვანი. 16 00:00:46,400 --> 00:00:49,520 და შიგნით რომ loop, მოდით iteratively განახლება ეტიკეტების და 17 00:00:49,520 --> 00:00:55,800 გამოვსახავთ მას ეკრანზე, ამისთვის, int i იღებს 50, i მეტია, ან ტოლია 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 ასე რომ, რატომღაც მე ვაპირებ უნდა გადაიყვანოთ მთელი რიცხვი, i, სიმებიანი 22 00:01:07,750 --> 00:01:09,010 წარმომადგენლობის arrow. 23 00:01:09,010 --> 00:01:12,480 ამისათვის მოდით აცხადებენ char s bracket სამი. 24 00:01:12,480 --> 00:01:15,500 ასე რომ, ჩვენ გვაქვს საკმარისი შენახვის სივრცეში ორ ნიშნა ნომერი, რასაც მოჰყვა 25 00:01:15,500 --> 00:01:16,910 null terminator. 26 00:01:16,910 --> 00:01:22,480 მაშინ მოდით ზარი s ბეჭდვითი ვ გავლის in s, გადადის გაცემა, 27 00:01:22,480 --> 00:01:24,220 unquote პროცენტს i. 28 00:01:24,220 --> 00:01:26,960 მიუთითებს, რომ ჩვენ მართლაც გვინდა, ფორმატის რიცხვი. 29 00:01:26,960 --> 00:01:29,420 საბოლოოდ გადადის i თავად. 30 00:01:29,420 --> 00:01:34,100 სხვა სიტყვებით, s ბეჭდვითი F, ან string ბეჭდვითი F, ისევე, როგორც ბეჭდური 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 >> ასე რომ შემდეგი, მოდით წავიდეთ წინ და მოვუწოდებთ მითითებული, ეტიკეტების, გადადის ეტიკეტების, გადადის s. 37 00:01:52,540 --> 00:01:56,430 ახლა, ბოლოს და ბოლოს, მხოლოდ იმიტომ, რომ ამ ეტიკეტები სიგანე შეიცვლება დროთა განმავლობაში, როგორც 38 00:01:56,430 --> 00:02:00,640 ჩვენ ითვლიან ქვემოთ 50, 49, რათა წერტილი, dot, dot, ცხრა რვა. 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 მე პირველი აპირებს გამოაცხადოს ორმაგი, უწოდა X, და მე მაშინ აპირებს 43 00:02:12,390 --> 00:02:16,880 შესანახად შიგნით x, შედეგი მისაღებად სიგანე გავლის სიგანე 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 ანალოგიურად მე ვაპირებ განაცხადოს y იყოს თანაბარი მისაღებად სიმაღლე მთელი 47 00:02:29,660 --> 00:02:37,280 ფანჯარა, მინუს მისაღებად სიმაღლე მხოლოდ ეტიკეტების, და ყოფს, რომ ორი ასევე. 48 00:02:37,280 --> 00:02:40,680 და ბოლოს, მე ვაპირებ მოვუწოდო setlocation, გავლის ეტიკეტების, 49 00:02:40,680 --> 00:02:43,180 გავლის x, გადადის y. 50 00:02:43,180 --> 00:02:45,970 იქ პოზიციონირება წარწერა at x მძიმით y. 51 00:02:45,970 --> 00:02:49,290 >> საბოლოოდ, ისე, რომ ამ countdown არ ხდება ძალიან სწრაფად მოდით 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 რათა ეტიკეტების, dot ხაზი, იარლიყი. 57 00:03:08,320 --> 00:03:11,000 იქ ჩემი ინტერფეისი დათვლის ქვემოთ 50. 58 00:03:11,000 --> 00:03:14,570 დათვლის down, და ქვემოთ, და ქვემოთ, და გაკეთდეს. 59 00:03:14,570 --> 00:03:16,992