Newsgroup: it.comp.lang.visual-basic
Titolo: ciclo for e matrici

Buon giorno a tutti e grazie per aver scaricato il messaggio.
Desidererei sapere come costruire una matrice con questi requisiti:
la matrice NumeriImmessi deve ricevere un numero, che viene immesso tramite
pulsanti (come calcolatrice), ogni volta che si preme uno qualsiasi dei
tasti che compongono la matrice di pulsanti "operatore" (per analogia alla
calcolatrice).
Cioè esiste una matrice di pulsanti (con index da 0 a 9 e uguale caption) ed
esiste una seconda matrice che contiene i quattro operatori (+ - * /).
es. digito 10 e poi un operatore, si dovrà avere NumeriImmessi(1) = 10 e
così via per successive immissioni.
-problemi da me riscontrati:
difficoltà nella dichiarazione delle variabili contatore per il ciclo for di
cui si necessita (almeno penso)
questo perchè il ciclo va introdotto in una sub del tipo
private sub operatore_click (index as integer)
non so cosa aggiungere nell'argomento!
infatti se tento:
for  i = 1 to 1000
NumeriImmessi(i)=display.txt
next i
ponendo che sia sulla buona strada, ricevo avviso di errore da vb.
Nello specifico come faccio a far entrare il ciclo for
nel "select case" della matrice operatore ?
Non so se sono stato molto chiaro.
Riassumendo, sono così imbranato che neanche con la guida in linea ho capito
come si utilizzano i cilci for
e come si costruiscono e si dichiarano le matrici.
Ringrazio chiunque mi dia una lezione in merito.
Saluti a tutti.

 ha scritto nel messaggio
news:QSoO4.56231$xt2.6...@news.infostrada.it...

Una calcolatrice molto semplice potrebbe lavorare con solo una variabile,
senza utilizzare nessuna matrice dei valori immessi.
Ti basta una variabile Totale. All'inizio Totale sarà uguale a 0; viene
immesso un valore e quindi viene premuto un pulsante Operazione; esegui
l'operazione e ne assegni il risultato a Totale; prosegui fino a quando ne
hai voglia.
Non hai quindi bisogno di contatori, cicli For eccetera.
Devi solo utilizzare gli eventi Click dei pulsanti delle operazioni.
Immagino inoltre che tu mostri la cifra inserita, avrai quindi qualcosa del
tipo label o TextBox in cui mostrerai il numero immesso ed il risultato.
Dovrai quindi fare riferimento a queste per le tue operazioni:
sub Operatore_Click(Index as integer)
    if index = 0 then    '    Mettiamo che sia l'operatore +
        Totale = Totale + cdbl(lblValoreImmesso.Caption)
        lblValoreImmesso.Caption = ""
        lblTotale = format(Totale,"###,###,###,###.###")
    elseif index = 1 then
    .......
end sub
sub Pulsanti_Click(Index as integer)
    '    Visualizzo il valore relativo al pulsante premuto
    lblValoreImmesso.Caption = lblValoreImmesso.Caption & format(Index,"#")
end sub
Per la visibilità della variabile Totale, all'inizio del modulo (dove
dovrebbe essere inserito Option Explicit) dichiara:
dim Totale as Double
Questo molto in breve e senza eseguire prove reali. Controlla, dimmi se hai
dei dubbi. Ciao, buon lavoro
--
 
federic...@planet.it
Eliminare NOSPAM dall'indirizzo! Delete NOSPAM from address!

nel "select case" della matrice operatore ?
Non ho ben capito a cosa ti serve questo ciclo For...
Prova a leggerlo bene: assegni a _tutti_ (1000) gli elementi di una metrice
il valore di display.txt.
Penso che tu lo debba assegnare solo al primo elemento libero.
Poi: importantissimo: non hai detto che tipo d'errore ottieni e dove.
Puoi fare cosě:
Sub Button1_Click(Index As Integer)
    Select Case Button1(Index).Caption
    Case "\", "*", "+", "-"
        NumeriImmessi(LastEntered + 1) = Val(display.txt)
        LastEntered = LastEntered + 1
    End Select
End Sub
Poi per i for su matrici usa _sempre_ un
For i = 0 To Ubound(MyArray)
o meglio ancora
For i = Lbound(MyArray) To Ubound(MyArray)
Ciao

 e come si costruiscono e si dichiarano le matrici.
Hai studiato l'esempio "calc.vbp" fornito con vb?
Ai confratelli del ng: ma tutti gli esempi a corredo di vb4 ci
sono anche in vb5 e vb6 o ne hanno fatto piazza pulita?
--
Ciao.
Maurizio


Gli esempi ci sono e servono tanto per imparare!!!