Novo

Forum kao aplikacija na telefonu

Dodajte forum na početni ekran i koristite ga kao aplikaciju, sa menijem na dnu ekrana.

  • 9 odgovora
  • 4.407 pregleda

Najnovija ↓

Binarni fajlovi! 01.11.2004. u 17:22 · pre 267 meseci #1
Problem je u sledecem. Imam jedan fajl koji je neodredjenog tipa. Kada ga otvorim u Ultraeditu izbacuje mi kuke i kvake po default-u. Medjutim, kad prebacim na hex view vidim nesto otprilike ovako:

AA AA AA AA AA AA (nevazno sta)

E sad, kako se u VB6 moze uraditi isto ono sto radi i Ultraedit, odnosno da mogu da izmenim fajl tako da on bude ovakav:

AB AA AA AA AA AA

Hvala!
Re: Binarni fajlovi! 01.11.2004. u 17:25 · pre 267 meseci #2
Pa imaš OPEN AS BINARY (mrzi me pisati kompletnu sintaksu), imaš PUT komandu koja na određeni offset upisuje neku vrednost, pogledaj help za više informacija ili čekaj da ti neko preciznije objasni...
Potpis
Putuj planeto, super smo se družili
nama je lepo, taman kako smo zaslužili!
Re: Binarni fajlovi! 01.11.2004. u 17:28 · pre 267 meseci #3
Hvala, sacekacu precizniji odgovor od nekoga. Probao sam da uradim sam, ali imam problema, zato pitam ovde.
Re: Binarni fajlovi! 01.11.2004. u 17:35 · pre 267 meseci #4
Ajde daj kood koji si napisao, pa da vidim jel ti mogu "naslepo" pomoći...
Potpis
Putuj planeto, super smo se družili
nama je lepo, taman kako smo zaslužili!
Re: Binarni fajlovi! 01.11.2004. u 17:39 · pre 267 meseci #5
Ovo je sve sto sam dosad napisao:

Code:
Private Sub Command1_Click()
Dim IntCheckFile As Integer
Dim Line1 As String
Dim Result As String

    IntCheckFile = FileExists("primer.bpb")
    
    Select Case IntCheckFile
      Case -1
          MsgBox "You're not in right directory!", vbOKOnly, "Error"
      Case 0
          MsgBox "You're not in right directory!", vbOKOnly, "Error"
      Case 1
          'MsgBox "Excellent!", vbOKOnly, "Error"
          SetAttr "primer.bpb", GetAttr("primer.bpb") And (Not vbHidden)
          
    End Select
End Sub

Private Sub Command2_Click()
End
End Sub

Function FileExists(strFile As String) As Integer
'********************************************************************************
'* Name : FileExists
'* Date : Feb-17, 2000
'* Author : David Costelloe
'* Returns : -1 = Does not exists 0 = Exists with zero bytes 1 = Exists > 0 Bytes
'*********************************************************************************
    Dim lSize As Long

    On Error Resume Next
    '* set lSize to -1
    lSize = -1
    'Get the length of the file
    lSize = FileLen(strFile)
    If lSize = 0 Then
        '* File is zero bytes and exists
        FileExists = 0
    ElseIf lSize > 0 Then
        '* File Exists
        FileExists = 1
    Else
        '* Does not exist
        FileExists = -1
    End If
End Function



Poenta je da se fajl primer.bpb edituje. Taj deo koda treba da mi dodje posle naredbe SetAttr. I hocu da uradim bukvalno ono sto sam napisao u prvom postu, dakle sta da navedem za ofset da bi AA na pocetku promneio u AB? Kako treba da glasi put naredba?
Re: Binarni fajlovi! 01.11.2004. u 17:46 · pre 267 meseci #6
Ako je AA na samom početku onda je offset 0 (ili 1, možda grešim).
Nakon što otvoriš fajl kao #1 ili šta već, PUT naredba bi trebala da glasi nešto kao:
PUT #1, 0, &HAB

Ili ako je offset 1 (to nisam siguran, nisam koristio VB već mnogo godina)

PUT #1, 1, &HAB

Za open se ne sećam sintakse, nešto kao OPEN "file.ext" FOR BINARY AS #1
ili tako nešto... To ide pre PUT naredbe...
Potpis
Putuj planeto, super smo se družili
nama je lepo, taman kako smo zaslužili!
Re: Binarni fajlovi! 01.11.2004. u 17:48 · pre 267 meseci #7
Ok, ako se ne varam, išlo bi nešto kao...

OPEN strFile FOR BINARY AS #1
PUT #1, 1, &HAB
CLOSE #1
Potpis
Putuj planeto, super smo se družili
nama je lepo, taman kako smo zaslužili!
Re: Binarni fajlovi! 01.11.2004. u 18:01 · pre 267 meseci #8
On mi promeni i onaj blok posle prvog AA, i to u 00.

Re: Binarni fajlovi! 01.11.2004. u 18:33 · pre 267 meseci #9
Hmmm... Ako se ne varam u VB-u ima nešto kao DIM var AS SmallInt, samo što nije SmallInt, možda je byte, ne znam...

Probaj:

DIM neshto AS SmallInt
neshto=&HAB
OPEN strFile FOR BINARY AS #1
PUT #1, 1, neshto
CLOSE #1

Zameni SmallInt sa Byte ako tako treba. Ako ni to ne uspe, onda jednostavno...

OPEN strFile FOR BINARY AS #1
PUT #1, 1, &HAAAB
CLOSE #1
Potpis
Putuj planeto, super smo se družili
nama je lepo, taman kako smo zaslužili!
Re: Binarni fajlovi! 02.11.2004. u 09:41 · pre 267 meseci #10
Uspelo je kad sam stavio tip podataka Byte pa to upisao.
Hvala na trudu!
Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme