Gå til innhold

Anbefalte innlegg

Har laget et lite eksempelprogram så andre kan forstå ASP. Dette programmet skriver ut mange linjer med hei. Desto høyere tall j er, desto flere linjer. Tilslutt kommer teksten SLUTT HER og dato og klokkeslett.

 

 

10: DIM i = 1

20: DIM j = (REQUEST.QUERYSTRING("j"))

30: RESPONSE.WRITE("Hei<br>")

40: i = i + 1

50: IF i < j THEN

60: GOTO 30:

70: ELSE

80: RESPONSE.WRITE("SLUTT HER<br>")

90: END IF

100: RESPONSE.WRITE (NOW())

Endret av S_J
Lenke til kommentar
Videoannonse
Annonse

Hei S_J, jeg regner med at du prøver å lære deg ASP mens du lærer andre nybegynnere :)

 

Når du programmerer ASP er det en fin kombinasjon av ASP + VBscript + Evnt Javascript (avhengig av hva du ønsker å gjøre). Deretter kommer SOAP og slikt :)

 

Goto-funksjonen burde vært avskaffet for lengesiden, derfor anbefaler jeg ikke å benytte det i det hele tatt. I eksempelet ditt burde en for-løkke gjøre hele jobben.

 

Dim i,j
j = CLng(Request("ettall")) 'CLng gir feil hvis ettall er tekst
Response.Write "Start looping " & j & " times at" & Now()
For i=0 to j
 Response.Write "Loop: " & i
Next
Response.Write "Slutt at " & Now()

 

Hvis du ønsker å skrive til browseren direkte etter response.write har blitt utført kan du kjøre en Response.Flush

 

En god kilde til referanser rundt ASP og VBScript er http://devguru.com

 

Lykke til videre

Lenke til kommentar
  • 1 måned senere...

lol, programmet virker. Skrev den ut fra hodet uprøvd. Du får henge på <BR> på slutten så får du linjeskift.

 

Det er helt vanlig for en nybegynner å forsvare goto, ofte pga "den er så enkel å forstå". De fleste godt styrte prosjekter setter goto på no-no-lista.

 

Anbefaler å lese om GOTO her:

http://en.wikipedia.org/wiki/GOTO

 

Hvis du er uenig med at goto gir spagetti-code kan du redigere wikien. Stor sansynlighet for at endringen ikke blir godtatt!

Lenke til kommentar

Wikipedia sier ikke at det er noe galt med GOTO, de sier at noen synes det er noe galt med GOTO. Uansett er det ikke så forvirrende om det brukes bare et par ganger i koden og/eller på en oversiktlig måte (alternativet kan noen ganger være verre). Er enig at det kanskje ikke trenges så mye om andre metoder er mulige (og enklere), noe som ofte kan være tilfelle, kanskje her også. Leste du sidene jeg lenket til?

Lenke til kommentar

Har selv vært med i prosjekt med å løse opp i spaghetti kode, goto er et onde. Hvis man skal lære opp folk i programmere ASP burde man lære dem klasser og funksjoner.

 

Hadde man skulle lære bort ASM eller maskinkode ville goto være et must, men ikke i ASP

Lenke til kommentar
Men i Commodore 64 BASIC var det skikkelig råtøft med GOTO.

 

10 PRINT "GOTO er tøft"

20 GOTO 10

Det er da vel fortsatt tøft?

Uansett, man må ikke være så negativ til GOTO, det er ikke bare nybegynnere som sier det. Husk at det finnes også mange andre funksjoner som ligner på GOTO. Og om GOTO er lett å forstå som dere sier, så er det vel greit? De som vil bruke GOTO skal bare bruke det!

Lenke til kommentar

Jeg har da aldri nektet for at C# har goto jeg. Dessverre har det det. Jeg har brukt det en gang, men det var bare latskap fra min side.

 

Men i 99.999999% av alle tilfellene finnes det en bedre måte å løse det på. I lavnivåspråk er det en ting, men i høynivåspråk er det INGEN grunn til å bruke goto. Det er ekstremt dårlig programmeringsskikk, det gjør at man lett mister oversikten over koden og bør, som jeg har sagt, unngås så langt det er mulig.

Lenke til kommentar

ze5400 sa han/hun savnet goto i C#

 

og ja, man kan som regel klare seg uten goto i mange språk, men om det brukes et par ganger betyr ikke det at koden er veldig uoversiktelig.

 

det er i alle fall bra at man har muligheten til goto, men om du ikke vil bruke det så trenger man som regel ikke.

det skal ikke være nødvendig å måtte gi en situasjon der goto er best (men om du leter på internett, så kan du sikkert finne noen, men uansett hva det er så mener sikkert du et det er best å gjøre det på en annen måte).

Lenke til kommentar

Jeg klarer ikke å komme noen ting som GOTO kan løse som ikke ikke if, while, foreach, switch eller metoder løser på en mye mer oversiktelig måte. Det eneste GOTO gjør er å gjøre kode mer uleselig.

 

Det er jo mye enklere å se hvilken kode som hører til en foreach løkke enn å tilfeldigvis støtet på en GOTO som hopper tilbake til et sted i koden.

Lenke til kommentar
Gjest
Dette emnet er stengt for flere svar.
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...