苹果怎么安装auto refresh 插件

macrumors 6502a
macrumors newbie
macrumors G3
Go to Safara/ Preferences/ Extensions, then Get Extensions.
Under Productivity there's an app for that.Click to expand...
This. It works a treat.
macrumors newbie
macrumors member
Do you have a name for the extension ?Click to expand...
It's called Auto Refresh
macrumors 601
It's called Auto RefreshClick to expand...
Trickey that
macrumors newbie
macrumors Core
Is there any extension similar to this that allows me to watch for specific text and alert me when it does?
i.e. watch a news site, every few seconds to hours, for the word &Boston& and when it appears alert me with a buzz or something.Click to expand...
You could very easily cobble something like that together with the web service
(if this then that).
is a IFTT &recipe& that would do this with email. You can find other recipes to do the same thing with a SMS alert or even a push notification to the IFTT iOS app.
macrumors newbie
macrumors member
It's called Auto Refresh
Click to expand...
It seems to be gone from that page. Do you know where I can find it?
macrumors newbie
It seems to be gone from that page. Do you know where I can find it?Click to expand...
Hi, I am new. In case someone still cares...
MacRumors Forums
Arnold Kim
Editorial Director
Eric Slivka
Editor in Chief
Juli Clover
Joe Rossignol
Marianne Schultz
Husain Sumra
Contributing Editor
Mitchel Broussard
Contributing Editor
Tim Hardwick
Contributing Writer
Chris Jenkins
Contributing Writer
Copyright (C) 2000- , LLC.<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
您的访问请求被拒绝 403 Forbidden - ITeye技术社区
您的访问请求被拒绝
亲爱的会员,您的IP地址所在网段被ITeye拒绝服务,这可能是以下两种情况导致:
一、您所在的网段内有网络爬虫大量抓取ITeye网页,为保证其他人流畅的访问ITeye,该网段被ITeye拒绝
二、您通过某个代理服务器访问ITeye网站,该代理服务器被网络爬虫利用,大量抓取ITeye网页
请您点击按钮解除封锁&当前位置: &
求翻译:Auto Refresh and Self Refresh是什么意思?
Auto Refresh and Self Refresh
问题补充:
自动刷新和自刷新
自动刷新和自刷新
汽车刷新,并且自已刷新
自动刷新和自我刷新
我来回答:
参考资料:
* 验证码:
登录后回答可以获得积分奖励,并可以查看和管理所有的回答。 |
我要翻译和提问
请输入您需要翻译的文本!内容互通,快速登录
还没有帐号? 赶紧
用户版块帖子
谁有mihu VFP9 CursorAdapter AutoRefresh 终极应用篇
UID:28187
在线时间77小时
浏览券25威望4贡献值0下载币102
此帖悬赏结束最佳答案:10&下载币,最佳答案获得者:214679
论坛上连结已失效 有的可以po一下吗?
在线时间225小时
浏览券1544威望1贡献值0下载币11
最佳答案奖励:+10&下载币
是這嗎? 剛好曾收下了 !========================================================Visual FoxPro 9 C/S(ODBC)方面极富人性化的增强作者: mihu &&&&2004年6月,微软公司如期发布了全球Foxer翘首期盼代号为Europa的Visual FoxPro 9beta 版(以下简称VFP9),下文是我学习、探索 VFP9 C/S方面新增功能时的一些心得,供大家一起分享。&&&&自从VFP 8 开始,在C/S方面提供了一个CursorAdapter 类, CursorAdapter 是一个基于松散耦合思想设计的对象化的 Cursor 处理模型。对 CursorAdapter 类很多人对其褒贬不一,特别是一些老的Foxer认为做C/S系统用SPT就足够了,何必再增加一个类呢?但我可以这么说,从VFP9 开始,几个CursorAdapter新增加的功能,相信足以使那些纯使用 SPT 的Foxer 心动不已了。&&&&下面我先谈谈VFP9 在 CursorAdapter 部分的几个增加和增强。1. 属性值可以超过255 个字符&&&&大家都知道,VFP的表单、类库和报表等其实都是以DBF形式存放,VFP9以前属性是以(C)字符型存放,VFP9中做了修改,以(M)备注型存放,这样使得在VFP9开始,属性值突破了255个字符的限制。&&&&用过CursorAdapter 类的人都知道,VFP8 时其几个属性 SelectCmd、CursorSchema、UpdateNameList、UpdatableFieldList的长度不能超过255个字符,这在 VFP8时让人感觉是一件非常滑稽和痛苦的事情,当后台表的字段数一多,连使用它自身生成器生成的字符串都要报错,不能保存,这点造成 CursorAdapter使用起来极为不便,使得CursorAdpter的生成器变成了摆设,也是全球Foxer要求解决的呼声最多的地方,现在这个 问题在VFP9 中终于得到了彻底解决。2. NoData 和 UseCursorSchema 属性&&&&VFP8 时当把CursorAdapter 设计时放到表单的数据环境里,使用CursorFill()里的这两个参数极为不便,尤其是对初学者,现在好了,把这两个属性单独列了出来。 3. TimeStamp 时间戳字段&&&&VFP8 的CursorAdapter 虽然 WhereType 可以等于 4 ,可是其实时间戳字段真正在更新时却过滤掉了,因为你前台是不更改这个字段的,所以CursorAadpter,更新后台时是不会自动把这个时间戳字段加 进更新语句,所以根本不起任何作用。现在VFP9 的CursorAdapter 增加了 TimestampFieldList属性,如果你的后台表里有时间戳的话,只要设置一下这个属性,然后设置WhereType = 4即可,注意,UpdateNameList和UpdatableFieldList里还是要把时间戳字段加进列表,呵呵个人感觉,微软工程师在偷懒,其 实这个只要判断一下就可以了,何必还要加进UpdateNameList和UpdatableFieldList,期待VFP9 SP1能加以改进。4. RecordRefresh() &&&&VFP8时CursorAdapter只能用 CursorRefresh() 来刷新前台,可很多时候,我们可能只需要刷新其中一条或者几条记录的数据,可CursorRefresh(),如果前台记录有 1000 条,也要全部重新读一遍,读取完毕以后,记录指针却始终定位在第一条记录,这样既巨大的浪费了网络资源,同时很多情况下还要花费很大的精力重新定位记录指 针。 &&&&现在 VFP9 增加了这个极富人性化的方法-----RecordRefresh(),能做到任意刷新此Cursor里的任意一条或者连续几条记录,而且当前记录指针保 持不变,看到这里相信做过C/S程序的朋友们是不是有一种跃跃欲试的感觉?这个可以期盼已久的功能啊。 RecordRefresh()里有2个参数,RecordRefresh(nRecords,nRecordOffset)1) nRecords 表示要刷新几条记录2) nRecordOffset记录偏移量,指是当前记录开始加几条记录 例子1,比如当前记录号是第5条,我要刷新第7、8两条记录,oCa.RecordRefresh(2,-2) 例子2, 只刷新当前记录,oCa.RecordRefresh(1) 5. CursorAdapter 的 Auto-Refresh &&&&VFP9提供了记录的Auto-Refresh,其作用、功能、效果和前面介绍的RecordRefresh() 基本相似,有异曲同功之妙用。 让我们来看看具体是怎么使用的吧: InsertCmdRefreshFieldList、InsertCmdRefreshKeyFieldList、InsertCmdRefreshCmd这 三个新增的属性是针对新增记录时使用,一般我们只需要设置InsertCmdRefreshFieldList、 InsertCmdRefreshKeyFieldList即可,从字面已经非常好理解需要设置的内 容,InsertCmdRefreshKeyFieldList如果和CursorAdapter的KeyFieldList相同,可以不设置,一般情况 下都是相同的。 UpdateCmdRefreshFieldList、UpdateCmdRefreshKeyFieldList、UpdateCmdRefreshCmd这 三个新增的属性是针对修改记录时使用的,一般我们也只需设置UpdateCmdRefreshFieldList和 UpdateCmdRefreshKeyFieldList即可。UpdateCmdRefreshKeyFieldList如果和 CursorAdapter的KeyFieldList相同,也可以不设置。&&&&让我们设置好这些属性以后看看效果吧,当TableUpdate()提交后台成功以后,记录就自动刷新了,而且当前的记录指针保持不变,这难道不正是我们想要的吗?&&&&请注意,RecordRefresh()和Auto-Refresh 的区别,虽然RecordRefresh() 也能刷新多条指定的记录,可只能是连续的几条记录,而Auto-Refresh却只刷新已修改过的记录。RecordRefresh()刷新的记录可以自 己来指定,可Auto-Refresh 刷新的记录却是 CursorAdapter 来控制的。 &&&&使用RecordRefrsh()和Auto-Refresh功能时有点需要特别注意:大家读到这里应该可以看出,其实此三项功能,都是依靠关键字来定位 记录的,可当我们用自增量型字段做关键字时,当新增记录时,其值是更新成功以后才能得到,所以当在前台使用RecordRefrsh()和Auto- Refresh时会因无法定位记录而要出错或得不到正确结果。所以当使用自增量型字段做关键字时要特殊处理一下,就是要另外设置一下 InsertCmdRefreshCmd,通过InsertCmdRefreshCmd来取得刚生成的自增量值,这样就可以正常使用 CusorAdapter的AutoRefrsh行级刷新功能了。6. DelayedMemoFetch() &&&&VFP8 的CursorAdapter 里有一个属性:FetchMemo,当设置FetchMemo = .F. 时,本表里的所有Memo 字段都不读取到前台,这样来大大提高了读取数据时的效率,特别是当Memo字段里内容多的时候,可是当我们需要Memo字段里的内容时怎么办呢?这点是我 们一直以来不管用远程视图、SPT还是用CursorAdapter做 C/S 程序时的痛苦矛盾之处,现在我们终于在VFP9的CursorAdapter 里找到了完美的解决办法。 &&&&先用文字来说明一下 VFP9 的CursorAdapter 的解决方法,当 CursorFill() 时,所有Memo字段的内容全部为空,以提高读取记录时的效率,但当光标移动到这条记录的这个字段时,自动从后台读取这条记录的当前Memo字段的内容到 前台,填充进CursorAdapter里,以我实际操作下来的感觉,几乎根本感觉不到这个读取过程,而数据确确实实读到了前台。 整个设置过程如下:1)oCa.FetchMemo = .F.2)oCa.FetchMemoDataSourceType = oCa.DataSourceType3)oCa.FetchMemoDataSource = oCa.DataSource4)oCa.FetchMemoCmdList&&这个是最关键的,也是最麻烦的:oCA.FetchMemoCmdList= &f1 &SELECT f1 FROM testCAMemoFetch WHERE f0=?EVALUATE(this.RefreshAlias +&#39;.f0&#39;)&, f2 &SELECT f2 FROM testCAMemoFetch WHERE f0=?EVALUATE(this.RefreshAlias +&#39;.f0&#39;)&& f1,f2这里是Memo字段名简称f0一般是关键字段名 this.RefreshAlias可以是this.Alias 我翻译一下,就应该比较好理解了,意思如下:” Memo字段名 &select Memo字段名 From 后台表名 where 关键字段名=?前台的Alias名.关键字段内容&,…..” 只要设置好了以上属性,当前台记录移动到Memo字段时 CursorAdapter 会自动调用DelayedMemoFetch(),来读取Memo字段内容。 注 意:1)DelayedMemoFetch如果按照以上设置,只是从现象上看实现了“DelayedMemoFetch”,实际上并未真正提高效 率,Memo型内容还是一次下载到了本地,这个估计也能算是一个BUG吧,目前的解决办法是,例如后台是SQL Server数据库,原oCa.SelectCmd为:SELECT Field1,Field2,MemoField1,MemoField2,MemoField3 FROM TabelName改成SELECT Field1,Field2,cast(&#39;&#39; as text) as MemoField1,cast(&#39;&#39; as text) as MemoField2,cast(&#39;&#39; as text) as MemoField3 FROM TableNameDelayedMemoFetch其他设置不变,这样就真正实现了“DelayedMemoFetch”。&&&& 2):如果是异步的话,使用DelayedMemoFetch时,要另外设置不同的oCa.FetchMemoDataSource&&&& 3): &DelayedMemoFetch&功能不光针对Memo有效,对VFP9新增的字段类型blob同样有效。&&&& RecordRefrsh()、Auto-Refresh和DelayedMemoFetch() 此三项功能是 SPT 无法做到的,RecordRefrsh()、Auto-Refresh做到了前台Cursor的行级(记录级)刷新,而 DelayedMemoFetch()实现了字段级的刷新,合理使用好此三项功能,能极大的提高整个 C/S 系统的效率,降低网络和服务器开销。7. blob&&&&VFP9新增加了几种数据类型,其中一种就是blob--二进制大型对象,以前我们在后台保存图片的时候,在保存读取前后有一个FileToStr()和 StrToFile()过程,这使得编程相当麻烦,同时中间过程中还要产生临时文件,现在我们完全可以利用VFP9新增加的这个数据类型,结合VFP9 Image控件新增加的PictureVal属性,直接将blob类型绑定在Image控件的PictureVal属性上,当中无需做任何转换。具体用 CursorSchema做时只需在oCa.CursorSchema里设置相应字段类型为(W)型,同时设置oCa.UseCursorSchema = .T.即可。&&&&据具体测试,如果后台是SQL Server,blob型最佳对应类型是Image型,当然用Text也可以,但发现,用Text型放置大图片会发生丢失字节的现象,而放置其他文件却没什么问题。放置图片的blob字段在报表中的应用:此主题相关图片如下: 此主题相关图片如下: 示例程序如下: CLOSE ALLCLEAR ALLLOCAL cDeafultPath, cDataPathPRIVATE oRL AS ReportListenercDefaultPath = ADDBS(JUSTPATH(SYS(16)))SET DEFAULT TO (cDefaultPath)cDataPath = HOME() + &#39;Samples\Tastrade\&#39;*-- 创建示例数据表SELECT First_Name, ;&&&& Last_Name, ;&&&& CAST( FILETOSTR(cDataPath + Photo_File ) AS Blob ) AS P&&&& FROM ( cDataPath + &#39;data\Employee.dbf&#39; ) ;&&&& INTO CURSOR TempCursoroRL = NEWOBJECT(&Photolistener&) oRL.vPictureVal = &TempCursor.Photo&SELECT TempCursorREPORT FORM TestFrx OBJECT oRLUSE IN TempCursorDEFINE CLASS Photolistener AS ReportListener&&&& oImage = .NULL.&&&& vPictureVal = &#39;&#39;&&&& ListenerType = 1&&&& PROCEDURE INIT&&&&&&&& THIS.oImage = CREATEOBJECT(&Image&)&&&&&&&& THIS.oImage.PictureVal = THIS.vPictureVal&&&& ENDPROC&&&& PROCEDURE ImageValue&&&&&&&& THIS.oImage.PictureVal = EVALUATE(THIS.vPictureVal) && 此处刷新字段内容&&&& ENDPROCENDDEFINE8. MapVarchar属性&&&&Varchar也是VFP9新增加的数据类型,以前如果我们后台是SQL Server, SQL Server里有varchar字段类型,如果我们在后台设置了varchar型,可在前台CursorAdapter里只能映射为Char型,所以后台 的Varchar优点无法直接利用,如果要实现,只能设置oCa.ConversionFunc = &Field1 TRIM, Field2 TRIM.....&,这样既麻烦,又容易出错,现在正是由于VFP9也有了varchar数据类型,这一切将变得非常轻松简单,将 oCa.CursorSchema里原来的(C)型,改成(V)型,然后设置oCa.MapVarchar = .T.,设置oCa.UseCursorSchema = .T.即可。 &&&&以上8点是我认为是 VFP9 CursorAdapter 类最具人性化和效率化的方面的功能增强,下面再说说其他几个C/S 方面的功能增强。 1. RecordsFetched 和 FetchIsComplete&&&&以前我们读取大批量记录的时候,如果想要做一个人性化的进度条,是一件非常不容易的事情,一般只能采取异步方式,先读取记录总数,然后用一个循环,lnResult = SQLEXEC(lnHandle,“SELECT * FROM …. WHERE …”,“Temp”)DO WHILE lnResult = 0&&&&liResult = CURSORGETPROP(&FetchSize&) &&&&此处写入进度条代码ENDDO &&&&这样做,效果是出来了,可是也有缺陷,异步其实变成了同步。现在 VFP9 在CursorGetProp() 里增加了两个参数,RecordsFetch 和 FetchIsComplete,意思和使用方法如下: RecordsFetched 返回读取远程表过程中目前所传回来的记录数目 例如:lnResult = CURSORGETPROP(&RecordsFetched&) FetchIsComplete 表示读取过程是否已经完成如果已完成 = .T. 例如:llResult = CURSORGETPROP(&FetchIsComplete&) 有了这两个属性,要做一个进度条就轻而易举了,而且能实现异步功能不丧失的效果。 RecordsFetch 和 FetchIsComplete应该还有其他用处,留待我们一起来慢慢挖掘吧。2. ASQLHANDLES( ) 函数&&&&VFP9以前要想得到当前运行程序里使用了多少句柄,将时件非常不容易的事情,VFP9里这又变成了一件轻松简单的活。LOCAL lnHandleSum, lnILOCAL ARRAY laHandle[1]lnHandleSum = ASQLHANDLES(laHandle)?&#39;共有连接:&#39;+ TRANSFORM(lnHandleSum)?&#39;连接句柄分别为:&#39;FOR lnI = 1 TO lnHandleSum&& ??laHandle(lnI)ENDFOR 3. SQLEXEC( )里增加了一个aCountInfo参数&&&&VFP9以前,当我们向后台发送Insert,Update,Delete命令以后,要想知道到底执行了几条记录。如果后台是SQL Server,只能通过再发送一条SPT命令lnResutl= SQLEXEC(lnHandle,&select @@ROWCOUNT&, lcTemp),然后再通过临时表来取得,非常麻烦。VFP9里,SQLEXEC()函数增加了这个参数,SQLEXEC(nStatementHandle [, cSQLCommand [, cCursorName[, aCountInfo]]])aCountInfo是一个数组,包含了向后台发送SPT命令所影响的记录总数。4. SQLIDLEDISCONNECT()&&这是我认为 VFP9 中极其有意义的 C/S 功能增强。&&&&尤其是对CursorAdapter,当然对SPT和远程视图也同样适用。 &&&&SQLIDLEDISCONNECT() 从字面上理解是暂时中断连接。刚开始,我始终未能理解其意思,可当亲手做了实验以后,就不得不惊叹其功能之强大了。 &&&&以前在VFP8下我曾仔细做过 CursorAdapter 的断线重连的测试,得出结论,CursorAdapter断线重连以后,当前数据可以向后台更新,但已经无法CursorRefresh()了,只能重新 CursorFill()以后才行,但重新CursorFill()以后,前台的Cursor 等于是重新生成了,这对前台如果是用GRID来绑定 Cursor 时尤为不便。 &&&&现在终于盼到了----- SQLIDLEDISCONNECT(),当CursorFill()、CursorRefresh()或者RecordRefresh()以后 SQLIDLEDISCONNECT(lnHandle),此时检查服务器,确实此句柄已经不存在了,和服务器 完全脱离了关系,为了保险起见,把网线拔了,过一段时间再插上,再对CursoraAdapter 进行数据更新,提交后台,然后在前台执行CursorRefresh()或者RecordRefresh(),这个时候检查服务器,连接句柄自动建立成功 了,而且数据确实更新成功并重新刷新。 &&&&再用SPT 做了测试,同样得到了完美的结果。 &&&&综上所述,一旦执行了SQLIDLEDISCONNECT(),这个句柄就处于休眠状态,此时完全和服务器脱离了关系,一旦发生前台向后台请求任何的任务,此时 VFP 将无需任何条件、无需任何人工干预的自动唤醒此连接,且句柄号不变。 &&&&此项功能在用户数较多或者网络环境较差的情况下尤其有用,特别是在降低服务器的资源消耗方面有着非常大的作用。 后记: 当初VFP9 Beta发布的时候,我匆匆写下了此文,其中有很多地方未经过深入细致的测试,现在VFP9正式版已经发布,经过在实践应用中发现很多以前认识不够或错误的地方,今天终于抽空重新改写了此文,希望以前的一些认识不够深入之处未对其他狐友造成误导!&&&&在此过程中受到动感游标狐友:dupeiji、edwin7521、chxking、net_steven的大力帮助,在此一并谢过。
在线时间50小时
浏览券778威望6贡献值1下载币463
热心助人奖励:+1&浏览券
是这个吗?CABuilder.app 和 DEBuilder.APP
本主题包含附件,请
后查看, 或者
UID:28187
在线时间77小时
浏览券25威望4贡献值0下载币102
是一篇解决ca AutoRefresh 的文章
访问内容超出本站范围,不能确定是否安全
限100 字节
如果您在写长篇帖子又不马上发表,建议存为草稿
您目前还是游客,请
&回复后跳转到最后一页
验证问题:
Powered by & Copyright Time now is:08-13 13:23 &
版权所有 Gzip enabled
Total 0.102190(s) query 7,

我要回帖

更多关于 chrome auto refresh 的文章

 

随机推荐