<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: XRecord in .NET Forum</title>
    <link>https://forums.autodesk.com/t5/net-forum/xrecord/m-p/3101926#M60011</link>
    <description>&lt;P&gt;I used in one of my application similar on the following methods&lt;/P&gt;&lt;PRE&gt;       #Region "Xrecord Tools"
        Public Function cutArray(ByVal ar As String(), ByVal start As String, ByVal fin As String) As String()

            Dim n As Integer = Array.IndexOf(ar, start)
            Dim m As Integer = Array.IndexOf(ar, fin)
            Dim newar() As String = New String(m - n) {}
            Dim i As Integer = 0
            For k As Integer = n + 1 To m - 1
                newar(i) = ar(k)
                i += 1
            Next
            Return newar
        End Function
        &amp;lt;CommandMethod("DisplayXRecord", "XD", CommandFlags.Modal Or CommandFlags.UsePickSet)&amp;gt; _
        Public Sub XdataDisplay()
            Dim doc As Document = acApp.DocumentManager.MdiActiveDocument
            Dim ed As Editor = doc.Editor
            Using tr As Transaction = doc.Database.TransactionManager.StartTransaction
                Try
                    Dim id As ObjectId = ed.GetEntity("Select your thing:").ObjectId

                    Dim obj As DBObject = DirectCast(tr.GetObject(id, OpenMode.ForWrite), DBObject)
                    Dim dict As DBDictionary = DirectCast(tr.GetObject(obj.ExtensionDictionary, OpenMode.ForWrite), DBDictionary)
                    Dim xid As ObjectId = dict.GetAt("Foo_XRec")
                    Dim xr As Xrecord = DirectCast(tr.GetObject(xid, OpenMode.ForWrite), Xrecord)
                    Dim buff As ResultBuffer = xr.Data

                    Dim tv() As TypedValue = buff.AsArray
                    buff.Dispose()
                    Dim list As New List(Of String)
                    For Each tpv As TypedValue In tv
                        list.Add(tpv.Value)
                    Next

                    Dim ar() As String = cutArray(list.ToArray, "Start_Array", "End_Array")
                    Dim msg As String = ""
                    For Each st As String In ar
                        msg = msg &amp;amp; st &amp;amp; vbLf
                    Next
                    MsgBox("Foo_XRec: " &amp;amp; vbLf &amp;amp; msg)
                    tr.Commit()

                Catch ex As Autodesk.AutoCAD.Runtime.Exception
                    Application.ShowAlertDialog(ex.Message &amp;amp; vbLf &amp;amp; ex.StackTrace)
                Finally

                End Try

            End Using
        End Sub


        &amp;lt;CommandMethod("ArrayToXrecord", "AX", CommandFlags.Modal Or CommandFlags.UsePickSet)&amp;gt; _
        Public Sub AddXrecord()
            Dim doc As Document = acApp.DocumentManager.MdiActiveDocument
            Dim ed As Editor = doc.Editor
            Using tr As Transaction = doc.Database.TransactionManager.StartTransaction
                Dim id As ObjectId = ed.GetEntity("Select your thing:").ObjectId
                Dim obj As DBObject = DirectCast(tr.GetObject(id, OpenMode.ForWrite), DBObject)
                obj.CreateExtensionDictionary()
                Dim dict As DBDictionary = DirectCast(tr.GetObject(obj.ExtensionDictionary, OpenMode.ForWrite), DBDictionary)

                Dim buff As New ResultBuffer

                Dim somearray() As String = {"Start_Array", "alpha", "bravo", "charlie", "delta", "End_Array"}
                For Each st As String In somearray
                    buff.Add(New TypedValue(DxfCode.Text, st))
                Next

                Dim myXRecord As New Xrecord
                myXRecord.Data = buff
                dict.SetAt("Foo_XRec", myXRecord)
                tr.AddNewlyCreatedDBObject(myXRecord, True)
                tr.Commit()

            End Using
        End Sub
#End Region &lt;/PRE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
    <pubDate>Fri, 22 Jul 2011 17:41:24 GMT</pubDate>
    <dc:creator>Hallex</dc:creator>
    <dc:date>2011-07-22T17:41:24Z</dc:date>
    <item>
      <title>XRecord</title>
      <link>https://forums.autodesk.com/t5/net-forum/xrecord/m-p/3101244#M60010</link>
      <description>&lt;P&gt;Hi,&lt;BR /&gt;Is it possible to store a String Array to an XRecord?&lt;BR /&gt;Thanks﻿&lt;/P&gt;</description>
      <pubDate>Fri, 22 Jul 2011 10:05:19 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/net-forum/xrecord/m-p/3101244#M60010</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2011-07-22T10:05:19Z</dc:date>
    </item>
    <item>
      <title>Re: XRecord</title>
      <link>https://forums.autodesk.com/t5/net-forum/xrecord/m-p/3101926#M60011</link>
      <description>&lt;P&gt;I used in one of my application similar on the following methods&lt;/P&gt;&lt;PRE&gt;       #Region "Xrecord Tools"
        Public Function cutArray(ByVal ar As String(), ByVal start As String, ByVal fin As String) As String()

            Dim n As Integer = Array.IndexOf(ar, start)
            Dim m As Integer = Array.IndexOf(ar, fin)
            Dim newar() As String = New String(m - n) {}
            Dim i As Integer = 0
            For k As Integer = n + 1 To m - 1
                newar(i) = ar(k)
                i += 1
            Next
            Return newar
        End Function
        &amp;lt;CommandMethod("DisplayXRecord", "XD", CommandFlags.Modal Or CommandFlags.UsePickSet)&amp;gt; _
        Public Sub XdataDisplay()
            Dim doc As Document = acApp.DocumentManager.MdiActiveDocument
            Dim ed As Editor = doc.Editor
            Using tr As Transaction = doc.Database.TransactionManager.StartTransaction
                Try
                    Dim id As ObjectId = ed.GetEntity("Select your thing:").ObjectId

                    Dim obj As DBObject = DirectCast(tr.GetObject(id, OpenMode.ForWrite), DBObject)
                    Dim dict As DBDictionary = DirectCast(tr.GetObject(obj.ExtensionDictionary, OpenMode.ForWrite), DBDictionary)
                    Dim xid As ObjectId = dict.GetAt("Foo_XRec")
                    Dim xr As Xrecord = DirectCast(tr.GetObject(xid, OpenMode.ForWrite), Xrecord)
                    Dim buff As ResultBuffer = xr.Data

                    Dim tv() As TypedValue = buff.AsArray
                    buff.Dispose()
                    Dim list As New List(Of String)
                    For Each tpv As TypedValue In tv
                        list.Add(tpv.Value)
                    Next

                    Dim ar() As String = cutArray(list.ToArray, "Start_Array", "End_Array")
                    Dim msg As String = ""
                    For Each st As String In ar
                        msg = msg &amp;amp; st &amp;amp; vbLf
                    Next
                    MsgBox("Foo_XRec: " &amp;amp; vbLf &amp;amp; msg)
                    tr.Commit()

                Catch ex As Autodesk.AutoCAD.Runtime.Exception
                    Application.ShowAlertDialog(ex.Message &amp;amp; vbLf &amp;amp; ex.StackTrace)
                Finally

                End Try

            End Using
        End Sub


        &amp;lt;CommandMethod("ArrayToXrecord", "AX", CommandFlags.Modal Or CommandFlags.UsePickSet)&amp;gt; _
        Public Sub AddXrecord()
            Dim doc As Document = acApp.DocumentManager.MdiActiveDocument
            Dim ed As Editor = doc.Editor
            Using tr As Transaction = doc.Database.TransactionManager.StartTransaction
                Dim id As ObjectId = ed.GetEntity("Select your thing:").ObjectId
                Dim obj As DBObject = DirectCast(tr.GetObject(id, OpenMode.ForWrite), DBObject)
                obj.CreateExtensionDictionary()
                Dim dict As DBDictionary = DirectCast(tr.GetObject(obj.ExtensionDictionary, OpenMode.ForWrite), DBDictionary)

                Dim buff As New ResultBuffer

                Dim somearray() As String = {"Start_Array", "alpha", "bravo", "charlie", "delta", "End_Array"}
                For Each st As String In somearray
                    buff.Add(New TypedValue(DxfCode.Text, st))
                Next

                Dim myXRecord As New Xrecord
                myXRecord.Data = buff
                dict.SetAt("Foo_XRec", myXRecord)
                tr.AddNewlyCreatedDBObject(myXRecord, True)
                tr.Commit()

            End Using
        End Sub
#End Region &lt;/PRE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 22 Jul 2011 17:41:24 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/net-forum/xrecord/m-p/3101926#M60011</guid>
      <dc:creator>Hallex</dc:creator>
      <dc:date>2011-07-22T17:41:24Z</dc:date>
    </item>
  </channel>
</rss>

