Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11
  1. #1

    [VB6] salvare sovrascrivendo

    ho quasi finito il mio lavoro sull'elaborazione dei file AVI (più per merito di oregon che per merito mio ) ora ho un altro problemino...io salvo il mio file avi come file binario nel modo "standard" ossia con una commondialog prendo il percorso della destinazione e poi uso

    a=freefile
    Open commondialog.FileName for binary as #a
    .
    .
    .
    .
    close #a

    fa tutto bene....unica pecca è da quello che ho capito quando apro i file come binari vengono eseguite le seguenti operazioni

    1) vede se esiste il file
    2) se non esiste lo crea, se esiste apre quello esistente e lavora su quello

    io invece non vorrei che aprisse quello esistente, ma che lo sovrascrivesse con uno nuovo...... insomma il classico messaggio "questo file esiste esiste già, si desidera sovrascriverlo?"

    grazie


    PS ho provato a fare un ricerca ma il server non risponde

  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Potrebbe bastare la riga

    CommonDialog1.Flags = cdlOFNOverwritePrompt

    prima di eseguire la

    CommonDialog1.ShowSave

    con cui ottieni il nome del file.

  3. #3
    grazie oregon prezioso come sempre .... spero di poterti rendere questi favori che mi fai prima o poi... in ambito informatico mi pare improbabile che io ti possa aiutare.... al massimo ti offro un caffè

  4. #4
    mi sono accorto che anche impostando il flag da solo l'avviso, ma poi non va a elimanere il file esistente per sostituirlo con il nuovo se clicco su sovrascrivi...

  5. #5
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Non deve mica eliminare il file ... ti sta solo avvisando che il file esiste ... se accetti, e' tua la responsabilita' di sovrascriverne parte o tutto ...

  6. #6
    sai per caso se esite un modo per vedere se nel prompt di overwrite è stato scelto "Annulla" o "Sovrascrivi" perchè in questo caso potrei dire io al programma di cancellare il vecchio file con una "kill"

  7. #7
    Ho risolto con questo codice subito dopo la gestione della CommonDialog, praticamente controlla l'esistenza del file e se esite già lo elimina :


    FileInQuestione = Dir(CommonDialog1.FileName)
    If FileInQuestione <> "" Then
    Kill (CommonDialog1.FileName)
    End If

  8. #8
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Questa e' la soluzione piu' corretta ... ma devi prevedere sempre una gestione dell'errore per la Kill perche', al momento di eseguire la Kill potresti avere problemi nell'eliminare il file ... (potresti non avere i diritti o il fil potrebbe anche non esistere piu' ... ricorda che sei in un ambiente multiprocesso ...)

  9. #9
    quindi dovrebbe essere sufficiente mettere dopo la kill un codice del tipo

    On Error GoTo <etichetta>

    <etichetta> : MsgBox "Impossibile Eliminare il file"

    per gestire tutti gli eventuali errori che si possono generare ... credo...

  10. #10
    Se mai la On error goto la messi prima e non dopo la kill.

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.