lunedì 27 ottobre 2014

Creazione automatica delle versioni di un programma

Il formato del file di livecode è binario, quindi livecode prima di aprirlo lo controlla e se trova qualche errore non lo apre. Se avete avuto problemi nel salvataggio rischiate di perdere il lavoro di ore o mesi, a meno che non abbiate salvato da qualche parte le versioni precedenti del programma.
Per automatizzare questo processo ci sono due vie: servizio esterno oppure qualche riga di codice in più nel nostro programma
La prima via molto semplice, per attuarla basta scrivere il programma nella cartella di un servizio di sincronizzazione tipo dropbox. Questi programmi registrano ogni cambiamento in una determinata cartella e salvano una copia del file per ogni modifica effettuata. Potete tornare indietro ogni volta che volete.
La seconda consiste nell'aggiugere nello stack del nostro un codice tipo il seguente:


on saveStackRequest
   put the folder into curfolder #save where are we now   
   set itemDel to "/"
   set the folder to item 1 to -2 of (the effective fileName of this stack)
   put item -1 of the filename of this stack into fname #just the name
   if (fname & "_vers") is not among the lines of the folders then
      create folder (fname & "_vers")   
   end if   
   set the folder to (the folder & "/" & fname & "_vers")
   put the number of lines of the files into nVers   
   put URL ( "binfile:" & the effective fileName of this stack ) into URL ("binfile:" & nVers & fname)   
   set the folder to curfolder #revert back to the original folder
   pass saveStackRequest -- or the stack won't be saved
end saveStackRequest

Questo codice crea una cartella con tutte le versione del file, una per ogni salvataggio effettuato.