表格数据查看表头乱码问题修改
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);
|
||||
else {
|
||||
Slf_OBJECT_FIELD *pf=new Slf_OBJECT_FIELD[FieldCount];
|
||||
QString strMojibake = "屯"; //乱码判断
|
||||
QByteArray ArrayMojibake = strMojibake.toLocal8Bit().data();
|
||||
for(int i=0;i<FieldCount;i++) {
|
||||
pf[i].ArrayNum=1;
|
||||
pf[i].CodeLength=FieldInfo[i].Length;
|
||||
pf[i].RepCode=FieldInfo[i].RepCode;
|
||||
pf[i].DefVal=-9999.0;
|
||||
|
||||
if(strncmp(FieldInfo[i].Unit,"屯",2)==0) strcpy(FieldInfo[i].Unit,"");
|
||||
if(strncmp(FieldInfo[i].HZName,"屯",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].Unit,ArrayMojibake.data()/*"屯"*/,2)==0) strcpy(FieldInfo[i].Unit,"");
|
||||
if(strncmp(FieldInfo[i].HZName,ArrayMojibake.data()/*"屯"*/,2)==0) strcpy(FieldInfo[i].HZName,FieldInfo[i].Name);
|
||||
if(strncmp(FieldInfo[i].HZUnit,ArrayMojibake.data()/*"屯"*/,2)==0) strcpy(FieldInfo[i].HZUnit,FieldInfo[i].Unit);
|
||||
|
||||
int len=sizeof(pf[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;
|
||||
Slf_OBJECT_FIELD *pf=new Slf_OBJECT_FIELD[FieldCount];
|
||||
GetSlfTableFieldInfo(index,pf);
|
||||
QString strMojibake = "屯"; //乱码判断
|
||||
QByteArray ArrayMojibake = strMojibake.toLocal8Bit().data();
|
||||
for(int i=0;i<FieldCount;i++) {
|
||||
|
||||
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);
|
||||
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);
|
||||
if(len>sizeof(pf[i].HZName)) len=sizeof(pf[i].HZName);
|
||||
strncpy(pf[i].HZName,FieldInfo[i].HZName,sizeof(pf[i].HZName));
|
||||
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);
|
||||
if(len>sizeof(pf[i].Unit)) len=sizeof(pf[i].Unit);
|
||||
strncpy(pf[i].Unit,FieldInfo[i].Unit,sizeof(pf[i].Unit));
|
||||
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);
|
||||
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];
|
||||
memset(pf,0,sizeof(Slf_OBJECT_FIELD)*FieldCount);
|
||||
GetSlfTableFieldInfo(index,pf);
|
||||
QString strMojibake = "屯"; //乱码判断
|
||||
QByteArray ArrayMojibake = strMojibake.toLocal8Bit().data();
|
||||
for(int i=0;i<FieldCount;i++) {
|
||||
FieldInfo[i].Length=pf[i].CodeLength;
|
||||
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].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].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;
|
||||
}
|
||||
delete []pf;
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user