Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 15
  1. #1
    Utente di HTML.it
    Registrato dal
    Nov 2005
    Messaggi
    278

    problemino con file binario

    ciao ragazzi allora aprto subito col mio codice...

    Option Explicit
    Dim b As String
    Dim a As String
    Dim c As Long
    Dim d As Long
    Dim e As Long
    Dim f As String
    Dim g As String
    Dim h As String



    Private Sub Combo2_Click()
    Select Case Combo2.ListIndex
    Case 0
    c = 4839817
    d = 10875745
    e = 10890757

    End Select
    End Sub

    Private Sub Command1_Click()
    'scrittura primo indirizzo
    b = "/Exe/Java/"
    Seek #1, c
    Put #1, , b

    'scrittura secondo indirizzo
    Seek #1, d
    Put #1, , b

    'scrittura terzo indirizzo
    h = "/Exe/Java"
    Seek #1, e
    Put #1, , h
    End Sub

    Private Sub Command2_Click()
    'lettura primo indirizzo
    Seek #1, c

    a = Space$(11)
    Get #1, , a
    Text1.Text = a
    ' lettura secondo indirizzo
    Seek #1, d

    f = Space$(11)
    Get #1, , f
    Text3.Text = f

    'lettura terzo indirizzo

    Seek #1, e

    g = Space$(10)
    Get #1, , g
    Text5.Text = g
    End Sub

    Private Sub Dir1_Change()
    File1.Path = Dir1.Path
    End Sub

    Private Sub Drive1_Change()
    Dir1.Path = Drive1.Drive
    End Sub

    Private Sub File1_Click()

    Open (File1.Path & "\" & File1.FileName) For Binary Access Read Write As #1
    'lettura primo indirizzo
    Seek #1, c

    a = Space$(11)
    Get #1, , a
    Text1.Text = a
    ' lettura secondo indirizzo
    Seek #1, d

    f = Space$(11)
    Get #1, , f
    Text3.Text = f

    'lettura terzo indirizzo

    Seek #1, e

    g = Space$(10)
    Get #1, , g
    Text5.Text = g
    End Sub

    Private Sub Form_Load()
    Combo2.AddItem "z500rexw4"
    Combo2.ListIndex = 0
    End Sub


    ecco questo codice funziona perfettamente in un file binario sostituisce /media/etc/ in /Exe/Java/...solo che a me interesserebbe che dopo /Exe/Java/ ci sia un byte vuoto..ho provato a modificarlo con il punto....gli zeri...ma niente...non ho trovato molto in giro...io dopo la modifica vorrei che dopo java/ ci sia un byte vuoto rappresentato poi in esadecimale con 00....se avete cvapito potete aiutarmi ...se no chiedete che vi dò ulteriori chiarimenti...

  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,481
    Sì ... chiarisci ...

    Stai scrivendo su un file? Devi inserire un byte a 0 binario ... lo puoi fare con una Put ...

  3. #3
    Utente di HTML.it
    Registrato dal
    Nov 2005
    Messaggi
    278
    sì scusa so di essermi spiegato male...grazie dell'attenzione...con un esempio è + chiaro
    dopo aver aperto il file...


    Private Sub Command1_Click()
    'scrittura primo indirizzo
    b = "tizio caio" ------> un'ipotesi
    Seek #1, c
    Put #1, , b


    ecco io vorrei che dopo tizio caio...dopo la o si inserisca un byte vuoto an emptybyte...se lo visualizzassi con un editor esadecimale leggerei 00....ok?? grazie

  4. #4
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,481
    Ok ... allora basta

    b = "tizio caio" & Chr$(0)

  5. #5
    codice:
    Dim x As Byte
    x=0 'Inutile
    Put #1, x
    Amaro C++, il gusto pieno dell'undefined behavior.

  6. #6
    Utente di HTML.it
    Registrato dal
    Nov 2005
    Messaggi
    278
    perfetto mille grazie oregon!!!!

  7. #7
    Utente di HTML.it
    Registrato dal
    Nov 2005
    Messaggi
    278

    file binario e hex code

    ciao ragazzi...ho questo codice :

    Option Explicit
    Dim b As String
    Dim a As String
    Dim c As Long
    Dim d As Long
    Dim e As Long
    Dim f As String
    Dim g As String
    Dim h As String






    Private Sub Command1_Click()
    'scrittura primo indirizzo

    b = "/Exe/Java/" & Chr$(0)
    Seek #1, c
    Put #1, , b
    Label1.Caption = "deve apparire /Exe/Java/"

    'scrittura secondo indirizzo
    Seek #1, d
    Put #1, , b
    Label2.Caption = " deve apparire /Exe/Java/"
    'scrittura terzo indirizzo
    h = "/Exe/Java" & Chr$(0)
    Seek #1, e
    Put #1, , h
    Label3.Caption = "deve apparire /Exe/Java"
    End Sub

    Private Sub Command2_Click()
    ' rilettura primo indirizzo
    Seek #1, c

    a = Space$(11)
    Get #1, , a
    Text1.Text = a
    ' rilettura secondo indirizzo
    Seek #1, d

    f = Space$(11)
    Get #1, , f
    Text3.Text = f

    ' rilettura terzo indirizzo

    Seek #1, e

    g = Space$(10)
    Get #1, , g
    Text5.Text = g
    End Sub

    Private Sub Command3_Click()
    On Error GoTo errore
    c = Val("&H" & Text2.Text & "")
    d = Val("&H" & Text4.Text & "")
    e = Val("&H" & Text6.Text & "")


    'lettura primo indirizzo
    Seek #1, c
    a = Space$(12)
    Get #1, , a
    Text1.Text = a


    ' lettura secondo indirizzo
    Seek #1, d
    f = Space$(11)
    Get #1, , f
    Text3.Text = f



    'lettura terzo indirizzo
    Seek #1, e
    g = Space$(11)
    Get #1, , g
    Text5.Text = g
    Exit Sub
    errore:
    MsgBox ("inserisci gli indirizzi in esadecimale")
    End Sub

    Private Sub Dir1_Change()
    File1.Path = Dir1.Path
    End Sub

    Private Sub Drive1_Change()
    Dir1.Path = Drive1.Drive
    End Sub

    Private Sub File1_Click()

    Open (File1.Path & "\" & File1.FileName) For Binary Access Read Write As #1

    Command4.BackColor = vbGreen
    Command4.Caption = "file caricato"
    End Sub



    il codice funziona ma deve avere qualche problema che non capisco...il programma dovrebbe leggere un indirizzo hex...convertirlo in decimale...cambiare la stringa in /Exe/Java/ e stop.
    tuttavia legge l'hex code male...perde un indirizzo (ad esempio se inserisco 00A5F361 lui legge 00A5F360) quindi anche nel riscrivere il file poi sbaglia....voi riuscite a veder qualcosa di sbagliato??

    non vorrei che sbaglio io ad utilizzarlo...ed in veerità non me ne accorgo...ditemi voi se vedete qualcosa di anomalo..

  8. #8
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,481
    Ma di cosa stai parlando? Se non fai una premessa chiara su quello che stai facendo, mi sembra difficile risponderti ...

  9. #9
    Utente di HTML.it
    Registrato dal
    Nov 2005
    Messaggi
    278
    scusami forse sono stato poco chiaro...ma a fine thread ho scritto la funzionalità del programma...

    cmq
    1) carico un file binario
    2)inserisco un indirizzo in esadecimale in un text box
    3) il programma lo converte in decimale
    4) individua l'indirizzo sul file
    5) legge cosa c'è scritto
    6) il programma non va e legge invece che 00A5F361, legge 00A5F360 e non so perchè
    7) do il comando per trasformare la stringa /Media/Etc/ in /Exe/Java/
    8)lo fa male e non so perchè ma penso sia perchè legge male l'indirizzo ...cmq invece che scrivere /Exe/Java/ scrive /Exe/Java
    9)stop finisce qui il programma


    ora..nel listato che ho scritto vedete che c'è qualcosa che non va???potete aiutarmi a farmi capire se sono io che sbaglio qualcosa nell'utilizzo oppure il programma ha qualche problema??perchè legge male gli indirizzi??grazie dell'attenzione oregon ciao
    se vuoi ti posto anche il programma in zip coi sorgenti...però non so come...se vuoi te lo invio vi a e-mail o se mi dici un sito te lo uppo...

  10. #10
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,481
    Molto probabilmente il tuo problema e' legato all'istruzione Seek.

    Il valore minimo di posizione che puoi passare a tale istruzione e' 1 e corrisponde con l'inizio del file.

    Se tu intendi passare l'indirizzo in base 0, allora devi aggiungere 1 nella Seek, ad esempio

    Seek #1, e+1

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.