J'ai une base de données constituée de 20 images. dans ma base, je tire au hasard 20 à nombres distincts constituant chacun le numero de chaque image dans ma base et j'affiche l'image correspondante. Je vous presente donc le code écrit :
Mon problème est que quand je lance mon appli c'est la même image qui est affichée plusieurs fois. S'il vous plaît, j'ai besoin d'aide.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140 procedure TForm1.Button1Click(Sender: TObject); var Tableau : array[1..20]of integer ; TaImage :array[1..20]of TBitmap ; ImageLabel:array[1..20]of string; i,j,l,q : integer; DejaTire :boolean; begin // Création dynamique des composannts de TaImage for l:=1 to 20 do begin TaImage[l]:=TBitmap.Create; ImageLabel[l]:='a'; end; Randomize ;//Initiateur du générateur de nombre pseudo-aléatoire // Tirage aléatoire de 20 nombres entiers différents parmi trois nombres entiers différents for i:=1 to 20 do begin repeat Tableau[i]:=Trunc(Random(20))+1; DejaTire:=false; for j:=1 to i-1 do if Tableau[j]=Tableau[i] then begin DejaTire:=True ; Break; end; until not DejaTire ; end; //Affichage des images correspondant à chacun des nombres tirés for q:=1 to 20 do begin // recherche de l'enregistrement correspondant Table1.Locate('ORDER',Tableau[q],[loCaseInsensitive]); // Recherche de l'image correspondante à l'enregistrement With Query1 do begin SQL.Clear; SQL.Add('SELECT IMAGE from " \texturestable.DBF" '); Open; end; //Affichage de l'image TaImage[q].Assign(TBlobField(Query1.FieldByName('IMAGE'))); //Mettre à jour la propriété Hint de l'image affichée ImageLabel[q]:=Table1.FieldByName('ETIQUETTE').AsString ; end; Image1.Picture.Bitmap:= TaImage[1] ; Image1.ShowHint:=True; Image1.Hint:=ImageLabel[1] ; Image2.Picture.Bitmap:= TaImage[2] ; Image2.ShowHint:=True; Image2.Hint:=ImageLabel[2] ; Image3.Picture.Bitmap:= TaImage[3] ; Image3.ShowHint:=True; Image3.Hint:=ImageLabel[3] ; Image4.Picture.Bitmap:= TaImage[4] ; Image4.ShowHint:=True; Image4.Hint:=ImageLabel[4] ; Image5.Picture.Bitmap:= TaImage[5] ; Image5.ShowHint:=True; Image5.Hint:=ImageLabel[5] ; Image6.Picture.Bitmap:= TaImage[6] ; Image6.ShowHint:=True; Image6.Hint:=ImageLabel[6] ; Image7.Picture.Bitmap:= TaImage[7] ; Image7.ShowHint:=True; Image7.Hint:=ImageLabel[7] ; Image8.Picture.Bitmap:= TaImage[8] ; Image8.ShowHint:=True; Image8.Hint:=ImageLabel[8] ; Image9.Picture.Bitmap:= TaImage[9] ; Image9.ShowHint:=True; Image9.Hint:=ImageLabel[9] ; Image10.Picture.Bitmap:= TaImage[10] ; Image10.ShowHint:=True; Image10.Hint:=ImageLabel[10] ; Image11.Picture.Bitmap:= TaImage[11] ; Image11.ShowHint:=True; Image11.Hint:=ImageLabel[11] ; Image12.Picture.Bitmap:= TaImage[12] ; Image12.ShowHint:=True; Image12.Hint:=ImageLabel[12] ; Image13.Picture.Bitmap:= TaImage[13] ; Image13.ShowHint:=True; Image13.Hint:=ImageLabel[13] ; Image14.Picture.Bitmap:= TaImage[14] ; Image14.ShowHint:=True; Image14.Hint:=ImageLabel[14] ; Image15.Picture.Bitmap:= TaImage[15] ; Image15.ShowHint:=True; Image15.Hint:=ImageLabel[15] ; Image16.Picture.Bitmap:= TaImage[16] ; Image16.ShowHint:=True; Image16.Hint:=ImageLabel[16] ; Image17.Picture.Bitmap:= TaImage[17] ; Image17.ShowHint:=True; Image17.Hint:=ImageLabel[17] ; Image18.Picture.Bitmap:= TaImage[18] ; Image18.ShowHint:=True; Image18.Hint:=ImageLabel[18] ; Image19.Picture.Bitmap:= TaImage[19] ; Image19.ShowHint:=True; Image19.Hint:=ImageLabel[19] ; Image20.Picture.Bitmap:= TaImage[20] ; Image20.ShowHint:=True; Image20.Hint:=ImageLabel[20] ; end;
Merci à tous.
Partager