随笔分类 - 学习体会
摘要:autoit是模拟鼠标,键盘操作的一个自动化工具,可以写脚本来定制动作。一些体会 1.先把所操作的窗口尽量拖到屏幕左上角,即用函数WinMove("foo“,"",1,0),好处是固定窗口的坐标,不用在脚本里重新计算相对坐标 2.要定义一个热键,切换暂停/继续脚本。因为脚本执行时可能会出现意想不到的
阅读全文
摘要:先是查到 ApexPages.currentPage().getURL() 但发现只能用于VisualForce,没用。 又查到 URL.getSalesforceBaseUrl().toExternalForm() 偶然发现String url = 'foo'是合法的,但是如果用了上面一条语句,u
阅读全文
摘要:在hta文件里用vbscript执行程序,原来的写法是: Set shl = CreateObject("Wscript.Shell") shl.CurrentDirectory = foo Call shl.Run("""" & bar & """") 在windows 7下运行正常,但是在win
阅读全文
摘要:今天碰到一个api,有个布尔类型的参数IsUpdate,如果true就更新,false就插入。如果数据库里已有记录,而又设成false,就会报错。 调试发现,先要调用另外两个api,根据返回结果来决定如何设置这个参数。 这个api设计的不好。不应该让api的用户来决定是否要更新,而应该自动在数据库里
阅读全文
摘要:看了一些软件设计方面的资料,大致印象是似乎都在强调灵活的设计,减少耦合,目的在于以后有变动时可以减少改动,这样也在一定程度上减少了出错的可能性。 现在觉得今后的需求变动难以预料,但是设计时,防止将来可能出现的bug(而不是将来可能的需求变动),似乎更为重要。 当然,将来可能出现的bug,需求的变动也
阅读全文
摘要:触发器这东西貌似N年(大约90年代)很流行。比如那时候用Oracle Forms做开发的,大量的业务逻辑都放在触发器里。后来好像就少用了,最多的是用来审计,比如在数据库里放个历史记录表,每次原表数据有变化时,就在触发器里,将改动前后的数据复制到历史记录表里,便于以后的审计或者排错。 为什么现在少用触
阅读全文
摘要:以前以为在before insert触发器中,Lookup对象除了Id之外的字段以及公式字段(Formula)都是null,不能取到值的。没想到昨天由于偶然的原因测试了一下,居然公式字段可以取到值。 Salesforce的文档做的很差,在文档中查不到明确的说明。stackoverflow上有个不错的
阅读全文
摘要:原来写了个用到Selenium web driver的程序,里面有这么一句: var driver = new ChromeDriver(".\\", options, TimeSpan.FromSeconds(180)); 本来运行正常。但是昨天从vbscript里调用它,却出错了,提示找不到ch
阅读全文
摘要:我的办公桌朝东,早上太阳刺眼,需要适当提高屏幕亮度才能看清楚屏幕,过了一会儿太阳不直射了,又要降低屏幕亮度以保护视力。老是手工操作嫌烦,就写了个小程序,放进Windows计划任务(Task Scheduler)。小程序调试的时候一切正常,但从计划任务启动时却不工作。 开始怀疑是权限的问题。设置任务以
阅读全文
摘要:某个对象里的字段,原来是Number类型,现在要改成Formula,不能直接转换,只能先删除再重建。在去除了一堆依赖(Salesforce最烦的就是这点)之后,总算改好了,但是部署到测试环境后,发现这个字段看不到。查了Field accessibility,全部是Hidden。但在重建字段时,选的都
阅读全文
摘要:原来触发器里有这样的逻辑:如果字段foo的值改变了,就进行某操作。后来这个字段foo改成了可计算字段,有人说要修改代码,不然触发器不会检测到foo的值变化。但是测试后发现,还是会检测到。不需要改代码。
阅读全文
摘要:如果同时提取文本和图片,需要实现IRenderListener接口里的RenderImage和RenderText方法。 RenderImage方法: public void RenderImage(ImageRenderInfo info) { PdfImageObject image = inf
阅读全文
摘要:文本pdf,指的是相对扫描版的pdf而言,可以拷贝文本。文本pdf又有人称为矢量pdf或者印前pdf。这里不包括那种经过ocr处理的所谓双层pdf,即看上去是扫描的图像,但又可以拷贝文本的那种pdf。 pdf不适合在电纸书上看,因为无法调整字体以及根据屏幕大小自动调整排版,除非是大屏(8吋以上),否
阅读全文
摘要:原来lwc里不能直接启动flow,需要将lwc包装在aura里。前几天偶然发现增加了lightning-flow这个元素,但是Salesforce的官方文档一如既往的烂,很多细节都没说清楚。试了下,发现这么几点: 1.在template里放一个lightning-flow,然后设置它的flow-ap
阅读全文
摘要:偶然看到Power AutoMate的介绍,今天刚好有个小需求,就用Power AutoMate试验一把。 需求是将指定文件夹下的所有文件,全部改名,并将改之前和改之后的文件名映射保存到指定的文本文件。改名规则是,文件名中一定含有8位数字,将8位数字提取出来,加上原扩展名,就是新的文件名。比如foo
阅读全文
摘要:还是合并两本词典,和上次不同的是,其中一本体积很大,有几个G,担心内存可能不够,用文件来保存中间结果。性能当然一落千丈,这是意料之中的,I/O操作和内存操作没法比。但是,性能尽管差,也要尽量优化,控制在一个可接受的范围内。折腾了半天,最后在我2009年的老机器上运行了一个多小时处理完了,还算可以接受
阅读全文
摘要:最近写了个小程序,合并两本英语词典的例句。算法很简单,就是用个键值对的数据结构来保存词条,词作为键,例句作为值,如果键已存在,就将例句加在已有例句的末尾。最后输出全部键值对到文本文件。因为还要用MdxBuilder将文本文件转成mdict格式的词典,转换过程中是会重新排序的,所以输出到文本文件时,不
阅读全文
摘要:eval和Function可算javascript比较独特的功能,可以将一段代码转成对象或执行。普遍的看法是尽量不要用,因为不安全。其实安全这事,在我看来,主要是要掌握好分寸。盲目相信用户输入,是不安全。但如果你清楚地知道自己在干什么,就不必拘泥于教条。 前两天又用firefox的插件Downthe
阅读全文
摘要:Pdf这玩意是不太想碰的,Acrobat javascript更是不想碰。但是有个需求,似乎用js做比较合理,所以只好查资料,花了不少时间总算做好了。 需求是:打开pdf阅读时,将文件名和路径记录到某个文件(姑且称为索引文件)。这样,读了一半,以后继续阅读时,只要打开那个文件,点击某个链接,就打开读
阅读全文
摘要:刚做的一个lwc,里面需要Account的数据,很自然想到用getRecord来做,这样就不需要apex: @wire(getRecord, { recordId: '$accountId', fields: ACC_FIELDS }) getAccountData(result) { this.w
阅读全文