Products | Support | Email a link to this topic. | Send comments on this topic. | Back to Introduction - All Topics | Help Version 19.0.3.25
|
Leadtools.Dicom Namespace > DicomDataSet Class > SetStringValue Method : SetStringValue(DicomElement,String,DicomCharacterSetType) Method |
public bool SetStringValue( DicomElement element, string value, DicomCharacterSetType characterSet )
'Declaration
Public Overloads Function SetStringValue( _ ByVal element As DicomElement, _ ByVal value As String, _ ByVal characterSet As DicomCharacterSetType _ ) As Boolean
'Usage
Dim instance As DicomDataSet Dim element As DicomElement Dim value As String Dim characterSet As DicomCharacterSetType Dim value As Boolean value = instance.SetStringValue(element, value, characterSet)
public bool SetStringValue( DicomElement element, string value, DicomCharacterSetType characterSet )
public boolean setStringValue(DicomElement element, String value)
function Leadtools.Dicom.DicomDataSet.SetStringValue(DicomElement,String,DicomCharacterSetType)( element , value , characterSet )
public: bool SetStringValue( DicomElement^ element, String^ value, DicomCharacterSetType characterSet )
This example shows how to use the various overloads of SetStringValue and SetStringValuePtr to write a japanese string as the value of a DICOM element in a DicomDataSet
Imports Leadtools Imports Leadtools.Dicom ''' Private Sub DicomSetStringValueTest() DicomEngine.Startup() Dim ds As New DicomDataSet() Dim japaneseText1 As String = "亜美" Dim japaneseText2 As String = "千香子" Dim japaneseStrings() As String = {japaneseText1, japaneseText2} Dim element As DicomElement ' Example 1 - uses Specific Character Set Attribute (0008,0005) to set one string ds.Reset() element = ds.InsertElement(Nothing, False, DicomTag.PatientName, DicomVRType.PN, False, 0) ds.InsertElementAndSetValue(DicomTag.SpecificCharacterSet, "ISO_IR 192") ' Unicode in UTF-8 ds.SetStringValue(element, japaneseText1) Dim result As String = ds.GetStringValue(element, 0) Debug.Assert(result = japaneseText1) ' Example 2 - uses Specific Character Set Attribute (0008,0005) to set two strings ds.Reset() element = ds.InsertElement(Nothing, False, DicomTag.OtherPatientNames, DicomVRType.PN, False, 0) ds.InsertElementAndSetValue(DicomTag.SpecificCharacterSet, "ISO_IR 192") ' Unicode in UTF-8 ds.SetStringValue(element, japaneseStrings) Debug.Assert(ds.GetStringValue(element, 0) = japaneseStrings(0)) Debug.Assert(ds.GetStringValue(element, 1) = japaneseStrings(1)) ' Example 3 - pass in a DicomCharacterSet and set one string ds.Reset() element = ds.InsertElement(Nothing, False, DicomTag.PatientName, DicomVRType.PN, False, 0) ds.SetStringValue(element, japaneseText1, DicomCharacterSetType.UnicodeInUtf8) result = ds.GetStringValue(element, 0) Debug.Assert(result = japaneseText1) ' Example 4 -- pass in a DicomCharacterSet and set two strings ds.Reset() element = ds.InsertElement(Nothing, False, DicomTag.OtherPatientNames, DicomVRType.PN, False, 0) ds.SetStringValue(element, japaneseStrings, DicomCharacterSetType.UnicodeInUtf8) Debug.Assert(ds.GetStringValue(element, 0) = japaneseStrings(0)) Debug.Assert(ds.GetStringValue(element, 1) = japaneseStrings(1)) ' Example 5 -- uses Specific Character Set Attribute (0008,0005) to set one string using IntPtr ds.Reset() Dim pinnedArray As GCHandle = GCHandle.Alloc(japaneseText1, GCHandleType.Pinned) Dim pointer As IntPtr = pinnedArray.AddrOfPinnedObject() element = ds.InsertElement(Nothing, False, DicomTag.PatientName, DicomVRType.PN, False, 0) ds.InsertElementAndSetValue(DicomTag.SpecificCharacterSet, "ISO_IR 192") ' Unicode in UTF-8 ds.SetStringValuePtr(element, pointer, 1) result = ds.GetStringValue(element, 0) Debug.Assert(result = japaneseText1) pinnedArray.Free() DicomEngine.Shutdown() End Sub
using Leadtools; using Leadtools.Dicom; /// private void DicomSetStringValueTest() { DicomEngine.Startup(); DicomDataSet ds = new DicomDataSet(); string japaneseText1 = "亜美"; string japaneseText2 = "千香子"; string[] japaneseStrings = { japaneseText1, japaneseText2 }; DicomElement element; // Example 1 - uses Specific Character Set Attribute (0008,0005) to set one string ds.Reset(); element = ds.InsertElement(null, false, DicomTag.PatientName, DicomVRType.PN, false, 0); ds.InsertElementAndSetValue(DicomTag.SpecificCharacterSet, "ISO_IR 192"); // Unicode in UTF-8 ds.SetStringValue(element, japaneseText1); string result = ds.GetStringValue(element, 0); Debug.Assert(result == japaneseText1); // Example 2 - uses Specific Character Set Attribute (0008,0005) to set two strings ds.Reset(); element = ds.InsertElement(null, false, DicomTag.OtherPatientNames, DicomVRType.PN, false, 0); ds.InsertElementAndSetValue(DicomTag.SpecificCharacterSet, "ISO_IR 192"); // Unicode in UTF-8 ds.SetStringValue(element, japaneseStrings); Debug.Assert(ds.GetStringValue(element, 0) == japaneseStrings[0]); Debug.Assert(ds.GetStringValue(element, 1) == japaneseStrings[1]); // Example 3 - pass in a DicomCharacterSet and set one string ds.Reset(); element = ds.InsertElement(null, false, DicomTag.PatientName, DicomVRType.PN, false, 0); ds.SetStringValue(element, japaneseText1, DicomCharacterSetType.UnicodeInUtf8); result = ds.GetStringValue(element, 0); Debug.Assert(result == japaneseText1); // Example 4 -- pass in a DicomCharacterSet and set two strings ds.Reset(); element = ds.InsertElement(null, false, DicomTag.OtherPatientNames, DicomVRType.PN, false, 0); ds.SetStringValue(element, japaneseStrings, DicomCharacterSetType.UnicodeInUtf8); Debug.Assert(ds.GetStringValue(element, 0) == japaneseStrings[0]); Debug.Assert(ds.GetStringValue(element, 1) == japaneseStrings[1]); // Example 5 -- uses Specific Character Set Attribute (0008,0005) to set one string using IntPtr ds.Reset(); GCHandle pinnedArray = GCHandle.Alloc(japaneseText1, GCHandleType.Pinned); IntPtr pointer = pinnedArray.AddrOfPinnedObject(); element = ds.InsertElement(null, false, DicomTag.PatientName, DicomVRType.PN, false, 0); ds.InsertElementAndSetValue(DicomTag.SpecificCharacterSet, "ISO_IR 192"); // Unicode in UTF-8 ds.SetStringValuePtr(element, pointer, 1); result = ds.GetStringValue(element, 0); Debug.Assert(result == japaneseText1); pinnedArray.Free(); DicomEngine.Shutdown(); }
DicomDataSet Class
DicomDataSet Members
Overload List
SetValue Method
SetStringValue(DicomElement,String,DicomCharacterSetType) Method
SetStringValue(DicomElement,String[],DicomCharacterSetType) Method
SetStringValue(DicomElement,String) Method
SetStringValue(DicomElement,String[]) Method
SetStringValuePtr(DicomElement,IntPtr,Int32) Method
SetStringValuePtr(DicomElement,IntPtr,UInt32,DicomCharacterSetType) Method
SetBinaryValue(DicomElement,Byte[],Int32) Method
SetShortValue(DicomElement,Int16[],Int32) Method
SetIntValue(DicomElement,Int32[],Int32) Method
SetFloatValue(DicomElement,Single[],Int32) Method
SetDoubleValue(DicomElement,Double[],Int32) Method
SetAgeValue Method
SetDateValue(DicomElement,DicomDateValue[]) Method
SetTimeValue(DicomElement,DicomTimeValue[]) Method
SetDateTimeValue(DicomElement,DicomDateTimeValue[]) Method