SPEAKER 1: Ni skribos programon kun grafika uzantinterfaco ke ankaŭ
inkluzivas etiketon.
Kaj en ĉi etikedo, ni iras al stoki nombro, kvankam kiel linio.
Kaj ni tuj aktualigi ke etiketon denove, kaj denove, kaj denove.
Por ke ni finfine kalkuli malsupren de 50 al nulo.
Glabel, nomante ĝin label, ricevas la redoni valoro de novaj glabel.
Nun, mi ne tuj transdonos ĉi label valoro ankoraŭ, do mi
meti en citaĵo, unquote.
>> Sekva ni nomas setFont, pasante en la etiketo, kaj ni iam en
specife tiparon nomata SansSerif 36 punkton.
A tiparo kiu okazas ekzisti interne de la CS50 aparaton.
Tiam fine, ni aldonos la etikedon al la fenestro kiel sekvas.
Nun, ni procedi indukti buklo, ke tuj kalkuli
el 50 suben al nulo.
Kaj ene de tiu ciklo, ni ripete ĝisdatigi la etiketo kaj
montri ĝin sur la ekrano, CXar int i gets 50, i estas pli granda ol aŭ egala
al nulo, i minus, minus.
>> Nun etiketo, rezultas, devas esti kordoj.
Sed mi vere rakonti, uzante entjeroj.
Do iel mi tuj devos konverti la entjero, i, al ĉeno
reprezento sago.
Por fari tion ni deklarus Char s krampo tri.
Por ke ni havas sufiĉan stora por du cifera nombro, sekvata de
nula finilo.
Do ni alvoko s print f forpaso en s, pasante en citaĵo,
unquote procento i.
Indikante, ke ni ja volas formati entjero.
Fine pasante en i mem.
En aliaj vortoj, s print f, aŭ kordo print f, samkiel print f, atendas
formato kordo sekvata de kelkaj variabloj anstataŭigi en tiun
formato kordo.
Sed gxi ankaux akceptas estas lia unua argumento, la situo en kiu vi
volus gardi la kordo ke vi jam reprezentita
kun tiu formato kordo.
>> Do la sekvan, ni iru antaŭen kaj nomas enkadrigeblajn label, pasante en label, pasante en s.
Nun, finfine, simple ĉar ĉi etiketoj larĝa tuj ŝanĝas super tempo
nombru malsupren de 50, 49, al dot, streketo streketo naŭ ok.
Kiuj ne estas tiel larĝa kiel du cifera nombro estas.
Ni procedi elkompreni dinamike kio estas la larĝeco de tiu
label devus esti kaj tiam certigi ke ĝi estas ĉiam centrita sur la ekrano.
Mi unue tuj deklari duobla, nomante ĝin X, kaj mi tiam tuj
stoki ene de x, la rezulto de Get larĝa, pasante en la larĝeco de la
tutan fenestron, minus get larĝa, pasante en la etikedo.
Tiam dividante la tutan aferon por du.
Simile Mi tuj rakontos y al esti egala por akiri altecon de la tuta
fenestro, minus get altecon de nur la label, kaj dividi ke per du tiel.
Fine, mi tuj vokos setlocation, pasante en la etiketo,
pasante en x, pasante en y.
Tie por Metante la etikedi je x komo y.
>> Fine, do, ke tiu rakontas malantaŭen ne okazi tro rapide ni
paŭzi, por diri, 100 milisekundoj inter ĉiu ĝisdatigo de la etikedo.
Por tion fari, ni povas nomi la paŭzo funkcio, tio difinita en la
Stanford porteblan biblioteko, tute simple kiel sekvas.
>> Nun ni savu, kompili, kaj kuri ĉi programo.
Faru label, skalara oblikvo, etiketo.
Estas mia uzantinterfaco rakonti malsupren de 50.
Counting malsupren kaj malsupren, kaj malsupren, kaj farita.