Avatar billede psyclown Nybegynder
01. juni 2002 - 22:57 Der er 13 kommentarer og
1 løsning

fso

Jeg har ikke så meget forstand på fso, fordi at jeg aldrig rigtigt har arbejdet med det før eller har læst så meget om det.

Jeg vil gerne åbne en tekstfil og derefter søge efter nogle speciel. Når den så har fundet det jeg vil søge efter, så skal den tage de 24 næste tegn efter det og udskrive det i en anden tekstfil.
Håber at der er nogen der forstår hvad jeg mener.

På forhånd tak!
Avatar billede Slettet bruger
01. juni 2002 - 23:21 #1
www.html.dk/tutorials/asp der er et punkt om det.... tager ikke så lang tid at gennemgå det &:-D

mvh.
www.questis.dk
Avatar billede psyclown Nybegynder
01. juni 2002 - 23:44 #2
Jeg ved godt hvad fso er og jeg ved godt hvordan man gør de forskellige ting der står i den tutorial.
Avatar billede tmceu Praktikant
02. juni 2002 - 00:17 #3
Ved du om de næste 24 karakterer står i samme linie ?

Denne metode virker, men er meget ineffektiv på store filer. Hvor stort det så er, afhænger lidt af din servers konfiguration.

Set fso = CreateObject("Scripting.FileSystemObject")
Set f = fso.OpenTextFile("c:\testfile.txt", 1)

strTemp = f.ReadAll

f.close

intPos = InStr(strTemp, "xxx")

strFound = mid(strTemp, intPos, 24)
Avatar billede tmceu Praktikant
02. juni 2002 - 00:18 #4
Ups, glemte noget. Hvis du ved at det står i samme linie, er det mere sikkert at læse filen linie for linie.
Avatar billede psyclown Nybegynder
02. juni 2002 - 12:57 #5
ja, det er jo så det der er problemet...det jeg skal søge i, står sådan her:

D7 00 A8 00 2A 41 2C 45 06 0A 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 48
00 6D 04 02 CF 00 00 00 00 00 48 00 6D 04 CF 08 <----
CC 80 C8 C0 FA 13 8D CD CD CD CD CD CD CD CD CD
CD CD CD CD CD CD CD CD CD CD CD CD CD CD 00 00
00 31 68 02 00 82 00 00 D6 01 2B 81 0E B8 00 00
80 08 BF 30 DF 08 00 00 00 01 00 00 00 67 E5 AE
C6 FC 48 81 04 00 79 00 00 6D F5 4C 74 CC 4C 64
CE B2 B6 40 41 55 BE 7D 02 00 02 79 24 F4 00 33
B5 86 01 28 ED 27 FF 00 00 2E 6C 95 00 B2 05 00
00 00 53 53 45 99 45 84 53 E9 75 AD 75 22 AC 40
D8 00 00 00 02 CF 00 00 00 06 9A B0 B6 40 41 55
BE 7D 02 00 00 00 00 00 0A D7 00 A8 00 2C 41 2C
88 48 0A 00 00 00 00 00 00 00 00 00 00 00 00 00

Så hvis man f.eks. søger i den linie hvor pilen er, efter CF 08, så skal den jo ned på næste linie.
Men jeg tænke på om man kunne Trimme alt teksten i filen, så det bare stod ud i et ?
Avatar billede tmceu Praktikant
02. juni 2002 - 13:19 #6
Du kan ikke trimme med standard funktionerne, men du kan bruge replace.

Set fso = CreateObject("Scripting.FileSystemObject")
Set f = fso.OpenTextFile("c:\testfile.txt", 1)

strTemp = f.ReadAll
strTemp = Replace(strTemp, " ", "")

f.close

intPos = InStr(strTemp, "xxx")

strFound = mid(strTemp, intPos, 24)
Avatar billede tmceu Praktikant
02. juni 2002 - 13:20 #7
Og hvis vi også lige skal fjerne linieskift:

Set fso = CreateObject("Scripting.FileSystemObject")
Set f = fso.OpenTextFile("c:\testfile.txt", 1)

strTemp = f.ReadAll
strTemp = Replace(strTemp, " ", "")
strTemp = Replace(strTemp, vbCrLf, "")


f.close

intPos = InStr(strTemp, "xxx")

strFound = mid(strTemp, intPos, 24)
Avatar billede psyclown Nybegynder
02. juni 2002 - 13:40 #8
okay, nu har du hjulpet mig med at søge i en fil efter noget og trække de 24 næste tegn ud...nu mangler jeg bare at kunne få den til at skrive det ind i en anden fil...

var det noget du kunne hjælpe med ?
Avatar billede psyclown Nybegynder
02. juni 2002 - 14:16 #9
Den skal udskrive de 24 næste tegn efter det man søger efter...den skal ikke tage ordret med..hvis du forstår..
Avatar billede tmceu Praktikant
02. juni 2002 - 17:51 #10
Jo, øjeblik...
Avatar billede tmceu Praktikant
02. juni 2002 - 17:54 #11
Set fso = CreateObject("Scripting.FileSystemObject")
Set f = fso.OpenTextFile("c:\testfile.txt", 1)

strSearchFor = "XX"

strTemp = f.ReadAll
strTemp = Replace(strTemp, " ", "")
strTemp = Replace(strTemp, vbCrLf, "")


f.close

intPos = InStr(strTemp, strSearchFor)

strFound = mid(strTemp, (intPos + Len(strSearchFor), 24)

Set f = fso.OpenTextFile("c:\minfil.txt", 2, True)

f.WriteLine strFound

f.close
Avatar billede tmceu Praktikant
02. juni 2002 - 17:57 #12
Jeg kan iøvrigt anbefale dig at downloade VBScript dokumentationen, der er en del gode eksempler på bl.a. brug af FSO og så naturligvis komplet dokumentation på sproget. Søg på Microsoft efter vbsdoc.exe.

Du finder nemmest eksemplerne i dokumentationen ved at søge på fso sample
Avatar billede psyclown Nybegynder
02. juni 2002 - 21:38 #13
nå, men mange tak for hjælpen
Avatar billede tmceu Praktikant
02. juni 2002 - 22:44 #14
Det var så lidt :-)
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