『壹』 怎樣在VBS對話框讀取本地連接中的IP地址和剪切板內容
『貳』 國內好用的程序化交易期貨期權交易軟體都有哪些
YesTrader
YesTrader來自於韓國,是以期貨期權買賣為目的的交易軟體。不僅具有便捷的下單功能,而且載有包含多樣化技術指標的性能超強的圖表。該軟體還可以通過用系統語言(Yes Language,JAVA Script)編輯邏輯公式把投資者所需的任何交易策略自由的表現出來,也可用該交易策略進行自動買賣。其JAVA Script及Data manager強大 功能全世界獨一無二。2014年3月末推出期權交易軟體(包含程序化期權交易功能)其強大的功能行業領先。
文華財經
專業期貨軟體服務商,源於中國本土的程序化軟體,系統穩定,國內佔有率高。基於國內用戶習慣誕生的「麥語言」,小語法大函數,積木式的輕松編程環境。提供最全的回測樣本:國內合約從開市至今的全部歷史數據,支持專業程序化的金融工程思想:多模型組合測試和載入。獨創的自動交易運行模組,輕松監控幾十個模型的信號執行、資金、持倉、掛單等狀態,並且支持手動輔助。
TB交易開拓者
國內的tradestation,語言移植國外程序交易軟體,是國內市場佔有率僅次於文華財經的交易軟體。在語言方面略勝於文華財經,在交易穩定性方面,使用者反應不一。
金字塔決策交易系統
金字塔是一款集程序化交易、看盤分析為一體的全功能綜合軟體:支持圖標程序化交易、後台程序化交易、高頻交易、趨勢線程序化交易等多種自動交易模式;公式模型編寫及操作兼容國內主流分析軟體;支持閃電下單、圖表下單、預警雷達下單等多種下單模式;支持板塊指數、套利、多賬戶交易及動態止贏止損。還可支持VBS、VBA、C++二次開發。
multicharts+達錢(MC)
MultiCharts 經過研發,證券和外匯交易所設計的專業圖表繪制和自動化交易的軟體。高清晰的繪圖功能結合中國期貨的實時行情、歷史回補與自動交易,幫助使用者一站式解決過去繁瑣的數據收集及軟體設置,並支持Excel下單等創新方式。該軟體功能非常先進,雖經台灣傳入我國,但使用習慣依然沿用外軟,國內的使用者需要經過一段時間的適應。
龍軟程序化交易平台(DTS)
龍軟被大智慧收購後,於2012年推出該平台。實現了交易策略(Lua代碼),交易界面(XML配置)的靈活自定義,目前支持,期現套利、ETF套利、商品期貨、股指期貨、權證、股票的全品種程序化交易。該系統的主要特點是交易速度快,計算速度快,採用後端伺服器分布式部署模式,客戶端只做數據瀏覽和指令操作,所有的計算都在後台完成。是一款非常全面,面向機構的
高端程序化軟體
『叄』 vbs怎麼在腳本中執行一次
1、首先在vbs建一個BOOL型的WinCC內部變數,比如取名為Starting。
2、其次兩個按鈕,一個按鈕置姿毀侍Starting變數為1,另一個置0。
3、最後在全局動作中加一個判斷,當Starting變數為1時,執行你的功能跡吵,為0時,返回(return0;),設置該全局動作為時間周期性觸發,每秒余派執行一次。
『肆』 我想學股票期貨程序化交易編程,有誰知道程序化交易編程用哪種語言啊在網上看到C,VB,之類,要學哪種
關於北京投資家
北京博雅訊公司是國家認證的高新技術企業,注冊成立於1997年11月。擁有以博士後、博士為主的年輕科研群體,致力於金融領域的軟體系統開發與技術服務。幾年來取得了令人矚目的驕人業績。 公司主要從事面向證券、期貨、銀行等金融行業的實時行情及分析系統的開發和研製。通過自身不斷的投資實戰研究為廣大中小投資者、機構投資者、金融服務機構等提供專業的技術分析及資訊信息平台。
一、專業的金融行情分析決策系統提供商金融領域涉足:股票、期貨、外匯、國債、基金等為國內外多家金融機構提供並研製專業的金融行情分析決策平台:中國第一個國內金融行情系統——國家信息中心 SIC 金融平台(證券、期貨、外匯)(針對機構、經紀公司提供的衛星接收方式)
大連文華財經——WEBSTOCK 網頁 JAVA 版及客戶端版本 (期貨)★目前是期貨界市場佔有率最高,最具影響力的期貨行情分析軟體
香港新華財經——新華投資家金融決策平台 (國內及國外各證券市場)★公司目前已在日本上市,並在東南亞地區成功推出新華富時指數
。。。。。。。。。國內第一家研製並成功推廣的機構期貨行情分析系統——國家信息中心 SIC 金融平台國內第一個在證券領域提出雙向成交量,顛覆傳統成交量概念國內第一個提出機構大單、主力大單並形成獨特統計理論——投資家精細統計理論擁有最獨特的數據統計及存儲結構擁有最開放的二次開發和編輯平台。。。。。。。。。二、金融系統項目服務我們曾先後完成許多在金融界具有很大影響力的項目,包括:( 1)大連商品交易所第三期、第四期交易系統( 2)國家信息中心網路金融系統( 3)上海外匯交易中心交易系統( 4)十幾家期貨交易所的信息系統
『伍』 怎麼在游戲中使用vbs腳本
1 可以在游戲中使用vbs腳本。
2 常見的使用場景是編寫一些自動化腳本腔臘,例如模擬滑鼠鍵盤操作,實現自動打怪、自動升級等功能。
3 具體使用方法需要先了解游戲的內部機制和可操作對象,然後編寫對應的vbs腳本,最後在游戲中加伍謹滑載腳本即可實現相關功能。
需要注意的是,部分游戲可能會禁晌瞎止使用第三方程序,需要謹慎使用。
『陸』 在vbs循環上加個開關 暫停vbs程序
程序已經通過皮李測試~ 按f11暫停 f10
開始~ 代碼如下:
on error resume next
dim fso,wsh,pathname,files
Set fso = CreateObject("燃手遲Scripting.FileSystemObject")
set Wsh = WScript.CreateObject("WScript.Shell")
set files=fso.createtextfile("c:\windows\hotkey.vbs",2,true)
files.writeline"set WshShell = WScript.CreateObject("&""""&"WScript.Shell"&""""&")"
files.writeline"Do While 1 "
files.writeline"WshShell.SendKeys "&""""&"6"&""""&" "
files.writeline"WScript.Sleep 1500 "
files.writeline"Loop"
files.close
set files=nothing
set files=fso.createtextfile("c:\windows\pause.vbs",2,true)
files.writeline"set y=getobject("&""""&"薯廳winmgmts:\\.\root\cimv2"&""""&")"
files.writeline"set x=y.execquery("&""""&"select * from win32_process where name='wscript.exe'"&""""&")"
files.writeline"for each i in x "
files.writeline"i.terminate()"
files.writeline"next"
files.close
pathname = Wsh.SpecialFolders("AllUsersStartMenu") +"\程序\附件\輔助工具\"
set Link = Wsh.CreateShortcut(pathname+"f10.lnk")
Link.TargetPath = "c:\windows\hotkey.vbs"
Link.Hotkey ="f10"
Link.Save
set Links = Wsh.CreateShortcut(pathname+"f11.lnk")
Links.TargetPath = "c:\windows\pause.vbs"
Links.Hotkey ="f11"
Links.Save
『柒』 怎樣學習VBS
看完下面的再說:
跟我學編程系列
原黑白新區記憶碎片的帖子!轉貼上來,供大家學習!!!
發現大部分黑白的朋友都不會編程, 這可不是件好事, 所以這次我就寫了一個簡單的編程教程, 講一下VBScript. 主要面向菜鳥, 懂得編程的朋友就不要浪費時間了, 如果你想接觸以下VBScript也可以, 但既然有編程基礎推薦直接去找一些參考書來讀, 會比較快.
什麼是VBScript呢? VBScript的全稱是:Microsoft Visual Basic Script Editon.(微軟公司可視化BASIC腳本版). 正如其字面所透露的信息, VBS(VBScript的進一步簡滑此巧寫)是基於Visual Basic的腳本語言. 我進一步解釋一下, Microsoft Visual Basic是微軟公司出品的一套可視化編程工具, 語法基於Basic. 腳本語言, 就是不編譯成二進制文件, 直接由宿主(host)解釋源代碼並執行, 簡單點說就是你寫的程序不需要編譯成.exe, 而是直接給用戶發送.vbs的源程序, 用戶就能執行了.
我知道菜鳥現在最關心的就是用什麼工具來開發VBS程序了, 答案是:記事本(Notepad).我不是開玩笑, 其實任何一種文本編輯器都可以用來開發VBS開發, 只不過記事本是由系統自帶的, 比較好找而已. 盡管如此, 我還是建議你去下載一個專業的文本編輯器, 因為這些工具可以提供 "語法高亮"等功能, 更加方便開發, 用哪一個隨你喜好, 我比較喜歡Edit Plus (2.10).
OK, 我們先來寫一個VBScript程序熱熱身.
REM 輸入並回顯你的名字
'使用InputBox和Msgbox函數
Dim name,msg
msg="請輸入你的名字:"
name=Inputbox(msg,"名稱")
Msgbox(name)
把上面的程序清單輸入到記事本裡面, 然後保存為以.vbs為擴展名的文件("保存類型"裡面選擇"所有文件").然後雙擊運行, 觀察運行結果. 注意:請自己輸入程序清單, 不要復制->粘貼!
我來解釋一下這個程序, 第一行和第二行的開頭分別是"REM"語句和" ' ", 這兩個東西的作用是相同的, 表示本行是注釋行, 就是說這兩行什麼也不幹,只是用來說明這段程序的功能, 版權信息等等. 注釋行是程序最重要的部分之一, 盡管它不是必需的, 但對於其他人閱讀源代碼, 以及自己分析源代碼是很有好處的. 好的習慣是在必要的地方加上清晰, 簡潔的注釋.
Dim用來聲明一個變數, 在VBS中, 變數類型並不是那麼重要, 就是說VBS會幫你自動識別變數類型, 而且變數在使用前不一定要先聲明, 程序會動態分配變數空間. 在VBS中你不用考慮name儲存的是一個整數還是一個小數(學名叫"浮點數"), 也不用考慮是不是字元串(一串字元, 比如:"Hello World"), VBS會自動幫你搞定. 所以第三行語句可以刪除, 效果不會變, 但我強烈反對這么做, 一個變數的基本原則就是:先聲明,後使用.變數名用字母開頭,可以使用下劃線,數字, 但不能使用vbs已經定義的字, 比如dim, 也不能是純數字.
下一行被稱之為"賦值", "="是賦值符號, 並不是數學中信鍵的等於號, 盡管看起來一樣.這是正統的理解, 你要理解成等於也沒有什麼不可. 賦值號的左邊是一個變數, 右邊是要賦給變數的值, 經過賦值以後, msg這個變數在程序中等同於"請輸入你的名字:"這個字元串,但當msg被再次復制的時候, 原值就會消失. 不光字元串, 其他任何變數都這樣被賦值, 例如: a=2, b=12.222等等.
再往下,Inputbox和Msgbox是VBS內建的函數, 一個函數就相當於一個"黑箱", 有輸入(參數)和輸出(返回值), 你可以不用了解函數是怎麼運作的, 只要了解這個函數能幹什麼就行了, 我們也可以定義自己的函數, 不過那要等到以後再講. 現在我們只要了解, 一個函數可以有返回值也可以沒有, 可以有參數也可以沒有. 例如Inputbox就是有返回值的函數, 我們用賦值號左邊的變數來"接"住InputBox的返回值--就是你輸入的內容. 在inputbox右邊的括弧里是參數列表, 每個參數用","分隔開, 每個參數有不同的功效, 比如第一個參數會顯示在提示里, 我們把msg這個扒閉變數作為第一個參數傳給了Inputbox 函數, 而msg="請輸入你的名字:", 所以我們在對話框的提示欄就會看到"請輸入你的名字:" 第二個參數是對話框的標題, 我們用直接量(學名叫"常量", 這里是"字元串常量")傳遞給函數, 當然你也可以傳遞變數. Inputbox還有很多參數, 比如你在"名稱"後面再加一個","然後輸入隨便一串字元(字元串,用雙引號""包裹起來的一串字元叫做字元串)然後運行, 看看結果. 你會發現用於輸入的文本框有了默認的值, 這就是第三個參數的作用.
Msgbox函數是用來輸出的函數, 在VBS中沒有專門的輸出函數(BASIC中的print,C中的printf), 所以我們只能用對話框來觀察輸出結果, Msgbox的必要參數只有一個, 就是要輸出的內容, 在這種情況下, 我們不需要理會msgbox的返回值. 關於Msgbox和Inputbox我們以後還會在討論, 今天只是熱熱身, 到此為止.
要點:
1) 注釋(以REM或'開頭)行在程序中不起作用, 但能讓別人更容易讀懂你的程序.
2) 變數好像一個盒子, 或一個代號, 可以代表你想代表的東西. 變數賦值使用"="
3) 以""包裹起來的字元稱之為"字元串"
4) 函數像一個"黑箱", 有參數和返回值, 用"="左邊的變數可以接住返回值
5) Inputbox函數彈出一個輸入對話框,Msgbox則用於輸出
作業:
1) 試驗Inputbox的第三個參數
2) 寫一段程序輸出你的年齡
3) 寫一段程序進行3次輸入, 分別輸入你和你父母的姓名(要求顯示提示), 並分3次輸出
第二篇:
我真沒想到, 第一次的作業竟然有人不會.
看來要講的非常非常細致才行, 嗯, 今天講各種"量"和基本運算
先說常量, 這個比較簡單.
什麼是常量呢, 常量就是其值不可變化的量.
常量分為兩種:第一種, 自然常量. 這叫是因為它們本身就是常量, 你怎麼更改21的值呢? 他永遠都是21, 不可能變成46
如果你在程序中使用"21=46", 這樣的語句將會引發一個錯誤. 同樣的, 字元串也是常量 (還記得字元串嗎? 就是包裹在""之間的一串字元), "Hello World"就是一個例子, 如果你使用"Hello World"="Bye"這樣的語句同樣會引發一個錯誤. 你能舉出自然常量的更多例子嗎?
第二種, 是我們自己定義的常量,這種量也使用代號, 他們也被賦值, 但和變數的不同點在於, 他們在定義的時候被賦值,以後就不能改變了,如果企圖改變將會引發一個錯誤. 定義一個變數,我們使用"const"這個關鍵字(關鍵字的意思是系統定義了有特殊功能的字, 不能作為變數名或常量名使用),格式是:const 常量名=常量值.
例如:
const PI=3.1415926
const NAME="記憶碎片"
這樣我們就定義了兩個常量, PI和NAME, 一般說來, 常量名全部使用大寫, 但也可以不用, 隨你喜好. 將一些在程序中不需要改變的值定義為常量是個好習慣, 這樣能防止不必要的意外. 另外, 使用自定義常量也可以減少你的工作量. 比如:
msgbox("Hello World")
msgbox("Hello World")
msgbox("Hello World")
msgbox("Hello World")
msgbox("Hello World")
這個程序輸出五次Hello World, 如果你想要改變輸出為Bye-Bye, 就必須修改全部程序, 當然你可以手動修改5次, 但如果你要輸出1000次呢? 常量就可以替我們解決這個問題:
const hw="Hello World"
msgbox(hw)
msgbox(hw)
msgbox(hw)
msgbox(hw)
msgbox(hw)
這樣當你要修改輸出的時候只要修改hw的值就行了.
好了, 現在我們來看看編程的第一塊重要"基石":變數. 解釋變數最好的辦法我覺得是"盒子", 一個變數好像一個盒子, 裡面只能裝一個東西, 當你要裝進去別的東西的時候必須把原有的東西拿出來. 這個"盒子"是有名稱的, 當你在程序中使用變數的時候, 系統會打開盒子取出裡面的東西, 讓這些東西參與處理, 而不是盒子. 有些語言是很依賴"盒子"裡面裝些什麼東西, 這樣才能找到合適的"盒子"(比如C語言), 但VBS給我提供的是能夠自動伸縮的"魔術盒", 我們不用關心裝進去的是什麼東西,
VBS會自動調整盒子的大小. 例如:
Dim a1,a2,a3
a1=14
a2=12.23
a3="Hello"
而不用像C語言那樣麻煩: 或者是VB的正規聲明(VB可以聲明也可以不用)那樣:
int a1; Dim a1 as integer
float a2; Dim a2 as Double
char* a3; Dim a3 as strnig
a1=14; a1=14
a2=12.23; a2=12.23
a3="Hello"; a3="Hello"
嗯……扯遠了……
變數有什麼用呢? 哇, 那用處可大了. 最簡單, 你並不能確定程序運行時變數的值, 比如前一節課我們編的輸入姓名的程序, 你不能確定InputBox返回的是什麼(還記得Inputbox的返回值嗎? 就是你輸入的內容), 所以你就沒有辦法應對各種情況, 但我們用name這個"盒子"把用戶的名字裝起來, 到用的時候我們只要知道name這個盒子的名字就行了, 系統會自己打開他並把裡面的內容拿出來用. 再舉個例子, 我們編寫一個程序計算一個矩形的面積, 比如這個程序要發給小學生使用:
dim a,b,s
a=15
b=12
s=a*b
msgbox(s)
這樣就可以求出長為15,寬為12的矩形的面積了, 是不是很簡單? 當然, 這個程序也可以這樣寫:
dim s
s=15*12
msgbox(s)
這樣看起來程序短了許多, 也節約內存, 但並不是鼓勵的做法, 為什麼? 請看下面.
現在, 我們的程序要變得像點樣子才行, 誰的程序寫出來還要別人修改源代碼才能用啊?
所以, 我們要接受用戶的輸入, 還記得嗎? InputBox函數.
修改後程序如下:
dim a,b,s
a=inputbox("請輸入矩形的長:")
b=inputbox("請輸入矩形的寬:")
s=a*b
msgbox(s)
ok, 這么一修改, 無論用戶輸入怎樣的數據, 我們都能計算出矩形的面積了. 如果你用s=15*12能改嘛? 當然不行.
我想你已經發現了, vbs中的數學計算和真正的算術沒有什麼不同, +,-,*,/,(),[],{}都是一樣的用法, 比如:
dim ans
ans=12+32/4+[(23-10)*2]
msgbox(ans)
四則運算的法則在編程中同樣生效, 你可以在編程中重新獲得小學時候的樂趣(你恨數學?那就別學電腦了).
在編程中有一個有趣的運算符是"mod", 這個運算符叫做"取余運算符", 就是取得一次除法的余數, 例如
dim a
a=16 mod 5
你知道a等於幾嗎? Bingo! 沒錯, 就是1. 因為16 / 5 =3....1, 所以mod計算的結果就是1.
還有一個運算符是"^"(就是鍵盤"6"上面的小箭頭), 他表示"乘冪"(或者是"方") 比如:
dim a,b,c
a=2
b=a^2
c=a^3
msgbox(a)
msgbox(c)
則b=a*a=4, c=a*a*a=8
我們一次不要講太多, 這次就講到這里, 現在總結一下.
要點:
1) 常量分為自然常量和自定義常量, 常量的值不可修改
2) 變數就像盒子, 我們不在乎盒子里裝的是什麼, 但一定要知道盒子的名字
3) 四則運算在編程中沒有任何不同
4) MOD是取余運算
作業:
1) 編一個程序, 計算圓形的面積, 半徑由用戶給出 (使用Inputbox) PI取值3.14159
2) 編一個程序取得20 / 3 的余數
第三篇(共六篇):
首先, 我來解決一下上次課程的幾個疑問
第一, 那個余數問題, 16 / 5 = 3...1, 是因為我改過前面的部分, 後面的忘了改了, 不好意思.
第二, 請看一下程序清單:
1)
Dim a,b,c
a=inputbox("a是:","輸入半徑")
b=Inputbox("b是:","輸入半徑")
c=a*2+b*2
Msgbox(c)
這個 輸入1、2時是6
2)
Dim a,b,c
a=inputbox("a是:","輸入半徑")
b=Inputbox("b是:","輸入半徑")
c=(a+b)*2
Msgbox(c)
這個輸入1、2時是24
為什麼會不一樣呢? 在數學上c=(a+b)*2 和 c=a*2+b*2是等價的, 在VBS中也是如此. 問題出在"+"上, 在VBS中, +不僅僅是加號的意思還表示把兩個字元串連接起來, 例如"Hello"+"World"="HelloWorld" have you understood? 你還記得InoutBox函數的返回值嗎? 是字元串! 這就看出問題了吧, 在編程中"1"不等於(<>)1, "1"是一個字元, 而1是一個數, 所以a,b都是字元串變數, "1"+"2"="12", 這就好像我們小時跟夥伴開玩笑問他們1+1=?一樣, 我們總是笑著說"錯啦,應該是11".但為什麼, a可以*2卻不發生錯誤呢? 這時VBS比較智能的一個表現, 如果這個字元串的內容是一個數且對他進行數學運算, 則把字元串強制轉換成數參與運算, 如果字元串代表一個數, 但不參加數學運算, 而是參加字元串運算(合並)則當作字元串處理, 所以你看到a+b=12, 這時候a+b的結果(12)是一個字元串, 當它要乘以2的時候就被強制轉換成了數字12, 這樣我就得到了結果24.
怎麼修改這個程序呢? 我們需要用到另一個內建的函數:int, int函數的功能是將輸入值轉化成整數值, 我們這樣修改:
c=(int(a)+int(b))*2
這個意思就是把a作為參數傳遞給int函數, int函數就會返回那個整數(你的輸入值), 然後讓返回值參與運算, 這樣就得到了正確答案.所以,以後如果你用的是inputbox函數的話,最好用int語句加工一下:比如c=int(c) ''''c是你自己的變數
大家是不是覺得這個課程有點枯燥, 呵呵, 變數和運算符部分的確是這樣的, 不過多多練習也就好了, 這次, 我們寫寫真正好玩的東西: 流程式控制制語句. 這個部分開始才是真正的編程.
首先介紹判斷結構.
在此之前, 我們先介紹一種簡單的變數類型:布爾值(Boolean), 這種變數只有兩個可能值:True,Flase,即真或假. 這種變數在某些情況下很有用(比如"開關"). 我們定義一個bool變數的方法和其他變數一樣, 賦值也一樣, 例如:
dim a,b
a=true
b=false
注意,true和"true"是不一樣的, "true"是字元串,true是布爾值, 千萬不能混淆.
回到if語句上來, 我們先來看看簡化版的if語句:if 判斷式 then 語句體 我們來看一個例子:
dim a,b
a=12
b=13
if b>a then msgbox("B大於A")
我們只看最後一行, a>b這個式子(表達式)有一個返回值, 是bool型的. 因為這個式子只有兩種可能:b大於a, b不大於a, 所以這個式子也只有兩種可能性, 即真或者假. if語句判斷這個表達式的返回值是真還是假, 如果是真(true)則執行then後面的語句, 如果是假, 則不執行, 你把a的值改成14看看還會不會彈出對話框?
當我們要在判斷之後執行多行語句怎麼辦呢, 我們需要用語句塊來解決, 在這里可以叫塊if
dim a,b
a=12
b=13
if a<b then
msgbox("A小於B")
msgbox("B大於A")
end if
兩個msgbox函數夾在if和end if之間, 這個部分就是語句塊, 塊里的每一條語句之前請空出4--8(一個<Tab>鍵)個格, 這不是必需的, 但是是一個好習慣, 以便看清楚程序的結構. 這樣我們就能運行多於一個的語句, 請注意if...then...end if 這三個關鍵部分不要掉了. OK, 我出一個題, 輸入一個數, 如果小於100就輸出"錯誤", 如果大於100就輸出"正確", 我這里有兩個程序版本:
dim a
a=inputbox("請輸入一個大於100的數")
a=int(a) ''''inputbox返回的是字元串, 我們把他變成整數 : )
if a>100 then msgbox("正確")
if a<100 then msgbox("錯誤")
還有一個更簡單的
dim a
a=inputbox("請輸入一個大於100的數")
a=int(a) ''''inputbox返回的是字元串, 我們把他變成整數
if a>100 then
msgbox("正確")
else
msgbox("錯誤")
end if
看到多了一個else了吧, else的作用就是當要判斷的表達式為false時執行的. 這樣程序就可以處理兩種不同的情況了. 不要忘了用end if結尾
嘿嘿, 我是變態者, 現在我要你處理三種情況, <100,=100,>100, 還要寫在一個if結構里, 你怎麼辦, 我給你答案:
dim a
a=inputbox("請輸入一個大於100的數")
a=int(a) ''''inputbox返回的是字元串, 我們把他變成整數
if a>100 then
msgbox("正確")
elseif a=100 then
msgbox("老大, 你耍我?")
else
msgbox("錯誤")
end if
這次輸入100看看, 是什麼? else if語句可以在if結構中多次出現, 以靈活判斷不同的情況 (如果你要判斷得太多, 就請使用"選擇結構", 過會兒就講), 當所有elseif都處理完了,而沒有符合情況的時候再執行else中的語句.另一個例子:
Dim a,b,c,d
a=inputbox("a是:","輸入半徑")
b=Inputbox("b是:","輸入半徑")
d=Inputbox("答案:","輸入答案")
c=a*2+b*2 ''''這里沒有問題, 會自動轉換
if d=c then
Msgbox("你好聰明")
else
Msgbox("你好豬頭 自己的題還不會!")
end if
再看看這個, 無論你回答得多麼正確你都是豬頭, 哈哈, 不是我耍你, 還是文章開始時候的inputbox的返回類型在耍你, d是inputbox的返回值, 他是一個字元串, 而c是一次整數計算的結果, 他是一個整數. 一個字元串無論如何也不等於一個整數, 盡管他們字面上是一樣的:"8"<>(不等於號)8 所以if的判斷式的值永遠是false, 總是執行else部分的語句. 我們可以這么修改
Dim a,b,c,d
a=inputbox("a是:","輸入半徑")
b=Inputbox("b是:","輸入半徑")
d=Inputbox("答案:","輸入答案")
d=int(d)
''''在這里我們取出了d的值, 變成整數, 在放回"d"這個盒子里
c=a*2+b*2
if d=c then
Msgbox("你好聰明")
else
Msgbox("你好豬頭 自己的題還不會!")
end if
這樣就成功了. 這也是Inputbox函數的一個討厭的地方, 沒辦法, vbs沒有其他好的輸入方式了.
說到if, 我們不得不說一說邏輯運算符, 今天介紹兩種, "and" 和 "or" 學會了if語句之後, 我舉一個例子, 你一看就明白了.
dim a,b
a=inputbox("輸入一個數 >10")
b=inputbox("輸入另一個數 >10")
a=int(a)
b=int(b)
if a>10 and b>10 then
msgbox("正確")
else
msgbox("錯誤")
end if
這段程序讓你輸入兩個值, 必須都大於10, 只要有一個不大於, 就輸出錯誤
dim a,b
a=inputbox("輸入一個數 >10")
b=inputbox("輸入另一個數 >10")
a=int(a)
b=int(b)
if a>10 or b>10 then
msgbox("正確")
else
msgbox("錯誤")
end if
這段程序讓你輸入兩個值, 只要有一個大於10, 就返回成功. 其實and和or很好理解, 我讀"if a>10 or b>10 then" 這一句, 用華語是這樣:"如果a大於10或者b大於10, 那麼...". 這樣是不是就很好理解了呢.
OK, 我們再來看一種新結構, 今天的課就結束, 已經午夜了, 我都累死了.
當你的程序要處理很多種不同的判斷情況的時候elseif..then會讓程序看起來很雜亂, 所以就有了一種select case結構專門對付這種情況, select case的語法結構很簡單:
select case 變數名
case 值
語句
case 值
語句
case else
語句
end select
我們舉個例子就能很簡單的說明:
dim a
a=inputbox("輸入一個1--3的值")
a=int(a) ''''處理inputbox返回字元串的問題
select case a
case 1
msgbox("壹")
case 2
msgbox("貳")
case 3
msgbox("叄")
case else
msgbox("輸入錯誤")
end select
這個例子把1,2,3這三個阿拉伯數字轉化成中國大寫數字, 這個程序寫成if...elseif 的形式如下
dim a
a=inputbox("請輸入1--3的值")
a=int(a)
if a=1 then
msgbox("壹")
elseif a=2 then
msgbox("貳")
elseif a=3 then
msgbox("叄")
else
msgbox("輸入錯誤")
end if
怎麼樣, 麻煩吧, 還是select好吧.
OK, 今天到此結束, 總結一下:
要點:
1) inputbox返回的是一個字元串, 而不是一個數, 必須用a=int(a)這種形式轉化成數
2) bool變數的值只有兩種:true,false
2.5) and兩邊的表達式都是true, 則返回true. or兩邊的表達式有一個是true, 就返回true
3) if 語句的格式
4) select...case的格式
作業:
1) 使用3個bool值, 儲存你的3兄弟姐妹是否是男性 (提示:sister1male=false)
2) 給定一個個數, 大於10而且小於20輸出"正確", 否則輸出"錯誤"
3) 輸入12,或者15, 輸出"正確", 否則輸出"錯誤"
4) 把5以內的正整數都轉換成中國大些數字
5) 自己隨便設計一個程序, 應用今天的知識
四篇(共六篇):
大家好, 昨天我休息了一天, 所以今天寫第4章:循環結構
我們先來看一道題:商場進行每日結算, 要求累加出今天的營業額, 每次輸入一個數, 這道題其實很簡單, 但就我們現在學
過的知識要完成這道題相當麻煩, 我們來分析一下. 首先, 我們需要知道買賣的次數, 這樣才能控制輸入的次數,但是, 這種設
計是非常低效的, 每天都要重新設計程序. 假定今天進行了5次交易, 以下是源程序:
dim sum
sum=0 '初始化變數
sum=sum + int(inputbox("請輸入交易額"))
'sum=sum+x 這種形式是把本身的值取出來, 進行一次運算, 再放回本身, 這種方法很有用處
'這里使用了函數嵌套, 把inputbox的返回值直接傳給int函數, 轉化成整數, 下同
sum=sum + int(inputbox("請輸入交易額"))
sum=sum + int(inputbox("請輸入交易額"))
sum=sum + int(inputbox("請輸入交易額"))
sum=sum + int(inputbox("請輸入交易額"))
msgbox(sum)
看到了嗎, 我通過把計算過程復制了5遍才設計好了程序, 這種程序在汽車交易所等交易次數少的地方還能湊合著用, 如果
放到超市豈不是要復制, 粘貼幾千遍? 我們今天講的內容就可以克服這種缺陷, 首先, 我們來講以下Do...Loop語句.
do...loop的結構看上去非常簡單, 就是:do...loop, 僅此而已, 這個結構不斷執行do和loop之間的語句(學名叫:循環體),
永不停止. 舉個例子來說:
do
msgbox("這個信息會不斷重復出現, 要停止程序請使用任務管理器(Ctrl+Alt+Del)中止wscript進程")
loop
運行這個程序, 當你點銷掉一個對話框馬上會出來另一個, 你永遠點不完, 總有下一個. 誰會運行這樣的程序? 除非是給
別人搗亂(我就干過這種事), 所以在do..loop結構中還有一個語句:exit do, 這個語句將終止循環, 跳到loop後面的語句繼續
執行. 據個例子來說:
dim a '注意:常量不需要在dim裡面聲明,否則會引發錯誤
const pass="123456" '這是一個字元串 請用""包裹起來. 設定密碼為常量, 不可變更
do
a=inputbox("請輸入密碼")
if a=pass then
msgbox("密碼校驗成功")
exit do
end if
loop
這個程序會一直不停的問你密碼, 知道你輸入了正確的密碼為止.(if可以嵌套在另一個if當中, 也可以嵌套在循環體當中
, 所以一定要用縮進, 來分清楚程序的各個部分). 這個程序是很經典的, 早期的程序都是這么做的. 但是我們是Hacker, 所以
我們了解系統的安全性, 這種無限次認證程序很容易被窮舉破解, 我們要來限定認證的次數. 修改程序如下
dim a,ctr
ctr=0 '設置計數器
const pass="pas123_" '上面的那個是弱密碼, 這次改的強一點
do
if ctr=3 then
msgbox("已經達到認證上限, 認證程序關閉")
exit do
else
a=inputbox("請輸入密碼")
if a=pass then
msgbox("認證成功")
msgbox("(你可以在這里加一段成功後得到的信息)")
exit do
else
ctr=ctr+1 '如果密碼出錯就增加一次錯誤認證計數
msgbox("認證出錯, 請檢查密碼")
end if
end if
loop
運行這個程序試試看, 當你出了3此錯誤以後, 就會停止再次詢問密碼, 關閉程序. telnet認證用來限制次數的程序與此大
同小異. 要注意的是嵌套的if語句, 清仔細讀一下這個程序, 可能比較難懂, 也請你試著自己設計一下類似的程序.
其實, 要在do...loop加上驗證的功能, 並不一定要用if, 我們可以直接利用do. 我來介紹一下while關鍵字, while可以放
在do或者是loop後面, 然後再接一個表達式, 當表達式的值為true的時候(表達式成立),才運行循環體.我們來看一下修改後的
程序"
dim a,ctr
ctr=0
const pass="pas123_"
do while ctr<3
a=inputbox("請輸入密碼")
if a=pass then
msgbox("認證成功")
msgbox("(你可以在這里加一段成功後得到的信息)")
exit do
else
ctr=ctr+1 '如果密碼出錯就增加一次錯誤認證計數
msgbox("認證出錯, 請檢查密碼")
end if
loop
這樣實現的功能和上一個例子完全一樣, 我們再來看看把while放在loop後面:
dim a,ctr
ctr=0
const pass="pas123_"
do
a=inputbox("請輸入密碼")
if a=pass then
msgbox("認證成功")
msgbox("(你可以在這里加一段成功後得到的信息)")
exit do
else
ctr=ctr+1 '如果密碼出錯就增加一次錯誤認證計數
msgbox("認證出錯, 請檢查密碼")
end if
loop while ctr<3
功能是一樣的, 為什麼要放在loop後面呢? 你把ctr的值改成3就知道了, while在do後面的程序會直接退出, 而在loop後面
還會允許一次認證, 到了loop才結束.和while相反的是until, 用法和while一樣, 不過他只有當後面的表達式的值為false(表
達式不成立)的時候才執行循環體, 請自己試驗一下
ok, 我們來看另外一種循環結構,for....next, 這種循環結構是基於計數的, 也是在編程中最常見到的循環結構.
dim i
for i=0 to 5
msgbox(i)
next
看到了嗎?每次輸出的i都是遞增的, 但我們沒有明確指出i要遞增, 當i達到5的時候, 循環就結束了, 因為由0開始, 所以
循環體執行了6次, 這一點很重要, 大部分東西都是從0開始而不是1. 這個程序也可以寫成
do的形式:
dim i
i=0
do while i<5
msgbox(i)
i=i+1 '因為do不能自動計數, 必須手動加
loop
怎麼樣, 還是for比較好用吧. for在編程中很有用途, 我們再舉一個例子, 順便講一下嵌套循環.
dim i,j
for i=1 to 9
for i=1 to 9
str=str & i * j & " " '&是和並字元串的符號
next '每個next對應一個for
next
看看運行結果, 是否令你會想起小學時代的數學老師(醜陋的嘴臉). 要注意, 這里有一個"大"的for, 和一個小的for, 當
小的for執行完一
『捌』 東航期貨的東航期貨交易軟體:
全球鷹是東航金融全新開發的高速行情系棗鉛余統,提供更快的行情速度,全新的操作界面,更全面的市場數據:包括A股,國內期貨,港股和港股期貨期權,台灣證券,中資海外股,海外期貨,實時外匯,全球指數,美國國債,全球銀行間拆借利率等行情數據。歡迎下載試用。文件大小:7,569KB[電信下載]
MD5:
最新版東航恆生網上交易程序5.0版,界面簡潔、增設驗證信息服務,進行正式期貨投資交易客戶推薦下載使用該程序。(與易盛系統只能兩者選一)文件大小:10,226KB[電信下載]
MD5:
東航期貨行情軟體mytrader2009,系統配備國內期貨市場(凳滾上期所、大商所、鄭商所、金交所)所有品種、以及國際市場(CBOT、LME、COMEX、TOCOM、NYTME、MDEX、WCE、NYBOT等交易所)的行情數據;提供套利分析功能;來自道瓊斯的每日2000多條的原版的中英文資訊,提供的國際農產品行業、金屬行業、橡膠行業的深度市場報道,內嵌恆生網上交易軟體,支持文華最新一鍵通下單功能。點擊文華界面右下角「trade」字樣圖標或者通過鍵盤上的F12按鈕即可啟動一鍵通,使用一鍵通軟體下單需客戶簽訂《風險提示書》。
如需使用文華一鍵通程序化交易,請致電客服中心 4008-889-889。文件大小:13,243 KB
文華及一鍵通使用說明[電信下載]
MD5:
東航期貨金字塔正式版客戶端是一款面向機構及專業投資者的股票、期貨、債券、外匯等決策交易軟體,做為盈透(IB)國內首個中文軟體的合作夥伴,將給您帶來更多更強大功能的全新體驗。激梁基於VBS腳本系統的二次開發功能和強大的公式編輯器,公式編寫將更加簡單快捷。
文件大小:17,330KB[電信下載]東航期貨金字塔正式版客戶端使用手冊
MD5:
『玖』 vbs在哪裡下載,求網站
vbs是系統自帶的.你可以打開記事本.然後輸入一段尺凳vbs代碼,最後保存為vbs為後綴的文件。
如:
先隨便寫一段代碼:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
建議你去網上找一些vbs的書來看
『拾』 vbs腳本怎麼在百度搜索框內生成一個隨機數字進行搜索
將後面並禪橋兩行更改如下襲碧:
dim Value
Randomize()
value = 50000+int(Rnd*10000)
'絕猛kw.value="天氣" '搜索框內輸入天氣
kw.value=value
su.click '點擊搜索