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

📄 jishi.c

📁 这是嵌入式软件电话本的小软件
💻 C
字号:
#include "..\inc\drv\Rtc.h"
#include "..\inc\drv\Display.h"
#include "..\ucos-ii\add\control.h"
#include "..\inc\resource.h"
#include "..\inc\jishi.h"
#include "..\inc\drv\File.h"
#include "..\inc\OSFile.h"

#define STStatus_SetjishiSelect	0
#define STStatus_Setzhuti               1
#define STStatus_Setneirong	       2
extern PTextCtrl pzhutiTextCtrl;
extern PTextCtrl pneirongTextCtrl;
extern PListCtrl pMainListCtrl;
U32 SetjishiStatus;
extern U32 mainstatus;
extern struct jishi{
       char zhu[20];
       char nei[2000];
};
extern struct jishi j[31];
extern char TextFile1name[];
U16 zhuti[]={0x4E3B,0x9898,0x00};
U16 neirong[]={0x5185,0x5BB9,0x00};
void setjishiarea(U8 IsShow){
 static char TimeKeyTable[]={'1','2','3',0,'4','5','6',0,'7','8','9',0,':','0','\b',0}; 
     FILE *pfile;
      structRECT rect;
      int i;
      char zhu[20];
      char nei[2000];
      U16 Zhu[31][20];
      U16 Nei[31][2000];
      
       PDC pdc;
       ClearScreen();
       pdc=CreateDC();
       TextOut(pdc,125,50,zhuti,TRUE,FONTSIZE_SMALL);
       TextOut(pdc, 125, 105, neirong, TRUE, FONTSIZE_SMALL);
        SetRect(&rect,125,75,318,95);//创建主题文本框
	pzhutiTextCtrl=CreateTextCtrl(ID_Setzhuti_TextCtrl, &rect, FONTSIZE_MIDDLE, CTRL_STYLE_3DDOWNFRAME,NULL,NULL);
	
       SetRect(&rect,125,130,318,150);//创建内容文本框
       pneirongTextCtrl=CreateTextCtrl(ID_Setneirong_TextCtrl, &rect, FONTSIZE_MIDDLE, CTRL_STYLE_3DDOWNFRAME,NULL,NULL);
      pfile=OpenOSFile(TextFile1name,FILEMODE_READ);

	 if(pfile==NULL){
		LCD_printf("Can't Open file!\n");
		for(;;)
			OSTimeDly(1000);
	   }
         for(i=0;i<31;i++){
         ReadOSFile(pfile,(U8*)&j[i],sizeof(j));
         
         }
       CloseOSFile(pfile);
       for(i=0;i<31;i++){
       	strcpy(zhu,j[i].zhu);
               strChar2Unicode(Zhu[i],zhu);
              strcpy(nei,j[i].nei);
              strChar2Unicode(Nei[i],nei);
              
       }  
           
            SetTextCtrlText(pzhutiTextCtrl, Zhu[pMainListCtrl->CurrentSel],TRUE);
            SetTextCtrlText(pneirongTextCtrl, Nei[pMainListCtrl->CurrentSel],TRUE);
            
       ReDrawOSCtrl();
       SetjishiStatus=STStatus_SetjishiSelect;
       DestoryDC(pdc);
}
void Destorysetjishiarea()
{
       PDC pdc;
	pdc=CreateDC();

	DestoryTextCtrl(pzhutiTextCtrl);
	DestoryTextCtrl(pneirongTextCtrl);
	
	FillRect(pdc, 124, 40, 319,200, GRAPH_MODE_NORMAL, COLOR_WHITE);
	ReDrawOSCtrl();

	DestoryDC(pdc);
}
void SetjishiSetFocus()
{
	SetWndCtrlFocus(NULL, ID_Setzhuti_TextCtrl);
}
void SetjishiUp()
{
	switch(SetjishiStatus){
	case STStatus_SetjishiSelect:
		if(GetWndCtrlFocus(NULL)==ID_Setneirong_TextCtrl){
			SetWndCtrlFocus(NULL, ID_Setzhuti_TextCtrl);
			DrawTextCtrl(pneirongTextCtrl);
			DrawTextCtrl(pzhutiTextCtrl);}
			
              break;
		}
}
void SetjishiDown()
{
	switch(SetjishiStatus){
	case STStatus_SetjishiSelect:
		if(GetWndCtrlFocus(NULL)==ID_Setzhuti_TextCtrl){
			SetWndCtrlFocus(NULL, ID_Setneirong_TextCtrl);
			DrawTextCtrl(pzhutiTextCtrl);
			DrawTextCtrl(pneirongTextCtrl);
			}
	        break;
		}
}
void savenum1(){
      FILE  *pfile;
      int i;
      char zhu[31][20];
      char nei[31][2000];
      U16 Zhu[31][20];
      U16 Nei[31][2000];
      U16 Zhu1[2000];
      U16 Nei1[2000];
      switch(SetjishiStatus){
      	case STStatus_Setzhuti:
      		 Zhu1[20]=pzhutiTextCtrl->text[0];
      		 SetTextCtrlEdit(pzhutiTextCtrl, FALSE);
		 DrawTextCtrl(pzhutiTextCtrl);
       case STStatus_Setneirong:
       	Nei1[2000]=pneirongTextCtrl->text[0];
       	SetTextCtrlEdit(pneirongTextCtrl, FALSE);
		DrawTextCtrl(pneirongTextCtrl);
       
	}
	
	      Unicode2stringChar(zhu, Zhu1[20]);
	      Unicode2stringChar(nei, Nei1[2000]);
	     
	      strcpy(j[pMainListCtrl->CurrentSel].zhu,zhu);
          strcpy(j[pMainListCtrl->CurrentSel].nei,nei);
          
	     pfile=OpenOSFile(TextFile1name,FILEMODE_WRITE);
             for(i=0;i<31;i++){
            WriteOSFile(pfile,(U8*)&j,sizeof(j));
         	}
           //CloseOSFile(pfile);

}

void SetjishiOK()
{      static U8 input=FALSE;
	switch(SetjishiStatus){
	case STStatus_SetjishiSelect:
		if(GetWndCtrlFocus(NULL)==ID_Setzhuti_TextCtrl){
			SetjishiStatus=STStatus_Setzhuti;
			pzhutiTextCtrl->text[0]=0;
			SetTextCtrlEdit(pzhutiTextCtrl, TRUE);
			DrawTextCtrl(pzhutiTextCtrl);
			
		}
		else if(GetWndCtrlFocus(NULL)==ID_Setneirong_TextCtrl){
			SetjishiStatus=STStatus_Setneirong;
			pneirongTextCtrl->text[0]=0;
			SetTextCtrlEdit(pneirongTextCtrl, TRUE);
			DrawTextCtrl(pneirongTextCtrl);
			
		}
		
		input=TRUE;
		savenum1();	
		break;
       case STStatus_Setzhuti:
      	      SetjishiStatus=STStatus_SetjishiSelect;
      		
      		input=FALSE;  
      	case STStatus_Setneirong:
              
      		SetjishiStatus=STStatus_SetjishiSelect;
      		
      		input=FALSE;
      		break;
	}
     
}
void SetjishiCancel()
{
	switch(SetjishiStatus){
	case STStatus_Setzhuti:
           
		SetTextCtrlEdit(pzhutiTextCtrl, FALSE);
              SetjishiStatus=STStatus_SetjishiSelect;
		break;
	case STStatus_Setneirong:
		 
		SetTextCtrlEdit(pneirongTextCtrl, FALSE);

		SetjishiStatus=STStatus_SetjishiSelect;
		break;
	
	case STStatus_SetjishiSelect:
		Destorysetjishiarea();
		mainstatus=SET_SERJI;
		
		SetWndCtrlFocus(NULL, ID_MainListBox);
		break;
	}
}

⌨️ 快捷键说明

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