From 438b1b5d0ff7de7e2ad82f6ca90885e55103f25b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Eugen=20H=C3=B6glinger?= Date: Thu, 26 Nov 2020 17:37:27 +0100 Subject: [PATCH] Initialize --- .vs/Test_SearchAndFind.git/v16/.suo | Bin 0 -> 53760 bytes Test_SearchAndFind.git.sln | 25 ++ Test_SearchAndFind/App.config | 6 + Test_SearchAndFind/Form1.Designer.cs | 233 +++++++++++ Test_SearchAndFind/Form1.cs | 381 ++++++++++++++++++ Test_SearchAndFind/Form1.resx | 129 ++++++ Test_SearchAndFind/Program.cs | 22 + Test_SearchAndFind/Properties/AssemblyInfo.cs | 36 ++ .../Properties/Resources.Designer.cs | 71 ++++ Test_SearchAndFind/Properties/Resources.resx | 117 ++++++ .../Properties/Settings.Designer.cs | 30 ++ .../Properties/Settings.settings | 7 + Test_SearchAndFind/Search.cs | 139 +++++++ Test_SearchAndFind/Test_SearchAndFind.csproj | 84 ++++ .../bin/Debug/Test_SearchAndFind.exe | Bin 0 -> 21504 bytes .../bin/Debug/Test_SearchAndFind.exe.config | 6 + .../bin/Debug/Test_SearchAndFind.pdb | Bin 0 -> 44544 bytes ...ework,Version=v4.7.2.AssemblyAttributes.cs | 4 + .../DesignTimeResolveAssemblyReferences.cache | Bin 0 -> 1435 bytes ...gnTimeResolveAssemblyReferencesInput.cache | Bin 0 -> 7389 bytes .../Debug/Test_SearchAndFind.Form1.resources | Bin 0 -> 781 bytes ...archAndFind.Properties.Resources.resources | Bin 0 -> 180 bytes ...archAndFind.csproj.CoreCompileInputs.cache | 1 + ..._SearchAndFind.csproj.FileListAbsolute.txt | 10 + ...earchAndFind.csproj.GenerateResource.cache | Bin 0 -> 1012 bytes ...earchAndFind.csprojAssemblyReference.cache | Bin 0 -> 424 bytes .../obj/Debug/Test_SearchAndFind.exe | Bin 0 -> 21504 bytes .../obj/Debug/Test_SearchAndFind.pdb | Bin 0 -> 44544 bytes 28 files changed, 1301 insertions(+) create mode 100644 .vs/Test_SearchAndFind.git/v16/.suo create mode 100644 Test_SearchAndFind.git.sln create mode 100644 Test_SearchAndFind/App.config create mode 100644 Test_SearchAndFind/Form1.Designer.cs create mode 100644 Test_SearchAndFind/Form1.cs create mode 100644 Test_SearchAndFind/Form1.resx create mode 100644 Test_SearchAndFind/Program.cs create mode 100644 Test_SearchAndFind/Properties/AssemblyInfo.cs create mode 100644 Test_SearchAndFind/Properties/Resources.Designer.cs create mode 100644 Test_SearchAndFind/Properties/Resources.resx create mode 100644 Test_SearchAndFind/Properties/Settings.Designer.cs create mode 100644 Test_SearchAndFind/Properties/Settings.settings create mode 100644 Test_SearchAndFind/Search.cs create mode 100644 Test_SearchAndFind/Test_SearchAndFind.csproj create mode 100644 Test_SearchAndFind/bin/Debug/Test_SearchAndFind.exe create mode 100644 Test_SearchAndFind/bin/Debug/Test_SearchAndFind.exe.config create mode 100644 Test_SearchAndFind/bin/Debug/Test_SearchAndFind.pdb create mode 100644 Test_SearchAndFind/obj/Debug/.NETFramework,Version=v4.7.2.AssemblyAttributes.cs create mode 100644 Test_SearchAndFind/obj/Debug/DesignTimeResolveAssemblyReferences.cache create mode 100644 Test_SearchAndFind/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache create mode 100644 Test_SearchAndFind/obj/Debug/Test_SearchAndFind.Form1.resources create mode 100644 Test_SearchAndFind/obj/Debug/Test_SearchAndFind.Properties.Resources.resources create mode 100644 Test_SearchAndFind/obj/Debug/Test_SearchAndFind.csproj.CoreCompileInputs.cache create mode 100644 Test_SearchAndFind/obj/Debug/Test_SearchAndFind.csproj.FileListAbsolute.txt create mode 100644 Test_SearchAndFind/obj/Debug/Test_SearchAndFind.csproj.GenerateResource.cache create mode 100644 Test_SearchAndFind/obj/Debug/Test_SearchAndFind.csprojAssemblyReference.cache create mode 100644 Test_SearchAndFind/obj/Debug/Test_SearchAndFind.exe create mode 100644 Test_SearchAndFind/obj/Debug/Test_SearchAndFind.pdb diff --git a/.vs/Test_SearchAndFind.git/v16/.suo b/.vs/Test_SearchAndFind.git/v16/.suo new file mode 100644 index 0000000000000000000000000000000000000000..e568cf3fd77ed4a325e3c3eb6c139949dd3af156 GIT binary patch literal 53760 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

-H>Ay(^AUSO-8nX2o# z&P%wMxtt?)UFY2Oh+K&~0kMvYp6Yg29hZ6L8r@yTrRxE&N}00mu&27r)NyHV0L_wO z*W;gZsu#Y*@lL(=Me0m0xv-Rmy>Vp9?e$u6v4@M7`mJYrmZjuAKx5kNGtx6;E7q7_#R4>VoW&@AwHXzm%jMbr!+8e;iw;n|yy@ zft1pD9;R~HIUafdWiO3%dFGQFAG7Q9ef=-jr>Be=tRiM(ef_W7?2WJg%|W9e_GmgW z=jg2M+1LMCXCLcXUv>j}KwtmM8CfryQD6Tn&mBB*><6s8$=CndWp!Ww>+655J8D<2 z|FzSUKmMal8)y5E-M;5uYRTIuclP5yFY;-*9ap1e*LR+tSiX-$2QV1Jyc&0t=f1wQ zmYjqiOU6Cs8>jdEF2I*DaAZY`FgGp50`M$H|( zMcS;(G{U9fE54&dznJ1eaA$O~{Vy9$*C+`FwbkasSVX&TQN0wNQ>B?zGhHxtR zLe)pn!rx9K<<^T%7}#LO7(Xt<-)UC4cqyqYL9&CMza{7Rjm9_1rot>Bh=ihdrbn z6RO3exKG65SQ}o+LZ+ciM&lXfRy#?tmt(+?=xo!b@A*vkD!?l}v;HaR)p{x)^E4a!S;Vcs>>EeOLUE%t2S=HmyJ{~3+zDVF z3`{g=3e8o<>mqN#l(;xPa<+^8P^4_s!;1~OjkT5I;0Yy3*xG8{co}UaN?e2%xz1-H z7LgmiO#$K3f48688^I;C_Mr=2`1pm3H$L_C^tYe5`0b8LArY9U@Pq`RU!yLOx=W$OTS7OgRa^4U_%3L>NjF^AA4A@UjodEL zc$$0Vm{%+HzYEcvkI<)R$LfTT{Cpn~;CMvJZ;sJ-j(1&{qh#YLS2bPYvh)%sT-%lKUxI&&kEkmdKMK z_jo%tVlIv?IF3m*rSz7zRCFK|(8Cd&TGi6tjsvUGLxEO3H5BfM=z2KX5e$XGIMa%| z&RN`Nv<67Uznk`3{d_MP{o{DXuVJm zsN^J*6_zH9Gx^ZHkIYOMrEzX$`{Z)_0pI?kUiMa+$^L^!J67mS1R0f`fn)JbRzquZ zmX_D z`}SWY8gc5)eETo<8TD-8Vz=rFVrGYwUvA-I59ve?zWtYwSH+FM6O`!8{J&paJdLkg{Y{)^p)LZ#=K?q&I14-#@Y|Ap~$C~SAL z@nc+Gzqh9=pJ(;GZ~s-na;Fd07zwOfQ%?`@qD2t3BIYTrHeZtdWWDj~+kX``tG$y| zJLB7bl`On``!C=A%eVh(g!L59;PLIhLY)WNqtV`IG~OC$$835a(%TXabcdVcm~iii zEf@=tlWb0R!5TXF_FsYa_Gnii6opYtIMf=6wnYvah8~a%8>DoYS$lGsL;3b!`PArW zM$hYG$#t1xV2eJUD`bkf{A5y{PfoUkn%k27eepz}n4uO^ePvVj7Vo4qAgUJ&9^d{; zWedLjS9R8dzWrBjxHe`YOnb_hiN)Ku|6v#H+y5veHjMr%U+S;+W@z?RC{Cm^IkUei z!nP>Mzy5;m+yBh3{m=H7xeiIwRPnQ9K$@M=fOI9+TjlT@f%OwtmyKXu7Og|Mo{!d0 z{HIF?K^G2Ybc^xsRnMzk1IEr?wXb$9*WMb%7 literal 0 HcmV?d00001 diff --git a/Test_SearchAndFind.git.sln b/Test_SearchAndFind.git.sln new file mode 100644 index 0000000..c03b30f --- /dev/null +++ b/Test_SearchAndFind.git.sln @@ -0,0 +1,25 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio Version 16 +VisualStudioVersion = 16.0.30413.136 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Test_SearchAndFind", "Test_SearchAndFind\Test_SearchAndFind.csproj", "{866F66E5-8525-4F23-B31E-969C083A343B}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Release|Any CPU = Release|Any CPU + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {866F66E5-8525-4F23-B31E-969C083A343B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {866F66E5-8525-4F23-B31E-969C083A343B}.Debug|Any CPU.Build.0 = Debug|Any CPU + {866F66E5-8525-4F23-B31E-969C083A343B}.Release|Any CPU.ActiveCfg = Release|Any CPU + {866F66E5-8525-4F23-B31E-969C083A343B}.Release|Any CPU.Build.0 = Release|Any CPU + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + SolutionGuid = {0099A69B-4400-4B11-95FA-D55A082C8E22} + EndGlobalSection +EndGlobal diff --git a/Test_SearchAndFind/App.config b/Test_SearchAndFind/App.config new file mode 100644 index 0000000..56efbc7 --- /dev/null +++ b/Test_SearchAndFind/App.config @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/Test_SearchAndFind/Form1.Designer.cs b/Test_SearchAndFind/Form1.Designer.cs new file mode 100644 index 0000000..d200ebb --- /dev/null +++ b/Test_SearchAndFind/Form1.Designer.cs @@ -0,0 +1,233 @@ +namespace Test_SearchAndFind +{ + partial class Form1 + { + ///

+ /// Erforderliche Designervariable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Verwendete Ressourcen bereinigen. + /// + /// True, wenn verwaltete Ressourcen gelöscht werden sollen; andernfalls False. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Vom Windows Form-Designer generierter Code + + /// + /// Erforderliche Methode für die Designerunterstützung. + /// Der Inhalt der Methode darf nicht mit dem Code-Editor geändert werden. + /// + private void InitializeComponent() + { + System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(Form1)); + this.textBoxText = new System.Windows.Forms.TextBox(); + this.groupBoxSearchAndFind = new System.Windows.Forms.GroupBox(); + this.checkBoxFullword = new System.Windows.Forms.CheckBox(); + this.checkBoxCase = new System.Windows.Forms.CheckBox(); + this.buttonPrevious = new System.Windows.Forms.Button(); + this.buttonNext = new System.Windows.Forms.Button(); + this.textBoxSearchstring = new System.Windows.Forms.TextBox(); + this.labelSearchstring = new System.Windows.Forms.Label(); + this.groupBox1 = new System.Windows.Forms.GroupBox(); + this.buttonReplaceAll = new System.Windows.Forms.Button(); + this.buttonReplace = new System.Windows.Forms.Button(); + this.textBoxReplaceText = new System.Windows.Forms.TextBox(); + this.labelReplaceText = new System.Windows.Forms.Label(); + this.buttonSelectAll = new System.Windows.Forms.Button(); + this.groupBoxSearchAndFind.SuspendLayout(); + this.groupBox1.SuspendLayout(); + this.SuspendLayout(); + // + // textBoxText + // + this.textBoxText.Location = new System.Drawing.Point(12, 13); + this.textBoxText.Multiline = true; + this.textBoxText.Name = "textBoxText"; + this.textBoxText.Size = new System.Drawing.Size(375, 425); + this.textBoxText.TabIndex = 0; + this.textBoxText.Text = resources.GetString("textBoxText.Text"); + // + // groupBoxSearchAndFind + // + this.groupBoxSearchAndFind.Controls.Add(this.buttonSelectAll); + this.groupBoxSearchAndFind.Controls.Add(this.checkBoxFullword); + this.groupBoxSearchAndFind.Controls.Add(this.checkBoxCase); + this.groupBoxSearchAndFind.Controls.Add(this.buttonPrevious); + this.groupBoxSearchAndFind.Controls.Add(this.buttonNext); + this.groupBoxSearchAndFind.Controls.Add(this.textBoxSearchstring); + this.groupBoxSearchAndFind.Controls.Add(this.labelSearchstring); + this.groupBoxSearchAndFind.Location = new System.Drawing.Point(395, 13); + this.groupBoxSearchAndFind.Name = "groupBoxSearchAndFind"; + this.groupBoxSearchAndFind.Size = new System.Drawing.Size(393, 123); + this.groupBoxSearchAndFind.TabIndex = 1; + this.groupBoxSearchAndFind.TabStop = false; + this.groupBoxSearchAndFind.Text = "Search and Find"; + // + // checkBoxFullword + // + this.checkBoxFullword.AutoSize = true; + this.checkBoxFullword.Location = new System.Drawing.Point(6, 68); + this.checkBoxFullword.Name = "checkBoxFullword"; + this.checkBoxFullword.Size = new System.Drawing.Size(88, 17); + this.checkBoxFullword.TabIndex = 6; + this.checkBoxFullword.Text = "Ganzes Wort"; + this.checkBoxFullword.UseVisualStyleBackColor = true; + this.checkBoxFullword.CheckedChanged += new System.EventHandler(this.checkBoxFullword_CheckedChanged); + // + // checkBoxCase + // + this.checkBoxCase.AutoSize = true; + this.checkBoxCase.Location = new System.Drawing.Point(6, 45); + this.checkBoxCase.Name = "checkBoxCase"; + this.checkBoxCase.Size = new System.Drawing.Size(181, 17); + this.checkBoxCase.TabIndex = 5; + this.checkBoxCase.Text = "Groß-/Kleinschreibung ignorieren"; + this.checkBoxCase.UseVisualStyleBackColor = true; + this.checkBoxCase.CheckedChanged += new System.EventHandler(this.checkBoxCase_CheckedChanged); + // + // buttonPrevious + // + this.buttonPrevious.Location = new System.Drawing.Point(6, 91); + this.buttonPrevious.Name = "buttonPrevious"; + this.buttonPrevious.Size = new System.Drawing.Size(91, 23); + this.buttonPrevious.TabIndex = 4; + this.buttonPrevious.Text = "Voriger"; + this.buttonPrevious.UseVisualStyleBackColor = true; + this.buttonPrevious.Click += new System.EventHandler(this.buttonPrevious_Click); + // + // buttonNext + // + this.buttonNext.Location = new System.Drawing.Point(151, 91); + this.buttonNext.Name = "buttonNext"; + this.buttonNext.Size = new System.Drawing.Size(91, 23); + this.buttonNext.TabIndex = 3; + this.buttonNext.Text = "Nächster"; + this.buttonNext.UseVisualStyleBackColor = true; + this.buttonNext.Click += new System.EventHandler(this.buttonNext_Click); + // + // textBoxSearchstring + // + this.textBoxSearchstring.Location = new System.Drawing.Point(61, 19); + this.textBoxSearchstring.Name = "textBoxSearchstring"; + this.textBoxSearchstring.Size = new System.Drawing.Size(326, 20); + this.textBoxSearchstring.TabIndex = 1; + this.textBoxSearchstring.TextChanged += new System.EventHandler(this.textBoxSearchstring_TextChanged); + this.textBoxSearchstring.KeyDown += new System.Windows.Forms.KeyEventHandler(this.textBoxSearchstring_KeyDown); + // + // labelSearchstring + // + this.labelSearchstring.AutoSize = true; + this.labelSearchstring.Location = new System.Drawing.Point(6, 22); + this.labelSearchstring.Name = "labelSearchstring"; + this.labelSearchstring.Size = new System.Drawing.Size(49, 13); + this.labelSearchstring.TabIndex = 0; + this.labelSearchstring.Text = "Suchtext"; + // + // groupBox1 + // + this.groupBox1.Controls.Add(this.buttonReplaceAll); + this.groupBox1.Controls.Add(this.buttonReplace); + this.groupBox1.Controls.Add(this.textBoxReplaceText); + this.groupBox1.Controls.Add(this.labelReplaceText); + this.groupBox1.Location = new System.Drawing.Point(395, 143); + this.groupBox1.Name = "groupBox1"; + this.groupBox1.Size = new System.Drawing.Size(393, 77); + this.groupBox1.TabIndex = 2; + this.groupBox1.TabStop = false; + this.groupBox1.Text = "Replace with"; + // + // buttonReplaceAll + // + this.buttonReplaceAll.Location = new System.Drawing.Point(296, 46); + this.buttonReplaceAll.Name = "buttonReplaceAll"; + this.buttonReplaceAll.Size = new System.Drawing.Size(91, 23); + this.buttonReplaceAll.TabIndex = 3; + this.buttonReplaceAll.Text = "Alle Ersetzen"; + this.buttonReplaceAll.UseVisualStyleBackColor = true; + this.buttonReplaceAll.Click += new System.EventHandler(this.buttonReplaceAll_Click); + // + // buttonReplace + // + this.buttonReplace.Location = new System.Drawing.Point(6, 46); + this.buttonReplace.Name = "buttonReplace"; + this.buttonReplace.Size = new System.Drawing.Size(91, 23); + this.buttonReplace.TabIndex = 2; + this.buttonReplace.Text = "Ersetzen"; + this.buttonReplace.UseVisualStyleBackColor = true; + this.buttonReplace.Click += new System.EventHandler(this.buttonReplace_Click); + // + // textBoxReplaceText + // + this.textBoxReplaceText.Location = new System.Drawing.Point(65, 20); + this.textBoxReplaceText.Name = "textBoxReplaceText"; + this.textBoxReplaceText.Size = new System.Drawing.Size(322, 20); + this.textBoxReplaceText.TabIndex = 1; + this.textBoxReplaceText.KeyDown += new System.Windows.Forms.KeyEventHandler(this.textBoxReplaceText_KeyDown); + // + // labelReplaceText + // + this.labelReplaceText.AutoSize = true; + this.labelReplaceText.Location = new System.Drawing.Point(6, 23); + this.labelReplaceText.Name = "labelReplaceText"; + this.labelReplaceText.Size = new System.Drawing.Size(53, 13); + this.labelReplaceText.TabIndex = 0; + this.labelReplaceText.Text = "Ersetztext"; + // + // buttonSelectAll + // + this.buttonSelectAll.Enabled = false; + this.buttonSelectAll.Location = new System.Drawing.Point(296, 91); + this.buttonSelectAll.Name = "buttonSelectAll"; + this.buttonSelectAll.Size = new System.Drawing.Size(91, 23); + this.buttonSelectAll.TabIndex = 3; + this.buttonSelectAll.Text = "Alle Auswählen"; + this.buttonSelectAll.UseVisualStyleBackColor = true; + // + // Form1 + // + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.ClientSize = new System.Drawing.Size(800, 450); + this.Controls.Add(this.groupBox1); + this.Controls.Add(this.groupBoxSearchAndFind); + this.Controls.Add(this.textBoxText); + this.Name = "Form1"; + this.Text = "Test_Saerch, Find and Replace"; + this.Load += new System.EventHandler(this.Form1_Load); + this.groupBoxSearchAndFind.ResumeLayout(false); + this.groupBoxSearchAndFind.PerformLayout(); + this.groupBox1.ResumeLayout(false); + this.groupBox1.PerformLayout(); + this.ResumeLayout(false); + this.PerformLayout(); + + } + + #endregion + + private System.Windows.Forms.TextBox textBoxText; + private System.Windows.Forms.GroupBox groupBoxSearchAndFind; + private System.Windows.Forms.Button buttonPrevious; + private System.Windows.Forms.Button buttonNext; + private System.Windows.Forms.TextBox textBoxSearchstring; + private System.Windows.Forms.Label labelSearchstring; + private System.Windows.Forms.CheckBox checkBoxCase; + private System.Windows.Forms.CheckBox checkBoxFullword; + private System.Windows.Forms.GroupBox groupBox1; + private System.Windows.Forms.Button buttonReplaceAll; + private System.Windows.Forms.Button buttonReplace; + private System.Windows.Forms.TextBox textBoxReplaceText; + private System.Windows.Forms.Label labelReplaceText; + private System.Windows.Forms.Button buttonSelectAll; + } +} + diff --git a/Test_SearchAndFind/Form1.cs b/Test_SearchAndFind/Form1.cs new file mode 100644 index 0000000..aa510da --- /dev/null +++ b/Test_SearchAndFind/Form1.cs @@ -0,0 +1,381 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Data; +using System.Drawing; +using System.IO; +using System.Linq; +using System.Reflection; +using System.Text; +using System.Text.RegularExpressions; +using System.Threading.Tasks; +using System.Windows.Forms; + +namespace Test_SearchAndFind +{ + public partial class Form1 : Form + { + #region Version und Copyright + // Version und Copyright + string programName = Path.GetFileNameWithoutExtension(System.Reflection.Assembly.GetExecutingAssembly().GetName().CodeBase); //Den Programmnamen auslesen + string programVersion = System.Reflection.Assembly.GetExecutingAssembly().GetName().Version.ToString(); + static object[] attributes = Assembly.GetExecutingAssembly().GetCustomAttributes(typeof(AssemblyCopyrightAttribute), false); + string copyright = GenerateCopyright(); + string icon = Application.StartupPath + "\\Info.bmp"; + //Assembly Datum und Zeit + static DateTime value = AssemblyDateTime(); + string date = value.ToShortDateString(); + string time = value.ToLongTimeString(); + private static DateTime AssemblyDateTime() + { + var version = System.Reflection.Assembly.GetExecutingAssembly().GetName().Version; + var buildDateTime = new DateTime(2000, 1, 1).Add(new TimeSpan(TimeSpan.TicksPerDay * version.Build + TimeSpan.TicksPerSecond * 2 * version.Revision)); + //Tage seit dem 1. Januar 2000 und Sekunden seit Mitternacht, (multiplizier mit 2 ergibt das Original) + return buildDateTime; + } + + private static string CurrentYear() + { + DateTime dtn = DateTime.Now; + return dtn.Year.ToString(); + } + + private static string StartYear() + { + string startYear = ((AssemblyCopyrightAttribute)attributes[0]).Copyright; + return startYear.Remove(0, startYear.LastIndexOf(" ") + 1); + } + + private static string GenerateCopyright() + { + string startYear = StartYear(); + string currentYear = CurrentYear(); + + if (startYear == currentYear) + { + return ((AssemblyCopyrightAttribute)attributes[0]).Copyright; + } + else + { + return String.Concat(((AssemblyCopyrightAttribute)attributes[0]).Copyright, "-", currentYear); + } + } + #endregion + + #region Programm-Info + /// + /// Contains the name of the program file + /// + public static string ProgramName { set; get; } + + /// + /// Contains the version of the program file + /// + public static string ProgramVersion { set; get; } + + /// + /// Contains the copyright notice + /// + public static string Copyright { set; get; } + + private void SetProgramInfo() + { + //Name, Version und Copyright setzen + ProgramName = programName; + ProgramVersion = programVersion; + Copyright = copyright; + } + #endregion + public Form1() + { + SetProgramInfo(); + InitializeComponent(); + } + + private void Form1_Load(object sender, EventArgs e) + { + this.Text = String.Concat("Test_Search, Find and Replace - Version: ", ProgramVersion, " - ", Copyright, " by E. Höglinger"); + textBoxText.Focus(); + textBoxText.Select(0, 0); + + //textBoxSearchstring.Focus(); + //textBoxSearchstring.Text = ""; + this.ActiveControl = textBoxSearchstring; + } + + List AllPositions = new List(); + int SelectedPosition { set; get; } + + private List Positions(string myText, string searchText) + { + List pos = new List(); + + if (String.IsNullOrEmpty(myText) || String.IsNullOrEmpty(searchText)) + { + return pos; + } + + int tempPos = 0; + int currentPos = 0; + + while (myText.Contains(searchText)) + { + if (checkBoxFullword.Checked) + { + //Nur ganzes Wort suchen + currentPos = IndexOfWord(myText, searchText); + } + else + { + //Suchstring suchen + currentPos = myText.IndexOf(searchText); + } + + tempPos += currentPos; + pos.Add(tempPos); + tempPos += searchText.Length; + + myText = myText.Remove(0, currentPos + searchText.Length); + + if (currentPos == -1) + { + break; + } + } + + return pos; + } + + private Regex myRegex; + + public int IndexOfWord(string myString, string myWord) + { + myRegex = new Regex("\\b" + Regex.Escape(myWord) + "\\b", RegexOptions.Compiled); + + Match mtch = myRegex.Match(myString); + + if (mtch.Success) + return mtch.Index; + else + return -1; + } + + private void Search() + { + AllPositions.Clear(); + + string fullText = textBoxText.Text; + string searchText = textBoxSearchstring.Text; + + if (checkBoxCase.Checked) + { + //Groß-/Kleinschreibung ignorieren + fullText = fullText.ToLower(); + searchText = searchText.ToLower(); + } + + if (!String.IsNullOrEmpty(searchText) && fullText.Contains(searchText)) + { + AllPositions = Positions(fullText, searchText); + + SelectedPosition = 0; + + if (AllPositions[SelectedPosition] != -1) + { + SelectSearchString(AllPositions[SelectedPosition], searchText.Length); + } + else + { + MessageBox.Show("Es wurde kein (weiterer) Suchtext gefunden"); + } + } + else + { + MessageBox.Show("Es wurde kein (weiterer) Suchtext gefunden"); + } + } + + private void Previous() + { + if (!String.IsNullOrEmpty(textBoxSearchstring.Text)) + { + if (AllPositions.Count == 0) + { + Search(); + if (textBoxText.Text.Contains(textBoxSearchstring.Text)) + { + Previous(); //Den letzten gefundenen Suchstring selektieren + } + } + else if (SelectedPosition > 0) + { + //Position um eins verringern und Suchstring im Text selektieren + SelectedPosition--; + SelectSearchString(AllPositions[SelectedPosition], textBoxSearchstring.Text.Length); + } + else + { + //Selected Position auf die letzte Position setzten und Suchstring im Text selektieren + SelectedPosition = AllPositions.Count - 1; + SelectSearchString(AllPositions[SelectedPosition], textBoxSearchstring.Text.Length); + } + } + } + + private void Next() + { + if (!String.IsNullOrEmpty(textBoxSearchstring.Text)) + { + if (AllPositions.Count == 0) + { + Search(); + } + else if (SelectedPosition + 1 < AllPositions.Count) + { + //Position um eins erhöhen und Suchstring im Text selektieren + SelectedPosition++; + SelectSearchString(AllPositions[SelectedPosition], textBoxSearchstring.Text.Length); + } + else + { + //Selected Position auf 0 setzten und Suchstring im Text selektieren + SelectedPosition = 0; + SelectSearchString(AllPositions[SelectedPosition], textBoxSearchstring.Text.Length); + } + } + } + + private int Replace() + { + if (AllPositions[SelectedPosition] != -1) + { + textBoxText.Text = textBoxText.Text.Remove(AllPositions[SelectedPosition], textBoxSearchstring.Text.Length); + textBoxText.Text = textBoxText.Text.Insert(AllPositions[SelectedPosition], textBoxReplaceText.Text); + textBoxText.Refresh(); + Search(); //Neu durchsuchen, damit die Starindexes wieder passen + return 0; //Ende noch nicht erreicht + } + else + { + return -1; //Ende erreicht + } + } + + private void ReplaceAll() + { + string fullText = textBoxText.Text; + string searchText = textBoxSearchstring.Text; + + if (checkBoxCase.Checked) + { + //Groß-/Kleinschreibung ignorieren + fullText = fullText.ToLower(); + searchText = searchText.ToLower(); + } + + int nextRun = 0; + + while (fullText.Contains(searchText) && nextRun != -1) + { + nextRun = Replace(); + fullText = textBoxText.Text; + + if (checkBoxCase.Checked) + { + //Groß-/Kleinschreibung ignorieren + fullText = fullText.ToLower(); + } + } + + textBoxReplaceText.Focus(); + } + + private void SelectSearchString(int position, int length) + { + if (position != -1) + { + textBoxText.Focus(); + textBoxText.Select(position, length); + textBoxText.Refresh(); + } + } + + private void textBoxSearchstring_KeyDown(object sender, KeyEventArgs e) + { + if (e.KeyCode == Keys.Enter) + { + Search(); + + + //TODO: Test + var suche = new Search(textBoxText.Text, textBoxSearchstring.Text, checkBoxCase.Checked, checkBoxFullword.Checked); + string pos = "Es wurden " + suche.AllPositions.Count + " Übereinstimmungen\r\nan diesen Positionen gefunden:"; + foreach (var item in suche.AllPositions) + { + pos = String.Concat(pos, "\r\n", item); + } + pos = String.Concat(pos, "\r\nAktuelle Cursor Position: ", suche.CurrentCursorPosition, "\r\nEs ist ein Fehler passiert: ", suche.Error.ToString()); + MessageBox.Show(pos); + for (int i = 0; i < 6; i++) + { + suche.NextPosition(); + MessageBox.Show(pos + "\r\n\r\nIndex erhöhen\r\nIndex: " + suche.Index + "\r\nCursorposition: " + suche.CurrentCursorPosition); + } + for (int i = 0; i < 8; i++) + { + suche.PreviousPosition(); + MessageBox.Show(pos + "\r\n\r\nIndex veringern\r\nIndex: " + suche.Index + "\r\nCursorposition: " + suche.CurrentCursorPosition); + } + } + } + + private void textBoxSearchstring_TextChanged(object sender, EventArgs e) + { + AllPositions.Clear(); + } + + private void checkBoxCase_CheckedChanged(object sender, EventArgs e) + { + if (!String.IsNullOrEmpty(textBoxSearchstring.Text)) + { + Search(); + } + } + + private void checkBoxFullword_CheckedChanged(object sender, EventArgs e) + { + if (!String.IsNullOrEmpty(textBoxSearchstring.Text)) + { + Search(); + } + } + + private void buttonPrevious_Click(object sender, EventArgs e) + { + Previous(); + } + + private void buttonNext_Click(object sender, EventArgs e) + { + Next(); + } + + private void textBoxReplaceText_KeyDown(object sender, KeyEventArgs e) + { + if (e.KeyCode == Keys.Enter) + { + textBoxText.Focus(); + } + } + + private void buttonReplace_Click(object sender, EventArgs e) + { + Replace(); + } + + private void buttonReplaceAll_Click(object sender, EventArgs e) + { + ReplaceAll(); + } + } +} diff --git a/Test_SearchAndFind/Form1.resx b/Test_SearchAndFind/Form1.resx new file mode 100644 index 0000000..c077f9d --- /dev/null +++ b/Test_SearchAndFind/Form1.resx @@ -0,0 +1,129 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + Das ist ein Probetext. Er dient zum Testen einer Suchen und Finden Funktion. +Wird ein angegebener Suchstring im Text gefunden, dann wird die Textstelle selektiert. +Ist der Suchstring nicht im Text enthalten, dann wird eine Meldung ausgegeben. +Mit "Nächster" wird im Text nach dem nächsten Vorkommen des Suchstrings gesucht. Wird ein weiteres Vorkommen gefunden, dann wird die Textstelle markiert. +"Voriger" hat die gleiche Funktion wie "Nächster", nur ist die Suchrichtung rückwärts. +Die Anderen Optionen müssen noch definiert werden. + + + \ No newline at end of file diff --git a/Test_SearchAndFind/Program.cs b/Test_SearchAndFind/Program.cs new file mode 100644 index 0000000..325bbbf --- /dev/null +++ b/Test_SearchAndFind/Program.cs @@ -0,0 +1,22 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Threading.Tasks; +using System.Windows.Forms; + +namespace Test_SearchAndFind +{ + static class Program + { + /// + /// Der Haupteinstiegspunkt für die Anwendung. + /// + [STAThread] + static void Main() + { + Application.EnableVisualStyles(); + Application.SetCompatibleTextRenderingDefault(false); + Application.Run(new Form1()); + } + } +} diff --git a/Test_SearchAndFind/Properties/AssemblyInfo.cs b/Test_SearchAndFind/Properties/AssemblyInfo.cs new file mode 100644 index 0000000..0d084fc --- /dev/null +++ b/Test_SearchAndFind/Properties/AssemblyInfo.cs @@ -0,0 +1,36 @@ +using System.Reflection; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +// Allgemeine Informationen über eine Assembly werden über die folgenden +// Attribute gesteuert. Ändern Sie diese Attributwerte, um die Informationen zu ändern, +// die einer Assembly zugeordnet sind. +[assembly: AssemblyTitle("Test_SearchAndFind")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("")] +[assembly: AssemblyProduct("Test_SearchAndFind")] +[assembly: AssemblyCopyright("Copyright © 2020")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +// Durch Festlegen von ComVisible auf FALSE werden die Typen in dieser Assembly +// für COM-Komponenten unsichtbar. Wenn Sie auf einen Typ in dieser Assembly von +// COM aus zugreifen müssen, sollten Sie das ComVisible-Attribut für diesen Typ auf "True" festlegen. +[assembly: ComVisible(false)] + +// Die folgende GUID bestimmt die ID der Typbibliothek, wenn dieses Projekt für COM verfügbar gemacht wird +[assembly: Guid("866f66e5-8525-4f23-b31e-969c083a343b")] + +// Versionsinformationen für eine Assembly bestehen aus den folgenden vier Werten: +// +// Hauptversion +// Nebenversion +// Buildnummer +// Revision +// +// Sie können alle Werte angeben oder Standardwerte für die Build- und Revisionsnummern verwenden, +// indem Sie "*" wie unten gezeigt eingeben: +// [assembly: AssemblyVersion("1.0.*")] +[assembly: AssemblyVersion("1.0.*")] +[assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/Test_SearchAndFind/Properties/Resources.Designer.cs b/Test_SearchAndFind/Properties/Resources.Designer.cs new file mode 100644 index 0000000..7ded21f --- /dev/null +++ b/Test_SearchAndFind/Properties/Resources.Designer.cs @@ -0,0 +1,71 @@ +//------------------------------------------------------------------------------ +// +// Dieser Code wurde von einem Tool generiert. +// Laufzeitversion: 4.0.30319.42000 +// +// Änderungen an dieser Datei können fehlerhaftes Verhalten verursachen und gehen verloren, wenn +// der Code neu generiert wird. +// +//------------------------------------------------------------------------------ + +namespace Test_SearchAndFind.Properties +{ + + + /// + /// Eine stark typisierte Ressourcenklasse zum Suchen von lokalisierten Zeichenfolgen usw. + /// + // Diese Klasse wurde von der StronglyTypedResourceBuilder-Klasse + // über ein Tool wie ResGen oder Visual Studio automatisch generiert. + // Um einen Member hinzuzufügen oder zu entfernen, bearbeiten Sie die .ResX-Datei und führen dann ResGen + // mit der Option /str erneut aus, oder erstellen Sie Ihr VS-Projekt neu. + [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() + { + } + + /// + /// Gibt die zwischengespeicherte ResourceManager-Instanz zurück, die von dieser Klasse verwendet wird. + /// + [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("Test_SearchAndFind.Properties.Resources", typeof(Resources).Assembly); + resourceMan = temp; + } + return resourceMan; + } + } + + /// + /// Überschreibt die CurrentUICulture-Eigenschaft des aktuellen Threads für alle + /// Ressourcenlookups, die diese stark typisierte Ressourcenklasse verwenden. + /// + [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] + internal static global::System.Globalization.CultureInfo Culture + { + get + { + return resourceCulture; + } + set + { + resourceCulture = value; + } + } + } +} diff --git a/Test_SearchAndFind/Properties/Resources.resx b/Test_SearchAndFind/Properties/Resources.resx new file mode 100644 index 0000000..af7dbeb --- /dev/null +++ b/Test_SearchAndFind/Properties/Resources.resx @@ -0,0 +1,117 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/Test_SearchAndFind/Properties/Settings.Designer.cs b/Test_SearchAndFind/Properties/Settings.Designer.cs new file mode 100644 index 0000000..d0f0fc4 --- /dev/null +++ b/Test_SearchAndFind/Properties/Settings.Designer.cs @@ -0,0 +1,30 @@ +//------------------------------------------------------------------------------ +// +// 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. +// +//------------------------------------------------------------------------------ + +namespace Test_SearchAndFind.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; + } + } + } +} diff --git a/Test_SearchAndFind/Properties/Settings.settings b/Test_SearchAndFind/Properties/Settings.settings new file mode 100644 index 0000000..3964565 --- /dev/null +++ b/Test_SearchAndFind/Properties/Settings.settings @@ -0,0 +1,7 @@ + + + + + + + diff --git a/Test_SearchAndFind/Search.cs b/Test_SearchAndFind/Search.cs new file mode 100644 index 0000000..b2d9e68 --- /dev/null +++ b/Test_SearchAndFind/Search.cs @@ -0,0 +1,139 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Text.RegularExpressions; +using System.Threading.Tasks; + +namespace Test_SearchAndFind +{ + class Search + { + /// + /// Searches the specified string in a text + /// + /// Text to be searched. + /// Character string to be searched. + /// Should be ignored upper/lower case. + /// Should only be searched for a whole word. + public Search(string text, string searchString, bool noCaseSensitve, bool onlyFullWord) + { + Text = text; + SearchString = searchString; + NoCaseSensitve = noCaseSensitve; + OnlyFullWord = onlyFullWord; + + SearchEntities(); + CurrentCursorPosition = AllPositions[0]; + Index = 0; + } + + private string Text { set; get; } + private string SearchString { set; get; } + private bool NoCaseSensitve { set; get; } + private bool OnlyFullWord { set; get; } + public int Index { private set; get; } + public int CurrentCursorPosition { set; get; } + public List AllPositions { set; get; } + public bool Error { set; get; } + + private void SearchEntities() + { + Error = false; + + string text = Text; + string searchString = SearchString; + + if (NoCaseSensitve) + { + //Groß-/Kleinschreibung ignorieren + text = text.ToLower(); + searchString = searchString.ToLower(); + } + + if (!String.IsNullOrEmpty(searchString) && text.Contains(searchString)) + { + AllPositions = Positions(text, searchString); + } + else + { + Error = true; + } + } + + private List Positions(string text, string searchString) + { + List positions = new List(); + + if (String.IsNullOrEmpty(text) || String.IsNullOrEmpty(searchString)) + { + return positions; + } + + int position = 0; + int currentPos = 0; + + while (text.Contains(searchString)) + { + if (OnlyFullWord) + { + //Nur ganzes Wort suchen + currentPos = IndexOfWord(text, searchString); + } + else + { + //Suchstring suchen + currentPos = text.IndexOf(searchString); + } + + position += currentPos; + positions.Add(position); + position += searchString.Length; + + text = text.Remove(0, currentPos + searchString.Length); + } + + return positions; + } + + private Regex myRegex; + + private int IndexOfWord(string myString, string myWord) + { + myRegex = new Regex("\\b" + Regex.Escape(myWord) + "\\b", RegexOptions.Compiled); + + Match mtch = myRegex.Match(myString); + + if (mtch.Success) + return mtch.Index; + else + return -1; + } + + public void NextPosition() + { + if (Index + 1 < AllPositions.Count) + { + Index++; + } + else + { + Index = 0; + } + CurrentCursorPosition = AllPositions[Index]; + } + + public void PreviousPosition() + { + if (Index > 0) + { + Index--; + } + else + { + Index = AllPositions.Count - 1; + } + CurrentCursorPosition = AllPositions[Index]; + } + } +} diff --git a/Test_SearchAndFind/Test_SearchAndFind.csproj b/Test_SearchAndFind/Test_SearchAndFind.csproj new file mode 100644 index 0000000..9129127 --- /dev/null +++ b/Test_SearchAndFind/Test_SearchAndFind.csproj @@ -0,0 +1,84 @@ + + + + + Debug + AnyCPU + {866F66E5-8525-4F23-B31E-969C083A343B} + WinExe + Test_SearchAndFind + Test_SearchAndFind + v4.7.2 + 512 + true + false + + + AnyCPU + true + full + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + + + AnyCPU + pdbonly + true + bin\Release\ + TRACE + prompt + 4 + + + + + + + + + + + + + + + + + Form + + + Form1.cs + + + + + + Form1.cs + + + ResXFileCodeGenerator + Resources.Designer.cs + Designer + + + True + Resources.resx + + + SettingsSingleFileGenerator + Settings.Designer.cs + + + True + Settings.settings + True + + + + + + + \ No newline at end of file diff --git a/Test_SearchAndFind/bin/Debug/Test_SearchAndFind.exe b/Test_SearchAndFind/bin/Debug/Test_SearchAndFind.exe new file mode 100644 index 0000000000000000000000000000000000000000..3fd69068ad189f7ab53793e1c58c558e2bf67f52 GIT binary patch literal 21504 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 + + + + + \ No newline at end of file diff --git a/Test_SearchAndFind/bin/Debug/Test_SearchAndFind.pdb b/Test_SearchAndFind/bin/Debug/Test_SearchAndFind.pdb new file mode 100644 index 0000000000000000000000000000000000000000..7975367bd079883593ba8155d8c628fcae9e14b5 GIT binary patch literal 44544 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 kDuX6K +using System; +using System.Reflection; +[assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETFramework,Version=v4.7.2", FrameworkDisplayName = ".NET Framework 4.7.2")] diff --git a/Test_SearchAndFind/obj/Debug/DesignTimeResolveAssemblyReferences.cache b/Test_SearchAndFind/obj/Debug/DesignTimeResolveAssemblyReferences.cache new file mode 100644 index 0000000000000000000000000000000000000000..d277094be237a75094b9e1fd20a0c50ab5c13b0a GIT binary patch literal 1435 zcmcIk%Wl&^6dfnFn@550DlAx-1rn&y$RUIlqzILi2#HrAQM<9ICiZn0W$dYD?1r%6 zBltF!`~m*}bKNKiE3nH*KAy49_?&xm$HXFp{4xXYIJPSWKEC0hl3K(J|9A zO$Smz+dBrOxlH?=9_>({`fYEJi!4{rPa)3~6K(G(p9mhlg2h( z`K-$v6uY}#W3Xvo4$s;y-`O=EW;lQX73)$qF`{snCFP`k%Wz+DOw#2p7F? zM(ZF9L2EwYf@h0Dt8TQ|M(Rp*D3#!oLZ)G4PB$X6j1O~b8joX+7X;-SL1otj>^tKRpOM8N~L0vddwey}=xuo$n!z3g+lwTiK*xzvBH(vMqK-llNC4~}I zZR~R8Q>UnXn+s!IxUTTFavSN?E|ZE2Z#BDUWbiMYTK668OSbAUUrXwwQ#*de;nt6= zQ4&YYTdic~steVnYBp;xWau0nM9AfjApPKT$40y@Pctd%?T z5p^7K!t6Drm|Jlg8>gCixGFUYqt}I3<+VI_*rY{0o7+^g_DF11GgaSl@{+pjM98Cd zSBX}jZ{kv4UN|<``xF~XRMwadrxpE*VtN~tsOP-q3CVJ-O2HLdp3< zQ(bfDLw>W0C)e69&Pq98r_xuJnd6dKT1d{+Sl!lC78#Y+!4B02YOHppVWcia6+DDi zjZ0SJO3OxPLIMoa3|%-4iY_|i0?Oo-u6M%YM@&AuxjDyG-JuNxygIQJXfw@;J5pFo zDIwQj^<0BZ5OS?4%r5wz<}PbZxvHt@B{k(MR$x^onFp%!Qn;Y>5HvlI?bg68q>uCy z5{vbN?2E_a1U?{ReSZuV8%i@5!V~t_(im{Y8|E>|E#oaX>qB;L@0KBOB6g|cvmMIi zhuLswQA_UC(kWM2LOQ(CIb-wx`G_qo(FJQ^F}pH1&oav^<@9aqxT8yr!Vl%{y7i8$ zi^qE*8buU^rzr~McRZ%Le1LiZ8bu8C0<>E%&T<@iaH1c?aAE*&2T=eWh$ZfUfUhAG z2^7O9MnDXc`ygXv6h!W<&|*%ni$J7LsAOhHc1>e@qZD$;^zpp0WXz`96tqP*H%`yV z1JLw)eDk#l9Hj0obw&Reg;EtWLB<>cvjbMuKTlB7joq^0m1G6@ZOl#n9%7Bz0xFOT91}FM8 ztkvs=734c)1`zpr7%-_I)k(cLU0!@?hFh3wg&Hop6O`fpTnN0Okq6*pa}5L|w7~=_w!`M~Rf9ni?n|S~?kPfc<&YRtDI3TvC8^7^#)4 z?udrVJRMl}4Dj}zRL0FYXgAUR3lxl;=)`Vznnq6FJ!+St^(dCZ;znj0nBdw4mB z6J_LubX8#BR{&{63Hh_@1VCR$?MVcB%e`L^Z2;fnJ@(mSpIxo9bUS$qh|WILw_G*2 zulTQQX#cobaD|?~2EupN_4-qqO?l9*QEddYVnrq0%HtmL1Q zH1v+2ZE{az?G}r=TX1;J$t!4|J}cc^rf!@Q1Nys@seKQcM$ZcL1PM15vd>8dn*Im! zU*TRWcS~YQhKVc5f{12k$ti@I%;QP1V*m@7X J@VAfh$UnwlqwD|x literal 0 HcmV?d00001 diff --git a/Test_SearchAndFind/obj/Debug/Test_SearchAndFind.Form1.resources b/Test_SearchAndFind/obj/Debug/Test_SearchAndFind.Form1.resources new file mode 100644 index 0000000000000000000000000000000000000000..060e171ceae1e861dfddd0ad7b0d9382349c1562 GIT binary patch literal 781 zcma)3y>1gh5WXNPB;H|U+S4hB{E)&$z(hhQV8vFb*LRb$_%S(bgqc9Ux#xGgT&cTr3B+vtK##hO#= z%TAr0<#fsFZ70KnVn3~%UPc$9@=!PiH7=)doH<**;p=HPXBp0pkIi9uc=Yt-*#YlA zKY8*mS(IQ~-mp(NJbAP9 zvOW-7p|N%|4!jHny;7`UIiNPUl_Q!feHU zM}>zIkA|RQTk8w9z(m^LqW`el8lCrM2Pm|4lGPa4Mq6sfaLe0HLoe^@&q<=L$C$Fy zgfw+0+1AxdySnurr*v!IS5}e`TCie5D7ruY03)jo Au>b%7 literal 0 HcmV?d00001 diff --git a/Test_SearchAndFind/obj/Debug/Test_SearchAndFind.Properties.Resources.resources b/Test_SearchAndFind/obj/Debug/Test_SearchAndFind.Properties.Resources.resources new file mode 100644 index 0000000000000000000000000000000000000000..6c05a9776bd7cbae976fdcec7e3a254e93018279 GIT binary patch literal 180 zcmX?i>is@O1_p+SK%5g?SzMBus~417oL^d$oLUTL1*ImYq!#HYR*8GxXUf^%t3Noi54ZC+|=Nl{{sjzU0bQch;FcWPxwes*e}ZIZcpqG__J onW3ezNveT`r81^vrFkWpxv4PQgHubGfR2KJ07n-P+5+SQ04Y>DD*ylh literal 0 HcmV?d00001 diff --git a/Test_SearchAndFind/obj/Debug/Test_SearchAndFind.csproj.CoreCompileInputs.cache b/Test_SearchAndFind/obj/Debug/Test_SearchAndFind.csproj.CoreCompileInputs.cache new file mode 100644 index 0000000..c2b5e67 --- /dev/null +++ b/Test_SearchAndFind/obj/Debug/Test_SearchAndFind.csproj.CoreCompileInputs.cache @@ -0,0 +1 @@ +2a96740960e50e6c55cf6f0130a6b2560ebb598b diff --git a/Test_SearchAndFind/obj/Debug/Test_SearchAndFind.csproj.FileListAbsolute.txt b/Test_SearchAndFind/obj/Debug/Test_SearchAndFind.csproj.FileListAbsolute.txt new file mode 100644 index 0000000..06042d2 --- /dev/null +++ b/Test_SearchAndFind/obj/Debug/Test_SearchAndFind.csproj.FileListAbsolute.txt @@ -0,0 +1,10 @@ +H:\Programmieren\Git-Repository\VisualStudio\2017\_TEST\Test_SearchAndFind.git\Test_SearchAndFind\bin\Debug\Test_SearchAndFind.exe.config +H:\Programmieren\Git-Repository\VisualStudio\2017\_TEST\Test_SearchAndFind.git\Test_SearchAndFind\bin\Debug\Test_SearchAndFind.exe +H:\Programmieren\Git-Repository\VisualStudio\2017\_TEST\Test_SearchAndFind.git\Test_SearchAndFind\bin\Debug\Test_SearchAndFind.pdb +H:\Programmieren\Git-Repository\VisualStudio\2017\_TEST\Test_SearchAndFind.git\Test_SearchAndFind\obj\Debug\Test_SearchAndFind.csprojAssemblyReference.cache +H:\Programmieren\Git-Repository\VisualStudio\2017\_TEST\Test_SearchAndFind.git\Test_SearchAndFind\obj\Debug\Test_SearchAndFind.Form1.resources +H:\Programmieren\Git-Repository\VisualStudio\2017\_TEST\Test_SearchAndFind.git\Test_SearchAndFind\obj\Debug\Test_SearchAndFind.Properties.Resources.resources +H:\Programmieren\Git-Repository\VisualStudio\2017\_TEST\Test_SearchAndFind.git\Test_SearchAndFind\obj\Debug\Test_SearchAndFind.csproj.GenerateResource.cache +H:\Programmieren\Git-Repository\VisualStudio\2017\_TEST\Test_SearchAndFind.git\Test_SearchAndFind\obj\Debug\Test_SearchAndFind.csproj.CoreCompileInputs.cache +H:\Programmieren\Git-Repository\VisualStudio\2017\_TEST\Test_SearchAndFind.git\Test_SearchAndFind\obj\Debug\Test_SearchAndFind.exe +H:\Programmieren\Git-Repository\VisualStudio\2017\_TEST\Test_SearchAndFind.git\Test_SearchAndFind\obj\Debug\Test_SearchAndFind.pdb diff --git a/Test_SearchAndFind/obj/Debug/Test_SearchAndFind.csproj.GenerateResource.cache b/Test_SearchAndFind/obj/Debug/Test_SearchAndFind.csproj.GenerateResource.cache new file mode 100644 index 0000000000000000000000000000000000000000..4f79dba0d2e739c2d7c95bc698bf897f4f201b0e GIT binary patch literal 1012 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 kDuX6K