Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 13
  1. #1
    Utente di HTML.it
    Registrato dal
    Mar 2006
    Messaggi
    48

    [VB6]Leggere e scrivere in punti precisi di un file binario

    Salve,

    la questione a parole e' molto semplice.

    Ho 2 file binari: A.bin(source file) e B.bin(destination file, GIA'CREATO e NON vuoto) . La mia applicazione dovrebbe prendere il file A, leggere dei dati al suo interno localizzati ad un certo indirizzo (0x200) e scriverli nel file B sempre al solito indirizzo.

    Io riesco a leggere e scrivere i 2 file ma solo per interi, non riesco a leggere e scrivere SOLO le zone che mi interessano.

    Come dovrei procedere secondo voi?

    Grazie

  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Utilizza la Get # e la Put # e un buffer di byte ...
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  3. #3
    Utente di HTML.it
    Registrato dal
    Mar 2006
    Messaggi
    48
    Ovviamente funziona! Come mai mi sento un pirla?

    Ora però ho un altro piccolo problema...

    Vorrei aggiungere nella form il pulsante "Sfoglia"(o Browse che dirsivoglia) ma non il massimo che ho trovato e' stato "Sfoglia cartelle", ovvero un pulsante che fa selezionare una cartella dell' HD. A me serve invece che mi faccia selezionare proprio il singolo file.

    Grazie

  4. #4
    Utente bannato
    Registrato dal
    Mar 2007
    Messaggi
    190

    Proprieta file...

    salve [scaram]
    forse questo ti potrà essere piu utile...
    per leggere, impostare, le proprietà di un FILE...

    dichiarazione pubblica
    codice:
    Protected MustOverride ReadOnly Property ToolName As String
    utilizzo funzione
    codice:
    Dim value As String
    value = Me.ToolName
    codici funzione
    codice:
    Imports System
    Imports System.Collections
    Imports System.Text
    Imports Microsoft.Build.Utilities
    Imports Microsoft.Build.Framework
    
    Namespace MSBuildTasks
    
        ''' <summary>
        ''' A very simple and incomplete ToolTask to wrap the ILASM.EXE tool.
        ''' </summary>
        Public Class ILAsm
            Inherits ToolTask
    
            ''' <summary>
            ''' Parameter bag.
            ''' </summary>
            Protected Friend ReadOnly Property Bag() As Hashtable
                Get
                    Return propertyBag
                End Get
            End Property
    
            Private propertyBag As New Hashtable()
    
            ''' <summary>
            ''' The Source file that is to be compled (.il)
            ''' </summary>
            Public Property [Source]() As ITaskItem
                Get
                    Return Bag("Source")
                End Get
                Set(ByVal value As ITaskItem)
                    Bag("Source") = value
                End Set
            End Property
    
            ''' <summary>
            ''' Either EXE or DLL indicating the assembly type to be generated
            ''' </summary>
            Public Property TargetType() As String
                Get
                    Return Bag("TargetType")
                End Get
                Set(ByVal value As String)
                    Bag("TargetType") = value
                End Set
            End Property '
    
            Protected Overrides ReadOnly Property ToolName() As String
                Get
                    Return "ILAsm.exe"
                End Get
            End Property
    
            ''' <summary>
            ''' Use ToolLocationHelper to find ILASM.EXE in the Framework directory
            ''' </summary>
            Protected Overrides Function GenerateFullPathToTool() As String
                ' Ask ToolLocationHelper to find ILASM.EXE - it will look in the latest 
    
    framework directory available
                Return ToolLocationHelper.GetPathToDotNetFrameworkFile(ToolName, 
    
    TargetDotNetFrameworkVersion.VersionLatest)
            End Function
    
            ''' <summary>
            ''' Construct the command line from the task properties by using the 
    
    CommandLineBuilder
            ''' </summary>
            Protected Overrides Function GenerateCommandLineCommands() As String
                Dim builder As New CommandLineBuilder()
    
                ' We don't need the tool's logo information shown
                builder.AppendSwitch("/nologo")
    
                Dim targetType As String = Bag("TargetType")
                ' Be explicit with our switches
                If Not (targetType Is Nothing) Then
                    If [String].Compare(targetType, "DLL", True) = 0 Then
                        builder.AppendSwitch("/DLL")
                    ElseIf [String].Compare(targetType, "EXE", True) = 0 Then
                        builder.AppendSwitch("/EXE")
                    Else
                        Log.LogWarning("Invalid TargetType (valid values are DLL and EXE) 
    
    specified: {0}", targetType)
                    End If
                End If
                ' Add the filename that we want the tool to process
                builder.AppendFileNameIfNotNull(Bag("Source"))
    
                ' Log a High importance message stating the file that we are assembling
                Log.LogMessage(MessageImportance.High, "Assembling {0}", Bag("Source"))
    
                ' We have all of our switches added, return the commandline as a string
                Return builder.ToString()
            End Function
        End Class
    End Namespace
    ho preso tutto da MSDN italiano

  5. #5
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480

    Re: Proprieta file...

    Originariamente inviato da tuono_2000

    ho preso tutto da MSDN italiano
    Gia' ... ma lo hai preso per VB.NET non per VB6 come si chiedeva ...

    Puoi usare un controllo CommonDialog.
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  6. #6
    Utente di HTML.it L'avatar di gibra
    Registrato dal
    Apr 2008
    residenza
    Italy
    Messaggi
    4,244

    Re: Proprieta file...

    Originariamente inviato da tuono_2000
    salve [scaram]
    forse questo ti potrà essere piu utile...
    Utile in VB6 ?


    Originariamente inviato da scaram
    Vorrei aggiungere nella form il pulsante "Sfoglia"(o Browse che dirsivoglia) ma non il massimo che ho trovato e' stato "Sfoglia cartelle", ovvero un pulsante che fa selezionare una cartella dell' HD. A me serve invece che mi faccia selezionare proprio il singolo file.
    Per selezionare un singolo file devi usare il controllo Microsoft CommonDialog , che potrai usare per aprire la finestra FileApri.

    Sarebbe possibile anche con la finestra Sfoglia per cartelle , impostando un apposito flag, ma poi non servirebbe a niente perchè questa finestra non restituisce il file ma solo il percorso. Per riuscirci occorrerebbe subclassare la finestra, il chè non è propriamente un scherzo!

    Ciao

  7. #7
    Utente di HTML.it L'avatar di U235
    Registrato dal
    Mar 2006
    Messaggi
    1,539

    Re: Re: Proprieta file...

    Originariamente inviato da gibra
    Utile in VB6 ?
    ma ti fa veramente cosi' ridere? voglio dire una persona puo' anche sbagliare a leggere...

    tu non sbagli mai? niente di personale ma mi pare che ultimamente si tende a fare le gare a chi sbugiarda o prende in giro di piu' l'altro...

  8. #8
    Utente di HTML.it
    Registrato dal
    Mar 2006
    Messaggi
    48
    Tutto fatto con CommonDialog come suggerito... Meno male mi serviva solo il file perche' il percorso nelle cartelle è un altro paio di maniche... Ho visto come si fa ed e' da infarto... VVoVe:

    Grazie a tutti!! Anche a tuono_2000 che aveva solo letto male ma che ringrazio per l'impegno

  9. #9
    Utente di HTML.it L'avatar di gibra
    Registrato dal
    Apr 2008
    residenza
    Italy
    Messaggi
    4,244

    Re: Re: Re: Proprieta file...

    Originariamente inviato da U235
    ma ti fa veramente cosi' ridere? voglio dire una persona puo' anche sbagliare a leggere...

    tu non sbagli mai? niente di personale ma mi pare che ultimamente si tende a fare le gare a chi sbugiarda o prende in giro di piu' l'altro...
    Guarda che hai franiteso, ho solo fatto una battuta.
    Non so di che gara parli...
    Non prendertela per così poco, non ne vale la pena.

    Ciao

  10. #10
    Utente di HTML.it L'avatar di gibra
    Registrato dal
    Apr 2008
    residenza
    Italy
    Messaggi
    4,244
    Originariamente inviato da scaram
    Tutto fatto con CommonDialog come suggerito... Meno male mi serviva solo il file perche' il percorso nelle cartelle è un altro paio di maniche... Ho visto come si fa ed e' da infarto... VVoVe:
    Probabilmente hai visto la versione 'lunga' (che serve per fare il subclassing) ma ne esiste anche una molto corta così:

    BROWSEFORFOLDER
    codice:
    Dim sMyDir As String
    Dim sMsg as String
    sMsg ="Seleziona la cartella"
    Const ssfPERSONAL = 5
    On Error Resume Next
    sMyDir = CreateObject("Shell.Application").BrowseForFolder(0, "sMsg", 0, ssfPERSONAL).Self.Path
    If sMyDir <> "" Then MsgBox "Hai selezionato la cartella: " & sMyDir
    Ciao

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.