Jump to content

Search the Community

Showing results for tags 'c#'.

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


Forums

  • Discussions communautaires
    • Annonces importantes
    • Suggestions
    • Postulation
    • Présentation des membres
    • Discussions générales
    • Multimédias
    • Jeux vidéos
    • Actualités
    • Aide / Support
    • Études
    • Archives
  • Informatique
    • Projets des membres
    • Autres / Divers / Découvertes
    • Crypto-monnaie(s)
    • Hardware / Electronique
    • Réseaux
    • Gestion de serveur
    • Système d'exploitation : Smartphone
    • Système d'exploitation : Ordinateur
  • Programmation
    • Projets des membres
    • Développement web
    • Développement de logiciels
    • Développement d'applications pour smartphones
    • Outils du développeur
    • Aide / Support
  • Emulation
    • Aion
    • Arma III
    • Dofus
    • Dragonica
    • Emulateurs consoles
    • S4 League
    • FlyFF
    • Grand Theft Auto
    • Minecraft
    • Tera
  • Partenariats
    • <b>WoW Emu - La communauté émulation WoW</b>
    • <b>ActuGaming</b>
    • <b>H-Wars</b>
    • <b>EasyChat - Solution gratuite de chat client et serveur (anciennement Melichat)</b>
    • <b>Le Monde des Lunes</b>
    • <b>DansTonCode</b>

Find results in...

Find results that contain...


Date Created

  • Start

    End


Last Updated

  • Start

    End


Filter by number of...

Joined

  • Start

    End


Group


Skype


Site web


AIM


MSN


ICQ


Yahoo


Jabber


Tox


Centres d'interêts


Localisation


Study level

Found 5 results

  1. Bonjour, bonsoir ! Aujourd'hui nous allons apprendre à utiliser SQLite en C#, pour cela je divise le tutoriel en trois grandes parties : I • SQLite, c'est quoi ? II • Pour quelles utilisations ? III • Utiliser SQLite I • SQLite, c'est quoi ? SQLite est une bibliothèque écrite en C qui propose un moteur de base de données relationnelle accessible par le langage SQL. SQLite implémente en grande partie le standard SQL-92 et des propriétés ACID. Contrairement aux serveurs de bases de données traditionnels, comme MySQL ou PostgreSQL, sa particularité est de ne pas reproduire le schéma habituel client-serveur mais d'être directement intégrée aux programmes. L'intégralité de la base de données (déclarations, tables, index et données) est stockée dans un fichier indépendant de la plateforme. D. Richard Hipp, le créateur de SQLite, a choisi de mettre cette bibliothèque ainsi que son code source dans le domaine public, ce qui permet son utilisation sans restriction aussi bien dans les projets open source que dans les projets propriétaires. Le créateur ainsi qu'une partie des développeurs principaux de SQLite sont employés par la société américaine Hwaci. SQLite est le moteur de base de données le plus distribué au monde, grâce à son utilisation dans de nombreux logiciels grand public comme Firefox, Skype, Google Gears, dans certains produits d'Apple, d'Adobe et de McAfee et dans les bibliothèques standards de nombreux langages comme PHP ou Python. De par son extrême légèreté (moins de 300 Kio), il est également très populaire sur les systèmes embarqués, notamment sur la plupart des smartphones modernes : l'iPhone ainsi que les systèmes d'exploitation mobiles Symbian et Android l'utilisent comme base de données embarquée. Au total, on peut dénombrer plus d'un milliard de copies connues et déclarées de la bibliothèque. (Source : Wikipedia) Nous allons aujourd'hui nous intéresser au wrapper .Net de SQLite. II • Pour quels utilisations ? Comme dit plus haut, SQLite permet d'accéder à une base de données uniquement en local, depuis un fichier, ce qui limite donc les utilisations. Vous pourrez utiliser cette librairie donc pour des projets locaux comme par exemple gérer un système de compte sur une seule machine, stocker des résultats de calculs ou encore stocker des scores pour un jeu solo... Cependant utiliser SQLite pour des jeux ou applications diverses en ligne n'est pas possible directement, il va falloir passer par un serveur. Des connaissances sur le SQL sont fortement recommandées, si vous n'y connaissez rien, allez lire le tutoriel sur OpenClassRoom ou sur n'importe quel autre site. III • Utiliser SQLite Importer la librairie Premièrement il va vous falloir la librairie, télécharger là ici : System.Data.SQLite.dll Une fois votre projet crée sous Visual Studio, importer cette librairie à votre celui-ci, pour cela, clic droit sur le projet puis "Importer une référence". Pour finir l'importation ajoutez ceci au début de la classe où vous voulez utiliser SQLite : using System.Data.SQLite; Créer un fichier de base de données Chaque base de données aura son propre fichier, pour créer un fichier de base de données, nous allons utiliser la méthode statique CreateFile contenue dans la classe SQLiteConnection : SQLiteConnection.CreateFile("MaBaseDeDonnees.sqlite"); J'utilise ici l'extention .sqlite, mais vous pouvez mettre ce que vous voulez ! (.db, .blabla) Connexion à la base de données Avant de pouvoir utiliser cette base de données, il va falloir se connecter à celle-ci, pour cela nous allons déclarer une nouvelle SQLiteConnection : SQLiteConnection maConnexion; Puis l'instancier et ouvrir la connexion : maConnexion= new SQLiteConnection("Data Source=MaBaseDeDonnees.sqlite;Version=3;"); maConnexion.Open(); Pour fermer la connexion : MaBaseDeDonnees.Close(); N'oubliez pas de la fermer une fois que vous n'en avez plus besoin Créer une table Désormais nous allons utiliser le SQL, nous allons créer une table qui contiendra les meilleurs scores pour un jeu, donc un nom de type "text" et un score de type "int" : string sql = "create table meilleursscores (nom text, score int)"; Nous devons créer un objet de type SQLiteCommand pour pouvoir l'éxécuter : SQLiteCommand commande = new SQLiteCommand(sql, maConnexion); Puis nous allons éxecuter cette commande : command.ExecuteNonQuery(); Remplir la table Nous allons maintenant remplir cette table comme ceci : string sql = "insert into meilleursscores (nom, score) values ('VFRZ', 100)"; SQLiteCommand commande = new SQLiteCommand(sql, maConnexion); commande.ExecuteNonQuery(); Lire les meilleurs scores depuis la table Pour lire la table c'est un peu différent que pour la remplir ou la créer. Premièrement, la commande select : string sql = "select * from meilleursscores order by score desc"; SQLiteCommand commande = new SQLiteCommand(sql, maConnexion); Puis il va falloir utiliser un SQLiteDataReader pour utiliser cette commande : SQLiteDataReader reader = command.ExecuteReader(); while (reader.Read()) Console.WriteLine("Nom: " + reader["nom"] + "\tScore: " + reader["score"]); J'espère que ce tutoriel vous a été utile ! N'hésitez pas à poser des questions. VFRZ
  2. Salut, oui sa fait longtemps que je suis absents, mais je suis la maintenant. Je vous présente un petit tchat que j'ai codé vite fait........... Petit photo Les source ! https://www.dropbox.com/sh/bq3q096cx2eojm1/AACtH6ijKqBOKl-JTXIt0uLLa?dl=0
  3. Bonjour, Aujourd'hui je vous liste plusieurs tutoriels, livres pour apprendre le C# de A à Z. La plupart des livres sont en anglais car les livres français sont généralement de moins bonne qualité. Sur Melinyel : • [Vidéo] C# de A à Z : - Episode 1 • Introduction - Episode 2 • Prérequis Livres : • TutorialsPoint C# Programming, livre au format PDF gratuit, très bien pour débuter et couvre pas mal d'aspect du C# (Anglais). - Lien PDF : http://www.tutorialspoint.com/csharp/csharp_tutorial.pdf • C# 5.0 in a nutshell, un grand classique très complet (Anglais). - Lien Amazon : http://www.amazon.fr/5-0-Nutshell-5e-Joseph-Albahari/dp/1449320104/ - Lien PDF : https://drive.google.com/file/d/0B9v4gXG6wtN7NU4tVVFrVkJkUEU/view • Pro C# 5.0 and the .Net 4.5 Framework, un livre très complet (Anglais). - Lien Amazon : http://www.amazon.fr/Pro-5-0-net-4-5-Framework/dp/1430242337/ - Lien PDF : http://www.clicktocontinue.com/books/ProCSharp5AndTheNET4.5Framework.pdf • Cours OpenClassRoom en format PDF (Français), bien pour débuter mais pas complet. - Lien Amazon : http://www.amazon.fr/Apprenez-%C3%A0-d%C3%A9velopper-en-C/dp/B00VALU8YG/ - Lien PDF : https://user.oc-static.com/pdf/523498-apprenez-a-developper-en-c.pdf • C# 6 et Visual Studio 2015 - Les fondamentaux du langage, je ne sais pas ce qu'il vaut, mais c'est un des rares livres en C# en français. - Lien Amazon : http://www.amazon.fr/Visual-Studio-2015-fondamentaux-langage/ Sites Web : • Developpez, très complet. - Lien : http://dotnet.developpez.com/csharp/ • OpenClassRooms, le fameux, plusieurs tutoriels sur le C# sont présents, bien pour débuter mais pas très complet (uniquement pour les débutants qui ne comprennent pas l'anglais, à éviter si possible). - Apprenez à développer en C# : https://openclassrooms.com/courses/apprenez-a-developper-en-c - Apprenez à développer en C# sur .Net : https://openclassrooms.com/courses/apprenez-a-programmer-en-c-sur-net - Programmez en orienté objet avec C# : https://openclassrooms.com/courses/programmez-en-oriente-objet-avec-c • Java2S, "catalogue" du C#, pleins d'exemples sur pleins de sujets. - Lien : http://www.java2s.com/Tutorial/CSharp/CatalogCSharp.htm • RB Whitaker's Wiki, bien pour débuter. - Lien : http://rbwhitaker.wikidot.com/c-sharp-tutorials Si vous avez des suggestions de livres/sites web, n'héistez pas Bonne lecture et bon apprentissage ! VFRZ,
  4. davydavek

    Les fichiers ZIP

    Comme vous le savez surement, le framework .NET est une immense collection de classes que nous, les développeurs, utilisons pour créer nos programmes. Le framework est divisé en plusieurs Namespace, celui que nous utiliserons dans ce tutoriel est System.IO.Compression. Il vous faudra donc ajouter deux références (Explorateur de solution -> Références -> Ajouter Référence) Puis vérifiez que les références ont bien été ajoutées: Maintenant il ne vous reste plus qu'a ajouter un using tout en haut de votre code: using System.IO.Compression; (Nous utiliserons aussi les namespaces System et Sytem.IO) Pour commencer, nous avons les fonctions de la classe statique ZipFile : -Prend tout les fichiers contenus dans le dossier "folder", puis les compresses dans le fichier "compressed.zip" ZipFile.CreateFromDirectory("folder", "compressed.zip"); Avec l'enumeration CompressionLevel, il est possible d'optimiser la compression, sois pour la vitesse, sois pour la taille du fichier. -Extrait les fichiers contenus dans le fichier "compressed.zip" vers le dossier "folder" ZipFile.ExtractToDirectory("compressed.zip", "folder"); Ces deux fonctions ont une surchage qui prend en compte l'encodage, l'encodage de base est UTF-8 donc si vous avez besoin d'un encodage différent, il vous suffit de le passer en paramètre. Maintenant passons au choses un peu plus complexes, la classe ZipArchive vas nous permettre d'avoir plus de contrôle sur notre archive. Cette classe implémente IDisposable, il faut donc l'entourer d'un bloc "using", ou manuellement appeler Dispose() quand vous avez fini de l'utiliser. Tout d'abord, pour créer une instance ZipArchive, il faut ouvrir un Stream qui va nous permettre de lire le fichier. Cet exemple ouvre le fichier "test.zip". affiche le nom de tout les fichiers ainsi que le ratio de compression: using (Stream fs = File.OpenRead("test.zip")) using (var archive = new ZipArchive(fs, ZipArchiveMode.Read)) foreach (ZipArchiveEntry entry in archive.Entries) Console.WriteLine("{0} : {1}%", entry.Name, Math.Ceiling((double)entry.CompressedLength / (double)entry.Length * 100)); La classe ZipArchive nous permet de créer, de lire et aussi de mettre a jour des archives ZIP. -Création: ZipArchive archive = ZipFile.Open("name.zip", ZipArchiveMode.Create); -Lecture: ZipArchive archive = ZipFile.Open("name.zip", ZipArchiveMode.Read); // equivalent ZipArchive archive = ZipFile.OpenRead("name.zip"); -Mise a jour: ZipArchive archive = ZipFIle.Open("name.zip", ZipArchiveMode.Update); Dans l'archive, chaque fichier est représenter par une ZipArchiveEntry, qu'on peut obtenir grâce a la proprietee Entries de la classe ZipArchive. On peut récupérer un objet ZipArchiveEntry en choisissant un existant: var entry = archive.GetEntry("file.txt"); Ou en créant une nouvelle: var entry = archive.CreateEntry("file.txt"); La classe ZipArchiveEntry contient des propriétés publiques qui exposent des informations a propos du fichier (nom, taille (et taille après compression), date de la dernière écriture ...) Elle contient aussi plusieurs fonctions tel que Delete (supprime le fichier de l'archive) et ExtractToFile(extrait le fichier compressé vers un fichier décompressé hors de l'archive). La fonction Open revois un objet Stream, qui va nous permettre de modifier directement le contenu du fichier. Exemple qui créé une archive "test.zip", et qui y ajoute le fichier "foo.txt". (c'est possible de le faire plus facilement en utilisant archive.CreateEntryFromFile, mais je vais utiliser cet exemple pour vous montrer comment utiliser l'objet Stream): using (ZipArchive archive = ZipFile.Open("test.zip", ZipArchiveMode.Create)) { var entry = archive.CreateEntry("foo.txt"); using (Stream s = entry.Open()) { byte[] data = File.ReadAllBytes("foo.txt"); s.Write(data, 0, data.Length); } } // Reouvre l'archive pour confirmer que le fichier est bien la, et affiche sa taille. using(ZipArchive archive = ZipFile.OpenRead("test.zip")) { var entry = archive.GetEntry("foo.txt"); Console.WriteLine("Name: {0}\r\nOriginalSize: {1}\r\nCompressedSize: {2}", entry.Name, entry.Length, entry.CompressedLength); } Je pense avoir fait le tour du sujet, j’éditerais peut être avec une section a propos de la classe GZipStream (qui permet de compresser/décompresser en mémoire, sans fichiers). Je vais aussi écrire un petit tool qui permetra de gérer les fichiers ZIP en ligne de commande. N’hésitez pas si vous avez des questions, ou des remarques a faire ! Davy
  5. Bonsoir ! Voilà, actuellement j'ai un problème avec une conversion d'une de mes variables en sha-256, ce qui me bloque complètement pour la suite de mon programme. J'aimerais un résultat équivalent à celui là (prenons l'exemple de : test) 9f86d081884c7d659a2feaa0c55ad015a3bf4f1b2b0b822cd15d6c15b0f00a08 Hors, le résultat que j'obtient avec mon script actuel est quelque chose de similaire à ça : /lIGdrGh2T2rqyMZ7qA2dPNjLq7rFj0eiCRPXrHeEOs= Autant vous dire que ce n'est pas bon .. x) Il me faut impérativement un résultat avec des lettres en minuscules, ce que je n'arrive pas à obtenir avec de nombreuses tentatives, voilà le bout de programme qui me fait le conversion. SHA256Managed hash = new SHA256Managed(); byte[] hashvalue = hash.ComputeHash(new UnicodeEncoding().GetBytes(s)); string hashresultat = System.Convert.ToBase64String(hashvalue); Console.Write(hashresultat); Est-ce que quelqu'un parmi vous aurait une idée ? car là je suis un peu bloqué. Merci d'avance !
×
×
  • Create New...