2011年12月19日 星期一

VB.net String into structure

如果有需求是從固定長度的字串想要做分割填入固定的欄位的話,那一個方式是採用 string.substring 的方式自行做分割。

另一個方式就是採用 string 直接 copy 進 structure 的方式,網路上找到的是 c# 的 code.. 要直接轉到 vb.net 也有些地方需要更動…

有 c# 的需求的可以看原文: How to copy a String into a struct using C#



以下提供 VB.net 的程式碼:


Imports System.Text
Imports System.Runtime.InteropServices

Public Class Form1

Structure myStruct
Public a As String
Public b As String
Public c As String
End Structure


Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim buffer As String = "abcdefgh2223333"
Dim pBuf As IntPtr = Marshal.StringToBSTR(buffer)
Dim ms As myStruct = CType(Marshal.PtrToStructure(pBuf, GetType(myStruct)), myStruct)
Console.WriteLine("fname is: {0}", ms.a)
Console.WriteLine("lname is: {0}", ms.b)
Console.WriteLine("phone is: {0}", ms.c)
Marshal.FreeBSTR(pBuf)
End Sub
End Class


沒有留言:

張貼留言

留言請留下大名~謝謝。

Related Posts Plugin for WordPress, Blogger...