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

    VB6 dubbio su "freefile"

    Salve a tutti, ho fatto un programma con una decina di form. Nel programma salvo e richiamo circa 8 volte ( utilizzando open for output/input/binary..)vari dati, tipo textbox, stringhe, numeri..

    La domanda è questa:

    posso dichiarare l'ordine di accesso a tutti i file che devo salvare/recuperare come :

    Dim filenum%
    filenum=freefile
    open [nomefile] for input/output/append as #filenum
    ...........

    oppure è importante che abbiano tutti un numero di accesso diverso e sequenziale? (mi riferisco al #1,#2...)

    Faccio questa domanda perchè avevo il programma con circa 4-5 salvataggi a numero sequenziale e un paio con freefile, solo che ho creato un nuovo salvataggio di tipo sequenziale ed ho cominciato ad avere questo errore:

    errore 75 path/file access error

    anche se l'errore si presenta solo se eseguo il programma su un altro pc (o anche sul mio ma con un altro account).

    Ho cancellato il nuovo salvataggio tornando alla situazione precedente e funzionante ma niente da fare.. continuo a poter eseguire il programma solo sul mio PC, ed in modalità amministratore.

    Che cosa posso fare per risolvere? Ho ricontrollato il codice di ogni salvataggio mille volte e mi sembra tale quale a prima ..(quando però funzionava..) Come posso vedere dove sta l'errore dato che non posso ricreare l'errore per fare il Debug quando sono in modalità amministratore?

  2. #2
    Dove stai cercando di salvare?
    Amaro C++, il gusto pieno dell'undefined behavior.

  3. #3
    Salvo 4 file di testo direttamente su C: , ed il file binary in una cartella creata sempre in C:

    Grazie dell'aiuto

  4. #4
    Utente di HTML.it L'avatar di wallrider
    Registrato dal
    Apr 2003
    Messaggi
    2,752
    Originariamente inviato da litterone
    Salvo 4 file di testo direttamente su C: , ed il file binary in una cartella creata sempre in C:
    ...
    l'utente ha privilegi limitati o è amministratore (o simili)?
    RIP Cicciobenzina 9/11/2010

    "Riseminaciceli, i ceci nell'orto"

  5. #5
    L'utente è amministratore

  6. #6
    Di default solo gli amministratori e pochi altri gruppi hanno il permesso di scrivere direttamente su c:; la directory radice va lasciata stare, se mi dici di che genere di file si tratta ti posso dire dove vanno salvati.
    Amaro C++, il gusto pieno dell'undefined behavior.

  7. #7
    Originariamente inviato da MItaly
    Di default solo gli amministratori e pochi altri gruppi hanno il permesso di scrivere direttamente su c:; la directory radice va lasciata stare, se mi dici di che genere di file si tratta ti posso dire dove vanno salvati.
    1)dunque dovrei salvare 2 file.txt formati da centinaia di stringhe di numeri (estrazioni del superenalotto)

    2)da altri 2 form devo richiamare questi 2 file per fare dei controlli

    3)salvo in un file di tipo Binary circa 150 numeri integer e una ventina di Array multidimensionali

    4)ho altri 2 form dai quali devo salvare il contenuto di alcune textbox

    Quale sarebbe la directory radice?

  8. #8
    Se sono file ad uso interno dell'applicazione, sono da conservare e sono specifici dell'utente vanno in "%appdata%\NomeTuaApplicazione", se sono file temporanei vanno in %temp%, ed è bene crearli con la API GetTempFileName; se sono file di output per l'utente, dev'essere quest'ultimo a scegliere dove salvarli con l'apposito common dialog.
    Da quanto mi pare di capire si tratta sempre di dati temporanei interni all'applicazione, e non mi paiono neanche tanto grandi; perché invece di salvarli su file non ti limiti a mantenerli in memoria?
    La directory radice è la directory base del drive, ad esempio la directory radice del drive c: è c:\.
    Amaro C++, il gusto pieno dell'undefined behavior.

  9. #9
    Ho capito, ma è importante che il numero dopo il cancelletto* sia diverso per ogni file,

    open [nomefile] for output/input etc AS #1

    oppure posso dichiararli tutti come

    dim filenum=freefile

    open....as #filenum ??

  10. #10
    Per quanto uno possa specificare manualmente i numeri di file, è più semplice utilizzare FreeFile
    codice:
    Dim fileNum As Integer
    fileNum = FreeFile
    Open "nomefile.ext" For Input As fileNum
    '...
    Close fileNum
    .
    Amaro C++, il gusto pieno dell'undefined behavior.

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.