Katalog ASP odkaz∙: Hledßte informace o ASP? Zkuste nßÜ nov² katalog odkaz∙ na ASP weby. Vφce zde...
TextLink.cz
VyÜlo: 29.12.2000 Rubrika: ASP - ZaΦφnßme

Jak deklarovat prom∞nnΘ? JakΘ volit nßzvy? ProΦ vlastn∞?
V Φlßnku se nauΦφte jak sprßvn∞ definovat prom∞nnΘ a jakΘ pro n∞ volit nßzvy. Dßle se dozvφte d∙vody proΦ je nutnΘ prom∞nnΘ definovat a kdy se vyplatφ je opravdu definovat! Chcete-li zlepÜit svoje ASP aplikace, je tento Φlßnek prßv∞ pro Vßs. Vφce v Φlßnku...

P°edpoklßdßm, ₧e mßte zvlßdnutou zßkladnφ logiku prom∞nn²ch a jejich pln∞nφ. Pro up°esn∞nφ uvedu jenom krßtce nßsledujφcφ: prom∞nnß by se dala p°irovnat k jistΘmu ÜuplφΦku ve stole, kam lze n∞co doΦasn∞ ulo₧it a pozd∞ji se k tomu vrßtit nebo jeho obsah vym∞nit.

P°ed pou₧itφm prom∞nnΘ resp. napln∞nφ textem je nutnΘ ji nadefinovat. V ASP mß tuto funkci na starost p°φkaz Dim.

    <%
    Option Explicit
    æProvedeme deklarovßnφ prom∞nnΘ strRetezec
    Dim strRetezec
    %>

Option Explicit û usnadn∞te si prßci

Jist∞ jste si vÜimli p°φkazu Option Explicit ve v²Üe uvedenΘm p°φkladu. Jednß se o zapnutφ nutnosti deklarovat veÜkerΘ pou₧φvanΘ prom∞nnΘ v danΘ strßnce. 

Tento p°φkaz je nutnΘ pou₧φt jeÜt∞ d°φve ne₧ se n∞jakß prom∞nnß pou₧ije. 

Nßsledujφcφ p°φklad Vßm ukß₧e smysl tohoto nastavenφ. 

    <%
    Dim strRetezec
    StrRetezec = ôN∞jak² textö
    Response.Write(strRtezec)
    'Na p°edchßzejφcφm °ßdku se nachßzφ prßv∞ ona zbyteΦnß chyba.
    %>

P°i provedenφ strßnky by p°ekladaΦ nenahlßsil ₧ßdnou chybu tj. neupozornil by vßs na p°eklep v p°φkazu Response.Write, ale jednoduÜe vypsal prom∞nnou strRtezec jejφch₧ obsah je prßzdn².

VÜe vy°eÜφ nßsledujφcφ k≤d:
    <%
    Option Explicit
    Dim strRetezec
    StrRetezec = "N∞jak² text"
    Response.Write(strRtezec)
    'Na p°edchßzejφcφm °ßdku se nachßzφ prßv∞ ona zbyteΦnß chyba.
    %>

P°i pou₧itφ p°φkazu Option Explicit se p°ekladaΦ ozve s chybovou hlßÜkou:

Microsoft VBScript - chyba za b∞hu chyba 800a01f4 
Prom∞nnß nenφ definovanß: 'strRtezec' 
/root/optionexplicit.asp, °ßdek 5 

Z tΘto odpov∞di od p°ekladaΦe je vid∞t, ₧e narazil na chybu v k≤du, p°eruÜil svoje Φin∞nφ a nynφ nßs informuje o skuteΦnosti, ₧e na °ßdku 5 je nedefinovanß prom∞nnß strRtezec. Pro odstran∞nφ chyby staΦφ opravit k≤d resp. definovat prom∞nnou strRtezec nebo opravit p°φkaz Response.Write(strRtezec) na Response.Write(strRetezec). Po op∞tovnΘm spuÜt∞nφ bude vÜe fungovat jak mß.

ProΦ deklarovat?

Zdß se vßm zcela zbyteΦnΘ zat∞₧ovat se deklaracφ ka₧dΘ prom∞nnΘ, kdy₧ to äfungujeô i bez toho? Pokusφm se vßm to dostateΦn∞ zd∙vodnit.

P°i pozd∞jÜφm programovßnφ rozsßhl²ch aplikacφ je p°φkaz Option Explicit spßsnou cestou v bludiÜti zvanΘm ASP k≤d, jeliko₧ odhalφ nep°edvφdanΘ p°eklepy, kterΘ se opravdu velice Üpatn∞ odhalujφ a p∙sobφ tak pouze a jenom nep°φjemnosti, kter²m lze p°edejφt d∙kladnou deklaracφ vÜech prom∞nn²ch.

JakΘ nßzvy prom∞nn²ch zvolit?

Ka₧dß prom∞nnß obsahuje urΦit² druh informacφ, kterΘ by se dali jednoduÜe za°adit do t°ech kategoriφ: Φφslo, text, objekt. 

Pro p°ehlednost uvßdφm nßsledujφcφ tabulku:
P°edpona Typ P°φklad
str ╪et∞zec strNazevPodniku
int ╚φslo intCisloDomu
obj Objekt objSpojeni

Op∞t vßs nejspφÜe napadla proΦ si znep°φjem≥ovat ₧ivot neustßl²m psanφm p°edpon str, int, obj a podobn∞? Je to jednoduchΘ! V rozsßhlejÜφ aplikaci je mnohem rychleji rozeznßte obsah prom∞nnΘ.

V nßzvech nepou₧φvejte Φeskou diakritiku, pomlΦky, mezery, zavinßΦe a dalÜφ podivnΘ znaky. Mφsto mezer pou₧φvejte podtr₧φtko (æ_Æ).

Na velikosti pφsmen, jak p°i deklaraci, tak p°i pozd∞jÜφm pou₧itφ nezßle₧φ.

NejlΘpe vÜe pochopφte na nßsledujφcφm p°φkladu:

    <%
    Option Explicit
    Dim strCislo, intCislo2, intCislo3, intVysledek
    strCislo = ôN∞jak² textö
    intCislo2 = ô43535513ö
    intCislo3 = ô1353ö
    æNynφ chcete odeΦφst jednotlivΘ hodnoty navzßjem od sebe a ulo₧it 
    ædo prom∞nnΘ intVysledek.
    æNa prvnφ pohled Vßm dojde dφky p°edpon∞ str, ₧e nelze odΦφtat
    æprom∞nnou intVysledek = strCislo1 û intCislo2, ale pou₧ijete nßsledujφcφ
    æ°eÜenφ: 
    intVysledek = intCislo2 û intCislo3
    %>

Zden∞k Cendra
ceskywap@ceskywap.cz



   Souvisejφcφ Φlßnky
TextLink.cz