Avatar billede fuzzy2 Nybegynder
16. august 2002 - 23:48 Der er 6 kommentarer og
2 løsninger

goto line?

Er det muligt at skrive noget ASP kode og så lave en
GoTo-sætning
der gør at den går til en speciel linje kode eller et sted man selv bestemmer?

Eller noget med:
GoTo Line 132

Bare et eller andet i ASP (VB Script)

Med venlig hilsen
Troels
Avatar billede jespernaur Nybegynder
16. august 2002 - 23:56 #1
Så vidt jeg ved nej - men det er heller ikke nødvendigt!
Avatar billede fuzzy2 Nybegynder
16. august 2002 - 23:58 #2
Hvad mener du med at det ikke er nødvendigt, det er det for mig, jeg skal desværre bruge noget i den stil!
Avatar billede thesurfer Nybegynder
17. august 2002 - 00:07 #3
du kan bruge if-statements eller select case i stedet..
Avatar billede fuzzy2 Nybegynder
17. august 2002 - 00:16 #4
Jeg kan ikke bruge if-statement og jeg tror heller ikke jeg kan bruge select case... For jeg har noget kode der ser ca. sådan ud:

1. If not Len("" & strEmailAddress) = 0 then
2. objJMail.AddRecipient strEmailAddress
3. Else
4.    
5. End If
6.
      ...og så skal jeg have noget i linje 4. som går til linje 32. hvis altså at ikke strEmailAddress = 0, hvordan gør jeg det???

31.
32. rs.MoveNext
33. Loop
34.

// Mvh Troels
Avatar billede eagleeye Praktikant
17. august 2002 - 00:22 #5
Nej goto kan ikke laves. Du kan lave din if-sætning så mailen bliver send inden for then delen og ikke efter..

do while xxxxx

  If not Len("" & strEmailAddress) = 0 then
    objJMail.AddRecipient strEmailAddress
    ..
    objJMail.Send
  End If

  rs.MoveNext
Loop
Avatar billede fuzzy2 Nybegynder
17. august 2002 - 00:33 #6
jamen det kan jeg ikke da jeg har en side med ca. 300 linjer kode
Avatar billede eagleeye Praktikant
17. august 2002 - 02:25 #7
Det er ikke for at være ond, men typisk betragtes behovet for en Goto at koden er struktureret for dårligt. I C og Visual Basic er der en "function/metode" som hedder goto. Hvis man læser omkring dem på nettet og i bøger er de omtalt i en bisætning og der står altid at man aldrig bør bruge goto, da det giver total ustruktureret kode. I VB vil det se sådan ud:

if fejl = true then
  Goto labelnavn
end if
... mere kode

labelnavn:
... hopper herned


Men den mulighed er fjernet i VBScript/ASP.

Et alternativ kunne være at lave en fejl variable..: error_found = false og så tjekke på den ned igennem koden:

do while xxxxx
  error_found = false

  If not Len("" & strEmailAddress) = 0 then
    objJMail.AddRecipient strEmailAddress
  Else
    error_found = true
  End If

  if error_found = false then
  ...gør noget
  End if
  rs.MoveNext
Loop


----

Et andet alternativ kunne være: On Error Resume Next
Som gør at hvis der er fejl i en linie forsætter den bare til næste linie..:

On Error Resume Next

do while xxx

  If not Len("" & strEmailAddress) = 0 then
  objJMail.AddRecipient strEmailAddress
  End If
 
  rs.MoveNext
Loop


----
Et tredje alternativ, der findes noget som hedder Exit (do|for|function|sub). Så hvis du kan pakke koden ind i en for inden i do loopet så kan du lav en Exit For hvis der opstår et problem:

do while xxxxx

  'hvis man skriver xxx=1 to 1 så vil for sætningen blive kørt en gang,
  'eller indtil den stoppes med Exit For
  for xxx = 1 to 1
    If not Len("" & strEmailAddress) = 0 then
      objJMail.AddRecipient strEmailAddress
    Else
      Exit For 'Hopper ud af for sætningen nede ved next
    End If
   
    ... mere kode
 
  Next
 
  rs.MoveNext
Loop
Avatar billede moroax Nybegynder
17. august 2002 - 04:17 #8
Mjoo..
du KUNNE jo lave en sub tingest ala

Sub line32
'  Put det som skal være på linie 32 ind her
  if noget then
    response.write "linie 32"
  end if
end sub


1. If not Len("" & strEmailAddress) = 0 then
2. objJMail.AddRecipient strEmailAddress
3. Else
4.    call lini32
5. End If
6.


* MoRoax.dk
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester