Fetstil Fetstil Kursiv Understrykning linje färgläggning tabellverk Punktlista Nummerlista Vänster Centrerat högerställt Utfyllt Länk Bild htmlmode
  • Forum & Blog
    • Forum - översikt
      • .Net
        • asp.net generellt
        • c#
        • vb.net
        • f#
        • silverlight
        • microsoft surface
        • visual studio .net
      • databaser
        • sql-server
        • databaser
        • access
        • mysql
      • mjukvara klient
        • datorer och komponenter
        • nätverk, lan/wan
        • operativsystem
        • programvaror
        • säkerhet, inställningar
        • windows server
        • allmänt
        • crystal reports
        • exchange/outlook
        • microsoft office
      • mjukvara server
        • active directory
        • biztalk
        • exchange
        • linux
        • sharepoint
        • webbservers
        • sql server
      • appar (win/mobil)
      • programspråk
        • c++
        • delphi
        • java
        • quick basic
        • visual basic
      • scripting
        • asp 3.0
        • flash actionscript
        • html css
        • javascript
        • php
        • regular expresssion
        • xml
      • spel och grafik
        • DirectX
        • Spel och grafik
      • ledning
        • Arkitektur
        • Systemutveckling
        • krav och test
        • projektledning
        • ledningsfrågor
      • vb-sektioner
        • activeX
        • windows api
        • elektronik
        • internet
        • komponenter
        • nätverk
        • operativsystem
      • övriga forum
        • arbete karriär
        • erbjuda uppdrag och tjänster
        • juridiska frågor
        • köp och sälj
        • matematik och fysik
        • intern information
        • skrivklåda
        • webb-operatörer
    • Posta inlägg i forumet
    • Chatta med andra
  • Konto
    • Medlemssida
    • Byta lösenord
    • Bli bonsumedlem
    • iMail
  • Material
    • Tips & tricks
    • Artiklar
    • Programarkiv
  • JOBB
  • Student
    • Studentlicenser
  • KONTAKT
    • Om pellesoft
    • Grundare
    • Kontakta oss
    • Annonsering
    • Partners
    • Felanmälan
  • Logga in

Hem / Forum översikt / inlägg

Posta nytt inlägg


if sats

Postades av 2006-09-18 11:21:48 - Christian Otrel, i forum asp - allmänt, Tråden har 13 Kommentarer och lästs av 712 personer

finns det något sätt att avbryta loopningen av en if sats?
En for sats kan man ju avbryta med End For men finns det något liknande för if satser?


Svara

Sv: if sats

Postades av 2006-09-18 11:40:01 - Peter Larsson

Ehh, du kan inte göra en loop med en if-sats...


Svara

Sv:if sats

Postades av 2006-09-18 11:50:14 - Christian Otrel

Sorry. Jag uttrycker mig fel. Jag vill alltså avbryta exekveringen av en villkorssats och misstänker att jag blandar ihop c++, vb och vbscript eftersom jag har för mig att jag sett något liknande. Jag har ett svagt minne av "break" eller "End" men det stämmer säkert inte. Misstänker att någon kan bekräfta detta.


Svara

Sv: if sats

Postades av 2006-09-18 11:59:44 - Peter Larsson

Kan du ge oss ett exempel?


Svara

Sv:if sats

Postades av 2006-09-18 12:07:30 - Christian Otrel

ja, det blir ju så. Fast min fråga var om vbscript för asp.


Svara

Sv: if sats

Postades av 2006-09-18 12:09:29 - Christian Otrel

Hmm. Jag såg ett svar från dig med ett exempel? (Det var det jag svarade på..)


Svara

Sv:if sats

Postades av 2006-09-18 12:54:04 - Christian Otrel

Här är ett exempel jag bråkar med just nu. If villkorsatsen som testar med
(If DIClista(j) = randomnumber then) är den som rullas igenom fler gånger än den skall.
Den bryter inte när den fått False som vilkor och listan i dictionaryt får också dubletter då.


<%

Dim randomnumber
Dim DIClista
Set DIClista = CreateObject("Scripting.Dictionary")
Randomize
AntalImages = 20
MaxAntal = 20
for i=1 to AntalImages 'räkna så att vi får alla nummer i MaxAntal

'ta fram ett slump nummer
randomnumber = Int( Rnd * Maxantal ) + 1

'Här är kontrollen som inte funkar...
For j=0 to DIClista.Count
If DIClista(j) = randomnumber then
exit for
i = i - 1
Else
DIClista(i) = randomnumber
End If
Next
'testutskrift
response.write i & ", "
response.write DIClista(i) %> <br> <%
Next
%>


Svara

Sv: if sats

Postades av 2006-09-18 14:14:07 - Peter Larsson

Problemet är att du vid kontrollen ersätter gamla värden med det nya slumptalet om slumptalet inte existerar:

Else 
  DIClista(i) = randomnumber 
End If 


Detta skall funka, har ej testat det då jag ej har tillgång till IIS.
Sedan är detta inte en bra lösning på problemet. Om du har REJÄLT med otur kan du fastna i oändlighet. :)

<% 

Dim randomnumber 
Dim DIClista 
Set DIClista = CreateObject("Scripting.Dictionary") 
Randomize 
AntalImages = 20 
MaxAntal = 20 

for i=1 to AntalImages    'räkna så att vi får alla nummer i MaxAntal 

    'ta fram ett slump nummer 
    Dim cont
    cont = true    
    do while cont
        randomnumber = Int( Rnd * Maxantal ) + 1   

            'Kontrollera om slumptal redan existerar...
            Dim found
            found = false
            For j=0 to DIClista.Count 
                If DIClista(j) = randomnumber then
    		found = true
                    exit for
                End If 
             Next 

            ' Lägg till slumptal om det ej existerade, annars leta efter ett nytt.
            if not found then
	DIClista(i) = randomnumber
	cont = false
            end if
    loop

'testutskrift 
response.write i  & ", " 
response.write DIClista(i) %> <br>  <% 
Next
%>


/ Peter


Svara

Sv:if sats

Postades av 2006-09-18 14:22:49 - Christian Otrel

Det funkar hur bra som helst! Detta löste mitt problem. Tack!! :)


Svara

Sv: if sats

Postades av 2006-09-18 14:39:24 - Stefan Brännström

Ett tillägg... det finns ju sätt att avbryta loopar med... Exit For eller Exit Do


Svara

Sv:if sats

Postades av 2006-09-18 14:51:53 - Peter Larsson

Precis, det är det vi använder oss av.
Visst hade vi kunnat lägga "Exit Do" istället för "Do While".


Svara

Sv: if sats

Postades av 2006-09-18 15:11:39 - Peter Larsson

Hej Christian.
Så bra att den funkade :)

Har skrivit ihop en bättre lösning om du vill ha, som är <b>MYCKET</b> snabbare (när du skall ha MÅNGA unika slumptal, dock så kräver den mer minne juh fler unika tal det gäller att söka bland).

' minRange - lowest value
' maxRange - highest value
' numbers - number of values (has to be <= than maxRange-minRange+1)
Function GetUniqueIntList(minRange, maxRange, numbers)
' Declaration of variables.
Dim srcList(), uniqueList()
Dim rndNb, size

' Calculate size of source-list.
size = maxRange-minRange+1

' Redimension source- and unique-list.
ReDim srcList(size)
ReDim uniqueList(numbers)

' Create source list
' {minRange, minRange+1, minRage+2, ..., maxRange}
For i=0 To size-1
 srcList(i) = i + minRange
Next

Randomize 

' Create random list.
For i=0 To numbers
 ' Get random value from source list.
 rndNb = Int(Rnd * size)

 ' Save random value.
 uniqueList(i) = srcList(rndNb)
 
 ' Remove random value from source list.
 For j=rndNb To size-1
  srcList(j) = srcList(j+1)
 Next

 ' Size of source list.
 size = size-1
Next

' Return unique list.
GetUniqueIntList = uniqueList

End Function


<b>Exempel</b>
 Dim list
 list = GetUniqueIntList(100,200,50)
 For i=0 To 49
  Response.Write list(i) & "<br>"
 Next


/ Peter


Svara

Sv:if sats

Postades av 2006-09-18 15:20:48 - Christian Otrel

Hej!
Bra lösning du skrivit ihop! Den är ju helt perfekt. :)


Svara

Sv: if sats

Postades av 2006-09-18 15:27:28 - Peter Larsson

Hehe :)
Bra att du får användning av den :)


Svara

Nyligen

  • 09:09 Vill du köpa medicinska tester?
  • 12:47 Vem beviljar assistansen – kommune
  • 14:17 Någon med erfarenhet av hemstädnin
  • 14:14 Bör man använda sig av en båtförme
  • 14:12 Finns det någon intressant hundblo
  • 14:25 Tips på verktyg för att skapa QR-k
  • 14:23 Tips på verktyg för att skapa QR-k
  • 20:52 Fungerer innskuddsbonuser egentlig

Sidor

  • Hem
  • Bli bonusmedlem
  • Läs artiklar
  • Chatta med andra
  • Sök och erbjud jobb
  • Kontakta oss
  • Studentlicenser
  • Skriv en artikel

Statistik

Antal besökare:
Antal medlemmar:
Antal inlägg:
Online:
På chatten:
4 569 170
27 953
271 705
1 618
0

Kontakta oss

Frågor runt konsultation, rådgivning, uppdrag, rekrytering, annonsering och övriga ärenden. Ring: 0730-88 22 24 | pelle@pellesoft.se

© 1986-2013 PelleSoft AB. Last Build 4.1.7169.18070 (2019-08-18 10:02:21) 4.0.30319.42000
  • Om
  • Kontakta
  • Regler
  • Cookies