down

Mouse

老子叫甜甜 提交于 2019-12-17 22:44:50
头文件 # include <Windows.h> 获取位置 POINT P ; GetCursorPos ( & P ) ; //P.x //P.y 移动 int x = 123 ; int y = 321 ; SetCursorPos ( x , y ) ; 判断点击 预编译 # define KEY_DOWN(VK_NONAME) ((GetAsyncKeyState(VK_NONAME) & 0x8000) ? 1:0) 判断点击 if ( KEY_DOWN ( VK_LBUTTON ) ) cout << "Left click" << endl ; if ( KEY_DOWN ( VK_RBUTTON ) ) cout << "Right click" << endl ; if ( KEY_DOWN ( VK_MBUTTON ) ) cout << "Mid click" << endl ; 虚拟键VK值列表 模拟点击 //Left click mouse_event ( MOUSEEVENTF_LEFTDOWN , 0 , 0 , 0 , 0 ) ; mouse_event ( MOUSEEVENTF_LEFTUP , 0 , 0 , 0 , 0 ) ; //Right click mouse_event ( MOUSEEVENTF_RIGHTDOWN , 0 , 0

maven运行tomcat时为什么老是download

那年仲夏 提交于 2019-12-17 19:04:30
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 解决办法 找到POM所在文件夹,查看_maven.repositories或_remote.repositories文件 修改上面找到的文件jar名>资源库=,需要把这里的资源库修改为你本地的有的,这个就应该是用来判断POM文档本地资源库是否已经存在的关键,资源库名对不上时,就代表本地资源库中没有POM文档 修改完POM文档后,不会立即生效,需要进入ECLIPSE的Maven Repositories视图,找到本地资源库Rebuild Index重新创建一下索引,这时问题就解决了。 来源: oschina 链接: https://my.oschina.net/u/3377232/blog/1615659

monkeyrunner的图片对比

╄→гoц情女王★ 提交于 2019-12-17 14:44:16
环境安装: jdk、android sdk、python编译器 安装基本是傻瓜式的,主要是配环境变量 注意:下载完整的android sdk,有些简化包没有monkeyrunner工具 用Python编写测试脚本,然后执行 py文件内容如下: from com.android.monkeyrunner import MonkeyRunner, MonkeyDevice, MonkeyImagedevice = MonkeyRunner.waitForConnection()#读取本地的图片result = MonkeyRunner.loadImageFromFile('D:\\android_sdk_ceshi\\Test.png')#循环对比截图和本地图片for i in range(5): MonkeyRunner.sleep(2) device.touch(50, 150, 'DOWN_AND_UP') MonkeyRunner.sleep(5) image = device.takeSnapshot() if image.sameAs(result,0.5): print('success') else: print('fail')#返回初始页面 device.touch(0, 0, 'DOWN_AND_UP') MonkeyRunner.sleep(1) device

Monkeyrunner介绍

时间秒杀一切 提交于 2019-12-17 07:23:16
Monkeyrunner概述 Monkeyrunner是由Google开发、用于android系统的自动化测试工具,由android系统自带,存在于android sdk中(sdk:software development kit,软件开发工具包) Monkeyrunner提供了一个API,用此API写出的程序可以在Android代码之外控制Android设备和模拟器。(API: Application Programming Interface 应用 程序接口) Monkeyrunnerd主要设计目的:用于测试功能/框架水平上的应用程序和设备,或运行单元测试套件。 Monkeyrunner通过运行python脚本,来执行脚本中预先定义好的一系列操作事件,如:安装卸载某个应用、进入任一模块、点坐标、按键、编辑文本、截图对比等 Monkeyrunner API类别 MonkeyRunner为MonkeyRunner程序提供工具方法的类。 这个类提供了用于连接MonkeyRunner至设备或模拟器的方法。 它还提供了用于创建一个MonkeyRunner程序的用户界面以及显示内置帮助的方法。 MonkeyDevice表示一个设备或模拟器。 这个类提供了安装和卸载程序包、启动一个活动以及发送键盘或触摸事件到应用程序 的方法。您也可以用这个类来运行测试包。 MonkeyImage

Java中BigDecimal的8种舍入模式

眉间皱痕 提交于 2019-12-17 01:24:51
Java中BigDecimal的8种舍入模式 java.math.BigDecimal 不可变的、任意精度的有符号十进制数。BigDecimal 由任意精度的整数非标度值和32位的整数标度(scale)组成。 如果为零或正数,则标度是小数点后的位数。如果为负数,则将该数的非标度值乘以10的负scale次幂。 因此,BigDecimal表示的数值是(unscaledValue × 10-scale)。 与之相关的还有两个类: java.math.MathContext: 该对象是封装上下文设置的不可变对象,它描述数字运算符的某些规则,如数据的精度,舍入方式等。 java.math.RoundingMode: 这是一种枚举类型,定义了很多常用的数据舍入方式。 这个类用起来还是很比较复杂的,原因在于舍入模式,数据运算规则太多太多, 不是数学专业出身的人看着中文API都难以理解,这些规则在实际中使用的时候在翻阅都来得及。 在银行、帐户、计费等领域,BigDecimal提供了精确的数值计算。其中8种舍入方式值得掌握。 1、ROUND_UP 舍入远离零的舍入模式。 在丢弃非零部分之前始终增加数字(始终对非零舍弃部分前面的数字加1)。 注意,此舍入模式始终不会减少计算值的大小。 2、ROUND_DOWN 接近零的舍入模式。 在丢弃某部分之前始终不增加数字(从不对舍弃部分前面的数字加1,即截短)。

V4 Reduce Transportable Tablespace Downtime using Cross Platform Incremental Backup (Doc ID 2471245.1)

老子叫甜甜 提交于 2019-12-16 14:18:54
V4 Reduce Transportable Tablespace Downtime using Cross Platform Incremental Backup (Doc ID 2471245.1) APPLIES TO: Oracle Database Cloud Schema Service - Version N/A and later Oracle Cloud Infrastructure - Database Service - Version N/A and later Oracle Database Cloud Exadata Service - Version N/A and later Oracle Database Backup Service - Version N/A and later Oracle Database Exadata Express Cloud Service - Version N/A and later Linux x86-64 Updated 09-Nov-2018 -- Version 4 PURPOSE This article covers the steps needed to use V4 Cross Platform Transportable Tablespaces (XTTS) with RMAN

【Python算法】取整算法

Deadly 提交于 2019-12-15 14:22:30
def int_up_or_down ( x , down = 0 ) : """ Turn float up to int or float down to int. For example: int_up_and_down(1) -> 1 int_up_and_down(1.1) -> 2 int_up_and_down(1.9) -> 2 int_up_and_down(-1) -> -1 int_up_and_down(-1.1) -> -1 int_up_and_down(-1.9) -> -1 int_up_and_down(1, down=1) -> 1 int_up_and_down(1.1, down=1) -> 1 int_up_and_down(1.9, down=1) -> 1 int_up_and_down(-1, down=1) -> 1 int_up_and_down(-1.1, down=1) -> -2 int_up_and_down(-1.9, down=1) -> -2 :param x: float or int :param down: int for down or not :return: int(x) """ symbol = 1 if x >= 0 else - 1 down = - 2 * down + 1 x = abs ( x

树莓派实现按钮关机、重启、多功能等(按钮点击篇)

僤鯓⒐⒋嵵緔 提交于 2019-12-14 22:44:14
视频 代码解析,实物演示 [视频] 准备 按钮 面包板 杜邦线 接线 代码(python3) # -*- coding: utf-8 -*- import time , os import RPi . GPIO as GPIO # 树莓派 关机/重启按钮(单击篇) BUTTON = 18 GPIO . setmode ( GPIO . BCM ) GPIO . setup ( BUTTON , GPIO . IN , pull_up_down = GPIO . PUD_DOWN ) # 单击 def click ( ) : times = 0 # 点击次数(当按下后,抬起算一次) click_status = 1 # 记录上次循环点击状态,1:按下 0:断开(抬起) # 检测约0.8秒内按下按钮的次数 for x in range ( 80 ) : v = GPIO . input ( BUTTON ) # 按下 if v == 1 and click_status == 0 : click_status = 1 # 抬起,算按一次 if v == 0 and click_status == 1 : click_status = 0 times += 1 time . sleep ( 0.01 ) return times while True : if GPIO . input

教你用两招就完美解决 Android 滑动冲突!

无人久伴 提交于 2019-12-11 23:38:18
冲突情况 在 Android 开发中,滑动冲突总是我们一个无法避免的话题。而对于解决方案却是众说纷纭。比如 RecyclerView 嵌套 RecyclerView,直接通过相关方法禁掉内部 RecyclerView 的滑动;ScrollView 嵌套 RecyclerView 直接把 ScrollView 替换为 NestedScrollView 等等。 但我们今天要说的是在自定义 View 中遇到滑动冲突时,我们又应该如何处理呢?当然,今天的话题需要 View 的事件分发机制做理论前提。 1. 简单介绍 View 的事件分发机制 当然,这里也可以简单地提一下,基本的流程就是下面的伪代码。 public boolean dispatchTouchEvent(MotionEvent ev) { boolean consume = false; if (onInterceptTouchEvent(ev)) { consume = onTouchEvent(ev); }else{ consume = child.dispatchTouchEvent(ev); } return consume; } 当一个 ViewGroup 接收到一个事件的时候,首先会调用 dispatchTouchEvent () 方法进行事件分发,如果 onInterceptTouchEvent () 返回

BFD技术的全面解析

只谈情不闲聊 提交于 2019-12-11 10:32:04
BFD出现的技术背景 RTA和RTD建立了OSPF邻接关系,Hello包发送周期为10秒;当交换机SWB与SWC链路物理中断,路由器RTA和RTD无法感知,需要等待OSPF协议邻居失效计时器超时后才会中断邻接关系 SWA和SWB启用了VRRP协议,实现了主备网关的作用,SWB为主用网关。 当出口路由器RTB与外网Router的链路中断,SWB虽然可以通过动态路由协议感知,但是无法联动连接下游的网关接口,且继续为主网关。 用户的数据流还是发送到SWB,SWB再通过三层路由转发给SWA,最后由RTA出口。虽然结果不至于造成业务中断,但是会产生次优路径。 BFD的实现原理 一种全网统一、检测迅速、监控网络中链路或者IP路由的双向转发连通状况,并为上层应用提供服务的技 BFD会话建立后会周期性地快速发送BFD报文,如果在检测时间内没有收到对端BFD报文则认为该双向转发路径发生了故障,通知被服务的相关层应用进行相应的处理。 本身并没有邻居发现机制,而是靠被服务的上层应用通知其邻居信息以建立会话。 不管是物理接口状态、二层链路状态、网络层地址可达性、还是传输层连接状态、应用层协议运行状态,都可以被BFD感知到 BFD会话的检测机制 BFD建立会话存在标识符的概念,类似于OSPF建立邻居需要一个路由器的Router ID。 标识符分为本地标识符和远端标识符,本地标识符用于表示本端设备