visualrenzo (Normal User)
Pro
Messaggi: 94
Iscritto: 15/05/2009
|
ho fatto un programma che genera delle colonne e poi li riempie con dei numeri sorteggiati
ogni volta che premo sul commandbutton genera una nuova colonna list1(indicizzata) max 25 e poi la riempie con 6 numeri.
Il mio problema e che non riesco ne a visualizzare il contenuto in un secondo form riepilogativo ne a salvare il contenuto delle liste list1(1) list1(2) ecc prima di uscire im modo che se voglio le vado a ricaricare in un secondo momento.
spero di essere stato chiaro.
grazie in anticipo
|
|
theprogrammer (Normal User)
Guru^2
Messaggi: 2509
Iscritto: 28/01/2009
|
Se le devi salvare su disco, registra il loro contenuto in un file e rileggilo quando ti serve ...
|
|
antometal (Member)
Guru
Messaggi: 691
Iscritto: 12/09/2007
|
se le listbox le crei con la funzione load, devi sempre dargli posizione, dimensioni e visibilità
Codice sorgente - presumibilmente Plain Text |
Load list1(1)
list1(1).Top = 0
list1(1).Left = 0
list1(1).Width = 100
list1(1).Height = 100
list1(1).Visible = True
|
spero d' essere stato utile, se posti anche il codice possiamo dirti di +
|
|
visualrenzo (Normal User)
Pro
Messaggi: 94
Iscritto: 15/05/2009
|
grazie come sempre del vostro prezioso aiuto.
questo è il codice che carica le colonne
Public Sub chiamaidx() ' sub chiamaidx CARICA COLONNE
idx = (idx + 1) 'incrementa idx numero colonne estratte
Load List1(idx) 'carica una nuova colonna
Load frmstampacolonne2.List1(idx)
Load frmVisualizzacolonne2.List1(idx)
Load Label6(idx) 'numero colonna estratto
Load frmstampacolonne2.Label6(idx)
Load frmVisualizzacolonne2.Label6(idx)
Label6(idx).Caption = idx ' fissa label6 = numero colonna estratta
frmstampacolonne2.Label6(idx).Caption = idx ' indica il n della colonna
frmVisualizzacolonne2.Label6(idx).Caption = idx
If idx > 25 Then End ' imposto 25 colonne
If y <= FrmCartellone91.Width - 1500 Then 'larghezza
y = y + 550
yy = yy + 400
List1(idx).Top = 200 + x
List1(idx).Left = 200 + y
List1(idx).Visible = True
frmstampacolonne2.List1(idx).Top = 200 + x 'anche nel menu stampacolonne2
frmstampacolonne2.List1(idx).Left = 200 + yy
frmstampacolonne2.List1(idx).Visible = True
frmVisualizzacolonne2.List1(idx).Top = 200 + x 'anche nel menu stampacolonne2
frmVisualizzacolonne2.List1(idx).Left = 200 + yy
frmVisualizzacolonne2.List1(idx).Visible = True
Label6(idx).Top = 2500 + x 'altezza
Label6(idx).Left = 200 + y 'larghezza
Label6(idx).Visible = True ' rende visibile la nuova colonna
frmstampacolonne2.Label6(idx).Top = 2500 + x 'altezza anche nel form di stampa
frmstampacolonne2.Label6(idx).Left = 200 + yy 'larghezza
frmstampacolonne2.Label6(idx).Visible = True ' rende visibile la nuova colonna
frmVisualizzacolonne2.Label6(idx).Top = 2500 + x 'altezza anche nel form di stampa
frmVisualizzacolonne2.Label6(idx).Left = 200 + yy 'larghezza
frmVisualizzacolonne2.Label6(idx).Visible = True ' rende visibile la nuova colonna
Else ' dopo 25 colonne va a capo
x = x + 380
y = 380 + 380
'yy = 380 + 380
List1(idx).Top = 2800 + y 'altezza
List1(idx).Left = 200 + x
List1(idx).Visible = True
' frmstampacolonne2.List1(idx).Top = 2800 + y 'altezza
' frmstampacolonne2.List1(idx).Left = 200 + x
' frmstampacolonne2.List1(idx).Visible = True
frmstampacolonne2.List1(idx).Visible = True
End If
questo è il codice che sorteggia e aggiunge i 6 numeri nella colonna
Dim Estratto As Integer
'******************************* START ******************
Label111.Visible = False
Label1111.Visible = True
Randomize 'Reinizializza la funzione Random, così da ottenere ogni volta serie diverse
Estratto = Int((u * Rnd) + 1) 'Estrae una posizione casuale, tra le u posizioni residue
TxtEstratto = N(Estratto) 'Il NUMERO estratto è quello contenuto nella posizione casuale precedente
Label1(N(Estratto) - 1).BackColor = &HC000& 'Cambia il colore di fondo della casella che contiene il numero estratto
'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx lorenzo xxxxxxxxxxxxxxxxxxxxxxxxx
For ii = 1 To num
If Text1(ii).Text = TxtEstratto Then
List1(idx).AddItem TxtEstratto
frmstampacolonne2.List1(idx).AddItem TxtEstratto ' carica la lista anche nel form di stampa
frmVisualizzacolonne2.List1(idx).AddItem TxtEstratto ' carica la lista anche nel form di stampa
Text1(ii).BackColor = &HFFFF& '&HC000&
totlista = List1(idx).ListCount
If totlista > 5 Then Timer1.Enabled = False ' conta i numeri estratti nella lista colonna
numeriscelti = totlista
End Sub
|
|
antometal (Member)
Guru
Messaggi: 691
Iscritto: 12/09/2007
|
probabilmente nn vedi le listbox (e penso anche le label), xk quando crei gli oggeti, gli dai visibilità e posizione, ma non la dimensione
Codice sorgente - presumibilmente Visual Basic 6 |
frmstampacolonne2.List1(idx).Top = 200 + x 'anche nel menu stampacolonne2
frmstampacolonne2.List1(idx).Left = 200 + yy
frmstampacolonne2.List1(idx).Visible = True
|
dovresti assegnargli anche le proprietà height e width
Codice sorgente - presumibilmente Plain Text |
frmstampacolonne2.List1(idx).Top = 200 + x 'anche nel menu stampacolonne2
frmstampacolonne2.List1(idx).Left = 200 + yy
frmstampacolonne2.List1(idx).Height = 200
frmstampacolonne2.List1(idx).Width = 200
frmstampacolonne2.List1(idx).Visible = True
|
|
|
gibra (Normal User)
Pro
Messaggi: 155
Iscritto: 16/04/2009
|
Non credo sia quello il problema.
Quando si carica un controllo a run-time con
Codice sorgente - presumibilmente Plain Text |
vengono ereditate tutte le proprietà del controllo(0)
|
|
visualrenzo (Normal User)
Pro
Messaggi: 94
Iscritto: 15/05/2009
|
IO nel form principale riesco a vederle tutte e 25 ,se le carico tutte e 25.
Il mio problema è che se richiamo per esempio la list1(2) non so come fare a fargli leggere il contenuto per visualizzarle in un altro form o se voglio salvarle.
L' unica cosa che sono riuscito a fare per esempio è fare in modo che mentre le carica nel primo form automaticamente le carica anche sul secondo. ma non è quello che mi interessava fare.
Io vorrei riunire tutte le colonne col rispettivo contenuto per esempio chiamandole colonne sorteggiate e poi richiamarle in visualizzazione o per la stampa da un file salvato.
Si potrà fare?
C' è un' istruzione che mi riepiloga il contenuto di una listbox?
esempio contenuto list1(1) =11 22 33 44 55 66 potere richiamare questi numeri in un altro list o text ?
grazie a tutti
|
|
theprogrammer (Normal User)
Guru^2
Messaggi: 2509
Iscritto: 28/01/2009
|
Sinceramente, non ho capito quasi nulla di quello che devi fare, ne' di quale sia il problema ...
Puo' essere che quello che ti serve e' un altro controllo (magari una ListView)?
|
|
antometal (Member)
Guru
Messaggi: 691
Iscritto: 12/09/2007
|
se ho capito bene vuoi conoscere gli elementi di una listbox...
in tal caso:
list1.list(index) contiene il valore nella posizione index
per scorrere tutti gli elementi:
Codice sorgente - presumibilmente Visual Basic 6 |
for i=0 to list1.count
elem=list1.list(i)
next i
|
|
|