Det er mindst lige så afgørende at optimere overblik, kontekst og datakontrol som at beslutte, hvilken AI-model man skal satse på.
Slettet bruger
31. marts 2001 - 08:09#1
jeg har jeg egentlig også undret mig over... Der er jo ikke forskel på, om man \"dimmer\" en variabel, eller om man ikke gør. - begge dele virker ihvertfald!
Dim bruges bl.a til at Dimensionere et array og til at fortælle VBScript \"motoren\" at \"disse\" variabler er tilgængelige, hvis du bruger Option Explicit, der KRÆVER at du Dim\'er alle dine variabler.
Naeej min uvidenhed omkring array ( og for den sags skyld andre asp/javascript \"tags/syntax\" ) bunder nok mest i at jeg er hoppet ud i kodningen med lukkede øjne og uden nogen form for læringsplan! desuden kan man squ da forstå noget man ikke rigtig har hørt om før!
:-) jeg kan ligeså godt forklare det så det er til at forstå første gang :-)
jeg havde heller ingen \"læringsplan\" .. dog havde jeg 3 års erfaring i BASIC sproget (som VBScript/ASP bygger på)..
Arrays er brugbare mange steder.. Jeg bruger f.eks. 2 i en ASP fil hvor den udskriver indholdet i en <select>. Når så jeg udskriver dem kan jeg checke om den postede værdi er lig en af værdierne i array\'et, og hvis den er så kan jeg makere min <option> med \"selected\". så man ikke skal skrive:
<select..> <option <%=if .. then response.write \"selected\"%>>noget</option> ..
hvis jeg forstår rigtigt hvad man nok ikke skal regne med) skal man vælge/intaste en eller anden værdi i en side der så opdateres og så vil den værdi (og de andre værdier i array\'et) man valgte være i din dropdownbox
noget ala hvis det havde været et DB træk
sql = \"select from _tabelnavn_ where id = \'\"&request.form/querystring(\"et_eller_andet\")&\"\'\"
ja .. det gør det (det med database tingen) men så skal dui lave en database forbindelse og det tager tid på serveren. Så er det meget hurtigere med et array.
Et array kan også oprettes f.eks. vha.
Split() eller
arrNoget = Array(\"Mandag\", \"Tirsdag\" ..) så vil arrNoget få ligeså mange elementer som du skriver strenge .. (7 strenge = 6 elementer (0-6)) og det kan så bruges med:
<%=arrNoget(Day(Date))%>
nedenstående laver en løkke der udskriver ALLE elementer For intIndex = 0 To UBound(strSmiley) Response.Write \" <option value=\'\" & strSmiley(intIndex) & \"\'>\" & strSmiley(intIndex) & vbCrLf Next
nedenstående udskriver kun element #0 (hvis ikke intIndex er sat til noget andet)
Jeg forstår stadig ikke helt hvorfor man gør det, med mindre man ikke kan lide baser, ens kode må da blive utrolig lang, hvis man bruger Arrays til at lave bare mere end en ting (reelt skriver man jo dataen direkte i ASP scriptet og ikke som DATAbase indikerer i DATAbasen!!)
Og Arrays skal Dimensioneres ellers virker de ikke (man skal fortælle serveren at der findes nogle variabler i scriptet) --> andre variabler behøves ikke, for de er variabler der trækkes fra et andet sted og så kan serverFar godt regne ud at de er variabler, da han skal trække dem ud af DatabaseMor
Du kan nok ikke se fordelen nu, men der er faktisk en rent performance mæssigt.
Hvis jeg skulle lægge min smileys og farver som jeg viste dig her, i min database så skulle jeg åbne DB\'en HVER gang siden reloades ..det tager tid ogg er mere besværligt end med et array når je ikke skal kunne skifte smiley\'erne og farverne ud.
Det er jo kun DER er det er en fordel at have det i en database hvis du har brug for at ændre det tit.
meget interresant læsning... men det omhandlede jo kun dim i forbindelse med array
hvorfor bruge man f.eks. dim i følgende sætning
dim dag, uge, tal
dag = request.querystring(\"dag\") uge = request.form(\"uge\") tal = rs(\"tal\")
eneste brugbare jeg kan bruge dim til er hvis jeg feks. senere skal rette i scriptet, så kan jeg hurtig se hvilke værdi\'er der er variable (altså dag, uge og tal)
Det er rart at jeg ikke er den eneste der havde spgm til Dim\'s funktion i ASP, grunden til at Arrays kom op, var at der I det tilfælde, så havde DIM en funktion (man kan ikke benytte arrays uden først at have dimensioneret dem! - åbentbart), i andre tilfælde kan serveren godt finde ud af at der er tale om variabler, og derfor er det vel kun god kodeskik at dimensionere dem!
madrich:> jeg postede min kommentar før jeg så din (hvilken jeg først lige har set nu *g*)
men der er NOGLE der siger at de er god programmerings skik at Dim\'e sine variabler, men jeg synes det bliver for meget hvis man, som jeg nogle gange gør, bruger en frygtelig masse variabler
Hvad med serverbelastning (især hvis man har en masse variabler), så må serveren da arbejde mere med at identificere variabler end hvis man har \"identificeret\" dem for den?
og det er vel derfor at det er god kodeskik at dimensionere sine variabler
Sikke en gammel gammel tråd... jeg tillader mig lige at vække den til live igen, ved at spørge, nu når vi taler variabler - om der nogen, der ligesom mig oplever at ens variabler "forsvinder"
Hvis jeg fx. har lavet en code ala:
firstname = "Peter" lastname = "Jensen"
og man så i sit script prøver at sammensætte det til <%=firstname%> <%=lastname%>
.... at den så returnerer kun fornavnet, altså: "Peter "
Jeg oplever det engangi imellem på min server, og det er super frustrerende. Det er meget "random" den gør det. Hvad kan det skyldes?
Hvis du gør det i en <input type=text value=<%=firstname%> <%=lastname%> > så er det din egen skyld. Det skal være <input type=text value="<%=firstname%> <%=lastname%>" > og så også en tur igennem server.htmlencode: <input type=text value="<%=server.htmlencode(firstname)%> <%=server.htmlencode(lastname)%>" >
Nej det er desværre når jeg udskriver det som tekst på siden - også når det er variabler der ikke indeholder tekster (jeg bruger måske 50+ variabler på mit site, da det kører flere forskellige sprog hvor jeg udskfiter variabler afhængig af sproget, for at kunne beholde den samme ene kode alle sprog igennem - derfor er der en del variabler)
Ja, og du stiller et ubrugeligt spørsmål ;) Variabler forsvinder ikke bare. End ikke i gammeldags ASP...
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.