Visualizzazione dei risultati da 1 a 8 su 8
  1. #1

    Copia di un file

    Allora io mi sto creando un programma per lavorare in esadecimale su un file.

    Però io volevo far si che se apro il file ciao.dkz prima di lavorare in HEX lui deve leggere tutti i byte di un file e creare un file che si chiamerà con lo stesso nome del file (ciao.dkz) ma con estensione .bak quindi in questo caso ciao.dkz.bak e la salvi nella stessa cartella dove c'e' il file.

    Per lavorare in esadecimale ho questo codice:
    codice:
    Dim tint As Integer
    Dim str As New FileStream(OpenFileDialog1.FileName, FileMode.Open, FileAccess.ReadWrite)
    tint = str.ReadByte()
    If tint = -1 Then MsgBox("Il file è troppo picolo") : Exit Sub
    str.Seek(&HAB0, SeekOrigin.Begin)
    str.WriteByte(CByte("&H" & ComboBox1.Text))
    Ma io voglio che prima di lavorare in HEX faccia un backup in questo modo
    codice:
    My.Computer.FileSystem.WriteAllBytes(SaveFileDialog1.FileName, My.Computer.FileSystem.ReadAllBytes(OpenFileDialog1.FileName), True)
    Ma al posto di SaveFileDialog1.FileName ci deve essere un codice che dica di creare un file con gli stessi byte dell'OpenFIleDialog1.FileName e con estensione .bak che salverà nella stessa cartella.

    Io non so come fare

    Avete idee?

    Saluti flash.tato

  2. #2
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,466
    Il linguaggio? VB.NET? :master:
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  3. #3
    Mi sono dimenticato di metterlo

    si è VB.NET

  4. #4
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,466
    Non capisco la necessità di usare le istruzioni di lettura e scrittura di bytes...

    Voglio dire, se devi fare una copia di un file, tanto vale invocare l'operazione di copia, senza farla manualmente.

    Il namespace "System.IO", in particolare la classe File, fornisce tutti i metodi necessari.

    Leggi la documentazione MSDN a tal proposito.

    Ciao!
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  5. #5
    Grazie Alka sicuramente questo metodo è meglio della Lettura dei byte.

    Però nn capisco una cosa come faccio a dirgli che deve salvare nella stessa cartella dell'openFileDialog1.FileName e che deve salvarlo con lo stesso nome ma con estensione .bak.

  6. #6
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,466
    Originariamente inviato da flash.tato
    Però nn capisco una cosa come faccio a dirgli che deve salvare nella stessa cartella dell'openFileDialog1.FileName e che deve salvarlo con lo stesso nome ma con estensione .bak.
    Spiegati meglio. La funzione di copia accetta percorsi di sorgente e destinazione sottoforma di stringa, quindi basta fornigli queste informazioni per effettuare la copia.

    Sono io che non capisco il ruolo dell'OpenFileDialog in tutto questo. :master:
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  7. #7
    Allora come ho detto prima mi sto creando un programma per lavorare in HEX su un File.

    Però prima di lavorare in HEX io vorrei che facesse un backup del file che salvi nella stessa cartella e con lo stesso nome dell'OpenFIleDialog1.FIleName ma con estensione .bak.

    Io come faccio ad adattare tale codice
    codice:
    Dim sourceFileName As String
    Dim destFileName As String
    
    File.Copy(sourceFileName, destFileName)
    In modo che al posto di destFileName copi il file (OpenFileDialog1.FileName) con lo stesso nome ma con estensione .bak

  8. #8
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,466
    Sempre nel namespace "System.IO" (hai risposto subito, quindi suppongo che tu l'abbia osservato un po' pochino...) ci sono altre classi, come ad esempio Path, che fornisce metodi in grado di lavorare e trasformare nomi di file proprio per venire in contro a queste esigenze.

    Leggi la documentazione.

    Ciao!
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

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.