kurz zur fragestellung:
du hast 30 Bilder mit einer bezeichnung
der user soll ein Bild mit 4 Begriffen zur Auswahl bekommen
richtig?
das ginge in etwa so:
Delphi-Quellcode:
TData = array [1..30] of record Name: String; FileName: String; end;
var Data: TData;
//Init
procedure GenFrage;
var ID, Cnt: Integer;
Names: array [1..4] of String;
begin
ID:=Random(30)+1;
Image.LoadFromFile(Data[ID].FileName);
Names[1]:=Data[ID].Name;
Cnt:=1;
while Cnt<4 do
begin
ID:=Random(30)+1;
if (Data[ID].Name<>Names[1]) and (Data[ID].Name<>Names[2]) and (Data[ID].Name<>Names[3]) and (Data[ID].Name<>Names[4]) then
begin
Inc(Cnt);
Names[Cnt]:=Data[ID].Name;
end;
end;
Shuffle(Names);
end;