const nLabels = 6; // valeur à adapter au nombre de labels à remplir xRND = 5; // à adapter suivant valeur à obtenir procedure ChargeLabels; var TB : array[1..nLabels]; i,j,x:integer; FLG:boolean; begin for i:=1 to NLabels do TB[i] := -1; // ou autre valeur non tirée par le random x := 1 + random(xRND); TB[1] := x; Label1.caption := inttostr(x); for j:=2 to nLabels do begin FLG := true; while FLG do begin FLG := false; x := 1 + random(xRND); for j:=1 to nLabels do if TB[j]=x then FLG := true end; TB[j] := x; Tlabel(FindComponent('Label' + inttostr(j))).caption := inttostr(x); end; end;:
const nLabels6; // valeur à adapter au nombre de labels à remplir xRND = 5; // à adapter suivant valeur à obtenir procedure ChargeLabels; var TB : array[1..nLabels]; i,j,x:integer; FLG:boolean; begin for i:=1 to NLabels do TB[i] := -1; // ou autre valeur non tirée par le random x := 1 + random(xRND); TB[1] := x; Label1.caption := inttostr(x); for j:=2 to nLabels do begin FLG := true; while FLG do begin FLG := false; x := 1 + random(xRND); for i:=1 to nLabels do if TB[i]=x then FLG := true end; TB[j] := x; Tlabel(FindComponent('Label' + inttostr(j))).caption := inttostr(x); end; end;
unit Unit1; //=============================================================== interface uses Windows, dialogs, Classes, Controls, Forms, StdCtrls , sysutils; // pour inttostr const nLabels = 6; // valeur à adapter au nombre de labels à remplir xRND = 49; // à adapter suivant valeur à obtenir type TForm1 = class(TForm) Label1: TLabel; Label2: TLabel; Label3: TLabel; Label4: TLabel; Label5: TLabel; Label6: TLabel; Button1: TButton; procedure FormClose(Sender: TObject; var Action: TCloseAction); procedure FormCreate(Sender: TObject); procedure Button1Click(Sender: TObject); private { Déclarations privées } public procedure QUITTER; procedure ChargeLabels; end; var Form1: TForm1; //=============================================================== implementation {$R *.dfm} //-------------------------------------------------------------- procedure TForm1.FormCreate(Sender: TObject); begin randomize end; //-------------------------------------------------------------- procedure TForm1.ChargeLabels; var TB : array[1..nLabels] of integer; i,j,x:integer; FLG:boolean; begin for i:=1 to NLabels do TB[i] := -1; // ou autre valeur non tirée par le random //x := 1 + random(xRND); //TB[1] := x; //Label1.caption := inttostr(x); for j:=1 to nLabels do begin FLG := false; while not FLG do begin FLG := true; x := 1 + random(xRND); for i:=1 to nLabels do if TB[i]=x then FLG := false end; TB[j] := x; end; for i:=1 to nLabels do Tlabel(FindComponent('Label' + inttostr(i))).caption := inttostr(TB[i]); end; //-------------------------------------------------------------- procedure TForm1.Button1Click(Sender: TObject); begin ChargeLabels end; end.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question