Autore Topic: [risolto]Leggere matrice da file di testo  (Letto 2003 volte)

Offline ealmuno

  • Maestro Gambero
  • ****
  • Post: 388
    • Mostra profilo
    • http://www.ealmuno.com
[risolto]Leggere matrice da file di testo
« il: 13 Febbraio 2010, 16:33:36 »
Ciao,
sto cercando di scrivere e leggere una matrice da un file di testo. Per leggerla ho usato:
Codice: [Seleziona]
PUBLIC SUB salva_Click()
DIM hFile AS File
DIM stringa2 AS String
DIM a1 AS Integer
DIM b1 AS Integer

FOR a1 = 1 TO 8
FOR b1 = 1 TO 8
stringa2 = stringa2 & matr[a1, b1] & "\n"
NEXT
NEXT

  hFile = OPEN User.home &/ "testo.txt" FOR CREATE
  hfile.save(User.home &/ "testo.txt", stringa2)
  CLOSE #hFile
END

e per leggerla ho usato

Codice: [Seleziona]
PUBLIC SUB carica_Click()
DIM hFile AS File
DIM Stringa2 AS String

  hFile = OPEN User.home &/ "testo.txt" FOR INPUT
  stringa2 = hfile.Load(User.home &/ "testo.txt")
  matr = Split(stringa2, "\n", "", TRUE)
  CLOSE #hfile
END

Dove matr è la matrice.
Il problema è che al caricamento, è come se mi eliminasse le dimensioni.
Infatti, provando a fare il debug, quando uso lo split mi da come errore "Bad number of dimension"
Ho trovato il codice sempre qua nel forum e li è sembrato funzionare.
Grazie
« Ultima modifica: 13 Febbraio 2010, 19:58:54 da ealmuno »
il mio nuovo sito : ealmuno.com

Offline Ceskho

  • Amministratore
  • Senatore Gambero
  • *****
  • Post: 3.778
  • Vi Veri Veniversum Vivus Vici
    • Mostra profilo
    • Pagina Personale
Re: Leggere matrice da file di testo
« Risposta #1 il: 13 Febbraio 2010, 17:05:31 »
Perchè i cicli for iniziano da 1? Prova a farli partire da 0 e farli arrivare a 7 invece che 8....

In più devi prelevarti i dati per la matrici con due cicli for così come gli hai inseriti..
« Ultima modifica: 13 Febbraio 2010, 17:08:40 da Ceskho »

Offline ealmuno

  • Maestro Gambero
  • ****
  • Post: 388
    • Mostra profilo
    • http://www.ealmuno.com
Re: Leggere matrice da file di testo
« Risposta #2 il: 13 Febbraio 2010, 17:17:18 »
Citazione
Perchè i cicli for iniziano da 1? Prova a farli partire da 0 e farli arrivare a 7 invece che 8....
Gli faccio partire da 1 perché la matrice di 0 è vuota, comunque ho fatto da 0 a 7 e ho aggiunto 1
Citazione
In più devi prelevarti i dati per la matrici con due cicli for così come gli hai inseriti..
fatto, ma non va lo stesso
Codice: [Seleziona]
PUBLIC SUB carica_Click()
DIM hFile AS File
DIM Stringa2 AS String
DIM a1 AS Integer
DIM b1 AS Integer

  hFile = OPEN User.home &/ "testo.txt" FOR INPUT
FOR a1 = 0 TO 7
FOR b1 = 0 TO 7
stringa2 = hfile.Load(User.home &/ "testo.txt")
NEXT
NEXT
  matr = Split(stringa2, "\n", "", TRUE)
  CLOSE #hfile
END
sempre nello split si ferma
il mio nuovo sito : ealmuno.com

Offline Ceskho

  • Amministratore
  • Senatore Gambero
  • *****
  • Post: 3.778
  • Vi Veri Veniversum Vivus Vici
    • Mostra profilo
    • Pagina Personale
Re: Leggere matrice da file di testo
« Risposta #3 il: 13 Febbraio 2010, 17:20:38 »
Ma sei sicuro che questo modo sia giusto?

matr = Split(stringa2, "\n", "", TRUE)

Offline ealmuno

  • Maestro Gambero
  • ****
  • Post: 388
    • Mostra profilo
    • http://www.ealmuno.com
Re: Leggere matrice da file di testo
« Risposta #4 il: 13 Febbraio 2010, 17:29:59 »
il file di testo è una cosa del genere:

Codice: [Seleziona]
x
y
t
f

io vorrei che nella matr[1,1] ci fosse x, nella [1,2] ci fosse y....
oppure mi conviene usare funzioni più primitive, tipo leggere ogni riga?
il mio nuovo sito : ealmuno.com

Offline fsurfing

  • Moderatore
  • Senatore Gambero
  • *****
  • Post: 2.482
    • Mostra profilo
Re: Leggere matrice da file di testo
« Risposta #5 il: 13 Febbraio 2010, 17:32:58 »
lo sai che le matrici in gambas non funzionano bene se hanno + di 8 dimensioni?

Offline Ceskho

  • Amministratore
  • Senatore Gambero
  • *****
  • Post: 3.778
  • Vi Veri Veniversum Vivus Vici
    • Mostra profilo
    • Pagina Personale
Re: Leggere matrice da file di testo
« Risposta #6 il: 13 Febbraio 2010, 17:34:22 »
lo sai che le matrici in gambas non funzionano bene se hanno + di 8 dimensioni?

Tanto la sua matrice ha 2 dimensioni ed 8 oggetti....il problema non si pone...

Offline fsurfing

  • Moderatore
  • Senatore Gambero
  • *****
  • Post: 2.482
    • Mostra profilo
Re: Leggere matrice da file di testo
« Risposta #7 il: 13 Febbraio 2010, 17:35:03 »
Citazione
Tanto la sua matrice ha 2 dimensioni ed 8 oggetti....il problema non si pone...
a me non sembra proprio

Offline fsurfing

  • Moderatore
  • Senatore Gambero
  • *****
  • Post: 2.482
    • Mostra profilo
Re: Leggere matrice da file di testo
« Risposta #8 il: 13 Febbraio 2010, 17:36:58 »
ma poi a che ti servono le matrici multidimensionali quando hai un linguaggio ad oggetti come gambas!

Offline ealmuno

  • Maestro Gambero
  • ****
  • Post: 388
    • Mostra profilo
    • http://www.ealmuno.com
Re: Leggere matrice da file di testo
« Risposta #9 il: 13 Febbraio 2010, 17:40:56 »
gli oggetti non gli so bene, la matrice è a 2 dimensioni, comuqnue forse ho risolto (leggendo riga per riga)
il mio nuovo sito : ealmuno.com

Offline fsurfing

  • Moderatore
  • Senatore Gambero
  • *****
  • Post: 2.482
    • Mostra profilo
Re: Leggere matrice da file di testo
« Risposta #10 il: 13 Febbraio 2010, 17:50:05 »
Codice: [Seleziona]
FOR a1 = 0 TO 7
FOR b1 = 0 TO 7
dal codice si direbbe che le le dimensioni sono 8  :P almeno per gambas

Offline Ceskho

  • Amministratore
  • Senatore Gambero
  • *****
  • Post: 3.778
  • Vi Veri Veniversum Vivus Vici
    • Mostra profilo
    • Pagina Personale
Re: Leggere matrice da file di testo
« Risposta #11 il: 13 Febbraio 2010, 17:55:04 »
Codice: [Seleziona]
FOR a1 = 0 TO 7
FOR b1 = 0 TO 7
dal codice si direbbe che le le dimensioni sono 8  :P almeno per gambas

Tu stai confondendo un pò le cose....le dimensioni sono due: a1 e b1, gli elementi sono 64, ovvero 8x8

Offline ealmuno

  • Maestro Gambero
  • ****
  • Post: 388
    • Mostra profilo
    • http://www.ealmuno.com
Re: Leggere matrice da file di testo
« Risposta #12 il: 13 Febbraio 2010, 17:55:43 »
ha ragione Ceskho  :D
il mio nuovo sito : ealmuno.com

Offline fsurfing

  • Moderatore
  • Senatore Gambero
  • *****
  • Post: 2.482
    • Mostra profilo
Re: Leggere matrice da file di testo
« Risposta #13 il: 13 Febbraio 2010, 18:00:14 »
mi spiace ammetterlo ma ha proprio ragione..una volta tanto :P

Offline Ceskho

  • Amministratore
  • Senatore Gambero
  • *****
  • Post: 3.778
  • Vi Veri Veniversum Vivus Vici
    • Mostra profilo
    • Pagina Personale
Re: Leggere matrice da file di testo
« Risposta #14 il: 13 Febbraio 2010, 18:06:42 »
Non ci posso credere