1. #1
    Responsable 2D/3D/Jeux


    Avatar de LittleWhite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    mai 2008
    Messages
    18 355
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : mai 2008
    Messages : 18 355
    Points : 107 208
    Points
    107 208
    Billets dans le blog
    3

    Par défaut Recouvrement des fonctions de la bibliothèques standard (Phobos 1.0)

    Bonjour,

    Je commence (enfin) le D \o/
    Je voulais savoir, si je crée une classe, et que celle-ci va lire (et analyser) un fichier, j'aurais voulu lui donner une fonction 'read()'
    Voici mon code en example:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    import std.file;
    import std.stdio:writefln;
    
    // module bmp;
    
    class BMPFile
    {
    private:
    
        uint width;
        uint height;
        uint bytesPerPixel;
    
        byte[] data; 
    
    public:
        
        void read(string fileName)
        {
    // Epic fail car c'est le read de la classe qui est pris en compte
            data = cast(byte[])read(fileName);
            
            writefln("File has %d size",data.length);
        }
    };
    Si je fais cela, mon read recouvre celui de Phobos. Pouvez vous m'indiquer (car je pense que cela existe) comment faire en sorte que j'appelle toujours celui de Phobos, et non ma propre fonction (venant du C++, j'ai l'habitude du namespace), mais là je ne vois pas la syntaxe correct.
    Merci pour votre aide
    Vous souhaitez participer à la rubrique 2D / 3D / Jeux ? Contactez-moi
    La rubrique a aussi un blog !

    Ma page sur DVP
    Mon Portfolio

    Qui connaît l'erreur, connaît la solution.

  2. #2
    Membre éprouvé

    Profil pro
    Inscrit en
    mars 2009
    Messages
    349
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : mars 2009
    Messages : 349
    Points : 441
    Points
    441

    Par défaut

    j'utilise pas phobos mais tango (D1)
    mais bon si je me trompe pas read viens du module file soit tu fait
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    import File = std.file;
    import std.stdio:writefln;
    
    // module bmp;
    
    class BMPFile
    {
    private:
    
        uint width;
        uint height;
        uint bytesPerPixel;
    
        byte[] data; 
    
    public:
        
        void read(string fileName)
        {
            data = cast(byte[])File.read(fileName);
            
            writefln("File has %d size",data.length);
        }
    };

  3. #3
    Responsable 2D/3D/Jeux


    Avatar de LittleWhite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    mai 2008
    Messages
    18 355
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : mai 2008
    Messages : 18 355
    Points : 107 208
    Points
    107 208
    Billets dans le blog
    3

    Par défaut

    Finalement, je fais la chose suivante (qui fonctionne):
    et plus loin (utilisation)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    data = cast(byte[])std.file.read(fileName);
    @bioinfornatics: J'adore énormément votre documentation (Wiki Fedora). C'est niquel pour commencer.
    Vous souhaitez participer à la rubrique 2D / 3D / Jeux ? Contactez-moi
    La rubrique a aussi un blog !

    Ma page sur DVP
    Mon Portfolio

    Qui connaît l'erreur, connaît la solution.

  4. #4
    Membre éprouvé

    Profil pro
    Inscrit en
    mars 2009
    Messages
    349
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : mars 2009
    Messages : 349
    Points : 441
    Points
    441

    Par défaut

    Citation Envoyé par LittleWhite Voir le message
    @bioinfornatics: J'adore énormément votre documentation (Wiki Fedora). C'est niquel pour commencer.
    Merci, ça fait plaisir

+ Répondre à la discussion
Cette discussion est résolue.

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