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
UNE JOLIE-HORLOGE ET PAS QU'UN PEU !UNE JOLIE-HORLOGE ET PAS QU'UN PEU ! par neodante
Pour les possesseurs d'iPhone, ça y est Bijin Tokei - qui se traduit littéralement en Français par " Jolie Horloge " - est arrivé et GRATUITEMENT s'il vous plaît ! Après la version Tokyo, Hokkaido, night club, racing, Gal, "pour les mademoiselles'", . voi...
Cliquez pour lire la suite de l'article par neodante TECHDAYS PARIS 2010 : CONNECTEZ VOS DONNéES à SHAREPOINT 2010 AVEC LES BUSINESS CONNECTIVITY SERVICESTECHDAYS PARIS 2010 : CONNECTEZ VOS DONNéES à SHAREPOINT 2010 AVEC LES BUSINESS CONNECTIVITY SERVICES par ROMELARD Fabrice
Animé par: Gaetan Bouveret et Julien Chomarat Business Connectivity Services (BCS) est dans SharePoint 2010 la version 2 de Business Data Catalog (BDC dans SharePoint 2007). Il s'agit de la solution permettant de visualiser des données provenan...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice [DIVERS] SUIVRE VOS SéRIES PRéFéRéS SUR LA TOILE[DIVERS] SUIVRE VOS SéRIES PRéFéRéS SUR LA TOILE par orion
Comme de nombreux geek, je suis un grand amateur de série TV et je rate régulièrement des épisodes de mes séries préférés. Une solution s'offre à vous avec ce merveilleux site : Tv Gorge - www.tvgorge.com Moteur de recherche à l'appui, vous pouvez ...
Cliquez pour lire la suite de l'article par orion TECHDAYS PARIS 2010 : LA BI DANS SHAREPOINT 2010TECHDAYS PARIS 2010 : LA BI DANS SHAREPOINT 2010 par ROMELARD Fabrice
Animé par: Vincent Bellet et Baptiste Giraudier La BI dans SharePoint 2010, Les nouveaux services d'application dans SP2010 et SQL Server Reporting services 2008 R2. La BI dans SharePoint est généralisée pour tous afin de permettre à tous les coll...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice
Logiciels
DB-MAIN (9.1.0)DB-MAIN (9.1.0)DB-MAIN is a data-modeling and data-architecture tool. It is designed to help developers and anal... Cliquez pour télécharger DB-MAIN Xilisoft DPG Convertisseur (5.1.37.0120)XILISOFT DPG CONVERTISSEUR (5.1.37.0120)Xilisoft DPG Convertisseur offre aux fans de Nintendo DS une bonne solution leur permettant de dé... Cliquez pour télécharger Xilisoft DPG Convertisseur GraphicsGale (2.01.01)GRAPHICSGALE (2.01.01)GraphicsGale est un logiciel de PixelArt avec de nombreuse fonctionnalités permettant de réalisé ... Cliquez pour télécharger GraphicsGale Architecte 3D (Platinum 2010)ARCHITECTE 3D (PLATINUM 2010)Architecte 3D Platinium vous permet de concevoir facilement les plans votre future maison, de l'é... Cliquez pour télécharger Architecte 3D TeamViewer 5 (TeamViewer 5)TEAMVIEWER 5 (TEAMVIEWER 5)Dépanner un ami,expliquer une manipulation devient un jeu d'enfant.
Prise en main d'un autre ord... Cliquez pour télécharger TeamViewer 5
|