Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Citanje binarnog fajla u VB2005 ili VB2008 - apsolutni pocetnik!

[es] :: .NET :: Citanje binarnog fajla u VB2005 ili VB2008 - apsolutni pocetnik!

[ Pregleda: 2507 | Odgovora: 9 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

humungus
Pancevo

Član broj: 266898
Poruke: 7
*.dynamic.isp.telekom.rs.



Profil

icon Citanje binarnog fajla u VB2005 ili VB2008 - apsolutni pocetnik!25.08.2010. u 11:28 - pre 166 meseci
Pozdrav,

da li neko zeli da pomogne apsolutnom pocetniku?
Zeleo bih da napravim mali program medjutim, iskreno, osim ideje, ne znam kako to da uradim tj. da otvorim binarni fajl.
Program treba da otvori binarni fajl, zatim sa podacima na odredjenim lokacijama uradim neke matematicke operacije i zatim to prikazem u recimo labeli.

Najveci problem mi je otvaranje samog binarnog fajla, googlao sam i googlao i nema sanse da to uradim :-(....kada kazem binarni fajl mislim na fajlove iz nekih elektronskih uredjaja tj. iz njihove memorije koji se snimaju sa ekstenzijom bin (tzv. dumpovi)

Da li to mora da se uradi preko dvodimenzionalnog niza pa se onda fajl ucita u niz ili kako vec? Zamolio bih ukoliko se neko odluci da mi pomogne, da mi objasni sta kako i zbog cega (koliko je to moguce) da bih znao za ubuduce i ako je moguce primer koda pa cu da eksperimentisem. Od prirucnika pored sebe imam samo "Visual Basic 2005 za 24 casa"...sta mi jos od literature preporucujete?

Hvala, uz veliko izvinjenje!
 
Odgovor na temu

humungus
Pancevo

Član broj: 266898
Poruke: 7
*.dynamic.isp.telekom.rs.



Profil

icon Re: Citanje binarnog fajla u VB2005 ili VB2008 - apsolutni pocetnik!25.08.2010. u 15:31 - pre 166 meseci
Nasao sam ovo:

http://msdn.microsoft.com/en-u...readallbytes%28v=VS.80%29.aspx

samo, nikako da sve to uklopim u jednu celinu.

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnOpenDump.Click


OpenFileDialog1.InitialDirectory = "D:\"
OpenFileDialog1.Title = "Select dump"
OpenFileDialog1.FileName = ""

If OpenFileDialog1.ShowDialog() <> Windows.Forms.DialogResult.Cancel Then

i sada bi ovde trebao kod za citanje bajtova iz fajla. Ovaj deo koda za otvaranje fajla mi je problem. :-(
 
Odgovor na temu

lonelyrider_44
Zrenjanin

Član broj: 42310
Poruke: 445
*.com
Via: [es] mailing liste



+20 Profil

icon Re: Citanje binarnog fajla u VB2005 ili VB2008 - apsolutni pocetnik!25.08.2010. u 15:46 - pre 166 meseci
Ako radish sa binarnim fajlom, morash znati strukturu tog fajla. Trazi
dokumentaciju za Stream, FileStream, StreamReader, StreamWriter , to su
klase u .Net-u za rad sa fajlovima, pa cesh naci i ostalo shto ti bude
trebalo. U principu, to bi bilo neshto poput ovoga:
Code (csharp):

Stream file = File.Open("putanja");
while(!file.EndOfFile){
     file.Read(...);
}
 

Ovo je primer za csharp i to prilichno grubo, ali mislim da ti je to
dovoljno da te uputi na pravi put shta da trazish. Ako se ne snadjesh i
ako niko ne bude postovao neshto detaljnije, kasnije kad budem imao vishe
vremena okachicu ti neki konkretniji primer. A ti okachi primer tog fajla
koji hocesh da chitash.
 
Odgovor na temu

humungus
Pancevo

Član broj: 266898
Poruke: 7
*.dynamic.isp.telekom.rs.



Profil

icon Re: Citanje binarnog fajla u VB2005 ili VB2008 - apsolutni pocetnik!25.08.2010. u 17:05 - pre 166 meseci
Hvala puno, sad bar znam sta da pogledam od dokumentacije. Knjigu koju imam sam iscitao bukvalno od korice do korice, medjutim, to se nigde ne spominje.
U prilogu je binarni fajl koji (kada nesto hocu da uradim sa njime) otvaram u hex editoru i peske vrsim prepravke.

Posto ne znam kako da prikacim fajl uz ovu poruku, fajl sam uploadovao na megaupload ( arhiva je svega 225 bajtova) i evo linkova:

http://www.megaupload.com/?d=7DDFCNCJ
http://rapidshare.com/files/415086561/primer.zip

[Ovu poruku je menjao humungus dana 25.08.2010. u 18:19 GMT+1]
 
Odgovor na temu

bojan21
Bojan Zukic
Beograd

Član broj: 101113
Poruke: 251
92.244.151.*



+6 Profil

icon Re: Citanje binarnog fajla u VB2005 ili VB2008 - apsolutni pocetnik!25.08.2010. u 19:49 - pre 166 meseci
Ako znas strukturu te binarne datoteke (a pretpostavljam da znas cim mozes "peske" da je prepravis) onda je lako. Mozes da koristis BinaryReader klasu za citanje binarnih datoteka. Na primer, ako ta datoteka sadrzi samo cele brojeve (16-bitne npr) kojima hoces da manipulises:

Code (vbnet):

'ova linija ide u import deo, skroz gore
Imports System.IO
 

Code (vbnet):

'Recimo da imas na formi dugme "button1" i na klik hoces da iscitas datoteku
Private Sub button1_Click(sender As Object, e As EventArgs)
     Dim oFD As New OpenFileDialog()
     'filter za datoteke (mogu se izabrati samo one sa ekstenzijom .bin)
     oFD.Filter = "Binary Files|*.bin"

     'prikazi prozor za odabir datoteke, i ako je pritisnuto OK onda
     If oFD.ShowDialog() = DialogResult.OK Then
          Try
               'napravi novu instancu klase BinaryReader i otvori izabranu datoteku za citanje
               Dim bR As New BinaryReader(File.OpenRead(oFD.FileName))

               'duzina datoteke u bajtovima
               Dim length As Long = bR.BaseStream.Length

               'dok god nismo stigli do kraja datoteke (tenutna pozicija manja od duzine)
               While bR.BaseStream.Position < length
                    'procitaj 16-bitni ceo broj (2 bajta)
                    Dim data As Short = bR.ReadInt16()

                    'ispod ovog komentara napisi kod za obradu ili prikaz
                    'dobijenog podatka (ili sta vec treba da uradis);        
                    'na primer, prikazi ga u listBox kontroli
                    listBox1.Items.Add(data.ToString())
               End While

               'nakom citanja zatvori datoteku i oslobodi resurse
               bR.Close()
          'ukoliko dodje do greske
          Catch ex As Exception
               'prikazi dobijenu poruku o gresci
               MessageBox.Show(ex.Message)
          End Try
     End If
End Sub
 


Vise o BinaryReader (za citanje) i BinaryWriter (za pisanje) klasama ovde:
Binary Reader
Binary Writer

Pozdrav

[Ovu poruku je menjao bojan21 dana 25.08.2010. u 21:12 GMT+1]
 
Odgovor na temu

humungus
Pancevo

Član broj: 266898
Poruke: 7
178.22.216.*



Profil

icon Re: Citanje binarnog fajla u VB2005 ili VB2008 - apsolutni pocetnik!26.08.2010. u 21:19 - pre 166 meseci
Hvala veliko Bojane !

Otprilike to je kostur onoga sto mi treba, sad cu da eksperimentisem, citam i ucim. Ukoliko negde zapne, pitacu ponovo (kad ne znam , nije sramota da pitam).

Hvala svima koji su pomogli!

Pozdrav,
Dejan.
 
Odgovor na temu

humungus
Pancevo

Član broj: 266898
Poruke: 7
*.dynamic.isp.telekom.rs.



Profil

icon Re: Citanje binarnog fajla u VB2005 ili VB2008 - apsolutni pocetnik!27.08.2010. u 10:13 - pre 166 meseci
Code:
If oFD.ShowDialog() = DialogResult.OK Then
            Try
              
                Dim bR As New BinaryReader(File.OpenRead(oFD.FileName))

                Dim length As Long = bR.BaseStream.Length

                
                While bR.BaseStream.Position() < length
                    
 ----------->               Dim data As Byte = bR.ReadByte()
              
  ----------->              ListBox1.Items.Add(Hex$(data.ToString())

                End While

                bR.Close()
                
            Catch ex As Exception
              
                MessageBox.Show(ex.Message)
            End Try
        End If



Promenio sam samo obelezen kod i dobio to sto mi treba - prikazano u heksadecimalnom formatu...uz jedan mali problem. Zeleo bih da isictan fajl prkazem u 8-bitnom formatu (max. FF) evo primera:

0 = 00
1 = 01
2 = 02
...
F = 0F

Kako da dopunim prikaz sa pocetnom nulom u listbox-u kada su ocitane vrenosti manje od 15 (za vece vrednost sve je u redu)? Nadam se da sam dobro objasnio...
 
Odgovor na temu

bojan21
Bojan Zukic
Beograd

Član broj: 101113
Poruke: 251
92.244.151.*



+6 Profil

icon Re: Citanje binarnog fajla u VB2005 ili VB2008 - apsolutni pocetnik!27.08.2010. u 12:49 - pre 166 meseci
Probaj ovako:
Code (vbnet):

    ListBox1.Items.Add(data.ToString("X2"))
 


Pozdrav
 
Odgovor na temu

humungus
Pancevo

Član broj: 266898
Poruke: 7
*.dynamic.isp.telekom.rs.



Profil

icon Re: Citanje binarnog fajla u VB2005 ili VB2008 - apsolutni pocetnik!27.08.2010. u 14:47 - pre 166 meseci
Pozdrav Bojane,

Hvala, radi!!!
Mozes li samo da mi pojasnis tu liniju koda (nisi koristio hex$) pa mi nije bas jasno :-(

Pozdrav,
Dejan.
 
Odgovor na temu

humungus
Pancevo

Član broj: 266898
Poruke: 7
*.dynamic.isp.telekom.rs.



Profil

icon Re: Citanje binarnog fajla u VB2005 ili VB2008 - apsolutni pocetnik!27.08.2010. u 14:56 - pre 166 meseci
Nasao sam! Meni za utehu, nisam jedini kome nije jasno "X2"

http://forums.asp.net/p/1077313/1586092.aspx

http://authors.aspalliance.com...ypes/numericformatstrings.aspx

Hvala, svaka cast ;-) !


Pozdrav,
Dejan.
 
Odgovor na temu

[es] :: .NET :: Citanje binarnog fajla u VB2005 ili VB2008 - apsolutni pocetnik!

[ Pregleda: 2507 | Odgovora: 9 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.