PDA

View Full Version : [VB.NET] Realizzare incroci tra numeri di una tabella


OrcaAssassina
22-09-2009, 16:34
Devo creare tutti gli "incroci" possibili tra una tabella formata da 3 colonne e 7 righe.

Vi faccio un esempio, questa è la tabella.
La posso fare con 21 textbox

A-B-C
D-E-F
G-H-I
L-M-N
O-P-Q
R-S-T
U-V-Z

Il risultato delle essere

AA con se stesso
AB
AC
AD
AE
AF
.
.
BA
BB con se stesso
BC
BD
BE
BF
.
.
e cosi via....

c'è un metodo per agevolare il tutto senza farlo a mano????

Ciao e grazie

yorkeiser
23-09-2009, 11:50
Certamente.
Ti basta creare un array di elementi grafici (ad esempio textbox), quindi passare tale array ad una funzione che ne calcola le permutazioni.
Una funzione del tipo (uso un pseudo-vb):


sub permuta (array as textbox())
dim array_permutazioni(max_index) as string

for j=0 to 20
for i=0 to 20
array_permutazioni(indice)=array(i) & array(j)
indice = indice+1
next i
next j

end sub

edit: avevo cannato gli indici sui next

OrcaAssassina
23-09-2009, 12:36
Certamente.
Ti basta creare un array di elementi grafici (ad esempio textbox), quindi passare tale array ad una funzione che ne calcola le permutazioni.
Una funzione del tipo (uso un pseudo-vb):


sub permuta (array as textbox())
dim array_permutazioni(max_index) as string

for j=0 to 20
for i=0 to 20
array_permutazioni(indice)=array(i) & array(j)
indice = indice+1
next i
next j




Non ho capito come faccio a passare i valori all'array

io ho le mie text

txtValore1.text
txtValore2.text
txtValore3.text
txtValore4.text

Come faccio???

Ciao e grazie

end sub

edit: avevo cannato gli indici sui next

yorkeiser
23-09-2009, 13:42
In VB puoi creare graficamente un array di elementi (ad esempio textbox):
nell'editor crei una textbox, poi fai copia incolla della textbox sullo stesso form, ed è l'IDE stesso a chiederti se vuoi creare un array di elementi (questo perlomeno nell'IDE del VB6). Gli dici di sì, e magicamente hai l'array. Quindi continui col copia-incolla fino a quando vuoi. A quel punto, i singoli elementi sono manipolabili come fai normalmente con gli array. Ovvero hai textbox(1), textbox(2) ecosì via. Quindi alla funzione passi direttamente l'array textbox()

OrcaAssassina
23-09-2009, 16:52
In VB puoi creare graficamente un array di elementi (ad esempio textbox):
nell'editor crei una textbox, poi fai copia incolla della textbox sullo stesso form, ed è l'IDE stesso a chiederti se vuoi creare un array di elementi (questo perlomeno nell'IDE del VB6). Gli dici di sì, e magicamente hai l'array. Quindi continui col copia-incolla fino a quando vuoi. A quel punto, i singoli elementi sono manipolabili come fai normalmente con gli array. Ovvero hai textbox(1), textbox(2) ecosì via. Quindi alla funzione passi direttamente l'array textbox()

In vb6 si....ora su vb.net come ho scritto nel titolo

Non so come fare

yorkeiser
23-09-2009, 17:35
In VB6 la proprietà di un oggetto grafico che governa se è di tipo matriciale o meno è Index, non ho idea se in vb.net sia la stessa: nel caso la trovi, prova a cambiare quella (scrivici ad esempio 1), e vedi se l'oggetto viene effettivamente ridefinito come textbox(1).
In alternativa, puoi sempre creare una matrice del genere da codice, però hai la rottura di doverti definire da codice anche dimensioni, posizione e forse qualche altra proprietà.