17. august 2004 - 12:23
Der er
1 kommentar og
1 løsning
problem med gengangere..
jeg har et system der udbyder nogle services
de services er samlet i nogle pakker med et antal services i hver
hver pakke og hver service har en udløbsdato
service udløbsdatoen kommer fra den pakke den tilhører
mit problem er så at nogle pakker har de samme services..
og dvs at når der er en klient der har to pakker med nogle overlappende services så skal service udløbsdatoen selvfølgelig være fra den pakke der gælder længst..
jeg har så alle mine serviceid og service udløbsdatoer i en komma og kolon separeret streng der ser sådan her ud:
1:17-12-2004,4:11-12-2004,3:24-12-2004,1:12-12-2004
osv osv
jeg ska så ha løbet den igennem så jeg får en streng hvor jeg har sorteret gengangerne fra og taget den højeste/længste udløbsdato på de services der var gengangere
jeg er kørt totalt fast.. nogle ideer?
17. august 2004 - 13:45
#1
Prøv sådan her:
<%
str = "1:17-12-2004,4:11-12-2004,3:24-12-2004,1:12-12-2004"
arrServiceDato=Split(str,",")
ReDim arrID(ubound(arrServiceDato))
ReDim arrDato(ubound(arrServiceDato))
i_ny=0
for i = 0 to ubound(arrServiceDato)
fundetID=false
arrtmp = Split(arrServiceDato(i),":")
for j = 0 to ubound(arrID)
if arrtmp(0)=arrID(j) then
fundetID=true
if CDate(arrtmp(1)) > CDate(arrDato(j))
arrDato(j)=arrtmp(1)
end if
exit for
end if
next
if fundetID=false then
arrID(i_ny)=arrtmp(0)
arrDato(i_ny)=arrtmp(1)
i_ny=i_ny+1
end if
next
'laver ny service / dato str
for i=0 to ubound(arrID)
if arrID(i) <> "" and arrDato(i) <> "" then
nystr = nystr & "," & arrID(i) & ":" & arrDato(i)
end if
next
nystr = mid(nystr,2) 'fjerner første komma
Response.write "orginal : " & str & "<br>"
Response.write "ny : " & nystr & "<br>"
%>