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++Builder Discussion :

Générer et imprimer code-barre


Sujet :

C++Builder

  1. #1
    Membre du Club Avatar de bogsy15
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    147
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 147
    Points : 53
    Points
    53
    Par défaut Générer et imprimer code-barre
    Bonjour tout le monde,

    Dans mon programme, je dois générer un code-barre 39 (ou bien un code-barre EAN13) mais je ne sais pas par où commencer. J'ai déjà codé la partie qui récupère le code-barre venant de la douchette, branchée sur le port RS232.
    En effectuant des recherche, j'ai trouvé quelques code-sources mais je n'arrive pas à les utiliser dans C++ Builder 6.

    Voici la classe que j'ai trouvé :

    le fichier .h
    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
    #if !defined(AFX_FCODEBAR39__INCLUDED_)
    #define AFX_FCODEBAR39__INCLUDED_
     
    #if _MSC_VER >= 1000
    #pragma once
    #endif // _MSC_VER >= 1000
     
    class FCodeBar39
    {
    public:
        //constructeur et destructeur
        FCodeBar39(void);
        ~FCodeBar39(void);
        //Fonctions Get et Set
        void SetValue(CString str_value)        {m_value = str_value;}
        CString GetValue(void)                    {return m_value;}
        //autres fonctions
        int BC39_Decode(char letter);    //transforme la lettre en code barre(bit)
        void BC39_Expand(int code,char* wn)    //transforme le code barre(bit) en code barre(W N)
        void BC39_Draw(CDC* pDC,RECT* rect,BOOL HORIZ)    //dessine le code bar sur le device context
    protected:
        CString m_value;
    };
    #endif // !defined(AFX_FCODEBAR39__INCLUDED_)
    le fichier .cpp
    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
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
    170
    171
    172
    173
    174
    175
    176
    177
    178
    179
    180
    181
    182
    183
    184
    185
    186
    187
    188
    189
    #include "StdAfx.h"
    #include "fcodebar39.h"
     
    int FCodeBar39::BC39_Decode(char letter)
    {
        int code;
        switch(letter){
            case '*':code = 0x0094;break;
            case '1':code = 0x0121;break;
            case '2':code = 0x0061;break;
            case '3':code = 0x0160;break;
            case '4':code = 0x0031;break;
            case '5':code = 0x0130;break;
            case '6':code = 0x0070;break;
            case '7':code = 0x0025;break;
            case '8':code = 0x0124;break;
            case '9':code = 0x0064;break;
            case '0':code = 0x0034;break;
            case 'A':code = 0x0109;break;
            case 'B':code = 0x0049;break;
            case 'C':code = 0x0148;break;
            case 'D':code = 0x0019;break;
            case 'E':code = 0x0118;break;
            case 'F':code = 0x0058;break;
            case 'G':code = 0x000D;break;
            case 'H':code = 0x010C;break;
            case 'I':code = 0x004C;break;
            case 'J':code = 0x001C;break;
            case 'K':code = 0x0103;break;
            case 'L':code = 0x0043;break;
            case 'M':code = 0x0142;break;
            case 'N':code = 0x0013;break;
            case 'O':code = 0x0112;break;
            case 'P':code = 0x0052;break;
            case 'Q':code = 0x0007;break;
            case 'R':code = 0x0106;break;
            case 'S':code = 0x0046;break;
            case 'T':code = 0x0016;break;
            case 'U':code = 0x0181;break;
            case 'V':code = 0x00C1;break;
            case 'W':code = 0x01C0;break;
            case 'X':code = 0x0091;break;
            case 'Y':code = 0x0190;break;
            case 'Z':code = 0x00D0;break;
            case '-':code = 0x0085;break;
            case '.':code = 0x0184;break;
            case ' ':code = 0x00C4;break;
            case '$':code = 0x00A8;break;
            case '/':code = 0x00A2;break;
            case '+':code = 0x008A;break;
            case '%':code = 0x002A;break;
            default: code = 0x0000;
        }
        return code;
    }
    /////////////////////////////////////////////////////////////////////////////
    /////////////////////////////////////////////////////////////////////////////
    /////////////////////////////////////////////////////////////////////////////
    void FCodeBar39::BC39_Expand(int code,char* wn)
    {
        if(code & 0x0100){wn[0]='W';}else{wn[0]='N';}
        if(code & 0x0080){wn[1]='W';}else{wn[1]='N';}
        if(code & 0x0040){wn[2]='W';}else{wn[2]='N';}
        if(code & 0x0020){wn[3]='W';}else{wn[3]='N';}
        if(code & 0x0010){wn[4]='W';}else{wn[4]='N';}
        if(code & 0x0008){wn[5]='W';}else{wn[5]='N';}
        if(code & 0x0004){wn[6]='W';}else{wn[6]='N';}
        if(code & 0x0002){wn[7]='W';}else{wn[7]='N';}
        if(code & 0x0001){wn[8]='W';}else{wn[8]='N';}
        wn[9]='N';
        wn[10]=0x00;
    }
    /////////////////////////////////////////////////////////////////////////////
    /////////////////////////////////////////////////////////////////////////////
    /////////////////////////////////////////////////////////////////////////////
    int FCodeBar39::BC39_Draw(CDC* pDC,RECT* rect,BOOL HORIZ)
    {
        char bcarray[400];
        char wn[11];
        char textcopy[100];
        int j,i_code,i_strlen,i_barwidth;
        int i_numchars;
        double d_xdim,d_offset,d_taillebarcode;
        HPEN holdpen;
        HBRUSH holdbrush;
        //si texte > 30 caractere on imprime pas le code à barre
        strcpy(textcopy,m_value);
        if(strlen(textcopy)>30){
            return 1;
        }
        //passe le texte en upper case
        strcpy(bcarray,"");
        strupr(textcopy);
        //charge la table des codes
        i_code=BC39_Decode('*');
        BC39_Expand(i_code,wn);
        strcpy(bcarray,wn);
        //concatene tous les codes sous forme de chaines
        for(j=0;j<(int)(strlen(textcopy));j++){
            i_code=BC39_Decode(textcopy[j]);
            if(i_code){
                BC39_Expand(i_code,wn);
                strcat(bcarray,wn);
            }
        }
        i_code=BC39_Decode('*');
        BC39_Expand(i_code,wn);
        strcat(bcarray,wn);
        //calcul le nb de caractéres necessaires; 10 bytes par caractere
        i_numchars=(int)(strlen(bcarray)/10);
        //selectionne type de pinceau et type de remplissage
        holdbrush=(HBRUSH)SelectObject(pDC->m_hDC,GetStockObject(BLACK_BRUSH));
        holdpen=(HPEN)SelectObject(pDC->m_hDC,GetStockObject(BLACK_PEN));
        i_strlen=strlen(bcarray);
        d_offset=0;
        //calcul la taille intrinseque d'une minibarre
        d_xdim=0;
        d_taillebarcode=0;
        for(j=0;j<i_strlen;j++){
            if(bcarray[j]=='W'){
                d_taillebarcode+=3;
            }
            else{
                d_taillebarcode+=1;
            }
        }
        //impression du code barre horizontal
        if(HORIZ){
            d_xdim=(rect->right-rect->left)/d_taillebarcode;
            for(j=0;j<i_strlen;j++){
                if(((j/2)*2)==j){
                    //si c'est une barre
                    if(bcarray[j]=='W'){
                        //dessine une barre pleine
                        i_barwidth=(int)(d_xdim*3);
                        Rectangle(pDC->m_hDC,rect->left+(int)d_offset,rect->top,rect->left+(int)d_offset+i_barwidth,rect->bottom);
                        d_offset+=(d_xdim*3);
                    }
                    else{
                        //dessine une barre vide
                        i_barwidth=(int)d_xdim;
                        Rectangle(pDC->m_hDC,rect->left+(int)d_offset,rect->top,rect->left+(int)d_offset+i_barwidth,rect->bottom);
                        d_offset+=(d_xdim);
                    }
                }
                else{
                    //laisse un espace blanc
                    if(bcarray[j]=='W'){
                        d_offset+=(d_xdim*3);
                    }
                    else{
                        d_offset+=(d_xdim);
                    }
                }
            }
        }
        else{  //impression verticale
            d_xdim=(rect->bottom-rect->top)/d_taillebarcode;
            for(j=0;j<i_strlen;j++){
                if(((j/2)*2)==j){
                    //si c'est une barre
                    if(bcarray[j]=='W'){
                        //dessine une barre pleine
                        i_barwidth=(int)(d_xdim*3);
                        Rectangle(pDC->m_hDC,rect->left,rect->top+(int)d_offset,rect->right,rect->top+(int)d_offset+i_barwidth);
                        d_offset+=(d_xdim*3);
                    }
                    else{
                        //dessine une barre vide
                        i_barwidth=(int)d_xdim;
                        Rectangle(pDC->m_hDC,rect->left,rect->top+(int)d_offset,rect->right,rect->top+(int)d_offset+i_barwidth);
                        d_offset+=(d_xdim);
                    }
                }
                else{
                    //laisse un espace blanc
                    if(bcarray[j]=='W'){
                        d_offset+=(d_xdim*3);
                    }
                    else{
                        d_offset+=(d_xdim);
                    }
                }
            }
        }
        SelectObject(pDC->m_hDC,holdpen);
        SelectObject(pDC->m_hDC,holdbrush);
        return 0;
    }
    Est-ce que quelqu'un peut m'aider ?
    Merci

  2. #2
    Responsable Magazine

    Avatar de pottiez
    Homme Profil pro
    Développeur C++
    Inscrit en
    Novembre 2005
    Messages
    7 152
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur C++
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2005
    Messages : 7 152
    Points : 22 087
    Points
    22 087
    Par défaut
    A tu des message des erreur, des erreurs de compilation, si oui, à quel endroit du code et quand si c'est en exécution.
    Quand une réponse vous a été utile, pensez à utiliser le nouveau système de notation

    Lisez le magazine de developpez.com.
    Mes tutos : http://pottiez.developpez.com

    La FAQ BCB -> 642 Questions/Réponses, si vous voulez participer, contactez moi. Aide de BCB6 en français

    N'oubliez pas que l'aide existe et est affichée sous simple pression de la touche F1 , une touche c'est plus rapide que tout un message .

  3. #3
    Membre du Club Avatar de bogsy15
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    147
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 147
    Points : 53
    Points
    53
    Par défaut
    Bon déjà, j'ai des erreurs de compilation :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    [C++ Erreur] fcodebar39.h(19): E2293 ) attendue
    void SetValue(CString str_value)		{m_value = str_value;}
     
    [C++ Erreur] fcodebar39.h(24): E2040 Déclaration terminée incorrectement
    void BC39_Draw(CDC* pDC,RECT* rect,BOOL HORIZ)
     
    [C++ Erreur] FCodeBar39.cpp(7): E2316 'FCodeBar39::BC39_Decode(char)' est pas un membre de 'FCodeBar39'
     
    [C++ Erreur] FCodeBar39.cpp(78): E2147 'CDC' ne peut pas démarrer une déclaration de paramètre
    [C++ Erreur] FCodeBar39.cpp(78): E2303 Nom de type attendu
    int FCodeBar39::BC39_Draw(CDC* pDC,RECT* rect,BOOL HORIZ)
    J'ai l'impression que le source vient de Visual C++. Ca ne va pas poser problème dans builder ?
    Sinon le problème c'est que je ne sais pas utiliser ce source, je ne sais pas quelles méthodes utiliser et tout. En fait mon numéro de code-barre sera affiché dans un TEdit et apres un clic sur le bouton je voudrai qu'il s'affiche dans une sorte de TImage ? c'est possible ?

  4. #4
    Responsable Magazine

    Avatar de pottiez
    Homme Profil pro
    Développeur C++
    Inscrit en
    Novembre 2005
    Messages
    7 152
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur C++
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2005
    Messages : 7 152
    Points : 22 087
    Points
    22 087
    Par défaut
    Bon, a première vu, j'ai les même erreur que toi, je ne pense pas que ce soit un problème de VC++, il y a autre chose, du moins pour la première erreur, je regarde ca et je te dis quoi lorsque j'ai du nouveau de mon coté
    Quand une réponse vous a été utile, pensez à utiliser le nouveau système de notation

    Lisez le magazine de developpez.com.
    Mes tutos : http://pottiez.developpez.com

    La FAQ BCB -> 642 Questions/Réponses, si vous voulez participer, contactez moi. Aide de BCB6 en français

    N'oubliez pas que l'aide existe et est affichée sous simple pression de la touche F1 , une touche c'est plus rapide que tout un message .

  5. #5
    Responsable Magazine

    Avatar de pottiez
    Homme Profil pro
    Développeur C++
    Inscrit en
    Novembre 2005
    Messages
    7 152
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur C++
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2005
    Messages : 7 152
    Points : 22 087
    Points
    22 087
    Par défaut
    Bon, j'ai trouvé pour une partie des erreurs, mais chez moi il en reste encore une.

    Pour les première, il faut que tu transforme tout les CString en AnsiString (ou String c'est pareille) et que tu ajoute en première ligne du fichier fcodebar39.h la ligne suivante :

    Quand une réponse vous a été utile, pensez à utiliser le nouveau système de notation

    Lisez le magazine de developpez.com.
    Mes tutos : http://pottiez.developpez.com

    La FAQ BCB -> 642 Questions/Réponses, si vous voulez participer, contactez moi. Aide de BCB6 en français

    N'oubliez pas que l'aide existe et est affichée sous simple pression de la touche F1 , une touche c'est plus rapide que tout un message .

  6. #6
    Responsable Magazine

    Avatar de pottiez
    Homme Profil pro
    Développeur C++
    Inscrit en
    Novembre 2005
    Messages
    7 152
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur C++
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2005
    Messages : 7 152
    Points : 22 087
    Points
    22 087
    Par défaut
    Il faut également ajouté un ';' à la fin de la ligne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
        void BC39_Expand(int code,char* wn)    //transforme le code barre(bit) en code barre(W N)
    toujours dans le .h
    Quand une réponse vous a été utile, pensez à utiliser le nouveau système de notation

    Lisez le magazine de developpez.com.
    Mes tutos : http://pottiez.developpez.com

    La FAQ BCB -> 642 Questions/Réponses, si vous voulez participer, contactez moi. Aide de BCB6 en français

    N'oubliez pas que l'aide existe et est affichée sous simple pression de la touche F1 , une touche c'est plus rapide que tout un message .

  7. #7
    Responsable Magazine

    Avatar de pottiez
    Homme Profil pro
    Développeur C++
    Inscrit en
    Novembre 2005
    Messages
    7 152
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur C++
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2005
    Messages : 7 152
    Points : 22 087
    Points
    22 087
    Par défaut
    Les deux lignes suivante, il faut les mettre avant le public au lieu de après :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    protected:
        AnsiString m_value;
    toujours dans le .h

    Dis moi si tu as toujours des erreurs de compilation
    Quand une réponse vous a été utile, pensez à utiliser le nouveau système de notation

    Lisez le magazine de developpez.com.
    Mes tutos : http://pottiez.developpez.com

    La FAQ BCB -> 642 Questions/Réponses, si vous voulez participer, contactez moi. Aide de BCB6 en français

    N'oubliez pas que l'aide existe et est affichée sous simple pression de la touche F1 , une touche c'est plus rapide que tout un message .

  8. #8
    Membre du Club Avatar de bogsy15
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    147
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 147
    Points : 53
    Points
    53
    Par défaut
    J'ai encore trois erreurs, les voici :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    [C++ Erreur] FCodeBar39.h(26): E2293 ) attendue
    [C++ Erreur] FCodeBar39.cpp(78): E2147 'CDC' ne peut pas démarrer une déclaration de paramètre
    [C++ Erreur] FCodeBar39.cpp(79): E2316 'FCodeBar39::BC39_Draw(int *,tagRECT *,int)' est pas un membre de 'FCodeBar39'

  9. #9
    Responsable Magazine

    Avatar de pottiez
    Homme Profil pro
    Développeur C++
    Inscrit en
    Novembre 2005
    Messages
    7 152
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur C++
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2005
    Messages : 7 152
    Points : 22 087
    Points
    22 087
    Par défaut
    Ok j'ai les meme, je vais regarder, mais en attendant, pourrais tu me donné la nature de ce fichier : "StdAfx.h"
    Quand une réponse vous a été utile, pensez à utiliser le nouveau système de notation

    Lisez le magazine de developpez.com.
    Mes tutos : http://pottiez.developpez.com

    La FAQ BCB -> 642 Questions/Réponses, si vous voulez participer, contactez moi. Aide de BCB6 en français

    N'oubliez pas que l'aide existe et est affichée sous simple pression de la touche F1 , une touche c'est plus rapide que tout un message .

  10. #10
    Membre du Club Avatar de bogsy15
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    147
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 147
    Points : 53
    Points
    53
    Par défaut
    Je n'ai pas ce fichier StdAfx.h, c'est pour cela que je disais que ca venait d'un projet sous Visual C++ et que ca allait poser problème.
    Je n'ai rien trouvé de similaire sous un projet builder

  11. #11
    Responsable Magazine

    Avatar de pottiez
    Homme Profil pro
    Développeur C++
    Inscrit en
    Novembre 2005
    Messages
    7 152
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur C++
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2005
    Messages : 7 152
    Points : 22 087
    Points
    22 087
    Par défaut
    Est ce que tu peut me dire a quoi sert la ou les classe contenu dans ce fichier ?
    Quand une réponse vous a été utile, pensez à utiliser le nouveau système de notation

    Lisez le magazine de developpez.com.
    Mes tutos : http://pottiez.developpez.com

    La FAQ BCB -> 642 Questions/Réponses, si vous voulez participer, contactez moi. Aide de BCB6 en français

    N'oubliez pas que l'aide existe et est affichée sous simple pression de la touche F1 , une touche c'est plus rapide que tout un message .

  12. #12
    Membre du Club Avatar de bogsy15
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    147
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 147
    Points : 53
    Points
    53
    Par défaut
    A ce que j'ai compris, ces classes servent à partir du numéro du code-barre, à décoder le code-barre pour générer l'image du code-barre qui pourra par le suite être imprimé.

  13. #13
    Responsable Magazine

    Avatar de pottiez
    Homme Profil pro
    Développeur C++
    Inscrit en
    Novembre 2005
    Messages
    7 152
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur C++
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2005
    Messages : 7 152
    Points : 22 087
    Points
    22 087
    Par défaut
    A, c'est embêtant ça, sans cette classe tu ne peut donc rien faire , essaye de voir si il n'y a pas des composant gratuit sur internet qui font la génération de code barre, je vais également chercher de mon coté
    Quand une réponse vous a été utile, pensez à utiliser le nouveau système de notation

    Lisez le magazine de developpez.com.
    Mes tutos : http://pottiez.developpez.com

    La FAQ BCB -> 642 Questions/Réponses, si vous voulez participer, contactez moi. Aide de BCB6 en français

    N'oubliez pas que l'aide existe et est affichée sous simple pression de la touche F1 , une touche c'est plus rapide que tout un message .

  14. #14
    Responsable Magazine

    Avatar de pottiez
    Homme Profil pro
    Développeur C++
    Inscrit en
    Novembre 2005
    Messages
    7 152
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur C++
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2005
    Messages : 7 152
    Points : 22 087
    Points
    22 087
    Par défaut
    voici quelques composant qui pourrai être compatible, comme je ne connait pas tes ressources, je t'en met des payant comme des gratuit (enfin si j'en trouve )

    A savoir que si ce ne sont pas de composant mais des logiciel, ceux-ci peuvent être commandé par ton application assez facilement.
    Quand une réponse vous a été utile, pensez à utiliser le nouveau système de notation

    Lisez le magazine de developpez.com.
    Mes tutos : http://pottiez.developpez.com

    La FAQ BCB -> 642 Questions/Réponses, si vous voulez participer, contactez moi. Aide de BCB6 en français

    N'oubliez pas que l'aide existe et est affichée sous simple pression de la touche F1 , une touche c'est plus rapide que tout un message .

  15. #15
    Membre du Club Avatar de bogsy15
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    147
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 147
    Points : 53
    Points
    53
    Par défaut
    Merci, est-ce que les composants Delphi sont compatibles avec C++ Builder 6 ? Les composants que j'ai retenu sont ReportMaker et Rave (qui ont l'air de posséder un objet codebarre).
    Sinon comment je peux faire fonctionner les composants activeX avec mon programme créé par C++ builder 6.

    Tu parlais de commander les logiciels par mon application assez facilement, comment cela fonctionne-t-il ?

  16. #16
    Responsable Magazine

    Avatar de pottiez
    Homme Profil pro
    Développeur C++
    Inscrit en
    Novembre 2005
    Messages
    7 152
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur C++
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2005
    Messages : 7 152
    Points : 22 087
    Points
    22 087
    Par défaut
    Citation Envoyé par bogsy15 Voir le message
    Merci, est-ce que les composants Delphi sont compatibles avec C++ Builder 6 ?
    Pas tous malheureusement

    Citation Envoyé par bogsy15 Voir le message
    Sinon comment je peux faire fonctionner les composants activeX avec mon programme créé par C++ builder 6.
    Euh, la je ne serai pas te répondre pour le moment, désolé

    Citation Envoyé par bogsy15 Voir le message
    Tu parlais de commander les logiciels par mon application assez facilement, comment cela fonctionne-t-il ?
    Il y a de nombreux postes a ce sujet sur ce forum, tu devrais facilement les trouver, pour commander il faut récupérer le Handle de la fenêtre du programme (tu peut trouver comment faire sur le forum ou regarder cette question de la FAQ), apres tu peut cliquer sur les bouton ou remplire des champs de saisie assez facilement il me semble (la il faut voir sur le forum, il y a rien dessus dans la FAQ)
    Quand une réponse vous a été utile, pensez à utiliser le nouveau système de notation

    Lisez le magazine de developpez.com.
    Mes tutos : http://pottiez.developpez.com

    La FAQ BCB -> 642 Questions/Réponses, si vous voulez participer, contactez moi. Aide de BCB6 en français

    N'oubliez pas que l'aide existe et est affichée sous simple pression de la touche F1 , une touche c'est plus rapide que tout un message .

  17. #17
    Membre du Club Avatar de bogsy15
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    147
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 147
    Points : 53
    Points
    53
    Par défaut
    j'ai trouvé un autre composant a l'adresse http://www.psoft.sk/

    Je l'ai installé, il a l'air pas mal le composant. Par contre je pense que ce composant est payant. Est-ce que j'ai une période d'évaluation ?

  18. #18
    Responsable Magazine

    Avatar de pottiez
    Homme Profil pro
    Développeur C++
    Inscrit en
    Novembre 2005
    Messages
    7 152
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur C++
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2005
    Messages : 7 152
    Points : 22 087
    Points
    22 087
    Par défaut
    Apparemment il y a une version gratuite mais vu que ce n'ai pas en français je ne serais pas t'en dire plus

    généralement quand c'est une version d'évaluation le composant ajoute une marque ou la provenance du composant quelque part sur ton appli, généralement la ou le composant est utilisé
    Quand une réponse vous a été utile, pensez à utiliser le nouveau système de notation

    Lisez le magazine de developpez.com.
    Mes tutos : http://pottiez.developpez.com

    La FAQ BCB -> 642 Questions/Réponses, si vous voulez participer, contactez moi. Aide de BCB6 en français

    N'oubliez pas que l'aide existe et est affichée sous simple pression de la touche F1 , une touche c'est plus rapide que tout un message .

  19. #19
    Membre chevronné
    Avatar de Crayon
    Inscrit en
    Avril 2005
    Messages
    1 811
    Détails du profil
    Informations personnelles :
    Localisation : Autre

    Informations forums :
    Inscription : Avril 2005
    Messages : 1 811
    Points : 2 189
    Points
    2 189
    Par défaut
    Citation Envoyé par bogsy15 Voir le message
    J'ai encore trois erreurs, les voici :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    [C++ Erreur] FCodeBar39.h(26): E2293 ) attendue
    [C++ Erreur] FCodeBar39.cpp(78): E2147 'CDC' ne peut pas démarrer une déclaration de paramètre
    [C++ Erreur] FCodeBar39.cpp(79): E2316 'FCodeBar39::BC39_Draw(int *,tagRECT *,int)' est pas un membre de 'FCodeBar39'
    Salut, l'équivalent de CDC avec BCB ce n'est pas Canvas? Si t'a seule erreur est dans la méthode BC39_Draw tu peux peut-être la refaire avec un l'utilisation de Canvas (ou autre).
    • Plus un ordinateur possède de RAM, plus vite il peut générer un message d'erreur. - Dave Barry
    • Je n'ai pas peur des ordinateurs. J'ai peur qu'ils viennent à nous manquer. - Isaac Asimov
    • Le code source est comme une belle femme, plus on le regarde, plus on trouve des défauts. - Crayon

  20. #20
    Membre du Club Avatar de bogsy15
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    147
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 147
    Points : 53
    Points
    53
    Par défaut
    Je pense que je vais utiliser le composant que j'ai trouvé. Il me génère automatiquement les code-barres. Les code-barres passent "assez bien" avec la douchette.
    Maintenant j'ai essayer de faire en sorte d'imprimer le code-barre généré. Dois-je utiliser les Canvas ou alors les composants QReport ?
    Est-il possible de copier le code-barre généré dans un TImage pour que celui puissent etre imprimé ?

Discussions similaires

  1. Générer des codes barre EAN-13
    Par nico62370 dans le forum VBA Access
    Réponses: 4
    Dernier message: 03/06/2014, 10h17
  2. Réponses: 2
    Dernier message: 19/02/2008, 21h55
  3. imprimer un code barre
    Par looping dans le forum Périphériques
    Réponses: 2
    Dernier message: 31/01/2008, 09h16
  4. Comment générer un code barre 2D ?
    Par topben dans le forum Composants VCL
    Réponses: 2
    Dernier message: 23/01/2008, 17h52
  5. [GD] Générer un code barre 128
    Par fast462 dans le forum Bibliothèques et frameworks
    Réponses: 3
    Dernier message: 12/01/2008, 18h42

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