自动打印报表

我最近在做一个动态打印报表的功能,曾在论坛中请教过大侠们解答,也有人给了我答案,我将答案整理了一下,但是无法实现功能,大家能不能帮我想想到底是哪里的问题。
 脚本如下:
 #pragma option(mbcs)
 //**********************************
 typedef struct 
 {
 int tmsec;
 int tmmin;
 int tmhour;
 int tmmday;
 int tmmon;
 int tmyear;
 int tmwday;
 int tmyday;
 int tmisdst;
 }tm;
 SYSTEMTIME st1;
 SYSTEMTIME st2;

 //**********************************

 time_t   yest;
 tm *tm1;
 yest   =   time(NULL)  -  (time_t)(60*60*24); //当前时间减去一天时间
 tm1 = gmtime(&yest);//把日期和时间转换为格林威治(GMT)时间
 //**********************************
 st1.wYear=tm1->tmyear;
 st1.wMonth=tm1->tmmon;
 st1.wDay=tm1->tmmday;
 st1.wHour=tm1->tmhour;
 st1.wMinute=tm1->tmmin;
 st1.wSecond=tm1->tmsec;
 //**********************************转回正常时间
 st2.wYear=GetTagWord("year");
 st2.wMonth=GetTagWord("month");
 st2.wDay=GetTagWord("day");
 st2.wHour=GetTagWord("hour");
 st2.wMinute=GetTagWord("minute");
 st2.wSecond=GetTagWord("second");
 ModifyPrintJob(st1,st2,"report.rpl"); //修改打印作业的启始时间和结束时间。
 RPTJobPreview("PrintJob"); 

 
 手册里写的只是怎么组态12个变量,从而在画面指定时间来打印,我现在需要做的是,不需要业主选择,每天自动打印,因此我需要大家来帮我看看脚本这样写对不对,而不是手册里的那个方法,我以前也是用那个方法.
 我要不要添加time.h的头文件?
 

最佳答案

1、不需要加time.h,WinCC已经集成了一些time的处理函数。
 2、gmtime转换之后还需要进行一下处理,因为tmyear实际上是当前年-1900,而tmmon则是0-11,所以需要对代码进行修改。
 st1.wYear=tm1->tmyear+1900;
 st1.wMonth=tm1->tmmon+1;
 另外时间可能也不对,你试试用tm1 = localtime(&yest);

 对你的上一个问题表示道歉。

提问者对于答案的评价:
你看,要是你不回答,都没人去回答我的问题,你能回答我已经很感谢啦,再次谢谢啦!

原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc270950.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2019年6月11日 上午7:58
下一篇 2019年6月11日 上午7:58

相关推荐

  • wincc授权名

    wincc6.2的授权名是什么啊?我这里有一堆6.2版本的授权,不知道哪个合适:例如:A9WVC562,A9WSP262,A9WRC262.很多 最佳答案 楼主最好使用ALM来检查…

    SIMATIC WinCC 2019年6月11日
  • 按钮不可用问题

    怎样使按钮在可用与不可用之间切换,用C script怎么写? 最佳答案 在  “属性/其他/允许操作员控制”的“动态”处,用一开关量来控制 提问者对于…

    SIMATIC WinCC 2019年6月11日
  • WINCC变量与结构类型

    WINCC6.2已有变量组内变量:如MOTOR_HZ.MAN,为什么新建变量时名称里的“.”输入不进去?在结构变量新建结构类型后如何将实例分配给新建结构类型?有没有WINCC6.2…

    SIMATIC WinCC 2018年12月14日
  • wincc历史曲线显示不出来?

    我用的是winncc6.0,监控画面其它都正常,就是归档的历史趋势图显示不出来,而在线实时曲线可以显示出来.不知为什么?请各位高手帮忙! 最佳答案 是由于WinCC项目的过程值归档…

    SIMATIC WinCC 2019年6月11日
  • 关于HMI的数据存储问题

    各位前辈好,本人想寻求一下HMI(tp1500)的存储功能,想在屏幕上让其显示速度的实时变化值,并将测得的值存储到屏幕上,方便下次查看数据,自己试了一下发现只能测得实时数据,并不能…

    2021年7月5日
  • 英文版操作系统的中文显示问题

    网上说安装XP时最好用英文版的操作系统,确实安装了Pcs7确时一点问题都没有很顺利,可是问题就来了,我原来在中文版中哪些中文都不能正常显示了 输入法中也就En一个&nbs…

    SIMATIC WinCC 2019年6月11日
  • TIA V11专业版移植WINCC 7,.0问题

    TIA V11专业版移植WINCC 7,.0项目,一直显示“正在导出项目数据”,进度为0%,等了十几分钟还是这样子,不知道什么原因,大大们帮忙看看 最佳答案 楼…

    SIMATIC WinCC 2018年3月6日
  • 报警信息删除后项目运行后仍显示

    报警记录中的报警信息没有被触发,却提示报警,将组态报警记录中的该编号信息删除,仍提示该报警,将项目文件夹下的报警记录、短期归档和长期归档的文件包都删除,仍然提示该报警 图片说明: …

    2021年7月5日
  • 关于用WINCC连接不同CPU的画面

    现场有2条不同的生产线,都是用西门子S7-400的CPU、变频器,画面都是用WINCC。现在想用一台计算机的WINCC同时采集2条产线的2个HMI上的画面。请问这样可以吗?有没哪位…

    SIMATIC WinCC 2021年7月5日
  • WinCC中的bit位

    刚做工控不久,好多东西都搞不明白,问了大家也不要笑话我。 1.WinCC中某一个变量设位无符号8位的,但这个变量是bool型的,比如bit 1是用来显示电机启动…

    SIMATIC WinCC 2019年6月11日