Newsgroup: it.comp.lang.visual-basic
Titolo: come fareste? input#

Ciao,
Devo aprire un file sequenziale con memorizzate 47 stringhe e devo
esportarle in 47 textbox.
Come fareste voi per evitare di dover scrivere:
input #NumFile, var1, var2, var3, var4....... var47
textbox1.text = var1
textbox2.text = var2
...
textbox47.text = var47

Come fareste voi per evitare di dover scrivere: [...]
  Userei un vettore di textbox ed uno di variabili.
-- 
  Ciao :-)
  Massimo
  Nell'indirizzo, sostituire "micio" con "mc"

   Userei un vettore di textbox ed uno di variabili.
Quindi mi consigli di memorizzare il contenuto del file sequenziale in un
array e di associarlo all'array di textbox?
E se non fosse possibile inglobare le textbox in un array? Potrei in un
array inserire i nomi delle textbox e associarvi quindi il contenuto? es:
Input #NumFile, VettVar(1), VettVar(2), ........., VettVar(47)
VettNomeTxt = Array("textbox1.text", "textbox2.text", .......,
"textbox47.text")
for i = 1 to 47
   VettNomeTxt(i) = VettVar(i)
Next i
Sarebbe impossibile associare VettVar(i) invece che all'array al controllo
il cui nome e' contenuto nell'array VettNomeTxt vero?

 controllo il cui nome e' contenuto nell'array VettNomeTxt vero?
Form.Controls.Item("TextBox" & cstr(indice)).Text = Array_Stringhe(indice)
Ciao
Alberto
--
"Non mi sembra piů granda del Delfino..."
"A partir dal fat che la merda liquida
l'as drisa gnan a puntlarla,
cňsta chě l'č piň granda, gnuranta."

il cui nome e' contenuto nell'array VettNomeTxt vero?
  Se ho capito bene non e' fattibile.


    VettNomeTxt(i) = VettVar(i)
Non va perché VettNomeTxt(i) è una stringa, non è un oggetto.
Volendo, ma è evitabile, dovresti mettere tutte le reference 
alle varie textboxes in una collection o dimensionare una 
matrice di oggetti textbox (o peggio di variant), ma in entrambi 
i casi dovresti passare la reference alle singole text box (e 
non ti scanseresti la scrittura di codice noiosissimo) SENZA 
virgolette (e senza le proprietà, tipo .TEXT).
Le proprietà le invocherai successivamente al momento dell'uso, 
altrimenti tu aggiungi nuovamente solo le stringhe 
corrispondenti al valore della proprietà stessa nel momento in 
cui la memorizzi.
Ma è essenziale che ti chiarisca il significato di "nome" di una 
variabile e di cosa significa per il compilatore il nome o il 
contenuto di essa (a prescindere dal fatto che possa 
incidentalmente coincidere col nome stesso).
Temo di averti confuso le idee, ma quando non saranno più 
confuse ti sarò stato utile, eh eh he
ciao
cccp++mario


 programmazione generica, a prescindere dal linguaggio specifico.
Può anche essere che Pollom Combinaguai si stia avventurando in qualcosa di
complesso, per lui, ma non mi sembra che il suo quesito fosse assurdo.
In pratica, ciò che gli serve è:
Dim Stringone as string
Dim Stringhe() as string
Input #file, Stringone
Stringhe=Split(Stringone,";")
For n=0 to Numero_Controlli
    Form1.Controls.Item("TextBox" & Cstr(indice)).Text=Stringhe(n)
Next n
Scritto così, a braccio, senza considerare base 0 o base 1 nei vettori,
senza controllare la sintassi esatta di Input e Split, ma grossomodo è così
che va.
Oggettivamente, la prima soluzione, ossia quella di assegnare una variabile
alla volta, era troppo macchinosa.
Questa, almeno a livello di codice, è molto più snella.
Va corredata di qualche controllo sulla numerosità degli array, e ci si
incatena definitivamente fra sequenza delle variabili e sequenza dei
controlli, ma tutto sommato va bene.
Ciao
Alberto

 ha scritto nel messaggio 
news:2rqhgjF...@uni-berlin.de...


 ma a me non ha mai funzionato
Immagino.
Ciao
Alberto

 Next n
ma come si può creare a design time un form con 47 textbox di 
nome distinto ? A parte la noia di disegnarlo e di scrivere il 
codice di varie Resize etc a mano, anche come risorse stanno 
peggio che un bell'array di controlli text box da caricare 
dinamicamente e referenziare con nome univoco ed indice. Penso 
che occupi anche un filo meno di memoria (oddio, di questo non 
son sicuro).
Per l'altra cosa, l'accesso tramite insieme, e ricerca in esso 
dell'oggetto tramite il nome stringa, a prescindere da una certa 
ostilità intrinseca che provo qualora questo non sia realmente 
inevitabile (e questa volta lo è, imho), mi sembra importante 
che uno almeno capisca bene perché è così diverso accedere a un 
oggetto tramite riferimento e non con l'interpretazione di un 
nome stringa.
ciao
cccp++mario


 nome stringa.
Fondamentale.
Infatti ho aspettato a scrivere il codice, speravo che avesse voglia di
provare.
Ma quando ho visto che tutti gli dicevano "non si può", ho preferito dire la
mia.
Ciao
Alberto