|
| 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
| |
|
|