Accueil > > > EUROM V1.0.0
EUROM V1.0.0
Information sur la source
Description
Un générateur de nombres aléatoires pour l'euro-millions. J'avais encore envie de jouer avec les nombres aléatoires suite au pipotron et en même temps de découvrir les fonctions "repeat" et "until" parfaites pour ce programme.
Source
- {===============================================================================
- Code source : BEAUMONT Christophe
- Version : 1.0.0
- Date : 21 Mars 2010
-
- Micro-projet 06 : C'est le micro-projet 05 "Pipotron 1.2.1" qui m'a donné envie
- de continuer à travailler avec les nombres aléatoires. Voici donc un générateur
- de nombres pour l'euro-millions. Volontairement fait pour un seul tirage, à vous
- de l'améliorer si vous voulez une version pour une grille complète.
- Retrouvez ce source sur mon site "www.delphinautes.fr"
- ===============================================================================}
- unit f_main;
-
- interface
-
- uses
- Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
- Dialogs, pngimage, ExtCtrls, StdCtrls, ShellAPI, Math;
-
- type
- TMain = class(TForm)
- Cadre: TBevel;
- BouleN1: TImage;
- BouleN2: TImage;
- BouleN3: TImage;
- BouleN4: TImage;
- BouleN5: TImage;
- BouleC1: TImage;
- BouleC2: TImage;
- BtnTirage: TButton;
- Url: TLabel;
- Numero1: TLabel;
- Numero2: TLabel;
- Numero3: TLabel;
- Numero4: TLabel;
- Numero5: TLabel;
- Numero6: TLabel;
- Numero7: TLabel;
- procedure FormCreate(Sender: TObject);
- procedure UrlMouseEnter(Sender: TObject);
- procedure UrlMouseLeave(Sender: TObject);
- procedure UrlClick(Sender: TObject);
- procedure BtnTirageClick(Sender: TObject);
- private
- { Déclarations privées }
- public
- { Déclarations publiques }
- end;
-
- var
- Main: TMain;
-
- implementation
-
- {$R *.dfm}
-
- procedure TMain.BtnTirageClick(Sender: TObject);
- // On travaille sur des valeurs inférieures à 255 donc "byte" suffit.
- var Num : array[1..7] of byte;
- Temp : byte;
- I : Integer;
- begin
- // On va traiter les 5 numéros normaux ( 1 à 5 )
- for I := 1 to 5 do
- begin
- // Pour permettre au numéro du tirage précédent de ressortir à la même place
- num[i] := 0;
- // On tire un numéro compris entre 1 et 50
- repeat Temp := RandomRange(1,50);
- // On vérifie si le numéro n'a pas déjà été tiré sinon on refait un tirage
- until ((Temp<>Num[1]) and (Temp<>Num[2]) and (Temp<>Num[3]) and (Temp<>Num[4]) and (Temp<>Num[5]));
- // On sauvegarde la valeur tirée
- Num[i] := Temp;
- end;
- // On va traiter les 2 numéros complémentaires ( 6 et 7 )
- for I := 6 to 7 do
- begin
- // Pour permettre au numéro du tirage précédent de ressortir à la même place
- num[i] := 0;
- // On tire un numéro compris entre 1 et 9
- repeat Temp := RandomRange(1,9);
- // On vérifie qu'il n'a pas déjà été tiré
- until ((Temp<>Num[6]) and (Temp<>Num[7]));
- // On sauvegarde la valeur tirée
- Num[i] := Temp;
- end;
- // On affiche le numéro 1
- Numero1.Caption := IntToStr(Num[1]);
- // On affiche le numéro 2
- Numero2.Caption := IntToStr(Num[2]);
- // On affiche le numéro 3
- Numero3.Caption := IntToStr(Num[3]);
- // On affiche le numéro 4
- Numero4.Caption := IntToStr(Num[4]);
- // On affiche le numéro 5
- Numero5.Caption := IntToStr(Num[5]);
- // On affiche le numéro complémentaire 1
- Numero6.Caption := IntToStr(Num[6]);
- // On affiche le numéro complémentaire 2
- Numero7.Caption := IntToStr(Num[7]);
- end;
-
- procedure TMain.FormCreate(Sender: TObject);
- begin
- // Initialise le générateur de nombre aléatoire, à faire avant d'utiliser RandomRange
- Randomize;
- end;
-
- procedure TMain.UrlMouseEnter(Sender: TObject);
- begin
- // Souligne l'adresse lorsque le pointeur de souris passe dessus
- Url.Font.Style := [fsUnderline];
- // Et change le pointeur de souris
- Cursor := crHandPoint;
- end;
-
- procedure TMain.UrlMouseLeave(Sender: TObject);
- begin
- // Retire le soulignement lorsque le pointeur n'est plus dessus
- Url.Font.Style := [];
- // Et remet le curseur par défaut
- Cursor := crDefault;
- end;
-
- procedure TMain.UrlClick(Sender: TObject);
- begin
- // Lance le navigateur par défaut sur mon site
- ShellExecute(Handle,'Open','http://www.delphinautes.fr',nil,nil,SW_SHOWDEFAULT)
- end;
-
- end.
{===============================================================================
Code source : BEAUMONT Christophe
Version : 1.0.0
Date : 21 Mars 2010
Micro-projet 06 : C'est le micro-projet 05 "Pipotron 1.2.1" qui m'a donné envie
de continuer à travailler avec les nombres aléatoires. Voici donc un générateur
de nombres pour l'euro-millions. Volontairement fait pour un seul tirage, à vous
de l'améliorer si vous voulez une version pour une grille complète.
Retrouvez ce source sur mon site "www.delphinautes.fr"
===============================================================================}
unit f_main;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, pngimage, ExtCtrls, StdCtrls, ShellAPI, Math;
type
TMain = class(TForm)
Cadre: TBevel;
BouleN1: TImage;
BouleN2: TImage;
BouleN3: TImage;
BouleN4: TImage;
BouleN5: TImage;
BouleC1: TImage;
BouleC2: TImage;
BtnTirage: TButton;
Url: TLabel;
Numero1: TLabel;
Numero2: TLabel;
Numero3: TLabel;
Numero4: TLabel;
Numero5: TLabel;
Numero6: TLabel;
Numero7: TLabel;
procedure FormCreate(Sender: TObject);
procedure UrlMouseEnter(Sender: TObject);
procedure UrlMouseLeave(Sender: TObject);
procedure UrlClick(Sender: TObject);
procedure BtnTirageClick(Sender: TObject);
private
{ Déclarations privées }
public
{ Déclarations publiques }
end;
var
Main: TMain;
implementation
{$R *.dfm}
procedure TMain.BtnTirageClick(Sender: TObject);
// On travaille sur des valeurs inférieures à 255 donc "byte" suffit.
var Num : array[1..7] of byte;
Temp : byte;
I : Integer;
begin
// On va traiter les 5 numéros normaux ( 1 à 5 )
for I := 1 to 5 do
begin
// Pour permettre au numéro du tirage précédent de ressortir à la même place
num[i] := 0;
// On tire un numéro compris entre 1 et 50
repeat Temp := RandomRange(1,50);
// On vérifie si le numéro n'a pas déjà été tiré sinon on refait un tirage
until ((Temp<>Num[1]) and (Temp<>Num[2]) and (Temp<>Num[3]) and (Temp<>Num[4]) and (Temp<>Num[5]));
// On sauvegarde la valeur tirée
Num[i] := Temp;
end;
// On va traiter les 2 numéros complémentaires ( 6 et 7 )
for I := 6 to 7 do
begin
// Pour permettre au numéro du tirage précédent de ressortir à la même place
num[i] := 0;
// On tire un numéro compris entre 1 et 9
repeat Temp := RandomRange(1,9);
// On vérifie qu'il n'a pas déjà été tiré
until ((Temp<>Num[6]) and (Temp<>Num[7]));
// On sauvegarde la valeur tirée
Num[i] := Temp;
end;
// On affiche le numéro 1
Numero1.Caption := IntToStr(Num[1]);
// On affiche le numéro 2
Numero2.Caption := IntToStr(Num[2]);
// On affiche le numéro 3
Numero3.Caption := IntToStr(Num[3]);
// On affiche le numéro 4
Numero4.Caption := IntToStr(Num[4]);
// On affiche le numéro 5
Numero5.Caption := IntToStr(Num[5]);
// On affiche le numéro complémentaire 1
Numero6.Caption := IntToStr(Num[6]);
// On affiche le numéro complémentaire 2
Numero7.Caption := IntToStr(Num[7]);
end;
procedure TMain.FormCreate(Sender: TObject);
begin
// Initialise le générateur de nombre aléatoire, à faire avant d'utiliser RandomRange
Randomize;
end;
procedure TMain.UrlMouseEnter(Sender: TObject);
begin
// Souligne l'adresse lorsque le pointeur de souris passe dessus
Url.Font.Style := [fsUnderline];
// Et change le pointeur de souris
Cursor := crHandPoint;
end;
procedure TMain.UrlMouseLeave(Sender: TObject);
begin
// Retire le soulignement lorsque le pointeur n'est plus dessus
Url.Font.Style := [];
// Et remet le curseur par défaut
Cursor := crDefault;
end;
procedure TMain.UrlClick(Sender: TObject);
begin
// Lance le navigateur par défaut sur mon site
ShellExecute(Handle,'Open','http://www.delphinautes.fr',nil,nil,SW_SHOWDEFAULT)
end;
end.
Conclusion
Je m'amuse de plus en plus sur delphi, à m'en faire oublier la programmation sur Amiga ;)
Sources du même auteur
Sources de la même categorie
Commentaires et avis
Discussions en rapport avec ce code source dans le forum
Dessiner un nombre aléatoire de cercles [ par DeanCorso666 ]
Salut,Je débute en delphi. Je voulais creer aleatoirement un nombre de cercle à l'aide de canvas.ellipse. Mon problème c'est qu'il ne m
Afficher un nombre aléatoire [ par Dagnir ]
Salut, Bon voila mon but :Quand on clic sur mon bouton il y a un nombre (aléatoire) qui s'affiche dans un champ.Dans l'aide j'ai trouvé :function Rand
image aléatoire [ par etrix ]
Salut,voilà, je voudrais afficher une image aléatoirement, chaque image est dans un Timage différent...il y'en a 8comment est ce que je pourrais faire
Compter le nombre de labels [ par Dagnir ]
Salut, Je voudrais savoir s'il est possible d'attribuer à une variable x le nombre de labels que la fiche comporte. Dans le même esprit, si on peut aj
arrondir un nombre [ par 980074 ]
bête petite question : comment arrondir, en pascal, un nombre entamé vers l'unité supérieure? TRUNC + 1 n'est pas valable pour les nombres entiers...e
nombre de form dans le projet [ par phoenyx ]
Salut à tous,Est-il possible (mais j'en doute) de récupérer le nombre de form qui vont être créée avant même que celles-ci le soient ou à défaut de sa
Compter les fichiers d un repertoire [ par MoveX ]
procedure TForm1.ShellTreeView1Change(Sender: TObject; Node: TTreeNode);var Info: TSearchRec; Nombre: Integer;begin nombre:= 0; if FindFirst(Shell
Saisie multiples [ par mcaillou ]
je cherche à faire une saisie sans passer par de multiplesboites de saisies.Le resultat de la premiere saisie donne le nombre de saisiessuivantes.Par
Connaitre le nombre de ligne ds un dbgrid [ par jimmy69 ]
Bonjour a tous,Je liste ma base de donnees a l'aide d'un dbgrid et j'aimerais savoir s'il etait possible de recuperer le nombre de ligne que j'ai et d
Transformer un nombre décimal et l'arrondir à 2 chiffres après la virgule [ par Rowan ]
Bonjour à tous et à toutes.Un grand merci à DELPHIPROG qui a bien répondu à mon problème de chaine de carractère.Cependant, je n'arrive toujours à fai
|
Derniers Blogs
TECHDAYS PARIS 2012 : SESSION PLEINIèRE JOUR 3TECHDAYS PARIS 2012 : SESSION PLEINIèRE JOUR 3 par ROMELARD Fabrice
Speaker: Bernard Ourghanlian Cette session est comme chaque jour transmise en live par BrainSonic, et j'ai donc suivi cette troisième pleinière par ce moyen sur mon iPad . Elle est dédiée comme chaque année à la mise en perspective de l'é...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice MISHRA READER : UN LECTEUR RSS TRèS ZUNE STYLE EN OPEN SOURCE !MISHRA READER : UN LECTEUR RSS TRèS ZUNE STYLE EN OPEN SOURCE ! par Vko
Hier durant une session dédiée aux Techdays 2012, j'ai eu le plaisir d'annoncer la sortie de la Béta 2 de Mishra Reader. C'est quoi ? Pour les utilisateurs, c'est une vraie expérience de lecture de flux RSS sur Windows. Rien à voir avec les produit...
Cliquez pour lire la suite de l'article par Vko [FRAMEWORK 4] LES TASKS ET LE THREAD UI[FRAMEWORK 4] LES TASKS ET LE THREAD UI par fathi
Je viens de passer quelques temps au TechDay's et j'ai pu voir pas mal de session intéressante. Par contre une chose m'a un peu étonné lors de certaines de ces sessions qui abordaient les améliorations du framework .NET (donc le 4.5) : en gros, bea...
Cliquez pour lire la suite de l'article par fathi WORKFLOW FOUNDATION 3 A UN PIED DANS LA TOMBEWORKFLOW FOUNDATION 3 A UN PIED DANS LA TOMBE par JeremyJeanson
Depuis déjà un an, je conseille vivement les utilisateurs de Workflow Foundation 3 à migrer vers la version 4. L'information qui va suivre ne devrait donc pas trop prendre au dépourvu les personnes qui m'ont suivi. Je profite de ce poste, pour faire le re...
Cliquez pour lire la suite de l'article par JeremyJeanson TECHDAYS PARIS 2012 : NOUVELLES TENDANCES DU POSTE DE TRAVAIL - BRING YOUR OWN PCTECHDAYS PARIS 2012 : NOUVELLES TENDANCES DU POSTE DE TRAVAIL - BRING YOUR OWN PC par ROMELARD Fabrice
Speakers: Thierry Rapatout, Antoine Petit et Xavier Trebbia Cette session entre dans le cadre des RDV Décideurs des TechDays 2012, elle est liée à la consumérisation de l'IT et la mise en place du "DeskTop as a Service" dans de plus en ...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice
Logiciels
Academy System (17.2.1.0)ACADEMY SYSTEM (17.2.1.0)Logiciel de gestion des établissements.
- élèves/étudiants (inscription, dossier, absence...)
-... Cliquez pour télécharger Academy System Easy-Planning (1.0.0.1)EASY-PLANNING (1.0.0.1)Basé sur les mêmes principes que MyPlanning, Easy-Planning permet de créer des plannings sous la ... Cliquez pour télécharger Easy-Planning COLLECTOR PLUS (3.00B)COLLECTOR PLUS (3.00B)COLLECTOR PLUS version 3.00B est un logiciel utilisant une base de données alimentée par :
- L... Cliquez pour télécharger COLLECTOR PLUS PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V7.4)PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V7.4)PONAMEDIA TV DEVIENS HELLLOOO FLASH
LA TV SUR VOTRE ORDINATEUR.
Toute une plateforme Multi... Cliquez pour télécharger PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO LettresFaciles 2011 (8.0.0.1)LETTRESFACILES 2011 (8.0.0.1)LettresFaciles est un logiciel facilitant la création et la rédaction de lettres types.
Son inte... Cliquez pour télécharger LettresFaciles 2011
|