掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
VB.netにて、構造体の中身をString変数にコピーするには? (ID:83281)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
魔界の仮面弁士 さん 詳しい説明、ありがとうございます。 もうちょっとだけ教えてください^^; ''/////////////// VB6 ////////////////////// Declare Sub MemCopy Lib "kernel32" Alias "RtlMoveMemory" (hpvDest As Any, hpvSource As Any, ByVal cbCopy As Integer) Type STRC_TEST Dim strA As String * 1 Dim strB As String * 2 Dim strC As String * 3 Dim strD As String * 4 Dim strE As String * 5 Dim strF As String * 6 Dim strG As String * 1 Dim strH As String * 2 Dim strI As String * 3 Dim strJ As String * 4 Dim strK As String * 5 Dim strL As String * 6 End Type Dim strValue As String Dim TEST As STRC_TEST ''例えば、各メンバに以下のような値を入れたとして、 TEST.strA = "A" TEST.strB = "BB" TEST.strC = "CCC" TEST.strD = "DDDD" TEST.strE = "EEEEE" TEST.strF = "FFFFFF" TEST.strG = "G" TEST.strH = "HH" TEST.strI = "III" TEST.strJ = "JJJJ" TEST.strK = "KKKKK" TEST.strL = "LLLLLL" strValue = Space(Len(TEST)) ''ここで、 Call MemCopy(strValue , TEST , Len(TEST)) ''を実行すると、 strValue = "ABBCCCDDDDEEEEEFFFFFFGHHIIIJJJJKKKKKLLLLLL" ''また、逆も行いたいので、 Dim TEST2 As STRC_TEST ''と新たに定義し、メンバに何も入っていない状態で、 Call MemCopy(TEST2 , strValue , Len(TEST2)) ''を実行すると、 TEST2.strA = "A" TEST2.strB = "BB" TEST2.strC = "CCC" TEST2.strD = "DDDD" TEST2.strE = "EEEEE" TEST2.strF = "FFFFFF" TEST2.strG = "G" TEST2.strH = "HH" TEST2.strI = "III" TEST2.strJ = "JJJJ" TEST2.strK = "KKKKK" TEST2.strL = "LLLLLL" ''になります ''/////////////////// End VB6 /////////////////////////// これをVB.netで実現したいのです。 構造体内に関数を実装することで、構造体 > 文字列 は 魔界の仮面弁士さんのおっしゃるとおり、構造体内に関数を実装して、 その関数で結合処理をするのもいいのですが、VB6でメモリコピー一発で済んでたのを VB.netでも実現できないかなーと。 逆も、 TEST2.strA = Mid(strValue , 1 , 1) TEST2.strB = Mid(strValue , 2 , 2) TEST2.strC = Mid(strValue , 4 , 3) . . . とやっていくのも、気が遠くなるような作業(上記で慣れてしまった身としては)なので・・・^^; 構造体&メンバ数が沢山あるプログラムなもので・・・ 構造体 > 文字型変数 文字列変数 > 構造体 を、VB6みたくメモリコピーのような感じで、 .netで実現する方法を教えていただけないでしょうか?
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2020 Takeshi Okamoto All Rights Reserved.