blob: 4b9b7248c3c47d3f93680187d8656acba78a2873 (
plain)
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
|
#include <qpro/common.h>
#include <string.h>
#include "qpro/tablenames.h"
// ------------------------------------------------------------------
QpTableNames::QpTableNames()
{
for( int lIdx=0; lIdx<cNameCnt; ++lIdx )
{
cName[lIdx] = 0;
}
}
QpTableNames::~QpTableNames()
{
for( int lIdx=0; lIdx<cNameCnt; ++lIdx )
{
delete [] cName[lIdx];
cName[lIdx] = 0;
}
}
void
QpTableNames::name(unsigned pIdx, const char* pName)
{
if(pIdx < cNameCnt)
{
delete [] cName[pIdx];
cName[pIdx] = strcpy( new char[strlen(pName)+1], pName);
}
}
const char*
QpTableNames::name(unsigned pIdx)
{
char* lResult = 0;
if(pIdx < cNameCnt)
{
if( (lResult = cName[pIdx]) == 0 )
{
if( pIdx < 26 )
{
lResult = cName[pIdx] = new char[2];
lResult[0] = (char)('A' + pIdx);
lResult[1] = '\0';
}
else
{
lResult = cName[pIdx] = new char[2];
lResult[0] = (char)('A' -1 + pIdx / 26);
lResult[1] = (char)('A' + pIdx % 26);
lResult[2] = '\0';
}
}
}
return lResult;
}
int
QpTableNames::allocated(unsigned pIdx)
{
return (pIdx >= cNameCnt ? 0 : (cName[pIdx] != 0));
}
|