普通软件界面上的走动时间是如何实现的?

大_爱 2012-10-25 04:29:11
用while循环一直打印吗?一直打印要刷新界面不怎么好。

还是设置定时器,然后触发事件,打印时间,

打印时间其实也没什么问题,可是要不停的刷新客户端就有问题?这个不知道怎么做

好多外面挂的大屏幕显示时间,很稳定,没看出来,是刷新做的。

希望大家教教我如何做一个在客户端显示时间的思路,有思路就可以了。
...全文
235 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
苹果皮 2012-10-26
  • 打赏
  • 举报
回复
如果是win32 可以SetTimer一个定时器 1秒触发一次
然后在WM_TIMER里 获取信息 刷新界面
也可以开一个线程 Sleep(1000)然后更新界面
BlackGhost 2012-10-26
  • 打赏
  • 举报
回复
WM_TIMER的优先级很低,其它消息多的话,timer消息有时不能及时处理,怎么弄?
酱油党 2012-10-26
  • 打赏
  • 举报
回复
[Quote=引用 12 楼 的回复:]

引用 10 楼 的回复:

如果是win32 可以SetTimer一个定时器 1秒触发一次
然后在WM_TIMER里 获取信息 刷新界面
也可以开一个线程 Sleep(1000)然后更新界面


设置定时器应该还算不错的思路,开一个线程sleep更新界面的话,那就有点不爽了,其实我现在就是用的这种方式。
[/Quote]线程那种问题很大,理论上是不允许多个线程操作界面的。这样就会需要线程间通讯的问题引入。感觉还是Timer用时间片解决比较好。
酱油党 2012-10-26
  • 打赏
  • 举报
回复
[Quote=引用 12 楼 的回复:]

引用 10 楼 的回复:

如果是win32 可以SetTimer一个定时器 1秒触发一次
然后在WM_TIMER里 获取信息 刷新界面
也可以开一个线程 Sleep(1000)然后更新界面


设置定时器应该还算不错的思路,开一个线程sleep更新界面的话,那就有点不爽了,其实我现在就是用的这种方式。
[/Quote]线程那种问题很大,理论上是不允许多个线程操作界面的。这样就会需要线程间通讯的问题引入。感觉还是Timer用时间片解决比较好。
大_爱 2012-10-26
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 的回复:]

如果是win32 可以SetTimer一个定时器 1秒触发一次
然后在WM_TIMER里 获取信息 刷新界面
也可以开一个线程 Sleep(1000)然后更新界面
[/Quote]

设置定时器应该还算不错的思路,开一个线程sleep更新界面的话,那就有点不爽了,其实我现在就是用的这种方式。
大_爱 2012-10-26
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 的回复:]

看LZ以往都是做后台的。
前台个人觉得会比较悲剧,了解下基本的Windows编程吧。
[/Quote]

是啊,一直都是做后台的,有所了解Windows的基本编程,但是没怎么细学,总感觉都会,写代码的时候感觉什么都不会。
j8daxue 2012-10-25
  • 打赏
  • 举报
回复
看LZ以往都是做后台的。
前台个人觉得会比较悲剧,了解下基本的Windows编程吧。
大_爱 2012-10-25
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 的回复:]

1、用Double Buffer才能使得画面切换比较平滑,建议查查这方面的资料先;
2、因为最频繁的是秒数,你的Timer用于采样,肯定要高于秒的频率,200ms只是一个参考。

引用 3 楼 的回复:

引用 2 楼 的回复:

1、设置窗体为Double Buffer模式,没有的话,自己构建双缓冲的显示机制;
2、开一个Timer,200ms触发一次,获取数据更新显示。
……
[/Quote]

Double Buffer 就是双缓冲(前缓冲和后缓冲),主要目的是为了避免图像闪烁,让玩家看不到绘图的过程,
前缓冲内容跟屏幕显示内容是一样的,后缓冲是作图区,图作好后再用glSwapBuffer()或Flip()函数传到前缓冲中,屏幕上就看到内容了。

多谢,我会努力学习这种技术。timer是用来计算时间的吗,提供将要显示的数据吗?这样高频率的定时器不会有问题吧?
图灵狗 2012-10-25
  • 打赏
  • 举报
回复
1、用Double Buffer才能使得画面切换比较平滑,建议查查这方面的资料先;
2、因为最频繁的是秒数,你的Timer用于采样,肯定要高于秒的频率,200ms只是一个参考。

[Quote=引用 3 楼 的回复:]

引用 2 楼 的回复:

1、设置窗体为Double Buffer模式,没有的话,自己构建双缓冲的显示机制;
2、开一个Timer,200ms触发一次,获取数据更新显示。


我对C++不熟,dobule buffer是搞不来了, 200ms触发一次也是触发的缓存吗?
[/Quote]
大_爱 2012-10-25
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 的回复:]

仅供参考C/C++ code
#include <graphics.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <dos.h>
#include <conio.h>
#include <time.h>
#include <math.h>
time_t t;
char timestr1[30];//……
[/Quote]

整复杂了,你给的代码我也看不懂,有思路即可,我也许要用在其他地方,我只是把这个问题抽象出来了。不过还是多谢谢你的,我先研究研究你的代码
大_爱 2012-10-25
  • 打赏
  • 举报
回复

其实我就要做一个类是的功能,要求时时走动的。
赵4老师 2012-10-25
  • 打赏
  • 举报
回复
仅供参考
#include <graphics.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <dos.h>
#include <conio.h>
#include <time.h>
#include <math.h>
time_t t;
char timestr1[30];//DDD MMM dd hh:mm:ss YYYY
char timestr2[30];//DDD MMM dd hh:mm:ss YYYY
char hhmmss[9];
int graphdriver,graphmode,page;
int i,xo,yo,r0,r1,r2,r3,r4,r5,r6,r7;
int x1,y1,x2,y2;
int hh,mm,ss;
double c,s;
int xasp,yasp;
void main() {
xo=60;yo=60;
r0=5; //轴
r1=20;//时针
r2=36;//分针
r3=45;//秒针
r4=50;//时刻度
r5=53;//分刻度
r6=55;//刻度外
r7=59;//表盘
graphdriver=VGA;
graphmode=VGAMED;
initgraph(&graphdriver,&graphmode,"C:\\BC\\BGI");
getaspectratio(&xasp, &yasp);
page=0;
timestr2[0]=0;
while (1) {
if (kbhit()) break;
time(&t);
strcpy(timestr1,ctime(&t));
if (strcmp(timestr1,timestr2)) {
strcpy(timestr2,timestr1);
hh=atoi(timestr2+11);
mm=atoi(timestr2+14);
ss=atoi(timestr2+17);
setvisualpage(page);
setactivepage(1-page);
cleardevice();
sprintf(hhmmss,"%02d:%02d:%02d",hh,mm,ss);
outtextxy(28,0,hhmmss);
pieslice(xo,yo,0,360,r0);
circle(xo,yo,r7);
for (i=0;i<60;i++) {
c=cos(i*6*3.14159265/180);
s=sin(i*6*3.14159265/180)*xasp/yasp;
if (0==(i%5)) {
x1=xo+r4*c;
y1=yo+r4*s;
} else {
x1=xo+r5*c;
y1=yo+r5*s;
}
x2=xo+r6*c;
y2=yo+r6*s;
line(x1,y1,x2,y2);
if (((hh%12)*5+mm/12+45)%60==i) {
x2=xo+r1*c;
y2=yo+r1*s;
setlinestyle(0,-1,3);
line(xo,yo,x2,y2);
setlinestyle(0,-1,1);
}
if ((mm+45)%60==i) {
x2=xo+r2*c;
y2=yo+r2*s;
setlinestyle(0,-1,3);
line(xo,yo,x2,y2);
setlinestyle(0,-1,1);
}
if ((ss+45)%60==i) {
x2=xo+r3*c;
y2=yo+r3*s;
line(xo,yo,x2,y2);
}
}
page=1-page;
}
delay(100);
}
getch();
closegraph();
}
大_爱 2012-10-25
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 的回复:]

1、设置窗体为Double Buffer模式,没有的话,自己构建双缓冲的显示机制;
2、开一个Timer,200ms触发一次,获取数据更新显示。
[/Quote]

我对C++不熟,dobule buffer是搞不来了, 200ms触发一次也是触发的缓存吗?
图灵狗 2012-10-25
  • 打赏
  • 举报
回复
1、设置窗体为Double Buffer模式,没有的话,自己构建双缓冲的显示机制;
2、开一个Timer,200ms触发一次,获取数据更新显示。
大_爱 2012-10-25
  • 打赏
  • 举报
回复
希望C、C++论坛上面还有人
1、使用和内置先进的可加密数据库,即便网吧出现突然断电,突然重启动,突然关机或者服务器死机等情况,数据库均不会损坏。   2、由于数据库可以自己用密码加密,加密后,网上无法找到打开数据库的工具,即使是集中管理器,没有密码都无法打开数据库。从而彻底解管理员偷钱问题。   3、策略计费,使计费更加灵活多样,满足不同网吧需求。支持普通计费、会员计费、包时计费、包房计费,上机卡计费,通霄策略。   4、独有的发票式打卡方式,实践证明最好的网吧管理方法,智能化的上机卡管理,更有效的吸引顾客、且大大提高顾客回头率。从而做到账目清楚。使管理员管理网吧只是卖卡, 大部份工作让顾客自己完成、从而使管理员在网吧自由走动,一面卖卡一面帮顾客解决问题。管理员管理网吧更加轻松自如。   5、独特的数据库服务器、及最新的数据加密技术,让数据库服务器在安装简单、使用容易,高效、安全、稳定运行。使多个网吧共用一个数据库、一卡通成为可能。   6、内置计时器,从而避免修改系统时间影响计费混乱。使计费数据更加准确无误。   7、全面的卡号管理、明细帐单、充值明细、实收减免等等报表,详细的上机记录报表, 让网吧经营收入一目了然。   8、内置远程查账功能,老板做在家里或其它任何能上网的地方,都可以对网吧情况一目了然。   9、商品管理功能准确,真正做到无忧销售。   10、管理员、操作员等操作权限,使管理更加安全可靠。   11、采用多种低层先进技术,网络技术,完善且功能强大的客户端程序,解决顾客逃费现象,且程序小巧,基本不占用系统资源。   12、使用独特的禁止设定程序运行,彻底解决一些工具如“网吧免费上网”,“XX网吧杀手”等杀进程工具来达到免费上机问题。   13、强大的远程监控和操作功能,如远程关机、重启动、运行或结束客户机进程、抓图等可以方便的监控和管理客户机,真正实现远程控制操作。   14、客户机,服务端都支持无线ID卡刷卡上机。使管理更加自动化。   15、支持电脑动态分配IP,支持手动开关机、下机结账、会员自己充值,会员上机卡登录上机等,满足网吧不同需要。   16、服务端支持换皮肤,客户端支持换登录界面,从而可以自定义个性化的漂亮界面。   17、支持任子行审计,在一些公安使用任子行审计的地方也可以使用方竹计费软件了。   18、提供特殊的按天计费功能,这个功能特别适用于酒店、宾馆房间电脑的计费。   19、本版本支持COM口,USB口的ID刷卡器。同时支持卡号别名功能(这个功能很好用,长长的卡号难记,可以用一个容易记的别名代替长长的卡号,解决难记难输入问题)。是大、中型网吧及学校和计算机培训中心的理想软件
在网吧管理中,网吧经常根据自己的管理爱好对会员设置一些更优惠的计费策略来吸引顾客,这也是方竹网吧计费系统的一大特色.它可设置临时上机卡,普通会员和会员三种上机客户进行分别用不同的计费策略,并且每种客户在不同的时间段也可设置不同的计费方案。 主要功能介绍: 1、使用和内置先进的可加密数据库,即便网吧出现突然断电,突然重启动,突然关机或者服务器死机等情况,数据库均不会损坏。 2、由于数据库可以自己用密码加密,加密后,网上无法找到打开数据库的工具,即使是集中管理器,没有密码都无法打开数据库。从而彻底解管理员偷钱问题。 3、策略计费,使计费更加灵活多样,满足不同网吧需求。支持普通计费、会员计费、包时计费、包房计费,上机卡计费,通霄策略。 4、独有的发票式打卡方式,实践证明最好的网吧管理方法,智能化的上机卡管理,更有效的吸引顾客、且大大提高顾客回头率。从而做到账目清楚。使管理员管理网吧只是卖卡, 大部份工作让顾客自己完成、从而使管理员在网吧自由走动,一面卖卡一面帮顾客解决问题。管理员管理网吧更加轻松自如。 5. 独特的数据库服务器、及最新的数据加密技术,让数据库服务器在安装简单、使用容易,高效、安全、稳定运行。使多个网吧共用一个数据库、一卡通成为可能。 6、内置计时器,从而避免修改系统时间影响计费混乱。使计费数据更加准确无误。 7. 全面的卡号管理、明细帐单、充值明细、实收减免等等报表,详细的上机记录报表, 让网吧经营收入一目了然。 8、内置远程查账功能,老板做在家里或其它任何能上网的地方,都可以对网吧情况一目了然。 9. 商品管理功能准确,真正做到无忧销售。 10、管理员、操作员等操作权限,使管理更加安全可靠。 11、采用多种低层先进技术,网络技术,完善且功能强大的客户端程序,解决顾客逃费现象,且程序小巧,基本不占用系统资源。 12、使用独特的禁止设定程序运行,彻底解决一些工具如“网吧免费上网”,“XX网吧杀手”等杀进程工具来达到免费上机问题。 13、强大的远程监控和操作功能,如远程关机、重启动、运行或结束客户机进程、抓图等可以方便的监控和管理客户机,真正实现远程控制操作。 14、客户机,服务端都支持无线ID卡刷卡上机。使管理更加自动化。 15、支持电脑动态分配IP,支持手动开关机、下机结账、会员自己充值,会员上机卡登录上机等,满足网吧不同需要。 16、服务端支持换皮肤,客户端支持换登录界面,从而可以自定义个性化的漂亮界面。 17、提供特殊的按天计费功能,这个功能特别适用于酒店、宾馆房间电脑的计费。 18、本版本支持COM口,USB口的ID刷卡器。同时支持卡号别名功能(这个功能很好用,长长的卡号难记,可以用一个容易记的别名代替长长的卡号,解决难记难输入问题). 是大、中型网吧及学校和计算机培训中心的理想软件
1、使用先进的可加密数据库,即便网吧出现突然断电,突然重启动,突然关机或者服务器死机等情况,数据库均不会损坏。 2、由于数据库可以自己用密码加密,加密后,网上无法找到打开数据库的工具,即使是集中管理器,没有密码都无法打开数据库。从而彻底解管理员偷钱问题。 3、策略计费,使计费更加灵活多样,满足不同网吧需求。支持普通计费、会员计费、包时计费、包房计费,上机卡计费。 4、独有的发票式打卡方式,实践证明最好的网吧管理方法,智能化的上机卡管理,更有效的吸引顾客、且大大提高顾客回头率。从而做到账目清楚。使管理员管理网吧只是卖卡, 大部份工作让顾客自己完成、从而使管理员在网吧自由走动,一面卖卡一面帮顾客解决问题。管理员管理网吧更加轻松自如。 5. 独特的数据库服务器、及最新的数据加密技术,让数据库服务器在安装简单、使用容易,高效、安全、稳定运行。使多个网吧共用一个数据库、一卡通成为可能。 6、内置计时器,从而避免修改系统时间影响计费混乱。使计费数据更加准确无误。 7. 全面的卡号管理、明细帐单、充值明细、实收减免等等报表,详细的上机记录报表, 让网吧经营收入一目了然。 8、内置远程查账功能,老板做在家里或其它任何能上网的地方,都可以对网吧情况一目了然。 9. 商品管理功能准确,真正做到无忧销售。 10、管理员、操作员等操作权限,使管理更加安全可靠。 11、 智能化自动定时备份数据,最大限度保证数据的安全。 12、采用多种低层先进技术,网络技术,完善且功能强大的客户端程序,解决顾客逃费现象,且程序小巧,基本不占用系统资源。 13、使用独特的禁止设定程序运行,彻底解决一些工具如“网吧免费上网”,“XX网吧杀手”等杀进程工具来达到免费上机问题。 14、强大的远程监控和操作功能,如远程关机、重启动、运行或结束客户机进程、抓图等可以方便的监控和管理客户机,真正实现远程控制操作。 15、客户机,服务端都支持无线ID卡刷卡上机。使管理更加自动化。 16、支持电脑动态分配IP,支持手动开关机、下机结账、会员自己充值,会员上机卡登录上机等,满足网吧不同需要。 17、服务端支持换皮肤,客户端支持换登录界面,从而可以自定义个性化的漂亮界面。 18、支持任子行审计,在一些公安使用任子行审计的地方也可以使用方竹计费软件了. 19、提供特殊的按天计费功能,这个功能特别适用于酒店、宾馆房间电脑的计费。 是大、中型网吧及学校和计算机培训中心的理想软件
本版本为免费版,未付费注册版将有弹出广告(让广告商为你付费),您也可以选择付费注册(付费用户不再有广告)。注意:升级时要全部下机,并做好统计,因为,升级好后,将原来的统计报表数据将被全部删除。 简介: 功能最多的、最好用的,最容易上手的,支持刷二代身份证,数据最安全的网吧、宾馆酒店、学校培训等电脑机房计费管理软件。 服务端: 1、使用先进的可加密数据库,即便网吧出现突然断电,突然重启动,突然关机或者服务器死机等情况,数据库均不会损坏。 2、由于数据库可以自己用密码加密,加密后,网上无法找到打开数据库的工具,即使是集中管理器,没有密码都无法打开数据库。无需担心网吧数据安全问题。 3、普通和会员策略计费,早市、中市、晚市、通霄策略计费、酒店计费是本计费系统最灵活多样的,满足不同网吧、学校电脑室,酒店需求。 4、独有的发票式打卡方式,实践证明最好的网吧管理方法,智能化的上机卡管理,更有效的吸引顾客、且大大提高顾客回头率。而收银员工作只是在网吧卖卡,大部份工作让顾客自己完成,从而使管理员在网吧自由走动,一面卖卡一面帮顾客解决问题。管理员管理网吧更加轻松自如。同时支持刷二代身份证。 5. 独特的数据库服务器、及最新的数据加密技术,让数据库服务器在安装简单、使用容易,高效、安全、稳定运行。使多个网吧共用一个数据库、一卡通成为可能。 6、内置计时器,从而避免修改系统时间影响计费混乱。使计费数据更加准确无误。 7. 全面的卡号管理、明细帐单、充值明细、实收减免等等报表,详细的上机记录报表, 让网吧经营收入一目了然。 8、内置远程查账功能,老板做在家里或其它任何能上网的地方,都可以对网吧情况一目了然。 9. 商品管理功能准确,真正做到无忧销售。 10、管理员、操作员等操作权限,使管理更加安全可靠。 11、智能化自动定时备份数据,最大限度保证数据的安全。 客户端: 1、采用多种低层先进技术,网络技术,完善且功能强大的客户端程序,双进程序相互保护可有效解决顾客逃费现象,且程序小巧,基本不占用系统资源。 2、使用独特的禁止设定程序运行,彻底解决一些工具如“网吧免费上网”,“XX网吧杀手”等杀进程工具来达到免费上机问题。 3、强大的远程监控和操作功能,如远程开关机、重启动、运行或结束客户机进程、抓图等可以方便的监控和管理客户机,真正实现远程控制操作。 4、客户机,服务端都支持无线ID卡刷卡上机。使管理更加自动化。 5、支持电脑动态分配IP,支持手动开关机、下机结账、会员自己充值,会员上机卡登录上机等,满足网吧不同需要。 6、服务端支持换皮肤,客户端支持换登录界面,从而可以自定义个性化的漂亮界面。 是大、中型网吧及学校机房、计算机培训中心、酒店或宾馆的理想计费管理软件
1、使用先进的可加密数据库,即便网吧出现突然断电,突然重启动,突然关机或者服务器死机等情况,数据库均不会损坏。 2、由于数据库可以自己用密码加密,加密后,网上无法找到打开数据库的工具,即使是集中管理器,没有密码都无法打开数据库。从而彻底解管理员偷钱问题。 3、策略计费,使计费更加灵活多样,满足不同网吧需求。支持普通计费、会员计费、包时计费、包房计费,上机卡计费。 4、独有的发票式打卡方式,实践证明最好的网吧管理方法,智能化的上机卡管理,更有效的吸引顾客、且大大提高顾客回头率。从而做到账目清楚。使管理员管理网吧只是卖卡, 大部份工作让顾客自己完成、从而使管理员在网吧自由走动,一面卖卡一面帮顾客解决问题。管理员管理网吧更加轻松自如。 5. 独特的数据库服务器、及最新的数据加密技术,让数据库服务器在安装简单、使用容易,高效、安全、稳定运行。使多个网吧共用一个数据库、一卡通成为可能。 6、内置计时器,从而避免修改系统时间影响计费混乱。使计费数据更加准确无误。 7. 全面的卡号管理、明细帐单、充值明细、实收减免等等报表,详细的上机记录报表, 让网吧经营收入一目了然。 8、内置远程查账功能,老板做在家里或其它任何能上网的地方,都可以对网吧情况一目了然。 9. 商品管理功能准确,真正做到无忧销售。 10、管理员、操作员等操作权限,使管理更加安全可靠。 11、 智能化自动定时备份数据,最大限度保证数据的安全。 12、采用多种低层先进技术,网络技术,完善且功能强大的客户端程序,解决顾客逃费现象,且程序小巧,基本不占用系统资源。 13、使用独特的禁止设定程序运行,彻底解决一些工具如“网吧免费上网”,“XX网吧杀手”等杀进程工具来达到免费上机问题。 14、强大的远程监控和操作功能,如远程关机、重启动、运行或结束客户机进程、抓图等可以方便的监控和管理客户机,真正实现远程控制操作。 15、客户机,服务端都支持无线ID卡刷卡上机。使管理更加自动化。 16、支持电脑动态分配IP,支持手动开关机、下机结账、会员自己充值,会员上机卡登录上机等,满足网吧不同需要。 17、服务端支持换皮肤,客户端支持换登录界面,从而可以自定义个性化的漂亮界面。 18、支持任子行审计,在一些公安使用任子行审计的地方也可以使用方竹计费软件了. 19、提供特殊的按天计费功能,这个功能特别适用于酒店、宾馆房间电脑的计费。 20、本版本支持COM口,USB口的ID刷卡器。同时支持卡号别名功能(这个功能很好用,长长的卡号难记,可以用一个容易记的别名代替长长的卡号,解决难记难输入问题). 是大、中型网吧及学校和计算机培训中心的理想软件

64,685

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧