webForumDet fria alternativet

Akut problem med uppdelning av en rad till variabler..

ASP

9 svar · 259 visningar · startad av K++

Medlem sedan juli 2002171 inlägg
Frågan#1

Hej,
har fått ett akut problem som måste vara löst tills på fredag, till problematiken:

Jag har en sådanhär dat.fil:
130,2004,82,1430,1.063,95.8,1.446,8.79,32.57,0.596,3.802,105.1,0.4,342.9,14.41,0,997.4
130,2004,82,1500,0.872,96.1,2.113,10.67,28.09,0.77,3.665,109.8,0.3,343.2,14.41,0,997.82
130,2004,82,1530,0.752,96.3,2.047,13.18,32.92,0.779,3.9,76.3,0.3,343.5,14.4,0,998.22
130,2004,82,1600,0.612,96.1,2.134,8.62,31.41,0.946,4.684,65.6,0.1,343.6,14.4,0,998.63
130,2004,82,1630,0.527,95.9,2.188,5.567,36.19,0.939,4.724,29.94,0,343.7,14.4,0,999.08
130,2004,82,1700,0.404,95.7,1.91,359.4,31.31,0.935,5.096,26.33,0,343.7,14.4,0,999.57
130,2004,82,1730,0.284,95.5,2.186,354.3,30.17,0.915,4.743,8.41,0,343.7,14.4,0,999.99
130,2004,82,1800,0.133,95.6,2.25,353.7,30.41,0.981,5.684,3.432,0,343.7,14.4,0,1000.5

Jag vill läsa ned den nedersta filen. Men jag vet inte riktigt hur all kod ska se ut..
Jag vet inte hur man ska få in värderna till en ASP-fil (jag vill enbart ha de sista värderna
Allting är separerat med kommatecken.

Var väldigt läge sedan jag använde ASP, men jag har kommit så här långt:

<%

Dim Sista_rad

Set dat_f = CreateObject("Scripting.FileSystemObject")

If dat_f.FileExists("c:\inetpub\12012312.dat") = True Then

dat_f.OpenTextFile("c:\inetpub\12012312.dat")

Do Until dat_f.AtEndOfLine

Sista_rad = dat_f.ReadLine

Loop

// Detta borde göra att Sista_raden ligger i variabeln Sista_rad
// men härifrån har jag ingen aning om hur man delar upp detta i ASP,
// kan nog göra ett script i c++ om det skulle vara till någon hjälp.

dat_f.close

else

response.write("error")

end if

%>

Tack för mig

Medlem sedan dec. 200012 464 inlägg
#2

v = split(sista_rad,",")
for i = 0 to ubound(v)
   'hantera v(i)
next
Medlem sedan juli 2002171 inlägg
#3

v = split(sista_rad,",")
for i = 0 to ubound(v)
   'hantera v(i)
next

visst då splitar jag alla saker, men är kanske lite trög nu men hur gör man det in i olika variabler.. har ASP överhuvudtaget arrays?

Medlem sedan dec. 200012 464 inlägg
#4

Ok, då har du alla värden i en array. Vad vill du göra med dessa värden?

Vad menar du med

till en ASP-fil

?

Medlem sedan juli 2002171 inlägg
#5

Oj, jag måste varit lite stressad, med en Asp-fil menar jag med att jag borde få in värderna i variabler på ngt sätt..

men om vi lägger in detta:

Dim v

v = split(sista_rad,",")

for i = 0 to ubound(v)
    v(i)
next

ger detta resultatet:

v = Array("130","2004","82","1800","0.133,".. osv)

I sådana fall är det coolt.. För då kan jag enkelt få ut det jag vill ha genom:

v(0),v(1),v(2)

och så vidare.. Skulle vara coolt om det fungerar..

Medlem sedan maj 200010 687 inlägg
#6

Yes, precis så är det.

Dock är det inte ASP som har arrays utan det är VBScript.

Medlem sedan apr. 20022 743 inlägg
#7

K++ skrev:

Skulle vara coolt om det fungerar..

Förstår mig aldrig på sånt, varför testar man bara inte för att se om det funkar istället för att anta att det inte gör det?

Medlem sedan juli 2002171 inlägg
#8

kan inte.. Har inte tillgång till webhotell / PWS / IIS eller chilisoftASP. Så jag kan inte

Medlem sedan juli 2002171 inlägg
#9

Installerade nyss IIS, detta ville tydligen inte fungera:

Do Until dat_f.AtEndOfLine 

Sista_rad = dat_f.ReadLine 

Loop

Får bara erroret Object dosen´t support this property or method:

dat_f.atEnofLine, fast egentligen borde man inte ha atennofline utan atEndOfStream, men det ville tydligen inte fungera.. Vad ska göras??

Medlem sedan juli 2002171 inlägg
#10

Detta löste problematiken:

<%

Dim fs, a, retstring
Set fs = CreateObject("Scripting.FileSystemObject")
Set a = fs.OpenTextFile("c:\fs01.dat")
Do While a.AtEndOfStream <> True
retstring = a.ReadLine
Loop

Dim v
v = retstring

v = split(v,",")

// TEST:
response.write(v(0))

a.Close

%>

266 ms totalt · 4 externa anrop · v20260731065814-full.6fe65c25
126 ms — deklarationer (db)
0 ms — hämta statistik (cache)
133 ms — hämta tråd, inlägg och bilagor (db)
129 ms — ändringar (db)