Autore Topic: Come salvare dei valori  (Letto 2382 volte)

Offline Gaspare

  • Gambero
  • **
  • Post: 68
    • Mostra profilo
Re: Come salvare dei valori
« Risposta #15 il: 16 Giugno 2009, 21:33:52 »
ma volendo usare dei semplici file di testo come si fa ad aggiungerli al progetto in modo che vengano poi aggiunti ai vari pacchetti di distribuzione?
mi spiego meglio...
ho sviluppato un programmino che fa da traduttore ad n vocaboli per un giochino on-line. nel programma ho usato quindi dei file di testo per i termini creando i vari file "linguaggio".
da esplora progetto i file sono perfettamente visibili ma andando a creare il pacchetto (sia di sorgenti che di distribuzione) questi non vengono inseriti.
come fare?

Offline fsurfing

  • Moderatore
  • Senatore Gambero
  • *****
  • Post: 2.484
    • Mostra profilo
Re: Come salvare dei valori
« Risposta #16 il: 16 Giugno 2009, 22:01:26 »
tutti i file e cartelle presenti nella tua cartella di progetto vengono imglobati nell' eseguibile di gambas

se si tratta di immagini queste possono essere richiamate direttamente senza lcun problema semplicemente dando il percorso relativo

ad esempio hai creato una cartella immagini all' interno della cartella di progetto in sui salvi le  immagini da utilizzare nel tuo programma

queste le puoi richiamare direttamente con

dim immagine as image

immagine=image.load("immagini/nomeimmagine")

per i file la cosa invece non si può fare così semplicemente ma ti conviene fare così:

poniamo di avere una cartella chiamata testi (dentro la cartella di progetto) con tutti i tuoi file di testo

all' avvio del form principale effettui un controllo per verificare se il programma è già stato avviato altre volte oppure no, nel caso non sia mai successo effettui la copia dei file di testo in una cartella sul disco
Codice: [Seleziona]

PUBLIC SUB Fmain_load()

if not exist(user.home & "/.nometuoprogramma") then
  'la cartella nascosta non esiste quindi il prog non è mai stato avviato
   mkdir (user.home & "/.nometuoprogramma") 'crea la cartella nascosta
   copy "testi/testo1.txt" TO user.home & "/.nometuoprogramma"'copia il 1° file
   ------
   ------
   copy "testi/teston.txt" TO user.home & "/.nometuoprogramma"
endif

a questo punto potrai utilizzare i tuoi file di testo ricordandoti però che in tutto il programma dovrai lincarli con il percoso assoluto

ad esempio
Codice: [Seleziona]

dim pippo aS STRING

pippo=file.load(user.home & "/.nometuoprogramma/testo1.txt")


Offline Gaspare

  • Gambero
  • **
  • Post: 68
    • Mostra profilo
Re: Come salvare dei valori
« Risposta #17 il: 16 Giugno 2009, 22:28:15 »
forse mi sono espresso male io ma i file di testo non riesco proprio ad implementarli al progetto per la sua distribuzione... puoi provare il traduttore (ancora in fase di lavorazione) che ti allego?
grazie comunque per avermi risposto :)

Offline fsurfing

  • Moderatore
  • Senatore Gambero
  • *****
  • Post: 2.484
    • Mostra profilo
Re: Come salvare dei valori
« Risposta #18 il: 16 Giugno 2009, 22:58:03 »
cosi dovrebbe andare
ho provato anche con i deb

il problema era quello che ho citato prima

Offline Gaspare

  • Gambero
  • **
  • Post: 68
    • Mostra profilo
Re: Come salvare dei valori
« Risposta #19 il: 17 Giugno 2009, 18:09:24 »
ottimo... grazie mille.
spero sia utile anche ad altri come esempio pratico :)

p.s. non capivo che veniva creata una cartella nascosta, ecco perchè non vedevo i file linguaggio :D

Offline ira83

  • Gambero
  • **
  • Post: 85
    • Mostra profilo
Re: Come salvare dei valori
« Risposta #20 il: 11 Settembre 2009, 02:30:46 »
faccio un up ho fatto delle prova:

Codice: [Seleziona]

PUBLIC SUB Form_Open()

'TextBox1.text = var.editor
'TextBox2.text = var.dir
TextBox1.Text = settings["gruppo_variabili1/variabile1"]
TextBox2.text = settings["gruppo_variabili1/variabile2"]
END


PUBLIC SUB Button1_Click()

'  var.editor = Textbox1.text
'  var.dir = Textbox2.text
settings["gruppo_variabili1/variabile1"] = TextBox1.text
settings["gruppo_variabili1/variabile2"] = TextBox2.text
settings.save
  TextBox1.Enabled = FALSE
      TextBox2.Enabled = FALSE
        Button1.Enabled = FALSE
END

PUBLIC SUB Button2_Click()

  pre.Close()

END


ma non capisco dove sbaglio...

aperto il form devo stampare il contenuto default di due variabili nelle textbar, poi se viene cambiato lo devo salvare come default in modo che al riavvio del programma resti quello modificato..

Offline Ceskho

  • Amministratore
  • Senatore Gambero
  • *****
  • Post: 3.778
  • Vi Veri Veniversum Vivus Vici
    • Mostra profilo
    • Pagina Personale
Re: Come salvare dei valori
« Risposta #21 il: 11 Settembre 2009, 03:47:16 »
Quale problema ti da in particolare? Devi spiegarci le cose per esserti di aiuto.

Comunque hai dimenticato di dichiarare setting come classe

Codice: [Seleziona]
DIM NewSetting AS NEW Setting


e poi usi il tuo codice:

Codice: [Seleziona]

PUBLIC SUB Form_Open()

TextBox1.Text = settings["gruppo_variabili1/variabile1"]
TextBox2.text = settings["gruppo_variabili1/variabile2"]
END


PUBLIC SUB Button1_Click()

settings["gruppo_variabili1/variabile1"] = TextBox1.text
settings["gruppo_variabili1/variabile2"] = TextBox2.text
settings.save
  TextBox1.Enabled = FALSE
  TextBox2.Enabled = FALSE
  Button1.Enabled = FALSE
END

Offline ira83

  • Gambero
  • **
  • Post: 85
    • Mostra profilo
Re: Come salvare dei valori
« Risposta #22 il: 11 Settembre 2009, 10:02:38 »
I Problemi sono nel dim xke ottengo "Unexpected DIM alla linea 2 in pre.class"
e in quella riga ho messo quello che mi hai detto tu cioè
DIM NewSetting as new Setting

e da proprietà ho abilitato la componente gb.setting

  • Visitatore
Re: Come salvare dei valori
« Risposta #23 il: 11 Settembre 2009, 11:58:34 »
il dim si può mettere solo all'interno di una SUB! e in questo caso non avrebbe albun senso per i motivi citati miriadi di volte

devi usare PUBLIC o PRIVATE o anche nulla ( e con il nulla non mi ricordo se viene considerata PUBLIC o PRIVATE)

Offline fsurfing

  • Moderatore
  • Senatore Gambero
  • *****
  • Post: 2.484
    • Mostra profilo
Re: Come salvare dei valori
« Risposta #24 il: 11 Settembre 2009, 12:20:42 »
non serve dichiarare il settings è già attivo abilitando il componente in menu proprieta.


non hai scritto comunque nel primo post di questa pagina quale è il problema.

il codice sembrerebbe corretto

unico appunto, se al primo avvio le variabili
Citazione

settings["gruppo_variabili1/variabile1"] settings["gruppo_variabili1/variabile2"]

non sono presenti nel file di settings potrebbe generarti errore, per evitare ciò ti conviene in lettura impostare un valore di default che viene caricato se non è ancora presente alcun settaggio :
Codice: [Seleziona]

PUBLIC SUB Form_Open()

'TextBox1.text = var.editor
'TextBox2.text = var.dir
TextBox1.Text = settings["gruppo_variabili1/variabile1",valore_di_default1]
TextBox2.text = settings["gruppo_variabili1/variabile2",valore_didefault2]
END


PUBLIC SUB Button1_Click()

'  var.editor = Textbox1.text
'  var.dir = Textbox2.text
settings["gruppo_variabili1/variabile1"] = TextBox1.text
settings["gruppo_variabili1/variabile2"] = TextBox2.text
settings.save
  TextBox1.Enabled = FALSE
      TextBox2.Enabled = FALSE
        Button1.Enabled = FALSE
END