webForumDet fria alternativet

Plocka ut från ett visst tecken i en textfil

ASP

10 svar · 329 visningar · startad av MickeA.com

Medlem sedan feb. 20034 441 inlägg
Frågan#1

Hej

Har följande:

' Skapar objektetet på server som hanterar Textfilen.
Set objFSO = CreateObject("Scripting.FileSystemObject")

' Öppnar textfilen inuti objektet.
Set objFil = objFSO.OpenTextFile(Server.MapPath("textfile.txt"),1)

' Läser av allt som står i textfilen och sparar det i variablen vi kallar för 'AllText'.
AllText = objFil.readAll

' När vi läst av textfilen, kan vi stänga objektet, det kommer inte att behövas mer nu.
objFil.close

' Skickar in variabeln till Flash, där all låtinformation sparats.
Response.Write(AllText)

Nu vet jag inte hur det ligger till, men jag måste iaf. kunna plocka ut allt i textfilen från och med CHR 10 och ta ut allt därefter, sen spara det i en variabel.

Så, hur ska jg lösa det här? JAg har faktiskt ingen som helst aning ;)

Tack !

Medlem sedan jan. 20032 285 inlägg
#2
strEfterChr10 = Split(AllText, Chr(10))(1)

/red Ok, kanske inte så bra... Det är nog bättre med detta:

strEfterChr10 = Right(AllText, Len(AllText) - InStr(AllText, Chr(10)))
Medlem sedan dec. 20003 887 inlägg
#3

Eller... en variant till ;)

strEfterChr10 = Mid(AllText, InStr(AllText, Chr(10)))
Medlem sedan feb. 20034 441 inlägg
#4

Jasså, kanon, när jag kommer hem från jobbet så ska jag se hur det blir med den här filen.

Har även en fråga.

Med FSO, kan man ENDAST öpnna filer vars attribut är txt. ?? Filen jag behöver öppna heter nämligen .asc (eller ngt liknande), den innehåller bara lite text, vilken jag ska plocka ut m.h.a det här. Tack !

Medlem sedan juni 200032 967 inlägg
#5

MickeA.com skrev:

Med FSO, kan man ENDAST öpnna filer vars attribut är txt. ?? Filen jag behöver öppna heter nämligen .asc (eller ngt liknande), den innehåller bara lite text, vilken jag ska plocka ut m.h.a det här. Tack !

Det har ingen som helst betydelse vad filen heter.

Medlem sedan feb. 20034 441 inlägg
#6

Hmm, antingen har jag varit luddig eller så har ni missuppfattat det hela, för inget av ovanstående funkar, den plockar ut helt fel saker.
Såhär ser BILBOARD.ASC ut:

Playing   EAGLE-EYE CHERRY                                  SKULL TATTOO                                      03:05.35  
Cued      BOB MARLEY                                        COULD YOU BE LOVED                                03:41.26

Det jag ska ha ut ifrån den är:

EAGLE EYE CHERRY
SKULL TATTOO
03:05.35

Jag vill ha det formaterat såhär:

EAGLE EYE CHERRY - SKULL TATTOO - 03:05.35

Tyvärr går det inte att skriva den här BILBOARD.ASC på ngt annat sätt, det är en radioserver som skapar filen.

Nu när jag använder ngt av förslagen ovan så får jag ut den andra låten, alltså den som står efter Cued. Jag ska ha ut den som står efter played, helt formaterat som jag visar ovan.

Tack !

Medlem sedan maj 2002560 inlägg
#7
DeJagVillHa = Split(AllText, chr(10))
Response.Write Replace(Replace(DeJagVillHa(0), "  ", " "), "Playing ", "")

Bindestäcken får du trixa dit själv ; )

/red Eller kanske

[red]DeJagVillHa = Split(AllText, chr(10))
DeJagVillHa(0) = Replace(DeJagVillHa(0), "Playing ", "")
DeJagVillHa(0) = Replace(DeJagVillHa(0), " ", "-")
DeJagVillHa(0) = Replace(DeJagVillHa(0), "--", "-")
DeJagVillHa(0) = Replace(DeJagVillHa(0), "-", " - ")[/red]
Medlem sedan feb. 20034 441 inlägg
#8

Tack, faan va glad jag blev nu ;)

Medlem sedan maj 2002560 inlägg
#9

BTW.. Om det fungerar så får du gärna markera tråden som löst :)

Medlem sedan feb. 20034 441 inlägg
#10

Nja... Nu blev det ändrade bud, nu ska inte längden vara med, alltså bara artisten och låtnamnet. Får inte till det. Det är inte helt löst än... ;)

PS.

DeJagVillHa = Split(AllText, chr(10)) & ""
DeJagVillHa(0) = Replace(DeJagVillHa(0), "Playing ", "")
DeJagVillHa(0) = Replace(DeJagVillHa(0), " ", "-")
DeJagVillHa(0) = Replace(DeJagVillHa(0), "--", "-")
DeJagVillHa(0) = Replace(DeJagVillHa(0), "-", " - ")

Inkompatible Typer får jag om jag kör med det...

Medlem sedan maj 2002560 inlägg
#11
Dim DeJagVillHa
DeJagVillHa = Split(AllText, chr(10))

DeJagVillHa(0) = "" & Right(Left(DeJagVillHa(0), Len(DeJagVillHa(0)) - (Len(DeJagVillHa(0)) - InStrRev(DeJagVillHa(0), " "))), Len(DeJagVillHa(0)) - 8)

DeJagVillHa(0) = Replace([b]Trim([/b]DeJagVillHa(0)[b])[/b], " ", "-")
DeJagVillHa(0) = Replace(DeJagVillHa(0), "--", "-")
DeJagVillHa(0) = Replace(DeJagVillHa(0), "-", " - ")

så då...

red1 Redigeringen är boldad : )
red2 Denna koden kanske är att föredra då låtnamnet får innehålla "Playing " : /

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