Fmt.h 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  1. /********************************************************************
  2. 版权所有:
  3. 文件版本: V1.00
  4. 文件名称: fmt.c
  5. 生成日期: 2007年04月26日
  6. 作 者:xxxxxx
  7. 使用范围:
  8. 功 能: 菜单内容格式分析
  9. 更新信息:
  10. 更新日志1:
  11. 修改者:
  12. 修改日期:
  13. 修改内容:
  14. 修改原因:
  15. *********************************************************************/
  16. #ifndef FORMATIO_H
  17. #define FORMATIO_H
  18. #define LCD_COLUMNS 40
  19. #define LowerToUpper( c ) (c>'`'&&c<'{') ? c-('a'-'A') : c
  20. #define UpperToLower( c ) (c>'@'&&c<'[') ? c+('a'-'A') : c
  21. /*菜单的反显类型*/
  22. enum
  23. {
  24. MMI_FOCUS_NO=0, //不反显
  25. MMI_FOCUS_NORMAL, //正常反显
  26. MMI_FOCUS_DATA //只反显数据
  27. };
  28. /*修改数据的结构定义*/
  29. typedef struct Modify
  30. {
  31. void *pValue; // 数据指针
  32. void *pFmtstr; // 格式描述指针
  33. char Fmtstr[24]; // 格式描述字符串
  34. char Valstr[24]; // 数据字符串
  35. short x,y; // 坐标
  36. char Type; // 数据类型
  37. char Current; // 当前数据编辑的位置,可理解为光标位
  38. char Lenth; // 数据字符串长度
  39. char index; // 当前屏中正刷新的实体项
  40. bool bModify; // 当前项是否进入编辑状态
  41. bool bFmtstr; // 小数点可修改
  42. }MODIFY_DEF;
  43. extern MODIFY_DEF g_tModify;
  44. short fmt_GetStrLenth(char *pd,char *FmtStr);
  45. void fmt_Printf(short x,short y,char Flags,const char *FmtStr,...);
  46. void fmt_StrPrintf(short sx,short sy,short bytes,char model,const char *str);
  47. void fmt_InitModify(BYTE index,short x,short y,void *p,char flag,const char *FmtStr,...);
  48. void fmt_CursorOff(void);
  49. void fmt_CursorOn(void);
  50. void fmt_CursorFlush(void);
  51. bool fmt_CursorLeft(void);
  52. bool fmt_CursorRight(void);
  53. void fmt_CursorAdd(void);
  54. void fmt_CursorSubb(void);
  55. void fmt_GetModifyValue_Single(void);
  56. bool fmt_GetModifyType(void);
  57. void StrToValue(char *Str,char *FmtStr,void *Varible);
  58. unsigned char ValuePtrToStr(char *Str,char *FmtStr,va_list ap);
  59. unsigned char ScanFmtStr(char *Type,const char *ScanPtr,char *FmtStr);
  60. float atof1(char *str); // 将字符串转为浮点数
  61. #endif