[ R-Byter @ 01.11.2004. 16:22 ] @
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!
[ BytEfLUSh @ 01.11.2004. 16:25 ] @
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...
[ R-Byter @ 01.11.2004. 16:28 ] @
Hvala, sacekacu precizniji odgovor od nekoga. Probao sam da uradim sam, ali imam problema, zato pitam ovde.
[ BytEfLUSh @ 01.11.2004. 16:35 ] @
Ajde daj kood koji si napisao, pa da vidim jel ti mogu "naslepo" pomoći...
[ R-Byter @ 01.11.2004. 16:39 ] @
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?
[ BytEfLUSh @ 01.11.2004. 16:46 ] @
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...
[ BytEfLUSh @ 01.11.2004. 16:48 ] @
Ok, ako se ne varam, išlo bi nešto kao...

OPEN strFile FOR BINARY AS #1
PUT #1, 1, &HAB
CLOSE #1
[ R-Byter @ 01.11.2004. 17:01 ] @
On mi promeni i onaj blok posle prvog AA, i to u 00.

[ BytEfLUSh @ 01.11.2004. 17:33 ] @
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
[ R-Byter @ 02.11.2004. 08:41 ] @
Uspelo je kad sam stavio tip podataka Byte pa to upisao.
Hvala na trudu!