세부 정보 텍스트 상자를 채웁니다. recFields 새 서브루틴을 만들고 다음 코드를 삽입합니다.
Sub recFields(r As Record, l As ListBox, t As TextBox)
Dim f As Field
Dim s As Stream
Set s = New Stream
Dim str As String
For Each f In r.Fields
l.AddItem f.Name & ": " & f.Value
Next
t.Text = ""
If r!RESOURCE_CONTENTCLASS = "text/plain" Then
s.Open r, adModeRead, adOpenStreamFromRecord
str = s.ReadText(1)
s.Position = 0
If Asc(Mid(str, 1, 1)) = 63 Then '//63 = "?"
s.Charset = "ascii"
s.Type = adTypeText
End If
t.Text = s.ReadText(adReadAll)
End If
End Sub
이 코드는 단순 레코드를 lstDetails
에 전달하여 그 필드와 값을 recFields
에 채웁니다. 리소스가 텍스트 파일인 경우 리소스 레코드에서 텍스트 스트림이 열립니다. 코드는 문자 집합이 ASCII인지 여부를 결정하고 스트림의 내용을 txtDetails
로 복사합니다.