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
[WP7] AJOUTER DES IMAGES DANS LA MEDIA LIBRARY D'UN WINDOWS PHONE 7[WP7] AJOUTER DES IMAGES DANS LA MEDIA LIBRARY D'UN WINDOWS PHONE 7 par Audrey
L'émulateur Windows Phone 7, fourni avec la version Beta des outils développeurs n'inclut aucune image dans sa bibliothèque. Pas très pratique de tester son application lorsque l'on souhaite que l'utilisateur puisse choisir une image présente dans le télé...
Cliquez pour lire la suite de l'article par Audrey VIVE LES MOCKS ET LES POCOSVIVE LES MOCKS ET LES POCOS par vLabz
J'observe régulièrement autour de moi de la confusion à propos de ces deux termes et j'aimerais juste rappeler ce qu'ils signifient. Je ne suis bien sûr pas le mieux placé pour faire une leçon mais je vais faire de mon mieux pour mettre en valeur ce q...
Cliquez pour lire la suite de l'article par vLabz [WF4] WORKFLOW AND CUSTOM ACTIVITIES - BEST PRACTICES (4/5)[WF4] WORKFLOW AND CUSTOM ACTIVITIES - BEST PRACTICES (4/5) par JeremyJeanson
Vendredi dernier Microsoft a publié le quatrième épisode des bonnes pratiques pour coder ses activités custom dans WF4 : endpoint.tv - Workflow and Custom Activities - Best Practices (Part 4) . Tout comme pour les précédents épisodes, j'ai pris le temps d...
Cliquez pour lire la suite de l'article par JeremyJeanson DéVELOPPEMENT MOBILE : .NET COMPACT FRAMEWORK & LIMITATIONSDéVELOPPEMENT MOBILE : .NET COMPACT FRAMEWORK & LIMITATIONS par Pi-R
Introduction :
Le développement d'applications mobiles est quelque peu différent du développement d'applications sous Windows. En effet, le développement d'applications mobiles se base sur le .NET Compact Fra...
Cliquez pour lire la suite de l'article par Pi-R IPHONE VERSUS WP7 CODINGIPHONE VERSUS WP7 CODING par Nicolas
Je relais une présentation sur slideshare.net, qui compare le développement sur Iphone et Windows Phone 7, qui ma fait sourire. I phone versus windows phone 7 coding View more presentations from www.donburnett.com. J'aurais bien aimé une comparai...
Cliquez pour lire la suite de l'article par Nicolas
Logiciels
Crystal Report (11)CRYSTAL REPORT (11)Crystal Reports est un outil de reporting souple et puissant, vous pouvez très facilement consult... Cliquez pour télécharger Crystal Report Academy System (12.0.2.0)ACADEMY SYSTEM (12.0.2.0)Logiciel de gestion des établissements.
- élèves/étudiants (inscription, dossier, absence...)
-... Cliquez pour télécharger Academy System Xilisoft iPod Vidéo Convertisseur 6 (6.0.3.0419)XILISOFT IPOD VIDéO CONVERTISSEUR 6 (6.0.3.0419)Xilisoft iPod Vidéo Convertisseur est un outil puissant de conversion d'iPod, facile à utiliser. ... Cliquez pour télécharger Xilisoft iPod Vidéo Convertisseur 6 Xilisoft iPhone Vidéo Convertisseur 6 (6.0.3.0419)XILISOFT IPHONE VIDéO CONVERTISSEUR 6 (6.0.3.0419)Xilisoft iPhone Vidéo Convertisseur est le meilleur logiciel de conversion iPhone qui peut facile... Cliquez pour télécharger Xilisoft iPhone Vidéo Convertisseur 6 Xilisoft iPad Vidéo Convertisseur 6 (6.0.3.0419)XILISOFT IPAD VIDéO CONVERTISSEUR 6 (6.0.3.0419)Il s'agit d'un logiciel polyvalent pour convertir les formats vidéo/audio populaires en formats p... Cliquez pour télécharger Xilisoft iPad Vidéo Convertisseur 6
|