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
PB LORS DE L'INSTALLATION SHAREPOINT 2010.PB LORS DE L'INSTALLATION SHAREPOINT 2010. par Patrick Guimonet
Lors de l'installation de SharePoint 2010, j'ai rencontré un problème de plantage à l'étape 5 du configuration Wizard. Ca se termine sur cet écran : Et en analysant le fichier de journalisation, on remarque vers la fin des 15000 et quelques lign...
Cliquez pour lire la suite de l'article par Patrick Guimonet [WF4] AJOUTER DES CONTRAINTES à UNE ACTIVITé (2/2)[WF4] AJOUTER DES CONTRAINTES à UNE ACTIVITé (2/2) par JeremyJeanson
Après mon précédent article qui attaque les contraintes par la fasse Nord de l'Everest. passons à la seconde possibilité offerte par WF4 pour valider une activité : la metadata . Je vous en ai déjà toucher un ou deux mots. La metadata dans WF4 est un élém...
Cliquez pour lire la suite de l'article par JeremyJeanson [WF4] AJOUTER DES CONTRAINTES à UNE ACTIVITé (1/2)[WF4] AJOUTER DES CONTRAINTES à UNE ACTIVITé (1/2) par JeremyJeanson
De WF3 à WF4 pas mal de choses on été changées pour faciliter la vie des développeurs, mais certain points peuvent sembler obscures. comme les contraintes. Pour vous guider, je me lance dans une série de deux articles. Ils présenterons deux approches poss...
Cliquez pour lire la suite de l'article par JeremyJeanson [ASP.NET] NE PAS SE FAIRE AVOIR PAR IHTTPMODULE ET SA MéTHODE INIT()[ASP.NET] NE PAS SE FAIRE AVOIR PAR IHTTPMODULE ET SA MéTHODE INIT() par tja
Beaucoup de développeurs pensent que lorsqu'on créé et enregistre un IHttpModule, il n'en existe qu'une seule instance et la méthode Init() sera appelée qu'une fois.
C'est faux
Cela peut vraiment créer des bugs subtils dont en ne se rend pas compte ...
Cliquez pour lire la suite de l'article par tja [MSTD10] SHAREPOINT 2010 ET TEAM FOUNDATION SERVER[MSTD10] SHAREPOINT 2010 ET TEAM FOUNDATION SERVER par phil
Un post rapide pour vous informer de la disponibilité de la vidéo de ma présentation sur SharePoint 2010 & Team Foundation Server. http://www.microsoft.com/france/vision/mstechdays10/Webcast.aspx?EID=20215d48-02e3-4d43-8c36-e53505c3b316 Dans la ...
Cliquez pour lire la suite de l'article par phil
Forum
PICTUREBOX PICTUREBOX par johnnous
Cliquez pour lire la suite par johnnous
Logiciels
Xilisoft Convertisseur Vidéo Ultimate (5.1.39.0305)XILISOFT CONVERTISSEUR VIDéO ULTIMATE (5.1.39.0305)Xilisoft Convertisseur Vidéo Ultimate est un outil puissant de conversion vidéo, facile à utilise... Cliquez pour télécharger Xilisoft Convertisseur Vidéo Ultimate Xilisoft DVD Ripper Ultimate (5.0.64.0304)XILISOFT DVD RIPPER ULTIMATE (5.0.64.0304)Xilisoft DVD Ripper Ultimate est un logiciel excellent pour copier et convertir DVD vers presque ... Cliquez pour télécharger Xilisoft DVD Ripper Ultimate Rigs of Rods (63.3)RIGS OF RODS (63.3)c'est un jeu de multi-simulation camions,autobus voitures, avions, bateaux, hélicoptère avec défo... Cliquez pour télécharger Rigs of Rods Konvertor (4.00)KONVERTOR (4.00)Le logiciel est un gestionnaire multimedia affichant, jouant et convertissant plus de 2000 format... Cliquez pour télécharger Konvertor
|