hello raga
mi sono incartato su un array e mi serve una mano.
in pratica in un array carico i codici dei clienti e mi serve sapere quanti clienti diversi ci sono esempio:
cod 1f
cod 1f
cod 3c
cod 3c
cod 5d
il risultato dovrebbe essere 3 in quanto 1f e 3c sono ripetuti 2 volte
ho cominciato con il seguente codice ma ora non so come completarlo
DIM Cl AS NEW String[]
FOR i, p, t AS Integer
t = TableView1.Rows.Count
FOR i = 1 TO t
cl.add(TableView1[i - 1, 0].text)
NEXT
FOR i = 1 TO cl.Count
p = ?
NEXT
la p è la variabile che deve contenere il risultato (nel mio esempio 3)
L'ho scritto di getto..vedi se almeno l'idea ti stuzzica...
DIM Cl AS NEW String[]
DIM i, j, p AS Integer
DIM esiste AS Boolean
FOR i = 0 TO TableView1.Rows.Count - 1
cl.add(TableView1[i , 0].text)
NEXT
p = 0
FOR i = 0 TO cl.Count - 1
Esiste = FALSE
FOR j = 0 TO c1.Count - 1
IF c[i] = c[j] THEN esiste = TRUE
NEXT
IF Not Esiste THEN INC p
NEXT
Detto come al solito che ci sono mille modi per risolvere lo stesso problema, un modo è questo:
DIM arsLista AS NEW String[]
DIM arsUnique AS NEW String[]
DIM sCodice AS String
arsLista = Split("cod 1 f,cod 1 f,cod 3 c,cod 3 c,cod 5 d")
FOR EACH sCodice IN arsLista
IF NOT arsUnique.Exist(sCodice) THEN arsUnique.Add(sCodice)
NEXT
PRINT arsUnique.Count
In pratica crei un array temporaneo arsUnique eliminando i doppioni che ci sono nel primo array arsLista (il tuo Cl) e ne conti gli elementi. Bada che "codicepippo" è diverso da "codicepippo ".
DIM Cl AS NEW String[]
DIM ClTmp AS NEW String[]
DIM i, p, t AS Integer
t = TableView1.Rows.Count
FOR i = 1 TO t
cl.add(TableView1[i - 1, 0].text)
IF NOT ClTmp.Exist(TableView1[i - 1, 0].text) THEN ClTmp.Add(TableView1[i - 1, 0].text)
NEXT
p = ClTmp.Count