01. januar 2006 - 23:37Der er
3 kommentarer og 1 løsning
Load mange billeder
Hej jeg skal loade en del billeder når min form starter, og til det har jeg lavet en løkke, men når jeg kører det får jeg fejlen "object variable or with block variable not set"
Koden ser sådan her ud:
Dim pics(6413) As PictureBox Private Sub Form_Load() For t = 1 To 6 For y = 1 To 4 For u = 1 To 13 If Len(u) = 1 Then i = "0" & u End If
Danmark vil mindske afhængigheden af globale techgiganter, men det kræver mere end politiske formuleringer og strategier, understreger PROSA’s formand Niels Bertelsen.
Ja hvis du skal ha det der til at virke så skal du have 6414 PictureBox på din Form.. og det er nok ikke lige det du vil eller hvad?
ellers kan du gemme path til alle dine billeder i et array:
Dim arrPath(6413) As String
Private Sub Form_Load() For t = 1 To 6 For y = 1 To 4 For u = 1 To 13 If Len(u) = 1 Then i = "0" & u End If nr = CInt(t & y & i) str_path = FindSti(CInt(y & i)) arrPath(nr) = str_path Next Next Next
Picture1.Picture = LoadPicture(arrPath(0)) End Sub
Nej skal ikke bruge 6413 billeder men "kun" 312, men har valgt 6413 da jeg skal lave et kortbunke med 6 spil kort delt op i 4 kulører med 13 kort i hver :) Så det der er lavet er helt med vilje. Og samme kort skal kunne vises 6 gange derfor samme path.
Og ja så kunne man lave 1 til 312 men det ville blive lidt for besværligt når man skal finde ud af kortets værdi og kulør.
Men skal have mulighed for at få vist en hel del kort samtidig, så det vil da ikke helt virke det du skriver vel ?
For i = 0 To UBound(kortstak) List1.AddItem farver(kortstak(i) Mod 4) & " " & valører(kortstak(i) Mod 13) Next End Sub
Private Sub Command1_Click()
Const antalkort = 52 'antal kort.. kunne også være 104 osv..
Dim Bunke(antalkort - 1) As Integer '2 arrays med 52 pladser Dim TempBunke(antalkort - 1) As Integer '.......... Dim i As Integer 'tæller til For-Next løkke Dim AktueltKort As Integer 'kortet vi skriver til bunke Dim Tilbage As Integer 'tæller -hvor mange kort mangler vi?
For i = 0 To antalkort - 1 TempBunke(i) = i 'giv hvert kort en unik værdi mellem 0 og 51 Bunke(i) = -1 'nulstil alle kort(-1 =tom) Next
Randomize 'start tilfældigheds-generator
Tilbage = antalkort For i = 0 To antalkort - 1 'gentag denne løkke 52 gange AktueltKort = Int(Tilbage * Rnd) 'vælg tilfældigt tal mellem 1 og Tilbage Bunke(i) = TempBunke(AktueltKort) 'dette kort sættes på i i bunken Tilbage = Tilbage - 1 'nu er der et kort færre TempBunke(AktueltKort) = TempBunke(Tilbage) 'dette kort fjernes fra TempBunke Next
Vis_Kort Bunke() 'indeholder nu de 52 kort i tilfældig rækkefølge End Sub ' --------------------------------- Form1 ---------------------------------
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.