⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 sv_jy.c

📁 站长96年写的一个Internet上用的股票行情、分析、交易、资讯程序源码
💻 C
📖 第 1 页 / 共 3 页
字号:
		CommBuffer[*(short*)(CommFile.fldStruct[fld_STAT].offset)]=';';		wsprintf(temp,"%d",AskCancel->cancelCount);		StringToFld(CommBuffer,CommFile.fldStruct[fld_JYMM],temp);		wsprintf(temp,"%d",jyNum);		StringToFld(CommBuffer,CommFile.fldStruct[fld_SERI],temp);	    WriteRecord(AnsFile.hf[lpJyDest->zqsid],lpJyDest->recNum,hlen,rlen,			CommBuffer);		wsprintf(temp,"%s%d%s",AnsFile.path[lpJyDest->zqsid],lpJyDest->recNum,".ANS");		hFile =OpenFile(temp, &os, OF_CREATE|OF_SHARE_DENY_NONE|OF_WRITE);		if(hFile ==HFILE_ERROR)			return ANS_SYS_ERR;		for(i=0;i<AskCancel->cancelCount;i++)		{			memset(CommBuffer,' ',*(short *)CommFile.dbfStruct.rlen);			StringToFld(CommBuffer,CommFile.fldStruct[fld_GDDM],AskCancel->gddm);			StringToFld(CommBuffer,CommFile.fldStruct[fld_HTHM],AskCancel->Cancel[i].hthm);          			CommBuffer[*(short*)(CommFile.fldStruct[fld_STKNO].offset)]				=(AskCancel->jys ==0)?'Z':'H';                      			CommBuffer[*(short*)(CommFile.fldStruct[fld_ASKNO].offset)]=REQ_CANCEL;			CommBuffer[*(short*)(CommFile.fldStruct[fld_ANSNO].offset)]=ANS_SUCC;			CommBuffer[*(short*)(CommFile.fldStruct[fld_STAT].offset)]=';'; 			wsprintf(temp,"%d",sd);			StringToFld(CommBuffer,CommFile.fldStruct[fld_ADDR],temp);			wsprintf(temp,"%d",jyNum);			StringToFld(CommBuffer,CommFile.fldStruct[fld_SERI],temp);			_lwrite(hFile,&CommBuffer[1], rlen-1);			_lwrite(hFile,"\r\n",2);				}		_lclose(hFile);	}	return 0;}int Jy_Yecx(int sd, int jyNum, LPJY_ASK_YECX AskYecx){	LPJY_DEST lpJyDest;	int ret,i=0;	char temp[20];	HFILE hFile;	OFSTRUCT os;	ret =CheckJyDest(sd, REQ_YECX, AskYecx->jys, AskYecx->gddm,				AskYecx->userId, &lpJyDest);	if(ret==-1)		return ANS_SYS_ERR;	if(ret==-2)		return ANS_SUSP_REQ;	if(ret==-3)		return ANS_NO_PRIV;		if(ReqFile.hf[lpJyDest->zqsid] ==-1)		return ANS_SYS_ERR;	memset(CommBuffer,' ',*(short *)CommFile.dbfStruct.rlen);	StringToFld(CommBuffer,CommFile.fldStruct[fld_GDDM],AskYecx->gddm);	CommBuffer[*(short*)(CommFile.fldStruct[fld_STKNO].offset)]		=(AskYecx->jys ==0)?'Z':'H';                        	StringToFld(CommBuffer,CommFile.fldStruct[fld_GPDM],AskYecx->gpdm);      	CommBuffer[*(short*)(CommFile.fldStruct[fld_ASKNO].offset)]=REQ_YECX;	CommBuffer[*(short*)(CommFile.fldStruct[fld_STAT].offset)]=';'; 	wsprintf(temp,"%d",sd);	StringToFld(CommBuffer,CommFile.fldStruct[fld_ADDR],temp);	wsprintf(temp,"%d",jyNum);	StringToFld(CommBuffer,CommFile.fldStruct[fld_SERI],temp);	ClearAns(lpJyDest);	    wsprintf(temp,"%s%d%s",AnsFile.path[lpJyDest->zqsid],lpJyDest->recNum,".ANS");    remove(temp);	if(WriteRecord(ReqFile.hf[lpJyDest->zqsid],lpJyDest->recNum,hlen,rlen,		CommBuffer)!=0)	{		ErrMsg(NULL, "不能写交换文件!");		return ANS_SYS_ERR;	}	if(ChangeJyDest(sd, lpJyDest, REQ_YECX, AskYecx->jys, -1, jyNum) <0)		return ANS_SYS_ERR;	if(fTestJy)	{		Sleep(1000);		wsprintf(temp,"%s%d%s",AnsFile.path[lpJyDest->zqsid],lpJyDest->recNum,".ANS");		hFile =OpenFile(temp, &os, OF_CREATE|OF_SHARE_DENY_NONE|OF_WRITE);		if(hFile ==HFILE_ERROR)			return 0;		for(i=0;i<22;i++)		{			memset(CommBuffer,0,sizeof(CommBuffer));			wsprintf(temp,"%04d",i+1);			StringToFld(CommBuffer,CommFile.fldStruct[fld_GPDM],temp);      			wsprintf(temp,"%8d",(i+1)*10);			StringToFld(CommBuffer,CommFile.fldStruct[fld_WTGS],temp);      			wsprintf(temp,"%8d",(i+1)*20);			StringToFld(CommBuffer,CommFile.fldStruct[fld_WTJG],temp);      			StringToFld(CommBuffer,CommFile.fldStruct[fld_DATE],"111111");      			CommBuffer[*(short*)(CommFile.fldStruct[fld_STAT].offset)]=';';			_lwrite(hFile,&CommBuffer[1], rlen-1);			_lwrite(hFile,"\r\n",2);		}		_lclose(hFile);		CommBuffer[*(short*)(CommFile.fldStruct[fld_ANSNO].offset)]=ANS_SUCC;		CommBuffer[*(short*)(CommFile.fldStruct[fld_STAT].offset)]=';';		StringToFld(CommBuffer,CommFile.fldStruct[fld_JYMM],"22");		StringToFld(CommBuffer,CommFile.fldStruct[fld_WTGS],"9000000.12");		StringToFld(CommBuffer,CommFile.fldStruct[fld_WTJG],"2000000.99");		wsprintf(temp,"%d",jyNum);		StringToFld(CommBuffer,CommFile.fldStruct[fld_SERI],temp);	    WriteRecord(AnsFile.hf[lpJyDest->zqsid],lpJyDest->recNum,hlen,rlen,			CommBuffer);	}			return 0;}int Jy_Cjcx(int sd, int jyNum, LPJY_ASK_CJCX AskCjcx){	LPJY_DEST lpJyDest;	int ret,i=0;	char temp[20];	HFILE hFile;	OFSTRUCT os;	ret =CheckJyDest(sd, REQ_CJCX, AskCjcx->jys, AskCjcx->gddm, AskCjcx->userId, &lpJyDest);	if(ret==-1)		return ANS_SYS_ERR;	if(ret==-2)		return ANS_SUSP_REQ;	if(ret==-3)		return ANS_NO_PRIV;		if(ReqFile.hf[lpJyDest->zqsid] ==-1)		return ANS_SYS_ERR;      	memset(CommBuffer,' ',*(short *)CommFile.dbfStruct.rlen);	StringToFld(CommBuffer,CommFile.fldStruct[fld_GDDM],AskCjcx->gddm);	CommBuffer[*(short*)(CommFile.fldStruct[fld_STKNO].offset)]		=(AskCjcx->jys ==0)?'Z':'H';                        	StringToFld(CommBuffer,CommFile.fldStruct[fld_DATE],AskCjcx->cjrq);      	StringToFld(CommBuffer,CommFile.fldStruct[fld_HTHM],AskCjcx->hthm);      	CommBuffer[*(short*)(CommFile.fldStruct[fld_ASKNO].offset)]=REQ_CJCX;	CommBuffer[*(short*)(CommFile.fldStruct[fld_STAT].offset)]=';'; 	wsprintf(temp,"%d",sd);	StringToFld(CommBuffer,CommFile.fldStruct[fld_ADDR],temp);	wsprintf(temp,"%d",jyNum);	StringToFld(CommBuffer,CommFile.fldStruct[fld_SERI],temp);		ClearAns(lpJyDest);    wsprintf(temp,"%s%d%s",AnsFile.path[lpJyDest->zqsid],lpJyDest->recNum,".ANS");    remove(temp);	if(WriteRecord(ReqFile.hf[lpJyDest->zqsid],lpJyDest->recNum,hlen,rlen,		CommBuffer)!=0)	{		ErrMsg(NULL, "不能写交换文件!");		return ANS_SYS_ERR;	}	if(ChangeJyDest(sd, lpJyDest, REQ_CJCX, AskCjcx->jys, -1, jyNum) <0)	{		ErrMsg(NULL,"来自Jy_Cjcx:ChangeJyDest");		return ANS_SYS_ERR;	}	if(fTestJy)	{		Sleep(1000);		CommBuffer[*(short*)(CommFile.fldStruct[fld_ANSNO].offset)]=ANS_SUCC;		CommBuffer[*(short*)(CommFile.fldStruct[fld_STAT].offset)]=';';		StringToFld(CommBuffer,CommFile.fldStruct[fld_JYMM],"22");		wsprintf(temp,"%d",jyNum);		StringToFld(CommBuffer,CommFile.fldStruct[fld_SERI],temp);	    WriteRecord(AnsFile.hf[lpJyDest->zqsid],lpJyDest->recNum,hlen,rlen,			CommBuffer);		wsprintf(temp,"%s%d%s",AnsFile.path[lpJyDest->zqsid],lpJyDest->recNum,".ANS");		hFile =OpenFile(temp, &os, OF_CREATE|OF_SHARE_DENY_NONE|OF_WRITE);		if(hFile ==HFILE_ERROR)			return ANS_SYS_ERR;		for(i=0;i<22;i++)		{			CommBuffer[*(short*)(CommFile.fldStruct[fld_ANSNO].offset)]=i-(int)(i/2)*2==0 ?'B':'S';			wsprintf(temp,"%04d",i+1);			StringToFld(CommBuffer,CommFile.fldStruct[fld_GPDM],temp);      			wsprintf(temp,"%8d",(i+1)*100);			StringToFld(CommBuffer,CommFile.fldStruct[fld_WTGS],temp);      			wsprintf(temp,"%8d",i+10);			StringToFld(CommBuffer,CommFile.fldStruct[fld_WTJG],temp);      			wsprintf(temp,"%06d",i+100);			StringToFld(CommBuffer,CommFile.fldStruct[fld_HTHM],temp);      			StringToFld(CommBuffer,CommFile.fldStruct[fld_DATE],"111111");      			CommBuffer[*(short*)(CommFile.fldStruct[fld_STAT].offset)]=';';					_lwrite(hFile,&CommBuffer[1], rlen-1);			_lwrite(hFile,"\r\n",2);		}		_lclose(hFile);	}		return 0;}int Jy_Wtcx(int sd, int jyNum, LPJY_ASK_WTCX AskWtcx){	LPJY_DEST lpJyDest;	int ret,i=0;	char temp[20];	HFILE hFile;	OFSTRUCT os;	ret =CheckJyDest(sd, REQ_WTCX, AskWtcx->jys, AskWtcx->gddm,		AskWtcx->userId, &lpJyDest);	if(ret==-1)		return ANS_SYS_ERR;	if(ret==-2)		return ANS_SUSP_REQ;	if(ret==-3)		return ANS_NO_PRIV;		if(ReqFile.hf[lpJyDest->zqsid] ==-1)		return ANS_SYS_ERR;	memset(CommBuffer,' ',*(short *)CommFile.dbfStruct.rlen);	StringToFld(CommBuffer,CommFile.fldStruct[fld_GDDM],AskWtcx->gddm);	CommBuffer[*(short*)(CommFile.fldStruct[fld_STKNO].offset)]		=(AskWtcx->jys ==0)?'Z':'H';                        	StringToFld(CommBuffer,CommFile.fldStruct[fld_DATE],AskWtcx->wtrq);      	StringToFld(CommBuffer,CommFile.fldStruct[fld_HTHM],AskWtcx->hthm);      	CommBuffer[*(short*)(CommFile.fldStruct[fld_ASKNO].offset)]=REQ_WTCX;	CommBuffer[*(short*)(CommFile.fldStruct[fld_JYMM].offset)]=AskWtcx->cdcx;	CommBuffer[*(short*)(CommFile.fldStruct[fld_STAT].offset)]=';';	wsprintf(temp,"%d",sd);	StringToFld(CommBuffer,CommFile.fldStruct[fld_ADDR],temp);	wsprintf(temp,"%d",jyNum);	StringToFld(CommBuffer,CommFile.fldStruct[fld_SERI],temp);		ClearAns(lpJyDest);    wsprintf(temp,"%s%d%s",AnsFile.path[lpJyDest->zqsid],lpJyDest->recNum,".ANS");    remove(temp);	if(WriteRecord(ReqFile.hf[lpJyDest->zqsid],lpJyDest->recNum,hlen,rlen,		CommBuffer)!=0)	{		ErrMsg(NULL, "不能写交换文件!");		return ANS_SYS_ERR;	}	if(ChangeJyDest(sd, lpJyDest, REQ_WTCX, AskWtcx->jys, -1, jyNum) <0)		return ANS_SYS_ERR;	if(fTestJy)	{		Sleep(1000);		CommBuffer[*(short*)(CommFile.fldStruct[fld_ANSNO].offset)]=ANS_SUCC;		CommBuffer[*(short*)(CommFile.fldStruct[fld_STAT].offset)]=';';		StringToFld(CommBuffer,CommFile.fldStruct[fld_JYMM],"22");		wsprintf(temp,"%d",jyNum);		StringToFld(CommBuffer,CommFile.fldStruct[fld_SERI],temp);	    WriteRecord(AnsFile.hf[lpJyDest->zqsid],lpJyDest->recNum,hlen,			rlen,CommBuffer);		wsprintf(temp,"%s%d%s",AnsFile.path[lpJyDest->zqsid],lpJyDest->recNum,".ANS");		hFile =OpenFile(temp, &os, OF_CREATE|OF_SHARE_DENY_NONE|OF_WRITE);		if(hFile ==HFILE_ERROR)			return ANS_SYS_ERR;		for(i=0;i<22;i++)		{			CommBuffer[*(short*)(CommFile.fldStruct[fld_ANSNO].offset)]=i-(int)(i/2)*2==0 ?'B':'S';			wsprintf(temp,"%04d",i+1);			StringToFld(CommBuffer,CommFile.fldStruct[fld_GPDM],temp);      			wsprintf(temp,"%8d",(i+1)*100);			StringToFld(CommBuffer,CommFile.fldStruct[fld_WTGS],temp);			wsprintf(temp,"%8d",i+10);			StringToFld(CommBuffer,CommFile.fldStruct[fld_WTJG],temp);      			wsprintf(temp,"%06d",i+100);			StringToFld(CommBuffer,CommFile.fldStruct[fld_HTHM],temp);      			StringToFld(CommBuffer,CommFile.fldStruct[fld_DATE],"111111");      			CommBuffer[*(short*)(CommFile.fldStruct[fld_STAT].offset)]=';';			_lwrite(hFile,&CommBuffer[1], rlen-1);			_lwrite(hFile,"\r\n",2);		}		_lclose(hFile);	}	return 0;}int JyDest_ChkUsr(LPJY_DEST lpJyDest){	BYTE SendBuff[2048];	int ret, len;	char stat,temp[10];    JY_ANS_CHKUSR AnsUser;	ReadRecord(AnsFile.hf[lpJyDest->zqsid],lpJyDest->recNum,hlen,		rlen,CommBuffer);	stat=CommBuffer[*(short*)(CommFile.fldStruct[fld_STAT].offset)];	if(stat !=';') 		return 0;	FldToString(CommBuffer,&CommFile.fldStruct[fld_SERI],temp);		if(lpJyDest->jyNum!=atoi(temp)) 		return 0;	ret=CommBuffer[*(short*)(CommFile.fldStruct[fld_ANSNO].offset)];	if(ret==' ')		return 0;	strcpy(SendBuff, JY_CHKUSR_HEAD);	len =strlen(SendBuff);	*(short *)&SendBuff[len] =lpJyDest->jyNum;	len +=sizeof(short);	AnsUser.jys=lpJyDest->curJys;    AnsUser.userId=lpJyDest->userId;	strcpy(AnsUser.gddm,lpJyDest->gddm);	AnsUser.flag=(char)ret;	memcpy(&SendBuff[len],&AnsUser,sizeof(JY_ANS_CHKUSR));	len+=sizeof(AnsUser);	UDP_SendBuff("检查交易用户", lpJyDest->sd, SendBuff, len,NULL);  		lpJyDest->isReqEnd =TRUE;		ClearReq(lpJyDest);	return 0;}	       int JyDest_ChgPwd(LPJY_DEST lpJyDest){	BYTE SendBuff[100];	int ret, stat, len;	JY_ANS_CHGPWD AnsChgPwd;    char temp[10];	ReadRecord(AnsFile.hf[lpJyDest->zqsid],lpJyDest->recNum,hlen,		rlen,CommBuffer);	stat=CommBuffer[*(short*)(CommFile.fldStruct[fld_STAT].offset)];                     	if(stat !=';') 		return 0;	FldToString(CommBuffer,&CommFile.fldStruct[fld_SERI],temp);		if(lpJyDest->jyNum!=atoi(temp)) 		return 0;	ret=CommBuffer[*(short*)(CommFile.fldStruct[fld_ANSNO].offset)];	if(ret==' ')		return 0;	AnsChgPwd.flag =(char)ret;	AnsChgPwd.jys =lpJyDest->curJys;		strcpy(SendBuff, JY_CHGPWD_HEAD);	len =strlen(SendBuff);	*(short *)&SendBuff[len] =lpJyDest->jyNum;	len +=sizeof(short);	strcpy(AnsChgPwd.gddm, lpJyDest->gddm);	memcpy(&SendBuff[len], &AnsChgPwd, sizeof(AnsChgPwd));	len +=sizeof(AnsChgPwd);	UDP_SendBuff("修改交易密码", lpJyDest->sd, SendBuff, len, NULL);	lpJyDest->isReqEnd =TRUE;	ClearReq(lpJyDest);	return 0;}	       int JyDest_BuySell(LPJY_DEST lpJyDest){	char hthm[20],temp[10];	BYTE SendBuff[100];	int stat, ret, len;    JY_ANS_BUYSELL AnsBuySell; 	ReadRecord(AnsFile.hf[lpJyDest->zqsid],lpJyDest->recNum,		hlen,rlen,CommBuffer);	stat=CommBuffer[*(short*)(CommFile.fldStruct[fld_STAT].offset)];                     	if(stat !=';') 		return 0;		FldToString(CommBuffer,&CommFile.fldStruct[fld_SERI],temp);		if(lpJyDest->jyNum!=atoi(temp)) 		return 0;	ret=CommBuffer[*(short*)(CommFile.fldStruct[fld_ANSNO].offset)];	if(ret==' ')		return 0;	hthm[0] =0;	if(ret==ANS_SUCC)	{		FldToString(CommBuffer,&CommFile.fldStruct[fld_HTHM],hthm);		memset(temp,' ',(short)CommFile.fldStruct[fld_HTHM].wid);		if(strncmp(hthm,temp,(short)CommFile.fldStruct[fld_HTHM].wid)==0)			return 0;	}	AnsBuySell.jys=lpJyDest->curJys;	strcpy(AnsBuySell.gddm,lpJyDest->gddm);	strcpy(AnsBuySell.hthm,hthm);	AnsBuySell.bs=REQ_BUYSEL;	AnsBuySell.flag=(char)ret;	strcpy(SendBuff, JY_BUYSELL_HEAD);	len =strlen(SendBuff);	*(short *)&SendBuff[len] =lpJyDest->jyNum;	len +=sizeof(short);		memcpy(&SendBuff[len],&AnsBuySell,sizeof(AnsBuySell));	len+=sizeof(AnsBuySell);		UDP_SendBuff("买卖委托", lpJyDest->sd, SendBuff, len, NULL);	lpJyDest->isReqEnd =TRUE;	ClearReq(lpJyDest);	return 0;}	       int JyDest_Cancel(LPJY_DEST lpJyDest){	BYTE SendBuff[600];	int ret, stat, len, i,retnum;	JY_ANS_CANCEL AnsCancel;	char temp[20],tmp[13];	HFILE hFile;	OFSTRUCT os;	ReadRecord(AnsFile.hf[lpJyDest->zqsid],lpJyDest->recNum,		hlen,rlen,CommBuffer);	stat=CommBuffer[*(short*)(CommFile.fldStruct[fld_STAT].offset)];	if(stat!=';') 		return 0;	FldToString(CommBuffer,&CommFile.fldStruct[fld_SERI],temp);		if(lpJyDest->jyNum!=atoi(temp)) 		return 0;	ret=CommBuffer[*(short*)(CommFile.fldStruct[fld_ANSNO].offset)];	if(ret==' ')		return 0;	FldToString(CommBuffer,&CommFile.fldStruct[fld_JYMM],temp);	memset(tmp,' ',(short)CommFile.fldStruct[fld_JYMM].wid);	if(ret==ANS_SUCC&&strncmp(temp,tmp,(short)CommFile.fldStruct[fld_JYMM].wid)==0)		return 0;	retnum=atoi(temp);		if(ret!=ANS_SUCC)		AnsCancel.flag[0] =ret;	else	{		if(retnum==1)		{			ret=CommBuffer[*(short*)(CommFile.fldStruct[fld_ANSNO].offset)];			AnsCancel.flag[0] =ret;		}		else		{			wsprintf(temp,"%s%d%s",AnsFile.path[lpJyDest->zqsid],lpJyDest->recNum,".ANS");			hFile =OpenFile(temp, &os, OF_SHARE_DENY_NONE|OF_READ);			if(hFile ==HFILE_ERROR)				return 0;			i=_llseek(hFile, 0L, FILE_END);			if(i==HFILE_ERROR)			{				_lclose(hFile);				return 0;			}			if((i-1)/(rlen+1)!=retnum)			{				_lclose(hFile);				return 0;			}			_llseek(hFile, 0L, FILE_BEGIN);			for(i =0; i<retnum; i++)			{				if((short)_lread(hFile,&CommBuffer[1],rlen -1)!=rlen -1)					break;				ret=CommBuffer[*(int*)(CommFile.fldStruct[fld_ANSNO].offset)];						AnsCancel.flag[i] =ret;				_llseek(hFile, 2L, FILE_CURRENT);			}			_lclose(hFile);			remove(temp);		}	}	AnsCancel.jys =lpJyDest->curJys;	strcpy(AnsCancel.gddm, lpJyDest->gddm);

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -