/ Forside / Teknologi / Udvikling / VB/Basic / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
VB/Basic
#NavnPoint
berpox 2425
pete 1435
CADmageren 1251
gibson 1230
Phylock 887
gandalf 836
AntonV 790
strarup 750
Benjamin... 700
10  tom.kise 610
Binary Access og skip tegn
Fra : Jens


Dato : 19-03-02 22:44

Jeg bruger denne lille stump kode til at læse fra en fil i et fildellings
program

Nu vil jeg gerne have lavet en resume function men jeg er gået lidt i stå

Hvordan springer jeg over lad os sige 500.000 tegn over og begynder at læse
derfra ?

Open filsti For Binary Access Read As OpenedFileNbr
Do Until EOF(OpenedFileNbr)
If FileLength - Loc(OpenedFileNbr) <= PackageSize Then
PackageSize = FileLength - Loc(OpenedFileNbr) + 1
LastData = True
End If
Temp = Space$(PackageSize)
Get OpenedFileNbr, , Temp
If LastData = True Then
Temp = Mid(Temp, 1, Len(Temp) - 1)
End If
send Temp
Loop
send "filslut"
Close #OpenedFileNbr

Glæder mig til at høre fra jer !

Mvh
Jens
til@infojens.dk



 
 
Rayman (20-03-2002)
Kommentar
Fra : Rayman


Dato : 20-03-02 09:05

I din sætning:
Get OpenedFileNbr, , Temp
er den manglende parameter FilePos, jeg kan ikke huske om den er 0 baseret
eller ej, men her skriver du din position.

Mvh. Rayman

"Jens" <til@infojens.dk> wrote in message
news:3c97b10f$0$18485$edfadb0f@dspool01.news.tele.dk...
> Jeg bruger denne lille stump kode til at læse fra en fil i et fildellings
> program
>
> Nu vil jeg gerne have lavet en resume function men jeg er gået lidt i stå
>
> Hvordan springer jeg over lad os sige 500.000 tegn over og begynder at
læse
> derfra ?
>
> Open filsti For Binary Access Read As OpenedFileNbr
> Do Until EOF(OpenedFileNbr)
> If FileLength - Loc(OpenedFileNbr) <= PackageSize Then
> PackageSize = FileLength - Loc(OpenedFileNbr) + 1
> LastData = True
> End If
> Temp = Space$(PackageSize)
> Get OpenedFileNbr, , Temp
> If LastData = True Then
> Temp = Mid(Temp, 1, Len(Temp) - 1)
> End If
> send Temp
> Loop
> send "filslut"
> Close #OpenedFileNbr
>
> Glæder mig til at høre fra jer !
>
> Mvh
> Jens
> til@infojens.dk
>
>



Jens (20-03-2002)
Kommentar
Fra : Jens


Dato : 20-03-02 17:16

Er du sød og lave et lille eksempel ?

Jens


"Rayman" <rayman_dk@email.com> wrote in message
news:KoXl8.11497$ZI6.380053@news000.worldonline.dk...
> I din sætning:
> Get OpenedFileNbr, , Temp
> er den manglende parameter FilePos, jeg kan ikke huske om den er 0 baseret
> eller ej, men her skriver du din position.
>
> Mvh. Rayman
>
> "Jens" <til@infojens.dk> wrote in message
> news:3c97b10f$0$18485$edfadb0f@dspool01.news.tele.dk...
> > Jeg bruger denne lille stump kode til at læse fra en fil i et
fildellings
> > program
> >
> > Nu vil jeg gerne have lavet en resume function men jeg er gået lidt i
stå
> >
> > Hvordan springer jeg over lad os sige 500.000 tegn over og begynder at
> læse
> > derfra ?
> >
> > Open filsti For Binary Access Read As OpenedFileNbr
> > Do Until EOF(OpenedFileNbr)
> > If FileLength - Loc(OpenedFileNbr) <= PackageSize Then
> > PackageSize = FileLength - Loc(OpenedFileNbr) + 1
> > LastData = True
> > End If
> > Temp = Space$(PackageSize)
> > Get OpenedFileNbr, , Temp
> > If LastData = True Then
> > Temp = Mid(Temp, 1, Len(Temp) - 1)
> > End If
> > send Temp
> > Loop
> > send "filslut"
> > Close #OpenedFileNbr
> >
> > Glæder mig til at høre fra jer !
> >
> > Mvh
> > Jens
> > til@infojens.dk
> >
> >
>
>



Tomas Christiansen (20-03-2002)
Kommentar
Fra : Tomas Christiansen


Dato : 20-03-02 23:00

Jens skrev:
> Er du sød og lave et lille eksempel ?

Hvis du vil skippe de første 500000 bytes, kan du indføje en seek i
din kode:

Open filsti For Binary Access Read As OpenedFileNbr
Seek OpenedFileNbr, 500001
Do Until EOF(OpenedFileNbr)

Seek bestemmer (eller returnerer - det er også en funktion) hvor der
læses næste gang. Den første byte i filen har nummer 1.

-------
Tomas


Jens (21-03-2002)
Kommentar
Fra : Jens


Dato : 21-03-02 04:05

Tusinde tak Tomas

Det var lige det som jeg skulle bruge

Mvh
Jens


"Tomas Christiansen" <toc@blikroer.removethis.dk> wrote in message
news:a7b0on$1odt$1@news.cybercity.dk...
> Jens skrev:
> > Er du sød og lave et lille eksempel ?
>
> Hvis du vil skippe de første 500000 bytes, kan du indføje en seek i
> din kode:
>
> Open filsti For Binary Access Read As OpenedFileNbr
> Seek OpenedFileNbr, 500001
> Do Until EOF(OpenedFileNbr)
>
> Seek bestemmer (eller returnerer - det er også en funktion) hvor der
> læses næste gang. Den første byte i filen har nummer 1.
>
> -------
> Tomas
>



Rayman (21-03-2002)
Kommentar
Fra : Rayman


Dato : 21-03-02 20:28

prøv Get filehandle,50000,strbuffer
eller Get filehandle, filepos, strbuffer

Mvh. Rayman

"Jens" <til@infojens.dk> wrote in message
news:3c994dd3$0$88675$edfadb0f@dspool01.news.tele.dk...
> Tusinde tak Tomas
>
> Det var lige det som jeg skulle bruge
>
> Mvh
> Jens
>
>
> "Tomas Christiansen" <toc@blikroer.removethis.dk> wrote in message
> news:a7b0on$1odt$1@news.cybercity.dk...
> > Jens skrev:
> > > Er du sød og lave et lille eksempel ?
> >
> > Hvis du vil skippe de første 500000 bytes, kan du indføje en seek i
> > din kode:
> >
> > Open filsti For Binary Access Read As OpenedFileNbr
> > Seek OpenedFileNbr, 500001
> > Do Until EOF(OpenedFileNbr)
> >
> > Seek bestemmer (eller returnerer - det er også en funktion) hvor der
> > læses næste gang. Den første byte i filen har nummer 1.
> >
> > -------
> > Tomas
> >
>
>



Tomas Christiansen (21-03-2002)
Kommentar
Fra : Tomas Christiansen


Dato : 21-03-02 22:31

Rayman skrev:
> prøv Get filehandle,50000,strbuffer
> eller Get filehandle, filepos, strbuffer

Hvor vil du føje det ind i Jenses kode?

I hans tilfælde er det da mere indlysende at bruge Seek!

-------
Tomas


Rayman (26-03-2002)
Kommentar
Fra : Rayman


Dato : 26-03-02 13:47

Muligvis, men det er fordi hans design er ugennemtænkt. Generelt er det
meget nemmere blot at sætte positionen ind i et Get statement, da en binær
læsning ikke automatisk flytter filcursoren.

Mvh. Rayman.

"Tomas Christiansen" <toc@blikroer.removethis.dk> wrote in message
news:a7djeg$2ddk$1@news.cybercity.dk...
> Rayman skrev:
> > prøv Get filehandle,50000,strbuffer
> > eller Get filehandle, filepos, strbuffer
>
> Hvor vil du føje det ind i Jenses kode?
>
> I hans tilfælde er det da mere indlysende at bruge Seek!
>
> -------
> Tomas
>



Søg
Reklame
Statistik
Spørgsmål : 177501
Tips : 31968
Nyheder : 719565
Indlæg : 6408527
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste