/ 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
Lave en fil 2 bytes kortere
Fra : Finn Tolderlund


Dato : 05-12-02 08:34

Jeg bruger eVB og har brug for at gøre en fil 2 bytes kortere.
Det er en binær fil uden nogen egentlig structur.
Filen har f.eks. en længde på 336938 bytes og jeg skal skære de sidste 2
bytes væk så filen bliver 336936 bytes lang.
Hvordan gør man det?
På forhånd tak
--
Finn Tolderlund



 
 
Jan V. (05-12-2002)
Kommentar
Fra : Jan V.


Dato : 05-12-02 09:39


"Finn Tolderlund" <finn@nospam.com> skrev i en meddelelse
news:3def00e0$0$151$edfadb0f@dread16.news.tele.dk...
> Jeg bruger eVB og har brug for at gøre en fil 2 bytes kortere.
> Det er en binær fil uden nogen egentlig structur.
> Filen har f.eks. en længde på 336938 bytes og jeg skal skære de sidste 2
> bytes væk så filen bliver 336936 bytes lang.
> Hvordan gør man det?
> På forhånd tak
> --
> Finn Tolderlund
>

1 byte = 1 tegn - så hvis du fjerner 2 tegn, så BURDE den blive 2 byte
kortere.

Jan



Finn Tolderlund (05-12-2002)
Kommentar
Fra : Finn Tolderlund


Dato : 05-12-02 10:36


"Jan V." <jvFJERNDETTE@OG DETTEHEROGSÅmiljodata.dk> wrote in message
news:3def1046$0$71668$edfadb0f@dread11.news.tele.dk...
>
> "Finn Tolderlund" <finn@nospam.com> skrev i en meddelelse
> news:3def00e0$0$151$edfadb0f@dread16.news.tele.dk...
> > Jeg bruger eVB og har brug for at gøre en fil 2 bytes kortere.
> > Det er en binær fil uden nogen egentlig structur.
> > Filen har f.eks. en længde på 336938 bytes og jeg skal skære de sidste 2
> > bytes væk så filen bliver 336936 bytes lang.
> > Hvordan gør man det?
> > På forhånd tak
> > --
> > Finn Tolderlund
> >
>
> 1 byte = 1 tegn - så hvis du fjerner 2 tegn, så BURDE den blive 2 byte
> kortere.
> Jan

Ja tak, det ved jeg godt.
Det jeg skal bruge er noget kode der kan gøre det.
Jeg har kigget hjælpen igennem, men kan ikke finde nogen kommander i eVB der
kan sådan noget.
--
Finn Tolderlund



Bjarke Walling Peter~ (06-12-2002)
Kommentar
Fra : Bjarke Walling Peter~


Dato : 06-12-02 20:40

Noget i stil med dette??


' ( undskyld mit navn for funktionen! :)
Private Sub FormindskFil(ByRef Filnavn As String, ByRef FaerreBytes As Long)
If Dir(Filnavn) = "" Then Exit Sub ' Fil ikke fundet
If FaerreBytes <= 0 Then Exit Sub ' Ugyldig parameter
Dim b() As Byte
Dim l As Long
Open Filnavn For Binary Access Read Lock Read Write As #1
l = LOF(1) - 1 - FaerreBytes
If l < 0 Then
l = -1
Else
ReDim b(0 To l) As Byte
Get #1, , b()
End If
Close #1
Kill Filnavn
If l = -1 Then
Open Filnavn For Binary Access Write Lock Read Write As #1
Close #1
Else
Open Filnavn For Binary Access Write Lock Read Write As #1
Put #1, , b()
Close #1
End If
End Sub


.... dog er det teoretisk lidt en besværlig måde for store filer, da den
først læser hele filen ind i rammen undtagen de bytes der ikke skal med (så
vis den er virkelig stor skal den til at bruge den virtuelle ram på
harddisken!) og derefter gemmer den dataen i filen igen.
Hvis det skulle laves rigtig smart, skulle den gå ind og direkte ændre
filstørrelsen ved at få windows til at skrive en ny filstørrelse til
harddisken og fjerne de sidste bytes, der ikke skal med - men hvordan dette
gøres ved jeg ikke. Denne metode kræver nemlig ikke noget specielt af
rammen.

Men jeg håber du kan bruge funktionen ...

Mvh. Bjarke


Finn Tolderlund skrev:
> Jeg bruger eVB og har brug for at gøre en fil 2 bytes kortere.
> Det er en binær fil uden nogen egentlig structur.
> Filen har f.eks. en længde på 336938 bytes og jeg skal skære de sidste 2
> bytes væk så filen bliver 336936 bytes lang.
> Hvordan gør man det?
> På forhånd tak



Finn Tolderlund (09-12-2002)
Kommentar
Fra : Finn Tolderlund


Dato : 09-12-02 09:24

Tak for din funktion.
Desværre vil eVB ikke acceptere syntaksen.
Nok fordi eVB er en kastreret version af VB.
Men jeg har løst problemet på en anden måde.
Jeg lavede et DLL i eVC++ som jeg kalder fra eVB.
I eVC++ kan jeg få lov til at gøre det jeg ikke kan i eVB.
Tak for dit svar.
--
Finn Tolderlund


"Bjarke Walling Petersen" <bwp@bwp.dk> wrote in message
news:3df0ff0c$0$129$edfadb0f@dread16.news.tele.dk...
> Noget i stil med dette??
> Private Sub FormindskFil(ByRef Filnavn As String, ByRef FaerreBytes As
Long)



Jens Vestergaard (09-12-2002)
Kommentar
Fra : Jens Vestergaard


Dato : 09-12-02 10:21

"Finn Tolderlund" <finn@nospam.com> skrev i en meddelelse
news:3df45303$0$175$edfadb0f@dread16.news.tele.dk...
> Tak for din funktion.
> Desværre vil eVB ikke acceptere syntaksen.
> Nok fordi eVB er en kastreret version af VB.

....og så er det, at jeg er dum og nysgerrig nok til at spørge: Hvad er eVB?



--
mvh
Jens Vestergaard
www.railsoft.dk
Døgnets jernbanenyheder: www.railsoft.dk/medier.asp



Peter Lykkegaard (09-12-2002)
Kommentar
Fra : Peter Lykkegaard


Dato : 09-12-02 11:13

Som svar på skriblerier forfattet af Jens Vestergaard

> "Finn Tolderlund" <finn@nospam.com> skrev i en meddelelse
> news:3df45303$0$175$edfadb0f@dread16.news.tele.dk...
>> Tak for din funktion.
>> Desværre vil eVB ikke acceptere syntaksen.
>> Nok fordi eVB er en kastreret version af VB.
>
> ...og så er det, at jeg er dum og nysgerrig nok til at spørge: Hvad
> er eVB?
>
Muligvis http://www.appforge.com/?

Eller eMbedded Visual Basic?
http://msdn.microsoft.com/downloads/default.asp?url=/downloads/sample.asp?ur
l=/msdn-files/027/001/963/msdncompositedoc.xml

http://tinyurl.com/3cz2

Google er som altid din bedste ven

mvh/Peter Lykkegaard



Jens Vestergaard (09-12-2002)
Kommentar
Fra : Jens Vestergaard


Dato : 09-12-02 11:13

"Peter Lykkegaard" <polonline@hotmail.com> skrev i en meddelelse
news:at1q32$c7b$1@sunsite.dk...
>
> Google er som altid din bedste ven


Næe, næe - mine bedste venner er de rigtige mennesker, der færdes i NGerne -
ikke en tilfældig søgerobot!


--
mvh
Jens Vestergaard
www.railsoft.dk
Døgnets jernbanenyheder: www.railsoft.dk/medier.asp



Søg
Reklame
Statistik
Spørgsmål : 177557
Tips : 31968
Nyheder : 719565
Indlæg : 6408879
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste