注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

chunwaihome 的博客

 
 
 

日志

 
 

Function  

2009-10-25 18:27:55|  分类: PowerPro |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

 除了在按鈕上顯示插件的回返值外,Powerpro還提供了一系列特殊字元,我們稱它們為 " Function " ,您也可以它們所代表的值顯示在按鈕上,或將它們作為一個Variable(變量)作處理。

Return Value(回返值)

Functions 可以回返不同的值,包括s 表示String(字串)、n表示Number(數字)、b表示binary

s =    when a string is expected as the returned value.

n =    when a number [usually a +ve or -ve integer] is expected.

b =    when only either 1 or 0 is expected  [b for Binary, or Bit, or Boolean]

Function在Powerpro的應用中,你可以將Function Value敷於變量,例如

title1 =caption

將當前窗口的標題(title/caption)敷於變量title1


將Function應用在if()statement條件式中,例如

if(anywindow(*notepad)do

如果有任何標題以notepad文字結束窗口存在的話,它就會執行do後面的statement


將Function作為命令的參數,例如

clip.textpaste(shortdate)

將系統當前的時間用shortdate格式,儲存到剪貼本裏然後貼出來。


Parameters of functions

如果Function自身包含參數的話,你可以用以下格式 function(parameters) , 假如Function沒有參數的話,你可以不加括號 (parentheses )

Windows,Task,processes

 s=caption  當前窗口(foreground window)標題(caption/title )
 s=captionunder  滑下的窗口標題
 b=visiblewindow(captionlist)

回返值是 "1 " , 如果任何可見窗口(visible window)匹配captionlist條件下,例如

b=visiblewindow("notepad")

如果"記事本"窗口在可見的狀態下,b等於1,否則就等於0。如果您想用visiblewindow檢查兩個或更多程序的話,下列語法是錯誤的

b=visiblewindow("=notepad","=mspaint")

正確的語法是

b=visiblewindow("=notepad,=mspaint")

括號參數中的逗號是"or"的意思。因此假若Notepad或mspaint其中一程序是可見的,或者兩者都可見的,則b等於1。

 b = anywindow(captionlist)

Result is 1 if caption list matches any window, including hidden.

 b= activewindow(captionlist)

Result is 1 if caption list matches the currently active window

 s= window("pos",captionlist)

Returns the position, size, min/max/visible/topmost state, caption, exename, exe full path, window class, or window handle of any window on the screen or a specifice vdesk. 

pos可以是以下任何一個參數:

回返窗口的位置數值:

"left","top","bottom","right","height","width",

"minimized","maximized","visible","topmost",

"caption","exename","exefullpath","class"

顯示窗口的handle值:

anywindow,visiblewindow,firstwindow

caption is a caption list to specify the window (e.g. notepad for notepad). You can also use
"active" as the caption to select the foreground window, "under" to select the window under the mouse,  and "taskbar" to access the Taskbar. 

s = window("vdesk", vdeskname)   Returns list of handles of windows on vdeskname
 n= lastactivehandle  在active button最後點擊窗口的handle值
 n= lastnotehandle  最後激活note窗口的handle值
 n=lastautorunhandle  最後點擊autorun項目窗口的handle值
 n=lasttrayid  最後系統匣點擊窗口的id number
 n=lastscancode  Scan code of last hot key
 n=lastvkcode  Virtual Key code of last hot key
 s=exefilename File name [no path, no .exe] of exe file for current foreground window
 s=exefullpath Full path to exe name for current foreground window
 s = currentdir  path to working folder of current foreground window
 n = processcount 

 Count of active processes.例如66

 n = threadcount 

 Count of active threads.例如1999

 n= processid(path)

 n = processid("=notepad")

顯示記事本的process id,你可以用win.terminiateprocess(n)結束該程序

   

 

Clipboard(剪貼本)

 s=clip

只能顯示剪貼本的第一行內容,比如剪貼本內容是

xxx

yyy

執行win.debug(clip)命令只能顯示xxx,但如果用Clip Plugin的話執行win.debug(clip.get)命令後則可以顯示完整的剪貼本內容。

 b=cliptrackon  Returns 1 if clip tracking is on; 0 otherwise
 s=lastclipname 最後剪貼本的檔案名稱例如xxx.PowerProClip
 s=lastclippath

最後剪貼本的檔案名稱的完整路徑例如k:\Program Files\PowerPro\clip\xxx.PowerProClip

Lastclipname或Lastclippath亦間接讓我們知道Powerpro Clip的目錄路徑。

 想了解更多Clip命令按此

 

您可以把剪貼本的內容顯示在按鈕上方便瀏覽,格式為

*info expr(clip)

或者把它視為變數處理,例如您複製了路徑"c:\ppwork.txt",執行file.copy(clip.get,"D:/")命令後它會複製ppwork.txt檔案到D:\根目錄中。

註:clip.get其實載著剪貼本內容":\ppwork.txt,留意clip.get不需用双引號括住的。想了解更了File Plugin命令按此

除了Clip函數外,Powerpro還提供其他函數例如time,date

  • Time

 xtime 顯示當前的時間,格式如控制台--> 地區及語言選項-->地區選項-->時間所設的值。例如下午 04:47:40
 time 顯示當前的時間,格式是hhmmss,以24小時作計算,例如165200
 timesec 由midnight January 1, 1970到現在所經過的時間,單位以秒計算。
Timezone

得出系統當前的Timezone見註一

 uptime 電腦的開機時間,以秒作計算
 formattime(format,time) 此命令能夠轉變時間的格式見註二

  • Date

 date  當前的日期,格式為yyyymmdd (例如20091025)
 dayofweek  一個星期的第幾天,0表示星期日,1表示星期一
 dayofyear  一年的第幾天298
 unixtime  等同timesec
 shortdate 顯示控制台-->地區及語言選項中的簡短日期例如2009/11/14
 longdate

顯示控制台-->地區及語言選項中的完整日期例如2009年11月14日

 formatdate(format,date)  此命令能夠轉變日期的格式見註三

 

註一:

時區:地球表面按經度劃分的24個經區,實行標準時間的區域中的任何一個。第一個時區被格林威治子午線分成兩半,每個時區跨15個經度,根據各地情況有所不同。每個時區所遵循的鐘錶時間比緊靠該時區東面的時區要早一個小時

例如PST Pacific Standard Time, defined as UTC-8 hours,GMT Greenwich Mean Time UTC 0 為time zone 的開始

註二

  • Formatdate

語法:

s = formatdate("format string","yyyymmdd")

將yyyymmdd的日期格式轉為format string所指定的格式,比如

s = formatdate(dddd,dd MMMM","20091025")

得出結果是星期日,25 十月 2009,留意命令中的大小楷是有區分的。而Format String可以是以下的值:

 d/dd 第個月的第幾天
 ddd/dddd 每星期的第幾天例如星期日
 M/MM 每年份的第幾月例如10
 MMM/MMMM 每年份的第幾月例如十月
 yy 年份例如09
 yyyy 年份例如2009

註三

  • FormatTime

語法:

formattime("format string","hhmmss")

例如rsTime = formattime("hh:mm:ss tt","190402")  

得出結果是 "07:04:02下午",而Format String可以是以下的值:

 h/hh 當前的時數以12小時計算
 H/HH 當前的時數以24小時計算
 m/mm  當前的分鐘
 t/tt  下/下午
   
   

 

  • Mouse

 xmouse  滑標所在的X座標(pixels)
 ymouse  滑標所在的Y座標(pixels)

xcursor

 Horizontal text cursor position in pixels
 ycursor  Vertical text cursor position in pixels
 mouseleft  1表示左滑標在按下狀態0則相反
 mousemiddle  1表示中滑標在按下狀態0則相反
 mouseright  1表示右滑標在按下狀態0則相反
 mouse4  1表示Mouse4在按下狀態0則相反
 mouse5  1表示Mouse5在按下狀態0則相反
   

  • Keyboard

 Shift  1表示Shift鍵在按下狀態下0則相反
 Ctrl  1表示Ctrl鍵在按下狀態下0則相反
 alt  1表示alt鍵在按下狀態下0則相反
 win  1表示win鍵在按下狀態下0則相反
 keylog  X表示正在logging(記錄鍵盘操作)0則相反
 keylogfile 儲存Logging(記錄鍵盘操作)的檔案路徑
 lastmousekeytime 上一次鍵盘或滑標操作與系統開機的相隔時間,以Milliseconds(毫秒)作計算。一毫秒即代表幾多秒看註一
   

 

  •  File,Disk

 validpath(string) 檢查檔案是否存在,1表示存在,0則相反。括號內的參數可以用萬字元(* 和?)表示。
 recycleitems  資源回收站的總項目
 recyclesize  資源回收站的總項目的容量(單位以KB計算)
 readline("filepath",n)

讀取文字檔(text和ini)第n行的內容,檔案亦可以是隱藏檔

例如var = readline("c:/ppwork.txt",1),表示讀取ppwork.txt文字檔的第一行內容。

 mounted(L)  1表示L磁盘存在而0則相反
 diskspace("kfree","c")

獲取C盘的所剩空間(Kilobytes),除了kfree外參數還包括:

kuser:帳戶可用空間(Kilobytes)

Ksize:磁盘的總容量(Kilobytes)

你可以用m替代k作megabytes計算,如mfree,muser,msize

 pickfile(path,title)  例如s = pickfile(?"C:\6a.jpg","abc"),彈出窗口顯示6a.jpg,標題為abc。
   

 

註一

毫秒即千份之一秒(One thousandth (10-3) of a second.)

秒是國際單位制時間的基本單位,符號是s。有時也會借用英文缩写標示為sec.。

國際單位制詞頭經常與秒結合以做更細微的劃分,例如ms(毫秒,千分之一秒)、µs(微秒,百萬分之一秒)和ns(奈秒,十億分之一秒)。雖然國際單位制詞頭雖然也可以用於擴增時間,例如ks(千秒)、Ms(百萬秒)和Gs(十億秒),但實際上很少這樣子使用,大家都還是習慣用60進位的分、時和24進位的日做為秒的擴充。

  • Powerpro

 s=disk 安裝Powerpro的磁盘符號,例如C
 s=pprofolder 位於pproconfig.exe的文件夾路徑以\作終結, 例如C:\Program Files\PowerPro\
s=pproNotesfolder 位於Powerpro notes的文件夾路徑以\作終結, 例如C:\Program Files\PowerPro\Notes\
 s=pcfname 當前運行Configuration檔案名稱和擴展名例如pproconf.pcf
 n=pproversion 顯示當前Powerpro的版本例如4914
 s=subbarname 當前subbar的名稱
 n=standardconfiguration n=1如果在setup-->Advanced setup裏勾選了Use standard configuration方框
 b=context Set to 0 by PowerPro to indicate the first file ...
 b=contextlast Set to 1 by PowerPro to indicate the last file is being processed, of a group of selected files to which an Explorer context menu item has been applied
 s =sendmessage  
 s=_file_ 表示在context menu, folder buttons, menu folder, and for files dropped on buttons被選取的檔案名稱
 n=lastbuttontype 顯示最後Bar按鈕被點擊的類型 0 if normal, 1 active, 2 tray, 3 folder.
 s = onerrorsetting Exec Onerror setting: first "none", "display", "file", or "both", then blank, then "hook" or "nohook"
 s = tooltipseparator  顯示Tool tip分隔多行的符號
   

  • System

 s=windowsversion 例如5 1 2600 2,這數字是XP的内部版本号。
 n=user User resources  [95/98 only]
 n=gdi GDI resources  [95/98 only]
 n=pmem Percent free memory例如66
 n=cpu CPU的使用率[95/98 only]
 s=defaultprinter  默認印表機名稱
 s=acdc  A表示AC Power,D表示DC Power
 n=batterypercent Percent battery power left,例如255
 n=threadcount Count of active threads.例如684
 s = username 當前的帳戶名稱,例如Administrator
 n64=perfcount 獲得性能計數器值例如22539308627208
 n64=perffreq  2527040000

  • Modem,internet

 s=modem  1表示(dial up)在上線狀態,0則在下線狀態
 n=dunidle  [95/98]  seconds since last character received over dial-up
 n=dunrate  [95/98]  Dial up rate in characters per second
 s=browserDomain

當前瀏覽器的Domain,

例如163.com什麼是Domain Name看註一

 s=browsersubdomain 當前瀏覽器的Domain and subdomain,例如blog.163.com
 b=dialupname Name of current dialup connection. Returns 0 if not connected
s=browserURL("brser")

當前瀏覽器的網址, 而brser可以是iexplore, netscape, firefox, maxthon, mozilla.

var = browserurl("firefox")

win.debug(var)

不能夠用setbrowser去獲得火孤的網址:

exec setbrowser firefox

win.debug(browserurl)

結果還是iexplore的網址。

 

 

  • Gui,desktop

 n=xscreen  屏幕的水平解像度,單位以像素計算例如1680
 n=yscreen  屏幕的垂宜解像度,單位以像素計算例如1050
 s = saver

 屏幕保護檔案路徑例如3D文字

C:\windows\system32\sstext3d.scr

 b=saveractive 1表示屏幕保護在激活中,0則相反。
 b=saverenabled 1 表示屏幕保護在啟動狀態,0則表示關閉。
 n=savertime  啟動屏幕保護所剩時間以秒作計算
 s=paper

 壁紙的檔案路徑。例如用Acdsee設壁紙,它會將檔案放於

C:\windows\ACD Wallpaper.bmp

 

  • Sound

 n = volume  音量(0-255),可以*exec volumeall調整音量。
 b=muted  1表示靜音,0表示有音量輸出。
 n=cdcurtrack  當前的CD音軌
 n=cdlasttrack  最後的CD音軌
 [r=]mci(string)

 執行mci命令什麼是mci看註一

Scripts , Variables , Flags
  

 s=scriptcallstack  Multi-line string with one line per active script.  Each line has current line number in script and script name@startlabel.
 s = scriptfolder    正在執行腳本的完整路徑
 n = scriptline   Line number of currently executing script.
 s = scriptname   正在執行腳本的名稱
 s = scriptpath   Script path as set by most recent *Script Path.
 s = arg(n)  Returns nth argument in the call to the script. Only used inside a script called with arguments; using runfile.script(arg1,arg2,? or  run.script(arg1,arg2,?.  arg(1) is first argument.  arg(0) is the number of arguments.
 [s=] assign(var1,var2)   Assigns second string to variable name given by first string. eg assign("var1", "xx") assigns "xx" to var1. Then assign(var1, "000") would assign "000" to variable xx. Result of operation is the assigned value (ie second value).
 s = allglobals   回返所有Global Variable,以一行顯示一個變量的方式展示
 s = allstatics   回返所有Statics Variable,以一行顯示一個變量的方式展示
 s = cb("entry",args)   Returns a string that can be used as a callback in dialogs or events using the call function.  The returned string is "call("++?`entry, args`++")", which allows a full or partial path as the called point and also allows @ entry points such as cb("@xxx"), where xxx is assumed to refer to current script.  Use up to 15 arguments. Each arg is separately quoted by ? in the result of cb.  Note that the arguments are evaluated and the values of the arguments are passed as the quoted strings.  This is needed since the callback will normally occur outside the scope of the call to cb.
 s = cbx("entry",args) 

 Same as cb except that cbx("@entry", args) is a shortform for cb(scriptfolder++"/"++scriptname++"@entry", args), so cbx does not depend on script path if function name only @function is  supplied.

 s = call("filepath@entry",args

 運行腳本檔案,filepath是腳本檔案的完整路徑,entry是Function Name,args是引數。

 The call function returns the result from the called script.

 s = if(condition,result)   如果condition是true的話,s變量的回返值將是result,否則回返值是""
 s = ifelse(expr,string1,string2)   如果expr是true的話,s變量的回返值將是string1,否則回返值是string2
 s = ifelse(string1,string2) 

  如果string1是true的話,s變量會回返第一個逗號之前的值,否則回返第一個逗號之後的值。例如

s = ifelse (a<b,"alpha,omega,entry")

如果a小過b,表示a<b 的expression是"真",s回返值是alpha。如果a大過b,表示a<b 的expression是"假",s回返值是omega,entry。

 b = not(expr)   Result is 1 if following expression is zero or empty string; else 0
 b = pproflag(n)   Returns value of nth flag
 do(filepath, params[, workfolder[, howstart]])    executes an external command
 do("ppcmd", "action and params", "keywords")   executes a built in command using Literal Syntax

註一:

  • 什麼是Domain Name?

Domain Name,我們常會有幾種叫法domain,DN,網名,域名...等等,依照字面上的翻譯就是網域名稱。

好,那網域名稱要拿來做什麼?首先我們知道一台電腦要上網,一定要有一個屬於自己的IP,而且這個IP就是代表這台電腦身份,有了身份才能夠光明正大的在網路上的闖蕩。

可是IP的命名方法是140.112.80.53這樣子沒有什麼規則可循的數字,誰記得起來阿,於是好記的Domain就出現了。

Domain說穿了就是一個好記的名字。想要看雅虎的網頁,打www.yahoo.com就可以看到啦!!最前面裡面的www,代表的是他所提供的服務名稱,例如www通常是一個網站的入口頁,又比方說你常會看到mail/webmail等等作為他站上其他的服務的資源,而yahoo代表的就是domain。你常聽到別人說的註冊domain就是在說這個。後面的com有人把他稱為"達康"(.com),不過專業的術語稱為TLD(Top Level Domain,頂級網域名稱),相類似且常見的還有net/org/biz...等。而com.tw/net.tw/org.tw後面加上.tw的,我們稱之為ccTLD(country code Top Level Domain,國碼頂級網域名稱),講白一點就是看到ccTLD就可以知道他是屬於那個國家的。

  评论这张
 
阅读(625)| 评论(0)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017