---
title: "Skapa en 2 dimensionel array"
type: "forum-thread"
url: "https://www.webforum.nu/amne/asp/13860-skapa-en-2-dimensionel-array"
topic: "ASP"
topic_url: "https://www.webforum.nu/amne/asp"
author: "erka"
published: "2002-01-18T10:13:00.000Z"
updated: "2002-01-18T14:05:00.000Z"
replies: 8
views: 245
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/asp/13860-skapa-en-2-dimensionel-array"
---

# Skapa en 2 dimensionel array

## #1 — erka, 2002-01-18T10:13Z

Hej om jag har en text fil som innehåller typ något sådant här

Eriks Sida,erik.html 
Annas Sida,anna.html 
Leifs Sida,leig.hmtl 

Sen har jag en sida som ska öppna denna textfil och bryta upp dem vid varje vbCrlf och sen vid varje , tecken så att jag kan loopa igenom arrayen och skriva ut först en rad med namnet på sidan och sen länken, sedan hoppa till nästa rad i textfilen (nästa position i arrayen) hur går jag tillväga då.

Hoppas någon förstår hur jag menar.

Texfilen öppnar jag så här

```
Set fso = CreateObject("Scripting.FileSystemObject") 
ReadFile = fso.OpenTextFile(strFileExact, 1).ReadAll 
Set fso = Nothing
```

tacksam

Permalänk: https://www.webforum.nu/p/13860

## #2 — LarsG, 2002-01-18T12:00Z

```
Set fso = CreateObject("Scripting.FileSystemObject") 
response.write replace(replace(fso.OpenTextFile(strFileExact, 1).ReadAll,vbcrlf,"<br>"),","," ")
Set fso = Nothing
```

Permalänk: https://www.webforum.nu/p/304422

## #3 — erka, 2002-01-18T12:17Z

Tack larsG, jag hade mer tänkt att skriva ut en länk, var kanske lite oklar i min beskrivning ovan. Går det att skriva ut en en länk med sidan som adress och texten innan , tecknet som text på länken ?

Permalänk: https://www.webforum.nu/p/304423

## #4 — LarsG, 2002-01-18T12:38Z

Jag förstår. Är det inte enklare att läsa rad för rad då.

```
Set fso = CreateObject("Scripting.FileSystemObject") 
set inputFile = object.OpenTextFile(strFileExact,1)
while not inputFile.atEndOfStream
inputLine = inputFile.readline
position = instr(inputLine,",")
response.write mid(inputLine,1,position-1)
response.write "<a href='" & _
mid(inputLine,position+1) & "'>Något käckt</a><br>"
wend
inputFile.close
Set fso = Nothing
```

Permalänk: https://www.webforum.nu/p/304424

## #5 — erka, 2002-01-18T12:48Z

Jo det hade jag först

```
strFileExact = strPath + strFile
Set Fso = CreateObject("Scripting.FileSystemObject") 
Set Fso = Fso.GetFile(strFileExact) 
Set ReadFile = Fso.OpenAsTextStream(1, -2) 

Do While not ReadFile.AtEndOfStream 
	strRad = ReadFile.ReadLine 
	strKomma=inStr(strRad, ",") 
	strTxt=left(strRad, strKomma-1) 
	strSida=mid(strRad, strKomma+1) 
	Response.Write"<a href="""& strSida &""">"& strTxt &"</a>"
	Loop 
Readfile.Close
Set ReadFile = Nothing
```

Jag ville ha den i en array för att kunna stänga fso objektet tidigt och att använda de uppgifterna jag får ut på varje rad på andra ställen än i loopen. Smidigare med en array

Permalänk: https://www.webforum.nu/p/304425

## #6 — LarsG, 2002-01-18T12:57Z

```
Set fso = CreateObject("Scripting.FileSystemObject") 
ReadFile = fso.OpenTextFile(strFileExact, 1).ReadAll 
Set fso = Nothing

arr = split(readfile,vbcrlf)

for i = 0 to ubound(arr)
strRad = arr(i)
strKomma=inStr(strRad, ",") 
strTxt=left(strRad, strKomma-1) 
strSida=mid(strRad, strKomma+1) 
Response.Write"<a href="""& strSida &""">"& strTxt &"</a>"
Loop
```

Permalänk: https://www.webforum.nu/p/304426

## #7 — erka, 2002-01-18T13:54Z

Tack larsg, your the greatest :) FÖrutom att du skrev loop istället för next.

Ett litet problem bara, när den skrivit ut alla länkarna kommer detta upp

```
Körningsfel i Microsoft VBScript fel '800a0005' 

Ogiltigt proceduranrop eller argument.: 'left'
```

som är detta

strTxt=left(strRad, strKomma-1)

Permalänk: https://www.webforum.nu/p/304427

## #8 — LarsG, 2002-01-18T14:01Z

Det beror på att det i din fil finns minst en (1) rad som inte innehåller något komma. 
Detta medför att strKomma får värdet 0 och du skickar in -1 som argument till left vilket den uppfattar som kränkande.

```
Set fso = CreateObject("Scripting.FileSystemObject") 
ReadFile = fso.OpenTextFile(strFileExact, 1).ReadAll 
Set fso = Nothing
arr = split(readfile,vbcrlf)

for i = 0 to ubound(arr)
strRad = arr(i)
strKomma=inStr(strRad, ",") 
if strKomma > 0 then
   strTxt=left(strRad, strKomma-1) 
else
   strTxt="Text saknas"
end if
strSida=mid(strRad, strKomma+1) 
Response.Write"<a href="""& strSida &""">"& strTxt &"</a>"
next
```

kanske?

red:

eller så borde du lägga in en kontroll om raden är tom också

```
Set fso = CreateObject("Scripting.FileSystemObject") 
ReadFile = fso.OpenTextFile(strFileExact, 1).ReadAll 
Set fso = Nothing
arr = split(readfile,vbcrlf)

for i = 0 to ubound(arr)
strRad = arr(i)
if len(strRad) > 0 then
strKomma=inStr(strRad, ",") 
if strKomma > 0 then
   strTxt=left(strRad, strKomma-1) 
else
   strTxt="Text saknas"
end if
strSida=mid(strRad, strKomma+1) 
Response.Write"<a href="""& strSida &""">"& strTxt &"</a>"
end if
next
```

Permalänk: https://www.webforum.nu/p/304428

## #9 — erka, 2002-01-18T14:05Z

Ibland så undrar man :) Tack igen, nu ska jag inte kräva din uppmärksamhet mer, he he..Ha en trevlig helg!

Permalänk: https://www.webforum.nu/p/304429

---

Tråden på webben: https://www.webforum.nu/amne/asp/13860-skapa-en-2-dimensionel-array
