前言

最近几天闲的没事,写了一个可以用来写简单的app程序的头文件,分享给大家!

头文库

#ifndef CAPP_H
#define CAPP_H #include<bits/stdc++.h>
#include<conio.h>
#include<windows.h> using namespace std;
class AppClass{
public:
AppClass(string colorStyle,int lengrth,int width,string title);
void gotoxy(int x,int y);
void box(string title,string words,UINT windows);
void sleep(double second);
void pos(int x,int y);
void cls(void);
void pause(void);
protected:
}; AppClass::AppClass(string colorStyle="f0",
/*由两个十六进制数组成
第一个对应于背景 第二个对应于前景
每个数字可以为以下任何值
0 = 黑色 8 = 灰色
1 = 蓝色 9 = 淡蓝色
2 = 绿色 A = 淡绿色
3 = 浅绿色 B = 淡浅绿色
4 = 红色 C = 淡红色
5 = 紫色 D = 淡紫色
6 = 黄色 E = 淡黄色
7 = 白色 F = 亮白色
*/
int length=45,//长度
int width=30,//宽度
string title="cAPP应用程序"//标题
)
{
string cmdColor="color "+colorStyle;
string cmdTitle="title "+title;
char cmdWindow[210];
sprintf(cmdWindow,"mode con cols=%d lines=%d",length,width);
system(cmdColor.c_str());
system(cmdWindow);
system(cmdTitle.c_str());
}
void AppClass::gotoxy(int x,int y){
HANDLE hOut;
hOut = GetStdHandle(STD_OUTPUT_HANDLE);//获取标注输出句柄
COORD pos;
pos.X = x;pos.Y = y;
SetConsoleCursorPosition(hOut, pos);//偏移光标位置
}
void AppClass::box(string title="无标题",string words=" ",UINT windows=MB_OK){
MessageBox(NULL,TEXT(words.c_str()),TEXT(title.c_str()),windows);
}
void AppClass::sleep(double second=1){
Sleep(second*1000);
}
void AppClass::pos(int x,int y){
SetCursorPos(x,y);
}
void AppClass::cls(void){system("cls");}
void AppClass::pause(void){system("pause");}
class AppTime: public AppClass{
public:
void putAllTime(void);
void putDate(void);
void putTime(void);
protected:
time_t nowtime;
};
void AppTime::putAllTime(void){
time(&nowtime); //获取1900年1月1日0点0分0秒到现在经过的秒数
tm*p=localtime(&nowtime); //将秒数转换为本地时间,年从1900算起,需要+1900,月为0-11,所以要+1
printf("%04d:%02d:%02d %02d:%02d:%02d\n",
p->tm_year + 1900, //年
p->tm_mon + 1,//月
p->tm_mday,//日
p->tm_hour,//时
p->tm_min,//分
p->tm_sec//秒
);
}
void AppTime::putDate(void){
time(&nowtime); //获取1900年1月1日0点0分0秒到现在经过的秒数
tm*p=localtime(&nowtime); //将秒数转换为本地时间,年从1900算起,需要+1900,月为0-11,所以要+1
printf("%04d:%02d:%02d\n",
p->tm_year + 1900, //年
p->tm_mon + 1,//月
p->tm_mday//日
);
}
void AppTime::putTime(void){
time(&nowtime); //获取1900年1月1日0点0分0秒到现在经过的秒数
tm*p=localtime(&nowtime); //将秒数转换为本地时间,年从1900算起,需要+1900,月为0-11,所以要+1
printf("%02d:%02d\n",
p->tm_hour,//时
p->tm_min//分
);
} class color:public AppClass{
public:
void setTextColor(string color);
void setTextBackgroundColor(string color);
void setAllColor(string mb);
void setAllColor(int mb);
void textColorClean(void);
}; void color::setTextColor(string color="white"){
//设置Windows控制台打印颜色
int num = 4;
if (color == "littlewhite") num=0;
else if (color == "red") num=1;
else if (color == "green") num=2;
else if (color == "blue") num=3;
else if (color == "white") num=4;
else if (color == "skyblue") num=5;
else if (color == "yellow") num=6;
else if (color == "pink") num=7;
else if (color == "lightred") num=11;
else if (color == "lightgreen") num=12;
else if (color == "lightblue") num=13;
else if (color == "lightwhite") num=14;
else if (color == "lightskyblue") num=15;
else if (color == "lightyellow") num=16;
else if (color == "lightpink") num=17;
else num=4; switch (num){
case 0://浅白色
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), FOREGROUND_INTENSITY);
break;
case 1://红色
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), FOREGROUND_RED);
break;
case 2://绿色
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), FOREGROUND_GREEN);
break;
case 3://蓝色
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), FOREGROUND_BLUE);
break;
case 4://白色
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), FOREGROUND_BLUE | FOREGROUND_GREEN | FOREGROUND_RED);
break;
case 5://天蓝色
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), FOREGROUND_BLUE | FOREGROUND_GREEN);
break;
case 6://黄色
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), FOREGROUND_GREEN | FOREGROUND_RED);
break;
case 7://粉色
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), FOREGROUND_BLUE | FOREGROUND_RED);
break;
case 11://增强红色
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), FOREGROUND_INTENSITY | FOREGROUND_RED);
break;
case 12://增强绿色
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), FOREGROUND_INTENSITY | FOREGROUND_GREEN);
break;
case 13://增强蓝色
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), FOREGROUND_INTENSITY | FOREGROUND_BLUE);
break;
case 14://增强白色
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), FOREGROUND_INTENSITY | FOREGROUND_BLUE | FOREGROUND_GREEN | FOREGROUND_RED);
break;
case 15://增强天蓝色
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), FOREGROUND_INTENSITY | FOREGROUND_BLUE | FOREGROUND_GREEN);
break;
case 16://增强黄色
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), FOREGROUND_INTENSITY | FOREGROUND_GREEN | FOREGROUND_RED);
break;
case 17://增强粉色
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), FOREGROUND_INTENSITY | FOREGROUND_BLUE | FOREGROUND_RED);
break;
default://默认
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), FOREGROUND_BLUE | FOREGROUND_GREEN | FOREGROUND_RED);
break;
}
} /*
设置字体背景色:
方法支持15种颜色(请传入相应的英文参数):
0、浅白色:littlewhite
1、红色:red 2、绿色:green 3、蓝色:blue
4、白色: white 5、天蓝色:skyblue 6、黄色:yellow
7、粉色: pink
11、亮红色:lightred 12、亮绿色:lightgreen 13、亮蓝色:lightblue
14、亮白色: lightwhite 15、亮天蓝色:lightskyblue 16、亮黄色:lightyellow
17、亮粉色: lightpink
注意:背景色一旦设置,就恢复不了原来的黑色字体背景了,除非不设置背景色
*/
void color::setTextBackgroundColor(string color="white"){
//设置Windows控制台打印颜色
int num = 4;
if (color == "littlewhite") num=0;
else if (color == "red") num=1;
else if (color == "green") num=2;
else if (color == "blue") num=3;
else if (color == "white") num=4;
else if (color == "skyblue") num=5;
else if (color == "yellow") num=6;
else if (color == "pink") num=7;
else if (color == "lightred") num=11;
else if (color == "lightgreen") num=12;
else if (color == "lightblue") num=13;
else if (color == "lightwhite") num=14;
else if (color == "lightskyblue") num=15;
else if (color == "lightyellow") num=16;
else if (color == "lightpink") num=17;
else num=4;
switch (num){
case 0://浅白色
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), BACKGROUND_INTENSITY);
break;
case 1://红色
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), BACKGROUND_RED);
break;
case 2://绿色
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), BACKGROUND_GREEN);
break;
case 3://蓝色
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), BACKGROUND_BLUE);
break;
case 4://白色
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), BACKGROUND_BLUE | BACKGROUND_GREEN | BACKGROUND_RED);
break;
case 5://天蓝色
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), BACKGROUND_BLUE | BACKGROUND_GREEN);
break;
case 6://黄色
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), BACKGROUND_GREEN | BACKGROUND_RED);
break;
case 7://粉色
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), BACKGROUND_BLUE | BACKGROUND_RED);
break;
case 11://增强红色
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), BACKGROUND_INTENSITY | BACKGROUND_RED);
break;
case 12://增强绿色
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), BACKGROUND_INTENSITY | BACKGROUND_GREEN);
break;
case 13://增强蓝色
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), BACKGROUND_INTENSITY | BACKGROUND_BLUE);
break;
case 14://增强白色
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), BACKGROUND_INTENSITY | BACKGROUND_BLUE | BACKGROUND_GREEN | BACKGROUND_RED);
break;
case 15://增强天蓝色
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), BACKGROUND_INTENSITY | BACKGROUND_BLUE | BACKGROUND_GREEN);
break;
case 16://增强黄色
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), BACKGROUND_INTENSITY | BACKGROUND_GREEN | BACKGROUND_RED);
break;
case 17://增强粉色
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), BACKGROUND_INTENSITY | BACKGROUND_BLUE | BACKGROUND_RED);
break;
default://默认
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), BACKGROUND_BLUE | BACKGROUND_GREEN | BACKGROUND_RED);
break;
}
}
void color::setAllColor(int mb=1){
switch(mb){
case 1:{
system("color f0");
break;
}
case 2:{
system("color 0f");
break;
}
case 3:{
system("color e0");
break;
}
}
}
void color::setAllColor(string mb){
char text=mb[0],backGround=mb[1];
string cmd="color "+text+backGround;
system(cmd.c_str());
}
void color::textColorClean(void){
setTextBackgroundColor();
setTextColor();
}
class timer:public AppClass{
public:
timer(void){
bclock=clock();
}
double stop(void){
return (clock()-bclock)/CLOCKS_PER_SEC;
}
private:
clock_t bclock;
};
#endif

后记

这就是cAPP.h的全部内容了,把它粘贴到自己的编辑器上,再保存到你的c++系统文件夹里,然后就可以尽情地使用它了!

最新文章

  1. 简单的ATM取款过程
  2. Windows下nodejs 模块配置 全局模式与本地模式的区别
  3. 提高效率的Matlab使用方式
  4. hdu 2159 FATE
  5. centos7 挂载数据盘
  6. 模板 KMP
  7. .md文件 Markdown 语法说明
  8. (转)SQL中的ISNULL函数介绍
  9. ubuntu 包维护
  10. erlang四大behaviour之二-gen_fsm
  11. VS2013使用技巧汇总
  12. Loadrunner检查点使用总结
  13. java虚拟机概述
  14. 新导入的eclipse项目报错,找不到java包,找不到web.xml文件报错。
  15. Xamarin Layout属性(转)
  16. kylin简单优化cube
  17. Web 自动化测试
  18. kernel: INFO: task sadc:14833 blocked for more than 120 seconds.
  19. vue-router(配置子路由--单页面多路由区域操作)
  20. c#4.0 Task.Factory.StartNew 用法

热门文章

  1. python基础语法图
  2. helm在k8s上部署Elasticsearch和Kibana
  3. Optimum + ONNX Runtime: 更容易、更快地训练你的 Hugging Face 模型
  4. rn项目启动时卡在Task :app:checkDebugAarMetadata
  5. lg8365题解
  6. 通过命令上传到GitHub
  7. mybatis日志打印到控制台
  8. .NET 6 + Hangfire 实现后台作业管理
  9. Wifi Display
  10. Warning: PHP Startup: Unable to load dynamic library