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

📄 sv_data.c

📁 站长96年写的一个Internet上用的股票行情、分析、交易、资讯程序源码
💻 C
字号:
#include <windows.h>#include <windowsx.h>#include <stdio.h>#include <stdlib.h>#include <string.h>#include <time.h>#include "main.h"#include "hq.h"#include "data.h"#include "cl_hq.h"#include "cl_data.h"HFILE hfHq[2], hfMmp[2], hfDp, hfMaxMin[2], hfGraHead[2];extern void MsgLocal(LPSTR msg);extern HWND ghWndMain;int ReadHqAll(int jys){	if(ReadHqData(jys)<0)	{		ErrMsg(NULL, "ReadHqData failed!");		return -1;	}	if(jys ==0)	{		if(ReadDpData()<0)		{			ErrMsg(NULL, "ReadDpData failed!");			return -1;		}	}	if(ReadMmpData(jys)<0)	{		ErrMsg(NULL, "ReadMmpData failed!");		//return -1;	}	if(ReadMaxMinData(jys)<0)	{		ErrMsg(NULL, "ReadMaxMinData failed!");		return -1;	}	if(ReadGraHead(jys)<0)	{		ErrMsg(NULL, "ReadGraHead failed!");		return -1;	}	return 0;}int RefreshHq(int jys){	short recCount;//	int ret;//	static seri =0;	if(hfHq[jys] <0)		return 0;	_llseek(hfHq[jys], 0, SEEK_SET);	if(_lread(hfHq[jys], &recCount,				sizeof(short)) !=sizeof(short))	{		ErrMsg(ghWndMain, "来自RefreshHq():读行情数据文件头错");		return -1;	}		if(recCount<=0||recCount>1000)		return -1;	//if(HqData[jys].recCount ==0||HqData[jys].recCount <recCount)	//{	//	ret =HqAllocMem(jys, recCount);	//	if(ret<0)	return -1;	//}	if(ReadHqData(jys)<0)		return -1;	if(jys ==0)	{		if(ReadDpData()<0)			return -1;	}	ReadMmpData(jys);	ReadMaxMinData(jys);//	if(seri ==0)//	{		CreateLzwMemData(jys);//		seri++;//		if(seri ==2) seri =0;//	}	return 0;}extern short date_num;int ReadGraHead(int jys){	int i;	char temp[128];	HFILE hFile;	OFSTRUCT os;	for(i =0; i<HqData[jys].recCount; i++)	{		wsprintf(temp, "%s\\%s.dat",			GraphData[jys].szGraPath,			HqData[jys].lpPreData[i].zqdm);		hFile =OpenFile(temp, &os, OF_SHARE_DENY_NONE|OF_READ);		if(hFile ==HFILE_ERROR)			goto reset_values;		else		{			if(_lread(hFile, &GraphData[jys].lpGraHead[i],					sizeof(GRA_HEAD)) !=sizeof(GRA_HEAD))				goto reset_values;			//else			//	if(GraphData[jys].lpGraHead[i].dateNum !=date_num)			//		goto reset_values;			_lclose(hFile);			continue;		}reset_values:		memset(&GraphData[jys].lpGraHead[i], 0, sizeof(GRA_HEAD));		GraphData[jys].lpGraHead[i].dateNum =date_num;		GraphData[jys].lpGraHead[i].zrsp =HqData[jys].lpPreData[i].zrsp;		//GraphData[jys].lpGraHead[i].zl =HqData[jys].lpRefData[i].cjss;		GraphData[jys].lpGraHead[i].zgjg =HqData[jys].lpRefData[i].zgjg;		GraphData[jys].lpGraHead[i].zdjg =HqData[jys].lpRefData[i].zdjg;		if(hFile !=HFILE_ERROR) _lclose(hFile);	}	return 0;}int ReadHqData(int jys){	char tmp[100],temp[100];//	int i;	sprintf(tmp, "读取行情数据:%s", (jys==0)?"深圳":"上海");	MsgLocal(tmp);		_llseek(hfHq[jys], 0, FILE_BEGIN);	if(_lread(hfHq[jys], &HqData[jys].recCount, sizeof(short))			!=sizeof(short))	{		wsprintf(temp,"%s:%s",(jys==0)?"深圳":"上海","来自ReadHqData:读文件头失败");		ErrMsg(ghWndMain,temp);		return -1;	}	//for(i=0;i<HqData[jys].recCount;i++)	//{	if(_lread(hfHq[jys], HqData[jys].lpPreData, (UINT)HqData[jys].recCount*sizeof(HQ_PRE_DATA))			!=(UINT)HqData[jys].recCount*sizeof(HQ_PRE_DATA))	{		wsprintf(temp,"%s:%s",(jys==0)?"深圳":"上海","来自ReadHqData:读文件固定部分失败");		ErrMsg(ghWndMain,temp);		return -1;	}	//_lread(hfHq[jys], &HqData[jys].lpPreData[i], sizeof(HQ_PRE_DATA));	//}    //for(i=0;i<HqData[jys].recCount;i++)	//{	if(_lread(hfHq[jys], HqData[jys].lpRefData, (UINT)HqData[jys].recCount*sizeof(HQ_REF_DATA))			!=(UINT)HqData[jys].recCount*sizeof(HQ_REF_DATA))	{		wsprintf(temp,"%s:%s",(jys==0)?"深圳":"上海","来自ReadHqData:读文件刷新部分失败");		ErrMsg(ghWndMain,temp);		return -1;	}	//_lread(hfHq[jys], &HqData[jys].lpRefData[i], sizeof(HQ_REF_DATA));	//}	return 0;}int ReadDpData(void){	MsgLocal("读取大盘数据");		_llseek(hfDp, 0, SEEK_SET);	if(_lread(hfDp, &DpData, sizeof(DpData)) !=sizeof(DpData))	{		ErrMsg(ghWndMain,"来自ReadDpData:读文件失败");		return -1;	}	return 0;}int ReadMmpData(int jys){	char tmp[100];//	int i;	sprintf(tmp, "读取买卖盘数据:%s", (jys==0)?"深圳":"上海");	MsgLocal(tmp);		_llseek(hfMmp[jys], 0, SEEK_SET);	//for(i=0;i<HqData[jys].recCount;i++)	//{	if(_lread(hfMmp[jys], MmpData[jys].lpMmp, sizeof(MMP)*HqData[jys].recCount)			!=(UINT)sizeof(MMP)*HqData[jys].recCount)	{	//	ErrMsg(ghWndMain,"来自ReadMmpData:读文件失败");		return -1;	}	//_lread(hfMmp[jys], &MmpData[jys].lpMmp[i], sizeof(MMP));	//}	return 0;}                     	int ReadMaxMinData(int jys){	//char temp[100];	_llseek(hfMaxMin[jys], 0, SEEK_SET);	if(_lread(hfMaxMin[jys], &MaxMinData[jys], sizeof(MaxMinData[jys]))			!=sizeof(MaxMinData[jys]))	{		//wsprintf(temp,"%s:%s",(jys==0)?"深圳":"上海",		//		"来自ReadMaxMinData:读文件失败");		//ErrMsg(ghWndMain,temp);		return -1;	}	return 0;}int HqAllocMem(int jys, short recCount){	return clHqAllocMem(jys,(int)recCount);}

⌨️ 快捷键说明

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