Autore Topic: [Risolto]Pacchetto Debian  (Letto 1094 volte)

Offline Tiziano60

  • Gambero
  • **
  • Post: 53
    • Mostra profilo
[Risolto]Pacchetto Debian
« il: 26 Aprile 2010, 15:12:33 »
Salve a tutti
Ho letto tutto quello che c'era da leggere in questa parte di forum...da come si creano i sorgenti, agli errori che si possono incontrare creando un paccheto debian con gambas, ma non c'è nulla che spieghi come si possano creare in modo corretto inserendo anche dei file di testo o dei database

Per farla breve, dopo aver creato il pacchetto debian, mi sono accorto che non c'erano inseriti anche i vari file di testo

Premetto che uso Kubuntu 9.10 e Gambas 2.16, ma non credo che sia colpa del sistema operativo e nemmeno di gambas
Credo di essere io che non riesco a "legare" i file di testo o dei database alla creazione del  pacchetto

I file, si trovano in una cartella che a sua volta si trova all'interno della cartella del progetto

Allego uno screen



« Ultima modifica: 27 Aprile 2010, 16:57:59 da Tiziano60 »

Offline fsurfing

  • Moderatore
  • Senatore Gambero
  • *****
  • Post: 2.484
    • Mostra profilo
Re: Pacchetto Debian
« Risposta #1 il: 26 Aprile 2010, 21:19:33 »
come detto più volte, tutti i file presenti nella cartella di progetto vengono inglobati all' interno dell' eseguibile, quindi se utilizzati in lettura si possono  leggere direttamente, mentre se usati in lettura scrittura dovranno essere prima copiati sul sistema ospite

Offline Tiziano60

  • Gambero
  • **
  • Post: 53
    • Mostra profilo
Re: Pacchetto Debian
« Risposta #2 il: 26 Aprile 2010, 21:53:30 »
per favore, puoi essere più chiaro?....cosa significa sistema ospite?...intendi la mia User Home o quella dell'utente finale?

Offline Ceskho

  • Amministratore
  • Senatore Gambero
  • *****
  • Post: 3.778
  • Vi Veri Veniversum Vivus Vici
    • Mostra profilo
    • Pagina Personale
Re: Pacchetto Debian
« Risposta #3 il: 27 Aprile 2010, 00:48:42 »
Tieni presente che gambas ingloba tutti i dati estranei al progetto (database, file di testo, immagini) nella stessa cartella in cui viene installato. Nei sistemi unix i programmi vengono salvati in una sezione del filesystem dedicata a loro nei quali è possibile solo leggere ma non scrivere (solo l'utente root può farlo!)...questo vuol dire che in qesta sezione vengono inseriti anche i file del progetto con conseguenza che essi possono essere solo letti ma non scritti. Per ovviare al problemi devi portarti tutti i file che ti serve modificare nella tua home...qualora tu invece voglia solo leggerli potrai accedere alla cartella del tuo progetto, mediante codice, grazie al comando Application.Path

Offline fsurfing

  • Moderatore
  • Senatore Gambero
  • *****
  • Post: 2.484
    • Mostra profilo
Re: Pacchetto Debian
« Risposta #4 il: 27 Aprile 2010, 12:48:55 »
per esempio metti di avere un file di testo "pippo.txt" nella cartella testi posizionata nella cartella di progetto, quando realizzerai un eseguibile o un pacchetto binario dal programma potrai richiamare il file in lettura anche solo semplicemente con  Stringa=file.load("testi/pippo.txt") , se invece su questo file ci devi scrivere dovrai al primo avvio del programma copiarlo in una cartella accessibile all' utente (io solitamente creo una cartella nascosta nella home con il nome del programma)

Codice: [Seleziona]
IF not exist(user.home & /.nome_programma) then
   MKDIR user.home & /.nome_programma
   COPY "testi/pippo.txt" to user.home & "/.nome_programma/pippo.txt"
end if

d' ora in poi il programma dovrà far riferimento al file pippo con il seguente percorso:

 user.home & "/.nome_programma/pippo.txt"


Offline Tiziano60

  • Gambero
  • **
  • Post: 53
    • Mostra profilo
Re: Pacchetto Debian
« Risposta #5 il: 27 Aprile 2010, 16:57:21 »
per esempio metti di avere un file di testo "pippo.txt" nella cartella testi posizionata nella cartella di progetto, quando realizzerai un eseguibile o un pacchetto binario dal programma potrai richiamare il file in lettura anche solo semplicemente con  Stringa=file.load("testi/pippo.txt") , se invece su questo file ci devi scrivere dovrai al primo avvio del programma copiarlo in una cartella accessibile all' utente (io solitamente creo una cartella nascosta nella home con il nome del programma)

Codice: [Seleziona]
IF not exist(user.home & /.nome_programma) then
   MKDIR user.home & /.nome_programma
   COPY "testi/pippo.txt" to user.home & "/.nome_programma/pippo.txt"
end if

d' ora in poi il programma dovrà far riferimento al file pippo con il seguente percorso:

 user.home & "/.nome_programma/pippo.txt"



Effettivamente, per i miei piccoli programmini, creavo e copiavo a mano i file che mi servivano

Ma finchè tutto questo serviva solo a me stesso, questo piccolo inconveniente mi poteva anche stare bene, ma se avessi voluto far provare un programma ad un amico, sarebbe stato imbarazzante dover spiegare che doveva fare per farlo partire.

Il codice che hai scritto, l'ho usato più vlte quando si trattava di un file fatto con Sqlite..controllava se esisteva altrimenti ne creava uno vuoto

ok...modificherò la parte iniziale del form di avvio

Vi ringrazio nuovamente