Vous devez être connecté et donner une réaction ( Like ) au sujet pour débloquer les liens de téléchargements...

Wolfae

Member
  • Content Count

    160
  • Joined

  • Last visited

  • Points

    250 [ Donate ]

Community Reputation

0 Neutre

About Wolfae

  • Rank
    Spice&Wolf

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

  1. Derien. (: @Poh : Oui, même chose pour le VB.Net. Faut juste "traduire" le tout.
  2. Bienvenue, -Néo- ; J'espère que la communauté de Funky-Emu te plaira. Cordialement, ~ Netwolf /C# Dev/ Heaven Team 2012
  3. Bonjour/Bonsoir à tous. Tutoriel fait par demande de kiraxel. Section Programmation -> .Net Framework -> C# -> [Tuto]Demandez, et je le ferai. Note: Ce tutoriel étant majoritairement des bouts de codes expliqués, il n'y aura pas d'images, simplement parce qu'il n'est pas destiné à des gens qui viennent juste d'installer Visual Studio ou leur IDE favori. Ce tutoriel est destiné aux intermédiaires (Plus ou moins, pas vraiment besoin de grandes connaissances, le tutoriel est bien guidé, mais je préfère que vous compreniez tout ) et a pour but de créer un Uplauncher, avec une mise à jour automatique (Avec barre de pourcentage) et des news. Pour cela, nous allons d'abord créer notre projet que l'on va nommer UplauncherTuto. Mettez-y : - Un Listbox (Pour contenir les news). [Nom : lbNews] - Un bouton Jouer. [Nom : btnPlay] - Un bouton Site. [Nom : btnSite] - Une barre de progrès. (Progressbar) [Nom : progressBar] Nous n'allons pas parler de design cette fois-ci, mais seulement du code behind. I ) Mise à jour Automatique Bref! Commençons. D'abord, allez vers la méthode créée au début, et rajoutez-y : btnPlay.Enabled = false; // L'utilisateur ne peut plus cliquer sur jouer jusqu'à ce qu'on remet cette valeur à true. Bien, maintenant, l'utilisateur ne peut pas cliquer sur jouer avant qu'on ne vérifie la version actuelle, et la version du client. Ajoutez une directive using : using System.Net; using System.IO; Et une variable string private pour toute la classe : private string VersionActuelle; Nous allons créer une méthode, plus précisément une bool : private bool VerifyVersion() { StreamReader VersionReader = new StreamReader("ULDATA/version.txt"); string VersionClient = VersionReader.ReadToEnd(); // Lit le fichier version.txt dans le dossier ULDATA (Uplauncher Data) } Pour l'instant, on peut lire la version du client. Maintenant, on doit lire la version actuelle, ce qui requiert une nouvelle méthode pour garder un code propre. private string ReadRemoteTextFile(string Url) { Uri uri = new Uri(Url); // Nouvelle URI à partir du paramètre, Url. WebRequest wRequest = WebRequest.Create(uri); // On crée une requête. WebResponse wResponse = wRequest.GetResponse(); // Sa réponse. Stream ResponseStream = wResponse.GetResponseStream(); // En stream. StreamReader sReader = new StreamReader(ResponseStream); // Un "lecteur" de stream.. string Temp = sReader.ReadToEnd(); // Qui lit le stream et nous donne le string. return Temp; } Voilà. Cette func nous retourne un string qui est le contenu du fichier texte. Continuons ensuite avec VerifyVersion, en y ajoutant : VersionActuelle = ReadRemoteTextFile("[Hidden Content]"); // Lien à modifier if(VersionActuelle == VersionClient) return true; else return false; OK. Nous avons fait, désormais, la vérification de la version. Il nous manque une chose : Le téléchargement en soi! Alors, nouvelle méthode encore une fois. private void Download(string Url, string DownloadTo) { WebClient wClient = new WebClient(); // On crée un WebClient, qui se chargera du téléchargement. wClient.DownloadProgressChanged += new DownloadProgressChangedEventHandler(UpdateProgressChange); // On lui ajoute le handler de l'évènement. wClient.DownloadFileCompleted += new System.ComponentModel.AsyncCompletedEventHandler(UpdateDone); // L'autre évènement (Complétion) wClient.DownloadFileAsync(new Uri(Url), DownloadTo); // On commence le téléchargement depuis l'URI spécifiée, et le fichier sera mis dans le chemin DownloadTo. } Vous allez sûrement me demander où se trouve UpdateProgressChange et UpdateDone. Et bien, les voilà! UpdateProgressChange : C'est là où on modifie la barre de progrès. private void UpdateProgressChange(object sender, DownloadProgressChangedEventArgs e) { progressBar.Value = e.ProgressPercentage; // Simple! } Maintenant, UpdateDone : C'est là où on notifie le joueur que la mise à jour est terminée, et qu'il peut désormais jouer. Mais aussi, on modifie le fichier version.txt. private void UpdateDone(object sender, System.ComponentModel.AsyncCompletedEventArgs e) { MsgBox.Show("Mise à jour terminée! Vous pouvez désormais jouer.", "Notification"); // Message. btnPlay.Enabled = true; // Vous vous souvenez de ça? On le remet à true. //NOTE : Si vous avez un .rar à télécharger, et vous voulez l'extraire, utiliser SharpZipLib. Je ne ferai pas de tuto pour l'instant sur cela. File.Delete("ULDATA/version.txt"); StreamWriter sWriter = File.CreateText("ULDATA/version.txt"); sWriter.Write(VersionActuelle); } Et voilà! Mise à jour finie. Passons aux NEWS. II ) News Requis : MySql.Data.Dll - Ajout d'une référence à MySql.Data.Dll [Google it] D'abord, ajoutons une directive using : using MySql.Data.MySqlClient; Et ensuite, nous allons ajouter une variable string private pour toute la classe : //A placer juste après le { de class. private string TheConnectionString = "Server=AddresseServeur;Database=NomDeLaBDDNews;Uid=NomdUtilisateur;Pwd=MotDePasse;"; Oui, vous devez entrer l'addresse de votre serveur, le nom de la BDD, le nom d'utilisateur, et le mot de passe. Bref. Avançons. Une autre méthode : private List ReadNews() { string SqlText = "SELECT * FROM nom_table"; // Texte de la commande SQL, List Templist; // String list dont on aura besoin. MySqlConnection SqlConnection = new MySqlconnection(TheConnectionString); MySqlCommand SqlCommand = new MySqlCommand(SqlText, SqlConnection); MySqlDataReader result = SqlCommand.ExecuteReader(); while (Result.Read()) { Templist.Add((string)Result["titre"]); // Ajoute, dans la liste, le titre. "titre" à changer. } return Templist; } OK. Plus qu'une seule chose... Revenons à la première, toute première méthode, celle générée par Visual Studio à la création de projet, et ajoutons-y, au tout début : List DataSrc = ReadNews(); lbNews.DataSource = DataSrc; // Ca, c'est pour les news! ^ Ajoutez, après btnPlay.Enabled = false, ceci : if (VerifyVersion()) btnPlay.Enabled = true; // Version actuelle, OK! else Download("lien", "maj.rar"); // Télécharger si la version n'est pas actuelle Bien! Mise à jour, et news terminés entièrement. III ) Trucs Maintenant, plus qu'à double-cliquer sur Jouer, et double-cliquer sur Site. Ca nous donnera les méthodes pour l'évènement clic de chacun. Pour celui de jouer, on ajoute : System.Diagnostics.Process.Start("dofus.exe"); Et pour celui de Site, on ajoute : System.Diagnostics.Process.Start("[Hidden Content]"); Maintenant, pour la méthode de début, on ajoute avant tout ce qu'il y a écrit : btnPlay.Click += new EventHandler(btnPlay_Click); btnSite.Click += new EventHandler(btnSite_Click); ET! On aura fini, notre Uplauncher. Voilà, j'espère que le tutoriel est compréhensible, je suis assez fatigué là :b Mais j'espère qu'il a été utile! Cordialement, ~ Netwolf /C# Dev/ Heaven Team 2012
  4. Baaasique, keyframe et changement de position de la caméra =) Mais pas mal, tout de même! (Bon, personnellement je n'ai pas vu la vid i_i Mais je suis sûr que ça aidera beaucoup.)
  5. Niveau requis : Intermédiaire Temps estimé : 30 minutes Bonjour, Ce nouveau 'chapitre' est fait par demande de 'shaip' (Si j'ai bien compris ta requête.. ><') et a comme sujet l'allocation de mémoire et le Ramasse-miettes. Le CLR fait son travail lui-même, et le fait mieux que nous; Laissez-le le faire si vous ne savez pas ce que c'est.. Tips & Tricks 1 : Using Tips & Tricks 2 : Dispose Cordialement, Heaven Team 2012
  6. Niveau requis : Intermédiaire Temps estimé : 30 minutes Bonjour, Je voudrais expliquer le fonctionnement du namespace System.Collections.Generic. Cordialement, Heaven Team 2012
  7. Niveau requis : Intermédiaire Temps estimé : 30 minutes Bonjour, Me revoilà avec un autre mini-tutoriel, cette fois sur le multi-threading en C#. Contrairement à ce que certains pensent, le multi-threading est assez simple, mais, une seule faute de votre part et vous voilà dans un trou profond. Ce tutoriel n'expliquera que les bases du multi-threading mais est essentiel si vous voulez arriver à quelque chose. En fait, les "Multithreaded applications" (Applications à threads multiples..), c'est bien, mais il est nécessaire de les utiliser seulement quand on en a besoin. Si par exemple, la méthode A utilise la variable publique PUBLICVAR, et la méthode B, qui fonctionne en même temps, sur un thread séparé, modifie PUBLICVAR... Je ne pourrai pas vous dire l'apocalypse qui se passerait. Conclusion du mini-tutoriel : Le threading est un atout intéressant mais à manipuler avec précaution (Plus ou moins) pour des applications performantes, rapides et qui ne bloquent pas l'utilisateur d'ouvrir, par exemple, les options. Cordialement, Heaven Team 2012
  8. Niveau requis : Intermédiaire Temps estimé : 30 minutes Bonjour, Dans ce mini-tutoriel un peu avancé, je voudrais vous expliquer un petit détail sur les string qui changera votre vie.. Ou plutôt, la vie de votre programme. Evidemment, presque tous d'entre nous créent une variable string, et la change. Cordialement, Heaven Team 2012
  9. T'as bien : -Placé un Shockwave flash Object sur la form ? -Mis la propriété Movie à loader.swf ? Si oui, merci de me MP avec ton Skype.
  10. Vive le UP... Cordialement, ~ Wolfae - WOLF Corporation Coders
  11. Ajout de quelques screenshots. Cordialement, ~Wolfae
  12. Ah oui, voilà. Mais ce n'est pas du tout le même tutoriel, ni semblable à celui-ci .
  13. @hasuke : Je ne l'ai jamais téléchargé, normalement, c'est là dès que tu télécharges Flash Player. @Richard : Plusieurs. 1- Windows Presentation Foundation : Trop du style. 2- Créer un système de ladder. 3- Ajouter quelconques systèmes (non-AS) facilement. @Kiba : Merci. @Minato : Je n'en ai jamais vu. ;-) @v4vx : J'en ferais, plus tard ; Je suis un peu 'occupé' maintenant mais j'en créerais. Merci. Cordialement, ~ Wolfae - WOLF Corporation Coders.
  14. Bonjour, bonsoir. Veuillez lire ceci d'abord : Ce tutoriel est destiné (En français) à Funky-Emu précisément. En Anglais, à la section internationale d'Ai-. Veuillez ne PAS reposter ce tutoriel peu importe où. La base, le fondement d'un client Dofus personnalisé est très simple à faire, étrangement, j'ai remarqué qu'il y a très peu de clients Dofus personnalisés. Donc voici les petites étapes à faire : 1 - Créez votre projet Windows Forms, nommons-le, ici, 'NotreClient'. 2 - Si vous avez Flash Player installé (Vous l'avez, sûrement), cliquez sur Projet-> Ajoutez une référence. Cliquez ensuite sur Parcourir, cherchez Program Files\WINDOWS\system32\Macromed\Flash et double-cliquez sur flash10n.ocx. 3 - Faites clic-droit sur Boîte à Outils, Choisir les Elements, puis cherchez 'Shockwave Flash Object'. Cliquez dessus. 4 - Mettez le contrôle Shockwave Flash Object dans la form. Dans ses propriétés, mettez Dock à Fill, et Movie à loader.swf. Générez sans lancer, mettez-le dans le dossier Dofus, exécutez.. Et voilà. Cordialement. ~Wolfae