Avatar billede equip.dk Nybegynder
14. oktober 2003 - 18:01 Der er 30 kommentarer og
1 løsning

hjælp til news script

Når jeg bruger dette simple script viser den de gamle nyheder først...en der ved hvordan man får de sidste nyheder først?

Det ser sådan ud (skriver til en tekstfil):

<%
'Her opretter jeg forbindelse til filen, med skrive rettigheder.
set objFSO = Server.CreateObject("Scripting.FileSystemObject")
fil_navn = "news.txt"
set objTS = objFSO.OpenTextFile(Server.MapPath(""&fil_navn&""), 1)
%><HTML>
<head>
<title>Nyheder</title>
</head>
<table>
<%


Do While not objTS.AtEndOfStream
    data_linie = split(objTS.ReadLine,"    ")
    response.write("<tr bgcolor='#CCFFFF'><td>"& data_linie(0) &"</td></tr>")
    response.write("<tr bgcolor='#CCFFFF'><td><H1>"& data_linie(1) &"</h1></td></tr>")
    response.write("<tr bgcolor='#CCFFFF'><td>"& data_linie(2) &"</td></tr>")
Loop
%>
</table>
</body>
</html>
Avatar billede netro Nybegynder
14. oktober 2003 - 18:04 #1
Opsaml i en variabel og udskriv til sidst.

Do While not objTS.AtEndOfStream
    data_linie = split(objTS.ReadLine,"    ")
    Str = "<tr bgcolor='#CCFFFF'><td>"& data_linie(0) &"</td></tr>" &_
    "<tr bgcolor='#CCFFFF'><td><H1>"& data_linie(1) &"</h1></td></tr>" &_
    "<tr bgcolor='#CCFFFF'><td>"& data_linie(2) &"</td></tr>" & Str
Loop

Response.Write Str
Avatar billede equip.dk Nybegynder
14. oktober 2003 - 18:15 #2
det er jeg ikke sikker på jeg helt forstå? - hvis jeg indsætter:

Do While not objTS.AtEndOfStream
    data_linie = split(objTS.ReadLine,"    ")
    Str = "<tr bgcolor='#CCFFFF'><td>"& data_linie(0) &"</td></tr>" &_
    "<tr bgcolor='#CCFFFF'><td><H1>"& data_linie(1) &"</h1></td></tr>" &_
    "<tr bgcolor='#CCFFFF'><td>"& data_linie(2) &"</td></tr>" & Str
Loop

Response.Write Str

virker det ikke...
Avatar billede netro Nybegynder
14. oktober 2003 - 18:21 #3
?
Avatar billede equip.dk Nybegynder
14. oktober 2003 - 18:28 #4
hvis jeg sætter det her:

Do While not objTS.AtEndOfStream
    data_linie = split(objTS.ReadLine,"    ")
    Str = "<tr bgcolor='#CCFFFF'><td>"& data_linie(0) &"</td></tr>" &_
    "<tr bgcolor='#CCFFFF'><td><H1>"& data_linie(1) &"</h1></td></tr>" &_
    "<tr bgcolor='#CCFFFF'><td>"& data_linie(2) &"</td></tr>" & Str
Loop

Response.Write Str

..ind istedet for:

Do While not objTS.AtEndOfStream
    data_linie = split(objTS.ReadLine,"    ")
    response.write("<tr bgcolor='#CCFFFF'><td>"& data_linie(0) &"</td></tr>")
    response.write("<tr bgcolor='#CCFFFF'><td><H1>"& data_linie(1) &"</h1></td></tr>")
    response.write("<tr bgcolor='#CCFFFF'><td>"& data_linie(2) &"</td></tr>")
Loop

...virker det ikke?
Avatar billede netro Nybegynder
14. oktober 2003 - 18:29 #5
Hvad er DET?
Avatar billede netro Nybegynder
14. oktober 2003 - 18:31 #6
Får du fejl, eller hvad sker der?
Avatar billede equip.dk Nybegynder
14. oktober 2003 - 18:45 #7
ja - fejl
Avatar billede netro Nybegynder
14. oktober 2003 - 18:52 #8
Så kom vi da så langt. Og hvad er det for en fejl?
Avatar billede equip.dk Nybegynder
14. oktober 2003 - 18:55 #9
..sorry

der står:

Microsoft VBScript runtime error '800a0009'
Subscript out of range: '[number: 1]'

/eidos-test/news.asp, line 15
Avatar billede netro Nybegynder
14. oktober 2003 - 19:01 #10
Så ligger fejlen i en af de linier, du splitter ad. Den fejl burde du også have fået før.

Prøv at gøre som følger, så kan du nok selv se, hvor det går galt:

Do While not objTS.AtEndOfStream
    data_linie = split(objTS.ReadLine,"    ")
    If UBound(data_linie) = 2 Then
      Str = "<tr bgcolor='#CCFFFF'><td>"& data_linie(0) &"</td></tr>" &_
      "<tr bgcolor='#CCFFFF'><td><H1>"& data_linie(1) &"</h1></td></tr>" &_
      "<tr bgcolor='#CCFFFF'><td>"& data_linie(2) &"</td></tr>" & Str
    Else
      Str = "<tr bgcolor='#990000'><td>Fejl</td></tr>" & Str
    End If
Loop

Response.Write Str
Avatar billede equip.dk Nybegynder
14. oktober 2003 - 19:07 #11
ups - nu står der kun:

Fejl
Fejl
Fejl
Avatar billede equip.dk Nybegynder
14. oktober 2003 - 19:09 #12
det orginale ser sådan ud:

Do While not objTS.AtEndOfStream
    data_linie = split(objTS.ReadLine,"    ")
    response.write("<tr bgcolor='#CCFFFF'><td>"& data_linie(0) &"</td></tr>")
    response.write("<tr bgcolor='#CCFFFF'><td><H1>"& data_linie(1) &"</h1></td></tr>")
    response.write("<tr bgcolor='#CCFFFF'><td>"& data_linie(2) &"</td></tr>")
Loop
%>
Avatar billede netro Nybegynder
14. oktober 2003 - 19:19 #13
Når du forsøger at aflæse index 2, skal du minimum have 2 gange "    " i hver linie. Og har du ikke det, får du fejl.
Avatar billede equip.dk Nybegynder
14. oktober 2003 - 19:20 #14
? (sorry- er dum i asp)
Avatar billede equip.dk Nybegynder
14. oktober 2003 - 19:23 #15
..men fatter ikke helt hvad du mener?
Avatar billede netro Nybegynder
14. oktober 2003 - 19:23 #16
Hver af dine linie skal have følgende opbygning:

Linie = "abc    def    ghi"

Herefter returneres dette, når du splitter linien ad:

data_linie = Split(Linie, "    ")
data_linie(0) = "abc"
data_linie(1) = "def"
data_linie(2) = "ghi"
Avatar billede netro Nybegynder
14. oktober 2003 - 19:25 #17
Du må have et eller andet formål med at bruge split-funktionen, siden du har kastet dig ud i det.
Avatar billede equip.dk Nybegynder
14. oktober 2003 - 19:27 #18
det er et script jeg har downloadet...
Avatar billede netro Nybegynder
14. oktober 2003 - 19:29 #19
Hmm... Men hvis du forstår min beskrivelse af, hvorfor den giver fejl, kan du selv rette linierne. Eller hvad...?
Avatar billede equip.dk Nybegynder
14. oktober 2003 - 19:30 #20
...ups - gider du snart mere?
Avatar billede netro Nybegynder
14. oktober 2003 - 19:32 #21
Hvis jeg stoppede nu, havde jeg spildt min tid, så jeg foretrækker vi får løst dit problem.
Avatar billede equip.dk Nybegynder
14. oktober 2003 - 19:33 #22
tusind tusind tusind tusind tak...
Avatar billede netro Nybegynder
14. oktober 2003 - 19:35 #23
Kan du ikke vise mig tekstfilen og beskrive, hvad der skal ske med de data i den?
Avatar billede equip.dk Nybegynder
14. oktober 2003 - 19:43 #24
der står feks.:

04.03.02 14:43:56    Hej!    Hejsa!<BR>Dette er den første besked!
05.03.02 14:53:51    den anden    Ja, detter er så nyheds brev nummer to.

..den indeholder nyheder - som man kan skrive ind via add-news.asp som ser sådan ud:

<%
'********Hvad***************
to_do = request("Submit")
'********Login**************
pwd = request.form("pwd")
uid = request.form("usr")
'********Add news***********
head = request.form("head")
text = request.form("news")
'********Setup**************
bruger_navn = "admin"
password = "1234"
'********Connect************
'Her opretter jeg forbindelse til filen, med skrive rettigheder.
set objFSO = Server.CreateObject("Scripting.FileSystemObject")
fil_navn = "news.txt"
set objTS = objFSO.OpenTextFile(Server.MapPath(""&fil_navn&""), 8)

'*******Wath to do***************
if (to_do = "" OR to_do = "Nulstil") then
    response.write("<form action='add-news.asp' method='post'>Usr  :  <input type='text' name='usr'><BR>Pwd : <input type='password' name='pwd'><BR><br>")
    response.write("Overskrift : <input type='text' name='head'><BR>nyhed:<BR><textarea name='news' cols='40' rows='10'></textarea><BR><input type='submit' name='submit' Value='Add'><input type='reset' name='reset' Value='Reset'></form>")
End if

if (to_do = "Add") then
    if ( bruger_navn &"" = ""& uid  AND password &"" = ""& pwd &"")  then
            linie = now &"    "& head & "    " & replace(text, VbCrLf, "<BR>")
            response.write(linie)
            objTS.writeline linie
            objTS.close()
    Else
            response.write("Hey, you! du <u>skal</u> v&aelig;re logget ind, for at tilf&oslash;je nyheder!")
    End if
End if
response.write("<hr>")
response.write("<form action='add-news.asp' method='post'><input type='Submit' name='Submit' value='Nulstil' size='10'></form>")
%>
Avatar billede netro Nybegynder
14. oktober 2003 - 19:47 #25
Er de to linier alt, hvad der står i tekstfilen?
Avatar billede equip.dk Nybegynder
14. oktober 2003 - 19:49 #26
ja - ...der vil jo blive fyldt flere i med tiden.
Avatar billede netro Nybegynder
14. oktober 2003 - 19:50 #27
Så burde det nu heller ikke give fejl. Men jeg forstår ikke, hvorfor du ikke fik fejl til at starte med!?
Avatar billede equip.dk Nybegynder
14. oktober 2003 - 19:57 #28
...nej ok
Avatar billede netro Nybegynder
16. oktober 2003 - 19:40 #29
Hvad er status?
Avatar billede equip.dk Nybegynder
19. oktober 2003 - 21:09 #30
jeg har droppet det - jeg ku ikke få det til at virke...lige nu kæmper jeg med en menu ting http://www.eksperten.dk/spm/416053

Men tak for din hjælp - og der er selvfølgelig point for indsatsen.
Avatar billede netro Nybegynder
19. oktober 2003 - 21:46 #31
Tak for det :)
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