【題目】
編寫一個(gè)函數(shù),實(shí)現(xiàn)SayString相似功能的函數(shù),只要能夠輸入英文即可
【考官答案評(píng)價(jià)】
無法區(qū)分大小寫琉雳,且給出代碼調(diào)用無法直接輸出字符(扣24分)
【本人當(dāng)時(shí)答案】
Function likeSayString(key)
Dim MyString
MyString = Split(key, "")
For i = 0 To UBound(MyString)
TracePrint UBound(MyString)
KeyPress MyString(i), 1
Delay 200
TracePrint i
TracePrint MyString(i)
Next
End Function
【你的參與】以評(píng)論(或?qū)懞啎涛模┲赋隹赡苡械腻e(cuò)誤,多多益善。
【自我反思】
提交答案之前税手,只是根據(jù)traceprint的結(jié)果才確定的。發(fā)現(xiàn)審核結(jié)果之后需纳,發(fā)覺自己只是依據(jù)traceprint命令的結(jié)果芦倒,沒有加以完善地測試。于是就使用下列代碼進(jìn)行實(shí)際測試不翩,驗(yàn)證一下考官的結(jié)論是否正確兵扬。
RunApp "notepad"
Delay 1000 //這行還是測試幾次后才加的,延時(shí)是很重要的初級(jí)手段(因?yàn)楹唵慰隍穑砸惨走z忘)
//稍高級(jí)一點(diǎn)的器钟,可以用窗口標(biāo)題查詢窗口句柄,如有再繼續(xù)操作妙蔗。
Call likeSayString("We enjoy life")
【提示】
RunApp "notepad"
Delay 200 //Delay 延時(shí)一段(以毫秒為單位)特定的時(shí)間后傲霸,再執(zhí)行后面的命令。
一般在中間加上200毫秒的延時(shí)是比較合適的(具體數(shù)值以測試結(jié)果為準(zhǔn))
KeyPress "A", 1
KeyPress "a", 1
猜想一下結(jié)果是什么,然后自己測試一下昙啄。你能得出什么結(jié)論呢穆役?寫下來,加深印象梳凛!
對(duì)耿币,你的猜想沒錯(cuò),keypress(“按鍵”)后有效的字符或字符串韧拒,不區(qū)分大小寫掰读。
keypress要點(diǎn)如下:
(1)按鍵碼參數(shù)支持字符類型,每次只能按一個(gè)鍵叭莫。
(2)按鍵碼可以是純數(shù)字或者是鍵盤某個(gè)鍵的字符或者字符串蹈集。
但字符串必須與鍵盤上的按鍵碼一致。例如[A]雇初、[B]拢肆、[c]、[shift]靖诗、[Alt]郭怪、[Ctrl]等等。
如果是不存在字符串刊橘,例如ABCD鄙才,執(zhí)行時(shí)則不會(huì)有任何效果。
(3)如果按鍵碼的參數(shù)值不是一個(gè)存在的按鍵碼值促绵,運(yùn)行時(shí)也沒有任何效果攒庵。
(4)按鍵碼只表示鍵盤按鍵的值,不能直接按出"@"這類符號(hào)败晴。
——以上引用自《零基礎(chǔ)學(xué)按鍵精靈》(2012年8月第一版)
【思路總結(jié)】
思路1——《文本拆分拼接法》
把要輸入的文本浓冒,拆分成一個(gè)個(gè)字符,再一個(gè)個(gè)輸入尖坤,要注意大小寫稳懒。
思路2——《文本復(fù)制粘貼法》
把要輸入的文本,直接復(fù)制到剪貼板上慢味,再用粘貼的形式场梆,輸入文本。
【反思總結(jié)】
代碼的測試——不能只看traceprint的結(jié)果纯路,更要看實(shí)際調(diào)用的結(jié)果或油。
延時(shí)——及時(shí)添加,之后要換稍高級(jí)的手法
命令相關(guān)說明——官方文檔好渣感昼,最好自己建個(gè)完善的装哆。(就比如keypress罐脊,竟然沒說明定嗓,不區(qū)分大小寫蜕琴!我擦!)
教程——不要光看官方網(wǎng)站上簡陋的教程宵溅,還要看官方出版賣錢的教程書(教材)凌简。