Hej,
Lauritz Jensen har flere gange hintet efter, om ikke vi skulle have en
FAQ/OSS for gruppen. Det synes jeg er en rigtig god idé, men da han
skrev det, tænkte jeg, at det ville være for billigt bare at svare
Hørt! Hørt!, da det jo ikke er mig som nybegynder, der skal lave
arbejdet.
Men da jeg efter et par måneder med ASP måske er en af dem, der har
begynder-problemerne tæt inde på livet, tænkte jeg, at jeg måske kunne
bidrage med lidt "begynder-erfaringer".
Det skal ikke foregive at være den eviggyldige sandhed - og det skulle
heller ikke undre mig, om der både er fejl og uhensigtsmæssigheder,
men her er i hvert lidt at starte på.
Rettelser og tilføjelser er *meget* velkomne.
Hvis det kan hjælpe nogen er jeg glad. Og hvis det kan skubbe lidt på
FAQ-projektet er jeg næsten lykkelig ;)
Jeg har delt det op således:
1) Start med en god Tutorial
2) ASP-problemer er ofte ikke ASP-problemer
3) Kig de erfarne over skulderen
4) Et par praktiske hints
5) Der er masser af web-sider om ASP
1) Start med en god Tutorial
****************************
Jeg har selv fået meget ud af den på
<URL:
http://html.dk/tutorials/asp/default.asp>
- prøv selv eksemplerne af. Lav nogle variationer, så du får lidt
føling med, hvad du kan, og hvad du ikke kan.
Microsofts kortfattede tutorial findes her:
<URL:
http://msdn.microsoft.com/workshop/server/asp/asptutorial.asp>
2) ASP-problemer er ofte ikke ASP-problemer
*******************************************
De fleste begynder-problemer med ASP hænger oftest ikke sammen med
ASP, men med de "værktøjer", som ASP bruger - fx:
* script-sproget (oftest VBScript, måske JavaScript)
* databasen (for begyndere oftest MS Access)
* SQL
* HTML/CSS
- så brug hjælp/dokumentation til disse ting.
HTML/CSS vil jeg ikke kommentere. Der findes mængder af indføringer
rundt omkring - fx på html.dk.
Dog lige én kommentar: Den HTML man laver på ASP-sider bør ikke være
ringere, end hvis når laver "rene" HTML_sider. Der er nok en tendens
til at ASP-sider bliver erklæret færdige, når den datamæssige del er i
orden. Brug lige lidt ekstra tid på at få HTML'en helt på plads. Og er
du i tvivl, så brug en validator. Den bedste findes på W3C:
<URL:
http://validator.w3.org/>
JavaScript har jeg ingen erfaringer med, så det vil jeg overlade til
andre at kommentere.
VB Script
---------
Hent VBScript 5.5 Documentation:
<URL:
http://msdn.microsoft.com/scripting/default.htm?/scripting/vbScript/download/vbsdown.htm>
- den er i Windows' kompileret HTML-format (.chm)
Jeg har den stort set altid åben, når jeg laver ASP - både til at
sikre korrekt syntaks, men også til at lede efter den "rigtige"
funktion i den alfabetiske liste.
Eller brug den online:
<URL:
http://msdn.microsoft.com/scripting/default.htm?/scripting/vbscript/techinfo/vbsdocs.htm>
- eller:
<URL:
http://html.dk/dokumentation/vbscript/html-vss/vbstoc.htm>
(som jeg dog ikke kan få til at virke i Opera 5??)
MS Access
---------
Det absolut vigtigste hjælpeværktøj er F1-hjælpen. Den kan virke
voldsom (jeg ved ikke hvor mange tusinde bogsider, den ville svare
til) og uoverskuelig, men det kan sagtens betale sig at bruge et par
timer på at gøre sig lidt mere dus med den. Den er et uundværligt
opslagsværk.
Access har sin egen nyhedsgruppe:
<URL: news://dk.edb.database.ms-access>
SQL
---
En udmærket tutorial på én HTML-side (ca 90 kB):
<URL:
http://w3.one.net/~jhoffman/sqltut.htm>
- har masser af links til andre nyttige sider
Findes også i PDF-format:
<URL:
http://www.highcroft.com/highcroft/sql_intro.pdf>
Derudover indeholder MS Access' Online Hjælp også en grundig intro til
SQL.
NB: Vær opmærksom på, at SQL finde i flere "dialekter". Selv om
strukturen er den samme, er der mindre variationer fra program til
program. Og ikke alt kan lade sig gøre i alle programmer!
3) Kig de erfarne over skulderen
********************************
- eller: Stjæl med arme og ben!
Det er en stor fordel at kigge nogle scripts igennem. Både for at lære
nogle "tricks", men også for at lære lidt om, hvordan man gør scripts
læsbare (for andre - eller for sig selv om 2 måneder, når man lige
skal have rettet et eller andet).
Se nogle af linksene nederst.
Disclaimer til "Stjæl med arme og ben": Nogle scripts, man støder på,
har copyright, og det skal man naturligvis respektere. Det betyder dog
ikke, at man ikke kan lade sig inspirere af, hvordan andre har gjort.
4) Et par praktiske hints
*************************
Alle (næsten) går på et tidspunkt i stå med et problem, som man ikke
kan løse. Og så har vi jo Usenet/News/nyhedsgrupperne. Brug dem.
Men inden du spørger, er der nogle ting du kan gøre for at checke om
det bare er en detalje, du har overset:
a) Brug fejlmeddelelserne
-------------------------
ASP leverer oftest nogle meget nyttige fejlmeddelelser, hvis ens
script ikke fungerer.
Er der tale om syntaks-fejl, får man oftest serveret på et sølvfad på
nøjagtig hvilken linie, det går galt!
Brug dem.
Nogle (ret få) fejlmeddelelser kan være lidt mere kryptiske, men dem
lærer du hurtigt ved at følge med i nyhedsgruppen - eller ved egen
erfaring.
b) Indgræns dit problem
-----------------------
ASP-scripts afvikles ovenfra og ned. Og formentlig er dit script delt
op i afgrænsede "små-scripts", som udfører hver sin del af arbejdet.
Når du skal fejlsøge i dit script, så tag hver del for sig og
undersøg, om den faktisk leverer det resultat, du forventer.
Bruger du en funktion eller en script-stump, som du ikke er helt dus
med, så test den af for sig selv, inden du kæder den sammen med
resten.
På den måde undgår du at skulle gætte på, hvilken af dine 37 variable,
der nu ikke opfører dig, som du ønsker.
Et andet godt værktøj til at indgrænse fejl er Reponse.Write
c) Brug Response.Write
----------------------
Reponse.Write er uundværlig, hvis man skal teste, hvor i scriptet det
går galt. Den kan nemlig bruges til at udskrive værdien af en variabel
på et vilkårligt sted i scriptet.
Det gøres nemmest ved at indsætte et par linier efter den del, du vil
undersøge:
Response.Write var1
Response.Write var2
Response.End
Disse linier udskriver værdien af de to variable, var1 og var2, på det
sted, hvor du indsætter linierne, og stopper udførelsen af resten af
scriptet.
Hvis det ser rigtigt ud, så hop videre til næste del - men lad være
med at slette de første linier. Lad dem blive stående som kommentarer:
' Response.Write var1
' Response.Write var2
' Response.End
- så er de nemme at aktivere igen, hvis du skulle få brug for det. Du
kan så rydde op, når alt fungerer.
(Hvis man skal have mange variable udskrevet kan det godt betale sig
at pynte lidt:
Response.Write "var1: " & var1 & "<br>" & vbcrlf
Response.Write "var2: " & var2 & "<br>" & vbcrlf
Response.End
- så bliver udskriften mere læselig.)
** Specielt er det ofte nyttigt at udskrive sin
** SQL-streng - den er årsag til *mange* fejl
** Skriv:
** Response.Write strSQL
** Response.End
** umiddelbart efter du har dannet SQL-strengen.
** Så vil fejlen ofte stå bøjet i neon :)
d) Brug Option Explicit
-----------------------
Det er god programmeringsskik at "erklære sine variable" - meget gerne
med en kort forklaring på, hvad de bruges til.
Det gøres med:
Dim var1, var2 '-- bruges til whatever
Hvis man så samtidig placerer
<% Option Explicit %>
øverst i sit script, vil man få en fejl meddelelse, hvis der er brugt
en variabel, som ikke er erklæret (eller hvis den er erklæret flere
gange).
Option Explicit fanger fejl, hvis man fx er kommet til at stave en
variabel forkert. Men det hjælper også med til at bevare overblikket
over hvilke variable, man "har i spil", når man fx skal fejlfinde.
e) Brug rigeligt med kommentarer
--------------------------------
Kommentér dit script undervejs. Det hjælper dig til at bevare
overblikket. Og det hjælper, når du (eller en anden) senere skal ændre
i scriptet - og hvor det der forekom logisk og ligetil, da du skrev
det, i mellemtiden er blevet det rene volapyk.
Kommentér når:
- du erklærer variable
- starter (og slutter) en ny funktion (hvad enten det så er en
egentlig funktion eller blot en selvstændig script-stump)
- når du trækker resultater ud
- og når det ellers virker naturligt (hvis du fx har lavet din egen
smarte løsning på et problem).
f) Check din HTML-source
------------------------
Ofte kan man finde sin fejl ved blot at kigge i HTML-sourcen i
browseren.
Der er måske smuttet et anførselstegn eller et &, som cutter en
variabel af, og som afslører sig i HTML-kildekoden.
5) Der er masser af web-sider om ASP
************************************
Når du er kommet igennem en tutorial eller to, kan du finde svar på
(stort set) alt det andet på www.
Jeg vil kun nævne et par links, som jeg har brugt en del. Andre må
tilføje deres favoritter.
Alle de nævnte har dog tilsammen links til alt hvad der er værd at
vide om ASP.
* Learn ASP
<URL:
http://www.learnasp.com/learn/>
Har svar på mange af de problemer, man som begynder støder på.
Fornuftigt struktureret - dog er der et par huller, som mangler at
blive fyldt ud.
* ASPFAQs.com
<URL:
http://www.aspfaqs.com/ASPFAQS/>
En lang række af "Ofte stillede spørgsmål", hvor man ofte kan få svar
på sit begynder-problem.
Siderne er lavet af:
* 4 Guys From Rolla
<URL:
http://www.4guysfromrolla.com/>
- som bl.a. har nogle "ASP Coding Tips":
<URL:
http://www.4guysfromrolla.com/webtech/top10/>
* ASP 101
<URL:
http://www.asp101.com/samples/index.asp>
Nydeligt og overksueligt design. Masser af eksempler. Emne-opdelte
diskussions-fora med 10.000-vis af indlæg.
Et par af de danske har også nogle udmærkede artikler, men der er
oftest ikke meget, man ikke kan få bedre på de udenlandske. Dog er
diskussionsforummet (spørgsmål-svar) ind imellem til gavn for
begyndere.
Har man det lidt svært med for meget engelsk, er de dog uundværlige.
Et par af dem:
* ActiveServerPages.dk
<URL:
http://www.activeserverpages.dk/>
Nok det bedste danske ASP-site. Overskueligt design og mange gode
artikler. Diskussionsforum med *mange* indlæg.
*
www.asp.dk
<URL:
http://www.asp.dk/technology.asp?tech_id=1>
- er egentlig en afdeling af Netcoders:
<URL:
http://netcoders.dk/>
Lider noget under alt for meget clientside JavaScript, som de ikke har
helt styr på.
* Experten.dk
<URL:
http://www.eksperten.dk/kategori/3>
- et spørgsmål-svar forum, hvor man tjener points ved at svare.
Pointene kan man så sætte på højkant, hvis man skal have løst et
problem.
* Teknologisk Instituts Access/SQL Server-brugergruppe
<URL:
http://www.cit.teknologisk.dk/brugergrupper/accesserfa/videnbase/default.asp>
Har ikke så meget, men er lidt anderledes end "de sædvanlige".
Som sagt:
Rettelser og tilføjelser er *meget* velkomne.
Mvh. Jørn
--
Jørn Andersen
Brønshøj