廣告廣告
  加入我的最愛 設為首頁 風格修改
首頁 首尾
 手機版   訂閱   地圖  簡體 
您是第 7106 個閱讀者
 
發表文章 發表投票 回覆文章
  可列印版   加為IE收藏   收藏主題   上一主題 | 下一主題   
pccnsqb
數位造型
個人文章 個人相簿 個人日記 個人地圖
路人甲
級別: 路人甲 該用戶目前不上站
推文 x0 鮮花 x7
分享: 轉寄此文章 Facebook Plurk Twitter 複製連結到剪貼簿 轉換為繁體 轉換為簡體 載入圖片
推文 x0
[分享] AutoPlay Media Studio 6.0 一些腳本
順便介紹一下動作用法:
Show Page:顯示頁面
Run Program:執行程式
Open Document:開啟文件
Print Document:列印文件
Send Email:寄送電子郵件
View Website:檢視網站
Explore Folder:瀏灠資料夾
Play Mulitimedia:播放多媒體
Play/Pause Background Music:播放/暫停背景音樂
Exit/Close:離開/關閉

腳本
Debug函數釋義:

Application.Minimize 視窗最小化

PS:順便感嘆一下:AutoPlay Media Studio這個軟體真牛B啊,連debug 調試函數都有。

1.Debug.Clear();清除Debug窗口內容。沒參數,沒返回值

2.Debug.GetEventContext(); 沒參數。返回當前正在正在執行的事件的內容,例如:你用鼠標點擊了第4頁裡Labe2,此函數就返回 "Page 4 -> Label 2 -> On Click".這條資訊

3.Debug.GetTraceMode() 得到當前debug 的路徑模式狀態,沒參數,返回值為布爾值,如果為ture 則debug 路徑模式處於打開狀態,如果是false,則處於關閉狀態,

4.Debug.Print(string Text ) 在debug 窗口中顯示字符串,參數TEXT指向要顯示的字符串。

例如:Debug.Print("我是超人"); 在debug窗口上顯示”我是超人”這句話。

5.Debug.SetTraceMode(boolean Enable); 打開或關閉debug 的路徑模式。無返回值。

6.Debug.ShowWindow(boolean Enable)顯示或不顯示debug窗口,ture為顯示,false為不顯示。一般為顯示,不顯示你看啥呀!


PS 就是關於打開的對話框,例如:彈出一個選擇文件的對話框,彈出一個輸入的對話框。

1.Dialog.FileBrowse(boolean FileOpen,string Title,string DefaultFolder ,string FileFilters,string Filename ,string FileExtension ,string MultipleSelect,boolean FileMustExist ),這個函數很龐大,要好好分析分析。彈出一個打開/保存文件的對話框。參數說明:
boolean FileOpen: 文件打開類型,ture時為文件打開對話框。False時
文件保存的對話框
string Title 定義彈出的對話框的標題。
string DefaultFolder 定義打開時默認出現的文件夾。
string FileFilters 文件類型過濾,你想打開什麼類型的文件,例如:"Pictures (.png, .jpg, .tif)|*.png;*.jpg;*.tif|"只打開圖片類型的文件。
string Filename 要打開的文件名是否出現在“文件名”後面的編輯框裡
string FileExtension 文件的擴展資訊。一般為空。
string MultipleSelect 是否允許選擇多個文件,ture為允許,false為不允許。
boolean FileMustExist 是否確認選擇的文件必須存在,必須確認為ture,反之為false,一般為ture。

返回值為包含有要操作的文件的路徑的一個陣列變量。如果沒有選擇則返回字符
"CANCEL",例如:tb = "CANCEL"
看來還是個例子比較直觀:

files = Dialog.FileBrowse(true, "Open File", _ProgramFilesFolder, "Text File (*.txt)|*.txt|All Files(*.*)|*.*|", "", "",
false, false);

彈出一個打開文件對話框,對話框標題為"Open File",默認打開用戶的Program Files 文夾
要選擇的文件類型是TEXT文本文件,不允許多選,只能打開一個文件,文件必須存在。

2.Dialog.FolderBrowse (string Prompt, string DefaultFolder ) 選擇文件夾的函數。參數:
string Prompt 打開的對話框的標題
string DefaultFolder 當彈出對話框時默認出現的文件夾,
返回值 是一個包含文件夾路徑資訊的字符串,沒有擇 返回字符"CANCEL" 出現錯誤則返回空字符串
例子:folder_path = Dialog.FolderBrowse("選擇文件夾", _SourceFolder .. "\\AutoPlay");

folder_path裏邊含有你選擇的文件夾的路徑資訊。

3.Dialog.Input (string Title, string Prompt, string DefaultText, number Icon) 彈出一個輸入對話框,參數說明:
string Title 對話框的標題
string Prompt 在彈出的對話框主題。
string DefaultText 出現在彈出的對話框裡的輸入框裡的默認的文本,一般為空即” ”
number Icon 對話框的類型圖標 值如下:
MB_ICONNONE 0 None. 沒圖標
MB_ICONSTOP 16 Stop. 停止圖標
MB_ICONQUESTION 32 Question. (Default) 問題圖標
MB_ICONEXCLAMATION 48 Exclamation. 感歎號圖標
MB_ICONINFORMATION 64 Information. 資訊 圖標

返回值為 你輸入的文本,如果沒有則返回"CANCEL" 若果有錯誤發生……好恐怖…則返回空字符串 “ ”

4.Dialog.MaskedInput(string Title ,string Prompt, string Mask ,string DefaultText, number Icon, string PlaceHolder)呵呵,
這個函數比較常用,是格式輸入框,例如定義電話號碼的輸入格式,還可以定義IP地址格式。參數和Dialog.Input大致相同,不同的是第三
個參數:string Mask 輸入格式,具體見input mask 表,這裡我們可以簡單的用#表示,最後一個參數為掩碼字,可以為空,還是看例子吧
phone = Dialog.MaskedInput("個人資訊", "輸入您的電話號碼:", "(###) ###-####", "##########", MB_ICONQUESTION, "#");
這是一個電話號碼的格式輸入對話框,把這條語句輸入頁面的on show 事件裡運行一下
你就理解了.返回值為你輸入的文本。
5.Dialog.Message(string Title,string Text,number Type, number Icon ,number DefaultButton )
彈出一個消息對話框,參數:number Type 消息類型,主要體現在按鈕上。

CONSTANT VALUE DESCRIPTION
0 MB_OK OK (Default) 默認OK按鈕
1 MB_OKCANCE OK | Cancel OK和取消
MB_ABORTRETRYIGNORE 2 Abort | Retry | Ignore 終止,重試,忽略
MB_YESNOCANCEL 3 Yes | No | Cancel 是,不,取消
MB_YESNO 4 Yes | No 是不
MB_RETRYCANCEL 5 Retry | Cancel 重試,取消
最後一個參數number DefaultButton 為默認按鈕的焦點

CONSTANT VALUE DESCRIPTION
MB_DEFBUTTON1 0 左邊第一個按鈕. (默認)
MB_DEFBUTTON2 256 左邊第二個按鈕
MB_DEFBUTTON3 512 左邊第三個按鈕

例子:Dialog.Message("出錯!", "您的電腦即將爆炸....", MB_RETRYCANCEL);
5.Dialog.PasswordInput(string Title,string Prompt,number Icon)看函數名就知道是密碼輸入框。第二個參數為輸入框裡默認出現
的文本 返回值為輸入的密碼。
例子:Dialog.PasswordInput("輸入密碼", "Password:");

6.Dialog.SplashFlash((string FlashFile ,numberTime, Boolean AllowClickToSkip ) 意義同下,只不過這個函數加載FLASH動畫。
例子:Dialog.SplashFlash("AutoPlay\\Flash\\Intro.swf", 10, false); 加載一段FLASH動畫,顯示10秒鐘,不允許鼠標點擊跳過。

7.Dialog. SplashImage (string MediaFile ,numberTime, Boolean AllowClickToSkip) 加載一個閃屏圖像,就是程式加載時出現的那副
畫,程式的封面。參數:第一個參數指向要加載的圖像的路徑,第二為顯示的時間,第三個參數設定是否可以鼠標點擊Skip (跳過加載畫面)
無返回值。
例子:Dialog.SplashImage("AutoPlay\\Images\\logo.jpg", 10, false); 加載LOGO,顯示10秒鐘,不允許鼠標點擊跳過。

8.Dialog.SplashVideo(string VideoFile ,numberTime, Boolean AllowClickToSkip)汗一個,這是加載視頻的 不用多說了吧。

9.Dialog.TimedMessage(string Title, string Text number Time, number Icon ) 一個通知用戶需要等待幾秒鐘的函數 第三個參數為時間,單位毫秒。
例子:
Dialog.TimedMessage("我的上帝", "你的電腦正在格式化……", 5000, MB_ICONNONE);

DLL 函數釋義:

PS 真好,就一個函數,真輕鬆。

1.DLL.CallFunction(string Filename ,string FunctionName ,string Parameters, number ReturnType number CallConvention) 這個函數
………調用動態連結庫(.DLL)裡的一項函數來實現某項功能。,這個函數常用來擴展AutoPlay Media Studio的功能,其中DLL文件可以是你
自己寫的。
參數:
string Filename 要調用的DLL的路徑,
string FunctionName 要調用的DLL文件中的函數
string Parameters 調用的函數的參數
number ReturnType 調用的這個函數的返回值類型:如下表:
DLL_RETURN_TYPE_INTEGER 0 AutoPlay 接收到函數返回的16位短整數
DLL_RETURN_TYPE_LONG 1 AutoPlay 接收到函數返回的32位長整數
DLL_RETURN_TYPE_STRING 2 AutoPlay 接收到函數返回的字符串

number CallConvention 函數的調用模式:

DLL_CALL_CDECL 0 以CDECL方式調用
DLL_CALL_STDCALL 1 以標準模式調用
返回值為:調用的函數的返回值。
例子:
DLL.CallFunction(_SystemFolder.."\\User32.dll","SetCursorPos","0,0",DLL_RETURN_TYPE_LONG, DLL_CALL_STDCALL);

調用SYSTEM32文件夾下的user32.dll中的SetCursorPos函數 參數為滑鼠的坐標值,返回值為長整型 以標準方式調用。執行完的後果就是您老的鼠標會移到螢幕的左上角.

Drive 函數釋義
PS 操作驅動器的函數,例如C盤啦D盤啦,移動硬碟啦,光碟機啦之類的

1.Drive.Eject(string Drive)彈出光碟機 參數 string Drive為驅動器盤符。

2.Drive.Enumerate ();枚舉取得的所有的系統驅動器。無參數,返回值為包含著所有驅動器驅動字符的索引表,存儲著如”A:\”之類的內容
例子:Drives = Drive.Enumerate(); Drives裡包含著所有的所有的驅動器

3.Drive.GetFreeSpace(string Drive ) 得到指定驅動器的未使用空間的容量。參數為盤符例如:"C", "C:"," C:\" and "C:\Myfile.txt"都可以,返回值為容量,單位Mb
例子:Free_Space = Drive.GetFreeSpace("C:\\"); 取得C盤未使用的空間容量,取得的容量值存儲在Free_Space裡。

4.Drive.GetInformation(string Drive)得到指定驅動器的資訊。參數為驅動器盤符
返回值:
Label string 驅動器的卷標
FileSystem string 驅動器的文件類型.
SerialNumber number 驅動器的序列號
DisplayName string 驅動器的名字
例子:
Current_Serial = Drive.GetInformation(_SourceDrive).SerialNumber;取得程式所在的驅動器的序列號

5.Drive.GetSize(string Drive ) 得到指定驅動器的總容量,參數為盤符,或含有盤符的變量。
返回值為容量值,單位Mb

6.Drive.GetType(string Drive) 得到驅動器類型 參數……..
返回值:

CONSTANT VALUE DESCRIPTION
DRIVE_UNKNOWN 0 未知類型
DRIVE_NO_ROOT_DIR 1 不存在或無效.
DRIVE_REMOVABLE 2 移動磁碟.
DRIVE_FIXED 3 The drive is a non-removable (fixed) drive.
DRIVE_REMOTE 4 網路驅動器.
DRIVE_CDROM 5 CD-ROM or DVD-ROM 驅動器
DRIVE_RAMDISK 6 RAM 驅動器

7. Drive.GetUsedSpace(string Drive) 得到已用空間容量,返回值為已經使用的空間容量,單位Mb

A字的函數(一): Application的釋義
配合著原版說明書看效果會好一點,就是幫助文件的Action Reference 目錄
1.Application.Exit () 啥也不說了。退出函數,沒啥參數,也沒啥好返回的。

2.Application.ExitScript() 退出腳本的函數

3.Application.GetCurrentPage() 返回值得到當前頁的名字沒啥參數 例如“Page1”

4.Application.GetLastError() 得到腳本被觸發後的錯誤碼,返回值是錯誤碼,沒啥好函數

5.Application.GetMenu() 得到菜單的狀態值,返回值可以是以下:

ID: 類型是數字,菜單項的ID
TEXT:類型是文本 就是菜單上的文字
Enable:類型布爾值 就是菜單項能不能用
Checked: 類型布爾值 就是菜單項是否被checked
Submenu:類型是表 就是返回整個菜單項的索引表,如果子項存在的話。

6..Application.GetPages() 得到當前所有頁的名字,返回值是包含所有當前頁名字的值的一個陣列,沒啥參數

7.Application.GetWndHandle() 得到本程式在windows裡的窗口句柄,返回值就是本程式的句柄,用這個函數,我們就可以實現本程式的隱藏啦等等花哨的功能,真的沒啥參數。

8.Application.LoadActionPlugin() 加載腳本插件 例如,加載FTP插件啦,SQLite插件啦,或者是你自己開發的插件, 參數是string(字符串)類型的文件名,指向要加載的插件文件的位置路徑 文件擴展名一般是 .lmd 類型的,沒啥好返回的

9.Application.LoadScript() 加載腳本,啥也不說了,參數string(字符串)類型的文件名,指向要加載的插件文件的位置路徑 文件擴展名一般是 .lua 類型的,也就是說腳本文件我們可以單獨編輯成一個文件,可以從外部調用。沒啥好返回的

10.Application.LoadValue() 加載值 加載由Application.SaveValue()保存的值,參數有仨:

Section 由Application.SaveValue()保存的段值 字符串類型的
Key 由Application.SaveValue()保存的鍵值 字符串類型的
Value 由Application.SaveValue()保存的值 字符串類型的
返回值:啥也沒有啊
用這個函數,我們可以加載程式的狀態。例如歷史記錄等

11.Application.Minimize();顧名思義,讓程式最小化。沒參數,也沒返回值。

12.Application.Restore() 顧名思義,當你把程式最小化後用這個函數可以讓程式自動回覆正常。當然,也可手動

13.Application.RunScriptFile() 運行腳本文件,沒啥值返回的

14.Application.SaveValue() 保存值,與Application.LoadValue()函數對應使用,一般用來保存程式的狀態。

15.Application.SetLastError() 設置錯誤代碼,參數為number 數值型的錯誤代碼,錯誤代碼參看 error codes表

16.Application.SetMenu() 這個函數可以用手工寫代碼的方式實現菜單的建立 參數是table 陣列型的變量,此變量定義了菜單項的值,啥也不返回。

例子:
-- 創建一個包含有菜單資訊的陣列
tblMenu = {}; 定義tblMenu 為陣列變量
tblMenu ={}; 定義陣列tblMenu 中的第一個元素為陣列
tblMenu.Text = "&New Menu"; 定義一個主菜單選項上的文本為"&New Menu"
tblMenu.ID = 100; 定義一個主菜單項的的ID值為100
tblMenu.Checked = false;
tblMenu.Enabled = true; 定義這個主菜單項可以使用
tblMenu.SubMenu = {};定義了第一個陣列為子菜單項
tblMenu.SubMenu = {}; 定義了第一個子菜單項
tblMenu.SubMenu.Text = "&SubItem 1"; 定義了第一個子菜單項的文本
tblMenu.SubMenu.ID = 101; 定義一個子菜單項的的ID值為101
tblMenu.SubMenu.Checked = false;
tblMenu.SubMenu.Enabled = true; 定義這個子菜單項可以使用
tblMenu.SubMenu = {};定義了第二個子菜單項
tblMenu.SubMenu.Text = "S&ubItem 2";定義了第二個子菜單項的文本
tblMenu.SubMenu.ID = 102; 定義第二個子菜單項的的ID值為101
tblMenu.SubMenu.Checked = false;
tblMenu.SubMenu.Enabled = true; 定義這個子菜單項可以使用

-- 根據上面的陣列表裡的菜單資訊生成菜單
Application.SetMenu(tblMenu);

17.Application.SetRedraw() 定義本程式是否重畫(重新顯示) 參數為boolean 布爾值 (ture或false),沒啥返回值,

例子:
Application.SetRedraw(false); 禁止重畫
Button.SetVisible("Button1", false) 設置按鈕1為不可視屬性
Button.SetVisible("Button2", false);
Button.SetVisible("Button2", false);
Button.SetVisible("Button3", false);
Button.SetVisible("Button4", false);
Application.SetRedraw(true); 允許重畫 含義:Button.SetVisible在本例中被用來在頁面上隱藏4個按鈕,上面的例子告訴我們,一般的,整個應用程式的重話經常被延遲,直到在頁面上的插件的重畫完成之後。我猜,相當於刷新吧。

18.Application.ShowPopupMenu()定義並顯示彈出式菜單。

參數:
number x 滑鼠所在的X軸坐標
number y 滑鼠所在的Y軸坐標
table menu 包含要生成的菜單的資訊的陣列 同Application.SetMenu()函數中的參數
number HAlign 菜單相對於X軸的水準格式
TPM_LEFTALIGN 左對齊
TPM_CENTERALIGN 中央對齊
TPM_RIGHTALIGN 右對齊
number Valign 菜單相對於Y軸的水準格式
PM_TOPALIGN 上對齊
TPM_VCENTERALIGN 齊腰對齊
TPM_BOTTOMALIGN 下對齊
boolean WaitForReturn 如果設置為ture 則此函數將返回你選擇的菜單命令的ID值或者0(不選擇菜單命令時或取消選擇時),
如果設置為false,當一個菜單項被選擇,被選中的菜單命令將執行工程或此頁的On Menu 事件中的代碼

boolean ClientCoordinates 如果設置為ture X軸與Y軸將關係到當前頁的左上角,
如果設置為false X軸與Y軸將關係到用戶螢幕的左上角


例子:
if(e_Type == RIGHT_BUTTON_DOWN)then 如果點擊右鍵 則做
tblMenu = {}; 以下同Application.SetMenu(),我就不說了
tblMenu ={};
tblMenu.Text = "&New Menu";
tblMenu.ID = 100;
tblMenu.Checked = false;
tblMenu.Enabled = true;
tblMenu.SubMenu = {};
tblMenu.SubMenu = {};
tblMenu.SubMenu.Text = "&SubItem 1";
tblMenu.SubMenu.ID = 101;
tblMenu.SubMenu.Checked = false;
tblMenu.SubMenu.Enabled = true;
tblMenu.SubMenu = {};
tblMenu.SubMenu.Text = "S&ubItem 2";
tblMenu.SubMenu.ID = 102;
tblMenu.SubMenu.Checked = false;
tblMenu.SubMenu.Enabled = true;

nRes = Application.ShowPopupMenu(e_X, e_Y, tblMenu, TPM_LEFTALIGN, TPM_TOPALIGN, true, true); 彈出菜單將出現在你滑鼠右擊的左上位置並返回你選擇的菜單項的ID值給nRes

if(nRes == 0)then 如果ID值為0 (以為著你取消了彈出式菜單)
Dialog.Message("Menu Result","Cancelled");
else 否則 彈出對話框顯示你選擇的菜單項的ID值
Dialog.Message("Menu Result","Menu ID selected = "..nRes);
end
end

19.Application.Sleep() 讓程式停止運行一段時間,點啥按鈕都不管用。 參數:number Timer定義程式睡眠時間,單位為毫秒 例如:
Application.Sleep(5200); 讓程式在5.2秒裡啥 ..

訪客只能看到部份內容,免費 加入會員 或由臉書 Google 可以看到全部內容




獻花 x0 回到頂端 [樓 主] From:未知地址 | Posted:2008-02-14 18:44 |
白色三菱
個人頭像
個人文章 個人相簿 個人日記 個人地圖
社區建設獎
小有名氣
級別: 小有名氣 該用戶目前不上站
推文 x63 鮮花 x226
分享: 轉寄此文章 Facebook Plurk Twitter 複製連結到剪貼簿 轉換為繁體 轉換為簡體 載入圖片

這些資料已夠初學者使用了, 小妹以過來人經驗再補充一點, 希望能對已經 "略有" 接觸的大大們, 能再更上層樓
其實AMS 的精華就 2 個

1. Application
2. DLL.CallFunction


這 2 個將是決定是否已擠身高手之林

淺見, 僅供參考.


研發商業軟體中......
獻花 x0 回到頂端 [1 樓] From:臺灣中華HiNet | Posted:2009-04-22 00:08 |
莫力思雷靠盃
個人頭像
個人文章 個人相簿 個人日記 個人地圖
小人物
級別: 小人物 該用戶目前不上站
推文 x3 鮮花 x12
分享: 轉寄此文章 Facebook Plurk Twitter 複製連結到剪貼簿 轉換為繁體 轉換為簡體 載入圖片

回 覆 鎖 定 :

  此回覆已被鎖定,只有『管理員及回覆者』看的到 !!!



此文章被評分,最近評分記錄
財富:0 (by adelin) | 理由: 請勿使用粗俗不雅用詞(鎖回文)


莫力思雷靠唄
http://www.facebook.com/group.php?gid=180507086059
獻花 x0 回到頂端 [2 樓] From:臺灣中華電信HINET | Posted:2009-04-22 00:33 |

首頁  發表文章 發表投票 回覆文章
Powered by PHPWind v1.3.6
Copyright © 2003-04 PHPWind
Processed in 0.031229 second(s),query:16 Gzip disabled
本站由 瀛睿律師事務所 擔任常年法律顧問 | 免責聲明 | 本網站已依台灣網站內容分級規定處理 | 連絡我們 | 訪客留言