webForumDet fria alternativet

Avancerad loop?

6 svar · 217 visningar · startad av saw

sawMedlem sedan mars 20011 880 inlägg
#1

Bara mest för skoj skull, så försöker jag att skriva ut ascii-tabellen. Nu är det ju så, att den gör många hop i numrena. Den går ifrån :
33 - 383
402
416 - 417
431 - 432
461 - 476
osv alltså en massa hop.
Om jag skriver som vanligt:
For i = 33 TO 500 så får jag ju åxå med dom tomma luckerna (som bara skriver ut fyrkant.
Kan man på något sätt komma förbi detta problem?

------------------
saw
__
saw@songer.com
www.saw.songer.com
_
_

VideMedlem sedan dec. 19998 577 inlägg
#2

Bara att ändra värdet av i där det blir en lucka:

For i = 33 To 476
'gör dina saker här
If i = 383 Then i = 401
If i = 402 Then i = 415
If i = 417 Then i = 430
If i = 412 Then i = 460
'OSV
Next

Mvh, Vide

------------------
Budweiser - Slightly contaminated water... probably harmless, but I would recommend boiling before you drink it...
webEye.nu SweQuake.com

sawMedlem sedan mars 20011 880 inlägg
#3

Jo jag kom så lång åxå, men TO-värdet?
Om jag försöker med att ändra det i if-satsen så för jag fel!!

------------------
saw
__
saw@songer.com
www.saw.songer.com
_
_

LarsGMedlem sedan dec. 200012 464 inlägg
#4
i = cint(33)
while i <= 476
'gör dina saker här
If i = 383 Then 
   i = 401
elseif i = 402 Then 
   i = 415
elseif i = 417 Then 
   i = 430
elseif i = 412 Then 
   i = 460
else
   i = i + 1
end if
wend

------------------
essentitia preter non sans multiplicandum

VideMedlem sedan dec. 19998 577 inlägg
#5

Eller varför inte: ;)

For i = 33 To 476
'gör dina saker här
Select Case i
Case 383
i = 401
Case 402
i = 415
Case 417
i = 430
Case 412
i = 460
End Select
Next

To värdet kan du inte ändra i efterhand, men du kan när som helt anrop "Exit For" för att hoppa ur loopen... t.ex om värdet överstiger 500:

For i = 33 To 476
'gör dina saker här
Select Case i
Case 383
i = 401
Case 402
i = 415
Case 417
i = 430
Case 412
i = 460
Case 500
Exit For
End Select
Next

------------------
Budweiser - Slightly contaminated water... probably harmless, but I would recommend boiling before you drink it...
webEye.nu SweQuake.com

sawMedlem sedan mars 20011 880 inlägg
#6

Jag har försökt så här, men det lyckas inte alls:

Dim i,j,k

iNr=33
j=33
k=383

response.write "<table border=1><tr><td>"

For i = j TO k
If i = 383 THEN
j = 402
k = 403
ElseIf i = 403 THEN
j = 416
k = 417
ElseIf i = 417 THEN
j = 431
k = 432
ElseIf i = 432 THEN
j = 461
k = 476
End If

iNr=iNr+1
Response.Write "<TD><FONT SIZE=2>" & i & " = " & "&#" & i &";" & "</FONT></td>"

If iNr=53 Then
response.write "</td></tr><tr><TD>"
iNr=33
End If
Next
response.write "</FONT></tr></td></table>"
Den stanar efter första if-satsen, varför? :q

------------------
saw
__
saw@songer.com
www.saw.songer.com
_
_

VideMedlem sedan dec. 19998 577 inlägg
#7

därför att To-värdet är satt till det värdet... och så slutar satsen... du får sätta k-värdet till det högsta AscII-värdet...

------------------
Budweiser - Slightly contaminated water... probably harmless, but I would recommend boiling before you drink it...
webEye.nu SweQuake.com

128 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
125 ms — hämta tråd, inlägg och bilagor (db)