Avatar billede mskjoldp Novice
28. marts 2005 - 01:30 Der er 6 kommentarer og
1 løsning

array rækkefølge ens med array2 rækkefølge

Hey E

IIS5.0/ASP/Javascript/IE

grundlæggende kode:
bla bla
        arrCustom = Split(strIndhold,";")
        ReDim arrFinal(ubound(arrCustom))
        For i = 0 to ubound(arrCustom) - 1
            arrFinal(i) = arrIndhold(CInt(arrCustom(i)))
            db = db & "''" & arrIndhold(CInt(arrCustom(i))) & "''" & ","
        Next
        db = Left(db, Len(db) - 1)

// udskrift af db:
''MOC_stelnr'',''MOC_enhed'',''MOC_blocknr'',''MOC_MLU'',''MOC_minutter'',''MOC_motortimer'',''MOC_SI_min''


// her sætter j så titleArray overfor widthArray som så virker således at hvis db indeholder de 4 første var i arrayet, så tages de 4 første var fra widthArray.

        titleArray = Split(db,",")
        widthArray = Array(45,45,10,10,57,45,45)
        for i = 0 to ubound(titleArray)
            iTotalt = iTotalt + widthArray(i)
        next
        Session("venstreW") = iTotalt
bla bla

Problemet opstår når fx db indeholder 1. og 2. var i titleArrayet + det 5. var - FORDI widthArray så BARE tager de 3 første var i sit array...

Løsningen j ønsker er at i ex ovenfor SKAL widthArray tage de 2 første var + den 5. var, IKKE bare de 3 første...

Hvordan gør jeg det?

titleArray kan maskimalt indeholde:
''MOC_stelnr'',''MOC_enhed'',''MOC_blocknr'',''MOC_MLU'',''MOC_minutter'',''MOC_motortimer'',''MOC_SI_min''

men der kan fravælges nogen var i titleArray'et

Problemet er vel at der ikke er sat nogen tal rækkefølge på titleArray'ets værdier.. derfor kan widthArray'et ikke vide hvilken værdi der tilhører hvilke titelArray:værdier
Avatar billede mskjoldp Novice
28. marts 2005 - 01:42 #1
har prøvet dette, dog med tomt udtræk:

        titleArray = Split(db,",")
        widthArray = Array(45,45,10,10,57,45,45)
        for i = 0 to ubound(titleArray)
            if (titleArray(i) = "MOC_stelnr") Then
            iTotalt = iTotalt + 45
'            end if
            elseif (titleArray(i) = "MOC_enhed") Then
            iTotalt = iTotalt + 45
'            end if
            elseif (titleArray(i) = "MOC_blocknr") Then
            iTotalt = iTotalt + 10
'            end if
            elseif (titleArray(i) = "MOC_MLU") Then
            iTotalt = iTotalt + 10
'            end if
            elseif (titleArray(i) = "MOC_minutter") Then
            iTotalt = iTotalt + 57
'            end if
            elseif (titleArray(i) = "MOC_motortimer") Then
            iTotalt = iTotalt + 45
'            end if
            elseif (titleArray(i) = "MOC_SI_min") Then
            iTotalt = iTotalt + 45
            end if
           
            iTotalt = iTotalt
'            iTotalt = iTotalt + widthArray(i)
        next
        Response.Write(iTotalt)
Avatar billede gammelhat Nybegynder
28. marts 2005 - 01:53 #2
Du kan forsøge dig med et dictionary objekt..

Set dic = Server.CreateObject("Scripting.Dictionary")
dic.Add "MOC_stelnr", 45
dic.Add "MOC_enhed", 45
dic.Add "MOC_blocknr", 10
dic.Add "MOC_MLU", 10
dic.Add "MOC_minutter", 57
dic.Add "MOC_motortimer", 45
dic.Add "MOC_SI_min", 45

titleArray = Split(db,",")

for i = 0 to ubound(titleArray)
    iTotalt = iTotalt + dic(titleArray(i))
next
Avatar billede gammelhat Nybegynder
28. marts 2005 - 01:56 #3
Men du sammenligner også forkert. Du sætter '' rundt om, den tager du ikke højde for

If var = "MOC_stelnr" Then

skal vel være

If var = "''MOC_stelnr''" Then
Avatar billede mskjoldp Novice
28. marts 2005 - 01:57 #4
tjow .. prøver det lige
Avatar billede mskjoldp Novice
28. marts 2005 - 02:11 #5
det ser ud til at kunne lykkedes... men j er løbet tør for tid i nat.. vender tilbage :D
Avatar billede mskjoldp Novice
05. april 2005 - 17:35 #6
gammelhat jeg har oprettet et yderligere spg du gerne må se på: http://www.eksperten.dk/spm/606740

Og jeg finder din løsning brugbar, så du å neget gerne ligge et svar :)
Avatar billede mskjoldp Novice
12. april 2005 - 16:53 #7
savner svar fra gammelhat... lukker spg
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