webForumDet fria alternativet

Array

ASP

14 svar · 437 visningar · startad av Boorg

Medlem sedan okt. 2004409 inlägg
Frågan#1

Jag skulle vilja kontrollera om en array är tom.
Men får då medelandet: Subscript out of range: '[number: 0]'

			If IsEmpty(KlarDatum(0)) = False And IsEmpty(KlarTask(0)) = False Then
Medlem sedan dec. 200012 464 inlägg
#2
if IsEmpty(KlarDatum)
Medlem sedan okt. 2004409 inlägg
#3

Andvänder man inte true eller false på isempty?

Medlem sedan apr. 20031 660 inlägg
#4

HEJ!

Boorg skrev:

Använder man inte true eller false på isempty?

Jo, men du behöver inte sätta =true/false om det var det du menade?

http://www.devguru.com/Technologies/vbscript/quickref/isempty.html

Medlem sedan dec. 20003 887 inlägg
#5

Boorg skrev:

Andvänder man inte true eller false på isempty?

Jo, men du kan inte använda referera till ett index som inte finns i din Array KlarDatum*(0)***.

if(IsEmpty(KlarDatum)) then

[blue]'är detsamma som[/blue]
if(IsEmpty(KlarDatum) = true) then
Medlem sedan okt. 2004409 inlägg
#6

Engine^ skrev:

Boorg skrev:

Andvänder man inte true eller false på isempty?

Jo, men du kan inte använda referera till ett index som inte finns i din Array KlarDatum*(0)***.

if(IsEmpty(KlarDatum)) then

[blue]'är detsamma som[/blue]
if(IsEmpty(KlarDatum) = true) then

Hmm okej... men hur ska jag göra om jag vill referera till nummer 0. Minsta värdet? så att inte alla värden skrivs ut? måste man loopa igenom det då?

Medlem sedan juni 200032 967 inlägg
#7

Om det är en array, och om den har något innehåll, så får du ange ett index. Men du måste se till att kontrollera det först.

Medlem sedan okt. 2004409 inlägg
#8

Hmm okej...

	sokDatum = Dateum & "^" & Taskcode
	sokSession = Session("srtDatum")
	delDatum = Split(sokSession,";")
	 FilterDatumB = Filter(delDatum, sokDatum, True, 1)
	 If Not IsEmpty(FilterDatumb) Then
	 FilterDatumA = Filter(sokSession, sokDatum, False, 1)
	ArryDatum = Join(FilterDatumA)
	ArryDatum = Split(ArryDatum,";")
	  Session("srtDatum") = ArryDatum
	   Else
	strDatum = Session("srtDatum") & Dateum & "^" & Taskcode & ";"
	  Session("srtDatum") = strDatum
	ArryDatum = Split(strDatum,";")
	   End If

Det hörihop med detta... så jag har kommit fram till att det är detta som är problemet... Men inte riktigt vad det är för fel. Har suttit med detta nu konstant i minst 3 timmar och bara stirrat! jag håller på att bli galen...

Medlem sedan juni 200032 967 inlägg
#9

Jag förstår att du blir galen, koden går ju inte att läsa.

Indentera koden ordentligt till att börja med, så man kan läsa den utan att få huvudvärk när man försöker hänga med.

Medlem sedan okt. 2004409 inlägg
#10

hmmm.. och hur skall jag indentera min kod?

Medlem sedan juni 200032 967 inlägg
#11

Tab fungerar bra...

Medlem sedan juni 200032 967 inlägg
#12

På det här sättet går koden att läsa:

sokDatum = Dateum & "^" & Taskcode
sokSession = Session("srtDatum")
delDatum = Split(sokSession,";")
FilterDatumB = Filter(delDatum, sokDatum, True, 1)

If Not IsEmpty(FilterDatumb) Then
	FilterDatumA = Filter(sokSession, sokDatum, False, 1)
	ArryDatum = Join(FilterDatumA)
	ArryDatum = Split(ArryDatum,";")
	Session("srtDatum") = ArryDatum
Else
	strDatum = Session("srtDatum") & Dateum & "^" & Taskcode & ";"
	Session("srtDatum") = strDatum
	ArryDatum = Split(strDatum,";")
End If
Medlem sedan okt. 2004409 inlägg
#13

Jo det ser juh betydligt lättar ut att läsa.. Men problemet kvarstår...
Det är något knepigt med sessionen tror jag... ibland vill den va med men ibland inte :/

Medlem sedan jan. 2004128 inlägg
#14
Session("srtDatum") = ArryDatum

Kan man bara kasta in en array i en session sådär?

Medlem sedan juni 200032 967 inlägg
#15

SprayMaphia skrev:

Kan man bara kasta in en array i en session sådär?

Ja, det kan man. läsa lite

- - - - - - - - - -

Boorg, vad innehåller de olika variablerna när det fungerar? När det inte fungerar?

267 ms totalt · 4 externa anrop · v20260731065814-full.1dc6f849
129 ms — deklarationer (db)
0 ms — hämta statistik (cache)
135 ms — hämta tråd, inlägg och bilagor (db)
123 ms — ändringar (db)