📄 convapi.c
字号:
cLine[i] = '\0';
}
return(1);
}
/*
Read a line to a string from a file, "\n" is excluded.
return 1 if sucessful, 0 otherwise
Do not close the file.
*/
int myapi_ReadALinefromF( char *cALine,FILE *hTable )
{
char cChar='\0';
int i=0;
cALine[0] = '\0';
while( (cChar = fgetc( hTable )) != '\n' )
{
if( cChar == EOF ) return(0);
cALine[i++] = cChar;
if( i >= MAX_LINE_LEN ) i=0;
cALine[i] = '\0'; /* define the end of a string */
}
return(1);
}
/* change the int varible to the string */
void itoa(long The_int_data, char* The_out_string, int j)
{
int k;
char tmp[]=" ";
char tempstr[15];
sprintf(The_out_string,"%d",The_int_data);
k=strlen(The_out_string);
if( k>=j )
return;
strncpy(tempstr,tmp,(j-k));
tempstr[j-k]='\0';
strcat(tempstr,The_out_string);
strcpy(The_out_string,tempstr);
}
/*
{
char exch_str[12];
char a;
int i=0, n, the_mod;
The_out_string[0]='\0';
if (The_int_data==0)
{
exch_str[0]='0';
exch_str[1]='\0';
strcat( The_out_string, exch_str);
for(n=1;n<j-1;n++)
The_out_string[n]=' ';
The_out_string[n]='\0';
return;
}
while(1)
{
the_mod = The_int_data%10;
exch_str[i] = (char )(the_mod+48);
exch_str[i+1] = '\0';
i++;
if((The_int_data = (The_int_data/10))<10)
{
exch_str[i] = (char)(The_int_data+48);
exch_str[i+1] = '\0';
break;
}
}
for(n=0;n<=i;n++)
The_out_string[n] = exch_str[i-n];
for(n=i+1;n<j-1;n++)
The_out_string[n]=' ';
The_out_string[n]='\0';
}*/
/* change the float varible to string, the parameter 'm' is the decimal */
void ftoa(float The_float_data, char *The_out_string, int m, int j)
{
float dot_data;
long The_int_body, The_int_data;
int k=10;
int i=1,n;
char First_string[8], End_string[8], dot[2],whole_string[10];
The_out_string[0]='\0';
dot[0]='.';
dot[1]='\0';
/* if the float equl to zero ,then ... */
if (The_float_data==0)
{
if (m==0)
{
First_string[0]='0';
First_string[1]='\0';
strcat(The_out_string, First_string);
for(n=1;n<j-1;n++)
The_out_string[n]=' ';
The_out_string[n]='\0';
return;
}
First_string[0]='0';
First_string[1]='\0';
strcat(The_out_string, First_string);
strcat(The_out_string, dot);
for(n=0;n<m;n++)
End_string[n]='0';
End_string[n]='\0';
strcat(The_out_string, End_string);
for(n=m+2;n<j-1;n++)
The_out_string[n]=' ';
The_out_string[n]='\0';
return;
}
/* change the float to long varible */
for(n=1;n<m;n++)
k = 10*k;
if( (The_float_data*k-(int)(The_float_data*k))<0.5 )
The_int_body = (int)(The_float_data*k);
else
The_int_body = (int)(The_float_data*k)+1;
/* calculate the digit of the long varible */
The_int_data = The_int_body;
while(1)
{
if((The_int_data = (The_int_data/10))<10)
break;
i++;
}
i++;
itoa(The_int_body, whole_string, i);
/* if the float varible smaller than 1, then ... */
if (The_float_data< 1 )
{
First_string[0]='0';
First_string[1]='\0';
strcat(The_out_string, First_string);
strcat(The_out_string, dot);
strcat(The_out_string, whole_string);
for(n=i+2;n<j-1;n++)
The_out_string[n]=' ';
The_out_string[n]='\0';
return;
}
/*change the varible to the First_string and End_string seperate by the dot */
for(n=0;n<i-m;n++)
First_string[n]=whole_string[n];
First_string[n]='\0';
for(n=0;n<m;n++)
End_string[n]=whole_string[i-m+n];
End_string[n]='\0';
strcat( The_out_string, First_string );
strcat( The_out_string, dot );
strcat( The_out_string, End_string );
for(n=i+1;n<j-1;n++)
The_out_string[n]=' ';
The_out_string[n]='\0';
}
/*delete the ' ' or '\n' of a string at the begin and end*/
void trim(char *CAline)
{
int i,j;
char temp_string[100];
i=strlen(CAline);
while(i>0) /*delete the end ' ' or '\n' */
{
if(CAline[i-1]==' '||CAline[i-1]=='\n')
CAline[i-1]='\0';
else
break;
i--;
}
i=0;j=0;
while( CAline[i]!='\0' ) /*delete the head ' ' or '\n' */
{
if(CAline[i]==' '||CAline[i]=='\n')
i++;
else
{
for (j=0;CAline[i]!='\0';i++,j++)
CAline[j]=CAline[i];
break;
}
}
CAline[j]='\0';
}
int InitPcsConvertFile()
{
/* EXEC SQL BEGIN DECLARE SECTION; */
/* VARCHAR username[20]; */
struct { unsigned short len; unsigned char arr[20]; } username;
/* VARCHAR password[20]; */
struct { unsigned short len; unsigned char arr[20]; } password;
/* EXEC SQL END DECLARE SECTION; */
strcpy(username.arr,"pcsdba");
username.len=strlen(username.arr);
strcpy(password.arr,"dba");
password.len=strlen(password.arr);
/* EXEC SQL WHENEVER SQLERROR DO sqlerror(); */
/* EXEC SQL CONNECT :username IDENTIFIED BY :password; */
{
struct sqlexd sqlstm;
sqlstm.sqlvsn = 8;
sqlstm.arrsiz = 3;
sqlstm.iters = (unsigned int )10;
sqlstm.offset = (unsigned int )44;
sqlstm.cud = sqlcud0;
sqlstm.sqlest = (unsigned char *)&sqlca;
sqlstm.sqlety = (unsigned short)0;
sqlstm.sqhstv[0] = (unsigned char *)&username;
sqlstm.sqhstl[0] = (unsigned int )22;
sqlstm.sqindv[0] = ( short *)0;
sqlstm.sqharm[0] = (unsigned int )0;
sqlstm.sqhstv[1] = (unsigned char *)&password;
sqlstm.sqhstl[1] = (unsigned int )22;
sqlstm.sqindv[1] = ( short *)0;
sqlstm.sqharm[1] = (unsigned int )0;
sqlstm.sqphsv = sqlstm.sqhstv;
sqlstm.sqphsl = sqlstm.sqhstl;
sqlstm.sqpind = sqlstm.sqindv;
sqlstm.sqparm = sqlstm.sqharm;
sqlstm.sqparc = sqlstm.sqharc;
sqlcxt((void **)0, &sqlctx, &sqlstm, &sqlfpn);
if (sqlca.sqlcode < 0) sqlerror();
}
if( ERROR!=0 )
{
ERROR=0;
return(-1);
}
return(0);
}
void ErrorEnded(char *string)
{
ProcessError(LOG_ERROR,string,END);
if(message!=NULL)
free(message);
if(messagesj!=NULL)
free(messagesj);
if(messagepd!=NULL)
free(messagepd);
if(messagepdsj!=NULL)
free(messagepdsj);
/* EXEC SQL ROLLBACK WORK; */
{
struct sqlexd sqlstm;
sqlstm.sqlvsn = 8;
sqlstm.arrsiz = 3;
sqlstm.iters = (unsigned int )1;
sqlstm.offset = (unsigned int )70;
sqlstm.cud = sqlcud0;
sqlstm.sqlest = (unsigned char *)&sqlca;
sqlstm.sqlety = (unsigned short)0;
sqlcxt((void **)0, &sqlctx, &sqlstm, &sqlfpn);
if (sqlca.sqlcode < 0) sqlerror();
}
}
/*add null at left or right to format a string, 0 means left ,1 means right*/
void str_givenlen( char *string,int p,char location )
{
int i,j;
char nullstr[]=" ";
char tmpstr[20];
trim(string);
tmpstr[0]='\0';
for(;;)
{
if( (string[0]=='0') && (strlen(string)!=1)&& (string[1]!='.') )
string[0]=' ';
else break;
trim(string);
}
i=strlen(string);
if( location=='0' ) /* 0 means left */
{
strncpy(tmpstr,nullstr,p-i);
tmpstr[p-i]='\0';
strcat(tmpstr,string);
strcpy(string,tmpstr);
}
else
{
strncat(string,nullstr,p-i);
string[p]='\0';
}
}
/* Check wether a file is exist */
int MyExistFile( const char* sFile )
{
FILE *hFileToOpen;
hFileToOpen = fopen( sFile, "r" );
if( hFileToOpen != (FILE*)NULL )
{
fclose( hFileToOpen );
return(1);
}
else
return(0);
}
int strnum_format(char *tempstr)
{
if( tempstr[1]==' ' )
return(-1);
trim(tempstr);
if( strlen(tempstr)==1 )
{
tempstr[2]='\0';
tempstr[1]=tempstr[0];
tempstr[0]='0';
}
if( strlen(tempstr)==0||strlen(tempstr)>2 )
return(-1);
return(0);
}
int strformat(char *tempstr)
{
int old,new,count;
char test_str[MID_LEN],tempstring[MID_LEN];
strcpy(test_str,tempstr);
trim(test_str);
old=strlen(tempstr);
new=strlen(test_str);
count=old-new;
tempstring[0]='\0';
for( ;count>0;count-- )
strcat(tempstring,"0");
strcat(tempstring,test_str);
strcpy(tempstr,tempstring);
return(0);
}
int GetPATH(char *bkdh,char *sjbh,int yxnf,char fbkjbh[3])
{
/* trim(bkdh);
*/ /* EXEC SQL WHENEVER SQLERROR DO sqlerror(); */
/* EXEC SQL SELECT fbkjbh INTO :fbkjbh FROM t_snmlfb WHERE bkdh=:bkdh and yxnf=:yxnf; */
{
struct sqlexd sqlstm;
sqlstm.sqlvsn = 8;
sqlstm.arrsiz = 3;
sqlstm.stmt = "select fbkjbh into :b0 from t_snmlfb where (bkdh=:b1 and yx\
nf=:b2)";
sqlstm.iters = (unsigned int )1;
sqlstm.offset = (unsigned int )84;
sqlstm.selerr = (unsigned short)1;
sqlstm.cud = sqlcud0;
sqlstm.sqlest = (unsigned char *)&sqlca;
sqlstm.sqlety = (unsigned short)0;
sqlstm.sqhstv[0] = (unsigned char *)fbkjbh;
sqlstm.sqhstl[0] = (unsigned int )3;
sqlstm.sqindv[0] = ( short *)0;
sqlstm.sqharm[0] = (unsigned int )0;
sqlstm.sqhstv[1] = (unsigned char *)bkdh;
sqlstm.sqhstl[1] = (unsigned int )0;
sqlstm.sqindv[1] = ( short *)0;
sqlstm.sqharm[1] = (unsigned int )0;
sqlstm.sqhstv[2] = (unsigned char *)&yxnf;
sqlstm.sqhstl[2] = (unsigned int )4;
sqlstm.sqindv[2] = ( short *)0;
sqlstm.sqharm[2] = (unsigned int )0;
sqlstm.sqphsv = sqlstm.sqhstv;
sqlstm.sqphsl = sqlstm.sqhstl;
sqlstm.sqpind = sqlstm.sqindv;
sqlstm.sqparm = sqlstm.sqharm;
sqlstm.sqparc = sqlstm.sqharc;
sqlcxt((void **)0, &sqlctx, &sqlstm, &sqlfpn);
if (sqlca.sqlcode < 0) sqlerror();
}
if( ERROR!=0 )
{
ERROR=0;
return(-1);
}
/* trim(fbkjbh);
*/ return(0);
}
int ConvertZZYSSJ(char *tempstring,char *messagesj,long int key,char *sjbh,int yxnf)
{
int num_yffs,control;
char tempstr[SHORT_LEN];
char zfj[9];
/* EXEC SQL WHENEVER SQLERROR DO sqlerror(); */
/* EXEC SQL SELECT COUNT(*) INTO :control FROM T_JSZDYSSJ
WHERE jsxh=:key and sjbh=:sjbh; */
{
struct sqlexd sqlstm;
sqlstm.sqlvsn = 8;
sqlstm.arrsiz = 3;
sqlstm.stmt = "select count(*) into :b0 from T_JSZDYSSJ where (jsxh=:b1 a\
nd sjbh=:b2)";
sqlstm.iters = (unsigned int )1;
sqlstm.offset = (unsigned int )110;
sqlstm.selerr = (unsigned short)1;
sqlstm.cud = sqlcud0;
sqlstm.sqlest = (unsigned char *)&sqlca;
sqlstm.sqlety = (unsigned short)0;
sqlstm.sqhstv[0] = (unsigned char *)&control;
sqlstm.sqhstl[0] = (unsigned int )4;
sqlstm.sqindv[0] = ( short *)0;
sqlstm.sqharm[0] = (unsigned int )0;
sqlstm.sqhstv[1] = (unsigned char *)&key;
sqlstm.sqhstl[1] = (unsigned int )4;
sqlstm.sqindv[1] = ( short *)0;
sqlstm.sqharm[1] = (unsigned int )0;
sqlstm.sqhstv[2] = (unsigned char *)sjbh;
sqlstm.sqhstl[2] = (unsigned int )0;
sqlstm.sqindv[2] = ( short *)0;
sqlstm.sqharm[2] = (unsigned int )0;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -