4단계: 세부 정보 텍스트 상자 채우기
세부 정보 텍스트 상자를 채우려면 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
이 코드는 recFields
에 전달된 단순 레코드의 필드 및 값으로 lstDetails
를 채웁니다. 리소스가 텍스트 파일인 경우 리소스 레코드에서 텍스트 스트림이 열립니다. 코드는 문자 집합이 ASCII인지 여부를 확인하고 Stream 콘텐츠를 txtDetails
로 복사합니다.