Oppure

Loading
02/07/10 12:32
Sal47
Errata Corrige:
In effetti nella sub che richiama ho inserito dopo Line Input #1, Text
anche le istruzioni
Picture2(I).Tag = Text
Picture2(I).Picture = ImageList1.ListImages(CInt(Text)).Picture
Resta il mancato funzionamento.
Anzi ora mi da anche l'errore "Tipo non corrispondente" alla istruzione tmpTag = Picture2(Index).Tag della Sub Picture2_MouseDown.
Mi sta facendo impazzire!
aaa
02/07/10 13:42
Alfonso
Ti mando la Form1 come l'hai mandata l'ultima volta con applicate le modifiche che ti avevo consigliato perchè la cosa si è aggrovigliata troppo. Ho tolto il controllo list che ormai non serve più.
Considera che ora che hai spezzato l'inizio del gioco con RiprendiPuzzle e PuzzleNuovo c'è una parte di routine in comune (quella che scompone l'immagine) che potrebbe essere inserita in form load e tolta dalle due routine Riprendi e Nuovo.

"Tipo non corrispondente" alla istruzione tmpTag = Picture2(Index).Tag, perchè all'inizio della routine è dichiarato come array.
aaa
03/07/10 7:03
Sal47
Buongiorno Alfonso,
ho fatto come suggeritomi cercando anche di studiarmi gli errori che commettevo a partire da quello in cui non chiudevo il file dopo aver salvato i dati! Ho anche riunito nel form Load le istruzioni comuni della scomposizione immagine.
Ora se interrompo il Puzzle le posizioni delle tessere sono correttamente salvate come correttamente sono ripresentate a schermo scegliendo di riprendere il Puzzle già iniziato; ma al primo cliccare su una qualunque tessera per continuare il gioco mi compare:
"Errore di run-time 380: Valore di proprietà non valido"
in corrispondenza della istruzione: MouseIcon = Picture2(Index).Picture della Sub MouseDown.

Ad evitare errori ho copiato e incollato il listato del tuo "Puzzle2010_b.frm" ma invano.

Ti ringrazio per la disponibilità e la pazienza e scusami se posto in ritardo ma per me ogni istruzione è uno studio e un impegno notevole.
aaa
03/07/10 7:27
Alfonso
MouseIcon = Picture2(Index).Picture dà errore perchè si aspetta di trovare nella picture un'immagine icona.
L'errore si ha solo quando si tenta di continuare un gioco registrato, infatti in
Private Sub ApriFileChiusuraPrec()
  ....
  'Picture2(I).Picture = ImageList1.ListImages(CInt(text)).Picture 
  ' è sbagliato errore mio di copiatura. deve essere:
  Picture2(I).Picture = ImageList1.ListImages(CInt(text)).ExtractIcon
  ....

Ciao.:asd:
aaa
03/07/10 12:13
Sal47
Ciao Alfonso,
ora funziona benissimo; sei davvero grande.
E "per fare qualcosina anche io (ma proprio poco!)" sono riuscito, alla ripresa del gioco, a far comparire il numero di tessere effettivamente già posizionate, così:
- nella sezione Generale ho dichiarato:
Dim Text as String
- in Sub cmdEsci_Click(Scelta As Integer), prima di Close #1, ho aggiunto:
Print #1, Text1 ' scrive n.ro tessere già posizionate
- in Sub ApriFileChiusuraPrec(), prima di Close #1 ho aggiunto:
Line Input #1, Text ' legge il numero di tessere già posizionate
- in Sub RiprendiPuzzle(), dopo il richiamo alla ApriFileChiusuraPrec:
Text1 = Text ' segna nella TextBox il numero di tessere già posizionate.
Ti ringrazio ancora molto e ti saluto.
Sal47
aaa