Codes sources C#

Ajouter un nouvel élément

Les performances du mois

Créer un mini Chat
2
PDF viewer sans PDF reader installé avec PDFLibNET
1
Afficher une barre de progression lors d'un téléchargement
3

ang MySQLWrapper - Bibliothèque pour MySQL

Licence : Autre
Bibliothèque qui permet d'utiliser plus facilement MySQL en C#.Elle permet les choses suivante :

- Créer / supprimer / ... des base de données.
- Effectuer un back-up d'une base de donnée.
- Ajout / Création / Update / ... des tables.
- Gérer pas mal d'erreur.
- Facilite certaines conversion C# => SQL (Blob ,DateTime, etc...)

Elle est fournit avec un exemple qui montre comment faire divers actions.

C'était a la base une DLL personnelle que j'ai voulu mettre a profit pour ceux qui veulent effectuer des requêtes MySQL très simplement.Elle est donc susceptible d'être mise a jour.

Nécessite que le MySQL Connector soit installé.

N'hésitez pas a me contacter si il y a des questions

ang Utilisation de Google Maps avec distance et durée de trajet

Licence : Autre
Cette application permet de voir comment on interroge le web service de Google Maps afin d'obtenir la durée et la distance d'un trajet , selon le mode de voyage.
Puis comment récupérer les informations envoyer par celui-ci.

ang PDF viewer sans PDF reader installé avec PDFLibNET

Licence : Gratuit
J'ai réalisé un petit userControl (winform ) pour lire et afficher un PDF sans avoir besoin d'un PDF reader installé en utilisant PDFLibNET ;cette application permet :
- passer d'une page à une autre (next/previous )
-allez à une page.
-imprimer le doc


NB: le code source doit être compiler en x86 car la PDFLibNET est en x86.

ang Application à instance unique en C#

Licence : Libre
Les utilisateurs de VB.NET peuvent faire des applications Windows Forms avec une seule instance de l'application à la fois. Pour cela, dans leur propriété de projet sous l'onglet "Application", il leur suffit juste de cocher la case "Application à instance unique" dans le groupe "Propriétés de l'infrastructure d'application Windows" et le tour est joué.
Après, vous allez me dire qu'on peut toujours faire cela à l'aide d'un Mutex... mais avec une telle solution, on ne peut pas gérer la couche supplémentaire qui permet, dans le cas où l'on clique à nouveau sur l'exécutable, d'exécuter un code dans l'application déjà lancée comme par exemple restaurer la fenêtre principale de l'application déjà lancée à l'écran. Les utilisateurs de VB.NET peuvent faire cela aussi avec Windows Forms (mais uniquement Windows Forms d'ailleurs).
Pour cela, ils cliquent sur le bouton "Afficher les événements de l'application" et dans la classe générée, ils s'abonnent à l'événement "StartupNextInstance".

Les utilisateurs de C# n'ont pas ce privilège... A priori!

Je vais vous montrer le code qui vous permettra d'avoir accès aux mêmes privilèges en C#!

Ci-joint, une solution qui contient un exemple écrit en C# pour Windows Forms et même un exemple pour WPF!

Tout d'abord, il vous faut inclure la référence d'assembly "Microsoft.VisualBasic".

Ensuite, il faut, dans la propriété du projet, changer l'objet de démarrage.

Il y a une classe à dériver dans tous les cas : c'est "Microsoft.VisualBasic.ApplicationServices.WindowsFormsApplicationBase". Dedans, j'y ai mis ma fonction Main.

Pour le reste des détails, je vous laisse regarder le code source.

Bonne lecture à vous!

ang Fenêtre WPF sans barre de titre et redimensionnables, et autres fonctionnalités

Licence : Libre
En WPF, avec une fenêtre de base, il n'est pas possible de faire les choses suivantes facilement :
- Etre sans barre de titre redimensionnable
- gèrer directement les commandes "SystemCommands" : en effet, les commandes systèmes telles que "SystemCommands.CloseWindowCommand" existent mais ne sont pas gérées directement par WPF.
- Etre parent d'une fenêtre système non disponible sur WPF telle que "FolderBrowserDialog" par exemple.

Le code source que je met à disposition répond à toutes ces problématiques avec la classe "BaseWindow". Pour avoir accès à toutes ces nouvelles possibilités, il suffit d'indiquer que votre fenêtre WPF hérite de ma classe "BaseWindow" :
- la classe BaseWindow gère le redimensionnement lorsque la fenêtre à un style window "None" (c'est à dire sans bordure et sans barre de titre). Il est alors possible entre autres de customiser le look de la fenêtre en enlevant complétement la barre de titre et les bordures tout en laissant la possibilité qu'elle soit redimensionnable!
- la classe BaseWindow gère toute seule la possibilité d'avoir des boutons à commande système. Lorsque vous rajoutez vos boutons, vous pouvez par exemple associer un bouton à la commande "SystemCommands.CloseWindow" et la fermeture à partir de ce bouton est gérée automatiquement; vous pouvez même personnaliser l'interdiction à l'utilisateur de fermer la fenêtre tout en laissant la possibilité au programme de le faire.
- La classe BaseWindow implémente l'interface "System.Windows.Forms.IWin32Window" ce qui lui permet d'être utilisée comme fenêtre parent pour un "FolderBrowserDialog" par exemple.

Le code que je fournis montre donc aussi les exemples d'utilisation.

ang IHM - Formulaire : utilisant de nombreux composants (boutons radio, checkbox, scrollbar ...).

Licence : Autre
Création d'un formulaire avec un maximum de composant et une utilisation simple pour apprendre à concevoir des formulaires et IHM.

Contraintes : Créer via Visual C#.
Mais facilement adaptable pour une utilisation en console.

En plus de ces sources je vous conseille vivement de lire le tutoriel de Monsieur Tahé Serge :
http://tahe.developpez.com/dotnet/csharp/

ang Protéger mes données de configuration dans une dll compilée

Licence : Gratuit

  • Recharger les données de configuration.

  • Protéger les données de configuration dans une dll compilée

ang Détection des périphériques de stockage USB à l'aide de WMI

Licence : Gratuit
Voici un exemple permettant de récupérer la liste des lecteurs logiques se trouvant sur des disques dur ou clés connectés via USB en utilisant WMI (Windows Management Instrumentation)

ang Exemple d'utilisation du BackgroundWorker

Licence : Libre
Petite application (en WPF) permetant de démarrer et d'arrêter un traitement asynchrone utilisant un composant BackgroundWorker qui affiche la progression via une ProgressBar.

ang zone de notifications

Licence : Gratuit
Cette classe permet de créer une zone de notification (par code) de votre application en utilisant le composant System.Windows.Forms.NotifyIcon du Framework

ang Lecteur de flux RSS

Licence : Autre
Cette source permet de voir comment créer un simple lecteur de flux RSS , de récupérer les différentes informations et les afficher.

ang La simulation de navigation dans internet explorer avec Interop.SHDocVw

Licence : Gratuit
Piloter internet explorer avec c#.
- Remplir input.
- Clic bouton/checkbox /radiobox

ang Afficher et imprimer des PDF avec le composant d'Adobe Acrobat Reader en C#

Licence : Libre
Utiliser le composant COM fournit lors de l'installation d'Adobe Acrobat Reader pour afficher et imprimer un PDF dans un projet en C#

ang BACKUP AND RESTORE DATABASE

Éditeur : SADDOUD ANIS + 2 Mo
Bibliothèque de classes permettant la sauvegarde et la restauration de vos bases de données PostgreSql.
la bibliothèque est facilement intégrable dans vos application. il n'est pas nécessaire de l'installer au niveau du serveur. même au sein de la station cliente elle peut effectuer la sauvegarde.
Cette solution utilise des fichiers propres à postgreSql. ces fichier devrons être ajouté au dossier d'installation lors de l'opération de déploiement. cest fichiers peuvent être récupérés à partir du dossier d'installation de postgreSql.

ang PDF - ITEXTSHARP - Copie d'un PDF entier.

Licence : Gratuit
Exemple de copie d'un document PDF complet avec la librairie itextsharp

ang Récupérer l'imprimante par défaut.

Licence : Gratuit
Petit programme permettant de récupérer l'imprimante par défaut du PC

ang Recherche de fichiers en fonction de l'extension en récursif avec le BackGroundWorker

Licence : Libre
Exemple d'utilisation du BackGroundWorker pour une recherche de fichier avec les méthodes Directory.GetFiles.

Permet de rechercher tous les fichiers d'une certaine extension dans tous les répertoires contenu dans un répertoire de départ et d'en afficher le chemin dans une listbox.

ang Exemple d'un devoir de licence 3 : Généricité, contraintes, exceptions

Éditeur : VIEUX Nicolas + 3 Ko
Voici une TODO-LIST de ce que je devais réaliser.
Très bon exercice de préparation avant contrôle et pour bien comprendre ces divers mécanismes.

TODO 1 :
- Ecrire une classe Ensemble qui contiendra un nombre fini d'éléments, que l'on précisera à la construction de l'ensemble.
- Le type des éléments de la classe est défini de façon générique.
- Le constructeur devra créer la structure de données correspondante.

TODO 2 :
- Proposez dans cette classe Ensemble une méthode init pour initialiser tous les éléments de l'ensemble.
- Cette méthode init n'a qu'un seul paramètre :
Une fonction à un argument de type entier et qui retourne un objet de type générique.
La méthode init appelle cette fonction pour chacun des indices de l'ensemble,
et affecte le composant correspondant à l'indice, à la valeur résultat de la fonction.

TODO 3 :
- On utilisera cette classe pour gérer un ensemble d'entiers.
- Initialiser l'ensemble en utilisant une fonction de calcul du carré d'un entier.

TODO 4 :
- Ecrire dans la classe ensemble, une fonction appartient qui renvoie vrai si son paramètre appartient à l'ensemble et faux sinon.
- Ecrire un indexeur sur la classe Ensemble qui permet un accès aux éléments en lecture et en écriture.
- Lorsqu'on l'utilise en écriture, on vérifiera que l'élément à affecter n'appartient pas déjà à l'ensemble.
- Si il appartient à l'ensemble, une exception ExisteException (classe à définir) est levée.

TODO 5 :
- On souhaite maintenant ajouter à la classe Ensemble une fonction Affiche qui parcourt
l'ensemble et affiche chaque élément en appelant sur cet élément une fonction Affiche.
- Pourra-t-on maintenant utiliser cette classe générique sur tout type d'élément ?
Oui car c'est le but de la généricité.
- Comment restraignez-vous l'utilisation à la classe générique
(au niveau de la définition de la classe générique et au niveau de la classe que l'utilisateur spécifie en paramètre) ?
Avec les contraintes (where Type ... class (pour type ref), struct (pour type struct), Ensemble (dériver de la classe)).

Bien cordialement.

ang Envoyer des E-mails

Licence : Autre
Voici un petit bout de code qui montre comment envoyer un mail , ainsi que le personnaliser.

Configuré de base pour Gmail mais il est possible d'utiliser autre chose en y mettant le serveur SMTP.

ang Exercice de base 1 :

Éditeur : VIEUX Nicolas +
Ecrire une classe PileDEntiers permettant de gérer une pile d’entiers. Ces derniers seront
conservés dans un tableau.
Proposer un constructeur qui alloue un emplacement pour n entiers. Si la pile est construite
sans argument, la taille sera de 20 entiers.
Définir les méthodes et opérateurs suivants :
void empile (int p) ajoute l'entier p sur la pile,
int depile ( ) fournit la valeur de l'entier situé en haut de la pile, en le supprimant
de la pile,
bool pleine ( ) fournit 1 si la pile est pleine, 0 sinon,
bool vide ( ) fournit 1 si la pile est vide, 0 sinon,
void affiche() affiche l’ensemble des entiers de la pile.
Ajouter une propriété qui permet de connaître le nombre d’entiers dans le tableau.
Ajouter l’opérateur suivant :
p + n qui incrémente chaque entier de la pile de n.

24 éléments

 
 
 
 
Partenaires

PlanetHoster
Ikoula