Publicité
+ Répondre à la discussion
Affichage des résultats 1 à 4 sur 4
  1. #1
    Responsable 2D/3D/Jeux

    Avatar de LittleWhite
    Homme Profil pro Alexandre Laurent
    Ingénieur développement logiciels
    Inscrit en
    mai 2008
    Messages
    16 340
    Détails du profil
    Informations personnelles :
    Nom : Homme Alexandre Laurent
    Localisation : France

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

    Informations forums :
    Inscription : mai 2008
    Messages : 16 340
    Points : 77 662
    Points
    77 662

    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 :
    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 Jonathan MERCIER
    Inscrit en
    mars 2009
    Messages
    349
    Détails du profil
    Informations personnelles :
    Nom : Jonathan MERCIER
    Localisation : France, Gironde (Aquitaine)

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

    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 :
    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 Alexandre Laurent
    Ingénieur développement logiciels
    Inscrit en
    mai 2008
    Messages
    16 340
    Détails du profil
    Informations personnelles :
    Nom : Homme Alexandre Laurent
    Localisation : France

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

    Informations forums :
    Inscription : mai 2008
    Messages : 16 340
    Points : 77 662
    Points
    77 662

    Par défaut

    Finalement, je fais la chose suivante (qui fonctionne):
    et plus loin (utilisation)
    Code :
    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 Jonathan MERCIER
    Inscrit en
    mars 2009
    Messages
    349
    Détails du profil
    Informations personnelles :
    Nom : Jonathan MERCIER
    Localisation : France, Gironde (Aquitaine)

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

    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.

Liens sociaux

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •