Avatar billede mdj Nybegynder
30. april 2002 - 20:10 Der er 8 kommentarer og
1 løsning

FSO: læse en txt fil og overføre data til en ny generet fil

Hejsa,

Jeg er ved at lave et projekt som kræver at jeg fordeler noget data.

Ideen er at jeg har en fil (Real.txt) som er fyldt med en strøm af data i følgende format:

+0003.0 m/s
+0003.1 m/s
+0003.2 m/s
+0002.9 m/s
+0002.9 m/s
+0002.8 m/s
+0003.2 m/s
osv....

Dennne fil bliver med tiden meget stor, så dataen skal fordeles således at:

Der bliver søgt efter den sidste linie (som er den nyeste)
den bliver sammen med 10 linier med 20 liniers mellemrum (1, 20, 40, 60 osv.. op til 200), skrevet til en ny fil som skal hedder tiden now().txt

Det handler om at hver linie svarer til 3 sek og jeg vil gerne have en halv times målinger i hver fil, som hver symboliserer 1 min...


Nogen som kan hjælpe mig på vej?
Avatar billede rou Nybegynder
30. april 2002 - 21:43 #1
Jeg går ud fra at nyeste linie er den nederste, korrekt?
Det gør det lidt mere irriterende, men:

<%

Dim oFS, oFile
Dim sEntireFile, aLines
iFileCnt, iLineCnt

Set oFS = Server.CreateObject("Scripting.FileSystemObject")
Set oFile = oFS.OpenTextFile(Server.MapPath("dinfil.txt"),1, False)

sEntireFile = oFile.ReadAll

oFile.Close
Set oFile = Nothing

aLines = Split(sEntireFile,vbNewLine)

iLineCnt = UBound(aLines)-1
If(iLineCnt =>200) Then
  Do While iLineCnt => 0
    sNewFile = aLines(iLineCnt-199) & vbNewLine _
              &aLines(iLineCnt-179) & vbNewLine _
              &aLines(iLineCnt-159) & vbNewLine _
              &aLines(iLineCnt-139) & vbNewLine _
              &aLines(iLineCnt-119) & vbNewLine _
              &aLines(iLineCnt-99) & vbNewLine _
              &aLines(iLineCnt-79) & vbNewLine _
              &aLines(iLineCnt-59) & vbNewLine _
              &aLines(iLineCnt-39) & vbNewLine _
              &aLines(iLineCnt-19) & vbNewLine _
              &aLines(iLineCnt) & vbNewLine

    oFile = oFS.CreateTextFile(Server.MapPath("dinfil.txt"), True)
    oFile.Write(sNewFile)
    oFile.Close()
    Set oFile = Nothing

    iLineCnt = iLineCnt - 200
  Loop
End If

%>


Noget i den retning, men dine filnavne skal self. være dynamiske.
Avatar billede mdj Nybegynder
30. april 2002 - 23:19 #2
rou: det ser meget godt ud, jeg er også villig til at give dig pointsne for det, men jeg får en fejl 500.. så jeg kan ikke lige se hvor det ikke virker... ;(
Avatar billede rou Nybegynder
30. april 2002 - 23:38 #3
Slå "friendly error messages" fra i din browser, under options--> advanced
Avatar billede mdj Nybegynder
30. april 2002 - 23:46 #4
Det er den skam... det er et eller andet random syndrom, for jeg får for det meste en uddybende debug, men nogle gange viser den altså bare en standard fejlside... ;(
Avatar billede rou Nybegynder
30. april 2002 - 23:52 #5
hmm, så skal du ind i IIS og ændre den default fejlside den viser, for 500.100, tror jeg det er.
Avatar billede mdj Nybegynder
30. april 2002 - 23:53 #6
Hmm jeg måtte en tur i IIS, nu kan jeg se problemet...
Microsoft VBScript runtime error '800a01b6'

Object doesn't support this property or method

/rep.asp, line 41

lidt underligt, det er der den opretter den nye fil...
Avatar billede rou Nybegynder
30. april 2002 - 23:55 #7
Jeg er nødt til at hoppe i seng, jobbet passer desværre ikke sig selv imorgen tidlig.
Pyt med pointene, det var alligevel for mange du satte på.
Avatar billede mdj Nybegynder
30. april 2002 - 23:56 #8
Det er ligemeget... :) jeg bruger Eksperten så sjællent så når jeg gør, er det lidt ligemeget med point...
Avatar billede mdj Nybegynder
01. maj 2002 - 00:18 #9
Jeg har fundet fejlen, den kalder Write, som er en Textstream kommando ikke en FSO, jeg har fikset det.

Men mange tak for hjælpen, nu tror jeg at jeg kan klare mig selv :)
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