Fetstil Fetstil Kursiv Understrykning linje färgläggning tabellverk Punktlista Nummerlista Vänster Centrerat högerställt Utfyllt Länk Bild htmlmode
  • Forum & Blog
    • Forum - översikt
      • .Net
        • asp.net generellt
        • c#
        • vb.net
        • f#
        • silverlight
        • microsoft surface
        • visual studio .net
      • databaser
        • sql-server
        • databaser
        • access
        • mysql
      • mjukvara klient
        • datorer och komponenter
        • nätverk, lan/wan
        • operativsystem
        • programvaror
        • säkerhet, inställningar
        • windows server
        • allmänt
        • crystal reports
        • exchange/outlook
        • microsoft office
      • mjukvara server
        • active directory
        • biztalk
        • exchange
        • linux
        • sharepoint
        • webbservers
        • sql server
      • appar (win/mobil)
      • programspråk
        • c++
        • delphi
        • java
        • quick basic
        • visual basic
      • scripting
        • asp 3.0
        • flash actionscript
        • html css
        • javascript
        • php
        • regular expresssion
        • xml
      • spel och grafik
        • DirectX
        • Spel och grafik
      • ledning
        • Arkitektur
        • Systemutveckling
        • krav och test
        • projektledning
        • ledningsfrågor
      • vb-sektioner
        • activeX
        • windows api
        • elektronik
        • internet
        • komponenter
        • nätverk
        • operativsystem
      • övriga forum
        • arbete karriär
        • erbjuda uppdrag och tjänster
        • juridiska frågor
        • köp och sälj
        • matematik och fysik
        • intern information
        • skrivklåda
        • webb-operatörer
    • Posta inlägg i forumet
    • Chatta med andra
  • Konto
    • Medlemssida
    • Byta lösenord
    • Bli bonsumedlem
    • iMail
  • Material
    • Tips & tricks
    • Artiklar
    • Programarkiv
  • JOBB
  • Student
    • Studentlicenser
  • KONTAKT
    • Om pellesoft
    • Grundare
    • Kontakta oss
    • Annonsering
    • Partners
    • Felanmälan
  • Logga in

Hem / Forum översikt / inlägg

Posta nytt inlägg


Binär fil hantering....

Postades av 2002-05-21 19:05:47 - Mattias Karlstrand, i forum visual basic - allmänt, Tråden har 2 Kommentarer och lästs av 389 personer

hur gör man om man vill loppa in allt som finns i en fil till en sträng i binärt läge?
Eller hämta data som jag inte har positioner av... i Binärt läge..


Svara

Sv: Binär fil hantering....

Postades av 2002-05-21 20:00:25 - Sven Åke Persson

Hej
Tar det fritt ur minnet.
Dim tmpChar As String *1,tmpStr As String
Dim FileNum As Long
FileNum = FreeFile
Open "C:\Netlog.txt" for Binary As #FileNum
Do Until EOF(FileNum)
Get #FileNum,,tmpChar
tmpStr = tmpStr & tmpChar
Loop
Close#FileNum

Kommer att stega genom hela filen byte för byte
Tror att det mesta är rätt.Man kan även hämta hela
filen i en "chunk" , kommer inte på just nu hur det var med det.
mvh
Sven


Svara

Sv: Binär fil hantering....

Postades av 2002-05-22 01:13:56 - Andreas Hillqvist

Tack för ditt inlägg SvenPon. Har lite förslag far att conkratenera ihop strängen. Innebär ju att den måste dimensioneras om för varje tecken. Eftersom strängen växer i storlek. Använd då istället mid(). Har också laggt till en funktion för koden. Den läser tills den första radbrytning.:
<code>
Private Sub Command1_Click()
Dim strChar As String * 1
Dim strFile As String
Dim strResult As String
Dim FileNum As Long
Dim Index As Long
FileNum = FreeFile()

Open "C:\Netlog.txt" For Binary As #FileNum
strFile = String(LOF(FileNum), 0)
For Index = 1 To LOF(FileNum)
Get #FileNum, Index, strChar
If strChar = vbCr Then
strResult = Left(strFile, Index)
Exit For
Else
Mid(strFile, Index, 1) = strChar
End If
Next
Close #FileNum

End Sub
</code>
Detta är effektivare i många falla att läsa in hela filen till minnet då man söker efter en position. Eftersom fil operationer är långsamma. Det är bara när det gäller stora filer som man tjänar på att läsa filen en bit(tårtbit, inte databit 1/0) i taget. Dock ej så små bitar som en byte i detta fallet. Vilket är oeffektivt.
<code>
Private Sub Command2_Click()
Dim strFile As String
Dim strResult As String
Dim FileNum As Long
Dim Index As Long
FileNum = FreeFile()

Open "C:\Netlog.txt" For Binary As #FileNum
strFile = String(LOF(FileNum), 0)
Get #FileNum, , strFile
Close #FileNum

Index = InStr(strFile, vbCr)
If Index Then
strResult = Left(strFile, Index - 1)
End If

End Sub
</code>


Svara

Nyligen

  • 14:24 CBD regelbundet?
  • 14:23 CBD regelbundet?
  • 14:22 Har du märkt några verkliga fördel
  • 09:09 Vill du köpa medicinska tester?
  • 12:47 Vem beviljar assistansen – kommune
  • 14:17 Någon med erfarenhet av hemstädnin
  • 14:14 Bör man använda sig av en båtförme
  • 14:12 Finns det någon intressant hundblo

Sidor

  • Hem
  • Bli bonusmedlem
  • Läs artiklar
  • Chatta med andra
  • Sök och erbjud jobb
  • Kontakta oss
  • Studentlicenser
  • Skriv en artikel

Statistik

Antal besökare:
Antal medlemmar:
Antal inlägg:
Online:
På chatten:
4 569 612
27 953
271 709
6 511
0

Kontakta oss

Frågor runt konsultation, rådgivning, uppdrag, rekrytering, annonsering och övriga ärenden. Ring: 0730-88 22 24 | pelle@pellesoft.se

© 1986-2013 PelleSoft AB. Last Build 4.1.7169.18070 (2019-08-18 10:02:21) 4.0.30319.42000
  • Om
  • Kontakta
  • Regler
  • Cookies