每周任务#2
从每周任务1中,大家是否学到了知识呢?还是看了过了?现在第二周任务来了:
A.下载一个M$雅黑字体,然后创建一个简单的GUI,在文本编辑框中,使用雅黑字体。(系统内本身带有此字体的用其它字体代替)
参考:字体注册,设置字体
B.求任意月份的兔子问题(裴波那挈数列)
参考:http://baike.baidu.com/view/568970.htm 我来
第2个
其实是求裴波那挈数列的第N位的值
$x=30;我的机器上$x=30用了 21 秒。(闪龙2800+/512M)
MsgBox(0,'完成','斐波那契数列的第'&$x&'位为:'&@CRLF&Fibonacci($x))
Func Fibonacci($n)
if $n=1 or $n=2 then
Return $n
Else
Return Fibonacci($n-1)+Fibonacci($n-2)
EndIf
EndFunc
注:裴波那挈数列1,2,3,5,8,13,21,34。。。。 这样快多了$x = 3000
MsgBox(0, '完成', '斐波那契数列的第' & $x & '位为:' & @CRLF & Fibonacci($x))
Func Fibonacci($n)
If $n = 1 Or $n = 2 Then
Return $n
EndIf
$x_2 = 1
$x_1 = 2
$i = 3
While $i <= $n
$xnew = $x_1 + $x_2
$x_2 = $x_1
$x_1 = $xnew
$i += 1
WEnd
Return $xnew
EndFunc ;==>Fibonacci
哎遇到数学问题就抓瞎可见自己的知识和逻辑能力是多么的匮乏 数学很差很差知识只能适合理论~~~:face (31): 我来做第二个~$n = 20
MsgBox(0, '', '斐波那契数列的第' & $n & '位为:' & @CR & _Fibonacci($n))
MsgBox(0, '', '斐波那契数列的前' & $n & '位为:' & @CR & _Fibonacci($n, 1))
Func _Fibonacci($n, $flag = 0) ; 0-返回第$n个斐波那契数, 1-返回前$n个斐波那契数,分隔符为"|"
If Not (IsInt($n) And $n > 0) Then
SetError(1)
Return 0
EndIf
Local $Rtn1, $Rtn2
Local $var[$n]
Switch $n
Case 1
$Rtn1 = 1
$Rtn2 = '1'
Case 2
$Rtn1 = 2
$Rtn2 = '1|2'
Case Else
$var = 1
$var = 2
$Rtn2 = '1|2'
For $i = 2 To $n - 1
$var[$i] = $var[$i - 2] + $var[$i - 1]
$Rtn2 &= '|' & $var[$i]
Next
$Rtn1 = $var[$n - 1]
EndSwitch
If $flag == 0 Then
Return $Rtn1
ElseIf $flag == 1 Then
Return $Rtn2
EndIf
EndFunc ;==>_Fibonacci 不是感觉很懂.. 看看帮助.. Func _Fibonacci($iStop)
Local $iX, $iY = 1, $iIndex, $sResult
While $iIndex < $iStop
$iX += $iY
$iY += $iX
$iIndex += 2
$sResult &= $iX & " " & $iY & " "
WEnd
$sResult = StringSplit($sResult, " ")
Return $sResult[$iStop]
EndFunc ;==>_Fibonacci()
4# sxd
跟我一样。。。遇到数学就两眼一抹黑 本帖最后由 78391493 于 2009-5-18 00:01 编辑
#NoTrayIcon
Dim $URL = "http://download.microsoft.com/download/d/6/e/d6e2ff26-5821-4f35-a18b-78c963b1535d/VistaFont_CHS.EXE"
If Not FileExists(@WindowsDir & "\Fonts\msyh.ttf") Then
ProgressOn("字体下载中", "下载微软雅黑字体", "准备下载...", -1, -1, 2 + 16)
$Size = InetGetSize($URL)
InetGet($URL, @ScriptDir & "\VistaFont.EXE", 1, 1)
While @InetGetActive = 1
$Percentage = @InetGetBytesRead / ($Size / 100)
ProgressSet($Percentage, "已下载 " & Round($Percentage, 1) & " %")
Sleep(1000)
WEnd
ProgressSet(100, "正在安装")
Run(@ScriptDir & "\VistaFont.EXE")
WinWait("Windows Vista 字体 - 微软雅黑 5.0", "请仔细阅读以下许可协议。按 PAGE DOWN 键可查阅协议的余下部分。")
ControlClick("Windows Vista 字体 - 微软雅黑 5.0", "请仔细阅读以下许可协议。按 PAGE DOWN 键可查阅协议的余下部分。", "Button1")
WinWait("Windows Vista 字体 - 微软雅黑 5.0", "Windows Vista 字体 - 微软雅黑 5.0 正在安装。")
ControlClick("Windows Vista 字体 - 微软雅黑 5.0", "Windows Vista 字体 - 微软雅黑 5.0 正在安装。", "Button1")
ProgressOff()
EndIf
GUICreate("每周任务2", 410, 282, -1, -1, BitOR(0x00080000,0x00C00000,0x80000000,0x80880000,0x00800000,0x04000000))
GUICtrlCreateEdit("这是一个使用微软雅黑字体的文本框!", 8, 8, 393, 265)
GUICtrlSetFont(-1, 11, 400, 0, "微软雅黑")
GUISetState(@SW_SHOW)
While 1
If GUIGetMsg() = -3 Then Exit
WEnd
睡觉:face (16): 我忘了有参数可以用了,顺便加上速度吧。#NoTrayIcon
Dim $URL = "http://download.microsoft.com/download/d/6/e/d6e2ff26-5821-4f35-a18b-78c963b1535d/VistaFont_CHS.EXE"
If Not FileExists(@WindowsDir & "\Fonts\msyh.ttf") Then
ProgressOn("字体下载中", "下载微软雅黑字体", "准备下载...", -1, -1, 2 + 16)
$Size = InetGetSize($URL)
InetGet($URL, @ScriptDir & "\VistaFont.EXE", 1, 1)
$Timer = TimerInit()
While @InetGetActive = 1
$Percentage = @InetGetBytesRead / ($Size / 100)
$Speed = Round(Round(@InetGetBytesRead / (TimerDiff($Timer) / 1000) / 1024, 1))
ProgressSet($Percentage, "已下载: " & Round($Percentage, 1) & " %; 即时速度: " & $Speed & "Kb/s")
Sleep(1000)
WEnd
ProgressSet(100, "正在安装")
RunWait(@ScriptDir & "\VistaFont.EXE /Q")
FileDelete(@ScriptDir & "\VistaFont.EXE")
ProgressOff()
EndIf
GUICreate("每周任务2", 410, 282, -1, -1, BitOR(0x00080000,0x00C00000,0x80000000,0x80880000,0x00800000,0x04000000))
GUICtrlCreateEdit("这是一个使用微软雅黑字体的文本框!", 8, 8, 393, 265)
GUICtrlSetFont(-1, 11, 400, 0, "微软雅黑")
GUISetState(@SW_SHOW)
While 1
If GUIGetMsg() = -3 Then Exit
WEnd 我忘了有参数可以用了,顺便加上速度吧。#NoTrayIcon
Dim $URL = "http://download.microsoft.com/download/d/6/e/d6e2ff26-5821-4f35-a18b-78c963b1535d/VistaFont_CHS.EXE"
If Not FileExists(@WindowsDir ...
78391493 发表于 2009-5-18 14:05 http://www.autoitx.com/images/common/back.gif
既然说了"参考:字体注册,设置字体",自然是希望用API来写.(注册 .TTF 等字体) 有空要来学习下.这几天翻论坛头都晕了.除了人少点.倒是蛮干净的 学习,顶顶... 刚开始学autoit,进来看看。。各位大虾的源码我已保存,留作学习参考之用....
页:
[1]
2