LUIDSPREKER 1: Laten we een programma schrijven met een grafische user interface en een tekstveld dat de gebruiker mogelijk maakt om Typ een stukje tekst en druk op Enter op welk punt die string is verstrekt aan mijn programma. Net als GetString in de CS50 Bibliotheek werkt, maar dit keer met een grafische gebruikersinterface. Laten we beginnen. Ik heb al een aantal skelet code geschreven, dus laten we nu in een lege vullen. GTextField, noemde het veld. Toe te wijzen de return waarde van newGTextField. En specificeren dat ik graag zou willen zien 10 karakters van de gebruiker op het scherm tegelijk. Laten we het volgende gesprek setActionCommand, passeren in het veld, passeren in laten we zeggen, citaat unquote "input." Met andere woorden, laten we associƫren met dit tekstveld unieke string "invoeren." voor het geval mijn gebruikersinterface heeft meerdere tekst velden, deze string zal een unieke identificeren deze. Laten we het volgende gesprek addToRegion, passeren in venster, passeren in het veld, langs in citaat unquote "ZUIDEN," een unieke identifier gedefinieerd in de Stanford Portable Library die aangeeft de zuidelijke of onderkant gebied van mijn gebruikersinterface. Laten we naast een oneindige lus veroorzaken. En de binnenkant van deze lus, laten we luisteren naar twee gebeurtenissen. Een, de gebruiker sluiten van het venster. Of twee, de gebruiker typt iets in die tekstveld. Laten we verklaren een gActionEvent. Noemde het evenement. Toe te wijzen de terugkeer waarde van waitForEvent. Preciseren dat het type gebeurtenis we zouden graag voor om te luisteren is een ACTION_EVENT, waar ACTION_EVENT is een constante in de Stanford Portable verklaard Bibliotheek die specificeert dat type evenement. Laten we volgende controle indien, getEventType, passeren in geval gelijk gelijken WINDOW_CLOSED, een andere constante verklaard in de Stanford Portable Bibliotheek die aangeeft dat het venster gesloten. Laten we dan gewoon breken van deze oneindige lus. Anders laten we nu controleren of de gebruiker heeft iets in die getypt tekstveld. Indien, string vergelijker, getActionCommand, passeren in geval komma citaat unquote "Input" is gelijk aan gelijk is aan 0. Met andere woorden, als de unieke identificator het tekstveld waarin de gebruiker heeft getypt iets gelijk is om dat unieke identificatie die ik gespecificeerd eerder, laten we het volgende doen. Printf citaat unquote "% s werd ingevoerd." En laten we plug-in voor die % S de return waarde van getText passerende in het veld, waar getText een andere functie, gedefinieerd in de Stanford Draagbare Bibliotheek, dat de tekst wordt uit een veld. Laten we nu nog redden, compileren, en uitvoeren van deze programma. Maken tekst. . / Tekst. Daar is mijn user interface, en er is dat tekstveld onderaan. Laten we iets typt h-e-l-l-o, Enter. En daar onderaan mijn console venster, inderdaad zien we dat "hello" werd ingevoerd.