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

📄 telbook.c

📁 minigui PDA系统 可实现手机功能
💻 C
📖 第 1 页 / 共 2 页
字号:
/*********************************************************************
功能:通讯录.联系人的添加、查找(模糊、精确查找)、
修改、删除、打电话、浏览SIM卡
日期:2008 年7月 16日
作者:陈兴旺
**********************************************************************/
#include "telbook.h"
#include "../tel/call_time.h"//////////////////////////////////////
#include "../tel/tel.h"/////////////////////////
#include "../mybuttonreg.h"

/*static BITMAP alter_pushed;
static BITMAP alter_unpushed;
static BITMAP alter_mousemove;
static BITMAP return_pushed;
static BITMAP return_unpushed;
static BITMAP return_mousemove;
static BITMAP search_pushed;
static BITMAP search_unpushed;
static BITMAP search_mousemove;
static BITMAP dial_pushed;
static BITMAP dial_unpushed;
static BITMAP dial_mousemove;
static BITMAP sim_pushed;
static BITMAP sim_unpushed;
static BITMAP sim_mousemove;
static BITMAP delete_pushed;
static BITMAP delete_unpushed;
static BITMAP delete_mousemove;
static BITMAP add_pushed;
static BITMAP add_unpushed;
static BITMAP add_mousemove;
*/
static HWND hCtrl1;
static HWND hCtrl2;
static HWND hCtrl3;
static HWND hCtrl4;
static HWND hCtrl5;
static HWND hCtrl6;
static HWND hCtrl7;

static HWND hMainWnd;

void  parse(char *list)//字符串分割成姓名和号码
{
int i,j,k=0,len=strlen(list);
for(i=0;i<len,list[i]!=' ';i++)
	mod_name[i]=list[i];
mod_name[i]='\0';
while(list[i]==' ')  i++;
for(j=i;j<len,list[j]!='\0';j++)
	{mod_num[k]=list[j];
	k++;
	}
mod_num[k]='\0';
}
static void search_proc (HWND hwnd, int id, int nc, DWORD add_data)
{	
	if (id == IDM_NAME&& nc == EN_CHANGE) 
		GetWindowText (hwnd, search_name, 30);
	if (id == IDM_PHONE&& nc == EN_CHANGE) 
		GetWindowText (hwnd, search_num, 20);  
}

static void list_proc (HWND hwnd, int id, int nc, DWORD add_data)
{	
	int index;
	if (id == IDM_LIST&& nc == LBN_SELCHANGE) 
	{
	index= SendMessage (hwnd, LB_GETCURSEL, 0, 0) ; 
	SendMessage (hwnd, LB_GETTEXT, index, (LPARAM)list) ;
	parse(list);
	SetWindowText (GetDlgItem (GetParent(hwnd), IDM_NAME), mod_name);
	SetWindowText (GetDlgItem (GetParent(hwnd), IDM_PHONE), mod_num);
	}
}

void deleteFromFile()
{
FILE *fp;
Note item[100];	
int i=0,j;
if((fp=fopen("data/phonebook.dat","r"))==NULL)
{
	printf("open file error\n");
	exit(1);
}
while(!feof(fp))
	if(fread(&item[i],sizeof(Note),1,fp)==1)
	i++;
fclose(fp);
if((fp=fopen("data/phonebook.dat","w+"))==NULL)
{
	printf("open file error\n");
	exit(1);
}
 for(j=0;j<i;j++)
 {
 if(strcmp(item[j].name,mod_name)!=0&&strcmp(item[j].phone,mod_num)!=0)
	fwrite(&item[j],sizeof(Note),1,fp);
}
fclose(fp);
}

void createwin(HWND hwnd)
{
CreateWindowEx(CTRL_EDIT, NULL,WS_VISIBLE | WS_TABSTOP | WS_BORDER,WS_EX_TRANSPARENT, IDM_NAME,40, 5, 100, 25, hwnd, 0);   
CreateWindowEx(CTRL_EDIT, NULL,WS_VISIBLE | WS_TABSTOP | WS_BORDER,WS_EX_TRANSPARENT, IDM_PHONE,40, 35, 140, 25, hwnd, 0);   
CreateWindowEx(CTRL_LISTBOX, NULL,WS_VISIBLE | WS_BORDER|LBS_NOTIFY | WS_VSCROLL|LBS_SORT,WS_EX_TRANSPARENT,IDM_LIST,15, 65, 200, 95, hwnd, 0);   
//hCtrl1 = CreateWindowEx(CTRL_MYBUTTON, "打电话",WS_VISIBLE | BS_DEFPUSHBUTTON,WS_EX_TRANSPARENT,IDM_CALL,150, 5, 65, 25,hwnd, (DWORD)&dial_unpushed);   
hCtrl1 =CreateWindow ("button",
                          "打电话",
                          WS_CHILD | BS_PUSHBUTTON | WS_VISIBLE,
                          IDM_CALL,
                          150, 5, 65, 25,hwnd, 0);
// CreateWindowEx(CTRL_MYBUTTON, "添加",WS_VISIBLE | BS_DEFPUSHBUTTON,WS_EX_TRANSPARENT,IDM_ADD,245, 5, 65, 30,hwnd, (DWORD)&add_unpushed);   
hCtrl2 =CreateWindow ("button",
                          "添加",
                          WS_CHILD | BS_PUSHBUTTON | WS_VISIBLE,
                          IDM_ADD,
                          245, 5, 65, 30, hwnd, 0);

//hCtrl3 = CreateWindowEx(CTRL_MYBUTTON, "查找",WS_VISIBLE | BS_DEFPUSHBUTTON,WS_EX_TRANSPARENT,IDM_SEARCH,245, 45, 65, 30,hwnd, (DWORD)&search_unpushed);   
hCtrl3 =CreateWindow ("button",
                          "查找",
                          WS_CHILD | BS_PUSHBUTTON | WS_VISIBLE,
                          IDM_SEARCH,
                         245, 45, 65, 30, hwnd, 0);
//hCtrl4 = CreateWindowEx(CTRL_MYBUTTON, "修改",WS_VISIBLE | BS_DEFPUSHBUTTON,WS_EX_TRANSPARENT,IDM_MODIFY,245, 85, 65, 30,hwnd, (DWORD)&alter_unpushed);   
hCtrl4 =CreateWindow ("button",
                          "修改",
                          WS_CHILD | BS_PUSHBUTTON | WS_VISIBLE,
                          IDM_MODIFY,
                         245, 85, 65, 30, hwnd, 0);
//hCtrl5 = CreateWindowEx(CTRL_MYBUTTON, "删除",WS_VISIBLE | BS_DEFPUSHBUTTON,WS_EX_TRANSPARENT,IDM_DELETE,245, 125, 65, 30,hwnd, (DWORD)&delete_unpushed);   
hCtrl5 =CreateWindow ("button",
                          "删除",
                          WS_CHILD | BS_PUSHBUTTON | WS_VISIBLE,
                          IDM_DELETE,
                          245, 125, 65, 30, hwnd, 0);
//hCtrl6 = CreateWindowEx(CTRL_MYBUTTON, "返回",WS_VISIBLE | BS_DEFPUSHBUTTON,WS_EX_TRANSPARENT,IDM_RETURN,245, 160, 65, 30,hwnd, (DWORD)&return_unpushed);   
hCtrl6 =CreateWindow ("button",
                          "返回",
                          WS_CHILD | BS_PUSHBUTTON | WS_VISIBLE,
                          IDM_RETURN,
                         245, 160, 65, 30,hwnd, 0);
//hCtrl7 = CreateWindowEx(CTRL_MYBUTTON, "浏览SIM卡",WS_VISIBLE | BS_DEFPUSHBUTTON,WS_EX_TRANSPARENT,IDM_BROWSE,15, 165, 90, 25,hwnd, (DWORD)&sim_unpushed);   
hCtrl7 =CreateWindow ("button",
                          "浏览SIM卡",
                          WS_CHILD | BS_PUSHBUTTON | WS_VISIBLE,
                          IDM_BROWSE,
                         15, 165, 90, 25,hwnd, 0);
}


/*static void notify_proc (HWND hwnd, int id, int nc, DWORD add_data)
{	
	int i=0;
	time_t now;
	char time_buf[50];
	struct tm* timenow;
	char *wday[]={"Sun", "Mon", "Tue" ,"Wed" ,"Thu" ,"Fri" ,"Sat"};
	FILE *DTRfp;
	
	//printf("hwnd=%d\n", hwnd);		
	if ( hwnd == hCtrl1 && nc == LBN_CLICKED)
	{		
		SetWindowAdditionalData(hwnd, (DWORD)&dial_pushed);
	} 
	if(hwnd == hCtrl2 && nc == MYBUTTON_PUSHED)
		{
			SetWindowAdditionalData(hwnd, (DWORD)&add_pushed);
		}
	if(hwnd == hCtrl3 && nc == MYBUTTON_PUSHED)
		{
			SetWindowAdditionalData(hwnd, (DWORD)&search_pushed);
		}
	if(hwnd == hCtrl4 && nc == MYBUTTON_PUSHED)
		{
			SetWindowAdditionalData(hwnd, (DWORD)&alter_pushed);
		}
	if(hwnd == hCtrl5 && nc == MYBUTTON_PUSHED)
		{
			SetWindowAdditionalData(hwnd, (DWORD)&delete_pushed);
		}
	if(hwnd == hCtrl6 && nc == MYBUTTON_PUSHED)
		{
			SetWindowAdditionalData(hwnd, (DWORD)&return_pushed);
		}
	if(hwnd == hCtrl7 && nc == MYBUTTON_PUSHED)
		{
			SetWindowAdditionalData(hwnd, (DWORD)&sim_pushed);
		}					
			
	if ( hwnd == hCtrl1 && nc == LBN_CLICKED)
	{
		//SetWindowAdditionalData(hwnd, (DWORD)&dial_unpushed);
		
		GetWindowText(GetDlgItem (hMainWnd, IDM_PHONE),buff_num, 20);
		if(CALL_ANS == 0 )
        {	 	
                printf("%d\n",DTRfp = fopen("data/telalready.txt","a+"));
                gprs_call(buff_num, strlen(buff_num));
                strcpy(CI.tel_number,buff_num);
                printf("%s\n",CI.tel_number);
                printf("time\n");
                  
                time(&now);
       	    	timenow=localtime(&now);
       	    	printf("%d\n",timenow->tm_wday);
       	    	sprintf(time_buf,"%d-%d-%d %d:%d:%d %s",
       	    	timenow->tm_year+1900,timenow->tm_mon+1,timenow->tm_mday,
				timenow->tm_hour,timenow->tm_min,timenow->tm_sec,wday[timenow->tm_wday]);

                strcpy(CI.tel_time,time_buf);
                printf("tel_time=%s",CI.tel_time);
                fwrite(&CI, sizeof(_CALLINFO), 1, DTRfp);
                fclose(DTRfp);
                  
                printf("tel_num = %s",buff_num);
                CALL_NOCARRIER = 1;	
                CALL_ANS = 1;
                AnsweringDialog(hMainWnd);
		} 
	}
	if(id == IDM_ADD && nc == BN_CLICKED)
		{
			//SetWindowAdditionalData(hwnd, (DWORD)&add_unpushed);
			printf("1111111111111111111111111\n\n");
			addItem(hMainWnd);
			print(hMainWnd,IDM_LIST);
			
		}
	if(hwnd == hCtrl3 && nc == MYBUTTON_UNPUSHED)
		{
			SetWindowAdditionalData(hwnd, (DWORD)&search_unpushed);
			
			search(hMainWnd,IDM_LIST,search_name,search_num);
		}
	if(hwnd == hCtrl4 && nc == MYBUTTON_UNPUSHED)
		{
			SetWindowAdditionalData(hwnd, (DWORD)&alter_unpushed);
			
			if(strcmp(list,"")==0)
			{
				MessageBox(hMainWnd,"请选择一位要修改的联系人","确定",MB_OK|MB_BASEDONPARENT);
				return;
			}
			parse(list);
			modify(hMainWnd,mod_name,mod_num);
			print(hMainWnd,IDM_LIST);
		}
	if(hwnd == hCtrl5 && nc == MYBUTTON_UNPUSHED)
		{
			SetWindowAdditionalData(hwnd, (DWORD)&delete_unpushed);
			
			if(strcmp(list,"")==0)
			{
				MessageBox(hMainWnd,"请选择一位要删除的联系人","确定",MB_OK|MB_BASEDONPARENT);
				return;
			}
			parse(list);
			deleteFromFile();
			MessageBox(hMainWnd,"删除成功!","确定",MB_OK|MB_BASEDONPARENT);
			strcpy(search_name,"");
			strcpy(search_num,"");
			SetWindowText (GetDlgItem (hMainWnd, IDM_NAME), "");
			SetWindowText (GetDlgItem (hMainWnd, IDM_PHONE), "");
			print(hMainWnd,IDM_LIST);
		}
	if(hwnd == hCtrl6 && nc == MYBUTTON_UNPUSHED)
		{
			SetWindowAdditionalData(hwnd, (DWORD)&return_unpushed);
			
			SendNotifyMessage(hMainWnd,MSG_CLOSE,0,0);
		}
	if(hwnd == hCtrl7 && nc == MYBUTTON_UNPUSHED)
		{
			SetWindowAdditionalData(hwnd, (DWORD)&sim_unpushed);
			
			tty_writecmd("at+cpbr=?",strlen( "at+cpbr=?"));
		}					
	
	if( hwnd == hCtrl1 && nc == MYBUTTON_MOUSEMOVE)
	{	
		SetWindowAdditionalData(hwnd, (DWORD)&dial_mousemove);
	} 

⌨️ 快捷键说明

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