Marked as 'AdvertsingProfitControl v 0.9.5' by its folder name. Renamed some database class files, and added a new form to modify existing records.

This commit is contained in:
2021-01-28 19:56:28 -06:00
parent 4c01f4ba46
commit 665f4784e4
74 changed files with 65336 additions and 306 deletions
+6
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>
+107
View File
@@ -0,0 +1,107 @@
namespace StringInputParseTester
{
partial class Form1
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Clean up any resources being used.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Windows Form Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
this.inputTextBox = new System.Windows.Forms.TextBox();
this.outputTextBox = new System.Windows.Forms.TextBox();
this.label1 = new System.Windows.Forms.Label();
this.label2 = new System.Windows.Forms.Label();
this.richTextBoxOutput = new System.Windows.Forms.RichTextBox();
this.SuspendLayout();
//
// inputTextBox
//
this.inputTextBox.Location = new System.Drawing.Point(22, 79);
this.inputTextBox.Margin = new System.Windows.Forms.Padding(6);
this.inputTextBox.Name = "inputTextBox";
this.inputTextBox.Size = new System.Drawing.Size(473, 29);
this.inputTextBox.TabIndex = 0;
//
// outputTextBox
//
this.outputTextBox.Location = new System.Drawing.Point(22, 220);
this.outputTextBox.Margin = new System.Windows.Forms.Padding(6);
this.outputTextBox.Name = "outputTextBox";
this.outputTextBox.Size = new System.Drawing.Size(473, 29);
this.outputTextBox.TabIndex = 1;
//
// label1
//
this.label1.AutoSize = true;
this.label1.Location = new System.Drawing.Point(22, 291);
this.label1.Name = "label1";
this.label1.Size = new System.Drawing.Size(64, 25);
this.label1.TabIndex = 2;
this.label1.Text = "label1";
//
// label2
//
this.label2.AutoSize = true;
this.label2.Location = new System.Drawing.Point(12, 448);
this.label2.Name = "label2";
this.label2.Size = new System.Drawing.Size(64, 25);
this.label2.TabIndex = 3;
this.label2.Text = "label2";
//
// richTextBoxOutput
//
this.richTextBoxOutput.Location = new System.Drawing.Point(22, 173);
this.richTextBoxOutput.Name = "richTextBoxOutput";
this.richTextBoxOutput.Size = new System.Drawing.Size(473, 49);
this.richTextBoxOutput.TabIndex = 4;
this.richTextBoxOutput.Text = "";
//
// Form1
//
this.AutoScaleDimensions = new System.Drawing.SizeF(11F, 24F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(521, 482);
this.Controls.Add(this.richTextBoxOutput);
this.Controls.Add(this.label2);
this.Controls.Add(this.label1);
this.Controls.Add(this.outputTextBox);
this.Controls.Add(this.inputTextBox);
this.Margin = new System.Windows.Forms.Padding(6);
this.Name = "Form1";
this.Text = "Form1";
this.ResumeLayout(false);
this.PerformLayout();
}
#endregion
private System.Windows.Forms.TextBox inputTextBox;
private System.Windows.Forms.TextBox outputTextBox;
private System.Windows.Forms.Label label1;
private System.Windows.Forms.Label label2;
private System.Windows.Forms.RichTextBox richTextBoxOutput;
}
}
+339
View File
@@ -0,0 +1,339 @@
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 StringInputParseTester
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
inputTextBox.Leave += ExecuteParserCode;
}
private string CapitalizeFirstLetter(string word)
{
if (string.IsNullOrEmpty(word)) return string.Empty;
return word.First().ToString().ToUpperInvariant() + string.Join("", word.Skip(1));
}
private void ExecuteParserCode(object sender, EventArgs e)
{
var adItemText = inputTextBox.Text.Trim();
//var splitInput = inputTextBox.Text.Split((char[])null, StringSplitOptions.RemoveEmptyEntries);
var isInsideBrackets = false;
var isPreviousCharWhiteSpace = false;
//preserveAcronyms
var preserveAcronyms = true;
var cleanedInputString = "";
var lastnumberStartingIndex = -1;
//Create an array of brackets to test for, and either balance out or simply ignore.
char[] openBrackets = {'(', '<', '{', '['};
char[] closedBrackets = {')', '>', '}', ']'};
for (var currentCharacter = 0; currentCharacter < adItemText.Length; currentCharacter++)
{
//Capitalize the first character in the string and move to the next character.
if (currentCharacter == 0)
{
cleanedInputString += char.ToUpperInvariant(adItemText[0]);
continue;
}
//IF the current character is a whitespace character, mark it as such, add to the temporary string, and move on to the next.
if (char.IsWhiteSpace(adItemText[currentCharacter]))
{
//Check for more then one space in a row.
if (isPreviousCharWhiteSpace)
{
//If more then one space is found to be in a row, then ignore it and move onto the next character.
continue;
}
//IF the current character is whitespace, then mark it and move onto the next loop.
isPreviousCharWhiteSpace = true;
cleanedInputString += adItemText[currentCharacter];
continue;
}
//IF the current character is an open bracket then mark it so we're inside brackets and move to the next character.
if (openBrackets.Contains(adItemText[currentCharacter]))
{
if (isInsideBrackets)
{
//If we are already inside of brackets then don't add anymore to the string just continue.
continue;
}
isInsideBrackets = true;
//Just gonna force parenthesis for now.
cleanedInputString += '(';
continue;
}
//IF the current character is a closing bracket then mark it as such and move to the next character (if any).
if (closedBrackets.Contains(adItemText[currentCharacter]))
{
//IF we're not inside brackets then there is an imbalance so discard this parenthesis.
if (!isInsideBrackets)
{
continue;
}
//Just gonna force parenthesis for now.
cleanedInputString += ')';
lastnumberStartingIndex = -1; //reset
//Clear the current working word.
isInsideBrackets = false;
continue;
}
//IF the current character is not a number and the previous character is a white space character
//then capitalize the current character and add it to the string.
if (!char.IsNumber(adItemText[currentCharacter]) && isPreviousCharWhiteSpace)
{
//Check to see if the character before the whitespace is a number.
if (char.IsNumber(cleanedInputString[cleanedInputString.Length - 2]))
{
var abbreviations = new List<string>();
var words = new List<string>();
BuildAbbreviationsAndWordsLists(adItemText, currentCharacter, out abbreviations, out words);
//Remove the last space if there are any abbreviations or words found.
if (abbreviations.Count > 0 || words.Count > 0)
{
cleanedInputString = cleanedInputString.Remove(cleanedInputString.Length - 1, 1);
}
//Begin checking to see how to place these items back into the final string.
if (abbreviations.Count >= 1 && words.Count == 0)
{
if (!isInsideBrackets)
{
cleanedInputString += abbreviations[0] + ")";
if (lastnumberStartingIndex != -1)
{
cleanedInputString = cleanedInputString.Insert(lastnumberStartingIndex, "(");
}
}
else
{
cleanedInputString += abbreviations[0] + ")";
}
break;
}
if (abbreviations.Count >= 1 && words.Count == 1)
{
cleanedInputString += abbreviations[0] + " " + words[0];
//Clear all braces since this format doesn't allow for braces in this set up.
cleanedInputString = cleanedInputString.Replace("(", "");
break;
}
if (abbreviations.Count >= 0 && words.Count >= 1)
{
if (abbreviations.Count != 0)
{
cleanedInputString += abbreviations[0];
}
cleanedInputString = words.Aggregate(cleanedInputString, (current, word) => current + (" " + word));
//Clear all braces since this format doesn't allow for braces in this set up.
cleanedInputString = cleanedInputString.Replace("(", "");
break;
}
}
//Check to see the length of the string and determine if the word with the number needs to be capitalized.
cleanedInputString += char.ToUpperInvariant(adItemText[currentCharacter]);
}
//However, if the current character is not a number but the previous character is NOT a white space character
//then run a few checks before adding it to the string.
else if (!char.IsNumber(adItemText[currentCharacter]) && char.IsLetter(adItemText[currentCharacter]))
{
//IF the previous character is a number...
if (char.IsNumber(cleanedInputString[cleanedInputString.Length - 1]))
{
//Check to see the length of the string and determine if the word with the number needs to be capitalized.
var abbreviations = new List<string>();
var words = new List<string>();
BuildAbbreviationsAndWordsLists(adItemText, currentCharacter, out abbreviations, out words);
//Check to see if braces are necessary for the format we're going for.
if (abbreviations.Count >= 1 && words.Count == 0)
{
if (!isInsideBrackets)
{
cleanedInputString += abbreviations[0] + ")";
if (lastnumberStartingIndex != -1)
{
cleanedInputString = cleanedInputString.Insert(lastnumberStartingIndex, "(");
}
}
else
{
cleanedInputString += abbreviations[0] + ")";
}
break;
}
if (abbreviations.Count >= 1 && words.Count == 1)
{
cleanedInputString += abbreviations[0] + " " + words[0];
//Clear all braces since this format doesn't allow for braces in this set up.
cleanedInputString = cleanedInputString.Replace("(", "");
break;
}
if (abbreviations.Count >= 0 && words.Count >= 1)
{
if (abbreviations.Count != 0)
{
cleanedInputString += abbreviations[0];
}
cleanedInputString = words.Aggregate(cleanedInputString, (current, word) => current + (" " + word));
//Clear all braces since this format doesn't allow for braces in this set up.
cleanedInputString = cleanedInputString.Replace("(", "");
break;
}
}
else if (char.IsLetter(adItemText[currentCharacter - 1]))
{
cleanedInputString += char.ToLowerInvariant(adItemText[currentCharacter]);
}
}
//IF a number is found, and we're not inside brackets, check to see if there is an opening parenthesis and if there aren't create one.
if (char.IsNumber(adItemText[currentCharacter]))
{
cleanedInputString += adItemText[currentCharacter];
if (lastnumberStartingIndex == -1)
{
lastnumberStartingIndex = cleanedInputString.Length - 1; //This is index based.
}
}
//Check for any allowed punctuation.
if (adItemText[currentCharacter] == '\'')
{
cleanedInputString += adItemText[currentCharacter];
}
//Check if the previous character is an "'".
else if (cleanedInputString[cleanedInputString.Length - 1] == '\'')
{
cleanedInputString += adItemText[currentCharacter];
}
//Since whitespace booleans are handled above, set the boolean for white spaces false.
//IF we've made it this far that means the current character is not a white space character.
isPreviousCharWhiteSpace = false;
//IF we're at the end of the string and we're inside brackets then balance out the open bracket.
if ((currentCharacter + 1) == adItemText.Length && isInsideBrackets)
{
cleanedInputString += ')';
}
}
outputTextBox.Text = cleanedInputString;
}
/// <summary>
/// Determines whether or not a string is an abbreviation or a word.
/// A word is defined as being at least three (3) characters long and having
/// at least one (1) vowel. Where as an abbreviation is defined as less then
/// three (3) characters long or being exactly three characters long but having
/// zero (0) vowels.
/// </summary>
/// <param name="text">The string to determine whether or not its a word.</param>
/// <returns></returns>
private bool IsWord(string text)
{
if (string.IsNullOrEmpty(text)) return false;
var isWord = true;
//Most abbreviations do not have vowels in them so check to see if the "abbreviation"
//isn't just a short word like "Box", as opposed to "lbs".
char[] vowels = {'a', 'e', 'i', 'o', 'u', 'y'};
//Count the number of vowels the word has.
var vowelCount = text.Count(x => vowels.Contains(x));
//IF the string is exactly three (3) characters long and has more then zero (0) vowels then it is considered a word.
if (text.Length == 3 && vowelCount == 0)
{
isWord = false;
}
else if (text.Length < 3)
{
isWord = false;
}
//Return the verdict.
return isWord;
}
private void BuildAbbreviationsAndWordsLists(string adItemText, int startingIndex, out List<string> abbreviations,
out List<string> words, bool preserveAcronyms = true)
{
abbreviations = new List<string>();
words = new List<string>();
var currentWorkingString = "";
//Starting at the next character, spin through and find all words or abbreviations that are separated by white space.
for (var i = startingIndex; i < adItemText.Length; i++)
{
//If the current character is a letter and if so add it to the current working string.
if (char.IsLetter(adItemText[i]))
{
currentWorkingString += adItemText[i];
}
//Check for the current character being a white space, showing the end of a word or abbreviation.
else if (char.IsWhiteSpace(adItemText[i]))
{
//Block against null values from messing things up.
if (string.IsNullOrEmpty(currentWorkingString)) continue;
//The end of what ever word we were on has been reached, so check to see what the string is.
if (IsWord(currentWorkingString))
{
words.Add(currentWorkingString);
}
else
{
abbreviations.Add(currentWorkingString);
}
//Clear the current working string to start on the next.
currentWorkingString = "";
}
//Run a check to see if this is the last character in the string.
if ((i + 1) != adItemText.Length) continue;
//The end of whatever word we were on has been reached, so check to see what the string is.
if (IsWord(currentWorkingString))
{
words.Add(currentWorkingString);
}
else
{
abbreviations.Add(currentWorkingString);
}
}
//Clean the cases of the abbreviations and words.
for (var i = 0; i < abbreviations.Count; i++)
{
//If preserve acronyms is set to true then just leave the cases of the abbreviations alone.
if (!preserveAcronyms)
{
abbreviations[i] = abbreviations[i].ToLowerInvariant();
}
}
for (var i = 0; i < words.Count; i++)
{
words[i] = words[i].ToLowerInvariant();
words[i] = CapitalizeFirstLetter(words[i]);
}
}
public string FormatShit(string inputString)
{
var finalString = "";
var workingText = "";
//The (char[])null avoids creating a new object in memory.
var splitInput = inputString.Split((char[])null, StringSplitOptions.RemoveEmptyEntries);
foreach (var text in splitInput)
{
//Clear the working text to start building the next one to test.
workingText = "";
foreach (var character in text)
{
}
}
return finalString;
}
}
}
+120
View File
@@ -0,0 +1,120 @@
<?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>
</root>
+22
View File
@@ -0,0 +1,22 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace StringInputParseTester
{
static class Program
{
/// <summary>
/// The main entry point for the application.
/// </summary>
[STAThread]
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new Form1());
}
}
}
@@ -0,0 +1,36 @@
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
// General Information about an assembly is controlled through the following
// set of attributes. Change these attribute values to modify the information
// associated with an assembly.
[assembly: AssemblyTitle("StringInputParseTester")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("")]
[assembly: AssemblyProduct("StringInputParseTester")]
[assembly: AssemblyCopyright("Copyright © 2016")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]
// Setting ComVisible to false makes the types in this assembly not visible
// to COM components. If you need to access a type in this assembly from
// COM, set the ComVisible attribute to true on that type.
[assembly: ComVisible(false)]
// The following GUID is for the ID of the typelib if this project is exposed to COM
[assembly: Guid("2663661b-3d90-4d42-b05e-8038923a2891")]
// Version information for an assembly consists of the following four values:
//
// Major Version
// Minor Version
// Build Number
// Revision
//
// You can specify all the values or you can default the Build and Revision Numbers
// by using the '*' as shown below:
// [assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("1.0.0.0")]
[assembly: AssemblyFileVersion("1.0.0.0")]
+71
View File
@@ -0,0 +1,71 @@
//------------------------------------------------------------------------------
// <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 StringInputParseTester.Properties
{
/// <summary>
/// A strongly-typed resource class, for looking up localized strings, etc.
/// </summary>
// This class was auto-generated by the StronglyTypedResourceBuilder
// class via a tool like ResGen or Visual Studio.
// To add or remove a member, edit your .ResX file then rerun ResGen
// with the /str option, or rebuild your VS project.
[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>
/// Returns the cached ResourceManager instance used by this class.
/// </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("StringInputParseTester.Properties.Resources", typeof(Resources).Assembly);
resourceMan = temp;
}
return resourceMan;
}
}
/// <summary>
/// Overrides the current thread's CurrentUICulture property for all
/// resource lookups using this strongly typed resource class.
/// </summary>
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
internal static global::System.Globalization.CultureInfo Culture
{
get
{
return resourceCulture;
}
set
{
resourceCulture = value;
}
}
}
}
@@ -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>
+30
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 StringInputParseTester.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;
}
}
}
}
@@ -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>
@@ -0,0 +1,90 @@
<?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>{2663661B-3D90-4D42-B05E-8038923A2891}</ProjectGuid>
<OutputType>WinExe</OutputType>
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>StringInputParseTester</RootNamespace>
<AssemblyName>StringInputParseTester</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>
<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>
<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>
@@ -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>
@@ -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>
@@ -0,0 +1,11 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
<assemblyIdentity version="1.0.0.0" name="MyApplication.app"/>
<trustInfo xmlns="urn:schemas-microsoft-com:asm.v2">
<security>
<requestedPrivileges xmlns="urn:schemas-microsoft-com:asm.v3">
<requestedExecutionLevel level="asInvoker" uiAccess="false"/>
</requestedPrivileges>
</security>
</trustInfo>
</assembly>
@@ -0,0 +1,18 @@
C:\Users\glmcc\Documents\Visual Studio 2015\Projects\AdvertsingProfitControl\StringInputParseTester\bin\Debug\StringInputParseTester.exe.config
C:\Users\glmcc\Documents\Visual Studio 2015\Projects\AdvertsingProfitControl\StringInputParseTester\bin\Debug\StringInputParseTester.exe
C:\Users\glmcc\Documents\Visual Studio 2015\Projects\AdvertsingProfitControl\StringInputParseTester\bin\Debug\StringInputParseTester.pdb
C:\Users\glmcc\Documents\Visual Studio 2015\Projects\AdvertsingProfitControl\StringInputParseTester\obj\Debug\StringInputParseTester.csprojResolveAssemblyReference.cache
C:\Users\glmcc\Documents\Visual Studio 2015\Projects\AdvertsingProfitControl\StringInputParseTester\obj\Debug\StringInputParseTester.Form1.resources
C:\Users\glmcc\Documents\Visual Studio 2015\Projects\AdvertsingProfitControl\StringInputParseTester\obj\Debug\StringInputParseTester.Properties.Resources.resources
C:\Users\glmcc\Documents\Visual Studio 2015\Projects\AdvertsingProfitControl\StringInputParseTester\obj\Debug\StringInputParseTester.csproj.GenerateResource.Cache
C:\Users\glmcc\Documents\Visual Studio 2015\Projects\AdvertsingProfitControl\StringInputParseTester\obj\Debug\StringInputParseTester.exe
C:\Users\glmcc\Documents\Visual Studio 2015\Projects\AdvertsingProfitControl\StringInputParseTester\obj\Debug\StringInputParseTester.pdb
C:\Users\Crypto\Documents\Visual Studio 2015\Projects\AdvertsingProfitControl\StringInputParseTester\bin\Debug\StringInputParseTester.exe.config
C:\Users\Crypto\Documents\Visual Studio 2015\Projects\AdvertsingProfitControl\StringInputParseTester\bin\Debug\StringInputParseTester.exe
C:\Users\Crypto\Documents\Visual Studio 2015\Projects\AdvertsingProfitControl\StringInputParseTester\bin\Debug\StringInputParseTester.pdb
C:\Users\Crypto\Documents\Visual Studio 2015\Projects\AdvertsingProfitControl\StringInputParseTester\obj\Debug\StringInputParseTester.csprojResolveAssemblyReference.cache
C:\Users\Crypto\Documents\Visual Studio 2015\Projects\AdvertsingProfitControl\StringInputParseTester\obj\Debug\StringInputParseTester.Form1.resources
C:\Users\Crypto\Documents\Visual Studio 2015\Projects\AdvertsingProfitControl\StringInputParseTester\obj\Debug\StringInputParseTester.Properties.Resources.resources
C:\Users\Crypto\Documents\Visual Studio 2015\Projects\AdvertsingProfitControl\StringInputParseTester\obj\Debug\StringInputParseTester.csproj.GenerateResource.Cache
C:\Users\Crypto\Documents\Visual Studio 2015\Projects\AdvertsingProfitControl\StringInputParseTester\obj\Debug\StringInputParseTester.exe
C:\Users\Crypto\Documents\Visual Studio 2015\Projects\AdvertsingProfitControl\StringInputParseTester\obj\Debug\StringInputParseTester.pdb