Oppure

Loading
28/06/08 16:54
Overflow
sei sicuro che list3 esista nel form?
aaa
28/06/08 17:00
magicolotto
si esite ovvio

in un command ho

 num(1) = CInt(MSHFlexGrid1.TextMatrix(row, col))
                         num(2) = CInt(MSHFlexGrid1.TextMatrix(row, q))
                         num(3) = CInt(MSHFlexGrid1.TextMatrix(row1, col1))
                         num(4) = CInt(MSHFlexGrid1.TextMatrix(row1, q1))
                         num(5) = CInt(MSHFlexGrid1.TextMatrix(row2, col2))
                         num(6) = CInt(MSHFlexGrid1.TextMatrix(row2, q2))



dove essi vengono inserite nella list3

quindi ho tante righe

che compaiono nella lista

e poi dovrei rievidenziare la mshflexgrid
cliccando sulla list3

come sto cercando di fare
aaa
28/06/08 17:03
magicolotto
li è un errore e list2

praticamente
non trova i row ed i col

non rstituiscono valori facendo il doppio clik
aaa
28/06/08 18:12
gantonio
For i = 0 To List3.ListCount - 1

su questa annerita


Quindi la List3 NON ESISTE nel form in cui viene eseguito quel codice OPPURE quel codice viene eseguito in un MODULO ...
aaa
28/06/08 18:46
magicolotto
un errore di distrazione mi ha fatto mettere list 3


mentre è list2
ecco il codice che uso :

Dim i As Integer
Dim riga1 As Variant
Dim riga2 As Variant
Dim riga3 As Variant
Dim nu1 As Variant
Dim nu2 As Variant
Dim nu3 As Variant
Dim nu4 As Variant
Dim nu5 As Variant
Dim nu6 As Variant
For i = 0 To List2.ListCount - 1
If List2.Selected(i) = True Then
riga1 = row
nu1 = col
nu2 = q
riga2 = row1
nu3 = col1
nu4 = q1
riga3 = row2
nu5 = col2
nu6 = q2
MSHFlexGrid1.row = riga1
MSHFlexGrid1.col = nu1
MSHFlexGrid1.CellBackColor = vbRed
MSHFlexGrid1.row = riga1
MSHFlexGrid1.col = nu2
MSHFlexGrid1.CellBackColor = vbRed
MSHFlexGrid1.row = riga2
MSHFlexGrid1.col = nu3
MSHFlexGrid1.CellBackColor = vbGreen
MSHFlexGrid1.row = riga2
MSHFlexGrid1.col = nu4
MSHFlexGrid1.CellBackColor = vbGreen
MSHFlexGrid1.row = riga3
MSHFlexGrid1.col = nu5
MSHFlexGrid1.CellBackColor = vbYellow
MSHFlexGrid1.row = riga3
MSHFlexGrid1.col = nu6
MSHFlexGrid1.CellBackColor = vbYellow
End If
Next i
End Sub


row,row1,row,col,col1,col2,q,q1,q2
questi vengono ricavati un un command1
nel command vengo trovatile varie condizioni
se vengono trovati queste condizioni nella MSHFlexgrid
vengono riportati nella list2 la condizione trovata viene insertita in una listibx in questo modo

la riga che si va a leggere nella lista :
                             List2.AddItem row & "  " & col & "  " & q & "   " & row1 & "  " & col1 & "  " & q1 & "   " & row2 & "  " & col2 & "  " & q2

1 4 6 4 5 7 10 8 10
essi rappresentano
riga1 = 1
nu1=4
nu2=6

riga2=4
nu3=5
nu4=7

riga3=10
nu5=8
nu6=10



poi con un doppio clik sulla list2
dovrei evidenziare quelle celle dove ci sono i valori trovati nella command

il codice che ho riportato adesso

da un erroe

valore riga non valido

e si ferma su
MSHFlexGrid1.row = riga1

Ultima modifica effettuata da magicolotto 28/06/08 18:54
aaa
28/06/08 20:53
gantonio
E quando si ferma, hai visto quanto vale la variabile row1 in debug?

P.S. Quel codice, con tutte quelle variabili con quei nomi senza tanto senso, utilizzate in quel modo, e' illegibile ...
aaa
28/06/08 22:29
magicolotto
row in debug mi da : 11
aaa
28/06/08 22:33
Overflow
quante sono le righe(row)? sono più o meno di 11? prova nella load a fare:
MSHFlexGrid1.Rows() = 15 
Ultima modifica effettuata da Overflow 28/06/08 22:35
aaa