Visual Basic 6.0 与 Windows API 讲座

错误更正


下载更正(更新)後的范例程式


更正日期:98/05/26


p.207, 第一段程式

原书内容:

ret = RegEnumKey(hKey, Index, Name, Len(Name))

更正结果:

ret = RegEnumKey(hKey, Idx, Name, Len(Name))

更正日期:98/12/18


p.51, 中段程式

原书内容:

1. 传递「字串常数」
SetComputerName "新的电脑名称"

2. 传递「非固定长度字串变数」
Dim Name As String
Name = "新的电脑名称"
SetComputerName

更正结果:

1. 传递「字串常数」
SetComputerName "新的电脑名称"

2. 传递「非固定长度字串变数」
Dim Name As String
Name = "新的电脑名称"
SetComputerName Name

p.59

原书内容:

使用DBCS + SBCS:VB 3.0版、VB 4.0 16-bit版(只能使用於Windows 3.1)、Windows 3.1及其API、Windows 95/98及其API。

错误说明:VB 4.0 16-bit 版所开发的程式可以於 32-bit 作业系统(95/98、NT) 执行,但使用 VB 4.0 16-bit 版来开发程式无法使用 32-bit 作业系统所特有的功能。

p.80, 程式部分

原书内容:

' 呼叫例一:lpKeyName叁数传入「字串」型别资料 "programs"
Length = GetProfileString("windows", "programs", "", S, 80, "test.ini")

' 呼叫例二: lpKeyName叁数传入「长整数」型别资料 0&
Length = GetProfileString("windows", 0&, "", S, Len(S))

更正结果:

' 呼叫例一:lpKeyName叁数传入「字串」型别资料 "programs"
Length = GetPrivateProfileString("windows", "programs", "", S, 80, "test.ini")

' 呼叫例二: lpKeyName叁数传入「长整数」型别资料 0&
Length = GetPrivateProfileString("windows", 0&, "", S, Len(S), "test.ini")

p.405

本页中所有的 Capture 属性,应改成 Caption 属性。

ch04\PlaySnd.vbp 程式

原程式内容:

Private Sub Command1_Click()

Dim wavFile As String, soundFlag As Long

wavFile = File1.Path
If Right(File1.Path, 1) <> "\" Then wavFile = wavFile & "\"
wavFile = File1.filename

soundFlag = IIf(optASYNC.Value, SND_ASYNC, SND_SYNC)
If chkLOOP Then soundFlag = soundFlag Or SND_LOOP
If chkNOSTOP Then soundFlag = soundFlag Or SND_NOSTOP

txtReturn = sndPlaySound(wavFile, soundFlag)

End Sub

更正结果:

Private Sub Command1_Click()

Dim wavFile As String, soundFlag As Long

wavFile = File1.Path
If Right(File1.Path, 1) <> "\" Then wavFile = wavFile & "\"
wavFile = wavFile & File1.filename

soundFlag = IIf(optASYNC.Value, SND_ASYNC, SND_SYNC)
If chkLOOP Then soundFlag = soundFlag Or SND_LOOP
If chkNOSTOP Then soundFlag = soundFlag Or SND_NOSTOP

txtReturn = sndPlaySound(wavFile, soundFlag)

End Sub

ch08\ScrCap.vbp 程式
ch15\ScrCap.vbp 程式
ch15\ScrCap2.vbp 程式
ch15\ScrCap3.vbp 程式
ch15\ScrCap4.vbp 程式

原程式内容:

Private Sub mSaveFile_Click()
   On Error Resume Next
   With CommonDialog1
      .DialogTitle = "储存档案"
      .Filter = "点阵档(*.bmp)|*.bmp"
      .CancelError = True
      .ShowOpen
      If Err.Number <> cdlCancel Then
         SavePicture picCopy.Picture, .filename
      End If
   End With
End Sub

原程式内容:

Private Sub mSaveFile_Click()
   On Error Resume Next
   With CommonDialog1
      .DialogTitle = "储存档案"
      .Filter = "点阵档(*.bmp)|*.bmp"
      .CancelError = True
      .ShowSave
      If Err.Number <> cdlCancel Then
         SavePicture picCopy.Image, .filename
      End If
   End With
End Sub