Salut;
je developpe un gestionnaire de stock et j'ai voulu integré dans l'application la lecture des codes barre j'ai trouvé deux classes mais j'arrive pas a l'utiliser dans mon programme.voila le fichier de la classe (*.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
#include <windows.h>
#include "CodebarClass.h"
 
// table setA et set B
const WORD cstTableEANSet[2][10] = {0x0d, 0x19, 0x13, 0x3d, 0x23, 0x31, 0x2f, 0x3b, 0x37, 0x0b,
                                    0x27, 0x33, 0x1b, 0x21, 0x1d, 0x39, 0x05, 0x11, 0x09, 0x17};
// table de bordure et du milieu
const WORD cstTableEANBorder = 0x05;
const WORD cstTableEANCentre = 0x0a;
 
// table de parité
const int  cstTableEANParity[10][6] = {0, 0, 0, 0, 0, 0,
                               0, 0, 1, 0, 1, 1,
                               0, 0, 1, 1, 0, 1,
                               0, 0, 1, 1, 1, 0,
                               0, 1, 0, 0, 1, 1,
                               0, 1, 1, 0, 0, 1,
                               0, 1, 1, 1, 0, 0,
                               0, 1, 0, 1, 0, 1,
                               0, 1, 0, 1, 1, 0,
                               0, 1, 1, 0, 1, 0};
 
CCodeEAN::CCodeEAN()
{
    m_idType = TYPE_EAN13;
    m_szCode[0] = 0;
}
 
 
CCodeEAN::~CCodeEAN()
{
}
 
 
int CCodeEAN::Decode(const char * pszCode)
{
    // effacer les données précedentes
    ZeroMemory(m_szData, sizeof(m_szData));
    m_szCode[0] = 0;
    m_nbBits = 0;
    m_iError = ERR_NONE;
 
    if(!pszCode)
    {
        m_iError = ERR_VAR_CODE_NULL;
        return 0;
    }    
 
    int len, i, j;
    len = lstrlen(pszCode);
    if((len!=8)&&(len!=12)&&(len!=13))
    {
        m_iError = ERR_BAD_FORMAT_SIZE;
        return 0;
    }
 
    // verifier si la chaine ne contient que des chiffres
    for(i=0; i<len; i++)
    {
        if((pszCode[i]<48)||(pszCode[i]>57))
        {
            m_iError = ERR_CODE_INCOMPATIBLE;
            return 0;
        }
    }
 
    int digit = CheckDigit(pszCode, TRUE);
    int count = 0;
 
    if(len==13)
    {
        if((char)(digit+48)!=pszCode[12])
        {
            m_iError = ERR_CODE_TRUNCATE;
            return 0;
        }
        count = DecodeEan13(pszCode);
        if((pszCode[0]=='0')&&(pszCode[1]=='0'))
        {
            m_idType = TYPE_UPCA;
            lstrcpy(m_szCode, &pszCode[1]);
        }
        else
        {
            m_idType = TYPE_EAN13;
            lstrcpy(m_szCode, pszCode);
        }
    }
    else if(len==12)
    {
        if(pszCode[0]!='0')
        {
            m_iError = ERR_CODE_INCOMPATIBLE;
            return 0;
        }
        lstrcpy(m_szCode, pszCode);
        char szBuf[256];
        lstrcpy(szBuf, "0");
        lstrcat(szBuf, pszCode);
        if((char)(digit+48)!=szBuf[12])
        {
            m_iError = ERR_CODE_TRUNCATE;
            return 0;
        }
        count = DecodeEan13(szBuf);
        m_idType = TYPE_UPCA;
    }
    else if(len==8)
    {
        if((char)(digit+48)!=pszCode[7])
        {
            m_iError = ERR_CODE_TRUNCATE;
            return 0;
        }
        count = DecodeEan8(pszCode);
        lstrcpy(m_szCode, pszCode);
        m_idType = TYPE_EAN8;
    }
 
    if(!count)
        m_szCode[0] = 0;
    m_nbBits = count;
    return count;
}
 
//---------------------------------------------------
 
 
et dans mon application je fait:
 
#include "NomClasse.cpp"
 
et je fait ensuite un appele a la fonction :
void __fastcall TForm1::Button1OnClick(TObject* Sender)
{
           Label1->Caption=Decode(<un parametre>);
 
}
ça marche pas il connais pas la fonction alors pouvez vous m'aisez pour pouvoir travailler avec cette classe.
Merci.