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

📄 env.c

📁 站长96年写的一个Internet上用的股票行情、分析、交易、资讯程序源码
💻 C
字号:
#include <windows.h>#include <commdlg.h>#include <string.h>#include <stdio.h>#include <malloc.h>#include <ctype.h>#include <stdlib.h>#include <io.h>#include "resource.h"#include "appmain.h"#include "hq.h"#include "hq_tcp.h"#include "hq_cl.h"#include "jy_cl.h"#include "jy_tcp.h"#include "msg.h"#include "pctcp.h"#include "fx.h"       extern BOOL IsZsRec(int jys, int recNum);extern BOOL ErrMsg(HWND, LPSTR);extern char szDataPath[128];LRESULT CALLBACK SetHqEnvProc(HWND hDlg, UINT msg,	WPARAM wParam, LPARAM lParam);extern void Ip_Commit_Pack(int len,char *buff);#define		SET_SUCC		0#define		SET_NO_THIS_ID	-1#define		SET_PWD_ERROR	-2#define		SET_DATA_ERROR	-3#define 	DATA_START_SIGN -16#define		MAX_UCODE_SIZE	6#define		MAX_PWD_SIZE	6typedef struct tag_TCP_FRAME_HQ_ENV{    char sign;    int len; 	char head[6];	char ucode[MAX_UCODE_SIZE];	char pwd[MAX_PWD_SIZE];	char newpwd[MAX_PWD_SIZE+1];}TCP_FRAME_HQ_ENV;int SetHqEnv(void){	FARPROC lpDlgProc =NULL;	lpDlgProc =MakeProcInstance((FARPROC)SetHqEnvProc, ghInstance);	DialogBox(ghInstance, MAKEINTRESOURCE(IDD_ENV_HQ), ghWndMain,				lpDlgProc);	FreeProcInstance(lpDlgProc);	return TRUE;	}LRESULT CALLBACK SetHqEnvProc(HWND hDlg, UINT msg,					WPARAM wParam, LPARAM lParam){	PAINTSTRUCT ps;	char tmp[80];	HWND hctl;	int i,j;	//int idFocus;	//LPDRAWITEMSTRUCT lpdis;	LOGFONT tmplf;		//static HBRUSH hBrush;	    	//RECT rc;	//HDC hDC;	OFSTRUCT os;	HANDLE hf;		TCP_FRAME_HQ_ENV TcpFrameHqEnv;	CHOOSEFONT cf;	STOCK_INFO_FRAME StockInfo;		    	switch(msg)	{		case WM_INITDIALOG:			SendDlgItemMessage(hDlg, IDC_ENV_IP, EM_LIMITTEXT, 16, 0L);			SendDlgItemMessage(hDlg, IDC_ENV_USEPWD, EM_LIMITTEXT, 6, 0L);			SendDlgItemMessage(hDlg, IDC_ENV_NEWPWD, EM_LIMITTEXT, 6, 0L);						GetInitString("NET", "HOST", tmp);			SetDlgItemText(hDlg, IDC_ENV_IP, tmp);						sprintf(tmp,"%d",ITEM_SPACE_X);			SetDlgItemText(hDlg, IDC_ENV_SPACE, tmp);						sprintf(tmp,"%d",X0_TITLE);			SetDlgItemText(hDlg, IDC_ENV_ZQMC, tmp);			            sprintf(tmp,"%d",Fx->range+1);            SetDlgItemText(hDlg, IDC_ENV_PERI, tmp);			CenterWindow(hDlg);			//hBrush=CreateSolidBrush(RGB(0,255,255));		return TRUE;				case WM_PAINT:			BeginPaint(hDlg, &ps);			DrawFrame(ps.hdc, hDlg);						//GetClientRect(hDlg, &rc);			EndPaint(hDlg, &ps);		break;		case WM_COMMAND:			switch(wParam)			{				case IDOK:				   	GetDlgItemText(hDlg, IDC_ENV_IP, tmp,16);					PutInitString("NET", "HOST", tmp);				    				    strncpy(TcpFrameHqEnv.ucode,UserID,6);				                        GetDlgItemText(hDlg, IDC_ENV_USEPWD, tmp,7);				    if(strlen(tmp)>0)				    {				    	strncpy(TcpFrameHqEnv.pwd,tmp,6);				    }				    					GetDlgItemText(hDlg, IDC_ENV_NEWPWD, tmp,7);										if(strlen(tmp)>0)					{        						strncpy(TcpFrameHqEnv.newpwd,tmp,6);					 	TcpFrameHqEnv.newpwd[MAX_PWD_SIZE] =0;						TcpFrameHqEnv.sign =DATA_START_SIGN;						TcpFrameHqEnv.len =sizeof(TCP_FRAME_HQ_ENV) -3;					    strncpy(TcpFrameHqEnv.head,"SETENV",6); 					 						 	GetDlgItemText(hDlg, IDC_ENV_PWDAGAIN, tmp,7);					 	if(strncmp(tmp,TcpFrameHqEnv.newpwd,6)!=0)					 	{               					 	    MessageBox(hDlg, "两次输入的新密码不同","环境设置", MB_OK);					 	    hctl =GetDlgItem(hDlg, IDC_ENV_PWDAGAIN);							SetFocus(hctl);							break;					 	}					 	else					 	{					 		Ip_Commit_Pack(sizeof(TCP_FRAME_HQ_ENV),(char *)&TcpFrameHqEnv);					 		Msg("您的修改行情用户密码的请求已发出",MSG_VERT);		 						 	}					}   										GetDlgItemText(hDlg, IDC_ENV_SPACE, tmp,10);					i =atoi(tmp);					GetDlgItemText(hDlg, IDC_ENV_ZQMC, tmp,10);					j =atoi(tmp);					if((unsigned short)i!=ITEM_SPACE_X||(unsigned short)j!=X0_TITLE)					{						if(i>=1 &&i<=20)						{							ITEM_SPACE_X =i;							sprintf(tmp,"%d",ITEM_SPACE_X);							PutInitString("HQ", "ITEM_SPACE_X", tmp);						}						if(j>=40 &&j<=90)						{							X0_TITLE =j;							sprintf(tmp,"%d",X0_TITLE);							PutInitString("HQ", "X0_TITLE", tmp);						}						PostMessage(ghWndHq,WM_USER+5,0,0L);						InvalidateRect(ghWndHq, NULL, TRUE);					} 					GetDlgItemText(hDlg, IDC_ENV_PERI, tmp,10);            		i=atoi(tmp);            		if(i>0&&i<8)            		{               			i--;						CheckMenuItem(ghMenuMain,RANGE_MENU[Fx->range], MF_BYCOMMAND|MF_UNCHECKED);						CheckMenuItem(ghMenuMain,RANGE_MENU[i], MF_BYCOMMAND|MF_CHECKED);            			Fx->range =i;            			sprintf(tmp,"%d",i);            			PutInitString("FX", "RANGE", tmp);            		}					EndDialog(hDlg, 1);				break;				case IDCANCEL:					EndDialog(hDlg, 1);				break;				case IDC_FONT:					memset(&cf, 0, sizeof(CHOOSEFONT));					cf.lStructSize = sizeof(CHOOSEFONT);					cf.hwndOwner = ghWndMain;					cf.lpLogFont = &tmplf;					cf.Flags = CF_SCREENFONTS | CF_EFFECTS;					cf.rgbColors = RGB(0, 255, 255); /* light blue */					cf.nFontType = SCREEN_FONTTYPE;										if(ChooseFont(&cf))					{   						memcpy(&lf,&tmplf,sizeof(LOGFONT));						strcpy(tmp,"font.dat");						hf =OpenFile(tmp, &os, OF_SHARE_DENY_NONE|OF_CREATE|OF_WRITE);						_lwrite(hf,&lf,sizeof(LOGFONT));						_lclose(hf);						PostMessage(ghWndHq,WM_USER+1,0,0L);						InvalidateRect(ghWndHq, NULL, TRUE);					}				break;				case IDC_SZ_MINUTE:				    StockInfo.type=FILE_SZ_ALL_MINUTE;				    strcpy(StockInfo.name,"");			    	UDP_Send_Stock_Info(&StockInfo);			    	hctl =GetDlgItem(hDlg, IDC_SZ_MINUTE);			    	EnableWindow(hctl, FALSE);			    	hctl =GetDlgItem(hDlg, IDC_SZ_DAY);			    	EnableWindow(hctl, FALSE);			    				    	hctl =GetDlgItem(hDlg, IDC_SH_MINUTE);			    	EnableWindow(hctl, FALSE);			    	hctl =GetDlgItem(hDlg, IDC_SH_DAY);			    	EnableWindow(hctl, FALSE);							    break;				case IDC_SZ_DAY:				    StockInfo.type=FILE_SZ_ALL_DAY;				    strcpy(StockInfo.name,"");			    	UDP_Send_Stock_Info(&StockInfo);			    	hctl =GetDlgItem(hDlg, IDC_SZ_MINUTE);			    	EnableWindow(hctl, FALSE);			    	hctl =GetDlgItem(hDlg, IDC_SZ_DAY);			    	EnableWindow(hctl, FALSE);			    				    	hctl =GetDlgItem(hDlg, IDC_SH_MINUTE);			    	EnableWindow(hctl, FALSE);			    	hctl =GetDlgItem(hDlg, IDC_SH_DAY);			    	EnableWindow(hctl, FALSE);								break;				case IDC_SH_MINUTE:				    StockInfo.type=FILE_SH_ALL_MINUTE;				    strcpy(StockInfo.name,"");			    	UDP_Send_Stock_Info(&StockInfo);			    	hctl =GetDlgItem(hDlg, IDC_SZ_MINUTE);			    	EnableWindow(hctl, FALSE);			    	hctl =GetDlgItem(hDlg, IDC_SZ_DAY);			    	EnableWindow(hctl, FALSE);			    				    	hctl =GetDlgItem(hDlg, IDC_SH_MINUTE);			    	EnableWindow(hctl, FALSE);			    	hctl =GetDlgItem(hDlg, IDC_SH_DAY);			    	EnableWindow(hctl, FALSE);								break;				case IDC_SH_DAY:				    StockInfo.type=FILE_SH_ALL_DAY;				    strcpy(StockInfo.name,"");			    	UDP_Send_Stock_Info(&StockInfo);			    	hctl =GetDlgItem(hDlg, IDC_SZ_MINUTE);			    	EnableWindow(hctl, FALSE);			    	hctl =GetDlgItem(hDlg, IDC_SZ_DAY);			    	EnableWindow(hctl, FALSE);			    				    	hctl =GetDlgItem(hDlg, IDC_SH_MINUTE);			    	EnableWindow(hctl, FALSE);			    	hctl =GetDlgItem(hDlg, IDC_SH_DAY);			    	EnableWindow(hctl, FALSE);			    					break;			}		break;	}	return FALSE;}       

⌨️ 快捷键说明

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