Aller au contenu

davydavek

Melinyen
  • Compteur de contenus

    129
  • Inscription

  • Dernière visite

  • Days Won

    5

davydavek last won the day on January 13 2015

davydavek had the most liked content!

À propos de davydavek

  • Date de naissance October 31

Informations du profil

  • Genre
    Homme
  • Centres d'interêts
    Programmation, Sécurité informatique, foot, études.
  • Localisation
    Visual Studio

Méthodes de contact

Visiteurs récents du profil

2 198 visualisations du profil

davydavek's Achievements

Newbie

Newbie (1/14)

27

Réputation sur la communauté

  1. davydavek

    Les fichiers ZIP

    Que veut tu dire par "dans un fichier sélectionné"?
  2. Start8 est littéralement le premier logiciel que j'ai installer 10 min après le premier allumage de mon ordi
  3. CCleaner fait un nettoyage plus complet (et a beaucoup plus d'options). AdwCleaner est fait pour enlever les adware (d'ou son nom). par exemple les petits logiciels qui se lancent au démarrage alors que tu ne te souvient pas de les avoir installer, ou encore les toolbar de pub dans les navigateurs.
  4. Bienvenue, je me souviens de ton poste de recrutement de team sur CG3,qu'en est-il devenu ?
  5. fgetc retourne un int directement, et atoi requiert un char*, donc dans ce cas ce n'est pas vraiment utile de l'utiliser
  6. De rien, n’hésites pas a demander de l'aide si tu as d'autres questions
  7. Les chiffres de 0 a 9 inclusif sont au indexes 48-57 de la table ASCII, il suffit donc de soustraire 48 au caractère. ex: '1' = 49 49 - 48 = 1 '6' = 54 54 - 48 = 6
  8. Je pense que le problème vient du premier argument de ta fonction, ce n'est pas un FILE*, mais un tableau de 400 FILE*. Je pense que enlever le " [400] " après "monFichier" devrait le résoudre.
  9. davydavek

    NetZip

    Hello, suite a mon récent tutoriel a propos des fichiers ZIP, j'ai eu envie de faire un petit projet pour tout mettre en pratique. C'est un simple utilitaire en ligne de commande, conçu pour être facile a utiliser. Chaque commande (6 au total) exécute une action précise, et rien d'autre- vous pouvez aussi soumettre des arguments au commandes. Liste des commandes/ sous commandes Lors du lancement, il faut spécifier un chemin vers le fichier .zip (exception: la commande help), puis le nom du fichier sera sauvegarder dans la mémoire du programme donc le même fichier sera utiliser automatiquement pour les commandes suivantes, jusqu’à ce qu'un nouveau fichier sois spécifier ou la fermeture du programme. Exemples d'utilisations: Je l'ai dev assez rapidement pendant le weekend a la fin des vacances, donc j'aurais besoin de retour pour pouvoir corriger des bugs le plus vite possible. GitHub: https://github.com/DavyWk/NetZip DL:http://davydavek.olympe.in/Projects/NetZip/NetZip.exe VT: https://www.virustotal.com/en/file/c5d32b2918c8c5f532e292ce676067c6ff31d9020b9d2c3bfe082a5660772e91/analysis/1420844336/ Davy
  10. davydavek

    --

    Je suppose que oui, étant donné que Tox utilise une connexion cryptée, et pas Skype.
  11. davydavek

    POPLib

    You're welcome
  12. 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
  13. Ça fonctionne aussi sur W8, mais perso je trouve ça inutile, a quoi bon afficher tout les programmes simultanément ? Ah et aussi, je ne sais pas si ça arrive a d'autres personnes mais perso j'ai un tic qui me fait redimensionner les fenêtres de différents programmes pour avoir une taille exacte (a quelque pixel près), et dès que la taille change. je perd mes repères dans le programme
  14. Avec puush tu peut aussi les enregistrer directement sur ton PC et donc les reupload si tu en as vraiment besoin. Perso je ne l'utilise que pour monter des screens rapidement sur Skype ou autre système d'IM donc ça ne me dérange pas.
×
×
  • Créer...