Programming | Other » Nagy Gergely - ASP programozás JScript nyelven

Datasheet

Year, pagecount:2008, 12 page(s)

Language:Hungarian

Downloads:240

Uploaded:May 23, 2010

Size:184 KB

Institution:
-

Comments:

Attachment:-

Download in PDF:Please log in!



Comments

No comments yet. You can be the first!


Content extract

Nagy Gergely ASP programozás JScript nyelven Budapest, 2008 A HTML kód és a szkript kapcsolata 1 A HTML kód és a szkript kapcsolata Az ASP m¶ködése Az ASP (Active Server Page ) szkript egy szerver-oldalon futó program. A internetes oldal látogatója jóformán semmit sem érzékel a jelenlétéb®l; ha megnézi a böngész® segítségével az oldal forrását, ott nem talál kódot  illetve ha talál, az kliens-oldali szkript. Egy ASP szkript a szerveren fut le és el®állítja azt a HTML kódot, amit a böngész® megkap. Azért hívják a segítségével készített oldalakat dinamikus nak, mert azok a letöltéskor generálódnak és így lehet®ség van arra, hogy egy oldal személyreszabottan jelenjen meg, vagyis letöltésr®l letöltésre dinamikusan változzon  például megjelenjen rajta a letöltés pontos id®pontja, vagy egy felhasználó neve, a felhasználó számára az utolsó megnyitás óta érkezett üzenetek, stb. A felhasználó a szkripttel

linkekre klikkeléssel, illetve HTML ¶rlapok (form ok) kitöltésével tud kommunikálni. Egy oldalra való bejelentkezés például úgy történhet, hogy a felhasználó a böngész®ben megjelen® szövegdobozokba beírja a nevét és a jelszavát, majd megnyom egy gombot, amelynek a típusa submit (elküldés). Ennek hatására egy az ¶rlapban megadott szkript fut le, amely át tudja venni az ¶rlap elemeinek az értékét. A szkript egy a szerveren lév® fájlban, vagy adatbázisban megkeresi a megadott felhasználónevet és a hozzátartozó jelszót. Egyezés esetén a böngész® számára egy olyan oldalt küld el, amelyet csak a bejelentkezett felhasználók láthatnak, ellenkez® esetben pedig valmilyen hibaüzenetet ír ki, vagy ismét a bejelentkez® oldalt küldi el a böngész®nek. Így az adatok kezelése mind a szerveren történik, a felhasználó semmit sem láthat mindebb®l. Az ASP szkript egy magas szint¶ programnyelven készül. Alapértelmezés szerint ez a

nyelv a VBS (Visual Basic Script ), de egy egyszer¶ utasítással megadhatjuk nyelvként a JScriptet, amely egy a Java nyelvb®l létrehozott szkriptnyelv. Ennek következményeként egy Java nyelvben jártas programozó azonnal megérti, azonban vannak különbségek bizonyos alapvet® nyelvi elemek szintjén is (pl. függvények deníciója) és természetesen  mint minden szkript nyelv  a JScript is nagyon gyengén típusos (ami sok helyen inkább átok, mint áldás). Jelen dokumentum feltételezi, hogy olvasója ismeri a JScript nyelvet1 és ezért csak egy-két nyelvi elemre hívja fel a gyelmet, teljes bevezet®t nem ad. Az ASP szkriptek elhelyezése a HTML kódban Egy ASP honlap fájljai közt nem kell, hogy legyen egy htm, vagy html kiterjesztés¶ sem. Az ASP szkriptet és HTML kódot vegyesen tartalmazó fájlok kiterjesztés¶ jellemz®en asp. Az ilyen fájlokat a szerver úgy értelmezi, hogy a HTML kódokat egy-az-egyben beemeli a böngész® számára elküldött

oldalba, a szkript részletek pedig értelmezi, és a kimenetüket írja bele a letöltött fájlba. Az ilyen elemek felváltva, tetsz®leges sorrendben követhetik egymást, s®t, akár egy HTML elemen beül is szerepelhet egy rövid szkript, ami például kiíratja egy változó értékét. Minden internetes oldalnak van egy kezd®lapja, amelyet el®ször letölt a böngész®, ha egy adott linkre látogat. Ennek HTML kód esetén index.html a neve Az ASP esetén ezt a fájlt defaultasp -nek hívják Természetesen a HTML oldalon belül a szkripteknek el kell különülniük egymástól. Erre az a megoldás, hogy egy olyan HTML elembe kell helyezni, amelyet egy egyszer¶ HTML értelmez® gyelmen kívül hagy, egy ASP-re felkészített pedig felismeri és végrehajtja azt. Ez az elem ASP-ben: <% . %> ahol a három pont helyére kerülhet a JScript kód. Amint azt már említettük, egy utasításban meg kell adni a szerver számára, hogy ha nem VBS-ben, hanem JScriptben

szeretnénk programozni. Valójában ezzel az utasítással kell kezd®dnie az oldalnak: <% @language = "javascript" %> Nézzünk meg egy nagyon egyszer¶ teljes szkriptet: <% @language = "javascript" %> <html> <head> <% var uzenet = "Helló világ"; %> 1 Egy kit¶n®, szórakoztató és a jelen jegyzetnél sokkal részletesebb bevezetést ad a nyelvbe és használatába a következ® linken található segédlet: http://eloquentjavascript.net Nagy Gergely (2008. július 29) A HTML kód és a szkript kapcsolata 2 </head> <body> <table> <tr> <td> <b>Ezt üzenem mindenkinek: <% = uzenet %> !</b> </td> </tr> </table> </body> </html> Változók deklarálása Változókat a var kulcsszó segítségével deklaráhatunk. Mivel a nyelvben a típusokat teljesen szabadon kezelhetjük, ha egyszer¶en leírunk egy azonosítót a var után, akkor már

kész is vagyunk. Az inicializálatlan változó értéke: undefined. Természetesen inicializálhatunk is rögtön létrehozáskor, ahogy ezt a fenti példában is láthattuk: <% var szoveg = "Helló világ!"; %> Figyeljük meg, hogy a VBS-sel ellentétben, de a Javával és a legtöbb magas szint¶ nyelvvel összhangban az utasításokat pontosvessz® (;) zárja. Ha azonban bizosítani szeretnénk, hogy egy változó típusa ténylegesen olyan legyen, mint aminek szánjuk, akkor az osztályok példányosításához hasonló szintaktikát kell alkalmaznunk: <% var felhasznalo = new String("ismeretlen"); var egySzam = new Number(23); var logikai = new Boolean(true); %> Az els® példakód azt is megmutatta, hogy miként tudjuk kiíratni egy változó értékét a HTML kódban: A bejelentkezett felhasználó: <b><% = felhasznalo %></b>. HTML kód generálása szkriptb®l A szkript beépített Response objektuma segítségével lehet

HTML kódot írni. Ehhez a Write() metódust használhatjuk: <% Response.Write("<h1>Helló világ!</h1>"); %> Értékek átvétele a felhasználótól Értékek átadása az URL-ben Változók értéke átadható az URL-ben  így teszik ezt például a keres®oldalak. Az URL általános alakja: URL?val1=ert1&val2=ert2 A változók értéke a beépített Request objektum segítségével kapható meg: var v1 = Request.QueryString("val1"); Ekkor értéket elküldeni a következ®képpen tudunk: Nagy Gergely (2008. július 29) A HTML kód és a szkript kapcsolata <% var var var var %> 3 url = "www.honlapomhu"; val1 = "ert1"; val2 = 23; teljes = url + "?val1=" + val1 + "&val2=" + val2; <a href="<%=teljes%>">Ide klikkelj</a> Értékek átadása az ¶rlapokon keresztül Az ¶rlapok a HTML kód beépített elemeib®l épülnek fel. Az form elemben meg kell adni

a célszkriptet és el kell helyezni az ¶rlapon egy küld® (submit) gombot. Más nem is utal arra, hogy egy szkript fogja feldolgozni az adatokat, ugyanis itt minden automatizáltan történik. A formon átküldött információk nem látszanak kív¶lr®l, s®t olyan információ is átküldhet® így, amit nem a felhasználó adott meg  ezek a rejtett (hidden) adatok. Lássunk el®ször egy ¶rlapot a HTML kódban: <form name="loginForm" action="checkuser.asp" method="post"> <font class="text">User name:</font> <input type="text" name="txtUserName" /> <br><font class="tiny">&nbsp;</font><br> <font class="text">Password:</font> <input type="password" name="txtPassword" /> <br><font class="tiny">&nbsp;</font><br> <input type="submit" name="btnSubmit"

value="OK" /> </form> A fenti ¶rlap két beviteli mez®t és egy gombot tartalmaz. Az egyik beviteli mez® egy egyszer¶ szövegmez®, ahová a felhasználó nevet kell beírni, a második egy jelszó mez® (type="password"), amely minden bevitt karakter helyett egy csillagot ír ki. A mez®k name paramétere segítségével lehet hivatkozni a bevitt értékekre, amiket szintén a Request objektum segítségével kérhetünk el. A form fejében megadott szkript akkor aktivizálódik, amikor a felhasználó a submit gombra kattint. Az ¶rlap elemeinek elkérése a következ®képp történik a checkuser.asp szkriptben: <% var username = Request.Form("txtUserName"); var password = Request.Form("txtPassword"); %> Néha el®fordulhat, hogy a form adataival együtt szeretne a programozó átadni valamilyen kiegészít® információt is, amit nem a felhasználó vitt be. Erre használható a HTML nyelvben elérhet® hidden beviteli

mez®, ami nem jelenik meg az oldalon, de a szkript értéket adhat neki, és a feldolgozó oldal ugyanúgy éri el, mint a látható elemek értékeit. Az alábbi példa azt mutatja be, hogy hogyan lehet megvalósítani azt, hogy ugyanaz az oldal dolgozza fel a formon bevitt értékeket, mint amelyiken maga a form van. Ebben a feladatban az jelenti a problémát, hogy amikor az oldal el®ször betölt®dik, még nem vittek be semmilyen adatot, így nem is dolgozhatóak fel az adatok. Ilyenkor ha lekérjük az értékeket, akkor azok üresek. Ezt használja ki az alábbi szkript2 : <%@ language = "javascript" %> <html> <head> <% var user = new String(); var pass = new String(); var loggedIn = new Boolean(); var loggingIn = new Boolean(); loggingIn = Request.Form("logging") == "logging"; loggedIn = false; 2 A Session-kezelésr®l az 5. oldalon található b®vebb információ Nagy Gergely (2008. július 29) A HTML kód és a

szkript kapcsolata 4 if (loggingIn) { user = Request.Form("usr"); pass = Request.Form("pwd"); if (loggingIn && user != "") { loggedIn = true; Session("name") = user; Session("rights") = "user"; } } %> </head> <body> <% if (!loggedIn) { %> <form name="loginForm" action="default.asp" method="post"> Név:&nbsp;<input type="text" name="usr" size=25 /><br> Jelszó:&nbsp;<input type="password" name="pwd" size=25 /><br> <input type="hidden" name="logging" value="logging" /> <input type="submit" value="Bejelentkezés" /> </form> <% } else { var line = new String(); line = "User: " + Session("name") + " is logged in with "; line += Session("rights") + " rights";

Response.Write(line); } %> </body> </html> Sütik készítése és használata A sütik (cookies) olyan apró adatcsomagok, amiket a felhasználó gépén helyezhet el egy honlap. Ezek segítségével lehet egy felhasználót azonosítani, illetve személyessé tenni a honlapot az ® elmentett preferenciái alapján. A böngész®kben le lehet tiltani a sütik fogadását  ilyen esetben a honlap nem m¶ködik megfelel®en. A sütikben egyszer¶ információkat tárolhatunk  például egy felhasználónevet. Minden sütihez tartozik egy dátum, amikor lejár. Ha ezután kérdezi le a honlap, úgy fog t¶nni, mintha nem létezne Így lehet például automatikusan kiléptetni egy felhasználót egy adott id® után. Egy egy napig érvényes süti létrehozását mutatja be az alábbi kódrészlet: <% var Tomorrow=new Date(); Tomorrow.setDate(TomorrowgetDate() + 1); var myExpire = new String((Tomorrow.getMonth() + 1) + "/" + TomorrowgetDate()); myExpire +=

"/" + Tomorrow.getFullYear(); Response.Cookies("userCookie") = username; Response.Cookies("userCookie")Expires = myExpire; %> Látható, hogy a sütit a Response objektum segítségével hozzuk létre. A Cookies() metódus el®keresi a megadott nev¶ sütit és a segítségével felülírható annak tartalma. Ha a süti még nem létezett, akkor létrehozza A Cookies() metódus által visszaadott objektum Expires tulajdonsága segítségével lehet beállítani a lejárat dátumát, amit hh/nn/éé alakban kell megadni. A fenti kódból az is látható, hogy miként kell a dátumok at kezelni JScriptben. Ha példányosítjuk a Date osztályt az alapértelmezett konstruktorával, akkor az objektumot az aktuális dátummal inizializálja. A sütik adatának lekérése hasonlóan történik, mint a felülírásuk, de olvasni a Request objektummal kell: Nagy Gergely (2008. július 29) A HTML kód és a szkript kapcsolata 5 <% var username =

Request.Cookies("userCookie"); %> Ha nem létezik a süti, akkor egy üres stringet kapunk. Így ki lehet zárni, hogy valaki a link ismeretében ránavigáljon egy olyan oldalra, ahová elvben csak bejelentkezéssel lehet bejutni. A sütikben el lehet tárolni összetettebb információt is. Ilyenkor nem közvetlenül az értéküket írjuk, hanem különböz® mez®neveket adunk meg  így tulajdonképpen rekordokként kezeljük ®ket: <% Response.Cookies("person")("surname") = "Doe"; Response.Cookies("person")("firstname") = "John"; Response.Cookies("person")("country") = "us"; Response.Cookies("person")("age") = "27"; %> A fenti kódban a person nev¶ süti surname, rstname, country és age mez®it írtuk. A sütiket nem szokták törölni, helyette az értékeket írják át üresre, így a következ® ellen®rzéskor úgy fog t¶nni, hogy

nem léteznek. A Session objektum használata A Session objektum automatikusan létrejön, amikor egy felhasználó kapcsolódik egy kiszolgálóhoz és mindaddig megmarad, amíg a kapcsolat tart. Így akár több oldalon keresztül is tárolható benne információ Minden felhasználó csak a saját Session objektumát látja, azok egyediségér®l a rendszer gondoskodik. Bár az adatok a szerveren tárolódnak, de az azonosításhoz a rendszer sütiket használ, tehát ilyenkor is szükséges, hogy a böngész®ben engedélyezve legyenek a sütik. A Session objektumnak különböz® mez®ket és azoknak értéket a következ® módon tudunk adni: <% Session("name") = "John Doe"; Session("rights") = "superadmin"; %> A lekérdezés is ugyanígy történik (var s = Session("name")). A Session objektum mez®it a Contents nev¶ gy¶jteményével érjük el, aminek mérete a length tulajdonsággal kérdezhet® le: <% for (var i

= 0; i < Session.ContentsCount; i++) { Response.Write(SessionContents(i) + "<br>"); } %> A Session objektum f®bb tulajdonságait és metódusait az 1. táblázat foglalja össze 1. táblázat A Session objektum metódusai, tulajdonságai Név Abandon() LCID Remove([elemindex|elemnév]) RemoveAll() SessionID TimeOut Funkciója Befejezi a munkamenetet és felszabadítja a Session változókat Ez a tulajdonság a munkamenethez kapcsolódó, az országspecikus, a megjelenítést meghatározó kódot adja meg, állítja be (location ID ) Adott index¶, vagy nev¶ elemet kitöröl az objektumból Kitörli az objektum elemeit Ez a tulajdonság az adott munkamenethez rendelt azonosítót adja meg Ez a tulajdonság azt mondja meg, hogy meddig lehet passzív a felhasnzáló anélkül, hogy a hozzárendelt Session objektum megsz¶nne A Session objektummal kapcsolatos példa található a 3. oldalon Nagy Gergely (2008. július 29) Fájlkezelés 6 A felhasználó

átirányítása Bizonyos esetekben szükséges a felhasználó átirányítása egy másik oldalra. Például egy honlapra való bejelentkezéskor a felhasználónevet és jelszót ellen®rz® szkript vagy a belépési pontra irányítja a felhasználót, vagy vissza a bejelentkez® oldalra, ha nem helyes adatokat adott meg. Erre a célre a Response objektum Redirect metódusát használhatjuk: <% if (!checkLogin(usr, pwd)) Response.Redirect("loginasp"); else Response.Redirect("youreinasp"); %> Küls® szkript beszerkesztése, futtatása Ha sok segédfüggvényre van szüksége az oldalunknak, pláne, ha azokat több helyen is felhasználjuk, akkor érdemes azokat kiemelni egy külön fájlba, amit egyszer¶en beszerkeszthetünk bárhová: <% @language = "javascript" %> <html> <head> <!-- #include file = "funs.asp" --> </head> <body> . </body> </html> Megtehetjük azt is, hogy egy adott

utasítás hatására lefuttatunk egy szkriptet, aminek a nevét ráadásul egy változóból is megadhatjuk, így maga a szkript állíthatja el® a futtatandó program nevét. Ehhez a Server objektum Execute metódusát használhatjuk: <% if (menureq != "logout") { var s = menureq + ".asp"; Server.Execute(s); } %> A fenti kód segítségével megvalósíthatunk egy olyan oldalt, ahol az egyes menüpontok olyan linkek, amelyek visszamutatnak ugyanarra az oldalra, csak az URL-ben átadják a kívánt menüpontot. Az oldalnak azt a részét, amelyik az egyes menükt®l függ®en változik külön asp fájlokba írjuk és a fenti kód segítségével a megfelel® helyre betöltjük: <html> <head> <% var menureq = Request.QueryString("menu"); if (menureq == "") menu = "intro"; %> </head> <body> <a href="Default.asp?menu=intro">Bemutatkozás</a><br> <a

href="Default.asp?menu=gallery">Galéria</a><br> <a href="Default.asp?menu=blog">Blog</a> <% var s = menureq + ".asp"; Server.Execute(s); %> </body> </html> Nagy Gergely (2008. július 29) Fájlkezelés 7 Fájlkezelés Szkriptek segítségével a szerver található fájlokat írhatjuk, illetve olvashatjuk. Így lehet például fórumokat létrehozni, illetve például felhasználók adatait eltárolni  természetesen mindezt adatbázisokban is tárolhatjuk A fájlkezeléssel kapcsolatban nagyon fontos megemlíteni, hogy a szervereken nagyon komolyan veszik a jogosultságokat, így a szkript a fájlok egy jelent®s részéhez nem férhet hozzá, nem módosíthatja a tartalmat. Jellemz®, hogy a webszolgáltatók csak egy dedikált alkönyvtárra adnak írási jogot. Az els® lépés az állományokkal való munka megkezdésekor, hogy a FileSystemObject (FSO) osztálynak el kell kérni kell egy

példányát. Ezt a következ®képpen tehetjük meg: var fso = new Server.CreateObject("ScriptingFileSystemObject"); vagy var fso = new ActiveXObject("Scripting.FileSystemObject"); Ennek az osztálynak a metódusai segítségével tudunk létrehozni egy fájlváltozót, ami közvetlen kapcsolatot létesít egy tényleges állománnyal. Például egy szöveges fájl megnyitása olvasásra: var myfile = fso.OpenTextFile(ServerMapPath("//DATA/myfiletxt"), 1, false); Látható, hogy a Server osztály CreateObject metódusával tudunk elkérni egy FSO objektumot és szintén ez az osztály segít abban, hogy egy stringet a szerveren lév® elérési útvonalra képezzünk le (MapPath()). Az OpenTextFile() függvény els® paramétere tehát a fájl neve elérési útvonallal együtt. A második paraméter a megnyitás módja, aminek értékei: • 1 : csak olvasásra (ForReading) • 2 : csak írásra (ForWriting) • 8 : hozzáírásra (ForAppending) A

harmadik paramétere egy opcionális, logikai érték, ami azt mondja meg, hogy amennyiben nem létezik a megnyitandó fájl, akkor létrehozza-e. Ez alapértelmezés szerint hamis A visszatérési értéke egy szövegfolyam típusú változó, aminek a segítségével hozzáférünk a zikai fájlhoz. A szövegfolyam WriteLine(str), illetve ReadLine(str) metódusaival tudjuk írni, illetve olvasni a fájlt. A fájl végének elérését az AtEndOfStream tulajdonság segítségével tudjuk leelen®rizni. Miután befejeztük a fájllal való munkát, le kell zárni a folyamot a Close() metódussal. Egy fájl írása tehát: var var var var fso = new ActiveXObject("Scripting.FileSystemObject"); fstr = ""; d = new Date(); line = "Az id®: [" + d.toLocaleString() + "] "; var fileName = "main"; var pathFile = ".//DATA/"; var forumFileExt = pathFile + fileName + ".txt"; var ForAppending = new Number(8); var myfile =

fso.OpenTextFile(ServerMapPath(forumFileExt), ForAppending); myfile.WriteLine(line); myfile.Close(); Az olvasás pedig a következ®képpen történhet: var var var var var var fso = new ActiveXObject("Scripting.FileSystemObject"); fstr = ""; pathFile = ".//DATA/"; fileName = "main"; fileExt = pathFile + fileName + ".txt"; myfile = fso.OpenTextFile(ServerMapPath(forumFileExt), 1, false); Nagy Gergely (2008. július 29) Speciális adattípusok a JScriptben 8 while (!myfile.atEndOfStream) { fstr = myfile.ReadLine(); Response.Write("<font class="text">" + fstr + "</font></br>"); } myfile.Close(); Egy alkönyvtár fájljainak a kilistázása a files gy¶jtemény-objektum segítségével történik. A következ® példa egyben azt is megmutatja, hogy miként lehet egy gy¶jteményhez enumerátort kérni és annak segítségével végigmenni rajta: function

ShowFolderFileList(folderspec) { var fso, f, f1, fc, s; fso = new ActiveXObject("Scripting.FileSystemObject"); f = fso.GetFolder(ServerMapPath(folderspec)); fc = new Enumerator(f.files); s = ""; for (; !fc.atEnd(); fcmoveNext()) { s += fc.item(); s += "<br>"; } return(s); } Speciális adattípusok a JScriptben Tömbkezelés A tömbök dinamikusan jönnek létre JScriptben, ami azt jelenti, hogy mindig pont akkora méret¶ek, amekkorára szükség van és dinamikusan nyújtózkodnak. Létrehozni háromféleképpen lehet egy tömböt: var t1 = new Array(); // üres tömb var t2 = new Array(8); // 8 elem¶ tömb var t3 = new Array("baba", "alma", "kék"); // 3 elem¶ tömb a felsorolt elemekkel Egy tömb mindenkori elemszámát a length tulajdonság adja meg. A push() metódus egy új elemet szúr be a végére, a pop() pedig elvesz egy elemet és vissza is adja visszatérési értékként. Az alábbi kódrészlet egy

fájl sorait teszi be egy tömbbe úgy, hogy minden elem a fájl egy sora lesz, majd kiírja ®ket kisbet¶ssé konvertálva: var lines = new Array(); while (!file.atEndOfStream) { lines.push(fileReadLine()); } for (var i = 0; i < lines.length; i++) { var s = new String(); s = lines[i] Response.Write(stoLowerCase()); } Két tömböt a concat() metódussal f¶zhetünk össze: t1.concat(t2) Egy tömb elemeit egy stringgé f¶zhetjük össze úgy, hogy megadhatjuk a közéjük kerül® elválasztó stringet: var str = t1.join(", ") A reverse() metódus egy fordított sorrend¶ tömbbel tér vissza. Ha az eredeti tömb nem volt folytonos, a visszatérési tömbben az adott helyeken undefined érték¶ elemek lesznek. A slice(start, [end]) metódus résztömbbel tér vissza, az adott kezd®indext®l az opcionálisan adott befejez®ig. A sort() metódus rendezi a tömböt. Ha nem adunk meg paramétert, akkor ASCII szerint rendezi növekv® sorba. Megadható paraméterként egy

függvény, ami két elemr®l megmondja, hogy milyen viszonyban vannak  ekkor a függvény alapján rendez. A függvény visszatérési értékének a következ® konvenciót kell teljesítenie: negatív, ha az els® elem kisebb a másodiknál, nulla, ha a két elem egyenl® és pozitív, ha az els® elem nagyobb. Nagy Gergely (2008. július 29) Speciális adattípusok a JScriptben 9 Stringkezelés A JScript nyelvben a karakterláncokat a String osztály segítségével tárolhatjuk és dolgozhatjuk fel. A stringkonstansokat idéz®jelek közt kell megadni: "helló világ!" Az üres stringet a "" jelöli A karakterláncok kezelését operátorok, tulajdonságok (property ) és metódusok segítik. Használható a + operátor stringek egymáshoz f¶zésére: var s = new String("Jó"); s += "napot"; s = s + "!"; Stringek összehasonlítására használhatóak a ==, <, >, stb. operátorok A leghasznosabb stringekkel

kapcsolatos tulajdonság a length, ami a karakterlánc hosszát adja meg: var s = new String("Hello világ!"); var hossz = s.length; A 2. táblázat összefoglalja a String osztály lényeges metódusait 2. táblázat A String osztály fontosabb metódusai Metódus neve bold() charAt(index) charCodeAt(index) concat(str2) fontcolor(szin) fromCharCode(code1, code2, .) indexOf(alString, kezdoIndex) lastIndexOf(alString, kezdoIndex) link(link) match(regExp) replace(regExp, csereSzoveg) search(regExp) slice(start, [vege]) split(str) substr(start, [hossz]) toLowerCase() toUpperCase() Funkciója A string tartalmát a HTML <B> </B> utasítások közé helyezi (hasonló metódusok még: anchor(name), big(), .) A string index -ik karakterét adja (els® index: 0) A string index -ik karakterét adja Unicode-ban (els® index: 0) A string után f¶zik str2 -t Célstring: <font color="szin">szöveg</font> (hasonló: fontsize(size)) A paraméterként

kapott számokat karakterkódként értelmezve stringet hoz létre Alstringet keres a kezdoIndex -ik pozíciótól; ha elhagyjuk a második paramétert, akkor a string elejét®l keres. Sikertelen keresés esetén -1-et ad vissza. Alstringet keres a kezdoIndex -ik pozíciótól visszafelé; ha elhagyjuk a második paramétert, akkor a string végét®l keres HTML linket készít, amelyben a hypertext a string tartalma lesz, és a linket paraméterként kell megadni Reguláris kifejezést illeszt a stringre, és a találatokat egy tömbben adja vissza A stringben az adott reguláris kifejezés alapján keres és minden sikeresen illesztett részletet kicserés a csereSzoveg re. A regExp re illeszked® mintát keres a stringben és sikeres találta esetén annak kezd®pozíciójával tér vissza, különben -1-el A stringb®l az adott pozíciók közti részt vágja ki (vege opcionális) A stringet feldarabolja, az str paraméter az elválasztó karaktert adja meg, vagy egy reguláris

kifejezést Ugyanaz, mint a slice, de itt a kivágandó karakterek számát kell megadni második paraméterként Kisbet¶ssé alakítja a stringet Nagybet¶ssé alakítja a stringet A Dictionary osztály A Dictionary osztály asszociatív tömböt valósít meg. Példányosítása: var dic = Server.CreateObject("ScriptingDictionary"); vagy var dic = new ActiveXObject("Scripting.Dictionary"); Nagy Gergely (2008. július 29) Speciális adattípusok a JScriptben 10 3. táblázat A Dictionary osztály metódusai Metódus neve Add(kulcs, adat) Exists(kulcs) Keys() Items() Funkciója Az adott kulcs-adat párt beilleszti a szótárba Logikai visszatérési értéke igaz, ha az adott kulcs már szerepel A kulcsokat tartalmazó dinamikus tömböt ad vissza Az elemeket tartalmazó tömbbel tér vissza A Dictionary osztály metódusait a 3. táblázat tartalmazza A Keys() és Items() metódusok használata: function KeysDemo() { var a, d, i, s; // Create some

variables. d = new ActiveXObject("Scripting.Dictionary"); d.Add ("a", "Athens"); // Add some keys and items d.Add ("b", "Belgrade"); d.Add ("c", "Cairo"); a = (new VBArray(d.Keys()))toArray(); // Get the keys s = ""; for (i in a) // Iterate the dictionary. { s += a[i] + " - " + d(a[i]) + "<br>"; } return(s); // Return the results. } function ItemsDemo() { var a, d, i, s; // Create some variables. d = new ActiveXObject("Scripting.Dictionary"); d.Add ("a", "Athens"); // Add some keys and items d.Add ("b", "Belgrade"); d.Add ("c", "Cairo"); a = (new VBArray(d.Items()))toArray(); // Get the items s = ""; for (i in a) // Iterate the dictionary. { s += a[i] + "<br>"; } return(s); // Return the results. } A Dictionary osztály tulajdonságait a 4. táblázat tartalmazza 4. táblázat A

Dictionary osztály tulajdonságai Metódus neve Count Item(kulcs) Key(kulcs) Funkciója Az elemek számát adja meg Visszaadja az adott kulcshoz tartozó értéket; így meg is lehet azt változtatni Egy adott kulcs megváltoztatására való  ezzel csak felülírni lehet, lekérdezni nem Nagy Gergely (2008. július 29) 11 Tartalomjegyzék Tartalomjegyzék A HTML kód és a szkript kapcsolata Az ASP m¶ködése . Az ASP szkriptek elhelyezése a HTML kódban Változók deklarálása . HTML kód generálása szkriptb®l . Értékek átvétele a felhasználótól . Értékek átadása az URL-ben . Értékek átadása az ¶rlapokon keresztül . Sütik készítése és használata . A Session objektum használata . A felhasználó átirányítása . Küls® szkript beszerkesztése, futtatása . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 1 1 2 2 2 2 3 4 5 6 6 Fájlkezelés 7 Speciális adattípusok a JScriptben 8 Tömbkezelés . Stringkezelés . A Dictionary osztály . Tartalomjegyzék 8 9 9 11 Nagy Gergely (2008. július 29)