/// <summary> /// När man trycker på Find knappen så skapas ny object av circle buffer med parameter, nya object av reader writer och modify /// tidigare skapad tråd blir fyllt med metoder från klasserna och tråderna startas /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void btnCreate_Click(object sender, EventArgs e) { CircleBuffer circleBuf = new CircleBuffer(10, rchTextboxSource, txtFind.Text.Trim(), txtReplacewith.Text); writer = new Writer(circleBuf); reader = new Reader(circleBuf); modify = new Modifier(circleBuf); wr = new Thread(new ThreadStart(writer.startwrtiting)); rd = new Thread(new ThreadStart(reader.startReading)); md = new Thread(new ThreadStart(modify.modifyArray)); wr.Start(); rd.Start(); md.Start(); c = circleBuf; //While loop som skapa en mellan rum så alla tråderna hinner vara färdig innan output richtextbox börja fylls av modified list från circlebuffer while (c.ModifiedList.Count != c.MAX) { x += 1; } //En for loop som fyller rchtextboxDestionation med modified listens strängar for (int i = 0; i < c.ModifiedList.Count; i++) { rchTextBoxDestination.Text = rchTextBoxDestination.Text + c.ModifiedList[i] + " "; } //Om man söker efter en ord och vill replace med en annan ord så highlight orden som blir replaced. if (txtReplacewith.Text != string.Empty && txtFind.Text.Trim() != string.Empty) { SearchAndHighlight(txtReplacewith.Text.Trim(), rchTextBoxDestination); } SearchAndHighlight(txtFind.Text.Trim(), rchTextboxSource); //Label nummer blir lika med antalet replacements gjort lblNumber.Text = c.NbrReplacements.ToString(); //Visa användaren output taben för att visa resiltat tabControl1.SelectedIndex = 1; }
/// <summary> /// Initializes a new instance of the <see cref="Modifier"/> class. /// </summary> /// <param name="c">The c.</param> public Modifier(CircleBuffer c) { cBuff = c; }
/// <summary> /// Konstruktör som gör cbuffer till this.cbuffer, skapa writer klassen /// </summary> /// <param name="cbuffer">The cbuffer.</param> public Writer(CircleBuffer cbuffer) { this.cbuffer = cbuffer; }
/// <summary> /// Konstuktör för reader som gör parameter c till cbuffer. /// </summary> /// <param name="c">The c.</param> public Reader(CircleBuffer c) { cbuffer = c; }