Autore Topic: Caricare file all'avvio  (Letto 424 volte)

Offline akrobaticone

  • Gran Maestro dei Gamberi
  • *****
  • Post: 983
    • Mostra profilo
Caricare file all'avvio
« il: 02 Agosto 2015, 10:33:37 »
Nel programma ho un file di risorse che carico all'avvio così
Codice: gambas [Seleziona]
    If Not Exist(user.home &/ ".MiaCartella") Then Mkdir (user.home &/ ".MiaCartella")  ' se non esiste crea la cartella MiaCartella
    If Not Exist(user.home &/ ".MiaCartella/MioFile.txt") Then         ' e mettici il file
        Copy "Dati/MioFile.txt" To user.home &/ ".MiaCartella/MioFile.txt"
    Endif

il file a questo punto è presente nella cartella di lavoro copiato per la prima volta dal sorgente di Gambas (nella cartella Dati) nella cartella nascosta nella Home dell'utente
modificando il file nei sorgenti di Gambas comunque non viene più modificato quello installato perchè già presente
per aggiornarlo dovrei prima cancellare quello vecchio nella home con Kill e poi copiarlo di nuovo
questo avviene tutte le volte che si apre il programma.
esiste un altro sistema più efficente?

il problema si pone quando aggiorno il programma con una nuova versione e quindi anche il file di supporto potrebbe essere stato aggiornato
chiaramente l'utente che installa la nuova versione dovrebbe cancellare il file MioFile che si trova nella cartella nascosta .MiaCartella

spero di essere stato chiaro il concetto è un po contorto....
  
« Ultima modifica: 02 Agosto 2015, 10:47:29 da Akrobaticone »
"e il naufragar m'è dolce in questo mar"

Offline vuott

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 11.724
  • Ne mors quidem nos iunget
    • Mostra profilo
Re: Caricare file all'avvio
« Risposta #1 il: 02 Agosto 2015, 20:13:10 »
 :-\ ...potresti assegnare come nome al file presente nella cartella Dati il numero della versione dell'applicazone; e poi far semplicemente confrontare il nome del file salvato nella cartella nascosta con la versione corrente dell'applicazione.
Se non v'è concordanza vuol dire che la versione dell'applicazione è più recente del file presente nella cartella nascosta.
« Chiunque, non ricorrendo lo stato di necessità, nel proprio progetto Gambas fa uso delle istruzioni Shell o Exec, è punito con la sanzione pecuniaria da euro 20,00 a euro 60,00. »

Offline akrobaticone

  • Gran Maestro dei Gamberi
  • *****
  • Post: 983
    • Mostra profilo
Re: Caricare file all'avvio
« Risposta #2 il: 03 Agosto 2015, 00:13:10 »
Semplice ed efficace :2birre:
ci provo

Grazie mille
"e il naufragar m'è dolce in questo mar"

Offline vuott

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 11.724
  • Ne mors quidem nos iunget
    • Mostra profilo
Re: Caricare file all'avvio
« Risposta #3 il: 03 Agosto 2015, 00:44:13 »
Più o meno una cosa così:
Codice: gambas [Seleziona]
If File.BaseName(Dir(User.Home, Application.Name & "*", gb.File)[0]) <> Application.Name & Application.Version Then
      Copy Application.Name & Application.Version To User.Home &/ Application.Name & Application.Version
Endif
« Chiunque, non ricorrendo lo stato di necessità, nel proprio progetto Gambas fa uso delle istruzioni Shell o Exec, è punito con la sanzione pecuniaria da euro 20,00 a euro 60,00. »