Avatar billede montago Praktikant
27. december 2003 - 17:15 Der er 4 kommentarer og
1 løsning

Problem med farveskift mht "procent" beregning

Jeg en mega database... som indeholder 5 kolloner, alle med en INT værdi mellem 0 og 10^100

jeg vil gerne i kraft af disse tal have opstillet en Case Select eller If-Then-Else sætning som kan tilskrive Variablen "Farve" en værdier
----------

Dim sv1, sv2, sv3, sv4, sv5, sv6
      sv1 = int(CarsforRate("svar1") * 0  )
      sv2 = int(CarsforRate("svar2") * 20 )
      sv3 = int(CarsforRate("svar3") * 40 )
      sv4 = int(CarsforRate("svar4") * 60 )
      sv5 = int(CarsforRate("svar5") * 80 )
      sv6 = int(CarsforRate("svar6") * 100)
      Dim Coolness
      If (sumsvar = 0) then sumsvar = 1
      coolness = int((sv1 + sv2 + sv3 + sv4 + sv5 + sv6) / sumsvar)
      Response.Write(Coolness)

Dim Farve
'(tilskrivning af farven)

------------
Farven skal derefter bruges her:
-----------
<table bgcolor="<%=Farve%>" border="1" cellpadding="0" cellspacing="0" width="<%=coolness%>%">
-----------

Um muligt kunne jeg godt tænke mig at Farven var mere nuanceret... dvs. en procentvis opdelt spektra, fra GRØN gennem GUL til RØD
Avatar billede montago Praktikant
27. december 2003 - 17:17 #1
fx. mellem 0 og 50 procent går nuancerne mellem (Coolness = 0 =GRØN) til (Coolness = 50 = GUL) og videre (Coolness = 100 = RØD)
Avatar billede montago Praktikant
27. december 2003 - 17:18 #2
Jeg har selv prøvet... men fik en WEND fejl...

noget med at en sætning var ventet
Avatar billede montago Praktikant
27. december 2003 - 18:42 #3
Jeg løste det selv...

<%
Dim intRed, intGreen, intBlue, strColor

    if (coolness < 50) then
        intRed         = int(coolness / 100 * 255)
    else
        intRed         = 255
    end if
   
    intBlue     = 0
   
    if (coolness > 50) then
        intGreen     = int(255 - (coolness / 100 * 255))
    else
        intGreen     = 255
    end if

   
    strColor = "rgb(" & intRed & "," & intGreen & "," & intBlue & ")"
%>

<table style="background-color:<%=strColor%>" border="1" cellpadding="0" cellspacing="0" width="<%=coolness%>%">
Avatar billede montago Praktikant
27. december 2003 - 18:43 #4
der skulle bare lidt matematik til ;-)
Avatar billede montago Praktikant
27. december 2003 - 19:13 #5
Rettelse:

    if (coolness < 50) then
        intRed         = int((2 * coolness / 100) * 255)
        intGreen     = 255
    else
        intRed         = 255
        intGreen     = int(((100 - coolness) / 100) * 255) * 2
    end if
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