手順 4:Details テキスト ボックスに値を設定する
[詳細] テキスト ボックスに入力するには、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
に渡される単純なレコードのフィールドと値が入力されます。 リソースがテキスト ファイルの場合、リソース レコードからテキスト Stream が開かれます。 このコードによって、文字セットが ASCII であるかどうかが判断され、Stream の内容が txtDetails
にコピーされます。