IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C# Discussion :

Conversion de la taille


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre régulier
    Inscrit en
    Août 2010
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Août 2010
    Messages : 7
    Par défaut Conversion de la taille
    Bonjour tout le monde,
    je travaille actuellement sur un projet c# et j'ai le probleme suivant:
    a partir d'une requete utilisant WMI j'obtiens plusieurs information sur le DD :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ManagementObjectSearcher searcher = new ManagementObjectSearcher("root\\CIMV2", "SELECT * FROM Win32_LogicalDisk");
    et puis je specifie exactement l'information dont j'ai besoin par exemple pour la taille je du disque dur je fais :

    Code c# : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    foreach (ManagementObject queryObj in searcher.Get())
                    {if (queryObj["Size"] != null)
                        {
                            ss[i, 1] = queryObj["Size"].ToString();
                        }
                        else ss[i, 1] = "";

    mon probleme c'est que la taille que j'obtient est en octet et j'aimerai bien la convertir en GO est ce que quelqu'un pourrait me proposer une solution?
    merci d'avance

  2. #2
    Membre émérite Avatar de ppphil
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    617
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juin 2007
    Messages : 617
    Par défaut
    o / 1024 = ko
    ko / 1024 = Mo
    Mo / 1024 = Go

    ou je me trompe ?

  3. #3
    Membre Expert Avatar de DonQuiche
    Inscrit en
    Septembre 2010
    Messages
    2 741
    Détails du profil
    Informations forums :
    Inscription : Septembre 2010
    Messages : 2 741
    Par défaut
    Il faut d'abord convertir la chaîne en entier via Int32.Parse, puis diviser par 2^24 (1 << 24). La constante doit être déclarée en "double" afin d'obtenir un "double" et non un entier si tu veux pouvoir afficher les décimales.

    EDIT : Oups, 1 << 30 et non pas 1 << 24

  4. #4
    Membre régulier
    Inscrit en
    Août 2010
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Août 2010
    Messages : 7
    Par défaut
    Voila ce que j'ai fais:
    j'ai decalré une variable double a=0;
    puis j'ai fais la conversion suivante:
    Code c# : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    if (queryObj["Size"] != null)
                        {
                            ss[i, 1] = queryObj["Size"].ToString();
                            a = (Int32.Parse(ss[i, 1])) /1024;
                        }
    au niveau de l'application ce que je souhaite faire c'est insérer ces données dans une base de donnée donc ce que je fais c'est maintenant
    CommunDataAccess.requete("insert into lecteurLogique values('" + ss[i, 0] + "','" + a + "');
    mais le problème c'est que apparemment j'ai fais une erreur puisque la requête ne retourne rien dans la table!

Discussions similaires

  1. Réponses: 11
    Dernier message: 02/07/2012, 16h30
  2. Script Taille conversion octet giga méga
    Par Lexounet dans le forum VBScript
    Réponses: 14
    Dernier message: 24/05/2011, 11h23
  3. Réponses: 18
    Dernier message: 07/11/2009, 16h12
  4. Conversion de composant D4 vers RAD 2009 Taille TFORM pas OK
    Par HAMBA dans le forum Composants VCL
    Réponses: 5
    Dernier message: 06/06/2009, 11h17
  5. problème de conversion de très très grande taille !
    Par Conficius dans le forum Langage
    Réponses: 2
    Dernier message: 05/11/2005, 22h14

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo