Just nu i M3-nätverket
Gå till innehåll

Göra sträng av array?


Jakob Nanneson

Rekommendera Poster

Jakob Nanneson

Varför fungerar inte detta?

 

strCurrentTrack = arrCurrTrack(0)

 

Hur gör man sträng av array?

 

Type mismatch

 

 

[inlägget ändrat 2002-12-07 17:58:29 av Jakob Nanneson]

Länk till kommentar
Dela på andra webbplatser

Jakob Nanneson

Expected end of statement

 

dim CurrentTrack as string

----------------^

 

 

Förstår inte alls...

 

Länk till kommentar
Dela på andra webbplatser

har du deklarerat din array också?

 

t ex, om den ska innehålla max fem värden:

 

dim arrCurrTrack(4)

 

Länk till kommentar
Dela på andra webbplatser

Jakob Nanneson

Men jag måste ju i vilket fall börja med att deklarera något.

 

Då skriver jag "dim x as string", men får fel på det; "Expected end of statement", vid x-et.

 

Jag skriver asp för övrigt.

 

 

[inlägget ändrat 2002-12-07 18:14:07 av Jakob Nanneson]

Länk till kommentar
Dela på andra webbplatser

Jakob Nanneson

Verkar inte som om man ska deklarera alls i asp. Så smidigt då.

 

Men det blir ju fel i vilket fall som helst, några tips på varför det blir "Type mismatch" på detta?

 

CurrentTrack = Trim(arrCurrTrack(0))

 

Länk till kommentar
Dela på andra webbplatser

Är arrCurrTrack(0) en sträng?

 

Du kan använda följande för att se vilken typ det är:

response.write("<br>type: "& TypeName(arrCurrTrack(0) &"<br>")

 

om det är ett tal eller liknande, så kan du använda CStr för att göra om det till en sträng, men.. är det ett tal behöver du inte köra Trim.

CurrentTrack=CStr(arrCurrTrack(0))

 

Ciao,

Anders

 

Länk till kommentar
Dela på andra webbplatser

Jakob Nanneson

Jag har gjort om min kod en del, men får det fortfarande inte att fungera.

 

Koden ska ta strängen och separera numrering med titel. Om inget nummer finns är det ok.

 

Det verkar vara problem med att splitta arrayn. Dessutom funderar jag på om jag inte måste kontrollera om det verklingen finns något värde innan jag fortsätter.

 

dim str
str = "1. Kakan har 1 lämnat huset; 12) Tjolahopptjolalej; Lakej med smör;"

dim arrTracks, arrNumFind, tracknum, trackname
arrTracks = Split(str,";")
For n=0 To UBound(arrTracks)
	arrNumFind = Split(Trim(arrTracks(n))," ")
	If IsNumeric(arrNumFind(0)) Then
		tracknum = arrNumFind(0)
	End If
	trackname = Replace(arrTracks(n),tracknum,"","1","1")

	Response.Write(tracknum)
	Response.Write(trackname)
Next

 

 

Microsoft VBScript runtime (0x800A0009)

Subscript out of range: '[number: 0]'

 

Tacksam för all hjälp!

 

[inlägget ändrat 2002-12-08 13:47:17 av Jakob Nanneson]

Länk till kommentar
Dela på andra webbplatser

jag vet inte riktigt vad du är ute efter men jag la till en ubond test på arrNumFind så den inte ska testa en arry som är tom så nu funkar ditt script men om den gör rätt det vet jag inte =)

 

dim str

str = "1. Kakan har 1 lämnat huset; 12) Tjolahopptjolalej; Lakej med smör;"

 

dim arrTracks, arrNumFind, tracknum, trackname

arrTracks = Split(str,";")

For n=0 To UBound(arrTracks)

arrNumFind = Split(Trim(arrTracks(n))," ")

if ubound(arrNumFind) > 0 Then

If IsNumeric(arrNumFind(0)) then tracknum = arrNumFind(0)

end if

trackname = Replace(arrTracks(n),tracknum,"","1","1")

 

Response.Write("tracknum=" & tracknum & "<br>")

Response.Write("tracknum=" & trackname & "<br>")

Next

 

Länk till kommentar
Dela på andra webbplatser

Jakob Nanneson

Det sista semikolonet skapade en tom array som gjorde att det hela slutade fungera. En test med ubound kollade om det fanns något innehåll, vilket löste biffen.

 

Tack.

 

Länk till kommentar
Dela på andra webbplatser

Arkiverat

Det här ämnet är nu arkiverat och är stängt för ytterligare svar.

×
×
  • Skapa nytt...