Accueil > > > GÉNÉRER ET IMPRIMER DES BILLETS (THÉÂTRE, CINEMA, CONCOURS, ...)
GÉNÉRER ET IMPRIMER DES BILLETS (THÉÂTRE, CINEMA, CONCOURS, ...)
Information sur la source
Description
Salut tout le monde; J'ai un ami qui, pour son école, doit faire environ 500 billets de théâtre avec un numéro unique et les imprimer ensuite. J'ai eu donc l'idée de faire ce programme qui sert à numéroter les billets et de les imprimer ensuite. Il est très simple d'utilisation, voici les étapes à suivre: 1- Vous choisissez l'image du billet en arrière plan 2- Vous sélectionnez la zone d'affichage du nombre 3- Vous spécifiez la police (couleur et taille) 4- Vous spécifiez aussi le nombre de colonnes et l'espacement entre colonnes et lignes 5- Vous pouvez choisir ou non d'afficher les zéros à gauche du nombre
Source
- le code est très long, j'ai donc choisi l'extrait suivant. le reste est dans le zip
-
- using System;
- using System.Windows.Forms;
- using System.Drawing.Printing;
- using System.Drawing;
- using System.Drawing.Drawing2D;
-
- /*...*/
-
- private void DrawPage(int actualPage, Graphics g, Rectangle container)
- {
- //rectangle qui définit la zone d'affichage du ticket
- Rectangle ticketRect = new Rectangle(container.X, container.Y, bmpWidth, bmpHeight);
- //rectangle qui définit la zone d'affichage du nombre
- Rectangle numberRect = displayNumberRect;
- numberRect.X += container.X; numberRect.Y += container.Y;
- //nombre du premier ticket de la page x
- int number = actualPage * nberOfLines * nberOfColumns + this.beginNumber;
-
- //on fait les colonnes, ligne par ligne
- //observez la disposition des boucles
- for(int i=0; i<this.nberOfLines; i++)
- {
- for(int j=0; j<this.nberOfColumns; j++)
- {
- //si on a atteint le dernier billet, on arrête
- if(number == this.numberOfTickets + this.beginNumber) break;
- //on dessine l'image du billet
- g.DrawImage(bmp, ticketRect);
- //string qui contient le chiffre
- string s = string.Format("{0}", number);
- //on ajoute les zéros à gauche si zeroLeft == true
- if(this.zeroLeft)
- {
- while(s.Length<this.nberZeroLeft+1)
- {
- s = s.Insert(0, "0");
- }
- }
- //on dessine le nombre
- g.DrawString(s, font, new SolidBrush(fontColor), numberRect, format);
- //g.DrawRectangle(new Pen(Color.Black), numberRect);
- //--------------------------------------------------
- //on place nos rectangles pour la deuxieme colonne
- ticketRect.X+= ticketRect.Width + this.spaceColumns;
- numberRect.X = ticketRect.X + displayNumberRect.X;
- number++;
- }
- //on place nos rectangles pour la ligne suivante
- ticketRect.X = container.X;
- numberRect.X = ticketRect.X + displayNumberRect.X;
- ticketRect.Y+= ticketRect.Height + this.spaceRows;
- numberRect.Y = ticketRect.Y + displayNumberRect.Y;
- }
- }
le code est très long, j'ai donc choisi l'extrait suivant. le reste est dans le zip
using System;
using System.Windows.Forms;
using System.Drawing.Printing;
using System.Drawing;
using System.Drawing.Drawing2D;
/*...*/
private void DrawPage(int actualPage, Graphics g, Rectangle container)
{
//rectangle qui définit la zone d'affichage du ticket
Rectangle ticketRect = new Rectangle(container.X, container.Y, bmpWidth, bmpHeight);
//rectangle qui définit la zone d'affichage du nombre
Rectangle numberRect = displayNumberRect;
numberRect.X += container.X; numberRect.Y += container.Y;
//nombre du premier ticket de la page x
int number = actualPage * nberOfLines * nberOfColumns + this.beginNumber;
//on fait les colonnes, ligne par ligne
//observez la disposition des boucles
for(int i=0; i<this.nberOfLines; i++)
{
for(int j=0; j<this.nberOfColumns; j++)
{
//si on a atteint le dernier billet, on arrête
if(number == this.numberOfTickets + this.beginNumber) break;
//on dessine l'image du billet
g.DrawImage(bmp, ticketRect);
//string qui contient le chiffre
string s = string.Format("{0}", number);
//on ajoute les zéros à gauche si zeroLeft == true
if(this.zeroLeft)
{
while(s.Length<this.nberZeroLeft+1)
{
s = s.Insert(0, "0");
}
}
//on dessine le nombre
g.DrawString(s, font, new SolidBrush(fontColor), numberRect, format);
//g.DrawRectangle(new Pen(Color.Black), numberRect);
//--------------------------------------------------
//on place nos rectangles pour la deuxieme colonne
ticketRect.X+= ticketRect.Width + this.spaceColumns;
numberRect.X = ticketRect.X + displayNumberRect.X;
number++;
}
//on place nos rectangles pour la ligne suivante
ticketRect.X = container.X;
numberRect.X = ticketRect.X + displayNumberRect.X;
ticketRect.Y+= ticketRect.Height + this.spaceRows;
numberRect.Y = ticketRect.Y + displayNumberRect.Y;
}
}
Conclusion
Merci à Shinta de m'avoir donner l'idée de faire ce programme Si vous avez d'autres options à me suggérer, n'hésitez pas à le faire Si vous trouvez des bugs, merci de me prévenir
Finalement, l'executable est dans le zip avec l'extension .exe_
Enjoy !!!
Historique
- 30 novembre 2005 02:17:31 :
- ajout de mots-clés
- 18 septembre 2008 00:43:37 :
- Mise à jour le 17 septembre 2008 :
- Le logiciel accepte maintenant plusieurs zone de numération.
- À chacune des zones peut être attribuer une police spécifique.
Sources du même auteur
Sources de la même categorie
Commentaires et avis
Discussions en rapport avec ce code source dans le forum
impression : tres urgent [ par creanova2000 ]
bonjour je suis en train de faire une application qui me permettera d'imprimer des etiquette de taille largeur= 125mm et de hauteur= 75mm .j'arrive a
imorimante et impression [ par creanova2000 ]
bonjour je suis en train de faire une application qui me permettera d'imprimer des etiquette de taille largeur= 125mm et de hauteur= 75mm .j'arrive a
Impression PDF via C# [ par zeloostik ]
Salut à tous :)J'ai une colle à vous poser :Je dois créer une appli qui doit permettre d'imprimer un fichier PDF donné en un clic : c'est-à-dire que s
Impression PDF via C# [ par zeloostik ]
Salut à tous,J'ai une colle à vous soumettre :Je dois créer une appli sous C# qui doit pouvoir imprimer un PDF en un clic.Je m'explique : sur le Form
Impression saut de ligne [ par 238723 ]
Bonjour a tousJ'ai plusieurs TextBox dans mon formulaire associé chacun à unLabel j'arrive a tous les imprimer mais j'aimerai les imprimer les uns en
Impression d'un controle [ par MorpionMx ]
Bonjour a tous, J'ai dans un Panel 2 Control persos. Et j'aimerais imprimer ces 2 Control l'un a coté de l'autre, ou alors ce qu'il y a dans le
Impression Images [ par thebigboss ]
Est-ce que quelqu'un sait comment imprimer une photo à une dimension définit en centimètre?En fait, j'ouvre une photo, je l'affiche aux
apercu et impression cSharp .net [ par lolhangman ]
Bonjour, voila je suis super debutant en .net et cSharp et j'ai besoin d'imprimer le contenue d'une page. En fait tous mes resultats sont stoqués
Impression + problème [ par emmanuel9 ]
Bonjour, J'ai deux panel avec sur l'un un camembert et sur l'autre des barres. et en faite je voudrais reussir a imprimer ces deux graphiques, et
Prob avec l'impression [ par youil ]
Bonjour !!!Je cherche à imprimer le contenu d'un textebox mais mon problème est que le textbox à l'écran mesure 100 par 24 et il c
|
Derniers Blogs
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 l'ont sagement suivi. Je profite de ce poste pour fai...
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 TECHDAYS PARIS 2012 : SYSTEM CENTER SERVICE MANAGER 2012 VUE D'ENSEMBLETECHDAYS PARIS 2012 : SYSTEM CENTER SERVICE MANAGER 2012 VUE D'ENSEMBLE par ROMELARD Fabrice
Speakers: Julien Marechal, Gautier Confiant, Sébastien MEYER La session débute par le positionnement de la solution System Center par rapport aux concepts d'organisation ITIL. Le portail du catalogue de se...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice TECHDAYS PARIS 2012 : PLEINIèRE SECOND JOURTECHDAYS PARIS 2012 : PLEINIèRE SECOND JOUR par ROMELARD Fabrice
Après une première journée dédiée aux développeurs, cette seconde journée est dédiée au monde des entreprises et de ses applications. Ainsi, cette pleinière est dédiée à faire un 360 de l'évolution des applications Business aux demandes ac...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice TECHDAYS PARIS 2012 : RETOUR D'EXPéRIENCE SUR LA MISE EN PLACE D'UN CLOUD PRIVéTECHDAYS PARIS 2012 : RETOUR D'EXPéRIENCE SUR LA MISE EN PLACE D'UN CLOUD PRIVé par ROMELARD Fabrice
Speaker : Guillaume Rochette Cette session est dédiée à fournir le retour sur la mise en place d'un cloud privé (IaaS) par Osiatis pour son compte ou celui de ses clients. Ce projet s'est déroulé sur 4 mois et a permis de faire évoluer...
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
|