Start på ASP med Funktioner, Replace, Array og Split

Tags:    asp
Skrevet af Bruger #3565 @ 30.04.2003

Indledning:


I denne artikel går jeg igennem brugen af Replace og Split(Arrays), samt brugen af funktioner.
Imens jeg skrev denne artikel dukkede der nogle enkle forklaringer på andre ting også så det må du tage med som en bonus :)
Til sidst vil jeg illustrerer brugen i et link/smiley/text konverter.
Der er ingen fuldkommen kode her, blot et eksempel på hvordan det kan se ud.

Indholdsfortegnelse:


Brugen af Replace
Brugen af Split (og kort om Arrays)
lav en Funktion (Function)
Meget kort om include
brug en funktion

Eks. på at bruge det hele i et link/smiley/text konverter

Replace:


Lidt om Replace:

Replace bruges som navnet også hentyder, til at "bytte noget ud" i f.eks en tekst streng

Syntax:
Fold kodeboks ind/udKode 
Forklaring:

strng er den tekst som du vil udføre en Replace i
find det du vil søge efter og "bytte ud"
replacewith det du vil "bytte ud" med

[start] er hvornår den skal begynde med at "bytte ud" hvis ikke nævnt antages den til at være 1 og angives som helt tal
[count] er hvor mange gange den skal "bytte ud", hvis ikke andet er angivet antages værdien -1, og betyder at alle ord efter [start] "byttes ud" igen skal denne angives i helt tal
[compare] er den metode som Replace skal arbejde ud fra, binær(0) eller tekst(1)

bemærk at parameter omkredset af [] ikke er nødvendige.

Et eksempel:
vi vil gerne have at der står "KL:" imellem datoen og klokkeslettet
Fold kodeboks ind/udKode 

Output: d. 24-5-2002 KL: 22:05:23 gik jeg i seng

det sker:
i variablen søges der efter et mellemrum (" "), dette mellem rum "byttes ud" med KL: (" KL: ")

Split og Array


kort om Array:
for at forstå Split er vi lige nød til hurtigt at forklare det kort hvordan Array fungere, da Split funktionens resultat bliver lagt i en Array

Et array er en variabel med X antal dimensioner der kan tilgås vha. en index property. F.eks. MyArray(5) vil tilgå det sjette element i arrayet, eftersom de er nul baserede

Eks.
dyr(0) = "elefant"
dyr(1) = "abe"
dyr(2) = "flodhest"
sådan kunne et Array se ud.

når du så udskriver, er det bare at skrive dyr(i) hvor i er nummeret på det output du vil hente.
Vi kan også udskrive dem alle sammen med en "For lykke"
Her kunne det være dejligt at vide hvor mange informationer der gemmer sig i vores Array, og dertil har vi kommandoen Ubound med syntaksen Ubound(Array)

Et eks.
Fold kodeboks ind/udKode 

Output:
elefant
abe
flodhest

Så lad os nu hurtig og smertefrit springe videre til Split

Kort om Split
Split bruges til at dele en streng op, bl.a. via komma separering.

Eks, du har et søgesystem hvor bruger skal indtaste deres søgeord separeret med komma, for at du kan bruge denne output tekst som brugeren skriver til noget vil du være nød til at del strengen op, dette gøres via Split.

Lad os smide noget kode på.
Fold kodeboks ind/udKode 


Funktioner


kort om funktioner
Nu skal vi til et interessant emne, nemlig funktioner. dette vil kunne spare dig for en masse pukkelryg arbejde med at gentage dig selv om og om igen i dine koder.
Med funktioner kan du lave en handling før du bruger den også kalde den når du skal bruge den.
Syntax
Function FunctionName(data1,data2,osv)

Dette er ikke nemt at beskrive så Lad os prøve med et eksempel

lad os sige du har lavet en masse replacer der skal filtrere bande ord væk fra texten på din side så derfor har du lavet en masse "Replacer" som gør det, men dit problem er bare at dette skal du gøre 100 af steder på din side, og dermed skal koden være der 100 af steder, men ikke mere.

det du gør:
Du laver en ny side lad os for at være smart kalde den for functions.asp den skal så indeholde din funktion, som skal filtrere bandeord, og derefter inkludere du den bare på alle de sider den skal være på.
vi laver noget kode:
Fold kodeboks ind/udKode 


nu skal vi bare inkludere siden i et andet dokument, og prøve at bruge funktionen

Include:


der er kun meget lidt at forklare om include, og det er at den inkludere en fil i et asp dokument, dog er der en vigtig ting man skal vide, og det er at den skal være uden for asp tags (<% %>;)

Fold kodeboks ind/udKode 


Brug Funktionen


Lad os bare for en gangs skyld smide koden på i en fart.
Fold kodeboks ind/udKode 

Output: f**k din puha af en tomat

link/smiley/text konverter


Ja nu har jeg jo lovet at her ville være noget kode til at lave en link/smiley/text konverter, dog er det ikke fuldendt, og kun beregnet som en inspirations kilde til hvordan dette kunne laves.
derfor er her også kun koden til det og jeg vil ikke gå i dybden om hvordan og hvorfor det virker, ud over de ovenstående beskrivelser.

Se nu godt efter :)
Fold kodeboks ind/udKode 



Hvad synes du om denne artikel? Giv din mening til kende ved at stemme via pilene til venstre og/eller lægge en kommentar herunder.

Del også gerne artiklen med dine Facebook venner:  

Kommentarer (8)

User
Bruger #3565 @ 01.05.03 01:45
Ups, i konverteren er bruger jeg funktionen FixLength, den eksistere altså ikke i asp, men er en funktion jeg har i mit komplette script. i kan da lige få koden på den :D
men jeg gider altså ikke forklare den :D

Function FixLength(Message)
x = 0
if len(Message) > 100 then
For x = 1 To Len(Message) Step 50
Nstring = Nstring & Mid(Message, x, 50) & Chr(13)
Next
Else
Nstring = Nstring & Message
End If
FixLength = Nstring
End Function
User
Bruger #3565 @ 01.05.03 04:40
howsa, sorry kom vist til at trykke refresh.. det var ikke med vilje :(
User
Bruger #3346 @ 03.05.03 16:32
-Nicenice;) ' <br> <a href="#">her</a>


Nice artikel
User
Bruger #846 @ 13.05.03 20:54
- Fjernede lige den ene kommentar fra forfatteren, som han omtaler. Samme post var der to gange.
User
Bruger #3565 @ 20.05.03 00:07
Egeriis, mange tak.. :D
User
Bruger #714 @ 24.06.03 02:16
Til det med do while: Forskellen kan ikke virke så logisk pga. måden du skriver det på i VB(Script), men i f.eks. PHP ser syntaksen sådan ud:

do {

} while(condition);

altså gør {

} imens(betingelse er opfyldt);

det bemærkelses værdige er at "while" delen sidder i bunden og dermed også testen af om scriptet skal køres. Derfor er forskellen den at en do-while løkke altid vil køre 1 gang. Da den først tester efter hvert gennemløb og ikke inden hvert gennemløb.
User
Bruger #3861 @ 27.06.03 19:56
Tak det var lige det jeg sad og manglede. Det er fedt
;-)
User
Bruger #6929 @ 06.03.05 09:55
Funktionen virker ikke...
Du skal være logget ind for at skrive en kommentar.
t