Newsgroup: it.comp.lang.visual-basic
Titolo: salvataggio array

Ciao a tutti,
avrei bisogno di salvare una array in un file (qualsiasi txt, xls...), come
posso fare?
Grazie a chi vorrà rispondere.
Ciao,
ntonjfi

> avrei bisogno di salvare una array in un file
Private Sub Command1_Click()
    Dim i As Integer, mioArray(1 To 16) As Integer
    'qui ci va del codice che modifica l'array e lo "riempie" di
informazioni
    'codice che apre in scrittura il file
    Set fs = CreateObject("Scripting.FileSystemObject")
    Set a = fs.CreateTextFile("c:\prova.txt", True)
    For i = 1 To 16
    a.WriteLine (mioArray(i))  'per ogni riga scrive l'intero di posto i
    Next
    a.Close  'chiude il file
End Sub
Regards,
Antonio Cangiano
----
I grandi spiriti hanno sempre incontrato violenta
opposizione da parte delle menti mediocri."
A.Einstein

 > avrei bisogno di salvare una array in un file
[SNIP]
Versione senza FileSystemObject:
Private Sub Command1_Click()
    Dim i As Integer, mioArray(1 To 16) As Integer
    Dim ff as integer
    'qui ci va del codice che modifica l'array e lo "riempie" di
informazioni
    'codice che apre in scrittura il file
    ff = FreeFile
    Open "c:\prova.txt" For Output As #ff
    For i = 1 To 16
        Print #ff, mioArray(i)  'per ogni riga scrive l'intero di posto i
    Next
    Close #ff 'chiude il file
End Sub
Ciao
--
Luca Dormio - 
luca....@tin.it
________________________________
"Marty, non stai ragionando in maniera quadridimensionale"
Dr. Emmett L. Brown

Ciao Antonio,
grazie per la rapida risposta...
Ho praticamente quasi risolto il mio problema ma non capisco perchè il primo
elemento del vettore non mi viene scritto nel file (la prima riga cioè
rimane vuota).
Di seguito c'è il mio codice, se puoi segnalami eventuali errori...
Grazie,
Ntonjfi
Private Sub cmdavcopPdS_Click()
    Dim i As Integer, DATIANA(1 To 14) As String
    ' Costruzione vettore contenente dati Anagrafici provenienti da editbox
    DATIANA(1) = txtno
    DATIANA(2) = txtco
    DATIANA(3) = txtmatr
    DATIANA(4) = txtcodina
    DATIANA(5) = txtprdina
    DATIANA(6) = txtdagi
    DATIANA(7) = txtdame
    DATIANA(8) = txtdaan
    DATIANA(9) = txtcodire
    DATIANA(10) = txtprdire
    DATIANA(11) = txttelfi
    DATIANA(12) = txttelmo
    DATIANA(13) = txtemail
    DATIANA(14) = sesso 'variabile globale del form
    ' Codice che apre in scrittura il file
    Set fs = CreateObject("Scripting.FileSystemObject")
    Set a =
fs.CreateTextFile("F:\Post_Università\Post_Tesi\Esercizi\Es_VisualBasic\Pian
o di studi\test.txt", True)
    For i = 1 To 14
        a.WriteLine (DATIANA(i))  ' Per ogni riga scrive l'intero di posto i
    Next
    a.Close  ' Chiude il file
    frmmain.Show
End Sub

 come posso fare?
    Put #f, , a
--
Ciao.
Maurizio
--------
?SPQR(C)
 X
--------

Il tuo codice a me funziona, ma se fai
DATIANA(1) = txtno
devi avere txtno contenente qualcosa. Ti assicuri che txtno sia una stringa
non vuota?
Antonio


 Antonio
Ok ora ho risolto, grazie molte.....
Ntonjfi

     Put #f, , a
Appunto :)
Mi stavano venendo dubbi sul suo funzionamento dato che nessuno pareva voler
trattare il problema in modo semplice.
Se non sbaglio dovrebbe funzionare con array dinamici di stringhe dinamiche,
dati semplici (byte, long...) e anche strutture!
Viva le funzioni VB di I/O!
Abbasso il FSO (e seghe mentali varie)!
:)
Ciao

 :)
--


Ok,
entrambe i metodi vanno ok...
ma nel momento in cui io voglio stabilire di volta in volta il file in cui
scrivere come faccio?
Come faccio a scegliere la directory in cui salvare il file?
Grazie,
Ntonjfi

 Come faccio a scegliere la directory in cui salvare il file?
    Anche il mio cognome e' di otto lettere.


     Anche il mio cognome e' di otto lettere.
Ora che lo so posso vivere + tranquillamente...
Cià,
ntonjfi

 Ora che lo so posso vivere + tranquillamente...
Tranqui, anche Maurizio sta (forse) dando di matto, come succede con una
certa regolarità a tutti noi, con cadenza mensile e con qualche preoccupante
sovrapposizione.
Forse era solo un giro di parole per dire "MKDIR" (il resto del giro, lo so,
me lo dovrò cuccare io..)

 Forse la domanda era troppo stupida per te? Bo...
[...]
    Rileggendo i miei post di ieri mi sono accorto di essermi un po'
lasciato andare. Chiedo scusa a tutti. In particolare a te, ntonjfi.
    Come si usa dire da queste parti, non sono stupide le domande ma possono
esserlo le risposte. Le domande, pero', pur non essendo mai stupide, possono
essere chiare, mal poste, poco chiare, incomprensibili, fuorvianti, ecc.
    Io ho fatto ammenda, credo. Ora passati tu una mano sulla coscienza e
rileggi il tuo quesito. A che categoria appartiene, secondo te?


 rileggi il tuo quesito. A che categoria appartiene, secondo te?
Forse poco chiara...
Effettivamente dovrei utilizzare una terminologia + adatta per espimere le
difficoltà che incontro in corso di programmazione...
Disguido chiarito...
Statt bbuon
Ntonjf