下記の用に、固定長文字列を含む構造体への一括渡しを行いたいのですが、方法が分かりません!
申し訳ございませんが教えて下さい!
'構造体宣言
Private Type TYP_TEST
STR_MOJI1 As String * 1
STR_MOJI2 As String * 3
End Type
Private Sub BT_TEST_Click()
Dim STR_DATA As TYP_TEST
STR_DATA = "1234"
'
End Sub
すみません!
内容を編集途中で送信ボタンを2回も押してしまいました!
下記をお願いします!
'構造体宣言
Private Type TYP_TEST
STR_MOJI1 As String * 1
STR_MOJI2 As String * 3
End Type
Private Sub BT_TEST_Click()
Dim STR_DATA As TYP_TEST
'ここでSTR_DATA.STR_MOJI1="1" STR_DATA.STR_MOJI2="234"と一気に格納したい
STR_DATA = "1234"
End Sub
度々、申し訳ございません!
VB6.0で開発しております!
--------------------------------------------------------------------------------
魔界の仮面弁士 2005/08/23(火) 11:51:06
Option Explicit
Private Type A
A1 As String * a1
A2 As String * 3
End Type
Private Type B
B1 As String * 4
End Type
Private Sub Form_Load()
Dim X As A
Dim Y As B
Y.B1 = "1234"
LSet X = Y
Debug.Print "A.A1=[" & X.A1 & "], A.A2=[" & X.A2 & "]"
End Sub
--------------------------------------------------------------------------------
こんな感じでしょうか?
Declare Sub CopyMemory Lib "kernel32" Alias "RtlMoveMemory" ( _
lpvDest As Any, lpvSource As Any, ByVal cbCopy As Long)
Private Type TYP_TEST
STR_MOJI1 As String * 1
STR_MOJI2 As String * 3
End Type
Private Sub BT_TEST_Click()
Dim STR_DATA As TYP_TEST
Dim a() As Byte
a = StrConv("1234", vbFromUnicode)
CopyMemory STR_DATA, a(0), Len(STR_DATA)
Debug.Print STR_DATA.STR_MOJI1, STR_DATA.STR_MOJI2
End Sub
2重投稿したスレに適切な解答がついています。
http://madia.world.coocan.jp/cgi-bin/VBBBS/wwwlng.cgi?print+200508/05080111.txt
2重投稿した場合は、どちらのスレも管理してください。
(管理人さんに削除依頼する等)
> てstさん
そのまま引用するならばリンクを張ったほうがいいです。
皆様、御回答ありがとうございます!
CopyMemoryを使用したやりかたでうまくいきそうです!
お世話になりました!
ツイート | ![]() |