1 00:00:00,000 --> 00:00:00,270 2 00:00:00,270 --> 00:00:03,170 >> SPEAKER 1: Ni skribos programon kun grafika uzantinterfaco tiel kiel 3 00:00:03,170 --> 00:00:07,240 teksta kampo kiu permesas al la uzanto tajpi en iuj kordoj kaj batis Enter, ĉe 4 00:00:07,240 --> 00:00:09,920 kiu punkto tiu cxeno estas havigis al mia programo. 5 00:00:09,920 --> 00:00:13,360 Multe ŝatas GetString en la CS50 Biblioteko funkcias, sed ĉi-foje kun 6 00:00:13,360 --> 00:00:14,880 grafika uzulinterfaco. 7 00:00:14,880 --> 00:00:16,180 Ni komencu. 8 00:00:16,180 --> 00:00:19,810 >> Mi jam skribas kelkajn skeletaj kodo, do ni nun plenigi malplenan. 9 00:00:19,810 --> 00:00:22,770 GTextField, nomante ĝin kampo. 10 00:00:22,770 --> 00:00:25,790 Atribuante al ĝi la reveno valoro de newGTextField. 11 00:00:25,790 --> 00:00:28,790 Kaj preciziganta ke mi ŝatus vidi 10 karakteroj de la uzanto en 12 00:00:28,790 --> 00:00:30,440 la ekrano samtempe. 13 00:00:30,440 --> 00:00:35,720 >> Ni sekvanta alvoko setActionCommand, pasante en kampo, pasante en diru, 14 00:00:35,720 --> 00:00:39,330 citaĵo unquote "enigo." En aliaj vortoj, ni asocias kun tiu ĉi teksto kampo 15 00:00:39,330 --> 00:00:43,620 unika kordo "enigo." ĉiaokaze mia uzantinterfaco havas multnombrajn teksto 16 00:00:43,620 --> 00:00:47,260 kampoj, ĉi kordo unike identigi ĉi tiu. 17 00:00:47,260 --> 00:00:53,000 >> Ni sekvanta alvoko addToRegion, pasante en fenestro, pasante en kampo, pasante 18 00:00:53,000 --> 00:00:56,780 en citaĵo unquote "SUDO," sola ensalutilo difinita en la Stanford 19 00:00:56,780 --> 00:00:59,680 Portebla Biblioteko kiu specifas la suda aŭ malsupro 20 00:00:59,680 --> 00:01:01,560 regiono de mia uzantinterfaco. 21 00:01:01,560 --> 00:01:05,230 >> Ni sekvanta indukti senfinan buklon. 22 00:01:05,230 --> 00:01:07,870 Kaj ene de tiu ciklo, ni aŭskultu dum du eventoj. 23 00:01:07,870 --> 00:01:09,910 Unu, vikipediista fermi la fenestron. 24 00:01:09,910 --> 00:01:13,060 Aŭ du, la uzanto tajpas ion en tiu kampo de teksto. 25 00:01:13,060 --> 00:01:15,600 Ni deklaras gActionEvent. 26 00:01:15,600 --> 00:01:16,770 Nomante ĝin okazaĵo. 27 00:01:16,770 --> 00:01:19,700 Atribuante al ĝi la reveno valoro de waitForEvent. 28 00:01:19,700 --> 00:01:24,720 Preciziganta ke la tipo de okazaĵo Necesus ŝatas aŭskulti por estas ACTION_EVENT, 29 00:01:24,720 --> 00:01:28,470 kie ACTION_EVENT estas konstanta deklarita en la Stanford Portebla 30 00:01:28,470 --> 00:01:31,180 Biblioteko kiu specifas kiu tipo de okazaĵo. 31 00:01:31,180 --> 00:01:37,600 >> Ni sekvanta ĉekon se, getEventType, pasante en okazaĵo, egalas egaluloj 32 00:01:37,600 --> 00:01:42,110 WINDOW_CLOSED, alia konstanto deklaris en la Stanford Portebla 33 00:01:42,110 --> 00:01:45,090 Biblioteko kiu indikas ke la fenestron fermis. 34 00:01:45,090 --> 00:01:48,450 Do ni simple ekflamu de tiu senfina iteracio. 35 00:01:48,450 --> 00:01:51,600 >> Alie, ni nun kontroli, ĉu la uzulo tajpas ion en tiun 36 00:01:51,600 --> 00:01:52,910 teksto kampo. 37 00:01:52,910 --> 00:02:00,950 Se, kordo kompari, getActionCommand, pasante en okazaĵo, komo citaĵo unquote 38 00:02:00,950 --> 00:02:03,510 "Enigo" egalas egaluloj 0. 39 00:02:03,510 --> 00:02:07,340 En aliaj vortoj, se la sola ensalutilo la teksto kampo, en kiun 40 00:02:07,340 --> 00:02:10,680 la uzanto tajpas ion egalas al tiu unika ensalutilo por ke mi 41 00:02:10,680 --> 00:02:13,000 specifita pli frue, ni fari la sekvan. 42 00:02:13,000 --> 00:02:18,970 >> Printf citaĵo unquote "% s estis inputted." Kaj ni plug-in por ke 43 00:02:18,970 --> 00:02:24,950 % S la reveno valoro de gettext forpaso en la kampon, kie gettext estas alia 44 00:02:24,950 --> 00:02:28,350 funkcio, difinita en la Stanford Portebla Biblioteko, kiu ricevas la teksto 45 00:02:28,350 --> 00:02:29,430 de kampo. 46 00:02:29,430 --> 00:02:32,210 >> Ni nun savu, kompili, kaj kuri ĉi programo. 47 00:02:32,210 --> 00:02:33,730 Faru tekston. 48 00:02:33,730 --> 00:02:35,630 . / Tekstoj. 49 00:02:35,630 --> 00:02:38,780 Estas mia uzantinterfaco, kaj tie estas ke teksto kampo ĉe la malsupro. 50 00:02:38,780 --> 00:02:42,310 Ni tajpi ion kiel h-e-l-l-o, Enter. 51 00:02:42,310 --> 00:02:45,280 Kaj tie, ĉe la fundo de mia konzolo fenestro, ja ni vidas 52 00:02:45,280 --> 00:02:46,530 ke "saluton" estis inputted. 53 00:02:46,530 --> 00:02:48,790