Autore Topic: Aiuto per gestione file d itesto [RISOLTO a distanza di 2 anni]  (Letto 2835 volte)

Offline Ceskho

  • Amministratore
  • Senatore Gambero
  • *****
  • Post: 3.778
  • Vi Veri Veniversum Vivus Vici
    • Mostra profilo
    • Pagina Personale
Salve ragazzi..sono nuovo e vorrei farvi una domanda....sto creando un gioco e mi serve avere un file di testo nel quale salvare le varie caratteristiche dei personaggi.....mi potete dire come fare ad esempio per aggiungere righe al file o crearlo nuovo? grazie mille...
« Ultima modifica: 13 Maggio 2010, 18:59:54 da Ceskho »

Offline leo72

  • Amministratore
  • Senatore Gambero
  • *****
  • Post: 2.163
    • Mostra profilo
    • http://www.leonardomiliani.com
Re: Aiuto per gestione file d itesto
« Risposta #1 il: 06 Giugno 2008, 00:00:26 »
Per creare un file di testo:
Codice: [Seleziona]

DIM hFile AS File
DIM Stringa_da_scrivere AS String

  hFile = OPEN Percorso_del_file FOR CREATE
  PRINT #hFile, Stringa_da_scrivere
  CLOSE #hFIle

CREATE dice a Gambas di creare ex-novo un file o, se questo esiste, di cancellarlo prima di ricrearlo.

Per leggere i dati:
Codice: [Seleziona]

DIM hFile AS File
DIM Stringa_da_leggere AS String

  hFile = OPEN Percorso_del_file FOR INPUT
  LINE INPUT #hFile, Stringa_da_leggere
  CLOSE #hFIle
Visita il mio sito personale: http://www.leonardomiliani.com

Offline Ceskho

  • Amministratore
  • Senatore Gambero
  • *****
  • Post: 3.778
  • Vi Veri Veniversum Vivus Vici
    • Mostra profilo
    • Pagina Personale
Re: Aiuto per gestione file d itesto
« Risposta #2 il: 06 Giugno 2008, 00:14:47 »
Grazie per la risposta....

ma la lettura della stringa prevede di leggere una stringa in particolare?ad esempio se io ne file ho una stringa così:
Ceskho = 10
posso leggere quella specifica riga?

mi piacerebbe sapere anche come fare magari ad aggiungere una riga di testo....senza cancellare il vecchio file....

g.paolo

  • Visitatore
Re: Aiuto per gestione file d itesto
« Risposta #3 il: 06 Giugno 2008, 08:36:41 »
Per scrivere in un file di testo

PUBLIC SUB scrittura_txt()    
 DIM hFile AS Stream
 DIM conta AS Integer
'fornire il percorso completo del file
'se il file non esiste, usare la keyword CREATE
'APPEND nel caso si voglia aggiungere contenuti
 hFile = OPEN user.home &/ "testo.txt" FOR WRITE CREATE  
                              
 FOR conta = 0 TO 10
    PRINT #hFile, "prova"
 NEXT
 CLOSE #hFile
CATCH
  message.Info("Impossibile aprire il file")
  TRY CLOSE #hFile
END
'***ATTENZIONE***: se il file esiste già "CREATE" ne cancellerà il contenuto prima 'di scriverci.

Per posizionarsi su una linea specifica:

WHILE NOT Eof(hFile) 'cicla su tutte le linee del file
       LINE INPUT #hFile, unalinea
       'tuo codice di elaborazione
WEND

Offline fsurfing

  • Moderatore
  • Senatore Gambero
  • *****
  • Post: 2.484
    • Mostra profilo
Re: Aiuto per gestione file d itesto
« Risposta #4 il: 06 Giugno 2008, 12:50:18 »
secondo me per salvare delle stringhe di configurazione il metodo più comodo è di usare il componente settings di gambas.

il file risultante sarà un insieme di "gruppi" al loro interno un tot di parametri da impostare.
siccome non riesco a spiegarmi bene ti faccio un esempio

Codice: [Seleziona]

settings["personaggi/cesko"]=10
settings["personaggi/pippo"]=20

settings["ambiente/albero"]=15

ecc.. ecc...

settings.save  ' salva i cambiamenti


per leggere i valori farai semplicemente

Codice: [Seleziona]

valore_cesko=settings["personaggi/cesko"]


il file di settings sarà salvato in /home/tuonome/.config/gambas/nome_tua_applicazione/.conf



nell'esempio sopra

il file sarà cosi scritto

[personaggi]
cesko=10
pippo=20

[ambiente]
albero=15

Offline Ceskho

  • Amministratore
  • Senatore Gambero
  • *****
  • Post: 3.778
  • Vi Veri Veniversum Vivus Vici
    • Mostra profilo
    • Pagina Personale
Re: Aiuto per gestione file d itesto
« Risposta #5 il: 06 Giugno 2008, 18:07:53 »
Penso di aver capito....

Ma :

valore_cesko=settings["personaggi/cesko"]

è un comando? non capisco bene bene quel passaggio...

il documento lo strutturo così per esempio:


settings["personaggi/cesko/attacco"]=10
settings["personaggi/pippo/difesa"]=20

settings["ambiente/albero"]=15
settings["ambiente/castella"]=20

ecc.. ecc...

settings.save

giusto?

Offline fsurfing

  • Moderatore
  • Senatore Gambero
  • *****
  • Post: 2.484
    • Mostra profilo
Re: Aiuto per gestione file d itesto
« Risposta #6 il: 06 Giugno 2008, 19:31:52 »
per usare settings devi abilitare il componente gb.settimgs

il primo valore nelle parentesi Quadre  indica il gruppo ed il secondo il parametro da impostare

quindi se il tuo cesko ha piu parametri farai un gruppo per cesko  con i vari parametri e via di seguito.




Citazione
valore_cesko=settings["personaggi/cesko"]


in pratica valore cesko e la variabile (puoi chiamarla come vuoi) in cui vai a porre il parametro che stai leggendo (personaggi/cesko)

comunque per maggior chiarezza quarda la guida di gambas

Offline Ceskho

  • Amministratore
  • Senatore Gambero
  • *****
  • Post: 3.778
  • Vi Veri Veniversum Vivus Vici
    • Mostra profilo
    • Pagina Personale
Re: Aiuto per gestione file d itesto
« Risposta #7 il: 11 Giugno 2008, 00:05:53 »
@ darth14n

Ho usato il tuo codice anche se ho tolto la parte del conteggio perchè sennò mi aggiungeva 11 volte la stessa parola...Ora vorrei sapere: siccome tale codice mi crea un file che salva nella cartella home, come devo modificarlo per far salvare il file nella directory che vorrei io?

g.paolo

  • Visitatore
Re: Aiuto per gestione file d itesto
« Risposta #8 il: 11 Giugno 2008, 08:03:09 »
@Ceskho

Ovvio.... il mio era solo un esempio per dimostrare come si aggiungono righe nuove che riempi come vuoi, nel caso specifico io ho ripetuto la stessa stringa!


Anzichè porre il percorso:
user.home &/ "testo.txt"
nella riga seguente
hFile = OPEN user.home &/ "testo.txt" FOR WRITE CREATE
lo modifichi come credi, ad esempio:
"/media/tuacartella/testo.txt"

Offline Ceskho

  • Amministratore
  • Senatore Gambero
  • *****
  • Post: 3.778
  • Vi Veri Veniversum Vivus Vici
    • Mostra profilo
    • Pagina Personale
Re: Aiuto per gestione file d itesto
« Risposta #9 il: 11 Giugno 2008, 13:38:07 »
quindi se non ho capito male invece di scrivere

hFile = OPEN user.home &/"testo.txt" FOR WRITE APPEND

scrivo

hFile = OPEN user.home &/"media7cartella a caso/testo.txt" FOR WRITE APPEND

g.paolo

  • Visitatore
Re: Aiuto per gestione file d itesto
« Risposta #10 il: 11 Giugno 2008, 17:15:24 »
Non è corretto!
Devi scrivere:
hFile = OPEN "/media/cartella a caso/testo.txt" FOR WRITE APPEND
Quel user.home sta ad indicare proprio la tua cartella home, quindi non devi metterlo se vuoi posizionare il tuo file altrove!

Offline Ceskho

  • Amministratore
  • Senatore Gambero
  • *****
  • Post: 3.778
  • Vi Veri Veniversum Vivus Vici
    • Mostra profilo
    • Pagina Personale
Re: Aiuto per gestione file d itesto
« Risposta #11 il: 11 Giugno 2008, 18:04:51 »
ci avevo già provato a fare come dici tu e non funzionava...ora riproverò..grazie mille a tutti per l'aiuto!!!