Avatar billede secher35 Nybegynder
15. januar 2009 - 21:47 Der er 10 kommentarer og
1 løsning

Array - 0x800A0009 script out of range

Hej
Jeg har sidet og fået grå hår i et par timer nu og kan bare ikke se hvor fejlen ligger.

Håber der er nogle der kan hjælpe.

main.asp
<%
Dim fso, f, filespec
Set fso = CreateObject("Scripting.FileSystemObject")
filespec = Server.Mappath("/abc/indhold.txt")
Set f = fso.OpenTextFile(filespec,1)

Do While not f.AtEndOfStream

  arrM = Split(f.ReadLine,";")

  Response.write "<td>" & arrM(0) & "</td>"

Loop

f.Close
%>

i kan se fejlen her: http://www.secher.me.uk/abc/error.asp

håber i kn se noget ud fra det her.
Avatar billede secher35 Nybegynder
15. januar 2009 - 21:49 #1
Her kommer lige alt min kode, tror måske at det skal ses.

error.asp
<html>
    <head>
        <title>Ninki</title>

<link rel="stylesheet" href="css/style.css" type="text/css">

    </head>

<body bgcolor="#AFE3C7" background="pix/bg.jpg" style="background-repeat: repeat-x;">

<form id="opgave" method="post" onsubmit="return tjekFormular(this);">

<%
Const ForReading = 1, ForWriting = 2, ForAppending = 8
Dim fso, f, cnt
Set fso = CreateObject("Scripting.FileSystemObject")
Set f = fso.OpenTextFile("../abc/indhold.txt", ForAppending, True)
cnt = 0
for each fld in request.form
  if cnt > 0 then f.write ";"
  f.write request.form(fld)
  cnt = cnt + 1
next
f.WriteLine
%>

<p>Error Log</p>
<label for="t1" class="size">Dato:</label>
<input id="t1" type="text" name="dato" class="wickEnabled" />(fx. 20/06/1986)<br />

<label for="t2" class="size">Klokken:</label>
<input id="t2" type="text" name="klokken" class="wickEnabled" />(fx. 20.00)<br />

<label for="t3" class="size">Sted:</label>
<input id="t3" type="text" name="sted" class="wickEnabled" /><br />

<label for="t4" class="size">Fejl:</label>
<textarea id="t4" name="fejl" rows="10" cols="52"></textarea><br />

<label for="t7">&nbsp;</label>
<input id="t7" class="knap" type="submit" value="Opret" />
<input class="knap" type="reset" value="Slet Alt" />
<div id="fejl" style="visibility: hidden;">Udfyld Venligst Alle Felterne</div>
<%
f.Close
%>
</form>
<form>
                <%

                    server.Execute "main.asp"

                %>
</form>
</body>

</html>


main.asp
<table>
<%
Dim fso, f, filespec
Set fso = CreateObject("Scripting.FileSystemObject")
filespec = Server.Mappath("/abc/indhold.txt")
Set f = fso.OpenTextFile(filespec,1)

' Læs linie for linie indtil slutningen af filen
Do While not f.AtEndOfStream

' Lav array ved at splitte ved semikollon
  arrM = Split(f.ReadLine,";")

' Skriv links - hent oplysningerne i array
  Response.write "<td>" & arrM(0) & "</td>"

Loop

f.Close
%>
</table>

indhold.txt
Avatar billede secher35 Nybegynder
15. januar 2009 - 21:49 #2
15/01/09;18.27;Bilhuset Nyborg;teknisk fejl
Avatar billede softspot Forsker
15. januar 2009 - 21:54 #3
Jeg vil tro det er fordi du har en blank linie i slutningen af din tekstfil...
Avatar billede secher35 Nybegynder
15. januar 2009 - 21:55 #4
en blank linie? kan kun se den ene linie med:
15/01/09;18.27;Bilhuset Nyborg;teknisk fejl

intet under det?
Avatar billede softspot Forsker
15. januar 2009 - 21:58 #5
Du kan prøve at konstruere din løkke, så den er lidt mere venligt stemt overfor "uregelmæssigheder", f.eks. således:

Do While not f.AtEndOfStream
  ln = f.ReadLine

  if len(trim(ln)) > 0 then
    arrM = Split(f.ReadLine,";")
    if ubound(arrM) > -1 then
      Response.write "<td>" & arrM(0) & "</td>"
    end if
  end if
Loop
Avatar billede softspot Forsker
15. januar 2009 - 21:59 #6
15/01-2009 21:55:52 >> ikke engang et linieskift efter den ene linje der er i filen...?
Avatar billede secher35 Nybegynder
15. januar 2009 - 22:01 #7
nej er der ikke.

Jeg har lige prøvet at smide din kode id og nu køre siden uden fejl men den læser ikke fra filen.
Avatar billede softspot Forsker
15. januar 2009 - 22:14 #8
Sorry! Split skal udføres på variablens indhold og ikke fra filen (igen) - det skal jo gå galt! :)

Do While not f.AtEndOfStream
  ln = f.ReadLine

  if len(trim(ln)) > 0 then
    arrM = Split(ln,";")
    if ubound(arrM) > -1 then
      Response.write "<td>" & arrM(0) & "</td>"
    end if
  end if
Loop
Avatar billede secher35 Nybegynder
15. januar 2009 - 22:19 #9
hehe jah selfølgelig..
Det her er jo fantastisk. det virker.. tusind tak for hjælpen.. :) smid et svar.
Avatar billede softspot Forsker
15. januar 2009 - 22:21 #10
Velbekomme :)
Avatar billede softspot Forsker
15. januar 2009 - 22:25 #11
Tak for point :)
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