Avatar billede mini-me Nybegynder
06. september 2005 - 12:59 Der er 3 kommentarer og
1 løsning

Sorter Array

Hej,

Jeg er ved at lave en dynamisk sæsson skabelon til mit eget sommerhus.

Jeg har først nogle værdier:
A = Blå B = Rød C = Grå D = Gul E = Grøn

Hver værdi indtaster jeg så ud for en given uge, på denne måde kan jeg nemt indde
le min sæsson skabelon med hensyn til priser.

Det jeg så ønsker nu er at jeg kan sorterer mit array så når jeg viser outputtet af mit array at ugerne kommer fortløbende, for på denne måde er det så muligt for mig at lave en 52 ugers kalender visning.

Min kode er her :

<% if request.ServerVariables("REQUEST_METHOD") = "POST" Then %>
    <%
        for each objItem in request.Form
            ' Generer TEMPLATE :
           
            if strItem = "" then
            strItem = objItem & ":" & Request.Form(objItem)
            else
            strItem = strItem & "," & objItem & ":" & Request.Form(objItem)
            end if
        next   
       
       
        ' Flyt til hidden form
        template = split(strItem,",")
               
        response.Write("<table>")
        maxColPrRow = 6
        colPrRow = 0
       
        for each weekItem in template
           
            'response.Write(weekItem & "<br>")
            weekLeftInstr = instr(weekItem,":")
            weekLeft = left(weekItem,(weekLeftInstr-1))
           
            rightStr = len(weekItem) - weekLeftInstr
            weekRight = right(weekItem,rightStr)
           
            colorStr = "Blue,Red,Gray,YEllow,Green"
            colorSplit = split(colorStr,",")
           
            if lcase(weekRight) = "a" then
                color = colorSplit(0)
            end if
           
            if lcase(weekRight) = "b" then
                color = colorSplit(1)
            end if
           
            if lcase(weekRight) = "c" then
                color = colorSplit(2)
            end if
           
            if lcase(weekRight) = "d" then
                color =  colorSplit(3)
            end if
           
            if lcase(weekRight) = "e" then
                color = colorSplit(4)
            end if
           
           
            if colPrRow = 0 then Response.Write "<tr>"
        %>
        <td><input type="text" name="<% = weekLeft %>" width="2" maxlength="2" style="width:20px;" value="<% = weekRight %>"></td>
        <Td bgcolor="<% = color %>" width="30"></Td>
        <td>Uge <% = weekLeft %></td>
          <%  colPrRow = colPrRow + 1
       
          if colPrRow = maxColPrRow then
            Response.Write "</tr>"
            colPrRow = 0
          end if
           
           
        next
       
        if colPrRow > 0 then Response.Write "</tr>"   
          Response.Write "</table>" %>
          <input type="submit" value="Godkend">
          </Form>
       
<%
response.End()
end if
   
  %>
<Form method="post" action="">
A = Blå
B = Rød
C = Grå
D = Gul
E = Grøn
<%
    response.Write("<table>")
    maxColPrRow = 6
    colPrRow = 0

    For t = 1 to 52
   
          if colPrRow = 0 then Response.Write "<tr>"
        %>
        <td><input type="text" name="Week<% = t %>" width="2" maxlength="2" style="width:20px; "></td>
        <Td bgcolor=""></Td>
        <td>Uge <% = t %></td>
          <%  colPrRow = colPrRow + 1
       
          if colPrRow = maxColPrRow then
            Response.Write "</tr>"
            colPrRow = 0
          end if
   
        Next
    %>
      <%  if colPrRow > 0 then Response.Write "</tr>"   
          Response.Write "</table>" %>
          <input type="submit" value="Anvend">
          </Form>
Avatar billede busschou Praktikant
06. september 2005 - 13:23 #1
i stedet for at sige
----
for each objItem in request.Form
  if strItem = "" then
    strItem = objItem & ":" & Request.Form(objItem)
  else
    strItem = strItem & "," & objItem & ":" & Request.Form(objItem)
  end if
next   
----
Så kan du jo bare benytte dig af at du ved at du har 52 input felter som hedder fra week1 til week52
altså fx
----
for i=1 to 52
  if strItem = "" then
    strItem = i & ":" & Request.Form("week"&i)
  else
    strItem = strItem & "," & i & ":" & Request.Form("week"&i)
  end if
next
Avatar billede busschou Praktikant
06. september 2005 - 13:24 #2
det giver i hver fald ugerne i rækkefølge hos mig :o)
Avatar billede mini-me Nybegynder
06. september 2005 - 13:31 #3
HEhe... tror jeg sover :) Har lige sat, og lavet total samme rutine men i et andet script..! :)
Avatar billede busschou Praktikant
06. september 2005 - 13:34 #4
hehe ok engang imellem kan man jo godt stirre sig blind, godt det virker :o)
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