PCI3000 (script) 自定义功能
用PCI3000 里面的SCRIPT功能可以把一些常用的功能加入USER TEST的菜单。发一个FORMAT.VBA 低格的SCRIPT 给大家参考
private function ShowForm(ABegLBA,AEndLBA)
' set Form = Screen.NewForm(500,500,"Format parameters")
set Form = Screen.NewForm(600,600," 硬盘低格化")
Form.Margin = 6
Form.Position = VBS_PO_SCREEN_CENTER
Form.BorderStyle= VBS_BS_DIALOG
Form.BeginUpdate
Form.BeginGroup false,VBS_GWM_PIXEL
set BegEdit = Form.PutEdit("开始 LBA",ABegLBA.ToStr,140)
set EndEdit = Form.PutEdit("结束 LBA",AEndLBA.ToStr,140)
set B=Form.AddButton("继续",-1)
b.Default = true
b.Modalresult = VBS_MR_OK
set B=Form.AddButton("取消",-1)
b.Cancel = true
b.Modalresult = VBS_MR_CANCEL
Form.EndUpdate
rc = Form.ShowModal = VBS_MR_OK
if rc then
ABegLBA.FromStr BegEdit.Text
AEndLBA.FromStr EndEdit.Text
end if
ShowForm = rc
end function
private sub Format(ALBA,ABuf)
set Cmd= Kernel.Factory.CreateCommand
Cmd.bSC= SIZE
Cmd.bSN= 0
Cmd.ApplyLBA(2000)
Cmd.bCMD = &h50
set ATA= Kernel.Board.ATA0
ATA.WaitReady 15000
ATA.SendCommand_CMD Cmd
ATA.WaitReady 15000
ATA.WaitDRQ
ATA.BufferSend_Buf ABuf
ATA.WaitReady 15000
end sub
function Main(A)
set BegLBA = Kernel.Factory.CreateLBA48
BegLBA.SetLBA 0
set EndLBA = Kernel.Factory.CreateLBA48
if not Kernel.Board is nothing then
EndLBA.GetFromIdentify Kernel.Board.ATA0.Identify
else
EndLBA.SetLBA 0
end if
if not ShowForm(BegLBA,EndLBA) then
exit function
end if
set ATA = Kernel.Board.ATA0
set Index = Kernel.Factory.CreateLBA48
Index.AssignLBA BegLBA
set Buf= Kernel.Factory.CreateDataBuf(512)
Offset=0
for idx = 1 to SIZE
'Buf.SetData &h80,Offset + 0,1
Buf.SetData &h00,Offset + 0,1
Buf.SetData Idx ,Offset + 1,1
Offset=Offset + 2
next
do while Index.Compare(EndLBA)<0
Format Index,Buf
Screen.ShowWaitCenter "Formatting.....LBA:"+Index.ToStr
Index.IncLBA 256
loop
Screen.HideWait
end function 下了,谢谢,有声版好多了,再次谢谢你了,辛苦了
下了,谢谢,有声版好多了,再次谢谢你了,辛苦了 进入TOOLS-USER TEST, 然后按右键
参考附图 是好东西,我要看看,谢谢! 是好东西,我要看看,谢谢 (49: (49: 是好东西,我要看看,谢谢 不会用啊 是好东西,我要看 good
页:
[1]
