<?xml version="1.0" encoding="UTF-8" ?><rdf:RDF 
  xmlns="http://purl.org/rss/1.0/"
  xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
  xmlns:atom="http://www.w3.org/2005/Atom"
  xmlns:dc="http://purl.org/dc/elements/1.1/"
  xml:lang="ja">
  <channel rdf:about="http://w.atwiki.jp/prime503/">
    <title>いぬもあるけばぼうもあるく</title>
    <link>http://w.atwiki.jp/prime503/</link>
    <atom:link href="https://w.atwiki.jp/prime503/rss10.xml" rel="self" type="application/rss+xml" />
    <atom:link rel="hub" href="https://pubsubhubbub.appspot.com" />
    <description>いぬもあるけばぼうもあるく</description>

    <dc:language>ja</dc:language>
    <dc:date>2016-11-20T14:05:53+09:00</dc:date>
    <utime>1479618353</utime>

    <items>
      <rdf:Seq>
                <rdf:li rdf:resource="https://w.atwiki.jp/prime503/pages/80.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/prime503/pages/79.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/prime503/pages/78.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/prime503/pages/77.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/prime503/pages/76.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/prime503/pages/75.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/prime503/pages/74.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/prime503/pages/73.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/prime503/pages/72.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/prime503/pages/47.html" />
              </rdf:Seq>
    </items>
	
		
    
  </channel>
    <item rdf:about="https://w.atwiki.jp/prime503/pages/80.html">
    <title>tmp15</title>
    <link>https://w.atwiki.jp/prime503/pages/80.html</link>
    <description>
      Imports System.Runtime.Serialization

&lt;Serializable()&gt; _
Public Class TestClass
    Implements ISerializable

    Public STR As String

    Sub New()
        Me.STR = String.Empty
    End Sub

    Sub New(str As String)
        Me.STR = str
    End Sub

    Public Sub GetObjectData(info As System.Runtime.Serialization.SerializationInfo, context As System.Runtime.Serialization.StreamingContext) _
            Implements System.Runtime.Serialization.ISerializable.GetObjectData

        info.AddValue(&quot;STR&quot;, STR, GetType(String))
    End Sub

    Public Sub New(info As SerializationInfo, context As StreamingContext)
        STR = DirectCast(info.GetValue(&quot;STR&quot;, GetType(String)), String)
    End Sub

End Class


------------------------------------------------------------------------------

Imports Microsoft.VisualStudio.DebuggerVisualizers
Imports System.Windows.Forms

&lt;Assembly: System.Diagnostics.DebuggerVisualizer(GetType(TestVisualizer) _
    , GetType(VisualizerObjectSource) _
    , Target:=GetType(EntityProject.TestClass) _
    , Description:=&quot;My First Visualizer&quot;)&gt; 

Public Class TestVisualizer
    Inherits DialogDebuggerVisualizer

    Protected Overrides Sub Show(windowService As Microsoft.VisualStudio.DebuggerVisualizers.IDialogVisualizerService _
                                 , objectProvider As Microsoft.VisualStudio.DebuggerVisualizers.IVisualizerObjectProvider)

        Dim obj As Object = objectProvider.GetObject()
        If TypeOf obj Is EntityProject.TestClass Then
            Dim ent As EntityProject.TestClass = DirectCast(obj, EntityProject.TestClass)
            MsgBox(ent.STR)
        End If

    End Sub

    Public Shared Sub TestShowVisualizer(ByVal objectToVisualize As Object)
        Dim visualizerHost As New VisualizerDevelopmentHost(objectToVisualize, GetType(TestVisualizer))
        visualizerHost.ShowVisualizer()
    End Sub

End Class


------------------------------------------------------------------------------

Imports MyVisualizer

Module Module1

    Sub Main()

        Dim test As New EntityProject.TestClass(&quot;aaa&quot;)
        TestVisualizer.TestShowVisualizer(test)
    End Sub

End Module    </description>
    <dc:date>2016-11-20T14:05:53+09:00</dc:date>
    <utime>1479618353</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/prime503/pages/79.html">
    <title>tmp14</title>
    <link>https://w.atwiki.jp/prime503/pages/79.html</link>
    <description>
      HermitDown.exe -from %~n1 -to C:\Users\TestUser\Desktop\先

Imports System.IO

Module Module1

    Sub Main()

        Dim parser As New CommandParser
        Dim cmd As Dictionary(Of String, List(Of String)) = parser.Parse(Environment.GetCommandLineArgs)

        If Not cmd.ContainsKey(&quot;to&quot;) _
            OrElse cmd(&quot;to&quot;).Count = 0 Then

            MsgBox(&quot;to：コピー先のディレクトリを指定してください&quot;)
            Return
        End If

        If Not cmd.ContainsKey(&quot;from&quot;) _
            OrElse cmd(&quot;from&quot;).Count = 0 Then

            MsgBox(&quot;from：コピー元のフォルダを指定してください&quot;)
            Return
        End If

        Dim fromFolder As String = cmd(&quot;from&quot;)(0)
        Dim toFolder As String = cmd(&quot;to&quot;)(0)

        CopyDirectory(fromFolder, toFolder)

    End Sub

    &#039;&#039;&#039; &lt;summary&gt;
    &#039;&#039;&#039; ディレクトリをコピーする
    &#039;&#039;&#039; &lt;/summary&gt;
    &#039;&#039;&#039; &lt;param name=&quot;sourceDirName&quot;&gt;コピーするディレクトリ&lt;/param&gt;
    &#039;&#039;&#039; &lt;param name=&quot;destDirName&quot;&gt;コピー先のディレクトリ&lt;/param&gt;
    Public Sub CopyDirectory( _
            ByVal sourceDirName As String, _
            ByVal destDirName As String)

        &#039;コピー先のディレクトリがないときは作る
        If Not System.IO.Directory.Exists(destDirName) Then
            System.IO.Directory.CreateDirectory(destDirName)
            &#039;属性もコピー
            System.IO.File.SetAttributes(destDirName, _
                System.IO.File.GetAttributes(sourceDirName))
        End If

        &#039;コピー先のディレクトリ名の末尾に&quot;\&quot;をつける
        If destDirName.Chars((destDirName.Length - 1)) &lt;&gt; _
                System.IO.Path.DirectorySeparatorChar Then
            destDirName = destDirName + System.IO.Path.DirectorySeparatorChar
        End If

        &#039;コピー元のディレクトリにあるファイルをコピー
        Dim fs As String() = System.IO.Directory.GetFiles(sourceDirName)
        Dim f As String
        For Each f In fs
            System.IO.File.Copy(f, _
                destDirName + System.IO.Path.GetFileName(f), True)
        Next

        &#039;コピー元のディレクトリにあるディレクトリをコピー
        Dim dirs As String() = System.IO.Directory.GetDirectories(sourceDirName)
        Dim dir As String
        For Each dir In dirs
            CopyDirectory(dir, destDirName + System.IO.Path.GetFileName(dir))
        Next
    End Sub

End Module



&#039;&#039;&#039; &lt;summary&gt;
&#039;&#039;&#039; 引数内のコマンド解析
&#039;&#039;&#039; &lt;/summary&gt;
&#039;&#039;&#039; &lt;remarks&gt;&lt;/remarks&gt;
Public Class CommandParser

    &#039;&#039;&#039; &lt;summary&gt;
    &#039;&#039;&#039; コマンドを解析する
    &#039;&#039;&#039; 
    &#039;&#039;&#039; 例. &quot;-a bbb ccc -D eee&quot;
    &#039;&#039;&#039; このような引数を受け取ったとき下記のDictionaryに変換する
    &#039;&#039;&#039; a,[bbb,ccc]
    &#039;&#039;&#039; d,[eee]
    &#039;&#039;&#039; &lt;/summary&gt;
    &#039;&#039;&#039; &lt;param name=&quot;args&quot;&gt;引数&lt;/param&gt;
    &#039;&#039;&#039; &lt;returns&gt;
    &#039;&#039;&#039; コマンド名と値が対応したDictionaryを返す
    &#039;&#039;&#039; ※コマンド名は小文字に変換される
    &#039;&#039;&#039; ※解析できなかった場合も空のDictionaryを返す
    &#039;&#039;&#039; &lt;/returns&gt;
    &#039;&#039;&#039; &lt;remarks&gt;&lt;/remarks&gt;
    Public Function Parse(ByVal args As String()) As Dictionary(Of String, List(Of String))

        Dim result As New Dictionary(Of String, List(Of String))

        If args Is Nothing Then
            Return result
        End If

        Dim commandName As String = String.Empty &#039;コマンド名
        Dim commandArgs As List(Of String) = Nothing &#039;そのコマンドの引数

        &#039;1つずつ解析
        For Each currentStr As String In args

            If currentStr.StartsWith(&quot;-&quot;) Then
                &#039;コマンド名なら

                &#039;前に別のコマンドがあった場合は、登録
                If Not String.IsNullOrWhiteSpace(commandName) Then
                    result.Add(commandName, commandArgs)
                End If

                commandName = currentStr.Substring(1).Trim.ToLower
                commandArgs = New List(Of String)

            Else
                &#039;そのコマンドの引数なら

                If Not String.IsNullOrWhiteSpace(commandName) Then
                    commandArgs.Add(currentStr.Trim)
                End If

            End If

        Next

        &#039;前に別のコマンドがあった場合は、登録
        If Not String.IsNullOrWhiteSpace(commandName) Then
            result.Add(commandName, commandArgs)
        End If

        Return result
    End Function


End Class    </description>
    <dc:date>2016-06-21T00:36:15+09:00</dc:date>
    <utime>1466436975</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/prime503/pages/78.html">
    <title>tmp13</title>
    <link>https://w.atwiki.jp/prime503/pages/78.html</link>
    <description>
      Module Module1

    Sub Main()

        &#039;CSV読み込み

        Dim dicBunrui As New Dictionary(Of String, List(Of SagyouFormat))
        Dim dicDay As New Dictionary(Of String, List(Of SagyouFormat))

        &#039;SagyouFormat作成
        &#039;作成したSagyouFormatを辞書に分類

        &#039;作業時間報告用の文字列を作成

    End Sub

    &#039;Private Function GetSagyouHoukokuString(

End Module


Class SagyouList

    Enum ListType
        None = -1
        Day = 0
        Bunrui = 1
    End Enum

    Private List As List(Of SagyouFormat)

    Public SagyouListType As ListType = ListType.None

    Sub New(list As List(Of SagyouFormat), type As SagyouList.ListType)
        Me.List = list
        Me.SagyouListType = type
    End Sub

End Class

Class SagyouFormat

    Public DayYmd As String = String.Empty
    Public SagyouBunrui As String = String.Empty
    Public SagyouName As String = String.Empty
    Public IdNo As String = String.Empty
    Public SagyouTime As TimeSpan = TimeSpan.Zero

    Public ErrorFormat As Boolean = False

    Public Sub New(args() As String)

        If args.Count &lt;&gt; 9 Then
            ErrorFormat = True
            Return
        End If

        DayYmd = args(0).Replace(&quot;/&quot;, String.Empty)
        SagyouBunrui = args(1).Trim
        SagyouName = args(2).Trim

        If String.IsNullOrEmpty(args(3).Trim) Then
            IdNo = &quot;000000-00&quot;
        Else
            IdNo = args(3).Trim
        End If

        For i As Integer = 4 To 8
            If Not Me.AddTime(args(i).Trim) Then
                ErrorFormat = True
                Return
            End If
        Next

    End Sub

    Private Function AddTime(timeFormat As String) As Boolean

        timeFormat = timeFormat.Trim

        If String.IsNullOrEmpty(timeFormat) Then
            Return False
        End If

        &#039;変換
        Dim currentSpan As TimeSpan = Me.GetSpan(timeFormat)
        If currentSpan = TimeSpan.Zero Then
            Return False
        End If

        &#039;加える
        Me.SagyouTime = Me.SagyouTime + currentSpan

        Return True
    End Function

    Private Function GetSpan(timeFormat As String) As TimeSpan

        timeFormat = timeFormat.Trim

        If String.IsNullOrEmpty(timeFormat) Then
            Return TimeSpan.Zero
        End If

        If timeFormat.Contains(&quot;:&quot;) AndAlso timeFormat.Contains(&quot;-&quot;) Then
            &#039;「:」と「-」が含まれる形式（例.10:10-12:00）

            Dim tmpString As String() = timeFormat.Split(&quot;-&quot;c)
            If tmpString.Count &lt;&gt; 2 Then
                Return TimeSpan.Zero
            End If

            &#039;tmpString(0)のh:mmの文字列をDateTimeに変換
            &#039;tmpString(1)のh:mmの文字列をDateTimeに変換
            &#039;Spanを求める

            &#039;Dim startTime As DateTime = 
            &#039;Dim endTime As DateTime = 

            &#039;Return endTime - startTime

        ElseIf timeFormat.Contains(&quot;h&quot;) Then
            &#039;hが含まれる形式（例.1hとか、1h20m）

            timeFormat = timeFormat.Replace(&quot;m&quot;, String.Empty)
            Dim tmpString As String() = timeFormat.Split(&quot;h&quot;c)

            Dim hours As Integer = 0
            Dim minuates As Integer = 0

            hours = Integer.Parse(tmpString(0))

            If tmpString.Count = 2 Then
                minuates = Integer.Parse(tmpString(1))
            End If

            Return New TimeSpan(hours, minuates, 0)

        ElseIf timeFormat.Contains(&quot;m&quot;) Then
            &#039;mが含まれる形式（例.20m）

            Dim minuates As Integer = 0

            timeFormat = timeFormat.Replace(&quot;m&quot;, String.Empty)
            &#039;todo 分が60を超えても問題ないか確認
            minuates = Integer.Parse(timeFormat)

            Return New TimeSpan(0, minuates, 0)

        End If

        Return TimeSpan.Zero

    End Function

End Class    </description>
    <dc:date>2016-05-19T05:14:36+09:00</dc:date>
    <utime>1463602476</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/prime503/pages/77.html">
    <title>tmp12</title>
    <link>https://w.atwiki.jp/prime503/pages/77.html</link>
    <description>
      Public Class Form1

    Private Sub TextBox1_TextChanged(sender As System.Object, e As System.EventArgs)

    End Sub

    Private Sub btnFile1_Click(sender As System.Object, e As System.EventArgs) Handles btnFile1.Click
        Me.SelectFile(btnFile1, txtFile1)
    End Sub

    Private Sub btnFile2_Click(sender As System.Object, e As System.EventArgs) Handles btnFile2.Click
        Me.SelectFile(btnFile2, txtFile2)
    End Sub

    Private Sub SelectFile(button As Button, txt As TextBox)

        &#039;OpenFileDialogクラスのインスタンスを作成
        Dim ofd As New OpenFileDialog()

        &#039;ダイアログを表示する
        If ofd.ShowDialog() = DialogResult.OK Then
            &#039;OKボタンがクリックされたとき
            &#039;選択されたファイル名をすべて表示する
            Dim file As String = ofd.FileNames(0)
            txt.Text = file
        End If
    End Sub


    Private Sub txtFile_DragEnter(sender As Object, e As System.Windows.Forms.DragEventArgs) _
        Handles txtFile1.DragEnter, txtFile2.DragEnter


        If e.Data.GetDataPresent(DataFormats.FileDrop) Then
            e.Effect = DragDropEffects.Copy
        End If

    End Sub

    Private Sub txtFile_DragDrop(sender As Object, e As System.Windows.Forms.DragEventArgs) _
        Handles txtFile1.DragDrop, txtFile2.DragDrop

        Dim txt As TextBox = DirectCast(sender, TextBox)

        Dim fileNameList As String() = CType(e.Data.GetData(DataFormats.FileDrop, False), String())
        Dim fileName As String = fileNameList(0)

        txt.Text = fileName

    End Sub

    Private Sub btnExecute_Click(sender As System.Object, e As System.EventArgs) Handles btnExecute.Click
        If String.IsNullOrEmpty(txtFile1.Text) _
            OrElse String.IsNullOrEmpty(txtFile2.Text) Then

            MsgBox(&quot;ファイル名を指定してください&quot;)
            Return
        End If

        Dim args As New ExecuteArgs(txtFile1.Text, txtFile2.Text)
        If chkIgnoreCase.Checked Then
            args.IgnoreCase = True
        End If
        If chkIgnoreEOL.Checked Then
            args.IgnoreEol = True
        End If
        If chkIgnoreSpace.Checked Then
            args.IgnoreSpace = True
        End If

        Me.Execute(args)

    End Sub

    Private Sub Execute(args As ExecuteArgs)

        &#039;ProcessStartInfoオブジェクトを作成する
        Dim psi As New System.Diagnostics.ProcessStartInfo()
        psi.CreateNoWindow = True
        psi.UseShellExecute = False

        &#039;起動する実行ファイルのパスを設定する
        psi.FileName = SetQuotation(&quot;C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE\diffmerge.exe&quot;)

        Dim strOpitonList As New List(Of String)
        strOpitonList.Add(SetQuotation(args.File1))
        strOpitonList.Add(SetQuotation(args.File2))

        If args.IgnoreCase Then
            strOpitonList.Add(SetQuotation(&quot;/ignorecase&quot;))
        End If
        If args.IgnoreEol Then
            strOpitonList.Add(SetQuotation(&quot;/ignoreeol&quot;))
        End If
        If args.IgnoreSpace Then
            strOpitonList.Add(SetQuotation(&quot;/ignorespace&quot;))
        End If

        psi.Arguments = String.Join(&quot; &quot;, strOpitonList.ToArray)

        &#039;起動する
        Dim p As System.Diagnostics.Process = _
            System.Diagnostics.Process.Start(psi)

    End Sub

    Private Function SetQuotation(str As String) As String
        Return &quot;&quot;&quot;&quot; &amp; str &amp; &quot;&quot;&quot;&quot;
    End Function

    Private Class ExecuteArgs
        Public File1 As String
        Public File2 As String
        Public IgnoreSpace As Boolean = False
        Public IgnoreEol As Boolean = False
        Public IgnoreCase As Boolean = False

        Public Sub New(f1 As String, f2 As String)
            File1 = f1
            File2 = f2
        End Sub
    End Class

    Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
        Me.Close()
    End Sub
End Class


&lt;Global.Microsoft.VisualBasic.CompilerServices.DesignerGenerated()&gt; _
Partial Class Form1
    Inherits System.Windows.Forms.Form

    &#039;フォームがコンポーネントの一覧をクリーンアップするために dispose をオーバーライドします。
    &lt;System.Diagnostics.DebuggerNonUserCode()&gt; _
    Protected Overrides Sub Dispose(ByVal disposing As Boolean)
        Try
            If disposing AndAlso components IsNot Nothing Then
                components.Dispose()
            End If
        Finally
            MyBase.Dispose(disposing)
        End Try
    End Sub

    &#039;Windows フォーム デザイナーで必要です。
    Private components As System.ComponentModel.IContainer

    &#039;メモ: 以下のプロシージャは Windows フォーム デザイナーで必要です。
    &#039;Windows フォーム デザイナーを使用して変更できます。  
    &#039;コード エディターを使って変更しないでください。
    &lt;System.Diagnostics.DebuggerStepThrough()&gt; _
    Private Sub InitializeComponent()
        Me.btnFile1 = New System.Windows.Forms.Button()
        Me.txtFile1 = New System.Windows.Forms.TextBox()
        Me.Label2 = New System.Windows.Forms.Label()
        Me.Label1 = New System.Windows.Forms.Label()
        Me.txtFile2 = New System.Windows.Forms.TextBox()
        Me.btnExecute = New System.Windows.Forms.Button()
        Me.btnFile2 = New System.Windows.Forms.Button()
        Me.chkIgnoreEOL = New System.Windows.Forms.CheckBox()
        Me.chkIgnoreSpace = New System.Windows.Forms.CheckBox()
        Me.chkIgnoreCase = New System.Windows.Forms.CheckBox()
        Me.Button1 = New System.Windows.Forms.Button()
        Me.SuspendLayout()
        &#039;
        &#039;btnFile1
        &#039;
        Me.btnFile1.Location = New System.Drawing.Point(352, 14)
        Me.btnFile1.Name = &quot;btnFile1&quot;
        Me.btnFile1.Size = New System.Drawing.Size(86, 23)
        Me.btnFile1.TabIndex = 0
        Me.btnFile1.Text = &quot;参照(&amp;1)&quot;
        Me.btnFile1.UseVisualStyleBackColor = True
        &#039;
        &#039;txtFile1
        &#039;
        Me.txtFile1.AllowDrop = True
        Me.txtFile1.Location = New System.Drawing.Point(72, 16)
        Me.txtFile1.Name = &quot;txtFile1&quot;
        Me.txtFile1.Size = New System.Drawing.Size(274, 19)
        Me.txtFile1.TabIndex = 4
        &#039;
        &#039;Label2
        &#039;
        Me.Label2.AutoSize = True
        Me.Label2.Location = New System.Drawing.Point(15, 19)
        Me.Label2.Name = &quot;Label2&quot;
        Me.Label2.Size = New System.Drawing.Size(45, 12)
        Me.Label2.TabIndex = 6
        Me.Label2.Text = &quot;ファイル1&quot;
        &#039;
        &#039;Label1
        &#039;
        Me.Label1.AutoSize = True
        Me.Label1.Location = New System.Drawing.Point(15, 44)
        Me.Label1.Name = &quot;Label1&quot;
        Me.Label1.Size = New System.Drawing.Size(45, 12)
        Me.Label1.TabIndex = 9
        Me.Label1.Text = &quot;ファイル2&quot;
        &#039;
        &#039;txtFile2
        &#039;
        Me.txtFile2.AllowDrop = True
        Me.txtFile2.Location = New System.Drawing.Point(72, 41)
        Me.txtFile2.Name = &quot;txtFile2&quot;
        Me.txtFile2.Size = New System.Drawing.Size(274, 19)
        Me.txtFile2.TabIndex = 8
        &#039;
        &#039;btnExecute
        &#039;
        Me.btnExecute.Location = New System.Drawing.Point(353, 96)
        Me.btnExecute.Name = &quot;btnExecute&quot;
        Me.btnExecute.Size = New System.Drawing.Size(86, 23)
        Me.btnExecute.TabIndex = 10
        Me.btnExecute.Text = &quot;実行(&amp;E)&quot;
        Me.btnExecute.UseVisualStyleBackColor = True
        &#039;
        &#039;btnFile2
        &#039;
        Me.btnFile2.Location = New System.Drawing.Point(352, 39)
        Me.btnFile2.Name = &quot;btnFile2&quot;
        Me.btnFile2.Size = New System.Drawing.Size(86, 23)
        Me.btnFile2.TabIndex = 11
        Me.btnFile2.Text = &quot;参照(&amp;2)&quot;
        Me.btnFile2.UseVisualStyleBackColor = True
        &#039;
        &#039;chkIgnoreEOL
        &#039;
        Me.chkIgnoreEOL.AutoSize = True
        Me.chkIgnoreEOL.Checked = True
        Me.chkIgnoreEOL.CheckState = System.Windows.Forms.CheckState.Checked
        Me.chkIgnoreEOL.Location = New System.Drawing.Point(72, 81)
        Me.chkIgnoreEOL.Name = &quot;chkIgnoreEOL&quot;
        Me.chkIgnoreEOL.Size = New System.Drawing.Size(139, 16)
        Me.chkIgnoreEOL.TabIndex = 12
        Me.chkIgnoreEOL.Text = &quot;行末記号の相違を無視&quot;
        Me.chkIgnoreEOL.UseVisualStyleBackColor = True
        &#039;
        &#039;chkIgnoreSpace
        &#039;
        Me.chkIgnoreSpace.AutoSize = True
        Me.chkIgnoreSpace.Checked = True
        Me.chkIgnoreSpace.CheckState = System.Windows.Forms.CheckState.Checked
        Me.chkIgnoreSpace.Location = New System.Drawing.Point(72, 103)
        Me.chkIgnoreSpace.Name = &quot;chkIgnoreSpace&quot;
        Me.chkIgnoreSpace.Size = New System.Drawing.Size(153, 16)
        Me.chkIgnoreSpace.TabIndex = 13
        Me.chkIgnoreSpace.Text = &quot;空白スペースの相違を無視&quot;
        Me.chkIgnoreSpace.UseVisualStyleBackColor = True
        &#039;
        &#039;chkIgnoreCase
        &#039;
        Me.chkIgnoreCase.AutoSize = True
        Me.chkIgnoreCase.Checked = True
        Me.chkIgnoreCase.CheckState = System.Windows.Forms.CheckState.Checked
        Me.chkIgnoreCase.Location = New System.Drawing.Point(72, 125)
        Me.chkIgnoreCase.Name = &quot;chkIgnoreCase&quot;
        Me.chkIgnoreCase.Size = New System.Drawing.Size(163, 16)
        Me.chkIgnoreCase.TabIndex = 14
        Me.chkIgnoreCase.Text = &quot;大文字小文字の相違を無視&quot;
        Me.chkIgnoreCase.UseVisualStyleBackColor = True
        &#039;
        &#039;Button1
        &#039;
        Me.Button1.Location = New System.Drawing.Point(353, 121)
        Me.Button1.Name = &quot;Button1&quot;
        Me.Button1.Size = New System.Drawing.Size(86, 23)
        Me.Button1.TabIndex = 15
        Me.Button1.Text = &quot;終了(&amp;X)&quot;
        Me.Button1.UseVisualStyleBackColor = True
        &#039;
        &#039;Form1
        &#039;
        Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 12.0!)
        Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
        Me.ClientSize = New System.Drawing.Size(451, 157)
        Me.Controls.Add(Me.Button1)
        Me.Controls.Add(Me.chkIgnoreCase)
        Me.Controls.Add(Me.chkIgnoreSpace)
        Me.Controls.Add(Me.chkIgnoreEOL)
        Me.Controls.Add(Me.btnFile2)
        Me.Controls.Add(Me.btnExecute)
        Me.Controls.Add(Me.Label1)
        Me.Controls.Add(Me.txtFile2)
        Me.Controls.Add(Me.Label2)
        Me.Controls.Add(Me.txtFile1)
        Me.Controls.Add(Me.btnFile1)
        Me.Name = &quot;Form1&quot;
        Me.Text = &quot;ファイル比較&quot;
        Me.ResumeLayout(False)
        Me.PerformLayout()

    End Sub
    Friend WithEvents btnFile1 As System.Windows.Forms.Button
    Friend WithEvents txtFile1 As System.Windows.Forms.TextBox
    Friend WithEvents Label2 As System.Windows.Forms.Label
    Friend WithEvents Label1 As System.Windows.Forms.Label
    Friend WithEvents txtFile2 As System.Windows.Forms.TextBox
    Friend WithEvents btnExecute As System.Windows.Forms.Button
    Friend WithEvents btnFile2 As System.Windows.Forms.Button
    Friend WithEvents chkIgnoreEOL As System.Windows.Forms.CheckBox
    Friend WithEvents chkIgnoreSpace As System.Windows.Forms.CheckBox
    Friend WithEvents chkIgnoreCase As System.Windows.Forms.CheckBox
    Friend WithEvents Button1 As System.Windows.Forms.Button

End Class    </description>
    <dc:date>2016-04-23T10:22:34+09:00</dc:date>
    <utime>1461374554</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/prime503/pages/76.html">
    <title>tmp11</title>
    <link>https://w.atwiki.jp/prime503/pages/76.html</link>
    <description>
      &#039;&#039;&#039; &lt;summary&gt;
&#039;&#039;&#039; RRRXXYのデータ
&#039;&#039;&#039; &lt;/summary&gt;
&#039;&#039;&#039; &lt;remarks&gt;&lt;/remarks&gt;
Public Class XXXXXZData

    Public OPRXXZCode As String
    Public ParentCode As String
    Public OPRKubun As Integer
    Public OPRcd As String

    Private _clsOPQindex As clsOPQindex
    &#039;&#039;&#039; &lt;summary&gt;
    &#039;&#039;&#039; OPQIndex
    &#039;&#039;&#039; ※更新禁止
    &#039;&#039;&#039; &lt;/summary&gt;
    &#039;&#039;&#039; &lt;value&gt;&lt;/value&gt;
    &#039;&#039;&#039; &lt;returns&gt;&lt;/returns&gt;
    &#039;&#039;&#039; &lt;remarks&gt;&lt;/remarks&gt;
    Public ReadOnly Property OPQindex() As clsOPQindex
        Get
            Return _clsOPQindex
        End Get
    End Property

    Private _clsOPROrd As New List(Of clsOPROrd)
    &#039;&#039;&#039; &lt;summary&gt;
    &#039;&#039;&#039; OPROrd
    &#039;&#039;&#039; ※更新禁止
    &#039;&#039;&#039; &lt;/summary&gt;
    &#039;&#039;&#039; &lt;value&gt;&lt;/value&gt;
    &#039;&#039;&#039; &lt;returns&gt;&lt;/returns&gt;
    &#039;&#039;&#039; &lt;remarks&gt;&lt;/remarks&gt;
    Public ReadOnly Property OPROrd() As List(Of clsOPROrd)
        Get
            Return _clsOPROrd
        End Get
    End Property

    Private _childXXZList As New List(Of XXXXXZData)
    &#039;&#039;&#039; &lt;summary&gt;
    &#039;&#039;&#039; このXXYの直下にある子XXYのリスト
    &#039;&#039;&#039; ※更新禁止
    &#039;&#039;&#039; ※全ての子XXYを取得する場合はXXXXXZManager.FindChildXXXXXZDataを利用すること
    &#039;&#039;&#039; &lt;/summary&gt;
    &#039;&#039;&#039; &lt;value&gt;&lt;/value&gt;
    &#039;&#039;&#039; &lt;returns&gt;&lt;/returns&gt;
    &#039;&#039;&#039; &lt;remarks&gt;&lt;/remarks&gt;
    Public ReadOnly Property ChildXXZList() As List(Of XXXXXZData)
        Get
            Return Me._childXXZList
        End Get
    End Property

    Private _loadedOPT As Boolean = False
    &#039;&#039;&#039; &lt;summary&gt;
    &#039;&#039;&#039; OPSを取得済みかどうか
    &#039;&#039;&#039; ※更新禁止
    &#039;&#039;&#039; &lt;/summary&gt;
    &#039;&#039;&#039; &lt;value&gt;&lt;/value&gt;
    &#039;&#039;&#039; &lt;returns&gt;&lt;/returns&gt;
    &#039;&#039;&#039; &lt;remarks&gt;&lt;/remarks&gt;
    Public Property LoadedOPT() As Boolean
        Get
            Return _loadedOPT
        End Get
        Set(value As Boolean)
            Me._loadedOPT = _loadedOPT
        End Set
    End Property

    Sub New(clsOPQindex As clsOPQindex)

    End Sub

End Class

Public Class clsOPQindex
    Public OPRXXZCode As String
    Public OPQarentCode As String
    Public OPRKubun As String

    Sub New(XXZcode As String, parentXXZcode As String)
        Me.OPRXXZCode = XXZcode
        Me.OPQarentCode = parentXXZcode
    End Sub
End Class

Public Class clsOPROrd
    Public XXZCode As String
    Public OPRcd As String
    Public Bunrui As String
    Public Bunrui2 As String
    Public Syno As String

    Sub New(XXZcode As String)
        Me.XXZCode = XXZcode
    End Sub
End Class

Public Class clsOPQindexHist
    Public OPRmodKubun As Integer
    Public WsName As String
    Public OPRmodTime As DateTime
    Public OPRXXZCode As String
    Public OPRcd As String
    Public OPROpt2 As String

End Class



&#039;&#039;&#039; &lt;summary&gt;
&#039;&#039;&#039; XXXSetDataAccess.Instance.～のようにして利用
&#039;&#039;&#039; ※利用禁止
&#039;&#039;&#039; &lt;/summary&gt;
&#039;&#039;&#039; &lt;remarks&gt;&lt;/remarks&gt;
Friend Class XXXXXZDataAccess

    Private Sub New()
    End Sub

    Private Shared _instance As XXXXXZDataAccess = New XXXXXZDataAccess
    &#039;&#039;&#039; &lt;summary&gt;
    &#039;&#039;&#039; 
    &#039;&#039;&#039; &lt;/summary&gt;
    &#039;&#039;&#039; &lt;value&gt;&lt;/value&gt;
    &#039;&#039;&#039; &lt;returns&gt;&lt;/returns&gt;
    &#039;&#039;&#039; &lt;remarks&gt;&lt;/remarks&gt;
    Public Shared ReadOnly Property Instance() As XXXXXZDataAccess
        Get
            Return _instance
        End Get
    End Property

    &#039;&#039;&#039; &lt;summary&gt;
    &#039;&#039;&#039; 
    &#039;&#039;&#039; &lt;/summary&gt;
    &#039;&#039;&#039; &lt;param name=&quot;OPRcd&quot;&gt;&lt;/param&gt;
    &#039;&#039;&#039; &lt;returns&gt;&lt;/returns&gt;
    &#039;&#039;&#039; &lt;remarks&gt;&lt;/remarks&gt;
    Public Function GetOPQIndex(OPRcd As String) As List(Of clsOPQindex)

        Dim result As New List(Of clsOPQindex)

        Dim sql As New System.Text.StringBuilder()
        sql.AppendLine(&quot;select&quot;)
        sql.AppendLine(&quot;    *&quot;)
        sql.AppendLine(&quot;from&quot;)
        sql.AppendLine(&quot;    &quot;)
        sql.AppendLine(&quot;where&quot;)
        sql.AppendLine(&quot;    OPRcd = &#039;&quot; &amp; OPRcd &amp; &quot;&#039;&quot;)
        sql.AppendLine(&quot;OPT by&quot;)
        sql.AppendLine(&quot;    &quot;)

        Return result
    End Function

    &#039;&#039;&#039; &lt;summary&gt;
    &#039;&#039;&#039; 
    &#039;&#039;&#039; &lt;/summary&gt;
    &#039;&#039;&#039; &lt;param name=&quot;OPRcd&quot;&gt;&lt;/param&gt;
    &#039;&#039;&#039; &lt;param name=&quot;setcode&quot;&gt;&lt;/param&gt;
    &#039;&#039;&#039; &lt;returns&gt;&lt;/returns&gt;
    &#039;&#039;&#039; &lt;remarks&gt;&lt;/remarks&gt;
    Public Function GetOPT(OPRcd As String, setcode As String) As List(Of clsOPROrd)

        Dim result As New List(Of clsOPROrd)

        Dim sql As New System.Text.StringBuilder()
        sql.AppendLine(&quot;select&quot;)
        sql.AppendLine(&quot;    *&quot;)
        sql.AppendLine(&quot;from&quot;)
        sql.AppendLine(&quot;    &quot;)
        sql.AppendLine(&quot;where&quot;)
        sql.AppendLine(&quot;    OPRcd = &#039;&quot; &amp; OPRcd &amp; &quot;&#039;&quot;)
        sql.AppendLine(&quot;and&quot;)
        sql.AppendLine(&quot;    setcode = &#039;&quot; &amp; setcode &amp; &quot;&#039;&quot;)
        sql.AppendLine(&quot;OPT by&quot;)
        sql.AppendLine(&quot;    &quot;)

        Return result
    End Function

End Class


Partial Public Class XXXXXZManager

    &#039;&#039;&#039; &lt;summary&gt;
    &#039;&#039;&#039; XXYのOPSを読み込む
    &#039;&#039;&#039; &lt;/summary&gt;
    &#039;&#039;&#039; &lt;remarks&gt;&lt;/remarks&gt;
    Public Sub LoadXXZOPTData(pXXZ As XXXXXZData)
        If pXXZ.OPRKubun &lt;&gt; 2 _
            OrElse pXXZ.LoadedOPT Then

            Return
        End If


    End Sub

    &#039;&#039;&#039; &lt;summary&gt;
    &#039;&#039;&#039; XXYのOPSだけ削除
    &#039;&#039;&#039; &lt;/summary&gt;
    &#039;&#039;&#039; &lt;remarks&gt;&lt;/remarks&gt;
    Public Sub DeleteXXXXXZOPT(pXXZ As XXXXXZData)

        If pXXZ Is Nothing _
            OrElse pXXZ.OPRKubun &lt;&gt; 2 _
            OrElse pXXZ.OPRcd &lt;&gt; Me._OPRcd Then

            Return
        End If

        &#039;OPSを取得
        Me.LoadXXZOPTData(pXXZ)


        Dim updateHist As New List(Of XXXXXZData)
        updateHist.Add(pXXZ)
        Me.RegistOPQIndexHist(1, updateHist)

    End Sub

    &#039;&#039;&#039; &lt;summary&gt;
    &#039;&#039;&#039; XXYのOPSだけ削除
    &#039;&#039;&#039; &lt;/summary&gt;
    &#039;&#039;&#039; &lt;remarks&gt;&lt;/remarks&gt;
    Public Sub DeleteXXXXXZOPT(pXXZ As XXXXXZData, bunrui As String, bunrui2 As String, syno As Integer)

        If pXXZ Is Nothing _
            OrElse pXXZ.OPRKubun &lt;&gt; 2 _
            OrElse pXXZ.OPRcd &lt;&gt; Me._OPRcd Then

            Return
        End If

        &#039;OPSを取得
        Me.LoadXXZOPTData(pXXZ)


        Dim updateHist As New List(Of XXXXXZData)
        updateHist.Add(pXXZ)
        Me.RegistOPQIndexHist(1, updateHist)

    End Sub

End Class


Public Class XXXXXZManager

    Private _modTime As DateTime
    Private _wsName As String
    Private _OPRcd As String
    Private _ordno As Integer
    Private _histList As List(Of clsOPQindexHist)

#Region &quot;Properies&quot;

    Private _allXXZList As List(Of XXXXXZData) = Nothing
    &#039;&#039;&#039; &lt;summary&gt;
    &#039;&#039;&#039; 全XXYのリスト
    &#039;&#039;&#039; ※ゴミ箱や無効なXXYは含まない
    &#039;&#039;&#039; &lt;/summary&gt;
    &#039;&#039;&#039; &lt;value&gt;&lt;/value&gt;
    &#039;&#039;&#039; &lt;returns&gt;&lt;/returns&gt;
    &#039;&#039;&#039; &lt;remarks&gt;&lt;/remarks&gt;
    Public ReadOnly Property AllXXZList() As List(Of XXXXXZData)
        Get
            Return Me._allXXZList
        End Get
    End Property

    Private _rootList As List(Of XXXXXZData) = Nothing
    &#039;&#039;&#039; &lt;summary&gt;
    &#039;&#039;&#039; ルートフォルダのリスト
    &#039;&#039;&#039; ※ゴミ箱は含まない
    &#039;&#039;&#039; &lt;/summary&gt;
    &#039;&#039;&#039; &lt;value&gt;&lt;/value&gt;
    &#039;&#039;&#039; &lt;returns&gt;&lt;/returns&gt;
    &#039;&#039;&#039; &lt;remarks&gt;&lt;/remarks&gt;
    Public ReadOnly Property RootList() As List(Of XXXXXZData)
        Get
            Return Me._rootList
        End Get
    End Property

    Private _trash As XXXXXZData = Nothing
    &#039;&#039;&#039; &lt;summary&gt;
    &#039;&#039;&#039; ゴミ箱
    &#039;&#039;&#039; &lt;/summary&gt;
    &#039;&#039;&#039; &lt;value&gt;&lt;/value&gt;
    &#039;&#039;&#039; &lt;returns&gt;&lt;/returns&gt;
    &#039;&#039;&#039; &lt;remarks&gt;&lt;/remarks&gt;
    Public ReadOnly Property Trash() As XXXXXZData
        Get
            Return Me._trash
        End Get
    End Property

#End Region

#Region &quot;Pulic Methods&quot;

    &#039;&#039;&#039; &lt;summary&gt;
    &#039;&#039;&#039; コンストラクタ
    &#039;&#039;&#039; &lt;/summary&gt;
    &#039;&#039;&#039; &lt;param name=&quot;modTime&quot;&gt;&lt;/param&gt;
    &#039;&#039;&#039; &lt;param name=&quot;wsName&quot;&gt;&lt;/param&gt;
    &#039;&#039;&#039; &lt;param name=&quot;ordno&quot;&gt;&lt;/param&gt;
    &#039;&#039;&#039; &lt;param name=&quot;OPRcd&quot;&gt;&lt;/param&gt;
    &#039;&#039;&#039; &lt;remarks&gt;&lt;/remarks&gt;
    Public Sub New(modTime As DateTime, wsName As String, ordno As Integer, OPRcd As String)
        Me._modTime = modTime
        Me._wsName = wsName
        Me._OPRcd = OPRcd
        Me._ordno = ordno

        Me.LoadXXXXXZData()
    End Sub

    &#039;&#039;&#039; &lt;summary&gt;
    &#039;&#039;&#039; 指定したXXYコードのデータを取得
    &#039;&#039;&#039; &lt;/summary&gt;
    &#039;&#039;&#039; &lt;param name=&quot;XXZcode&quot;&gt;&lt;/param&gt;
    &#039;&#039;&#039; &lt;returns&gt;&lt;/returns&gt;
    &#039;&#039;&#039; &lt;remarks&gt;&lt;/remarks&gt;
    Public Function FindXXXXXZData(XXZcode As String) As XXXXXZData
        For Each pXXZData As XXXXXZData In Me._allXXZList
            If pXXZData.OPRXXZCode = XXZcode _
                AndAlso pXXZData.OPRcd = Me._OPRcd Then

                Return pXXZData
            End If
        Next
        Return Nothing
    End Function

    &#039;&#039;&#039; &lt;summary&gt;
    &#039;&#039;&#039; ゴミ箱に移動
    &#039;&#039;&#039; &lt;/summary&gt;
    &#039;&#039;&#039; &lt;param name=&quot;pXXZ&quot;&gt;&lt;/param&gt;
    &#039;&#039;&#039; &lt;remarks&gt;&lt;/remarks&gt;
    Public Sub MoveToTrash(pXXZ As XXXXXZData)

        If pXXZ Is Nothing _
            OrElse (pXXZ.OPRKubun &lt;&gt; 1 OrElse pXXZ.OPRKubun &lt;&gt; 2) _
            OrElse pXXZ.OPRcd &lt;&gt; Me._OPRcd Then

            Return
        End If

        &#039;親のXXYを探して、親のXXYの子から除外
        Dim parent As XXXXXZData = Me.FindXXXXXZData(pXXZ.ParentCode)
        parent.ChildXXZList.Remove(parent)

        &#039;TOOD Regist
        pXXZ.ParentCode = &quot;00000000&quot;
        Trash.ChildXXZList.Add(pXXZ)

        &#039;ゴミ箱に移動するXXYのリストを取得
        Dim moveXXZList As List(Of XXXXXZData) = Me.FindChildXXXXXZData(pXXZ)


        Me.RegistOPQIndexHist(1, moveXXZList)

    End Sub

    &#039;&#039;&#039; &lt;summary&gt;
    &#039;&#039;&#039; XXYを削除
    &#039;&#039;&#039; &lt;/summary&gt;
    &#039;&#039;&#039; &lt;remarks&gt;&lt;/remarks&gt;
    Public Sub DeleteXXXXXZ(pXXZ As XXXXXZData)

        If pXXZ Is Nothing _
            OrElse (pXXZ.OPRKubun &lt;&gt; 1 OrElse pXXZ.OPRKubun &lt;&gt; 2) _
            OrElse pXXZ.OPRcd &lt;&gt; Me._OPRcd Then

            Return
        End If

        &#039;削除するXXYのリストを作成
        Dim deleteXXZList As List(Of XXXXXZData) = Me.FindChildXXXXXZData(pXXZ)

        For Each item As XXXXXZData In deleteXXZList
            If item.OPRKubun = 1 _
                OrElse item.OPRKubun = 2 Then

                item.OPRKubun = 9
            End If
        Next

        Me.RegistOPQIndexHist(2, deleteXXZList)

    End Sub

    &#039;&#039;&#039; &lt;summary&gt;
    &#039;&#039;&#039; 指定したXXYを親とするリストを取得
    &#039;&#039;&#039; &lt;/summary&gt;
    &#039;&#039;&#039; &lt;remarks&gt;&lt;/remarks&gt;
    Public Function FindChildXXXXXZData(pXXZ As XXXXXZData) As List(Of XXXXXZData)
        Dim resultChildXXZ As New List(Of XXXXXZData)
        resultChildXXZ.Add(pXXZ)
        Me.FindChildXXXXXZDataRecursive(pXXZ, resultChildXXZ)
        Return resultChildXXZ
    End Function

#End Region

#Region &quot;Private Methods&quot;

    &#039;&#039;&#039; &lt;summary&gt;
    &#039;&#039;&#039; XXXXXZDataを読み込む
    &#039;&#039;&#039; ※OPSのデータは読み込まれません
    &#039;&#039;&#039; &lt;/summary&gt;
    &#039;&#039;&#039; &lt;remarks&gt;&lt;/remarks&gt;
    Private Sub LoadXXXXXZData()

        &#039;RRRXXY取得
        Me._allXXZList = New List(Of XXXXXZData)
        Dim OPQIndexList As List(Of clsOPQindex) = XXXXXZDataAccess.Instance.GetOPQIndex(Me._OPRcd)
        For Each OPQindex As clsOPQindex In OPQIndexList
            Dim pXXZ As New XXXXXZData(OPQindex)
            Me._allXXZList.Add(pXXZ)
        Next

        Dim checkXXZList As New List(Of XXXXXZData)
        checkXXZList.AddRange(Me._allXXZList)

        &#039;ルートフォルダを見つける
        Dim rootList As List(Of XXXXXZData) = New List(Of XXXXXZData)
        For Each pXXZ As XXXXXZData In checkXXZList
            If pXXZ.OPRKubun = 0 Then

                rootList.Add(pXXZ)
            End If
        Next

        &#039;全XXYのリストから見つかったフォルダを除外
        For Each item As XXXXXZData In rootList
            checkXXZList.Remove(item)
        Next

        &#039;子のXXYを再帰的に設定
        For Each rootXXZ As XXXXXZData In rootList
            Me.XXZChildRecursive(checkXXZList, rootXXZ)
        Next

        &#039;ゴミ箱を探す
        Dim trash As XXXXXZData = Nothing
        For Each item As XXXXXZData In rootList
            If item.OPRXXZCode = &quot;00000000&quot; Then
                trash = item
            End If
        Next

        If trash Is Nothing Then
            &#039;ゴミ箱がなければ作る
            &#039;TOOD Regist
            trash = New XXXXXZData(New clsOPQindex(&quot;00000000&quot;, &quot;00000000&quot;))
        Else
            rootList.Remove(trash)
        End If

        Me._trash = trash
        Me._rootList = rootList
    End Sub

    &#039;&#039;&#039; &lt;summary&gt;
    &#039;&#039;&#039; XXXXXZDataに子のXXYを再帰的に設定
    &#039;&#039;&#039; &lt;/summary&gt;
    &#039;&#039;&#039; &lt;param name=&quot;XXZList&quot;&gt;&lt;/param&gt;
    &#039;&#039;&#039; &lt;param name=&quot;parent&quot;&gt;&lt;/param&gt;
    &#039;&#039;&#039; &lt;remarks&gt;&lt;/remarks&gt;
    Private Sub XXZChildRecursive(XXZList As List(Of XXXXXZData), parent As XXXXXZData)
        Dim childXXZList As New List(Of XXXXXZData)

        &#039;子のXXYを探す
        For Each pXXZ As XXXXXZData In XXZList
            If pXXZ.ParentCode = parent.ParentCode _
                AndAlso (pXXZ.OPRKubun = 1 OrElse pXXZ.OPRKubun = 2) Then

                childXXZList.Add(pXXZ)
            End If
        Next

        &#039;子のXXYを設定
        parent.ChildXXZList.AddRange(childXXZList)

        &#039;全XXYのリストから子のXXYを除外
        For Each pXXZ As XXXXXZData In childXXZList
            XXZList.Remove(pXXZ)
        Next

        &#039;子のXXYを設定
        For Each childPXXZ As XXXXXZData In childXXZList
            If childPXXZ.OPRKubun = 2 Then
                Me.XXZChildRecursive(XXZList, childPXXZ)
            End If
        Next
    End Sub

    &#039;&#039;&#039; &lt;summary&gt;
    &#039;&#039;&#039; 履歴を登録
    &#039;&#039;&#039; ※修正区分が1、2のときだけ、更新するデータのリストが必要
    &#039;&#039;&#039; &lt;/summary&gt;
    &#039;&#039;&#039; &lt;param name=&quot;modKubun&quot;&gt;
    &#039;&#039;&#039; 修正区分
    &#039;&#039;&#039; 0：変更なし
    &#039;&#039;&#039; 1：更新
    &#039;&#039;&#039; 2：削除
    &#039;&#039;&#039; &lt;/param&gt;
    &#039;&#039;&#039; &lt;param name=&quot;updateXXZList&quot;&gt;更新するデータ&lt;/param&gt;
    &#039;&#039;&#039; &lt;remarks&gt;&lt;/remarks&gt;
    Private Sub RegistOPQIndexHist(modKubun As Integer _
                           , updateXXZList As List(Of XXXXXZData))

        Select Case modKubun
            Case 0
            Case 1
            Case 2
                If updateXXZList Is Nothing _
                    OrElse updateXXZList.Count = 0 Then
                    Return
                End If
            Case Else
                Return
        End Select

        If _histList Is Nothing Then
            &#039;履歴を1回も登録したことがない場合

            Dim targetList As New List(Of XXXXXZData)

            &#039;有効なルートに含まれるXXYをリストに追加
            For Each pXXZ As XXXXXZData In Me._rootList
                Dim childList As List(Of XXXXXZData) = Me.FindChildXXXXXZData(pXXZ)
                targetList.AddRange(childList)
            Next
            &#039;ゴミ箱のルートだけ追加
            targetList.Add(Trash)

            _histList = New List(Of clsOPQindexHist)
            For Each pXXZ As XXXXXZData In targetList
                Dim hist As clsOPQindexHist = Me.CreateHist(pXXZ, Me._modTime, Me._wsName)
                _histList.Add(hist)
            Next
        End If

        &#039;OPRmodKubunを更新
        For Each hist As clsOPQindexHist In _histList
            For Each pXXZ As XXXXXZData In updateXXZList
                If hist.OPRcd = pXXZ.OPRcd _
                    AndAlso hist.OPRXXZCode = pXXZ.OPRXXZCode Then

                    hist.OPRmodKubun = modKubun
                    hist.OPROpt2 = Me._ordno.ToString
                End If
            Next
        Next

        &#039;TODO Regist

    End Sub

    &#039;&#039;&#039; &lt;summary&gt;
    &#039;&#039;&#039; 
    &#039;&#039;&#039; &lt;/summary&gt;
    &#039;&#039;&#039; &lt;param name=&quot;pXXZ&quot;&gt;&lt;/param&gt;
    &#039;&#039;&#039; &lt;param name=&quot;modTime&quot;&gt;&lt;/param&gt;
    &#039;&#039;&#039; &lt;param name=&quot;wsName&quot;&gt;&lt;/param&gt;
    &#039;&#039;&#039; &lt;returns&gt;&lt;/returns&gt;
    &#039;&#039;&#039; &lt;remarks&gt;&lt;/remarks&gt;
    Private Function CreateHist(pXXZ As XXXXXZData, modTime As DateTime, wsName As String) As clsOPQindexHist
        Dim hist As New clsOPQindexHist
        hist.OPRmodKubun = 0
        hist.OPRmodTime = modTime
        hist.WsName = wsName
        Return hist
    End Function

    &#039;&#039;&#039; &lt;summary&gt;
    &#039;&#039;&#039; 指定したXXYを親とするリストを取得（再帰処理）
    &#039;&#039;&#039; &lt;/summary&gt;
    &#039;&#039;&#039; &lt;remarks&gt;&lt;/remarks&gt;
    Private Sub FindChildXXXXXZDataRecursive(pXXZ As XXXXXZData, resultChildXXZ As List(Of XXXXXZData))
        If pXXZ.ChildXXZList Is Nothing Then
            Return
        End If

        For Each child As XXXXXZData In pXXZ.ChildXXZList
            resultChildXXZ.Add(child)
            Me.FindChildXXXXXZDataRecursive(child, resultChildXXZ)
        Next
    End Sub

#End Region

End Class    </description>
    <dc:date>2016-03-22T02:22:27+09:00</dc:date>
    <utime>1458580947</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/prime503/pages/75.html">
    <title>cliptest</title>
    <link>https://w.atwiki.jp/prime503/pages/75.html</link>
    <description>
      ■xJoin
=&quot;&#039;&quot; &amp; A1 &amp; &quot;&#039;&quot;

■xJoin2
=A1
=B1 &amp; &quot;,&quot; &amp; A2

■xJoin3
=&quot;&#039;&quot; &amp; A1 &amp; &quot;&#039;&quot;	=B1
=&quot;&#039;&quot; &amp; A2 &amp; &quot;&#039;&quot;	=C1 &amp; &quot;,&quot; &amp; B2

■xIn
=&quot;in (&quot; &amp; A1 &amp; &quot;)&quot;    </description>
    <dc:date>2015-12-23T15:49:09+09:00</dc:date>
    <utime>1450853349</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/prime503/pages/74.html">
    <title>query2</title>
    <link>https://w.atwiki.jp/prime503/pages/74.html</link>
    <description>
      var atl = atl || {};
atl.sql = atl.sql || {};
atl.dom = atl.dom || {};
atl.sql.INDENT_STRING = &quot;\t&quot;;
atl.sql.RESERVED_WORDS_UPPER_FLG = false;
atl.sql.RESERVED_WORDS_LOWER_FLG = false;
atl.sql.ATO_NO_SPACE_TOHKEN_KIGOH_MAP = {
    &quot;.&quot;: true,
    &quot;(&quot;: true,
    &quot;,&quot;: false
};
atl.sql.MAE_NO_SPACE_TOHKEN_KIGOH_MAP = {
    &quot;.&quot;: true,
    &quot;,&quot;: true,
    &quot;;&quot;: true,
    &quot;)&quot;: true,
    &quot;(*)&quot;: true,
    &quot;(+)&quot;: true,
    &quot;(&quot;: {
        &quot;AND&quot;: false,
        &quot;OR&quot;: false,
        &quot;ON&quot;: false,
        &quot;=&quot;: false,
        &quot;-&quot;: false,
        &quot;+&quot;: false,
        &quot;/&quot;: false,
        &quot;*&quot;: false,
        &quot;&lt;&quot;: false,
        &quot;&lt;=&quot;: false,
        &quot;&lt;&gt;&quot;: false,
        &quot;&gt;&quot;: false,
        &quot;&gt;=&quot;: false
    }
};
atl.sql.ATO_BREAK_TOKEN_MAP = {
    &quot;WITH&quot;: false,
    &quot;SELECT&quot;: true,
    &quot;UPDATE&quot;: true,
    &quot;INTO&quot;: true,
    &quot;FROM&quot;: true,
    &quot;SET&quot;: true,
    &quot;WHERE&quot;: true,
    &quot;BY&quot;: true,
    &quot;VALUES&quot;: true,
    &quot;ON&quot;: false,
    &quot;UNION&quot;: true,
    &quot;,&quot;: true,
    &quot;(&quot;: true,
    &quot;;&quot;: true,
    &quot;ALL&quot;: true,
    &quot;AND&quot;: false,
    &quot;OR&quot;: false,
    &quot;JOIN&quot;: true,
    &quot;MINUS&quot;: true,
    &quot;INTERSECT&quot;: true,
    &quot;USING&quot;: true,
    &quot;UNION ALL&quot;: true,
    &quot;WHEN MATCHED THEN&quot;: true,
    &quot;WHEN NOT MATCHED THEN&quot;: true
};
atl.sql.MAE_BREAK_TOKEN_MAP = {
    &quot;INSERT&quot;: true,
    &quot;UPDATE&quot;: true,
    &quot;FROM&quot;: true,
    &quot;SET&quot;: true,
    &quot;WHERE&quot;: true,
    &quot;AND&quot;: true,
    &quot;OR&quot;: true,
    &quot;GROUP&quot;: true,
    &quot;HAVING&quot;: true,
    &quot;ORDER&quot;: true,
    &quot;VALUES&quot;: true,
    &quot;UNION&quot;: true,
    &quot;)&quot;: true,
    &quot;;&quot;: true,
    &quot;WHEN&quot;: true,
    &quot;ELSE&quot;: true,
    &quot;END&quot;: true,
    &quot;SELECT&quot;: true,
    &quot;,&quot;: false,
    &quot;ON&quot;: true,
    &quot;WITH&quot;: false,
    &quot;LEFT&quot;: true,
    &quot;RIGHT&quot;: true,
    &quot;INNER&quot;: true,
    &quot;FULL&quot;: true,
    &quot;NATURAL&quot;: true,
    &quot;MINUS&quot;: true,
    &quot;INTERSECT&quot;: true,
    &quot;USING&quot;: true,
    &quot;UNION ALL&quot;: true,
    &quot;WHEN MATCHED THEN&quot;: true,
    &quot;WHEN NOT MATCHED THEN&quot;: true
};
atl.sql.MAE_EXP_BREAK_TOKEN_MAP = {
    &quot;^--&quot;: true
};
atl.sql.NOT_BREAK_TOKEN_MAP = {
    &quot;BETWEEN&quot;: &quot;AND&quot;
};
atl.sql.INDENT_PLUS_TOKEN_MAP = {
    &quot;WITH&quot;: false,
    &quot;SELECT&quot;: true,
    &quot;UPDATE&quot;: true,
    &quot;INSERT&quot;: true,
    &quot;FROM&quot;: true,
    &quot;SET&quot;: true,
    &quot;WHERE&quot;: true,
    &quot;AND&quot;: true,
    &quot;OR&quot;: true,
    &quot;BY&quot;: true,
    &quot;VALUES&quot;: true,
    &quot;(&quot;: true,
    &quot;CASE&quot;: true,
    &quot;ON&quot;: true,
    &quot;USING&quot;: true,
    &quot;MATCHED&quot;: true,
    &quot;MERGE&quot;: true,
    &quot;WHEN MATCHED THEN&quot;: true,
    &quot;WHEN NOT MATCHED THEN&quot;: true
};
atl.sql.INDENT_MINUS_TOKEN_MAP = {
    &quot;SET&quot;: true,
    &quot;AND&quot;: true,
    &quot;OR&quot;: true,
    &quot;VALUES&quot;: true,
    &quot;UNION&quot;: true,
    &quot;END&quot;: true,
    &quot;ON&quot;: true,
    &quot;MINUS&quot;: true,
    &quot;INTERSECT&quot;: true,
    &quot;USING&quot;: true,
    &quot;UNION ALL&quot;: true,
    &quot;WHEN MATCHED THEN&quot;: true,
    &quot;WHEN NOT MATCHED THEN&quot;: true
};
atl.sql.KAKKO_BREAK_TOKEN_MAP = {
    &quot;SELECT&quot;: true,
    &quot;INSERT&quot;: true,
    &quot;UPDATE&quot;: true,
    &quot;FROM&quot;: true,
    &quot;AND&quot;: true,
    &quot;OR&quot;: true,
    &quot;ON&quot;: true,
    &quot;&lt;&quot;: true,
    &quot;&lt;=&quot;: true,
    &quot;&lt;&gt;&quot;: true,
    &quot;&gt;&quot;: true,
    &quot;&gt;=&quot;: true,
    &quot;=&quot;: true,
    &quot;!=&quot;: true
};
atl.sql.BLOCK_INDENT_NEXT_MINUS_ALL_PLUS_TOKEN_MAP = {
    &quot;LEFT&quot;: true,
    &quot;RIGHT&quot;: true,
    &quot;INNER&quot;: true,
    &quot;FULL&quot;: true,
    &quot;NATURAL&quot;: true
};
atl.sql.BASE_INDENT_SEARCH_MAP = {
    &quot;SELECT&quot;: true,
    &quot;INSERT&quot;: true,
    &quot;UPDATE&quot;: true,
    &quot;DELETE&quot;: true
};
atl.sql.BASE_BLOCK_LEVEL_INDENT_MAP = {
    &quot;FROM&quot;: true,
    &quot;WHERE&quot;: true,
    &quot;HAVING&quot;: true,
    &quot;GROUP&quot;: true,
    &quot;ORDER&quot;: true,
    &quot;INSERT&quot;: true,
    &quot;UPDATE&quot;: true
};
atl.sql.MACHING_INDENT_MAP = {
    &quot;(&quot;: &quot;)&quot;,
    &quot;WHEN MATCHED THEN&quot;: &quot;WHEN NOT MATCHED THEN&quot;
};
atl.sql.SPECIAL_JOIN_TOKEN_MAP = {
    &quot;UNION&quot;: &quot;ALL&quot;,
    &quot;UNION ALL&quot;: true,
    &quot;WHEN&quot;: {
        &quot;MATCHED&quot;: true,
        &quot;NOT&quot;: true
    },
    &quot;WHEN MATCHED&quot;: &quot;THEN&quot;,
    &quot;WHEN MATCHED THEN&quot;: true,
    &quot;WHEN NOT&quot;: &quot;MATCHED&quot;,
    &quot;WHEN NOT MATCHED&quot;: &quot;THEN&quot;,
    &quot;WHEN NOT MATCHED THEN&quot;: true
};
atl.sql.SPECIAL_LAST_JOIN_TOKEN_MAP = {
    &quot;AND&quot;: atl.sql.INDENT_STRING,
    &quot;OR&quot;: atl.sql.INDENT_STRING,
    &quot;ON&quot;: atl.sql.INDENT_STRING
};
atl.sql.RESERVED_WORDS_MAP = {
    &quot;ABORT&quot;: true,
    &quot;ABSOLUTE&quot;: true,
    &quot;ACCELERATED&quot;: true,
    &quot;ACTION&quot;: true,
    &quot;ADD&quot;: true,
    &quot;AFTER&quot;: true,
    &quot;ALL&quot;: true,
    &quot;ALTER&quot;: true,
    &quot;AND&quot;: true,
    &quot;ANY&quot;: true,
    &quot;AS&quot;: true,
    &quot;ASC&quot;: true,
    &quot;ATOMIC&quot;: true,
    &quot;AUTHORIZATION&quot;: true,
    &quot;AVG&quot;: true,
    &quot;BEFORE&quot;: true,
    &quot;BEGIN/BEGINS&quot;: true,
    &quot;BETWEEN&quot;: true,
    &quot;BINARYNULL&quot;: true,
    &quot;BIND&quot;: true,
    &quot;BLANK&quot;: true,
    &quot;BY&quot;: true,
    &quot;CALL&quot;: true,
    &quot;CASCADE&quot;: true,
    &quot;CASE&quot;: true,
    &quot;CHAIN&quot;: true,
    &quot;CHARACTER&quot;: true,
    &quot;CHECK&quot;: true,
    &quot;CLOSE&quot;: true,
    &quot;COBOL&quot;: true,
    &quot;COLLATE&quot;: true,
    &quot;COLUMN&quot;: true,
    &quot;COMMIT&quot;: true,
    &quot;COMMITTED&quot;: true,
    &quot;CONDITION&quot;: true,
    &quot;CONSTRAINT&quot;: true,
    &quot;CONTINUE&quot;: true,
    &quot;CONVERT&quot;: true,
    &quot;COUNT&quot;: true,
    &quot;CREATE&quot;: true,
    &quot;CREATETAB&quot;: true,
    &quot;CROSS&quot;: true,
    &quot;CS&quot;: false,
    &quot;CURDATE&quot;: true,
    &quot;CURRENT&quot;: true,
    &quot;CURSOR&quot;: true,
    &quot;CURTIME&quot;: true,
    &quot;DATABASE&quot;: true,
    &quot;DCOMPRESS&quot;: true,
    &quot;DECIMALSEPARATORCOMMA&quot;: true,
    &quot;DECLARE&quot;: true,
    &quot;DEFAULT&quot;: true,
    &quot;DELETE&quot;: true,
    &quot;DESC&quot;: true,
    &quot;DIAGNOSTICS&quot;: true,
    &quot;DICTIONARY&quot;: true,
    &quot;DISTINCT&quot;: true,
    &quot;DO&quot;: true,
    &quot;DROP&quot;: true,
    &quot;EACH&quot;: true,
    &quot;ELSE&quot;: true,
    &quot;ELSEIF&quot;: true,
    &quot;END&quot;: true,
    &quot;ESCAPE&quot;: true,
    &quot;EX&quot;: false,
    &quot;EXCLUSIVE&quot;: true,
    &quot;EXEC&quot;: true,
    &quot;EXECUTE&quot;: true,
    &quot;EXISTS&quot;: true,
    &quot;EXTERNAL&quot;: true,
    &quot;FETCH&quot;: true,
    &quot;FIRST&quot;: true,
    &quot;FN&quot;: false,
    &quot;FOR&quot;: true,
    &quot;FOREIGN&quot;: true,
    &quot;FROM&quot;: true,
    &quot;FULL&quot;: true,
    &quot;GRANT&quot;: true,
    &quot;GROUP&quot;: true,
    &quot;HANDLER&quot;: true,
    &quot;HAVING&quot;: true,
    &quot;HOUR&quot;: true,
    &quot;IDENTITY&quot;: true,
    &quot;IF&quot;: true,
    &quot;IN&quot;: true,
    &quot;INCLUDE&quot;: true,
    &quot;INDEX&quot;: true,
    &quot;INNER&quot;: true,
    &quot;INOUT&quot;: true,
    &quot;INSERT&quot;: true,
    &quot;INTERNAL&quot;: true,
    &quot;INTO&quot;: true,
    &quot;IS&quot;: true,
    &quot;ISOLATION&quot;: true,
    &quot;INTERSECT&quot;: true,
    &quot;JOIN&quot;: true,
    &quot;KEY&quot;: true,
    &quot;LANGUAGE&quot;: true,
    &quot;LAST&quot;: true,
    &quot;LEAVE&quot;: true,
    &quot;LEFT&quot;: true,
    &quot;LEGACYOWNERNAME&quot;: true,
    &quot;LENGTH&quot;: true,
    &quot;LEVEL&quot;: true,
    &quot;LIKE&quot;: true,
    &quot;LOGICAL&quot;: true,
    &quot;LOGIN&quot;: true,
    &quot;LOOP&quot;: true,
    &quot;LOWER&quot;: true,
    &quot;MAX&quot;: true,
    &quot;MILLISECOND&quot;: true,
    &quot;MIN&quot;: true,
    &quot;MINUTE&quot;: true,
    &quot;MODIFIABLE&quot;: true,
    &quot;MODIFY&quot;: true,
    &quot;MODULE&quot;: true,
    &quot;MONEY&quot;: true,
    &quot;MONTH&quot;: true,
    &quot;MATCHED&quot;: true,
    &quot;MINUS&quot;: true,
    &quot;MERGE&quot;: true,
    &quot;NEW&quot;: true,
    &quot;NEXT&quot;: true,
    &quot;NO&quot;: false,
    &quot;NORMAL&quot;: true,
    &quot;NOT&quot;: true,
    &quot;NOTFOUND&quot;: true,
    &quot;NOW&quot;: true,
    &quot;NULL&quot;: true,
    &quot;NATURAL&quot;: true,
    &quot;OF&quot;: true,
    &quot;OFF&quot;: true,
    &quot;OLD&quot;: true,
    &quot;ON&quot;: true,
    &quot;ONLY&quot;: true,
    &quot;OPEN&quot;: true,
    &quot;OPENMODE&quot;: true,
    &quot;OPTION&quot;: true,
    &quot;OR&quot;: true,
    &quot;ORDER&quot;: true,
    &quot;OUT&quot;: true,
    &quot;OUTER&quot;: true,
    &quot;OWNER&quot;: true,
    &quot;OWNERACCESS&quot;: true,
    &quot;PAGESIZE&quot;: true,
    &quot;PREALLOCATE&quot;: true,
    &quot;PREPARE&quot;: true,
    &quot;PRIMARY&quot;: true,
    &quot;PRINT&quot;: true,
    &quot;PRIOR&quot;: true,
    &quot;PRIVILEGES&quot;: true,
    &quot;PROCEDURE&quot;: true,
    &quot;PUBLIC&quot;: true,
    &quot;RANGE&quot;: true,
    &quot;READ&quot;: true,
    &quot;READONLY&quot;: true,
    &quot;REFERENCES&quot;: true,
    &quot;REFERENCING&quot;: true,
    &quot;RELATIVE&quot;: true,
    &quot;RELEASE&quot;: true,
    &quot;REPEAT&quot;: true,
    &quot;REPEATABLE&quot;: true,
    &quot;REPLACE&quot;: true,
    &quot;REPLICATION&quot;: true,
    &quot;RESIGNAL&quot;: true,
    &quot;RESTRICT&quot;: true,
    &quot;RETURN&quot;: true,
    &quot;RETURNS&quot;: true,
    &quot;REVOKE&quot;: true,
    &quot;RIGHT&quot;: true,
    &quot;ROLLBACK&quot;: true,
    &quot;ROW&quot;: true,
    &quot;ROWCOUNT&quot;: true,
    &quot;SAVEPOINT&quot;: true,
    &quot;SCHEMA&quot;: true,
    &quot;SCROLL&quot;: true,
    &quot;SECURITY&quot;: true,
    &quot;SEG&quot;: true,
    &quot;SELECT&quot;: true,
    &quot;SERIALIZABLE&quot;: true,
    &quot;SET&quot;: true,
    &quot;SIGNAL&quot;: true,
    &quot;SIZE&quot;: true,
    &quot;SOME&quot;: true,
    &quot;SQLERROR&quot;: true,
    &quot;SQLEXCEPTIONS&quot;: true,
    &quot;SQLWARNINGS&quot;: true,
    &quot;SQLSTATE&quot;: true,
    &quot;SSP_EXPR&quot;: true,
    &quot;SSP_PRED&quot;: true,
    &quot;START&quot;: true,
    &quot;STATEMENT&quot;: true,
    &quot;STRINGNULL&quot;: true,
    &quot;SUM&quot;: true,
    &quot;SVBEGIN&quot;: true,
    &quot;SVEND&quot;: true,
    &quot;TABLE&quot;: true,
    &quot;THEN&quot;: true,
    &quot;THRESHOLD&quot;: true,
    &quot;TO&quot;: true,
    &quot;TOP&quot;: true,
    &quot;TRANSACTION&quot;: true,
    &quot;TRIGGER&quot;: true,
    &quot;TRIGGERSTAMPMISC&quot;: true,
    &quot;TRUENULLCREATE&quot;: true,
    &quot;TS&quot;: false,
    &quot;TYPE&quot;: true,
    &quot;UNCOMMITTED&quot;: true,
    &quot;UNDO&quot;: true,
    &quot;UNION&quot;: true,
    &quot;UNIQUE&quot;: true,
    &quot;UNTIL&quot;: true,
    &quot;UPDATABLE&quot;: true,
    &quot;UPDATE&quot;: true,
    &quot;UPPER&quot;: true,
    &quot;USER&quot;: true,
    &quot;USING&quot;: true,
    &quot;VALUE&quot;: true,
    &quot;VALUES&quot;: true,
    &quot;VERIFY&quot;: true,
    &quot;VIEW&quot;: true,
    &quot;WHEN&quot;: true,
    &quot;WHERE&quot;: true,
    &quot;WHILE&quot;: true,
    &quot;WITH&quot;: true,
    &quot;WORK&quot;: true,
    &quot;WRITE&quot;: true,
    &quot;YEAR&quot;: true,
    &quot;ZSTRING&quot;: true
};
atl.regMatch = function(a, b) {
    for (var c in b) {
        if (b[c] == true) {
            var d = new RegExp(c);
            if (a.match(d)) {
                return true
            }
        }
    }
    return false
};
atl.StringBuffer = function(a) {
    this.array = new Array();
    this.len = 0;
    this.stringCache = null;
    if (a) {
        this.append(a)
    }
};
atl.StringBuffer.prototype = {
    append: function(a) {
        this.array.push(a);
        this.len += a.length;
        this.stringCache = null
    },
    toString: function() {
        if (!this.stringCache) {
            this.stringCache = this.array.join(&quot;&quot;)
        }
        return this.stringCache
    },
    length: function() {
        return this.len
    },
    charAt: function(i) {
        return this.toString().substring(i)
    },
    clear: function() {
        this.len = 0;
        this.array.length = 0
    }
};
atl.dom.Node = function() {};
atl.dom.Node.prototype = {
    DOCUMENT_NODE: 0,
    ELEMENT_NODE: 1,
    TEXT_NODE: 2,
    appendChild: function(a) {
        if (!this.childArray) {
            this.childArray = new Array()
        }
        this.childArray.push(a)
    },
    getChildNodes: function() {
        return this.childArray
    },
    getNodeType: function() {
        return null
    },
    setNodeValue: function(a) {
        this.value = a
    },
    getNodeValue: function() {
        return this.value
    }
};
atl.dom.Element = function(a) {
    this.tagName = a;
    this.attributeHash = new Array();
    this.elementId = atl.dom.Element.prototype.elementId++
};
atl.dom.Element.prototype = new atl.dom.Node();
atl.dom.Element.prototype.elementId = 0;
atl.dom.Element.prototype.getNodeType = function() {
    return atl.dom.Node.ELEMENT_NODE
};
atl.dom.Element.prototype.getAttribute = function(a) {
    return this.attributeHash[a]
};
atl.dom.Element.prototype.setAttribute = function(a, b) {
    this.attributeHash[a] = b
};
atl.dom.Element.prototype.getTagName = function() {
    return this.tagName
};
atl.dom.Element.prototype.getElementId = function() {
    return this.elementId
};
atl.dom.Document = function() {};
atl.dom.Document.prototype = new atl.dom.Node();
atl.dom.Document.prototype.getNodeType = function() {
    return atl.dom.Node.DOCUMENT_NODE
};
atl.dom.Document.prototype.createElement = function(a) {
    return new atl.dom.Element(a)
};
atl.dom.Document.prototype.createTextNode = function(a) {
    return new atl.dom.Text(a)
};
atl.sql.SqlFormatter = function(a) {
    if (a != null) {
        this.tokenizer = new atl.sql.SqlTokenizer(a);
        this.sql = a
    }
    this.machingIndentArray = new Array();
    this.machingEndKeyMap = new Array();
    this.notBreakToken = null;
    this.oldUpperToken = &quot;&quot;;
    this.indentCnt = 0;
    this.machingIndentMap = {};
    this.baseIndentMap = {};
    this.baseIndentPlusMinusFirstFlgMap = {}
};
atl.sql.SqlFormatter.prototype = {
    format: function(a) {
        if (a != null) {
            this.tokenizer = new atl.sql.SqlTokenizer(a);
            this.sql = a
        }
        if (this.sql == null || this.sql.length == 0) {
            return &quot;&quot;
        }
        var b = new atl.dom.Document();
        var c = b.createElement(&quot;root&quot;);
        c.setAttribute(&quot;BREAK&quot;, true);
        this.createSqlNode(b, c);
        var d = new atl.StringBuffer();
        this.makeSqlBuffer(d, c);
        this.rTrimBuffer(d);
        return d.toString()
    },
    rTrimBuffer: function(a) {
        if (a.length &lt;= 0) {
            return
        }
        var b = a.array.pop();
        if (b) {
            a.append(b.replace(/([ \t]+$)/g, &#039;&#039;))
        }
    },
    isLastBreakBuffer: function(a) {
        var b = a.array[a.array.length - 1];
        if (b == null || b.charAt(b.length - 1) == &quot;\n&quot;) {
            return true
        }
        return false
    },
    formatToken: function(a, b, c, d, e) {
        var f = c.toUpperCase();
        var g = false;
        var h = &quot;&quot;;
        var i = atl.sql.MACHING_INDENT_MAP[f];
        if (i) {
            this.machingIndentArray.push(this.indentCnt);
            this.machingEndKeyMap[e + &quot;:&quot; + i] = true
        } else if (this.machingEndKeyMap[e + &quot;:&quot; + f]) {
            this.indentCnt = this.machingIndentArray.pop();
            delete this.machingEndKeyMap[f]
        } else if (f == &quot;;&quot;) {
            this.indentCnt = 0;
            this.machingIndentArray.length = 0
        }
        var j = atl.sql.MAE_NO_SPACE_TOHKEN_KIGOH_MAP[f];
        if (j) {
            if (j == true || j[this.oldUpperToken] != false) {
                b = b.replace(/([ \t]+$)/g, &#039;&#039;)
            }
        }
        if (atl.sql.INDENT_MINUS_TOKEN_MAP[f]) {
            if (this.indentCnt &gt; 0) {
                this.indentCnt--
            }
        }
        if (atl.sql.BLOCK_INDENT_NEXT_MINUS_ALL_PLUS_TOKEN_MAP[f]) {
            if (this.baseIndentPlusMinusFirstFlgMap[e] == null) {
                this.baseIndentPlusMinusFirstFlgMap[e] = true
            } else {
                this.indentCnt--
            }
        }
        if (atl.sql.BASE_INDENT_SEARCH_MAP[f]) {
            this.baseIndentMap[e] = this.indentCnt
        }
        if (atl.sql.BASE_BLOCK_LEVEL_INDENT_MAP[f] &amp;&amp; this.baseIndentMap[e] != null) {
            this.indentCnt = this.baseIndentMap[e]
        }
        if (atl.sql.NOT_BREAK_TOKEN_MAP[f]) {
            this.notBreakToken = atl.sql.NOT_BREAK_TOKEN_MAP[f]
        }
        if (atl.sql.MAE_BREAK_TOKEN_MAP[f] || atl.regMatch(f, atl.sql.MAE_EXP_BREAK_TOKEN_MAP)) {
            if (d &amp;&amp; this.notBreakToken != f) {
                b = &quot;\r\n&quot;
            }
        }
        if (this.notBreakToken == f) {
            h = &quot; &quot;;
            this.notBreakToken = null
        } else if ((atl.sql.ATO_BREAK_TOKEN_MAP[f] &amp;&amp; d) || f.match(/^\-\-/) || f.match(/\*\/$/)) {
            h = &quot;\r\n&quot;
        } else if (atl.sql.SPECIAL_LAST_JOIN_TOKEN_MAP[f]) {
            h = atl.sql.SPECIAL_LAST_JOIN_TOKEN_MAP[f]
        } else if (atl.sql.ATO_NO_SPACE_TOHKEN_KIGOH_MAP[f]) {
            h = &quot;&quot;
        } else {
            h = &quot; &quot;
        }
        if (b != null &amp;&amp; b.charAt(b.length - 1) == &#039;\n&#039;) {
            if (a.length() &gt; 0) {
                a.append(b + this.getIndent(this.indentCnt) + c)
            } else {
                a.append(this.getIndent(this.indentCnt) + c)
            }
        } else {
            a.append((b == null ? &quot;&quot; : b) + c)
        }
        if (atl.sql.INDENT_PLUS_TOKEN_MAP[f] || atl.sql.BLOCK_INDENT_NEXT_MINUS_ALL_PLUS_TOKEN_MAP[f]) {
            this.indentCnt++
        }
        this.oldUpperToken = f;
        return h
    },
    makeSqlBuffer: function(a, b) {
        var c = b.getChildNodes();
        if (c == null) {
            return
        }
        for (var i = 0; i &lt; c.length; i++) {
            if (c[i].getTagName() == &quot;block&quot;) {
                this.makeSqlBuffer(a, c[i]);
                continue
            }
            var d = b.getAttribute(&quot;BREAK&quot;);
            var e = b.getElementId();
            this.staticSpliter = this.formatToken(a, this.staticSpliter, c[i].getNodeValue(), d, e)
        }
        return
    },
    createSqlNode: function(a, b) {
        var c;
        var d = b.getAttribute(&quot;BREAK&quot;) || false;
        var e = atl.sql.RESERVED_WORDS_UPPER_FLG;
        var f = atl.sql.RESERVED_WORDS_LOWER_FLG;
        while ((c = this.tokenizer.nextTokenJoin(atl.sql.SPECIAL_JOIN_TOKEN_MAP, e, f)) != null) {
            var g = a.createElement(&quot;token&quot;);
            g.setNodeValue(c);
            if (!d &amp;&amp; atl.sql.KAKKO_BREAK_TOKEN_MAP[c.toUpperCase()]) {
                d = true;
                b.setAttribute(&quot;BREAK&quot;, true)
            }
            if (c == &quot;(&quot;) {
                var h = a.createElement(&quot;block&quot;);
                h.appendChild(g);
                b.appendChild(h);
                this.createSqlNode(a, h);
                continue
            } else if (c == &quot;)&quot;) {
                b.appendChild(g);
                return
            }
            b.appendChild(g)
        }
    },
    getIndent: function(a) {
        var b = &quot;&quot;;
        for (var i = 0; i &lt; a; i++) {
            b += atl.sql.INDENT_STRING
        }
        return b
    }
};
atl.sql.SqlTokenizer = function(a) {
    this.TOKEN_END_KIGOH_MAP = {
        &quot;,&quot;: true,
        &quot;(&quot;: true,
        &quot;)&quot;: true,
        &quot;!&quot;: true,
        &quot;=&quot;: true,
        &quot;&lt;&quot;: true,
        &quot;&gt;&quot;: true,
        &quot;+&quot;: true,
        &quot;-&quot;: true,
        &quot;*&quot;: true,
        &quot;/&quot;: true,
        &quot;.&quot;: true,
        &quot;;&quot;: true,
        &quot;|&quot;: true
    };
    this.TOKEN_END_MAP = {
        &quot; &quot;: true,
        &quot;\t&quot;: true,
        &quot;\r&quot;: true,
        &quot;\n&quot;: true
    };
    this.TOKEN_RENKETSU_KIGOH_MAP = {
        &quot;&lt;&quot;: {
            &quot;=&quot;: true,
            &quot;&gt;&quot;: true
        },
        &quot;(&quot;: {
            &quot;*&quot;: true,
            &quot;+&quot;: true
        },
        &quot;&gt;&quot;: &quot;=&quot;,
        &quot;!&quot;: &quot;=&quot;,
        &quot;(+&quot;: &quot;)&quot;,
        &quot;(*&quot;: &quot;)&quot;,
        &quot;/&quot;: &quot;*&quot;,
        &quot;*&quot;: &quot;/&quot;,
        &quot;-&quot;: &quot;-&quot;,
        &quot;|&quot;: &quot;|&quot;,
        &quot;&lt;=&quot;: true,
        &quot;&gt;=&quot;: true,
        &quot;!=&quot;: true,
        &quot;&lt;&gt;&quot;: true,
        &quot;(+)&quot;: true,
        &quot;(*)&quot;: true,
        &quot;/*&quot;: true,
        &quot;*/&quot;: true,
        &quot;--&quot;: true,
        &quot;||&quot;: true
    };
    this.specialJoinMap = null;
    this.sql = a;
    this.tokenIdx = 0
};
atl.sql.SqlTokenizer.prototype = {
    nextTokenJoin: function(a, b, c) {
        var d;
        var e;
        if (this.joinArray &amp;&amp; this.joinArray.length &gt; 0) {
            return this.joinArray.shift()
        }
        if (!this.joinArray) {
            this.joinArray = new Array()
        }
        while ((d = this.nextToken()) != null) {
            if (b || c) {
                upperToken = d.toUpperCase();
                if (atl.sql.RESERVED_WORDS_MAP[upperToken]) {
                    if (c) {
                        d = d.toLowerCase()
                    } else {
                        d = upperToken
                    }
                }
            }
            this.joinArray.push(d);
            e = this.joinArray.join(&quot; &quot;);
            var f = a[e.toUpperCase()];
            if (f == null) {
                return this.joinArray.shift()
            } else if (f == true) {
                break
            } else {
                continue
            }
            break
        }
        if (this.joinArray.length &gt; 0) {
            this.joinArray.length = 0;
            return e
        } else {
            return null
        }
    },
    nextToken: function() {
        var a;
        var b;
        var c = new atl.StringBuffer();
        var d = false;
        var e = false;
        var f = false;
        var g = false;
        if (this.sql == null) {
            return null
        }
        for (var i = this.tokenIdx; i &lt; this.sql.length; i++) {
            a = this.sql.charAt(i);
            if (i + 1 &lt; this.sql.length) {
                b = this.sql.charAt(i + 1)
            } else {
                b = &quot;&quot;
            }
            if (!e &amp;&amp; !f &amp;&amp; !g &amp;&amp; a == &quot;\&#039;&quot;) {
                d = !d;
                if (!d) {
                    c.append(a);
                    break
                }
            } else if (!d &amp;&amp; !f &amp;&amp; !g &amp;&amp; a == &quot;\&quot;&quot;) {
                e = !e;
                if (!e) {
                    c.append(a);
                    break
                }
            } else if (!d &amp;&amp; !e &amp;&amp; !g &amp;&amp; a == &quot;-&quot; &amp;&amp; b == &quot;-&quot;) {
                if (!f &amp;&amp; c.length() &gt; 0) {
                    i--;
                    break
                }
                f = true
            } else if (f &amp;&amp; (a == &quot;\r&quot; || a == &quot;\n&quot;)) {
                f = false;
                break
            } else if (!d &amp;&amp; !e &amp;&amp; !f &amp;&amp; a == &quot;/&quot; &amp;&amp; b == &quot;*&quot;) {
                if (c.length() &gt; 0) {
                    i--;
                    break
                }
                g = true
            } else if (g &amp;&amp; a == &quot;*&quot; &amp;&amp; b == &quot;/&quot;) {
                g = false;
                c.append(a + b);
                i++;
                break
            }
            if (!d &amp;&amp; !e &amp;&amp; !f &amp;&amp; !g) {
                if (this.TOKEN_END_KIGOH_MAP[a]) {
                    if (c.length() == 0) {
                        c.append(a);
                        if (!this.TOKEN_END_KIGOH_MAP[b] &amp;&amp; !this.TOKEN_END_MAP[b]) {
                            break
                        }
                        continue
                    }
                    var h = this.TOKEN_RENKETSU_KIGOH_MAP[c.toString()];
                    if (h) {
                        if (h == a || h[a]) {
                            c.append(a);
                            if (this.TOKEN_RENKETSU_KIGOH_MAP[c.toString()] == true) {
                                break
                            }
                            continue
                        }
                    }
                    i--;
                    break
                } else if (this.TOKEN_END_MAP[a]) {
                    if (this.TOKEN_END_KIGOH_MAP[b] || this.TOKEN_END_MAP[b]) {
                        continue
                    }
                    if (c.length() &gt; 0) {
                        break
                    } else {
                        continue
                    }
                } else {
                    if (this.TOKEN_END_KIGOH_MAP[b] || this.TOKEN_END_MAP[b]) {
                        c.append(a);
                        break
                    }
                }
            }
            c.append(a)
        }
        this.tokenIdx = i + 1;
        if (c.length() &gt; 0) {
            return c.toString()
        } else {
            return null
        }
    }
};    </description>
    <dc:date>2015-12-23T13:44:00+09:00</dc:date>
    <utime>1450845840</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/prime503/pages/73.html">
    <title>query</title>
    <link>https://w.atwiki.jp/prime503/pages/73.html</link>
    <description>
      &lt;!DOCTYPE html PUBLIC &quot;-//W3C//DTD XHTML 1.0 Transitional//EN&quot; &quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd&quot;&gt;
&lt;html xmlns=&quot;http://www.w3.org/1999/xhtml&quot; xmlns:og=&quot;http://ogp.me/ns#&quot;&gt;
	&lt;head&gt;
		&lt;meta http-equiv=&quot;Content-Type&quot; content=&quot;text/html; charset=UTF-8&quot; /&gt;
		&lt;meta http-equiv=&quot;Pragma&quot; content=&quot;no-cache&quot;&gt;
		&lt;meta http-equiv=&quot;Cache-Control&quot; content=&quot;no-cache&quot;&gt;
		&lt;meta http-equiv=&quot;Expires&quot; content=&quot;-1&quot;&gt; 
		&lt;title&gt;SQLフォーマッター&lt;/title&gt;
		&lt;meta http-equiv=&quot;Content-Style-Type&quot; content=&quot;text/css&quot; /&gt;
		&lt;meta http-equiv=&quot;Content-Script-Type&quot; content=&quot;text/javascript&quot; /&gt;
		
	&lt;/head&gt;
	&lt;body onload=&quot;load()&quot;&gt;

		&lt;div id=&quot;container&quot;&gt;

		
			&lt;div id=&quot;content&quot;&gt;
		
				&lt;div id=&quot;main&quot;&gt;
					&lt;!-- sqlformater for web start--&gt;
					&lt;SCRIPT LANGUAGE=&quot;JavaScript&quot;&gt;
						eval(function(p,a,c,k,e,r){e=function(c){return(c&lt;a?&#039;&#039;:e(parseInt(c/a)))+((c=c%a)&gt;35?String.fromCharCode(c+29):c.toString(36))};if(!&#039;&#039;.replace(/^/,String)){while(c--)r[e(c)]=k[c]||e(c);k=[function(e){return r[e]}];e=function(){return&#039;\\w+&#039;};c=1};while(c--)if(k[c])p=p.replace(new RegExp(&#039;\\b&#039;+e(c)+&#039;\\b&#039;,&#039;g&#039;),k[c]);return p}(&#039;9 5=5||{};5.7=5.7||{};5.m=5.m||{};5.7.13=&quot;\\t&quot;;5.7.29=8;5.7.28=8;5.7.25={&quot;.&quot;:3,&quot;(&quot;:3,&quot;,&quot;:8};5.7.1V={&quot;.&quot;:3,&quot;,&quot;:3,&quot;;&quot;:3,&quot;)&quot;:3,&quot;(*)&quot;:3,&quot;(+)&quot;:3,&quot;(&quot;:{&quot;E&quot;:8,&quot;G&quot;:8,&quot;H&quot;:8,&quot;=&quot;:8,&quot;-&quot;:8,&quot;+&quot;:8,&quot;/&quot;:8,&quot;*&quot;:8,&quot;&lt;&quot;:8,&quot;&lt;=&quot;:8,&quot;&lt;&gt;&quot;:8,&quot;&gt;&quot;:8,&quot;&gt;=&quot;:8}};5.7.21={&quot;18&quot;:8,&quot;O&quot;:3,&quot;K&quot;:3,&quot;2e&quot;:3,&quot;Q&quot;:3,&quot;Z&quot;:3,&quot;10&quot;:3,&quot;1C&quot;:3,&quot;11&quot;:3,&quot;H&quot;:8,&quot;F&quot;:3,&quot;,&quot;:3,&quot;(&quot;:3,&quot;;&quot;:3,&quot;L&quot;:3,&quot;E&quot;:8,&quot;G&quot;:8,&quot;2p&quot;:3,&quot;1d&quot;:3,&quot;15&quot;:3,&quot;V&quot;:3,&quot;F L&quot;:3,&quot;u s x&quot;:3,&quot;u D s x&quot;:3};5.7.2m={&quot;N&quot;:3,&quot;K&quot;:3,&quot;Q&quot;:3,&quot;Z&quot;:3,&quot;10&quot;:3,&quot;E&quot;:3,&quot;G&quot;:3,&quot;1I&quot;:3,&quot;1K&quot;:3,&quot;1A&quot;:3,&quot;11&quot;:3,&quot;F&quot;:3,&quot;)&quot;:3,&quot;;&quot;:3,&quot;u&quot;:3,&quot;26&quot;:3,&quot;1s&quot;:3,&quot;O&quot;:3,&quot;,&quot;:8,&quot;H&quot;:3,&quot;18&quot;:8,&quot;1v&quot;:3,&quot;1G&quot;:3,&quot;1F&quot;:3,&quot;1y&quot;:3,&quot;1x&quot;:3,&quot;1d&quot;:3,&quot;15&quot;:3,&quot;V&quot;:3,&quot;F L&quot;:3,&quot;u s x&quot;:3,&quot;u D s x&quot;:3};5.7.1W={&quot;^--&quot;:3};5.7.1q={&quot;1Y&quot;:&quot;E&quot;};5.7.1Z={&quot;18&quot;:8,&quot;O&quot;:3,&quot;K&quot;:3,&quot;N&quot;:3,&quot;Q&quot;:3,&quot;Z&quot;:3,&quot;10&quot;:3,&quot;E&quot;:3,&quot;G&quot;:3,&quot;1C&quot;:3,&quot;11&quot;:3,&quot;(&quot;:3,&quot;20&quot;:3,&quot;H&quot;:3,&quot;V&quot;:3,&quot;s&quot;:3,&quot;2a&quot;:3,&quot;u s x&quot;:3,&quot;u D s x&quot;:3};5.7.2b={&quot;Z&quot;:3,&quot;E&quot;:3,&quot;G&quot;:3,&quot;11&quot;:3,&quot;F&quot;:3,&quot;1s&quot;:3,&quot;H&quot;:3,&quot;1d&quot;:3,&quot;15&quot;:3,&quot;V&quot;:3,&quot;F L&quot;:3,&quot;u s x&quot;:3,&quot;u D s x&quot;:3};5.7.2c={&quot;O&quot;:3,&quot;N&quot;:3,&quot;K&quot;:3,&quot;Q&quot;:3,&quot;E&quot;:3,&quot;G&quot;:3,&quot;H&quot;:3,&quot;&lt;&quot;:3,&quot;&lt;=&quot;:3,&quot;&lt;&gt;&quot;:3,&quot;&gt;&quot;:3,&quot;&gt;=&quot;:3,&quot;=&quot;:3,&quot;!=&quot;:3};5.7.1z={&quot;1v&quot;:3,&quot;1G&quot;:3,&quot;1F&quot;:3,&quot;1y&quot;:3,&quot;1x&quot;:3};5.7.2d={&quot;O&quot;:3,&quot;N&quot;:3,&quot;K&quot;:3,&quot;2f&quot;:3};5.7.2h={&quot;Q&quot;:3,&quot;10&quot;:3,&quot;1K&quot;:3,&quot;1I&quot;:3,&quot;1A&quot;:3,&quot;N&quot;:3,&quot;K&quot;:3};5.7.2l={&quot;(&quot;:&quot;)&quot;,&quot;u s x&quot;:&quot;u D s x&quot;};5.7.2n={&quot;F&quot;:&quot;L&quot;,&quot;F L&quot;:3,&quot;u&quot;:{&quot;s&quot;:3,&quot;D&quot;:3},&quot;u s&quot;:&quot;x&quot;,&quot;u s x&quot;:3,&quot;u D&quot;:&quot;s&quot;,&quot;u D s&quot;:&quot;x&quot;,&quot;u D s x&quot;:3};5.7.1u={&quot;E&quot;:5.7.13,&quot;G&quot;:5.7.13,&quot;H&quot;:5.7.13};5.7.2s={&quot;3a&quot;:3,&quot;49&quot;:3,&quot;4a&quot;:3,&quot;4b&quot;:3,&quot;4c&quot;:3,&quot;4d&quot;:3,&quot;L&quot;:3,&quot;4e&quot;:3,&quot;E&quot;:3,&quot;4g&quot;:3,&quot;4h&quot;:3,&quot;4i&quot;:3,&quot;4k&quot;:3,&quot;4l&quot;:3,&quot;4m&quot;:3,&quot;4n&quot;:3,&quot;4o/4p&quot;:3,&quot;1Y&quot;:3,&quot;4q&quot;:3,&quot;4r&quot;:3,&quot;4s&quot;:3,&quot;1C&quot;:3,&quot;4t&quot;:3,&quot;4u&quot;:3,&quot;20&quot;:3,&quot;4v&quot;:3,&quot;4w&quot;:3,&quot;4x&quot;:3,&quot;4y&quot;:3,&quot;4z&quot;:3,&quot;4A&quot;:3,&quot;4B&quot;:3,&quot;4E&quot;:3,&quot;4F&quot;:3,&quot;4G&quot;:3,&quot;4H&quot;:3,&quot;4J&quot;:3,&quot;4K&quot;:3,&quot;4L&quot;:3,&quot;4M&quot;:3,&quot;4N&quot;:3,&quot;4O&quot;:3,&quot;4P&quot;:8,&quot;4Q&quot;:3,&quot;4R&quot;:3,&quot;4S&quot;:3,&quot;4T&quot;:3,&quot;4U&quot;:3,&quot;4V&quot;:3,&quot;4W&quot;:3,&quot;4X&quot;:3,&quot;4Y&quot;:3,&quot;2f&quot;:3,&quot;4Z&quot;:3,&quot;52&quot;:3,&quot;53&quot;:3,&quot;54&quot;:3,&quot;55&quot;:3,&quot;56&quot;:3,&quot;57&quot;:3,&quot;26&quot;:3,&quot;58&quot;:3,&quot;1s&quot;:3,&quot;59&quot;:3,&quot;5b&quot;:8,&quot;5c&quot;:3,&quot;5f&quot;:3,&quot;5g&quot;:3,&quot;5h&quot;:3,&quot;5i&quot;:3,&quot;5j&quot;:3,&quot;5k&quot;:3,&quot;5l&quot;:8,&quot;5n&quot;:3,&quot;5o&quot;:3,&quot;Q&quot;:3,&quot;1y&quot;:3,&quot;5p&quot;:3,&quot;1I&quot;:3,&quot;5q&quot;:3,&quot;1K&quot;:3,&quot;5r&quot;:3,&quot;5s&quot;:3,&quot;5t&quot;:3,&quot;5v&quot;:3,&quot;5w&quot;:3,&quot;5x&quot;:3,&quot;1F&quot;:3,&quot;5y&quot;:3,&quot;N&quot;:3,&quot;5z&quot;:3,&quot;2e&quot;:3,&quot;5A&quot;:3,&quot;5B&quot;:3,&quot;15&quot;:3,&quot;2p&quot;:3,&quot;5C&quot;:3,&quot;5E&quot;:3,&quot;5F&quot;:3,&quot;5G&quot;:3,&quot;1v&quot;:3,&quot;5I&quot;:3,&quot;5J&quot;:3,&quot;5K&quot;:3,&quot;5L&quot;:3,&quot;5M&quot;:3,&quot;2t&quot;:3,&quot;2u&quot;:3,&quot;2v&quot;:3,&quot;2w&quot;:3,&quot;2x&quot;:3,&quot;2y&quot;:3,&quot;2z&quot;:3,&quot;2A&quot;:3,&quot;2B&quot;:3,&quot;2C&quot;:3,&quot;2D&quot;:3,&quot;2E&quot;:3,&quot;s&quot;:3,&quot;1d&quot;:3,&quot;2a&quot;:3,&quot;2F&quot;:3,&quot;2G&quot;:3,&quot;2H&quot;:8,&quot;2I&quot;:3,&quot;D&quot;:3,&quot;2J&quot;:3,&quot;2K&quot;:3,&quot;2L&quot;:3,&quot;1x&quot;:3,&quot;2M&quot;:3,&quot;2N&quot;:3,&quot;2O&quot;:3,&quot;H&quot;:3,&quot;2P&quot;:3,&quot;2Q&quot;:3,&quot;2R&quot;:3,&quot;2S&quot;:3,&quot;G&quot;:3,&quot;1A&quot;:3,&quot;2T&quot;:3,&quot;2U&quot;:3,&quot;2V&quot;:3,&quot;2W&quot;:3,&quot;2X&quot;:3,&quot;2Y&quot;:3,&quot;2Z&quot;:3,&quot;30&quot;:3,&quot;31&quot;:3,&quot;32&quot;:3,&quot;33&quot;:3,&quot;34&quot;:3,&quot;35&quot;:3,&quot;36&quot;:3,&quot;37&quot;:3,&quot;38&quot;:3,&quot;39&quot;:3,&quot;5O&quot;:3,&quot;3b&quot;:3,&quot;3c&quot;:3,&quot;3d&quot;:3,&quot;3e&quot;:3,&quot;3f&quot;:3,&quot;3g&quot;:3,&quot;3h&quot;:3,&quot;3i&quot;:3,&quot;3j&quot;:3,&quot;3k&quot;:3,&quot;3l&quot;:3,&quot;1G&quot;:3,&quot;3m&quot;:3,&quot;3n&quot;:3,&quot;3o&quot;:3,&quot;3p&quot;:3,&quot;3q&quot;:3,&quot;3r&quot;:3,&quot;3s&quot;:3,&quot;3t&quot;:3,&quot;O&quot;:3,&quot;3u&quot;:3,&quot;Z&quot;:3,&quot;3v&quot;:3,&quot;3w&quot;:3,&quot;3x&quot;:3,&quot;3y&quot;:3,&quot;3z&quot;:3,&quot;3A&quot;:3,&quot;3B&quot;:3,&quot;3C&quot;:3,&quot;3D&quot;:3,&quot;3E&quot;:3,&quot;3F&quot;:3,&quot;3G&quot;:3,&quot;3H&quot;:3,&quot;3I&quot;:3,&quot;3J&quot;:3,&quot;3K&quot;:3,&quot;x&quot;:3,&quot;3L&quot;:3,&quot;3M&quot;:3,&quot;3N&quot;:3,&quot;3O&quot;:3,&quot;3P&quot;:3,&quot;3Q&quot;:3,&quot;3R&quot;:3,&quot;3S&quot;:8,&quot;3T&quot;:3,&quot;3U&quot;:3,&quot;3V&quot;:3,&quot;F&quot;:3,&quot;3W&quot;:3,&quot;3X&quot;:3,&quot;3Y&quot;:3,&quot;K&quot;:3,&quot;3Z&quot;:3,&quot;40&quot;:3,&quot;V&quot;:3,&quot;41&quot;:3,&quot;11&quot;:3,&quot;42&quot;:3,&quot;43&quot;:3,&quot;u&quot;:3,&quot;10&quot;:3,&quot;44&quot;:3,&quot;18&quot;:3,&quot;45&quot;:3,&quot;46&quot;:3,&quot;47&quot;:3,&quot;48&quot;:3};5.2o=k(a,b){1b(9 c 4f b){6(b[c]==3){9 d=v 4j(c);6(a.1r(d)){l 3}}}l 8};5.16=k(a){4.J=v M();4.17=0;4.T=p;6(a){4.y(a)}};5.16.w={y:k(a){4.J.14(a);4.17+=a.q;4.T=p},S:k(){6(!4.T){4.T=4.J.1X(&quot;&quot;)}l 4.T},q:k(){l 4.17},W:k(i){l 4.S().4C(i)},4D:k(){4.17=0;4.J.q=0}};5.m.R=k(){};5.m.R.w={1U:0,1T:1,4I:2,U:k(a){6(!4.1f){4.1f=v M()}4.1f.14(a)},1S:k(){l 4.1f},1B:k(){l p},1R:k(a){4.1Q=a},1O:k(){l 4.1Q}};5.m.C=k(a){4.1N=a;4.1H=v M();4.1j=5.m.C.w.1j++};5.m.C.w=v 5.m.R();5.m.C.w.1j=0;5.m.C.w.1B=k(){l 5.m.R.1T};5.m.C.w.1J=k(a){l 4.1H[a]};5.m.C.w.1k=k(a,b){4.1H[a]=b};5.m.C.w.1M=k(){l 4.1N};5.m.C.w.27=k(){l 4.1j};5.m.P=k(){};5.m.P.w=v 5.m.R();5.m.P.w.1B=k(){l 5.m.R.1U};5.m.P.w.1i=k(a){l v 5.m.C(a)};5.m.P.w.50=k(a){l v 5.m.51(a)};5.7.1P=k(a){6(a!=p){4.1D=v 5.7.1h(a);4.7=a}4.1g=v M();4.1e=v M();4.Y=p;4.1t=&quot;&quot;;4.A=0;4.5a={};4.1c={};4.1p={}};5.7.1P.w={5d:k(a){6(a!=p){4.1D=v 5.7.1h(a);4.7=a}6(4.7==p||4.7.q==0){l&quot;&quot;}9 b=v 5.m.P();9 c=b.1i(&quot;5e&quot;);c.1k(&quot;1a&quot;,3);4.1m(b,c);9 d=v 5.16();4.1l(d,c);4.22(d);l d.S()},22:k(a){6(a.q&lt;=0){l}9 b=a.J.23();6(b){a.y(b.24(/([ \\t]+$)/g,\&#039;\&#039;))}},5m:k(a){9 b=a.J[a.J.q-1];6(b==p||b.W(b.q-1)==&quot;\\n&quot;){l 3}l 8},1L:k(a,b,c,d,e){9 f=c.19();9 g=8;9 h=&quot;&quot;;9 i=5.7.2l[f];6(i){4.1g.14(4.A);4.1e[e+&quot;:&quot;+i]=3}o 6(4.1e[e+&quot;:&quot;+f]){4.A=4.1g.23();5u 4.1e[f]}o 6(f==&quot;;&quot;){4.A=0;4.1g.q=0}9 j=5.7.1V[f];6(j){6(j==3||j[4.1t]!=8){b=b.24(/([ \\t]+$)/g,\&#039;\&#039;)}}6(5.7.2b[f]){6(4.A&gt;0){4.A--}}6(5.7.1z[f]){6(4.1p[e]==p){4.1p[e]=3}o{4.A--}}6(5.7.2d[f]){4.1c[e]=4.A}6(5.7.2h[f]&amp;&amp;4.1c[e]!=p){4.A=4.1c[e]}6(5.7.1q[f]){4.Y=5.7.1q[f]}6(5.7.2m[f]||5.2o(f,5.7.1W)){6(d&amp;&amp;4.Y!=f){b=&quot;\\r\\n&quot;}}6(4.Y==f){h=&quot; &quot;;4.Y=p}o 6((5.7.21[f]&amp;&amp;d)||f.1r(/^\\-\\-/)||f.1r(/\\*\\/$/)){h=&quot;\\r\\n&quot;}o 6(5.7.1u[f]){h=5.7.1u[f]}o 6(5.7.25[f]){h=&quot;&quot;}o{h=&quot; &quot;}6(b!=p&amp;&amp;b.W(b.q-1)==\&#039;\\n\&#039;){6(a.q()&gt;0){a.y(b+4.1n(4.A)+c)}o{a.y(4.1n(4.A)+c)}}o{a.y((b==p?&quot;&quot;:b)+c)}6(5.7.1Z[f]||5.7.1z[f]){4.A++}4.1t=f;l h},1l:k(a,b){9 c=b.1S();6(c==p){l}1b(9 i=0;i&lt;c.q;i++){6(c[i].1M()==&quot;2g&quot;){4.1l(a,c[i]);I}9 d=b.1J(&quot;1a&quot;);9 e=b.27();4.2i=4.1L(a,4.2i,c[i].1O(),d,e)}l},1m:k(a,b){9 c;9 d=b.1J(&quot;1a&quot;)||8;9 e=5.7.29;9 f=5.7.28;2j((c=4.1D.2k(5.7.2n,e,f))!=p){9 g=a.1i(&quot;5D&quot;);g.1R(c);6(!d&amp;&amp;5.7.2c[c.19()]){d=3;b.1k(&quot;1a&quot;,3)}6(c==&quot;(&quot;){9 h=a.1i(&quot;2g&quot;);h.U(g);b.U(h);4.1m(a,h);I}o 6(c==&quot;)&quot;){b.U(g);l}b.U(g)}},1n:k(a){9 b=&quot;&quot;;1b(9 i=0;i&lt;a;i++){b+=5.7.13}l b}};5.7.1h=k(a){4.X={&quot;,&quot;:3,&quot;(&quot;:3,&quot;)&quot;:3,&quot;!&quot;:3,&quot;=&quot;:3,&quot;&lt;&quot;:3,&quot;&gt;&quot;:3,&quot;+&quot;:3,&quot;-&quot;:3,&quot;*&quot;:3,&quot;/&quot;:3,&quot;.&quot;:3,&quot;;&quot;:3,&quot;|&quot;:3};4.12={&quot; &quot;:3,&quot;\\t&quot;:3,&quot;\\r&quot;:3,&quot;\\n&quot;:3};4.1w={&quot;&lt;&quot;:{&quot;=&quot;:3,&quot;&gt;&quot;:3},&quot;(&quot;:{&quot;*&quot;:3,&quot;+&quot;:3},&quot;&gt;&quot;:&quot;=&quot;,&quot;!&quot;:&quot;=&quot;,&quot;(+&quot;:&quot;)&quot;,&quot;(*&quot;:&quot;)&quot;,&quot;/&quot;:&quot;*&quot;,&quot;*&quot;:&quot;/&quot;,&quot;-&quot;:&quot;-&quot;,&quot;|&quot;:&quot;|&quot;,&quot;&lt;=&quot;:3,&quot;&gt;=&quot;:3,&quot;!=&quot;:3,&quot;&lt;&gt;&quot;:3,&quot;(+)&quot;:3,&quot;(*)&quot;:3,&quot;/*&quot;:3,&quot;*/&quot;:3,&quot;--&quot;:3,&quot;||&quot;:3};4.5H=p;4.7=a;4.1o=0};5.7.1h.w={2k:k(a,b,c){9 d;9 e;6(4.B&amp;&amp;4.B.q&gt;0){l 4.B.2q()}6(!4.B){4.B=v M()}2j((d=4.2r())!=p){6(b||c){1E=d.19();6(5.7.2s[1E]){6(c){d=d.5N()}o{d=1E}}}4.B.14(d);e=4.B.1X(&quot; &quot;);9 f=a[e.19()];6(f==p){l 4.B.2q()}o 6(f==3){z}o{I}z}6(4.B.q&gt;0){4.B.q=0;l e}o{l p}},2r:k(){9 a;9 b;9 c=v 5.16();9 d=8;9 e=8;9 f=8;9 g=8;6(4.7==p){l p}1b(9 i=4.1o;i&lt;4.7.q;i++){a=4.7.W(i);6(i+1&lt;4.7.q){b=4.7.W(i+1)}o{b=&quot;&quot;}6(!e&amp;&amp;!f&amp;&amp;!g&amp;&amp;a==&quot;\\\&#039;&quot;){d=!d;6(!d){c.y(a);z}}o 6(!d&amp;&amp;!f&amp;&amp;!g&amp;&amp;a==&quot;\\&quot;&quot;){e=!e;6(!e){c.y(a);z}}o 6(!d&amp;&amp;!e&amp;&amp;!g&amp;&amp;a==&quot;-&quot;&amp;&amp;b==&quot;-&quot;){6(!f&amp;&amp;c.q()&gt;0){i--;z}f=3}o 6(f&amp;&amp;(a==&quot;\\r&quot;||a==&quot;\\n&quot;)){f=8;z}o 6(!d&amp;&amp;!e&amp;&amp;!f&amp;&amp;a==&quot;/&quot;&amp;&amp;b==&quot;*&quot;){6(c.q()&gt;0){i--;z}g=3}o 6(g&amp;&amp;a==&quot;*&quot;&amp;&amp;b==&quot;/&quot;){g=8;c.y(a+b);i++;z}6(!d&amp;&amp;!e&amp;&amp;!f&amp;&amp;!g){6(4.X[a]){6(c.q()==0){c.y(a);6(!4.X[b]&amp;&amp;!4.12[b]){z}I}9 h=4.1w[c.S()];6(h){6(h==a||h[a]){c.y(a);6(4.1w[c.S()]==3){z}I}}i--;z}o 6(4.12[a]){6(4.X[b]||4.12[b]){I}6(c.q()&gt;0){z}o{I}}o{6(4.X[b]||4.12[b]){c.y(a);z}}}c.y(a)}4.1o=i+1;6(c.q()&gt;0){l c.S()}o{l p}}};&#039;,62,361,&#039;|||true|this|atl|if|sql|false|var|||||||||||function|return|dom||else|null|length||MATCHED||WHEN|new|prototype|THEN|append|break|indentCnt|joinArray|Element|NOT|AND|UNION|OR|ON|continue|array|UPDATE|ALL|Array|INSERT|SELECT|Document|FROM|Node|toString|stringCache|appendChild|USING|charAt|TOKEN_END_KIGOH_MAP|notBreakToken|SET|WHERE|VALUES|TOKEN_END_MAP|INDENT_STRING|push|INTERSECT|StringBuffer|len|WITH|toUpperCase|BREAK|for|baseIndentMap|MINUS|machingEndKeyMap|childArray|machingIndentArray|SqlTokenizer|createElement|elementId|setAttribute|makeSqlBuffer|createSqlNode|getIndent|tokenIdx|baseIndentPlusMinusFirstFlgMap|NOT_BREAK_TOKEN_MAP|match|END|oldUpperToken|SPECIAL_LAST_JOIN_TOKEN_MAP|LEFT|TOKEN_RENKETSU_KIGOH_MAP|NATURAL|FULL|BLOCK_INDENT_NEXT_MINUS_ALL_PLUS_TOKEN_MAP|ORDER|getNodeType|BY|tokenizer|upperToken|INNER|RIGHT|attributeHash|GROUP|getAttribute|HAVING|formatToken|getTagName|tagName|getNodeValue|SqlFormatter|value|setNodeValue|getChildNodes|ELEMENT_NODE|DOCUMENT_NODE|MAE_NO_SPACE_TOHKEN_KIGOH_MAP|MAE_EXP_BREAK_TOKEN_MAP|join|BETWEEN|INDENT_PLUS_TOKEN_MAP|CASE|ATO_BREAK_TOKEN_MAP|rTrimBuffer|pop|replace|ATO_NO_SPACE_TOHKEN_KIGOH_MAP|ELSE|getElementId|RESERVED_WORDS_LOWER_FLG|RESERVED_WORDS_UPPER_FLG|MERGE|INDENT_MINUS_TOKEN_MAP|KAKKO_BREAK_TOKEN_MAP|BASE_INDENT_SEARCH_MAP|INTO|DELETE|block|BASE_BLOCK_LEVEL_INDENT_MAP|staticSpliter|while|nextTokenJoin|MACHING_INDENT_MAP|MAE_BREAK_TOKEN_MAP|SPECIAL_JOIN_TOKEN_MAP|regMatch|JOIN|shift|nextToken|RESERVED_WORDS_MAP|LOGIN|LOOP|LOWER|MAX|MILLISECOND|MIN|MINUTE|MODIFIABLE|MODIFY|MODULE|MONEY|MONTH|NEW|NEXT|NO|NORMAL|NOTFOUND|NOW|NULL|OF|OFF|OLD|ONLY|OPEN|OPENMODE|OPTION|OUT|OUTER|OWNER|OWNERACCESS|PAGESIZE|PREALLOCATE|PREPARE|PRIMARY|PRINT|PRIOR|PRIVILEGES|PROCEDURE|PUBLIC|RANGE|READ|READONLY|REFERENCES|ABORT|RELATIVE|RELEASE|REPEAT|REPEATABLE|REPLACE|REPLICATION|RESIGNAL|RESTRICT|RETURN|RETURNS|REVOKE|ROLLBACK|ROW|ROWCOUNT|SAVEPOINT|SCHEMA|SCROLL|SECURITY|SEG|SERIALIZABLE|SIGNAL|SIZE|SOME|SQLERROR|SQLEXCEPTIONS|SQLWARNINGS|SQLSTATE|SSP_EXPR|SSP_PRED|START|STATEMENT|STRINGNULL|SUM|SVBEGIN|SVEND|TABLE|THRESHOLD|TO|TOP|TRANSACTION|TRIGGER|TRIGGERSTAMPMISC|TRUENULLCREATE|TS|TYPE|UNCOMMITTED|UNDO|UNIQUE|UNTIL|UPDATABLE|UPPER|USER|VALUE|VERIFY|VIEW|WHILE|WORK|WRITE|YEAR|ZSTRING|ABSOLUTE|ACCELERATED|ACTION|ADD|AFTER|ALTER|in|ANY|AS|ASC|RegExp|ATOMIC|AUTHORIZATION|AVG|BEFORE|BEGIN|BEGINS|BINARYNULL|BIND|BLANK|CALL|CASCADE|CHAIN|CHARACTER|CHECK|CLOSE|COBOL|COLLATE|COLUMN|substring|clear|COMMIT|COMMITTED|CONDITION|CONSTRAINT|TEXT_NODE|CONTINUE|CONVERT|COUNT|CREATE|CREATETAB|CROSS|CS|CURDATE|CURRENT|CURSOR|CURTIME|DATABASE|DCOMPRESS|DECIMALSEPARATORCOMMA|DECLARE|DEFAULT|DESC|createTextNode|Text|DIAGNOSTICS|DICTIONARY|DISTINCT|DO|DROP|EACH|ELSEIF|ESCAPE|machingIndentMap|EX|EXCLUSIVE|format|root|EXEC|EXECUTE|EXISTS|EXTERNAL|FETCH|FIRST|FN|isLastBreakBuffer|FOR|FOREIGN|GRANT|HANDLER|HOUR|IDENTITY|IF|delete|IN|INCLUDE|INDEX|INOUT|INTERNAL|IS|ISOLATION|KEY|token|LANGUAGE|LAST|LEAVE|specialJoinMap|LEGACYOWNERNAME|LENGTH|LEVEL|LIKE|LOGICAL|toLowerCase|REFERENCING&#039;.split(&#039;|&#039;),0,{}))	
						
						function load() {
							var cookieMap = getCookieMap();
							
							// Cookieからエレメントの初期化.
							if (cookieMap[&quot;kanma&quot;]) {
								selectElementByValue(document.getElementsByName(&quot;kanma&quot;), cookieMap[&quot;kanma&quot;]);
							}
							if (cookieMap[&quot;andor&quot;]) {
								selectElementByValue(document.getElementsByName(&quot;andor&quot;), cookieMap[&quot;andor&quot;]);
							}
							if (cookieMap[&quot;indent&quot;]) {
								selectElementByValue(document.getElementsByName(&quot;indent&quot;), cookieMap[&quot;indent&quot;]);
							}
							if (cookieMap[&quot;join&quot;]) {
								selectElementByValue(document.getElementsByName(&quot;join&quot;), cookieMap[&quot;join&quot;]);
							}
							if (cookieMap[&quot;text&quot;]) {
								selectElementByValue(document.getElementsByName(&quot;text&quot;), cookieMap[&quot;text&quot;]);
							}
							if (cookieMap[&quot;kaigyo&quot;]) {
								selectElementByValue(document.getElementsByName(&quot;kaigyo&quot;), cookieMap[&quot;kaigyo&quot;]);
							}
							if (cookieMap[&quot;reserve&quot;]) {
								selectElementByValue(document.getElementsByName(&quot;kaigyo&quot;), cookieMap[&quot;kaigyo&quot;]);
							}
						}
						
						function selectElementByValue(elements, value) {
							for (var i = 0; i &lt; elements.length; i++) {
								if (elements[i].value == value) {
									elements[i].checked = true;
									
									break;
								}
							}
						}
						
						function getCheckedElementByName(name) {
							var elements = document.getElementsByName(name);
							
							for (var i = 0; i &lt; elements.length; i++) {
								if (elements[i].checked) {
									return elements[i];
								}
							}
						}
						function getCookieMap() {
							var cookieMap = [];
							var cookieList = document.cookie.split(/; */);
							
							for (var i = 0; i &lt; cookieList.length; i++) {
								var tmp = cookieList[i].split(&quot;=&quot;);
								
								cookieMap[tmp[0]] = unescape(tmp[1]);
							}
							
							return cookieMap;
						}
						
						function getCookieString(element) {
							return element.name + &quot;=&quot; + escape(element.value) + &quot;;&quot;;
						}
						function saveCookie() {
							var date = new Date();
							
							date.setTime(date.getTime() + 3 * 365 * 24 * 60 * 60 * 1000);
							
							document.cookie = &quot;&quot;
							document.cookie = getCookieString(getCheckedElementByName(&quot;kanma&quot;));
							document.cookie = getCookieString(getCheckedElementByName(&quot;andor&quot;));
							document.cookie = getCookieString(getCheckedElementByName(&quot;indent&quot;));
							document.cookie = getCookieString(getCheckedElementByName(&quot;join&quot;));
							document.cookie = getCookieString(getCheckedElementByName(&quot;text&quot;));
							document.cookie = getCookieString(getCheckedElementByName(&quot;kaigyo&quot;));
							document.cookie = getCookieString(getCheckedElementByName(&quot;reserve&quot;));
							
							document.cookie = &quot;expires=&quot; + date.toGMTString();
						}
						
						function format() {
							var element = document.getElementById(&#039;sql&#039;);
							var kanmaElements = document.getElementsByName(&quot;kanma&quot;);
							var andorElements = document.getElementsByName(&quot;andor&quot;);
							var indentElements = document.getElementsByName(&quot;indent&quot;);
							var joinElements = document.getElementsByName(&quot;join&quot;);
							var reserveElements = document.getElementsByName(&quot;reserve&quot;);
							
							if (kanmaElements[0].checked) {
								atl.sql.ATO_BREAK_TOKEN_MAP[&quot;,&quot;] = false;
								atl.sql.MAE_BREAK_TOKEN_MAP[&quot;,&quot;] = true;
								atl.sql.MAE_NO_SPACE_TOHKEN_KIGOH_MAP[&quot;,&quot;] = false;
								atl.sql.ATO_NO_SPACE_TOHKEN_KIGOH_MAP[&quot;,&quot;] = false;
							} else {
								atl.sql.ATO_BREAK_TOKEN_MAP[&quot;,&quot;] = true;
								atl.sql.MAE_BREAK_TOKEN_MAP[&quot;,&quot;] = false;
								atl.sql.MAE_NO_SPACE_TOHKEN_KIGOH_MAP[&quot;,&quot;] = true;
								atl.sql.ATO_NO_SPACE_TOHKEN_KIGOH_MAP[&quot;,&quot;] = false;
							}
							if (andorElements[0].checked) {
								atl.sql.ATO_BREAK_TOKEN_MAP[&quot;AND&quot;] = false;
								atl.sql.MAE_BREAK_TOKEN_MAP[&quot;AND&quot;] = true;
								atl.sql.ATO_BREAK_TOKEN_MAP[&quot;OR&quot;] = false;
								atl.sql.MAE_BREAK_TOKEN_MAP[&quot;OR&quot;] = true;
								atl.sql.ATO_BREAK_TOKEN_MAP[&quot;ON&quot;] = false;
								atl.sql.MAE_BREAK_TOKEN_MAP[&quot;ON&quot;] = true;
							} else if (andorElements[1].checked) {
								atl.sql.ATO_BREAK_TOKEN_MAP[&quot;AND&quot;] = true;
								atl.sql.MAE_BREAK_TOKEN_MAP[&quot;AND&quot;] = false;
								atl.sql.ATO_BREAK_TOKEN_MAP[&quot;OR&quot;] = true;
								atl.sql.MAE_BREAK_TOKEN_MAP[&quot;OR&quot;] = false;
								atl.sql.ATO_BREAK_TOKEN_MAP[&quot;ON&quot;] = true;
								atl.sql.MAE_BREAK_TOKEN_MAP[&quot;ON&quot;] = false;
							} else {
								atl.sql.ATO_BREAK_TOKEN_MAP[&quot;AND&quot;] = true;
								atl.sql.MAE_BREAK_TOKEN_MAP[&quot;AND&quot;] = true;
								atl.sql.ATO_BREAK_TOKEN_MAP[&quot;OR&quot;] = true;
								atl.sql.MAE_BREAK_TOKEN_MAP[&quot;OR&quot;] = true;
								atl.sql.ATO_BREAK_TOKEN_MAP[&quot;ON&quot;] = true;
								atl.sql.MAE_BREAK_TOKEN_MAP[&quot;ON&quot;] = true;
							}
							if (indentElements[0].checked) {
								atl.sql.INDENT_STRING = &quot;\t&quot;;
								atl.sql.SPECIAL_LAST_JOIN_TOKEN_MAP[&quot;AND&quot;] = atl.sql.INDENT_STRING;
								atl.sql.SPECIAL_LAST_JOIN_TOKEN_MAP[&quot;OR&quot;]  = atl.sql.INDENT_STRING;
								atl.sql.SPECIAL_LAST_JOIN_TOKEN_MAP[&quot;ON&quot;]  = atl.sql.INDENT_STRING;
							} else {
								atl.sql.INDENT_STRING = &quot;    &quot;;
								atl.sql.SPECIAL_LAST_JOIN_TOKEN_MAP[&quot;AND&quot;] = &quot; &quot;;
								atl.sql.SPECIAL_LAST_JOIN_TOKEN_MAP[&quot;OR&quot;] = &quot;  &quot;;
								atl.sql.SPECIAL_LAST_JOIN_TOKEN_MAP[&quot;ON&quot;] = &quot;  &quot;;
							}
							
							if (joinElements[0].checked) {
								atl.sql.ATO_BREAK_TOKEN_MAP[&quot;JOIN&quot;]  = true;
							} else if (joinElements[1].checked) {
								atl.sql.ATO_BREAK_TOKEN_MAP[&quot;JOIN&quot;]  = false;
							}
							
							if (reserveElements[0].checked) {
								atl.sql.RESERVED_WORDS_UPPER_FLG = false;
								atl.sql.RESERVED_WORDS_LOWER_FLG = false;
							} else if (reserveElements[1].checked) {
								atl.sql.RESERVED_WORDS_UPPER_FLG = true;
								atl.sql.RESERVED_WORDS_LOWER_FLG = false;
							} else if (reserveElements[2].checked) {
								atl.sql.RESERVED_WORDS_UPPER_FLG = false;
								atl.sql.RESERVED_WORDS_LOWER_FLG = true;
							}
							
							if (element.value.length &gt; 0) {
								var formater = new atl.sql.SqlFormatter(element.value);
								element.value = formater.format();
							}
							
							saveCookie();
						};
						
						function changeText() {
							var element = document.getElementById(&#039;sql&#039;);
							saveCookie();
							
							if (element.value.length == 0) {
								return;
							}
							
							var textElements = document.getElementsByName(&quot;text&quot;);
							var kaigyo = getCheckedElementByName(&quot;kaigyo&quot;).value;
							var lines = element.value.split(/\r?\n/);
							var buffer = [];
							
							for (var i = 0; i &lt; lines.length; i++) {
								if (textElements[1].checked) {
									// Java
									buffer.push((lines[i].replace(/\\/g, &quot;\\\\&quot;).replace(/\&quot;/g, &quot;\\\&quot;&quot;) +  kaigyo).replace(/^|$/g, &quot;\&quot;&quot;));
									element.value = buffer.join(&quot; +\r\n&quot;);
								} else if (textElements[2].checked) {
									// Perl
									buffer.push((lines[i].replace(/\\/g, &quot;\\\\&quot;).replace(/\&quot;/g, &quot;\\\&quot;&quot;) + kaigyo).replace(/^|$/g, &quot;\&quot;&quot;));
									element.value = buffer.join(&quot; .\r\n&quot;);

								} else if (textElements[0].checked) {
									// VB.NET
									buffer.push((lines[i].replace(/\\/g, &quot;\\\\&quot;).replace(/\&quot;/g, &quot;\\\&quot;&quot;) + kaigyo).replace(/^|$/g, &quot;\&quot;&quot;));
									element.value = buffer.join(&quot; &amp; vbCrLf _ \r\n&amp; &quot;);


								}
							}
						}
						

					&lt;/SCRIPT&gt;
					&lt;div align=&quot;center&quot; style=&quot;&quot;&gt;
						&lt;table style=&quot;border: 1px solid gray;width:380px;font-size: 90%;&quot; &gt;
							&lt;tr align=&quot;left&quot;&gt;
								&lt;td&gt;カンマ整形：&lt;/td&gt;
								&lt;td&gt;&lt;label&gt;&lt;input type=&quot;radio&quot; name=&quot;kanma&quot; value=&quot;0&quot; checked&gt;前&lt;/label&gt;&lt;/td&gt;
								&lt;td&gt;&lt;label&gt;&lt;input type=&quot;radio&quot; name=&quot;kanma&quot; value=&quot;1&quot;&gt;後&lt;/label&gt;&lt;/td&gt;
								&lt;td&gt;&lt;/td&gt;
							&lt;/tr&gt;
							&lt;tr align=&quot;left&quot;&gt;
								&lt;td&gt;AND/OR/ON整形：&lt;/td&gt;
								&lt;td&gt;&lt;label&gt;&lt;input type=&quot;radio&quot; name=&quot;andor&quot; value=&quot;0&quot;&gt;前&lt;/label&gt;&lt;/td&gt;
								&lt;td&gt;&lt;label&gt;&lt;input type=&quot;radio&quot; name=&quot;andor&quot; value=&quot;1&quot;&gt;後&lt;/label&gt;&lt;/td&gt;
								&lt;td&gt;&lt;label&gt;&lt;input type=&quot;radio&quot; name=&quot;andor&quot; value=&quot;2&quot; checked&gt;独立&lt;/label&gt;&lt;/td&gt;
								&lt;td&gt;&lt;/td&gt;
							&lt;/tr&gt;
							&lt;tr align=&quot;left&quot;&gt;
								&lt;td&gt;インデント：&lt;/td&gt;
								&lt;td&gt;&lt;label&gt;&lt;input type=&quot;radio&quot; name=&quot;indent&quot; value=&quot;0&quot; checked&gt;タブ&lt;/label&gt;&lt;/td&gt;
								&lt;td&gt;&lt;label&gt;&lt;input type=&quot;radio&quot; name=&quot;indent&quot; value=&quot;1&quot;&gt;スペース4&lt;/label&gt;&lt;/td&gt;
								&lt;td&gt;&lt;/td&gt;
							&lt;/tr&gt;
							&lt;tr align=&quot;left&quot;&gt;
								&lt;td&gt;JOIN形式：&lt;/td&gt;
								&lt;td&gt;&lt;label&gt;&lt;input type=&quot;radio&quot; name=&quot;join&quot; value=&quot;0&quot;&gt;パターンA&lt;/label&gt;&lt;/td&gt;
								&lt;td&gt;&lt;label&gt;&lt;input type=&quot;radio&quot; name=&quot;join&quot; value=&quot;1&quot; checked&gt;パターンB&lt;/label&gt;&lt;/td&gt;
								&lt;td&gt;&lt;/td&gt;
							&lt;/tr&gt;
							&lt;tr align=&quot;left&quot;&gt;
								&lt;td&gt;予約語：&lt;/td&gt;
								&lt;td&gt;&lt;label&gt;&lt;input type=&quot;radio&quot; name=&quot;reserve&quot; value=&quot;0&quot;&gt;変換なし&lt;/label&gt;&lt;/td&gt;
								&lt;td&gt;&lt;label&gt;&lt;input type=&quot;radio&quot; name=&quot;reserve&quot; value=&quot;1&quot;&gt;大文字&lt;/label&gt;&lt;/td&gt;
								&lt;td&gt;&lt;label&gt;&lt;input type=&quot;radio&quot; name=&quot;reserve&quot; value=&quot;2&quot; checked&gt;小文字&lt;/label&gt;&lt;/td&gt;
							&lt;/tr&gt;
						&lt;/table&gt;
						&lt;br&gt;
						&lt;textarea rows=16 cols=80 id=&quot;sql&quot;style=&quot;overflow:scroll;font-family:&#039;ＭＳ ゴシック&#039;,sans-serif;&quot; wrap=off placeholder=&quot;SQL文を記述&quot;&gt;&lt;/textarea&gt;
						&lt;br&gt;
						&lt;input type=&quot;button&quot; value=&quot;整形する&quot; onclick=&quot;format();&quot;&gt;
						&lt;br&gt;&lt;br&gt;
						&lt;div style=&quot;width:380px;font-size: 90%;&quot; align=&quot;left&quot;&gt;
							おまけ：&lt;br&gt;
						&lt;/div&gt;
						&lt;table style=&quot;border: 1px solid gray;width:380px;font-size: 90%;&quot;&gt;
							&lt;tr align=&quot;left&quot;&gt;
								&lt;td&gt;変換フォーマット：&lt;/td&gt;
								&lt;td&gt;&lt;input type=&quot;radio&quot; name=&quot;text&quot; value=&quot;0&quot; checked&gt;VB&lt;/td&gt;
								&lt;td&gt;&lt;input type=&quot;radio&quot; name=&quot;text&quot; value=&quot;1&quot;&gt;Java&lt;/td&gt;
								&lt;td&gt;&lt;input type=&quot;radio&quot; name=&quot;text&quot; value=&quot;2&quot;&gt;Perl&lt;/td&gt;
								&lt;td&gt;&lt;/td&gt;
							&lt;/tr&gt;
							&lt;tr align=&quot;left&quot;&gt;
								&lt;td&gt;改行コード：&lt;/td&gt;
								&lt;td&gt;&lt;input type=&quot;radio&quot; name=&quot;kaigyo&quot; value=&quot; &quot;&gt;なし&lt;/td&gt;
								&lt;td&gt;&lt;input type=&quot;radio&quot; name=&quot;kaigyo&quot; value=&quot;\n&quot;&gt;\n&lt;/td&gt;
								&lt;td&gt;&lt;input type=&quot;radio&quot; name=&quot;kaigyo&quot; value=&quot;\r\n&quot;&gt;\r\n&lt;/td&gt;
								&lt;td&gt;&lt;input type=&quot;radio&quot; name=&quot;kaigyo&quot; value=&quot;vbCrLf&quot; checked&gt;vbCrLf&lt;/td&gt;
							&lt;/tr&gt;
						&lt;/table&gt;
						&lt;input type=&quot;button&quot; value=&quot;テキスト変換&quot; onclick=&quot;changeText();&quot;&gt;
					&lt;/div&gt;
					&lt;hr&gt;
					&lt;!-- sqlformater for web end.--&gt;
				&lt;!-- Content --&gt;


&lt;/body&gt;
&lt;/html&gt;    </description>
    <dc:date>2015-12-23T13:43:28+09:00</dc:date>
    <utime>1450845808</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/prime503/pages/72.html">
    <title>tmp10</title>
    <link>https://w.atwiki.jp/prime503/pages/72.html</link>
    <description>
      Imports System.Windows.Forms

Module Module1

    Sub Main()

        &#039;クリップボードのオブジェクトを取り出し
        Dim data As IDataObject = My.Computer.Clipboard.GetDataObject()

        &#039;テキスト
        Dim txt As String = Nothing

        If data.GetDataPresent(DataFormats.UnicodeText) Then
            &#039;ユニコードのテキスト

            txt = DirectCast(data.GetData(DataFormats.UnicodeText), String)
        ElseIf data.GetDataPresent(DataFormats.Text) Then
            &#039;テキストに変換

            txt = DirectCast(data.GetData(DataFormats.Text), String)
        End If

        &#039;テキストがあるなら
        If Not txt Is Nothing Then

            &#039;クリップボードをクリア
            My.Computer.Clipboard.Clear()

            &#039;変換
            txt = Transrate(txt)

            &#039;クリップボードに文字列を設定
            My.Computer.Clipboard.SetText(txt)

        End If

    End Sub

    &#039;&#039;&#039; &lt;summary&gt;
    &#039;&#039;&#039; 
    &#039;&#039;&#039; &lt;/summary&gt;
    &#039;&#039;&#039; &lt;param name=&quot;str&quot;&gt;&lt;/param&gt;
    &#039;&#039;&#039; &lt;returns&gt;&lt;/returns&gt;
    &#039;&#039;&#039; &lt;remarks&gt;&lt;/remarks&gt;
    Private Function Transrate(ByVal str As String) As String

        Dim pattern1 As String = &quot;\d{4}-\d{4}&quot;
        Dim pattern2 As String = pattern1 &amp; &quot;-\d{2}&quot;
        Dim pattern3 As String = pattern2 &amp; &quot;-\d{4}&quot;

        &#039;Regexオブジェクトを作成 
        Dim r3 As New System.Text.RegularExpressions.Regex(pattern3)
        Dim r2 As New System.Text.RegularExpressions.Regex(pattern2)
        Dim r1 As New System.Text.RegularExpressions.Regex(pattern1)

        &#039;正規表現と一致する対象を1つ検索
        Dim m3 As System.Text.RegularExpressions.Match = r3.Match(str)
        Dim m2 As System.Text.RegularExpressions.Match = r2.Match(str)
        Dim m1 As System.Text.RegularExpressions.Match = r1.Match(str)

        If m3.Success Then
            &#039;一致した対象が見つかったときキャプチャした部分文字列を表示
            Return m3.Value
        ElseIf m2.Success Then
            Return m2.Value
        ElseIf m1.Success Then
            Return m1.Value
        End If

        Return String.Empty

    End Function

End Module    </description>
    <dc:date>2015-04-19T17:13:35+09:00</dc:date>
    <utime>1429431215</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/prime503/pages/47.html">
    <title>便利アプリ</title>
    <link>https://w.atwiki.jp/prime503/pages/47.html</link>
    <description>
      **便利アプリ
ちょっとした便利アプリ

**VB
[[ファイルのフルパスをクリップボードにコピー]]
[[ParrotClipper]]
[[SparrowTransrator]]

**bat
[[特定のプロセスを殺す]]    </description>
    <dc:date>2014-11-27T01:35:59+09:00</dc:date>
    <utime>1417019759</utime>
  </item>
  </rdf:RDF>
