Har arbejdet lidt med ASPimage, men ikke nok og det interesserer mig heller ikke specielt, nok derfor jeg har lidt svært ved at tage mig sammen.
Men nok om det, her er min problemformulering.
Jeg har et community, hvor man kan oprette sig som bruger og vælge sit køn samtidigt.
Nu vil jeg så lave en illustration i ASPImage, der viser fordelingningen mellem damer og mænd.
I en cirkel er der 360 grader, det er jo så 100% af cirklen.
Så vi står faktisk med en ligning der siger:
360/100% = Damer+Mænd
Problemet er bare, at vi ikke har tallet på hverken har tallet på damer som mænd.
For at vi skal få det til at passe, skal vi jo regne damer og mænd om til procent og derefter om til grader på en eller anden måde.
Jeg har i lang tid prøvet at løse den, men kan simpelthen ikke få det gjort, så begynder på en helt frisk med at spørge herinde.
Her er koden:
<%
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "PROVIDER=MSDASQL;DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & Server.MapPath("database/database.mdb")
sql = "SELECT COUNT(*) AS antal FROM brugere WHERE Mand-Dame='Mand'"
set rs = conn.execute(sql)
sql = "SELECT COUNT(*) AS antal FROM brugere WHERE Mand-Dame='Dame'"
set rs2 = conn.execute(sql)
Ialt = rs("antal")+rs2("antal")
ProcentHan = Round((rs("antal")/Ialt)*100, 1)
ProcentHun = Round((rs2("antal")/Ialt)*100, 1)
'1% = 3,6 Grader.
VinkelMand = ProcentMand*3.6
VinkelDame = ProcentDame*3.6
arrFarver = Array(vbBlue,vbRed)
arrVinkler = Array(VinkelMand,VinkelDame)
intS = 90
Set Image = Server.CreateObject("AspImage.Image")
Image.MaxX = intS
Image.MaxY = intS
X_2 = (0.5*intS)
Y_2 = 0
For i = 0 to Ubound(arrVinkler)
X_1 = (0.5*intS)
Y_1 = (0.5*intS)
X_R = (X_2 - X_1)
Y_R = (Y_2 - Y_1)
pi = 4 * Atn(1)
CosAng = Cos(arrVinkler(i)*pi/180)
SinAng = Sin(arrVinkler(i)*pi/180)
X_3 = ((X_R*CosAng)-(Y_R*SinAng))+X_1
Y_3 = ((Y_R*CosAng)+(X_R*SinAng))+Y_1
Image.BackgroundColor = arrFarver(i)
Image.Pie 0, 0, intS, intS, X_2, (intS-Y_2), X_3, (intS-Y_3)
X_2 = X_3
Y_2 = Y_3
Next
Response.ContentType = "image/gif"
Response.BinaryWrite Image.Image
Set Image = nothing
conn.close
set conn = nothing
%>
Jeg håber virkeligt, at der er en af jer derude der kan finde ud af det... og forstår hvad jeg mener.
På forhånd tak.
(Hvorfor søren fulgte man ikke også med i matematik i folkeskolen?
)