近日粗略学习了aauto这一动态语言,尝试写了一个番茄钟的小应用。aauto主要面向win系统桌面小程序的快速开发,开发平台十分小巧,但是功能十分强大。

此程序给同为初学者 一个参考。

关于番茄钟

工作时间内全力工作,休息时间好好休息,帮助你劳逸结合,提高工作效率。一个番茄钟为一个工作单位,在一个番茄钟开始前设定合适工作目标,尽量在一个单位内完成这个目标。

列出两个番茄钟的相关软件,供参考:

  • 来自豆瓣的番茄土豆:https://pomotodo.com/
  • 来自chrome的休息一下:http://wzh.me/technology/chrome-take-a-rest/

简单番茄钟程序介绍:

概述:

按“开始”按键开始倒计时,按“重置”按键回到主界面。计时结束后番茄数加一,自动进入休息状态,锁住键盘和鼠标(ctrl+alt+del可解锁),休息时间结束后,恢复到主界面。

具体实现:

1、main.aau 绘制界面,处理按键响应与定时器响应
import win.ui;
import win.timer;
import Mine.TimeSys;
import Mine.GrowUpSys;
/*DSG{{*/
mainForm = ..win.form(text="定时器";right=134;bottom=51;max=false;min=false;topmost=1)
mainForm.add(
m={cls="static";text="00";left=6;top=6;right=30;bottom=31;align="center";center=1;font=LOGFONT( h=-20 );transparent=1;z=1};
s={cls="static";text="00";left=39;top=6;right=65;bottom=31;align="center";center=1;font=LOGFONT( h=-20 );transparent=1;z=2};
start={cls="button";text="开始";left=80;top=8;right=124;bottom=42;font=LOGFONT( name='Tekton Pro Ext';h=-16;weight=700 );z=6};
static={cls="static";text=":";left=26;top=6;right=43;bottom=27;align="center";center=1;font=LOGFONT( h=-20 );transparent=1;z=5};
static5={cls="static";text="番茄  X";left=4;top=29;right=49;bottom=49;align="center";center=1;transparent=1;z=3};
南瓜值={cls="static";text="0";left=40;top=29;right=72;bottom=49;align="center";center=1;transparent=1;z=4}
)
/*}}*///初始化
var timesys = Mine.TimeSys(0,30,0);
timesys.initTime();
var growUp = Mine.GrowUpSys();BlockInput := User32.api("BlockInput","BOOL (BOOL fBlockIt)");mainForm.start.oncommand = function(id,event){var text = mainForm.start.text;if(text=="开始")//{//开始计数timesys.start();//转变为停止text = "重置";}elseif(text == "重置"){//重置时间timesys.initTime();text="开始";      }   mainForm.start.text = text;
}var isWork = true;
var workTimeHandle = function(){if(timesys.timeout()){//刷新成就growUp.update();//重置时间timesys.initTime();mainForm.start.text="开始";//锁住键盘鼠标BlockInput(1);timesys.setTime(0,5,0);timesys.start(); isWork = !isWork;  }else {timesys.update();}}var restTimeHandle = function(){if(timesys.timeout()){timesys.setTime(0,30,0);timesys.initTime();BlockInput(0);isWork = !isWork;    }else {timesys.update();}
}Mine.TimeSys.time1.onTimer = function(hwnd,msg,id,tick){if(isWork){workTimeHandle();}else {restTimeHandle();}}mainForm.onClose = function(hwnd,message,wParam,lParam){growUp.close();
}
mainForm.show() ;
win.loopMessage();

2、GrowUpSys.aau 文件处理番茄计数,有个很难忍受的问题是不知道怎么把data文件内置在exe文件,现在发布后需要多出一个data.txt文件来管理计数数据。

namespace Mine;
import fsys;class GrowUpSys{/*成长系统*/ctor(){var 番茄=0;       var filePath = "\data.txt";var str = ..string.load(filePath);if(#str)番茄 = tonumber(str);global.mainForm.番茄值.text = 番茄;};close = function(){      if( !..io.exist(filePath) )//若路径不存在..fsys.createParentDir(filePath);..string.save(filePath,tostring(番茄) );}update = function(){番茄++;global.mainForm.番茄值.text = 番茄;}
}
3、TimeSys.aau 用来管理定时器
import win.ui;
import win.timer; namespace Mine;class TimeSys{ctor(h1,m1,s1){var h,m,s;var startTime;var tm;var show;var initTime;var time;this.h = h1;this.m = m1;this.s = s1;time1 = ..win.timer(,1000);};setTime = function(h1,m1,s1){this.h = h1;this.m = m1;this.s = s1;}show = function(){ //将时间改写到显示//global.mainForm.h.text = ..string.format("%02d",tm.hour);global.mainForm.m.text = ..string.format("%02d",tm.minute);global.mainForm.s.text = ..string.format("%02d",tm.second);}initTime = function(){time1.disable();var str = this.h+':'+this.m+':'+this.s;tm = ..time(str,"%H:%M:%S");this.show();      }start = function(){this.initTime();time1.enable();}update = function(){tm.addsecond(-1);this.show();}timeout = function(){if(tm.hour==0&&tm.minute==0&&tm.second==0){return 1; }return 0; }}

源码下载前往:

aauto桌面小应用-简单番茄钟相关推荐

  1. 基于微信小程序实现番茄钟专注时间项目演示【附项目源码+论文说明】

    基于微信小程序实现番茄钟专注时间项目演示 摘要 时间管理是指事先计划和运用一定的技能.方法和事物,以敏感.有效地利用时间完成既定的个人或安排的过程.其中番茄法则是一种先进的时间管理理论与方法,正受到越 ...

  2. 基于微信小程序实现番茄钟专注时间项目演示【附项目源码+论文说明】分享

    基于微信小程序实现番茄钟专注时间项目演示 摘要 时间管理是指事先计划和运用一定的技能.方法和事物,以敏感.有效地利用时间完成既定的个人或安排的过程.其中番茄法则是一种先进的时间管理理论与方法,正受到越 ...

  3. 微信小程序--实现番茄钟功能

    番茄钟: 经常使用番茄钟的各种app,自己也想尝试一下制作,该小程序主要实现了番茄时钟.效率统计等功能. 设计如下: 代码地址:https://gitcode.net/weiba_tao/myprac ...

  4. 用antd实现番茄钟

    番茄工作法是十分有效的时间管理工具,动手开发一个番茄钟提高自己的工作效率. 点击链接,体验一个简单番茄钟的实现效果:软件测试工具箱 只需要一个js文件,代码如下 import { Typography ...

  5. 从无到有的基于QT软件的DIY桌面番茄钟(上)

    基于QT软件的DIY桌面番茄钟-上篇 前言 参考本教程(上篇)可实现的功能: 实现细节: Day 1: 需求导图: QT的安装: Day 2: 创建项目: 构建无边框界面(后续可添加缩放功能,未添加) ...

  6. 基于微信小程序的todo番茄钟设计与实现源码

    关注公众号,公众号内回复1001获取下载链接 1.需求 设计微信小程序实现todo番茄钟功能,支持任务计划导入,时间设定,微信消息提醒等功能 2.功能展示

  7. 【python小项目】用python写一个小工具——番茄钟

    用python写一个小工具--番茄钟 最近听到朋友说在用番茄钟,有点兴趣也想下载一个来用用,后面仔细一想这玩意做起来也不难,索性自己顺手写一个算了,在这里也分享给大家了 一.功能简述 番茄钟即番茄工作 ...

  8. 用Java实现一个最简单的番茄钟

    我只想要一个最简单最纯粹的番茄钟,奈何找不到... 好吧,自己写呗,代码真的很简单,我就弹个框就得了哈哈哈 import javax.swing.*;/*** @Deacription 一个简单的番茄 ...

  9. python小软件制作教程_[Python]手把手教程:Python制作番茄钟

    这篇文章是根据Udacity的免费课程 编程基础:Python所做的笔记,适合零基础学习Python 我们先了解这个番茄钟的概念,就是每隔一段固定的时间就提醒你休息一下,可能是播放一段音乐, 弹出一个 ...

  10. 备忘录,番茄钟,复盘反馈的学习类小程序

    寒假完成的一个项目,对javascript真的是从零开始学起不过很好上手,借助于方便的云开发,也不用折腾后端,最后也顺利结题了. 本项目开发了一款软件,帮助大学生制作定制的学习计划,改善学习习惯,提高 ...

最新文章

  1. DOM4J解析XML文档、Document对象、节点对象节点对象属性、将文档写入XML文件(详细)...
  2. Linux-鸟菜-4-关机的正确姿势
  3. 转载:谢谢原作者:块设备驱动实战基础篇四 (逐渐成型,加入ioctl通信机制)
  4. UIButton的属性设置
  5. 子界类型的定义和应用
  6. 对话实录|华为云.通信云激活无限商业潜力
  7. AtCoder Beginner Contest 176总结
  8. 丢弃commit_git丢弃本地修改的所有文件(新增、删除、修改)
  9. 训练日志 2019.1.24
  10. lm_license_file 冲突怎么办_【微课+语音】孩子一个多月没有上学了怎么办?
  11. 1000个网络摄像头如何组网?
  12. oracle11g ADR 位置
  13. Java中的自动拆箱装箱(AutoboxingUnboxing)
  14. 基于M0 MCU的无感FOC航模电机控制
  15. AJAX参数传递时有特殊符号时解决办法
  16. 51单片机------闪烁灯(实验报告)
  17. 区块链学习2——区块链浏览器的搭建
  18. 哈尔滨工程大学学生郭天祥六年非一般的大学
  19. Android辅助功能 Accessibility Services基本用法笔记
  20. IDEA+Java+SSM+Mysql+JSP实现Web宠物商城系统

热门文章

  1. 米世金《货币经济学》思维导图 附自制PPT
  2. 同步或者重构Activiti Identify用户数据的多种方案比较
  3. 阿里云因发现Log4j2 核弹级漏洞,未及时上报,被工信部处罚。。
  4. 主动事务处理器编写BFM
  5. hp-unix操作系统root账号被锁定的两种解决方法:
  6. Xilinx SRIO_gen2关于时钟的问题
  7. 角色扮演”骗贷,这家安全公司如何揪出不还钱的骗子
  8. 关于SimpleDateFormat日期格式与字符串、时间戳之间的转换
  9. 小程序canvas画入圆形图片
  10. C语言练习-还原算术表达式