Oppure

Loading
09/10/09 6:45
mash_mash
Ciao a tutti , sto riprendendo un lavoro sospeso giorni fa , praticamente alla scelta di un elemento di una combo(ce ne sono 5) DOVREBBE venir caricata un immagine dentro una picture , alla scelta successiva un'altra immagine viene caricata dopo la 1^ e cosi via.
Le immagini hanno tutte la stessa altezza ma larghezza diversa , e , sono già caricate nel form .
Sotto posto il codice che , ahimè non funge .


Private Sub Form_Load()
'
Combo1(0).AddItem "cd musica leggera"
Combo1(0).AddItem "cd hard-rock"
Combo1(0).AddItem "cd recenti" '
'
Combo1(1).AddItem "dvd film thriller”
Combo1(1).AddItem "dvd film fantascienza
Combo1(1).AddItem "dvd film romantic
'
Combo1(2).AddItem "mp3 cd 1”
Combo1(2).AddItem "mp3 cd 2
Combo1(2).AddItem "mp3 cd 3”
'
Combo1(3).AddItem "mpeg gare karate”
Combo1(3).AddItem "mpeg stage karate”
Combo1(3).AddItem "mpeg kataeate”

'
Combo1(4).AddItem "Programmi beta
Combo1(4).AddItem "Pogrammi VB”
Combo1(4).AddItem "programmi autocad.lisp
'
End sub


Private Sub Inizializzo_Combo1()
Dim CaricoCombo As Variant
Dim x As Integer
''Creo una matrice con i nomi delle combo
CaricoCombo = Array("CD", "DVD", "MP3", "MPEG", "Programmi", )
For x = 0 To 4
Combo1(x).Text = CaricoCombo(x)
Next x
End Sub

Private Sub Combo1_Click(Index As Integer)
varIndiceElemento = Combo1(Index).ListIndex
txtSceltaIndice.Text = varIndiceElemento
'
'inserisco nella variabile il nome dell'elemento scelto
varVariabileNomeTxtriepilogo = Combo1(Index).Text
'
'
'Con un ciclo for next , disabilito tutti i combobox che non hanno l'indice di quella selezionata
Dim x As Integer
For x = 0 To 4
If x <> Index Then Combo1(x).Enabled = False
Next x
'’
Select Case Index
'Case 0
On Error Resume Next
Combo2.Clear
Combo2.AddItem "25"
Combo2.AddItem "15"
Combo2.AddItem "20"
Combo2.ListIndex = Combo1(Index).ListIndex
'
Dim imag() As Image
imag(0) = Image1
imag(1) = Image2
imag(2) = Image3
'
Case 1
On Error Resume Next
Combo2.Clear
Combo2.AddItem "2"
Combo2.AddItem "115"
Combo2.AddItem "200"
Combo2.ListIndex = Combo1(Index).ListIndex
'
Dim imag() As Image
imag(0) = Image4
imag(1) = Image5
imag(2) = Image6
'
'
'Case 2
On Error Resume Next
Combo2.Clear
Combo2.AddItem "77"
Combo2.AddItem "252"
Combo2.AddItem "359"
Combo2.ListIndex = Combo1(Index).ListIndex
'
Dim imag() As Image
imag(0) = Image7
imag(1) = Image8
imag(2) = Image9
'
Case 3
On Error Resume Next
Combo2.Clear
Combo2.AddItem "35"
Combo2.AddItem "199”
Combo2.AddItem "205"
Combo2.ListIndex = Combo1(Index).ListIndex
'
Dim imag() As Image
imag(0) = Image10
imag(1) = Image11
imag(2) = Image12
'
Case 4
On Error Resume Next
Combo2.Clear
Combo2.AddItem "135"
Combo2.AddItem "55”
Combo2.AddItem "205"
Combo2.ListIndex = Combo1(Index).ListIndex
'
Dim imag() As Image
imag(0) = Image13
imag(1) = Image14
imag(2) = Image15
Combo2.ListIndex = Combo1(Index).ListIndex

End sub

Private Sub cmdProvaprofondita_Click()

Dim x As Integer, ultimo As Integer
For x = 0 To 4
Picture1.PaintPicture imag(x + Combo1(x).ListIndex).Picture, ultimo, 0
ultimo = ultimo + imag(x + Combo1(x).ListIndex).Width
Next x

End Sub

aaa
09/10/09 12:44
ilmettiu
Che errore da? Non carica nulla?
aaa
09/10/09 12:59
mash_mash
errore 91
variabile di tipo OBJECT o la variabile del blocca WITH non definita
aaa
09/10/09 15:53
GrG
si, mi ricordo il tuo post... però apparte gli if (come già ti dissi) non mi viene in mente gran che
aaa
09/10/09 16:34
ilmettiu
L'errore 91 "Variabile oggetto o variabile del blocco With non
impostata" si verifica quando, ad esempio, dichiari una variabile
oggetto e poi la inizializzi (o la rimetti aa nothing) prima dell'utilizzo ,
ad esempio

dim rsRecordset as adodb.recordset

rsrecordset.open etc etc


Magari questo smuoverà qualcosa nella mente di qualcuno... Nella mia sicuramente no: Non ho la più pallida idea di come questa spiegazione possa essere applicata al nel tuo programma 8-|
aaa
09/10/09 19:34
theprogrammer
Postato originariamente da mash_mash:

errore 91
variabile di tipo OBJECT o la variabile del blocca WITH non definita


Ma "in quale riga" hai l'errore ?

E poi

1) cosa ci fanno tutte quelle

Dim imag() As Image

??? Ce ne vuole una sola, all'inizio della Sub

2) perche' la

'Case 0

e' remmata?
aaa
09/10/09 20:06
ilmettiu
'Case 0

e' remmata?


LOL
Potrebbe dare qualche problema, effettivamente :)
aaa
12/10/09 7:00
mash_mash
l'errore me lo dà nella linea
Picture1.PaintPicture imag(x + Combo1(x).ListIndex).Picture, ultimo, 0
la CASE 0 e le DIM sono errate per causa copia/incolla.
Comunque se può essere di aiuto vi espongo il fulcro del problema :
In base alla scelta di un elemento di una serie di 5 combobox carico un immagine ,una volta premuta il tasto conferma detta immagine viene posizionata in una picturebox a partire dalla posizione 0,0.
Scelgo poi un altro elemento , carico quindi un'altra immagine e dopo averla confermata si deve affiancare a quella precedente , carico poi un'altra immagine .........
N.B. : le immagini hanno tutte la stessa altezza , le picture deve contenere almeno 1 immagine e non più di 10 .
Spero di essere stato chiaro.
aaa