Autore Topic: Creazione di un file xml  (Letto 2713 volte)

Offline Lux

  • Maestro Gambero
  • ****
  • Post: 416
    • Mostra profilo
Creazione di un file xml
« il: 06 Marzo 2012, 17:10:42 »
Ciao, ecco il mio problema, dovrei creare un file xml che contenga le impostazioni di un mio programma, come ad esempio il nome del progetto e altte cosucce.
ho visto che gambas contiene un componente apposito per la creazione di file xml, potreste darmi una mano per capirne il funzionamento.
Ciao e grazie!

Offline Speedvicio

  • Gamberetto
  • *
  • Post: 25
    • Mostra profilo
Re: Creazione di un file xml
« Risposta #1 il: 06 Marzo 2012, 17:26:32 »
La tua applicazione necessita di un unico file di impostazioni da richiamare all'avvio o ti serve necessariamente qualcosa in xml portabile?

Offline Lux

  • Maestro Gambero
  • ****
  • Post: 416
    • Mostra profilo
Re: Creazione di un file xml
« Risposta #2 il: 06 Marzo 2012, 18:26:12 »
Per ora la mia applicazione è semplice e quindi ha bisogno di un unico file da richiamare all'avvio.

Offline Speedvicio

  • Gamberetto
  • *
  • Post: 25
    • Mostra profilo
Re: Creazione di un file xml
« Risposta #3 il: 06 Marzo 2012, 18:31:02 »
Puoi utilizzare più semplicemente settings anzichè la gestione più farraginosa di un file xml.

ecco un esempio:

Codice: [Seleziona]
Lettura:
FMain.TextBox8.text = Settings["nomesettaggio", FMain.TextBox8.text]

Scrittura:
Settings["nomesettaggio"] = FMain.TextBox8.text

Puoi inserire tutto nel form principale o ancora meglio in un modulo da richiamare all'apertura e alla chiusura del form.

Offline fsurfing

  • Moderatore
  • Senatore Gambero
  • *****
  • Post: 2.482
    • Mostra profilo
Re: Creazione di un file xml
« Risposta #4 il: 06 Marzo 2012, 19:09:50 »
in scrittura ricordarsi di aggiungere
settings.save

altrimenti la modifica potrebbe non essere apportata

Offline Lux

  • Maestro Gambero
  • ****
  • Post: 416
    • Mostra profilo
Re: Creazione di un file xml
« Risposta #5 il: 06 Marzo 2012, 21:10:25 »
Effettivamente settings mi sembra più veloce da scrivere, ma è altrettanto utile? Nel senso che se il mio progetto dovesse via via crescere, settings andrebbe sempre bene?

Offline fsurfing

  • Moderatore
  • Senatore Gambero
  • *****
  • Post: 2.482
    • Mostra profilo
Re: Creazione di un file xml
« Risposta #6 il: 07 Marzo 2012, 00:10:27 »
se devi solo salvare impostazioni che servono al tuo programma va ultrabenissimo

se invece devi salvare un documento xml vero e proprio è meglio

Offline md9327

  • Moderatore
  • Senatore Gambero
  • *****
  • Post: 2.840
    • Mostra profilo
Re: Creazione di un file xml
« Risposta #7 il: 08 Marzo 2012, 14:08:34 »
L'xml diventa essenziale se devi scrivere impostazioni nidificate più di due livelli.
Settings, dato che riprende il discorso dei vecchi file .INI di Windows, ha la facilità di un testo con associazioni di label e valori, sotto un gruppo.
Se, ad esempio, il valore stesso è un gruppo, in cui sono contenute ulteriori voci, allora la cosa diventa più complessa e un pò difficile da gestire con Settings.
Tieni inoltre conto che Setting non fà verifiche su come è strutturato un file ini. Diversamente le classi XML hanno la possibilità di fare uun parsing del file e verificarne la congruenza, financo dei dati inclusi.
Se, nel tuo caso, non hai la necessità di eccessive e complicate impostazioni, anche in previsione di ulteriori espansioni future, allora puoi benissimo utilizzare Settings.
In ogni caso, potresti comunque sostituire in futuro la lettura delle configurazioni con una versione xml, basta che il codice lo inserisci in un contesto di facile manutenibilità...  :D

Offline Lux

  • Maestro Gambero
  • ****
  • Post: 416
    • Mostra profilo
Re: Creazione di un file xml
« Risposta #8 il: 08 Marzo 2012, 18:54:52 »
Grazie mille per le risposte!!!
Allora utilizzerò settings per i settaggi del programma, ma credo che comunque avrò bisogno della creazione di file xml per alcune cosucce che spero arrivino in futuro.
Allora, come primissima cosa:
@mod9327: la tua spiegazione è molto complessa per me che sono un semplice appassionato, ecco delle domandine, stupide, ma le faccio cosi imparo:
1) File INI di windows, li ricordo, ma non ne ho mai capito il significato
2)Scrivere impostazioni nidificate su due o più livelli, che vuol dire?
3) parsing dei file, che roba è?
come sempre grazie mille a tutti, aspettando quel giorno in cui anch'io possa essere d'aiuto a qualcuno! :2birre:

Offline Speedvicio

  • Gamberetto
  • *
  • Post: 25
    • Mostra profilo
Re: Creazione di un file xml
« Risposta #9 il: 08 Marzo 2012, 19:10:06 »
I file ini sono dei file di testo contenenti i settaggi delle applicazioni.
Solitamente l'applicazione scrive il file all'uscita e poi tramite un controllo del file di testo verifica  i valori precedentemente salvati , li richiama e imposta per ogni valore il relativo settaggio.
XML funziona un pò allo stesso modo ma la struttura del file è più complessa.
Se vuoi capire la base per creare una sorta di file ini, posso postarti l'ultimo progetto che ho scritto.
Avevo la necessità di create un file ad hoc per richiamare impostazioni differenti, precedentemente salvate dall'utente.

Questo è il link al download: http://sourceforge.net/projects/gfsuae/

PS: la gestione delle impostazioni applicazione in vb .net è più semplice che in Gambas e per l'appunto vb .net salva il tutto in un file xml.

Offline Lux

  • Maestro Gambero
  • ****
  • Post: 416
    • Mostra profilo
Re: Creazione di un file xml
« Risposta #10 il: 08 Marzo 2012, 20:49:27 »
Ok!! do uno sguardo al tuo progetto!! ;)

Offline md9327

  • Moderatore
  • Senatore Gambero
  • *****
  • Post: 2.840
    • Mostra profilo
Re: Creazione di un file xml
« Risposta #11 il: 09 Marzo 2012, 16:18:00 »
Tanto per aggiungere qualcosina:

i file INI hanno una sintassi molto semplice, in quanto è un semplice file di testo, e contenenti una serie di nomi e valori, ovvero:

- gruppo: di norma identifica un gruppo di opzioni, è facilmente idenficabile in quanto riporta un'etichetta (un nome) racchiudo tra parentesi quadre. Spesso il nome viene definito tutto in maiuscolo, tanto per farlo saltare all'occhio in fase di lettura. Di gruppi se ne possono inserire a volontà, non ci sono limiti, ma devono essere univoci all'interno dello stesso file. Ogni singolo gruppo può contenere un numero indefinito di voci, di norma facenti parte logicamente dello stesso gruppo.

- voci: ogni voce viene descritta in una singola riga. Ogni voce ha un'etichetta (sinistra) e un valore (destra) separati tra loro da un carattere di uguale "=". In pratica ad ogni voce viene associato un valore. Ti ricordo che i valori sono sempre in formato testo, per cui la loro lettura, se necessario, deve essere poi convertito all'interno del tuo programma, usando le opportune funzioni.

Ad esempio:
Codice: [Seleziona]
[GRUPPO_1]
Voce_01=Pippo
Voce_02=0.1

Offline Lux

  • Maestro Gambero
  • ****
  • Post: 416
    • Mostra profilo
Re: Creazione di un file xml
« Risposta #12 il: 10 Marzo 2012, 12:51:29 »
In teoria quindi scrivere un file .ini è più semplice che scrivere uno .xml
So come si scrive un file .xml ed è un po' come scrivere in html, quindi il problema è che quando poi il programma va a leggere una riga, devo fargli capire che deve leggere solo la parte del testo che serve, ad esempio se ho scritto
Codice: [Seleziona]
<title>mio titolo</title>
lui deve estrarre dalla riga solo
Codice: [Seleziona]
mio titolo
.
Forse utilizzando una sintassi del tipo:
Codice: [Seleziona]
Gruppo1
nome1
nome2
nome3
Gruppo2
nome1
nome2
nom3
sarebbe più semplice dato che devo dire al programma di leggere ad esempio, da Gruppo2 in poi.
Non credete?

Offline fsurfing

  • Moderatore
  • Senatore Gambero
  • *****
  • Post: 2.482
    • Mostra profilo
Re: Creazione di un file xml
« Risposta #13 il: 11 Marzo 2012, 21:29:10 »
se usi settings il tutto viene fatto in automatico, basta che tu indichi il gruppo e il nome separati da / :


pippo=settings["gruppo1/nome1"]




Offline md9327

  • Moderatore
  • Senatore Gambero
  • *****
  • Post: 2.840
    • Mostra profilo
Re: Creazione di un file xml
« Risposta #14 il: 12 Marzo 2012, 16:42:17 »
Stessa cosa con le classi XmlReader e XmlWriter, dove ci sono opportuni metodi per estrarre le info senza preoccuparsi della sinstassi xml...

Comunque è vero, è più semplice Settings e il file INI, sicuramente e, se si progetta bene la logica applicativa, ci si può gestire tutto.