表格数据查看表头乱码问题修改
This commit is contained in:
parent
a1e96d9c36
commit
5368472ccd
|
|
@ -2475,15 +2475,17 @@ int CSlfIO::SetTableHead(int index,DWORD RecordCount,DWORD FieldCount,Slf_TABLE_
|
||||||
if(IsWis) return SetWisTableHead(index,RecordCount,FieldCount,FieldInfo);
|
if(IsWis) return SetWisTableHead(index,RecordCount,FieldCount,FieldInfo);
|
||||||
else {
|
else {
|
||||||
Slf_OBJECT_FIELD *pf=new Slf_OBJECT_FIELD[FieldCount];
|
Slf_OBJECT_FIELD *pf=new Slf_OBJECT_FIELD[FieldCount];
|
||||||
|
QString strMojibake = "屯"; //乱码判断
|
||||||
|
QByteArray ArrayMojibake = strMojibake.toLocal8Bit().data();
|
||||||
for(int i=0;i<FieldCount;i++) {
|
for(int i=0;i<FieldCount;i++) {
|
||||||
pf[i].ArrayNum=1;
|
pf[i].ArrayNum=1;
|
||||||
pf[i].CodeLength=FieldInfo[i].Length;
|
pf[i].CodeLength=FieldInfo[i].Length;
|
||||||
pf[i].RepCode=FieldInfo[i].RepCode;
|
pf[i].RepCode=FieldInfo[i].RepCode;
|
||||||
pf[i].DefVal=-9999.0;
|
pf[i].DefVal=-9999.0;
|
||||||
|
|
||||||
if(strncmp(FieldInfo[i].Unit,"屯",2)==0) strcpy(FieldInfo[i].Unit,"");
|
if(strncmp(FieldInfo[i].Unit,ArrayMojibake.data()/*"屯"*/,2)==0) strcpy(FieldInfo[i].Unit,"");
|
||||||
if(strncmp(FieldInfo[i].HZName,"屯",2)==0) strcpy(FieldInfo[i].HZName,FieldInfo[i].Name);
|
if(strncmp(FieldInfo[i].HZName,ArrayMojibake.data()/*"屯"*/,2)==0) strcpy(FieldInfo[i].HZName,FieldInfo[i].Name);
|
||||||
if(strncmp(FieldInfo[i].HZUnit,"屯",2)==0) strcpy(FieldInfo[i].HZUnit,FieldInfo[i].Unit);
|
if(strncmp(FieldInfo[i].HZUnit,ArrayMojibake.data()/*"屯"*/,2)==0) strcpy(FieldInfo[i].HZUnit,FieldInfo[i].Unit);
|
||||||
|
|
||||||
int len=sizeof(pf[i].Name);
|
int len=sizeof(pf[i].Name);
|
||||||
if(len>strlen(FieldInfo[i].Name)) len=strlen(FieldInfo[i].Name);
|
if(len>strlen(FieldInfo[i].Name)) len=strlen(FieldInfo[i].Name);
|
||||||
|
|
@ -2536,6 +2538,8 @@ bool CSlfIO::SetTableFieldInfo(int index,Slf_TABLE_FIELD *FieldInfo)
|
||||||
int FieldCount=m_SlfObjectEntry[index].FieldNum;
|
int FieldCount=m_SlfObjectEntry[index].FieldNum;
|
||||||
Slf_OBJECT_FIELD *pf=new Slf_OBJECT_FIELD[FieldCount];
|
Slf_OBJECT_FIELD *pf=new Slf_OBJECT_FIELD[FieldCount];
|
||||||
GetSlfTableFieldInfo(index,pf);
|
GetSlfTableFieldInfo(index,pf);
|
||||||
|
QString strMojibake = "屯"; //乱码判断
|
||||||
|
QByteArray ArrayMojibake = strMojibake.toLocal8Bit().data();
|
||||||
for(int i=0;i<FieldCount;i++) {
|
for(int i=0;i<FieldCount;i++) {
|
||||||
|
|
||||||
int len=strlen(FieldInfo[i].Name);
|
int len=strlen(FieldInfo[i].Name);
|
||||||
|
|
@ -2543,20 +2547,20 @@ bool CSlfIO::SetTableFieldInfo(int index,Slf_TABLE_FIELD *FieldInfo)
|
||||||
strncpy(pf[i].Name,FieldInfo[i].Name,len);
|
strncpy(pf[i].Name,FieldInfo[i].Name,len);
|
||||||
pf[i].Name[len]=0;
|
pf[i].Name[len]=0;
|
||||||
|
|
||||||
if(strncmp(FieldInfo[i].HZName,"屯",2)==0) strcpy(FieldInfo[i].HZName,FieldInfo[i].Name);
|
if(strncmp(FieldInfo[i].HZName,ArrayMojibake.data()/*"屯"*/,2)==0) strcpy(FieldInfo[i].HZName,FieldInfo[i].Name);
|
||||||
|
|
||||||
len=strlen(FieldInfo[i].HZName);
|
len=strlen(FieldInfo[i].HZName);
|
||||||
if(len>sizeof(pf[i].HZName)) len=sizeof(pf[i].HZName);
|
if(len>sizeof(pf[i].HZName)) len=sizeof(pf[i].HZName);
|
||||||
strncpy(pf[i].HZName,FieldInfo[i].HZName,sizeof(pf[i].HZName));
|
strncpy(pf[i].HZName,FieldInfo[i].HZName,sizeof(pf[i].HZName));
|
||||||
pf[i].HZName[len]=0;
|
pf[i].HZName[len]=0;
|
||||||
if(strncmp(FieldInfo[i].Unit,"屯",2)==0) strcpy(FieldInfo[i].Unit,"");
|
if(strncmp(FieldInfo[i].Unit,ArrayMojibake.data()/*"屯"*/,2)==0) strcpy(FieldInfo[i].Unit,"");
|
||||||
|
|
||||||
len=strlen(FieldInfo[i].Unit);
|
len=strlen(FieldInfo[i].Unit);
|
||||||
if(len>sizeof(pf[i].Unit)) len=sizeof(pf[i].Unit);
|
if(len>sizeof(pf[i].Unit)) len=sizeof(pf[i].Unit);
|
||||||
strncpy(pf[i].Unit,FieldInfo[i].Unit,sizeof(pf[i].Unit));
|
strncpy(pf[i].Unit,FieldInfo[i].Unit,sizeof(pf[i].Unit));
|
||||||
pf[i].Unit[len]=0;
|
pf[i].Unit[len]=0;
|
||||||
|
|
||||||
if(strncmp(FieldInfo[i].HZUnit,"屯",2)==0) strcpy(FieldInfo[i].HZUnit,FieldInfo[i].Unit);
|
if(strncmp(FieldInfo[i].HZUnit,ArrayMojibake.data()/*"屯"*/,2)==0) strcpy(FieldInfo[i].HZUnit,FieldInfo[i].Unit);
|
||||||
|
|
||||||
len=strlen(FieldInfo[i].HZUnit);
|
len=strlen(FieldInfo[i].HZUnit);
|
||||||
if(len>sizeof(pf[i].HZUnit)) len=sizeof(pf[i].HZUnit);
|
if(len>sizeof(pf[i].HZUnit)) len=sizeof(pf[i].HZUnit);
|
||||||
|
|
@ -2579,6 +2583,8 @@ bool CSlfIO::GetTableFieldInfo(int index,Slf_TABLE_FIELD *FieldInfo)
|
||||||
Slf_OBJECT_FIELD *pf=new Slf_OBJECT_FIELD[FieldCount];
|
Slf_OBJECT_FIELD *pf=new Slf_OBJECT_FIELD[FieldCount];
|
||||||
memset(pf,0,sizeof(Slf_OBJECT_FIELD)*FieldCount);
|
memset(pf,0,sizeof(Slf_OBJECT_FIELD)*FieldCount);
|
||||||
GetSlfTableFieldInfo(index,pf);
|
GetSlfTableFieldInfo(index,pf);
|
||||||
|
QString strMojibake = "屯"; //乱码判断
|
||||||
|
QByteArray ArrayMojibake = strMojibake.toLocal8Bit().data();
|
||||||
for(int i=0;i<FieldCount;i++) {
|
for(int i=0;i<FieldCount;i++) {
|
||||||
FieldInfo[i].Length=pf[i].CodeLength;
|
FieldInfo[i].Length=pf[i].CodeLength;
|
||||||
FieldInfo[i].RepCode=pf[i].RepCode;
|
FieldInfo[i].RepCode=pf[i].RepCode;
|
||||||
|
|
@ -2586,14 +2592,14 @@ bool CSlfIO::GetTableFieldInfo(int index,Slf_TABLE_FIELD *FieldInfo)
|
||||||
strncpy(FieldInfo[i].Name,pf[i].Name,sizeof(FieldInfo[i].Name));
|
strncpy(FieldInfo[i].Name,pf[i].Name,sizeof(FieldInfo[i].Name));
|
||||||
|
|
||||||
strncpy(FieldInfo[i].HZName,pf[i].HZName,sizeof(FieldInfo[i].HZName));
|
strncpy(FieldInfo[i].HZName,pf[i].HZName,sizeof(FieldInfo[i].HZName));
|
||||||
if(strncmp(FieldInfo[i].HZName,"屯",2)==0) strcpy(FieldInfo[i].HZName,FieldInfo[i].Name);
|
if(strncmp(FieldInfo[i].HZName,ArrayMojibake.data()/*"屯"*/,2)==0) strcpy(FieldInfo[i].HZName,FieldInfo[i].Name);
|
||||||
|
|
||||||
if(strncmp(FieldInfo[i].Unit,"屯",2)==0) strcpy(FieldInfo[i].Unit,"");
|
if(strncmp(FieldInfo[i].Unit,ArrayMojibake.data()/*"屯"*/,2)==0) strcpy(FieldInfo[i].Unit,"");
|
||||||
strncpy(FieldInfo[i].Unit,pf[i].Unit,sizeof(FieldInfo[i].Unit));
|
strncpy(FieldInfo[i].Unit,pf[i].Unit,sizeof(FieldInfo[i].Unit));
|
||||||
|
|
||||||
strncpy(FieldInfo[i].HZUnit,pf[i].HZUnit,sizeof(FieldInfo[i].HZUnit));
|
strncpy(FieldInfo[i].HZUnit,pf[i].HZUnit,sizeof(FieldInfo[i].HZUnit));
|
||||||
|
|
||||||
if(strncmp(FieldInfo[i].HZUnit,"屯",2)==0) strcpy(FieldInfo[i].HZUnit,FieldInfo[i].Unit);
|
if(strncmp(FieldInfo[i].HZUnit,ArrayMojibake.data()/*"屯"*/,2)==0) strcpy(FieldInfo[i].HZUnit,FieldInfo[i].Unit);
|
||||||
FieldInfo[i].Reserved=*(DWORD *)&pf[i].Reserved;
|
FieldInfo[i].Reserved=*(DWORD *)&pf[i].Reserved;
|
||||||
}
|
}
|
||||||
delete []pf;
|
delete []pf;
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user