>> [MUZIKO Ludanta]
>> ROB Bowden: Hi.
Mi Rob, kaj ni esperas, ke tiu solvo helpas meti vin
sur la vojo al resaniĝo.
Do ni komencu.
>> Ni vidas, ke tuj ni estas nur por certigi ke ni estas
uzante Rekuperi korekte.
Do la uzado devas esti nur io kiel skalara oblikvo resanigxos.
>> Nun ni iras malfermi la atendata karto dot kruda dosiero.
Oni vidas ĉi tie ke ni uzas la konstanta krudan substreko dosiernomo,
kiuj ĝis ĉi tie ni havas hash difinita kiel karto dot krudan.
OK.
>> Tial oni devas certigi, ke tiu sukcese malfermis ĉar se ĝi
ne, tiam ni devus averti la uzanton.
Sed supozante, ke ĝi faris, ke ni estas nun tuj deklari buffer de grandeco JPEG
dosiernomo longa.
Do tiu tuj estos la buffer ke Ni tuj sprintf en.
>> Do kio estas JPEG dosiero nomo longo?
Ĝis ĉi tie, oni vidas ke ĝi estas hash difinita kiel ok.
Do kial ok?
Nu donita dosiero estos nomata iu kiel nulo nulo nulo.
JPG kaj tiam ni bezonas backslash nulo.
Do ni bezonas buffer kiuj neniom stoki ok literojn.
Nun ni tuj havos nombrilo tio tuj sekvigi la
numeron JPEG-oj ni trovis.
>> Kaj fine, ni tuj havos JPEG-dosiero kiu estas komence nula
kiu iras al la aktuale malfermita dosiero kiun ni skribas al.
Nun ni tuj havos plia bufro.
Ĉi tio ne estas la sama kiel nia sprintf buffer kie ĉi bufro estas
kiuj ni legas en la datumoj el la karto dot krudan.
>> Do la bufro iras esti de sensigna signoj, kiujn vi povas
esence nur traktos ni bajtoj, kaj ĝi estas tuj estos de grandeco bloko grandeco
kie, kiel ni diras al vi, bloko grandeco estas 512.
Do JPEG-oj vi povas trakti ĉiun kiel blokoj de 512 bajtoj.
>> Nun ni iras al buklo super la tuta dosiero.
Ni iras al f legis en nian buffer sola bajto bloko grandeco tempoj de
la karto dot kruda dosiero.
Nun kion signifas f legu reveni?
Ĝi redonas la nombron da eroj ke ŝi sukcese legi.
Do, se ĝi sukcesis legi 512 bitokoj, tiam ni volas vidi, ĉu ĉi tio estis
JPEG aŭ skribi ĝin al JPEG-dosiero.
Kaj se tio ne revenos 512 bitokoj, do ĉu la dosiero finiĝis en
tiaokaze ni rompos el la y buklo, aŭ tie estas ia eraro
tiaokaze ni ankaŭ rompi la y buklo, sed ni deziras raporti
ke io misfunkciis.
>> OK.
Do alprenanta ke ni sukcese legi en 512 bitokoj, ni volas unue ĉeko
fari ke tiuj bitokoj, ke ni ĵus legis en komenci JPEG.
Do se estas JPEG kaplinio de nia bufro.
Nun kio estas JPEG kaplinio faras?
Ni rigardu.
>> Ĝis ĉi tie, oni vidas ke tiu funkcio estas reveninte taŭro, kaj tiu taŭro -
bone ĉi tie, ni kontrolas, se kaplinio nulo egalas tiu konstanta kaj
kaplinio unu egalas tiu konstanta kaj kaplinio du egalas ĉi konstanto,
kaplinio tri egalas tiun aŭ ĉi konstanto kie ĉiuj ĉi tiuj konstantoj estas
nur hash difinita ĝuste ĉi tie kaj estas ekzakte kion ni rakontis al vi en la spec
ke JPEG komencas kun.
Kaj do ĉi tiu funkcio estas nur tuj return true, se ĉi buffer reprezentas
la komencon de nova JPEG kaj falsaj alie.
>> OK.
Do se tiu faras reprezenti novajn JPEG, do ni unue volas kontroli por vidi se
JPEG-dosiero ne estas egala al nula, tiaokaze ni fermas ĝin.
Kaj do kial ni devas kontroli por vidi, ĉu ĝi ne estas nula?
Nu la unua JPEG, ke ni trovi ni ne jam havas
malfermita JPEG-dosiero.
Kaj do, se ni provos fermi ke, tiam ni ne faras ion tute pravas.
>> Sed ĉiu posta JPEG ke ni malfermos, ni volas fermi
la antaŭan dosieron.
Do nun ni tuj uzi sprintf kiel ni antauxe diris, kie ni uzas la
buffer JPEG dosiero nomon.
Kaj ni tuj uzi JPEG dosieron nomumi formato kiel nia formato.
Kaj kio estas tio?
Ĝis ĉi tie, oni vidas ke ĝi estas procento nulo 3D.JPEG kie la nulo tri ĝuste
diras, ke ni uzos tri entjeroj por ĉi vatitaj per nuloj.
Do jen kiel ni akiros nulo nulo one.JPEG kaj nulo 10.JPEG kaj tiel plu.
>> Ni tuj uzi sprintf.
Kaj la entjeraj kiuj ni enmeto en la cxeno estas Numb JPEG-oj
reakiris, kiuj estas origine nulo.
Do la unua dosiero malfermiĝis tuj esti nulo nulo nulo dot JPEG.
Kaj tiam ni pliigante tiel la sekvanta dosieron ni malfermu estos nulo nulo
unu punkto JPEG kaj ni pliigo ĝi denove tiel ĝi estos nulo nulo du punktoj
JPEG kaj tiel plu.
>> Ĉiuj pravas.
Do nun interne de JPEG dosieron nomo, ni havas la nomon de la
dosieron kiun ni deziras.
Ni povas f malfermu tiun dosieron por skribi.
OK.
Kaj denove, ni bezonas kontroli por fari certas, ke la dosiero sukcese
malfermis ekde se gxi ne faris tion, tiam tie estis iu eraro.
>> Do nun ni jam alvenintaj preter la Ĉu tio estas JPEG parto.
Kaj tie, ni vidas ni iras skribi al la JPEG.
Sed ni unue havas tiun ĉekon kion diras se JPEG-dosiero ne egalas nula.
Kial ni bezonas tion?
Nu JPEG-dosiero egalas nula kiam ni aktuale havas malferman JPEG.
>> Kio se karto dot krudan komenciĝas kun fasko da bajtoj, ke
ne reprezentas JPEG?
Tiam ni tuj volas salti super tiuj bitokoj.
Se ni ne havas tiun ĉekon, tiam ni estas tuj skribos al sen malfermi
fajli la unuaj 512 bitokoj de la karto, kio ne estas bona.
OK.
>> Do supozante ni havas malfermitan dosieron, tiam Ni tuj skribos al tiu dosiero la
512 bitokoj kiuj ni havi en niaj bufro.
Kaj ni refoje kontrolanta fari certas, ke la 512 bitokoj sukcese
estis skribita ĉar se ili ne estis sukcese skribite poste ion
iris malbone.
Ni devos fermi niajn dosierojn, presi, ke io iris malbone, kaj reveno.
Supozante ĉio iras korekte, tiam Ni devos teni looping fermante la
malnovan dosieron, malfermi la novan dosieron, skribado datumojn al la nova dosiero, kaj tiel
plu ĝis fine, ĉi f legi Revenas nulo kion signifas
ke la dosiero estas farita.
>> Do nun, ke la karto legado estas finita, ni vidas, ke ni iras al f fermi la
lastan dosieron, ke ni havis malferman, sed ni kontrolanta se JPEG dosieron
ne egala nula.
Nu la f proksima havas sencon ĉar kiel ni malfermi dosierojn, ni fermante
la antaŭan dosieron, sed la lasta dosiero ni malfermis neniam gets closed.
Do, tio estas kion tiu faras.
>> Sed kial ni bezonas por kontroli nula?
Nu kion se karto dot krudan ne havi solan JPEG interne de gxi?
En tiu kazo, ni havus neniam malfermis dosieron.
Kaj se ni neniam malfermi dosieron, ni devus Ne provu fermi tiun dosieron.
Do jen, kio estas tiu ĉeko estas faranta.
>> Nun ĉi tie, kiel mi diris antaŭe, ni povis jam ekfloris ke y buklo ĉu se
la karto finiĝis aŭ se ekzistas iu eraro legado de la karto.
Do tiu estas kontrolanta vidi ĉu estis eraro legado de la karto, en
tiaokaze, ni diros, ke tie Estis eraro legado.
Ni ne volas ke la uzanto pensi ĉiu iris sukcese.
Kaj ni revenos unu por eraro.
>> Fine, ni f fermi niajn dosiero kruda, nia karto dot krudaj, por indiki ke
ĉio iris bone kaj reveno nulo kaj tio estas ĝi.
>> Mia nomo estas Rob kaj tio estis sanigita.
>> [MUZIKO Ludanta]