Compare commits

...

No commits in common. "main" and "5a1b13e13c5de3ca2ee7a442cb2d6f50a698fa38" have entirely different histories.

17 changed files with 1674 additions and 73 deletions

63
.gitattributes vendored Normal file
View File

@ -0,0 +1,63 @@
###############################################################################
# Set default behavior to automatically normalize line endings.
###############################################################################
* text=auto
###############################################################################
# Set default behavior for command prompt diff.
#
# This is need for earlier builds of msysgit that does not have it on by
# default for csharp files.
# Note: This is only used by command line
###############################################################################
#*.cs diff=csharp
###############################################################################
# Set the merge driver for project and solution files
#
# Merging from the command prompt will add diff markers to the files if there
# are conflicts (Merging from VS is not affected by the settings below, in VS
# the diff markers are never inserted). Diff markers may cause the following
# file extensions to fail to load in VS. An alternative would be to treat
# these files as binary and thus will always conflict and require user
# intervention with every merge. To do so, just uncomment the entries below
###############################################################################
#*.sln merge=binary
#*.csproj merge=binary
#*.vbproj merge=binary
#*.vcxproj merge=binary
#*.vcproj merge=binary
#*.dbproj merge=binary
#*.fsproj merge=binary
#*.lsproj merge=binary
#*.wixproj merge=binary
#*.modelproj merge=binary
#*.sqlproj merge=binary
#*.wwaproj merge=binary
###############################################################################
# behavior for image files
#
# image files are treated as binary by default.
###############################################################################
#*.jpg binary
#*.png binary
#*.gif binary
###############################################################################
# diff behavior for common document formats
#
# Convert binary document formats to text before diffing them. This feature
# is only available from the command line. Turn it on by uncommenting the
# entries below.
###############################################################################
#*.doc diff=astextplain
#*.DOC diff=astextplain
#*.docx diff=astextplain
#*.DOCX diff=astextplain
#*.dot diff=astextplain
#*.DOT diff=astextplain
#*.pdf diff=astextplain
#*.PDF diff=astextplain
#*.rtf diff=astextplain
#*.RTF diff=astextplain

80
.gitignore vendored
View File

@ -1,8 +1,7 @@
# ---> VisualStudio
## Ignore Visual Studio temporary files, build results, and ## Ignore Visual Studio temporary files, build results, and
## files generated by popular Visual Studio add-ons. ## files generated by popular Visual Studio add-ons.
## ##
## Get latest from https://github.com/github/gitignore/blob/main/VisualStudio.gitignore ## Get latest from https://github.com/github/gitignore/blob/master/VisualStudio.gitignore
# User-specific files # User-specific files
*.rsuser *.rsuser
@ -14,9 +13,6 @@
# User-specific files (MonoDevelop/Xamarin Studio) # User-specific files (MonoDevelop/Xamarin Studio)
*.userprefs *.userprefs
# Mono auto generated files
mono_crash.*
# Build results # Build results
[Dd]ebug/ [Dd]ebug/
[Dd]ebugPublic/ [Dd]ebugPublic/
@ -24,14 +20,12 @@ mono_crash.*
[Rr]eleases/ [Rr]eleases/
x64/ x64/
x86/ x86/
[Ww][Ii][Nn]32/
[Aa][Rr][Mm]/ [Aa][Rr][Mm]/
[Aa][Rr][Mm]64/ [Aa][Rr][Mm]64/
bld/ bld/
[Bb]in/ [Bb]in/
[Oo]bj/ [Oo]bj/
[Ll]og/ [Ll]og/
[Ll]ogs/
# Visual Studio 2015/2017 cache/options directory # Visual Studio 2015/2017 cache/options directory
.vs/ .vs/
@ -45,10 +39,9 @@ Generated\ Files/
[Tt]est[Rr]esult*/ [Tt]est[Rr]esult*/
[Bb]uild[Ll]og.* [Bb]uild[Ll]og.*
# NUnit # NUNIT
*.VisualState.xml *.VisualState.xml
TestResult.xml TestResult.xml
nunit-*.xml
# Build Results of an ATL Project # Build Results of an ATL Project
[Dd]ebugPS/ [Dd]ebugPS/
@ -63,9 +56,6 @@ project.lock.json
project.fragment.lock.json project.fragment.lock.json
artifacts/ artifacts/
# ASP.NET Scaffolding
ScaffoldingReadMe.txt
# StyleCop # StyleCop
StyleCopReport.xml StyleCopReport.xml
@ -91,7 +81,6 @@ StyleCopReport.xml
*.tmp_proj *.tmp_proj
*_wpftmp.csproj *_wpftmp.csproj
*.log *.log
*.tlog
*.vspscc *.vspscc
*.vssscc *.vssscc
.builds .builds
@ -133,6 +122,9 @@ _ReSharper*/
*.[Rr]e[Ss]harper *.[Rr]e[Ss]harper
*.DotSettings.user *.DotSettings.user
# JustCode is a .NET coding add-in
.JustCode
# TeamCity is a build add-in # TeamCity is a build add-in
_TeamCity* _TeamCity*
@ -143,11 +135,6 @@ _TeamCity*
.axoCover/* .axoCover/*
!.axoCover/settings.json !.axoCover/settings.json
# Coverlet is a free, cross platform Code Coverage Tool
coverage*.json
coverage*.xml
coverage*.info
# Visual Studio code coverage results # Visual Studio code coverage results
*.coverage *.coverage
*.coveragexml *.coveragexml
@ -195,8 +182,6 @@ PublishScripts/
# NuGet Packages # NuGet Packages
*.nupkg *.nupkg
# NuGet Symbol Packages
*.snupkg
# The packages folder can be ignored because of Package Restore # The packages folder can be ignored because of Package Restore
**/[Pp]ackages/* **/[Pp]ackages/*
# except build/, which is used as an MSBuild target. # except build/, which is used as an MSBuild target.
@ -221,8 +206,6 @@ BundleArtifacts/
Package.StoreAssociation.xml Package.StoreAssociation.xml
_pkginfo.txt _pkginfo.txt
*.appx *.appx
*.appxbundle
*.appxupload
# Visual Studio cache files # Visual Studio cache files
# files ending in .cache can be ignored # files ending in .cache can be ignored
@ -272,9 +255,7 @@ ServiceFabricBackup/
*.bim.layout *.bim.layout
*.bim_*.settings *.bim_*.settings
*.rptproj.rsuser *.rptproj.rsuser
*- [Bb]ackup.rdl *- Backup*.rdl
*- [Bb]ackup ([0-9]).rdl
*- [Bb]ackup ([0-9][0-9]).rdl
# Microsoft Fakes # Microsoft Fakes
FakesAssemblies/ FakesAssemblies/
@ -295,17 +276,6 @@ node_modules/
# Visual Studio 6 auto-generated workspace file (contains which files were open etc.) # Visual Studio 6 auto-generated workspace file (contains which files were open etc.)
*.vbw *.vbw
# Visual Studio 6 auto-generated project file (contains which files were open etc.)
*.vbp
# Visual Studio 6 workspace and project file (working project files containing files to include in project)
*.dsw
*.dsp
# Visual Studio 6 technical files
*.ncb
*.aps
# Visual Studio LightSwitch build output # Visual Studio LightSwitch build output
**/*.HTMLClient/GeneratedArtifacts **/*.HTMLClient/GeneratedArtifacts
**/*.DesktopClient/GeneratedArtifacts **/*.DesktopClient/GeneratedArtifacts
@ -321,6 +291,10 @@ paket-files/
# FAKE - F# Make # FAKE - F# Make
.fake/ .fake/
# JetBrains Rider
.idea/
*.sln.iml
# CodeRush personal settings # CodeRush personal settings
.cr/personal .cr/personal
@ -362,39 +336,5 @@ ASALocalRun/
# Local History for Visual Studio # Local History for Visual Studio
.localhistory/ .localhistory/
# Visual Studio History (VSHistory) files
.vshistory/
# BeatPulse healthcheck temp database # BeatPulse healthcheck temp database
healthchecksdb healthchecksdb
# Backup folder for Package Reference Convert tool in Visual Studio 2017
MigrationBackup/
# Ionide (cross platform F# VS Code tools) working folder
.ionide/
# Fody - auto-generated XML schema
FodyWeavers.xsd
# VS Code files for those working on multiple tools
.vscode/*
!.vscode/settings.json
!.vscode/tasks.json
!.vscode/launch.json
!.vscode/extensions.json
*.code-workspace
# Local History for Visual Studio Code
.history/
# Windows Installer files from build outputs
*.cab
*.msi
*.msix
*.msm
*.msp
# JetBrains Rider
*.sln.iml

22
GenerateStringBuilder.sln Normal file
View File

@ -0,0 +1,22 @@

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 14
VisualStudioVersion = 14.0.24720.0
MinimumVisualStudioVersion = 10.0.40219.1
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "GenerateStringBuilder", "GenerateStringBuilder\GenerateStringBuilder.csproj", "{62B4524D-A1CB-4CB1-AC9F-E841783F45A4}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Release|Any CPU = Release|Any CPU
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{62B4524D-A1CB-4CB1-AC9F-E841783F45A4}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{62B4524D-A1CB-4CB1-AC9F-E841783F45A4}.Debug|Any CPU.Build.0 = Debug|Any CPU
{62B4524D-A1CB-4CB1-AC9F-E841783F45A4}.Release|Any CPU.ActiveCfg = Release|Any CPU
{62B4524D-A1CB-4CB1-AC9F-E841783F45A4}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
EndGlobal

Binary file not shown.

After

Width:  |  Height:  |  Size: 48 KiB

View File

@ -0,0 +1,6 @@
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5.2" />
</startup>
</configuration>

183
GenerateStringBuilder/Form1.Designer.cs generated Normal file
View File

@ -0,0 +1,183 @@
namespace GenerateStringBuilder
{
partial class Form1
{
/// <summary>
/// 設計工具所需的變數。
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// 清除任何使用中的資源。
/// </summary>
/// <param name="disposing">如果應該處置 Managed 資源則為 true否則為 false。</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Windows Form
/// <summary>
/// 此為設計工具支援所需的方法 - 請勿使用程式碼編輯器修改
/// 這個方法的內容。
/// </summary>
private void InitializeComponent()
{
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(Form1));
this.btnCreate = new System.Windows.Forms.Button();
this.comboBox1 = new System.Windows.Forms.ComboBox();
this.txInput = new System.Windows.Forms.RichTextBox();
this.richTextBox1 = new System.Windows.Forms.RichTextBox();
this.btnRemove = new System.Windows.Forms.Button();
this.rdoStringBuilder = new System.Windows.Forms.RadioButton();
this.rdoTransPosition = new System.Windows.Forms.RadioButton();
this.txStringBuilderName = new System.Windows.Forms.TextBox();
this.chkAddNewLine = new System.Windows.Forms.CheckBox();
this.chkWriteLine = new System.Windows.Forms.CheckBox();
this.SuspendLayout();
//
// btnCreate
//
this.btnCreate.Location = new System.Drawing.Point(714, 566);
this.btnCreate.Name = "btnCreate";
this.btnCreate.Size = new System.Drawing.Size(75, 25);
this.btnCreate.TabIndex = 2;
this.btnCreate.Text = "btnCreate";
this.btnCreate.UseVisualStyleBackColor = true;
this.btnCreate.Click += new System.EventHandler(this.btnCreate_Click);
//
// comboBox1
//
this.comboBox1.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
this.comboBox1.FormattingEnabled = true;
this.comboBox1.Items.AddRange(new object[] {
"C#",
"VB.net",
"JavaScript",
"TypeScript"});
this.comboBox1.Location = new System.Drawing.Point(12, 13);
this.comboBox1.Name = "comboBox1";
this.comboBox1.Size = new System.Drawing.Size(121, 21);
this.comboBox1.TabIndex = 3;
//
// txInput
//
this.txInput.Location = new System.Drawing.Point(12, 41);
this.txInput.Name = "txInput";
this.txInput.Size = new System.Drawing.Size(873, 251);
this.txInput.TabIndex = 4;
this.txInput.Text = "";
//
// richTextBox1
//
this.richTextBox1.Location = new System.Drawing.Point(12, 308);
this.richTextBox1.Name = "richTextBox1";
this.richTextBox1.Size = new System.Drawing.Size(873, 251);
this.richTextBox1.TabIndex = 5;
this.richTextBox1.Text = "";
//
// btnRemove
//
this.btnRemove.Location = new System.Drawing.Point(810, 566);
this.btnRemove.Name = "btnRemove";
this.btnRemove.Size = new System.Drawing.Size(75, 25);
this.btnRemove.TabIndex = 6;
this.btnRemove.Text = "btnRemove";
this.btnRemove.UseVisualStyleBackColor = true;
this.btnRemove.Click += new System.EventHandler(this.btnRemove_Click);
//
// rdoStringBuilder
//
this.rdoStringBuilder.AutoSize = true;
this.rdoStringBuilder.Checked = true;
this.rdoStringBuilder.Location = new System.Drawing.Point(160, 13);
this.rdoStringBuilder.Name = "rdoStringBuilder";
this.rdoStringBuilder.Size = new System.Drawing.Size(108, 17);
this.rdoStringBuilder.TabIndex = 7;
this.rdoStringBuilder.TabStop = true;
this.rdoStringBuilder.Text = "SQL StringBuilder";
this.rdoStringBuilder.UseVisualStyleBackColor = true;
//
// rdoTransPosition
//
this.rdoTransPosition.AutoSize = true;
this.rdoTransPosition.Location = new System.Drawing.Point(613, 12);
this.rdoTransPosition.Name = "rdoTransPosition";
this.rdoTransPosition.Size = new System.Drawing.Size(89, 17);
this.rdoTransPosition.TabIndex = 8;
this.rdoTransPosition.Text = "TransPosition";
this.rdoTransPosition.UseVisualStyleBackColor = true;
//
// txStringBuilderName
//
this.txStringBuilderName.Location = new System.Drawing.Point(276, 11);
this.txStringBuilderName.Name = "txStringBuilderName";
this.txStringBuilderName.Size = new System.Drawing.Size(100, 20);
this.txStringBuilderName.TabIndex = 9;
this.txStringBuilderName.Text = "stringBuilder";
//
// chkAddNewLine
//
this.chkAddNewLine.AutoSize = true;
this.chkAddNewLine.Location = new System.Drawing.Point(393, 14);
this.chkAddNewLine.Name = "chkAddNewLine";
this.chkAddNewLine.Size = new System.Drawing.Size(98, 17);
this.chkAddNewLine.TabIndex = 10;
this.chkAddNewLine.Text = "加入換行符號";
this.chkAddNewLine.UseVisualStyleBackColor = true;
//
// chkWriteLine
//
this.chkWriteLine.AutoSize = true;
this.chkWriteLine.Checked = true;
this.chkWriteLine.CheckState = System.Windows.Forms.CheckState.Checked;
this.chkWriteLine.Location = new System.Drawing.Point(506, 13);
this.chkWriteLine.Name = "chkWriteLine";
this.chkWriteLine.Size = new System.Drawing.Size(91, 17);
this.chkWriteLine.TabIndex = 11;
this.chkWriteLine.Text = "use WriteLine";
this.chkWriteLine.UseVisualStyleBackColor = true;
//
// Form1
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(897, 603);
this.Controls.Add(this.chkWriteLine);
this.Controls.Add(this.chkAddNewLine);
this.Controls.Add(this.txStringBuilderName);
this.Controls.Add(this.rdoTransPosition);
this.Controls.Add(this.rdoStringBuilder);
this.Controls.Add(this.btnRemove);
this.Controls.Add(this.richTextBox1);
this.Controls.Add(this.txInput);
this.Controls.Add(this.comboBox1);
this.Controls.Add(this.btnCreate);
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
this.Name = "Form1";
this.Text = "產生StringBuilder";
this.Load += new System.EventHandler(this.Form1_Load);
this.ResumeLayout(false);
this.PerformLayout();
}
#endregion
private System.Windows.Forms.Button btnCreate;
private System.Windows.Forms.ComboBox comboBox1;
private System.Windows.Forms.RichTextBox txInput;
private System.Windows.Forms.RichTextBox richTextBox1;
private System.Windows.Forms.Button btnRemove;
private System.Windows.Forms.RadioButton rdoStringBuilder;
private System.Windows.Forms.RadioButton rdoTransPosition;
private System.Windows.Forms.TextBox txStringBuilderName;
private System.Windows.Forms.CheckBox chkAddNewLine;
private System.Windows.Forms.CheckBox chkWriteLine;
}
}

View File

@ -0,0 +1,195 @@
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace GenerateStringBuilder
{
public partial class Form1 : Form
{
enum Lan
{
VB,
CSharp,
JavaScript,
TypeScript
}
public Form1()
{
InitializeComponent();
comboBox1.DataSource = Enum.GetValues(typeof(Lan));
}
private void btnCreate_Click(object sender, EventArgs e)
{
//清除首行空白
int spaceCount = 0;
List<string> input=new List<string>();
for (int j = 0; j < txInput.Lines[0].Length; j++)
{
if (string.IsNullOrWhiteSpace( txInput.Lines[0].Substring(0,j+1).Trim()))
{
spaceCount = j + 1;
}
}
for (int i = 0; i < txInput.Lines.Length; i++)
{
input.Add(txInput.Lines[i].Substring(0, spaceCount).TrimStart() +
txInput.Lines[i].Substring(spaceCount, txInput.Lines[i].Length - spaceCount));
}
richTextBox1.Text = "";
Lan lan;
Enum.TryParse<Lan>(comboBox1.SelectedValue.ToString(), out lan);
if (rdoStringBuilder.Checked)
{
switch (lan)
{
case Lan.VB:
richTextBox1.Text += "Dim " + txStringBuilderName.Text + " As New StringBuilder\r\n";
for (int i = 0; i < input.Count; i++)
{
richTextBox1.Text += txStringBuilderName.Text + @".Append(""" + input[i].Replace("\"", @"""""") +
@" "")" + "\r\n";
if (chkAddNewLine.Checked)
{
richTextBox1.Text +=
txStringBuilderName.Text + @".AppendLine()" + "\r\n";
}
}
break;
case Lan.CSharp:
richTextBox1.Text += "StringBuilder " + txStringBuilderName.Text + " = new StringBuilder();\r\n";
for (int i = 0; i < input.Count; i++)
{
richTextBox1.Text +=
txStringBuilderName.Text + @".Append(""" + input[i].Replace("\"", @"\""") +
@" "");" + "\r\n";
if (chkAddNewLine.Checked)
{
richTextBox1.Text += txStringBuilderName.Text + @".AppendLine();" + "\r\n";
}
}
break;
case Lan.JavaScript:
richTextBox1.Text += "var " + txStringBuilderName.Text + " = \r\n";
for (var i = 0; i < input.Count; i++)
{
richTextBox1.Text +=
"'" + input[i].Replace("'", "\"") + "'";
if (chkAddNewLine.Checked)
{
richTextBox1.Text +=input[i] + @".AppendLine();" + "\r\n";
}
if (i == txInput.Lines.Length - 1)
{
richTextBox1.Text += ";";
}
else
{
richTextBox1.Text += "+\r\n";
}
}
break;
case Lan.TypeScript:
StringBuilder stringBuilder = new StringBuilder();
stringBuilder.AppendLine($" \"{txStringBuilderName.Text}\": {{ ");
stringBuilder.AppendLine(" \"scope\": \"html\", ");
stringBuilder.AppendLine(" \"prefix\": \"newpre\", ");
stringBuilder.AppendLine(" \"body\": [ ");
richTextBox1.Text += "var " + txStringBuilderName.Text + " = \r\n";
for (var i = 0; i < input.Count; i++)
{
stringBuilder.Append($"\"{input[i].Replace("\"", "'")}\"");
richTextBox1.Text +=
"\"" + input[i].Replace("\"", "'") + "\"";
if (chkAddNewLine.Checked)
{
richTextBox1.Text += input[i] + @".AppendLine();" + "\r\n";
}
if (i == txInput.Lines.Length - 1)
{
richTextBox1.Text += ",";
}
else
{
stringBuilder.AppendLine(",");
}
}
stringBuilder.AppendLine(" ], ");
stringBuilder.AppendLine($" \"description\": \"{txStringBuilderName.Text}\" ");
stringBuilder.AppendLine(" }, ");
richTextBox1.Text = stringBuilder.ToString();
break;
default:
throw new ArgumentOutOfRangeException();
}
}
else
{
for (int i = 0; i < txInput.Lines.Length; i++)
{
string[] temp = txInput.Lines[i].Replace("\"", @"""""").Replace(";", "").Split('=');
if (temp.Length==2)
{
richTextBox1.Text += temp[1] + " = " + temp[0];
if (this.comboBox1.SelectedIndex == 1)
{
richTextBox1.Text += ";";
}
richTextBox1.Text += "\r\n";
}
}
}
if (chkWriteLine.Checked)
{
richTextBox1.Text= richTextBox1.Text.Replace("Append(", "AppendLine(");
}
}
private void Form1_Load(object sender, EventArgs e)
{
comboBox1.SelectedIndex = 0;
}
private void btnRemove_Click(object sender, EventArgs e)
{
txInput.Text = "";
if (this.comboBox1.SelectedIndex == 0)
{
txInput.Text = richTextBox1.Text.Replace("Dim " + txStringBuilderName.Text + " As New StringBuilder", "");
txInput.Text = txInput.Text.Replace(txStringBuilderName.Text + @".Append(""", "");
txInput.Text = txInput.Text.Replace(@""")" , "");
}
else
{
txInput.Text = richTextBox1.Text.Replace("StringBuilder "+txStringBuilderName.Text+" = new StringBuilder();", "");
txInput.Text = txInput.Text.Replace(txStringBuilderName.Text +@".Append(""", "");
txInput.Text = txInput.Text.Replace(@""");", "");
}
}
}
}

View File

@ -0,0 +1,811 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
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
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACQsLCxYICAgdCAgIHQgI
CB0ICAgdCAgIHQgICB0ICAgdCAgIHQgICB0ICAgdCAgIHQgICB0ICAgdCAgIHQgICB0ICAgdCAgIHQgI
CB0ICAgdCAgIHQgICB0ICAgdCAgIHQgICB0ICAgdCAgIHQgICB0ICAgdCAgIHQgICB0JCQkaAAAAEAAA
AAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACQkJAcSEg9RIyMgrC8v
KtMxMSveMDAr3TAwK90wMCvdMDAr3TAwK90wMCvdMDAr3TAwK90wMCvdMDAr3TAwK90wMCvdMDAr3TAw
K90wMCvdMDAr3TAwK90wMCvdMDAr3TAwK90wMCvdMDAr3TAwK90wMCvdMDAr3TAwK90wMCvdMDAr3TEx
K94tLSfPHx8cowkJCVAAAAAVAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFxcXCycn
IqI4ODL8OTkz/jk5M/46OjT/OTkz/jo6NP85OTP+OTkz/jk5M/46OjT/OTkz/jk5M/46OjT/OTkz/jk5
M/46OjT/OTkz/jk5M/46OjT/OTkz/jk5M/46OjT/OTkz/jk5M/46OjT/OTkz/jo6NP85OTP+OTkz/jo6
NP85OTP+OTkz/jo6NP85OTP+OTkz/jc3MfYZGReMAAAAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAABKSkmmTo6NP85OTP/V1dS/4mIhf+XlZP/l5WT/5eVk/+XlZP/l5WT/5eVk/+XlZP/l5WT/5eV
k/+XlpP/mJaT/5iWlP+Yl5T/mZeU/5mXlf+Zl5X/mZiV/5mYlf+amJb/mZiW/5qYlv+amZb/mpmW/5uZ
l/+bmZf/m5qX/5ual/+bmpf/nJqY/5ual/+NjIn/U1NO/zk5M/85OTP9FxcTgwAAAA0AAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAuLik3ODgy/Dk5M/6HhoP/vbu6/ry6uf6+vLv/vLq5/sLAv//EwsH+xMLB/sTC
wf7Fw8L/xMLB/sTDwf7HxMP/xsTD/sfFw/7Jx8X/yMbG/snHxv7Kycj/ysjH/svJyP7My8r/zMvK/s3L
yv7Pzcz/z8zM/tDPzf/Qzs7+0M/O/tLR0P/S0ND+0tHQ/tTT0v/U0tL+0M7N/m1taP86OjT+NDQw7QUF
BTMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA3NzCPOTkz/llZVP7CwL//vLq5/ry6uf7Ny8v/7+7u/v39
/P/9/f3+/f39/v39/f7+/v7//f39/v39/f7+/v7//f39/v39/f7+/v7//f39/v39/f7+/v7//f39/v39
/f7+/v7//f39/v39/f7+/v7//f39/v7+/v/9/f3+/f39/v7+/v/9/f3+/f39/v7+/v/9/f3+/f39/unp
6P89PTf+OTkz/hMTEXMAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAA4ODO4Ojo0/39+e/++vLv/vry7/87M
y//8/Pz/////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////
//////////////////9fX1r/Ojo0/x4eG5cAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAA4ODK+OTkz/oGB
fv6+vLv/vbu6/vHw8P7//////f39/v/////9/f3+/f39/v39/f7//////f39/v39/f7//////f39/v39
/f7//////f39/v39/f7//////f39/v39/f7//////f39/v39/f7//////f39/v/////9/f3+/f39/v//
///9/f3+/f39/v/////9/f3+/f39/v////9nZ2P+OTkz/h8fHZsAAAADAAAAAAAAAAAAAAAAAAAAAAAA
AAA4ODK+OTkz/oGBfv6+vLv/wsC//vz8/P7//////f39/v/////9/f3+/f39/v39/f7//////f39/v39
/f7//////f39/v39/f7//////f39/v39/f7//////f39/v39/f7//////f39/v39/f7//////f39/v//
///9/f3+/f39/v/////9/f3+/f39/v/////9/f3+/f39/v////9nZ2P+OTkz/h8fHZsAAAADAAAAAAAA
AAAAAAAAAAAAAAAAAAA4ODK+Ojo0/4KCfv++vLv/xMLB//7+/v//////////////////////////////
/////////fz8//79/f/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+
/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7///////////9nZ2P/Ojo0/x8f
HZsAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAA4ODK+OTkz/oGBfv6+vLv/w8HA/v39/f7//////f39/v//
///9/f3+/f39/v39/f7s4dz/pHFW/p5tVP6slIn/tbCt/rWysP62s7H/tbKw/rWysP62s7H/tbKw/rWy
sP62s7H/tbKw/rWysP62s7H/tbKw/razsf+1srD+tbKw/razsf+1srD+tbKw/razsf/T0dD+/f39/v//
//9nZ2P+OTkz/h8fHZsAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAA4ODK+Ojo0/4KCfv++vLv/xMLB//7+
/v////////////////////////////79/f+YXkD/iEgn/4JKKf9wXED/jFEz/5t3Zv+onpn/q6el/6un
pf+rp6X/q6el/6unpf+rp6X/q6el/6unpf+rp6X/q6el/6unpf+rp6X/q6el/6unpf+rp6X/q6el/6un
pf/Oy8r///////////9nZ2P/Ojo0/x8fHZsAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAA4ODK+OTkz/oGB
fv6+vLv/xMLB/v39/f7//////f39/v/////9/f3+/f39/v39/f60iHL/lGRI/oqIdP4Y7vX/FtLU/lh+
af6HSCb/mGpT/sOxqP7e3dv/3t3c/t7d3P7f3t3/3t3c/t7d3P7f3t3/3t3c/t/e3f/e3dz+3t3c/t/e
3f/e3dz+3t3c/t/e3f/r6ur+/f39/v////9nZ2P+OTkz/h8fHZsAAAADAAAAAAAAAAAAAAAAAAAAAAAA
AAA4ODK+OTkz/oKBfv7Avbz/xcPC/v39/f7//////f39/v/////9/f3+/f39/v39/f7Stqn/tpmH/tz8
/f5e+P//A/P9/gDz/f4Z0tH/fFEy/ohCH/6yg2z/+/r5/v39/f7//////f39/v39/f7//////f39/v//
///9/f3+/f39/v/////9/f3+/f39/v/////9/f3+/f39/v////9nZ2P+OTkz/h8fHZsAAAADAAAAAAAA
AAAAAAAAAAAAAAAAAAA4ODK+OTkz/oKBf/7Bvr3/xsTD/v39/f7//////f39/ufm5f/b2tn+29rZ/tva
2f7PxL//m29V/vv9/f62/P//Mvb9/gvk6v5pa1H/iEEe/odBHv6IQR7/tYx5/tva2f7c29r/29rZ/tva
2f7c29r/29rZ/tzb2v/b2tn+29rZ/tzb2v/b2tn+29rZ/tzb2v/q6Oj+/f39/v////9nZ2P+OTkz/h8f
HZsAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAA4ODK+Ojo0/4ODf//CwL7/yMfF//7+/v///////////8TB
wP+rp6X/q6el/6unpf+qpqT/jlQ2//Hx7//0/v//itvX/3pYOf+JQh//iUIf/4lCH/+JQh//iEEe/5t4
Z/+rp6X/q6el/6unpf+rp6X/q6el/6unpf+rp6X/q6el/6unpf+rp6X/q6el/6unpf/Oy8r/////////
//9nZ2P/Ojo0/x8fHZsAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAA4ODK+OTkz/oKCf/7DwcD/yMbG/v39
/f7//////f39/s7My/+4tbP+uLWz/ri1s/65trT/m21W/tDDuf7Vyb//jE4t/pBNJv6NRyL/iEIf/odB
Hv6JQh//h0Ee/ohCH/6ihXj/uLWz/ri1s/65trT/uLWz/rm2tP+4tbP+uLWz/rm2tP+4tbP+uLWz/rm2
tP/V09L+/f39/v////9nZ2P+OTkz/h8fHZsAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAA4ODK+OTkz/oOC
f/7DwsH/ycfG/v39/f7//////f39/v/////9/f3+/f39/v39/f7/////z7Om/pFhRP6LRiP/omU2/qFk
Nf6XVCr/jEYh/ohCH/6JQh//h0Ee/odBHv6MRyX/3Mi//v39/f7//////f39/v/////9/f3+/f39/v//
///9/f3+/f39/v/////9/f3+/f39/v////9nZ2P+OTkz/h8fHZsAAAADAAAAAAAAAAAAAAAAAAAAAAAA
AAA4ODK+Ojo0/4SEgP/Ew8L/y8nI//7+/v//////////////////////////////////////7eLd/4tE
If+5hEv/xpVX/7J6Rf+iYzX/l1Ur/41HIv+JQh//iUIf/4lCH/+JQh//jksp/+fZ0v//////////////
//////////////////////////////////////////////////9nZ2P/Ojo0/x8fHZsAAAADAAAAAAAA
AAAAAAAAAAAAAAAAAAA4ODK+OTkz/oODf/7Fw8P/ysnI/v39/f7//////f39/tfV1P/FwsH+xcLB/sXC
wf7Gw8L/w8C+/pJbPv7LnVz/0qZj/saVWP6yekT/oWM1/pZUK/6NRyH/iEIf/odBHv6JQh//h0Ee/pNU
Nf7v5eH//f39/v/////9/f3+/f39/v/////9/f3+/f39/v/////9/f3+/f39/v////9nZ2P+OTkz/h8f
HZsAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAA4ODK+OTkz/oSDgP7GxMT/zMrJ/v39/f7//////f39/sTB
wP+ppaP+qaWj/qmlo/6rp6X/qaWj/qablv6YXTr/z6Jg/tKlYv7GlVf/r3dD/p9hNP6VUir/ikUh/ohC
H/6JQh//h0Ee/odBHv6bYEL/9O7r/v/////9/f3+/f39/v/////9/f3+/f39/v/////9/f3+/f39/v//
//9nZ2P+OTkz/h8fHZsAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAA4ODK+Ojo0/4WEgf/IxcX/zszL//7+
/v///////////9zb2v/Ny8r/zcvK/83Lyv/Ny8r/zcvK/83Lyv/HurP/oGQ9/9KmYv/SpWH/xJJV/691
Qf+gYTP/lVIp/4tFIf+JQh//iUIf/4lCH/+JQR7/o2xQ//n19P//////////////////////////////
//////////////////9nZ2P/Ojo0/x8fHZsAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAA4ODK+OTkz/oSE
gP7JxsX/zszL/v39/f7//////f39/v/////9/f3+/f39/v39/f7//////f39/v39/f7/////4dDI/p9i
OP7UqWT/0KRh/sORVf6udUH/n2Ez/pRSKf6LRSD/iEIe/odBHv6JQh//h0Ee/qx6Yv/7+vn+/f39/v//
///9/f3+/f39/v/////9/f3+/f39/v////9nZ2P+OTkz/h8fHZsAAAADAAAAAAAAAAAAAAAAAAAAAAAA
AAA4ODK+OTkz/oWEgP7KyMb/zs3M/v39/f7//////f39/v7+/v/9/f3+/f39/v39/f7+/v7//f39/v39
/f7+/v7//f39/tfAtf6iZDf/1qxn/tGkYf7EklX/rXRA/p9iM/6VUin/ikUh/odCH/6JQh//h0Ee/ohB
Hv+2jHj+/Pz8/v7+/v/9/f3+/f39/v/////9/f3+/f39/v////9nZ2P+OTkz/h8fHZsAAAADAAAAAAAA
AAAAAAAAAAAAAAAAAAA4ODK+Ojo0/4aFgv/Lycj/0M/O//7+/v///////////8jFxP+wrKr/sKyq/6+r
qf/z8/P///////////+8ubf/sKyq/7Csq/+efm//p2s7/9iuZ//RpGH/w5FU/6xyP/+eXzL/k1Ao/4pE
IP+JQh//iUIf/4lCH/+IQR7/n3po//X09P////////////////////////////////9nZ2P/Ojo0/x8f
HZsAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAA4ODK+OTkz/oWFgf7My8r/0c/O/v39/f7//////f39/sTB
wP+ppaP+qaWj/qmlo/7z8vL//f39/v39/f64tLP/qaWj/qmlo/6rp6X/mHNg/qx0Qf7Yrmj/z6Jh/sGO
U/6rcD7/nV4x/pJQKP6KRCD/iEEe/olCH/+HQR7+iEIf/s+0pv/9/f3+/f39/v/////9/f3+/f39/v//
//9nZ2P+OTkz/h8fHZsAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAA4ODK+OTkz/oWFgv7Ny8v/0dDP/v39
/f7//////f39/uzr6//j4uH+4+Lh/uPi4f77+/v//f39/v39/f7o5+f/4+Lh/uPi4f7k4+L/4+Hh/rKF
cP61f0j/161o/s+iYP7BjVL/qnA9/p1fMv6TTyj/iUQg/olCH/+HQR7+h0Ee/otFI//bx7z+/f39/v//
///9/f3+/f39/v////9nZ2P+OTkz/h8fHZsAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAA4ODK+Ojo0/4eG
g//OzMz/09LR//7+/v//////////////////////////////////////////////////////////////
//////////////z7+v+reV//uoVM/9iuaP/Qo2D/wI1R/6twPf+eXjL/k1Ao/4pEIP+JQh//iUIf/4lC
H/+OSin/5NTM//////////////////////9nZ2P/Ojo0/x8fHZsAAAADAAAAAAAAAAAAAAAAAAAAAAAA
AAA4ODK+OTkz/oaFgv7Pzc3/1NLR/v39/f7/////+fn5/u3s6//s6+r+7Ovq/uzr6v7t7Ov/7Ovq/uzr
6v7t7Ov/7u7t/v39/f7//////f39/v39/f749PL/oWpO/sCNUv7Xrmf/zqFf/r6LUP6obDv/m1ww/pJO
Jv+JQx/+h0Ee/olCH/+HQR7+kVEx/uzh3P/9/f3+/f39/v////9nZ2P+OTkz/h8fHZsAAAADAAAAAAAA
AAAAAAAAAAAAAAAAAAA4ODK+OTkz/oeGgv7Rzs7/1dPS/v39/f7/////6uno/qqmpP+ppaP+qaWj/qml
o/6qpqT/qaWj/qmlo/6qpqT/trKx/v39/f7//////f39/v39/f7/////8uvn/pldPf7Gllj/16xn/s6h
YP6+ik//p2w7/p1cMP+RTSb+iEMf/olCH/+HQR7+ikUg/ptfPv/z7er+/f39/v////9nZ2P+OTkz/h8f
HZsAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAA4ODK+Ojo0/4iHhP/S0M//19XU//7+/v//////6+rp/6qm
pP+rp6X/q6el/6unpf+rp6X/q6el/6unpf+rp6X/t7Sy/////////////////////////////////+3i
3f+XVzX/zJ1c/9itZ//OoF//vIhN/6hsO/+cXDD/kk0n/4pDIP+OSSL/mVgs/4pYPP+Yb17/+PTy////
//9nZ2P/Ojo0/x8fHZsAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAA4ODK+OTkz/oeHg/7T0dD/1tXV/v39
/f7/////6uno/qqmpP+qpqT+sq+t/rKvrf6zsK7/sq+t/q+sqv6rp6X/trOx/v39/f7//////f39/v39
/f7//////f39/v39/f7k1Mz/llYx/s+hYP7YrWf/zZ9e/ruHTf+mazr+m1ww/p5eLf+tczX+j25P/jCD
z/8zeb3+pH1s/vv6+f9nZ2P+OTkz/h8fHZsAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAA4ODK+Ojo0/4iI
hf/T0tH/2NfW//7+/v//////6+rp/6qmpP+uqqn//f39//7+/v/+/v7//v7+/+Hg3/+rp6X/t7Sy////
////////////////////////////////////////3Me8/5ZULf/UqWT/16xm/86fXv+5hEv/uoVI/8mZ
TP+Th2r/J4fd/x2I6f8ciOn/OnWy/7WNev9oaGP/Ojo0/x8fHZsAAAADAAAAAAAAAAAAAAAAAAAAAAAA
AAA4ODK+OTkz/oeHhP7U09L/2NfW/v39/f7/////6uno/qqmpP+tqaj+/Pz8/v39/f7//////f39/uDf
3v6rp6X/trOx/v39/f7//////f39/v39/f7//////f39/v39/f7//////f39/tC0p/6ZVy7/1apm/tes
Zv/atG7+4b5u/o2qk/8ek+f+HIno/h2I6f8chuf+HIfo/lBlh/9fQzL+OTkz/h8fHZsAAAADAAAAAAAA
AAAAAAAAAAAAAAAAAAA4ODK+OTkz/oiHhP7V1NP/2djX/v39/f7/////6uno/qqmpP+tqaj+/Pz8/v39
/f7//////f39/uDf3v6rp6X/trOx/v39/f7//////f39/v39/f7//////f39/v39/f7//////f39/v39
/f7Dn47/m1ww/uPCgf/ozYn+fce1/hm47f8Zpev+G5bq/hyJ6f8chuf+HIbn/iGF4f97RCz+PDoz/h8f
HZsAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAA4ODK+Ojo0/4mJhf/W1dT/29rZ//7+/v//////6+rp/6qm
pP+uqqj/7u3t/+/u7v/v7u7/7+7u/9jW1f+rp6X/t7Sy////////////////////////////////////
///////////////////+/f3/t4x3/6VrQP9r2Mb/a+j2/9Dy+/9KxfH/Gajs/xuX6/8ci+n/HYjp/xyI
6f9rVVb/Sjsv/x8fHZsAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAA4ODK+OTkz/oiIhf7X1tX/29nZ/v39
/f7/////6uno/qqmpP+ppaP+qaWj/qmlo/6qpqT/qaWj/qmlo/6rp6X/trOx/v39/f7//////f39/v39
/f7//////f39/v39/f7//////f39/v39/f7/////+/n5/qx6Yf9re2X+MeTu/u/9/v/2/P3+Zc7y/hmp
7f8amer+HIrp/iCF4/91TkL+STsv/h8fHZsAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAA4ODK+OTkz/oiI
hf7Y19b/3Nva/v39/f7/////6uno/qqmpP+qpqT+qqak/qqmpP6rp6X/qqak/qqmpP6rp6X/t7Oy/v39
/f7//////f39/v39/f7//////f39/v39/f7//////f39/v39/f7//////f39/vn29f+jbVL+XIN1/lbq
8//g+vz+x/L7/i3B8P8Zq+z+JJLY/m9TT/9rQiv+Ojoz/h8fHZsAAAADAAAAAAAAAAAAAAAAAAAAAAAA
AAA4ODK+Ojo0/4qJhv/a2Nf/3t3c//7+/v///////Pz8//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz
8//z8/P/9fT0//7+/v//////////////////////////////////////////////////////////////
///17+z/ml0//1iIev8u5vL/dOz3/zLT8f8qqMv/elE8/8ajkv9nZ2L/Ojo0/x8fHZsAAAADAAAAAAAA
AAAAAAAAAAAAAAAAAAA4ODK+OTkz/omJhf7b2tn/3t3c/v39/f7//////f39/v/////9/f3+/f39/v39
/f7//////f39/v39/f7//////f39/v39/f7//////f39/v39/f7//////f39/v39/f7//////f39/v39
/f7//////f39/v/////9/f3+8enm/qBmSv9uZlD+N62x/jyiqP+EUDP+0rir/v////9nZ2P+OTkz/h8f
HZsAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAA4ODK+OTkz/omJhv7c29r/397e/v39/f7//////f39/v//
///9/f3+/f39/v39/f7//////f39/v39/f7//////f39/v39/f7//////f39/v39/f7//////f39/v39
/f7//////f39/v39/f7//////f39/v/////9/f3+/f39/vr39v/HppX+oGdL/qBmSf/ey8H+/f39/v//
//9nZ2P+OTkz/h8fHZsAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAA4ODK+Ojo0/4uKh//d3Nv/4eDg//7+
/v//////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////v7+//7+
/v////////////////9nZ2P/Ojo0/x8fHZsAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAA4ODK5OTkz/oeG
g/7e3dz/4eDf/v39/f7//////f39/v/////9/f3+/f39/v39/f7//////f39/v39/f7//////f39/v39
/f7//////f39/v39/f7//////f39/v39/f7//////f39/v39/f7//////f39/v/////9/f3+/f39/v//
///9/f3+/f39/v/////9/f3+/f39/v////9gYFz+OTkz/h8fG5MAAAABAAAAAAAAAAAAAAAAAAAAAAAA
AAA5OTKTOTkz/mBgW/7h4N//4eDg/v39/f7//////f39/v/////9/f3+/f39/v39/f7//////f39/v39
/f7//////f39/v39/f7//////f39/v39/f7//////f39/v39/f7//////f39/v39/f7//////f39/v//
///9/f3+/f39/v/////9/f3+/f39/v/////9/f3+/f39/u7u7v9AQDv+OTkz/hsbGWYAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAA4ODM7OTkz/Dk5M/+XlpP/4uHg//v7+///////////////////////////////
////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////+Pj3/3V1cf85OTP/NjYx7R8f
HxgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOTkymzk5M/45OTP/YmJe/p2dmv6trav/rq6s/q+v
rf+urqz+rq6s/q6urP6vr63/rq6s/q6urP6vr63/rq6s/q6urP6vr63/rq6s/q6urP6vr63/rq6s/q6u
rP6vr63/rq6s/q6urP6vr63/rq6s/q+vrf+urqz+rq6s/q+vrf+urqz+rq6s/qysqv+WlpP+UlJN/jk5
M/84ODL8LS0qZQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAODg4CTk5Mps6OjT+OTkz/jk5
M/46OjT/OTkz/jo6NP85OTP+OTkz/jk5M/46OjT/OTkz/jk5M/46OjT/OTkz/jk5M/46OjT/OTkz/jk5
M/46OjT/OTkz/jk5M/46OjT/OTkz/jk5M/46OjT/OTkz/jo6NP85OTP+OTkz/jo6NP85OTP+OTkz/jo6
NP85OTP+OTkz/jg4Mvc1NTBuAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAE5OTJCOTkznzg4M9A6OjPfOTky3jk5M945OTLeOTky3jk5Mt45OTPeOTky3jk5Mt45OTPeOTky3jk5
Mt45OTPeOTky3jk5Mt45OTPeOTky3jk5Mt45OTPeOTky3jk5Mt45OTPeOTky3jk5M945OTLeOTky3jk5
M945OTLeOTky3jo6M985OTLIOTkyjTU1LiYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD+AAAAAD8AAPgA
AAAAHwAA8AAAAAAPAADgAAAAAAcAAOAAAAAABwAA4AAAAAADAADgAAAAAAMAAOAAAAAAAwAA4AAAAAAD
AADgAAAAAAMAAOAAAAAAAwAA4AAAAAADAADgAAAAAAMAAOAAAAAAAwAA4AAAAAADAADgAAAAAAMAAOAA
AAAAAwAA4AAAAAADAADgAAAAAAMAAOAAAAAAAwAA4AAAAAADAADgAAAAAAMAAOAAAAAAAwAA4AAAAAAD
AADgAAAAAAMAAOAAAAAAAwAA4AAAAAADAADgAAAAAAMAAOAAAAAAAwAA4AAAAAADAADgAAAAAAMAAOAA
AAAAAwAA4AAAAAADAADgAAAAAAMAAOAAAAAAAwAA4AAAAAADAADgAAAAAAMAAOAAAAAAAwAA4AAAAAAD
AADgAAAAAAMAAOAAAAAAAwAA4AAAAAADAADgAAAAAAMAAOAAAAAABwAA4AAAAAAHAADwAAAAAA8AAPAA
AAAADwAA+AAAAAA/AAAoAAAAIAAAAEAAAAABACAAAAAAAIAlAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAABMTEw0QEAw/EhIPUhISD1ISEg9SEhIPUhISD1ISEg9SEhIPUhISD1ISEg9SEhIPUhIS
D1ISEg9SEhIPUhISD1ISEg9SEhIPUhISD1ISEg9SEhIPUhISD1IMDAw/AAAAFQAAAAEAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAcHBlQMjIu4zo6NP86OjT/Ojo0/zo6NP86OjT/Ojo0/zo6NP86OjT/Ojo0/zo6
NP86OjT/Ojo0/zo6NP86OjT/Ojo0/zo6NP86OjT/Ojo0/zo6NP86OjT/Ojo0/zo6NP8vLyrZDAwMUQAA
AAMAAAAAAAAAAAAAAAAAAAAAKCgjMzc3M/hTU07/k5KP/6SioP+koqD/pKKg/6SioP+koqD/pKKg/6Wj
of+mo6H/pqSi/6elo/+npqT/qKak/6inpf+pp6X/qqim/6qpp/+rqqj/q6qo/6yrqf+sq6n/m5mX/05O
SP81NTDvCgoKMwAAAAAAAAAAAAAAAAAAAAA2NjCnR0dC/7y6uf++vLv/zs3M/+jn5//t7ez/7e3s/+3t
7P/t7ez/7u3t/+7t7f/u7u7/7+7u/+/v7v/v7+//8O/v//Dw7//w8PD/8fDw//Hx8P/x8fD/8vHx//Lx
8f/y8vH/2NjX/zs7Nf8eHhuWAAAAAAAAAAAAAAAAAAAAADk5M9FpaGT/vbu6/8/Nzf/+/v3/////////
////////////////////////////////////////////////////////////////////////////////
////////////////////////VVVP/ycnI7sAAAACAAAAAAAAAAAAAAAAODgy1GpqZf++vLv/6ejo////
////////////////////////////////////////////////////////////////////////////////
//////////////////////////////////9YWFP/KCgkvAAAAAIAAAAAAAAAAAAAAAA4ODLUampl/768
u//t7Oz///////////////////////v6+f/j1c7/6unp/+rp6f/q6en/6unp/+rp6f/q6en/6unp/+rp
6f/q6en/6unp/+rp6f/q6en/6unp/+rp6f/29vb//////1hYU/8oKCS8AAAAAgAAAAAAAAAAAAAAADg4
MtRqamX/vry7/+3s7P/////////////////+/v7/om5T/4VGJP+EYkn/noBy/6mjn/+rp6X/q6el/6un
pf+rp6X/q6el/6unpf+rp6X/q6el/6unpf+rp6X/q6el/97c2///////WFhT/ygoJLwAAAACAAAAAAAA
AAAAAAAAODgy1GpqZf+/vLv/7ezs//////////////////////+winX/pJ2M/xzv9/8vtK3/c2dN/6iA
bP/e1tL/6uno/+rp6P/q6ej/6uno/+rp6P/q6ej/6uno/+rp6P/q6ej/9vb2//////9YWFP/KCgkvAAA
AAIAAAAAAAAAAAAAAAA4ODLUampm/8G+vf/u7ez///////Tz8//o5+b/6Ofm/7mYh//l5uL/f/r//wju
9v9afmn/iUEe/5xhRP/l4N3/6Ofm/+jn5v/o5+b/6Ofm/+jn5v/o5+b/6Ofm/+jn5v/29fX//////1hY
U/8oKCS8AAAAAgAAAAAAAAAAAAAAADg4MtRramb/wsC//+7u7f//////2NbV/6unpf+rp6X/o5GI/8my
pP/Z7On/fGhN/4lCH/+JQh//iUIf/5FaP/+po6D/q6el/6unpf+rp6X/q6el/6unpf+rp6X/q6el/97c
2///////WFhT/ygoJLwAAAACAAAAAAAAAAAAAAAAODgy1GtrZv/DwcH/7u7u///////29vX/7Ovr/+zr
6//r6ej/oXNa/5hePP+eXzL/kk0m/4lCH/+JQh//iUIf/6JxWv/r6en/7Ovr/+zr6//s6+v/7Ovr/+zr
6//s6+v/9/f3//////9YWFP/KCgkvAAAAAIAAAAAAAAAAAAAAAA4ODLUa2tn/8XDwv/v7u7///////r6
+v/19fX/9fX1//X19f+odVr/xpZX/7yITv+iZDb/kk0m/4lCH/+JQh//iUIf/7qRff/+/v7/////////
/////////////////////////////1hYU/8oKCS8AAAAAgAAAAAAAAAAAAAAADg4MtRsa2f/xsTE/+/v
7///////19XV/6qmpP+qpqT/qqak/6STi/+zfkv/0qZi/7yHTf+hYzX/kUwl/4lCH/+JQh//iEEe/8em
lv//////////////////////////////////////WFhT/ygoJLwAAAACAAAAAAAAAAAAAAAAODgy1Gxr
Z//IxsX/8O/v///////v7+7/3tzb/97c2//e3Nv/3tzb/8+7sf+6hk7/0aRh/7mES/+gYTT/kEsl/4lC
H/+JQh//iUIf/9O5rP////////////////////////////////9YWFP/KCgkvAAAAAIAAAAAAAAAAAAA
AAA4ODLUbGxn/8rIx//w8O////////7+/v/+/v7//v7+//7+/v///////v7+/9S7rv++ilD/0aRh/7mE
S/+gYTP/kEwl/4lCH/+JQh//i0Uj/97KwP/+/v7//////////////////////1hYU/8oKCS8AAAAAgAA
AAAAAAAAAAAAADg4MtRsbGj/y8rJ//Hw8P//////2dfX/66qqP+uqqj/9/f2//////+2s7H/rqqo/518
av/EklX/0KNh/7eBSf+eXzL/j0ok/4lCH/+JQh//i0gm/9XHv///////////////////////WFhT/ygo
JLwAAAACAAAAAAAAAAAAAAAAODgy1G1saP/Ny8r/8fHw///////p6Oj/0c/O/9HOzf/6+vr//////9bU
0//Rz87/0c/O/7WOeP/JmVr/0KJf/7Z/SP+eXzL/j0kk/4lCH/+JQh//lFQ0/+/m4v//////////////
//9YWFP/KCgkvAAAAAIAAAAAAAAAAAAAAAA4ODLUbW1o/87NzP/y8fH/////////////////////////
/////////////////////////v39/7aJb//Nn13/z6Jf/7V+R/+dXjH/jkkj/4lCH/+JQh//ml5A//Xv
7P///////////1hYU/8oKCS8AAAAAgAAAAAAAAAAAAAAADg4MtRtbWn/0c7N//Ly8f//////xsPC/7q3
tf+6t7X/ure1/7q3tf+6t7X/7+7u////////////+/n4/658Xf/QpGH/z6Ff/7N7Rf+dXDD/jUgi/4lC
H/+IQR//pG1Q//r39v//////WFhT/ygoJLwAAAACAAAAAAAAAAAAAAAAODgy1G5taf/S0M//8/Ly////
//+5trT/q6el/6unpf+rp6X/q6el/6unpf/r6ur/////////////////9/Lw/6p0Uf/UqGT/zZ9e/7F5
RP+cXDD/jkgj/5pYKv9/YVL/moeG//38/P9YWFP/KCgkvAAAAAIAAAAAAAAAAAAAAAA4ODLUbm5p/9PS
0f/z8/L//////7m2tP/Avbz/6Ofn/+jn5//a2Nf/q6el/+vq6v//////////////////////8enl/6hw
Sf/Wq2b/zZ5d/7J5RP+8h0T/hoFw/yOH4f8ngNT/q5aR/1hYU/8oKCS8AAAAAgAAAAAAAAAAAAAAADg4
MtRubmr/1dPT//Pz8///////uba0/8jGxP///////////+vq6v+rp6X/6+rq////////////////////
////////6t7Y/6dtQv/ZsGv/4sB2/4WzoP8cler/HIjp/x2I6f81d7n/WD8v/ygoJLwAAAACAAAAAAAA
AAAAAAAAODgy1G5uav/W1dT/9PPz//////+5trT/xcLA//T08//09PP/4+Lh/6unpf/r6ur/////////
////////////////////////4c/G/653TP901sL/j+L3/y+27/8bl+v/HInp/xyI6f9mSkH/KCgkvAAA
AAIAAAAAAAAAAAAAAAA4ODLUb29q/9jW1v/09PT//////7m2tP+qpqT/qqak/6qmpP+qpqT/q6el/+vq
6v//////////////////////////////////////1r6y/2GGdP+c8/j/4fb9/zG47/8amuv/K4DO/2pF
NP8oKCS8AAAAAgAAAAAAAAAAAAAAADg4MtRvb2v/2tjX//X09P//////4eDf/9va2f/b2tn/29rZ/9va
2f/b2tn/9vb2////////////////////////////////////////////y6yd/1iLff9x7vb/U9rz/zOZ
vP+bdGL/VVBI/ygoJLwAAAACAAAAAAAAAAAAAAAAODgy1G9va//b2tn/9fX1////////////////////
////////////////////////////////////////////////////////////////////////za+g/3Fv
Wv9Thn//rINu//v49/9YWFP/KCgkvAAAAAIAAAAAAAAAAAAAAAA4ODLUb29r/93c2//19fX/////////
////////////////////////////////////////////////////////////////////////////////
////////9vDt/+XWzv/+/f3//////1hYU/8oKCS8AAAAAgAAAAAAAAAAAAAAADk5M8xpaWX/3t3d//b2
9f//////////////////////////////////////////////////////////////////////////////
///////////////////////////////////+/v7/Tk5J/yYmIrEAAAAAAAAAAAAAAAAAAAAAODgziz09
OP/AwL7/9PPz////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////7e3tf85OTP/JiYhagAAAAAAAAAAAAAAAAAA
AAA1NTUTOTkz2T09N/91dHD/h4eD/4iIhP+IiIT/iIiE/4iIhP+IiIT/iIiE/4iIhP+IiIT/iIiE/4iI
hP+IiIT/iIiE/4iIhP+IiIT/iIiE/4iIhP+IiIT/iIiE/4eHg/9tbWn/Ozs1/zY2McAqKioGAAAAAAAA
AAAAAAAAAAAAAAAAAAA1NTUTOjo0kTk5M9k6OjTpOjo06To6NOk6OjTpOjo06To6NOk6OjTpOjo06To6
NOk6OjTpOjo06To6NOk6OjTpOjo06To6NOk6OjTpOjo06To6NOk6OjTpOjo06Tk5MtI5OTJ9Pz8/CAAA
AAAAAAAAAAAAAPAAAAfgAAADwAAAA8AAAAPAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAA
AAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAA
AAHAAAADwAAAA8AAAAPgAAAHKAAAABAAAAAgAAAAAQAgAAAAAACAJQAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAMDAwUIiIdiyUlIaglJSGoJSUhqCUlIaglJSGoJSUhqCUlIaglJSGoJSUhqCUlIagdHRuLAAAAFQAA
AAAAAAAAODgytJiXlP+/vr3/ycfG/8nHxv/KyMf/y8nI/8vKyf/My8r/zczL/87NzP/Pzs3/rayq/yYm
Ia4AAAAAAAAAAFFRS+jNy8r//v7+////////////////////////////////////////////////////
//8/PzrdAAAAAQAAAABSUkvp1dTT///////+/v7/waGQ/72to//Kx8X/ysjH/8rIx//KyMf/ysjH/8rI
x//09PT/Pz873QAAAAEAAAAAUlJL6dfV1P/8/Pz/8/Py/72pm/814+b/f2pQ/9LAt//p6Of/6ejn/+no
5//p6Of/+vr6/z8/O90AAAABAAAAAFJSTOnY19f/8/Ly/8vJyP++qJv/o4Rp/4tFIf+LSCf/uKmi/8vJ
yP/Lycj/y8nI//X09P8/PzvdAAAAAQAAAABSUkzp2tnZ//Tz8//Qzcz/u6mf/8KQVf+kZzf/i0Qg/5VV
Nv/x6OT/////////////////Pz873QAAAAEAAAAAU1JM6dzb2v/7+vr/7u3t/+7t7f/Xvqv/xpZX/6Jk
Nv+KRCD/nGBD//bx7////////////z8/O90AAAABAAAAAFNTTenf3t3/8O/v/7+8u//8+/v/w8C//7qb
gf/ImFn/oGE0/4pEIP+faU7/+/j3//////8/PzvdAAAAAQAAAABTU03p4d/f//Dw7//c29r/3Nva/+no
6P/+/v7/y6eI/8mZWf+fXzL/ikMg/69/Z//9/fz/Pz873QAAAAEAAAAAVFNN6ePi4f/c2tn/v7y7/8bD
wv/LyMf///////37+//GnXn/yJhZ/6ZpN/9xcHP/mqa6/z8/O90AAAABAAAAAFRUTunk5OP/3NrZ/+De
3v/w8O//y8jH////////////+fb1/8SZcP+by7T/IZvr/yOE3f9ENy7dAAAAAQAAAABUVE7p5+bl/+bl
5P/DwL7/w8C+/9rY1//////////////////07uv/iKyi/3Xd9f9Firb/RDgw3QAAAAEAAAAAVFRO6eno
6P////////////////////////////////////////////Lr5/+or6X/6d7Y/z8/O90AAAABAAAAAEVF
QNXi4eH//////////////////////////////////////////////////////+3t7P80NC/GAAAAAAAA
AAA3NzNASEhD2mBgW/RhYVv0YWFb9GFhW/RhYVv0YWFb9GFhW/RhYVv0YWFb9GBgW/RGRkHTMjItMwAA
AACAAQAAgAEAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAB
AACAAQAA
</value>
</data>
</root>

View File

@ -0,0 +1,99 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="14.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProjectGuid>{62B4524D-A1CB-4CB1-AC9F-E841783F45A4}</ProjectGuid>
<OutputType>WinExe</OutputType>
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>GenerateStringBuilder</RootNamespace>
<AssemblyName>GenerateStringBuilder</AssemblyName>
<TargetFrameworkVersion>v4.5.2</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<PlatformTarget>AnyCPU</PlatformTarget>
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<OutputPath>bin\Debug\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<PlatformTarget>AnyCPU</PlatformTarget>
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
<OutputPath>bin\Release\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<PropertyGroup>
<ApplicationIcon>006 %284%29.ico</ApplicationIcon>
</PropertyGroup>
<PropertyGroup>
<StartupObject>GenerateStringBuilder.Program</StartupObject>
</PropertyGroup>
<ItemGroup>
<Reference Include="System" />
<Reference Include="System.Core" />
<Reference Include="System.Xml.Linq" />
<Reference Include="System.Data.DataSetExtensions" />
<Reference Include="Microsoft.CSharp" />
<Reference Include="System.Data" />
<Reference Include="System.Deployment" />
<Reference Include="System.Drawing" />
<Reference Include="System.Net.Http" />
<Reference Include="System.Windows.Forms" />
<Reference Include="System.Xml" />
</ItemGroup>
<ItemGroup>
<Compile Include="Form1.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="Form1.Designer.cs">
<DependentUpon>Form1.cs</DependentUpon>
</Compile>
<Compile Include="Program.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
<EmbeddedResource Include="Form1.resx">
<DependentUpon>Form1.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="Properties\Resources.resx">
<Generator>ResXFileCodeGenerator</Generator>
<LastGenOutput>Resources.Designer.cs</LastGenOutput>
<SubType>Designer</SubType>
</EmbeddedResource>
<Compile Include="Properties\Resources.Designer.cs">
<AutoGen>True</AutoGen>
<DependentUpon>Resources.resx</DependentUpon>
</Compile>
<None Include="Properties\Settings.settings">
<Generator>SettingsSingleFileGenerator</Generator>
<LastGenOutput>Settings.Designer.cs</LastGenOutput>
</None>
<Compile Include="Properties\Settings.Designer.cs">
<AutoGen>True</AutoGen>
<DependentUpon>Settings.settings</DependentUpon>
<DesignTimeSharedInput>True</DesignTimeSharedInput>
</Compile>
</ItemGroup>
<ItemGroup>
<None Include="App.config" />
</ItemGroup>
<ItemGroup>
<Content Include="006 %284%29.ico" />
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
Other similar extension points exist, see Microsoft.Common.targets.
<Target Name="BeforeBuild">
</Target>
<Target Name="AfterBuild">
</Target>
-->
</Project>

View File

@ -0,0 +1,22 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace GenerateStringBuilder
{
static class Program
{
/// <summary>
/// 應用程式的主要進入點。
/// </summary>
[STAThread]
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new Form1());
}
}
}

View File

@ -0,0 +1,36 @@
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
// 組件的一般資訊是由下列的屬性集控制。
// 變更這些屬性的值即可修改組件的相關
// 資訊。
[assembly: AssemblyTitle("GenerateStringBuilder")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("")]
[assembly: AssemblyProduct("GenerateStringBuilder")]
[assembly: AssemblyCopyright("Copyright © 2016")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]
// 將 ComVisible 設定為 false 會使得這個組件中的類型
// 對 COM 元件而言為不可見。如果您需要從 COM 存取這個組件中
// 的類型,請在該類型上將 ComVisible 屬性設定為 true。
[assembly: ComVisible(false)]
// 下列 GUID 為專案公開 (Expose) 至 COM 時所要使用的 typelib ID
[assembly: Guid("62b4524d-a1cb-4cb1-ac9f-e841783f45a4")]
// 組件的版本資訊由下列四個值所組成:
//
// 主要版本
// 次要版本
// 組建編號
// 修訂編號
//
// 您可以指定所有的值,也可以依照以下的方式,使用 '*' 將組建和修訂編號
// 指定為預設值:
// [assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("1.0.0.10")]
[assembly: AssemblyFileVersion("1.0.0.10")]

View File

@ -0,0 +1,71 @@
//------------------------------------------------------------------------------
// <auto-generated>
// 這段程式碼是由工具產生的。
// 執行階段版本:4.0.30319.42000
//
// 變更這個檔案可能會導致不正確的行為,而且如果已重新產生
// 程式碼,則會遺失變更。
// </auto-generated>
//------------------------------------------------------------------------------
namespace GenerateStringBuilder.Properties
{
/// <summary>
/// 用於查詢當地語系化字串等的強類型資源類別
/// </summary>
// 這個類別是自動產生的,是利用 StronglyTypedResourceBuilder
// 類別透過 ResGen 或 Visual Studio 這類工具產生。
// 若要加入或移除成員,請編輯您的 .ResX 檔,然後重新執行 ResGen
// (利用 /str 選項),或重建您的 VS 專案。
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
internal class Resources
{
private static global::System.Resources.ResourceManager resourceMan;
private static global::System.Globalization.CultureInfo resourceCulture;
[global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
internal Resources()
{
}
/// <summary>
/// 傳回這個類別使用的快取的 ResourceManager 執行個體。
/// </summary>
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
internal static global::System.Resources.ResourceManager ResourceManager
{
get
{
if ((resourceMan == null))
{
global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("GenerateStringBuilder.Properties.Resources", typeof(Resources).Assembly);
resourceMan = temp;
}
return resourceMan;
}
}
/// <summary>
/// 覆寫目前執行緒的 CurrentUICulture 屬性,對象是所有
/// 使用這個強類型資源類別的資源查閱。
/// </summary>
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
internal static global::System.Globalization.CultureInfo Culture
{
get
{
return resourceCulture;
}
set
{
resourceCulture = value;
}
}
}
}

View File

@ -0,0 +1,117 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
</root>

View File

@ -0,0 +1,30 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
// Runtime Version:4.0.30319.42000
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
namespace GenerateStringBuilder.Properties
{
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "11.0.0.0")]
internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase
{
private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings())));
public static Settings Default
{
get
{
return defaultInstance;
}
}
}
}

View File

@ -0,0 +1,7 @@
<?xml version='1.0' encoding='utf-8'?>
<SettingsFile xmlns="http://schemas.microsoft.com/VisualStudio/2004/01/settings" CurrentProfile="(Default)">
<Profiles>
<Profile Name="(Default)" />
</Profiles>
<Settings />
</SettingsFile>

View File

@ -1,2 +0,0 @@
# GenerateStringBuilder

1
瘦身.bat Normal file
View File

@ -0,0 +1 @@
start for /d /r . %%d in (bin,obj, ClientBin,Generated_Code) do @if exist "%%d" rd /s /q "%%d"