Hack Forums
[.NET] Backspace correction - Printable Version

+- Hack Forums (https://hackforums.net)
+-- Forum: Tech (https://hackforums.net/forumdisplay.php?fid=444)
+--- Forum: Coding (https://hackforums.net/forumdisplay.php?fid=151)
+---- Forum: Software Development (https://hackforums.net/forumdisplay.php?fid=118)
+---- Thread: [.NET] Backspace correction (/showthread.php?tid=4201112)



Backspace correction - ShadyShadow - Apr 29, 2014

Hey, im working on a little fun prokject at the moment and i ran in 1 problem,
Its like a keylogger when it says: 14[back]23[back]35[back]
I want it to remove the [back] and the character before it, can someone help me out with this??? there might be also a problem when there is a situation like this: 123757[back][back][back] and the outcome has to be 123, can someone help me with this??


* - tweety - Apr 29, 2014

I suggest you stop copy and pasting the class you're using. It's not a matter of if anyone can do this, it's just the most simple string manipulation that you will ever do in your life.. Jesus.

PHP Code

<?php 
static void Main(string[] args)
      {
      
string message = "this message!";
      
Console.WriteLine(message.Remove(message.Length - 1));
      
Console.Read();
      } 

Just use that snippet in the handler for the backspace keycode.


* - ShadyShadow - Apr 29, 2014

(Apr 29, 2014 03:36 PM)Tweety. Wrote:  I suggest you stop copy and pasting the class you're using. It's not a matter of if anyone can do this, it's just the most simple string manipulation that you will ever do in your life.. Jesus.

PHP Code

<?php 
static void Main(string[] args)
      {
      
string message = "this message!";
      
Console.WriteLine(message.Remove(message.Length - 1));
      
Console.Read();
      } 

Just use that snippet in the handler for the backspace keycode.

I already fixed it with my own code :D thanks anyways


* - VPN - Apr 29, 2014

(Apr 29, 2014 04:17 PM)ShadyShadow Wrote:  I already fixed it with my own code :D thanks anyways

Do you mind posting your code aswell so people can learn from it ? I personally don't look forward to use but it might be helpful for others.


* - ShadyShadow - Apr 29, 2014

(Apr 29, 2014 04:36 PM)Woopza Wrote:  Do you mind posting your code aswell so people can learn from it ? I personally don't look forward to use but it might be helpful for others.

Sure, I know there is a much easier way to do this but this one is just working fine for me,

Code
Private Sub TextBox1_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox1.TextChanged
      If TextBox1.Text.Contains("1{Backspace}") Then
      TextBox1.Text = TextBox1.Text.Replace("1{Backspace}", "").Trim()
      ElseIf TextBox1.Text.Contains("2{Backspace}") Then
      TextBox1.Text = TextBox1.Text.Replace("2{Backspace}", "").Trim()
      ElseIf TextBox1.Text.Contains("3{Backspace}") Then
      TextBox1.Text = TextBox1.Text.Replace("3{Backspace}", "").Trim()
      ElseIf TextBox1.Text.Contains("4{Backspace}") Then
      TextBox1.Text = TextBox1.Text.Replace("4{Backspace}", "").Trim()
      ElseIf TextBox1.Text.Contains("5{Backspace}") Then
      TextBox1.Text = TextBox1.Text.Replace("5{Backspace}", "").Trim()
      ElseIf TextBox1.Text.Contains("6{Backspace}") Then
      TextBox1.Text = TextBox1.Text.Replace("6{Backspace}", "").Trim()
      ElseIf TextBox1.Text.Contains("7{Backspace}") Then
      TextBox1.Text = TextBox1.Text.Replace("7{Backspace}", "").Trim()
      ElseIf TextBox1.Text.Contains("8{Backspace}") Then
      TextBox1.Text = TextBox1.Text.Replace("8{Backspace}", "").Trim()
      ElseIf TextBox1.Text.Contains("9{Backspace}") Then
      TextBox1.Text = TextBox1.Text.Replace("9{Backspace}", "").Trim()
      ElseIf TextBox1.Text.Contains("0{Backspace}") Then
      TextBox1.Text = TextBox1.Text.Replace("0{Backspace}", "").Trim()
      ElseIf TextBox1.Text.Contains("a{Backspace}") Then
      TextBox1.Text = TextBox1.Text.Replace("a{Backspace}", "").Trim()
      ElseIf TextBox1.Text.Contains("b{Backspace}") Then
      TextBox1.Text = TextBox1.Text.Replace("b{Backspace}", "").Trim()
      ElseIf TextBox1.Text.Contains("c{Backspace}") Then
      TextBox1.Text = TextBox1.Text.Replace("c{Backspace}", "").Trim()
      ElseIf TextBox1.Text.Contains("d{Backspace}") Then
      TextBox1.Text = TextBox1.Text.Replace("d{Backspace}", "").Trim()
      ElseIf TextBox1.Text.Contains("e{Backspace}") Then
      TextBox1.Text = TextBox1.Text.Replace("e{Backspace}", "").Trim()
      ElseIf TextBox1.Text.Contains("f{Backspace}") Then
      TextBox1.Text = TextBox1.Text.Replace("f{Backspace}", "").Trim()
      ElseIf TextBox1.Text.Contains("g{Backspace}") Then
      TextBox1.Text = TextBox1.Text.Replace("g{Backspace}", "").Trim()
      ElseIf TextBox1.Text.Contains("h{Backspace}") Then
      TextBox1.Text = TextBox1.Text.Replace("h{Backspace}", "").Trim()
      ElseIf TextBox1.Text.Contains("i{Backspace}") Then
      TextBox1.Text = TextBox1.Text.Replace("i{Backspace}", "").Trim()
      ElseIf TextBox1.Text.Contains("j{Backspace}") Then
      TextBox1.Text = TextBox1.Text.Replace("j{Backspace}", "").Trim()
      ElseIf TextBox1.Text.Contains("k{Backspace}") Then
      TextBox1.Text = TextBox1.Text.Replace("k{Backspace}", "").Trim()
      ElseIf TextBox1.Text.Contains("l{Backspace}") Then
      TextBox1.Text = TextBox1.Text.Replace("l{Backspace}", "").Trim()
      ElseIf TextBox1.Text.Contains("m{Backspace}") Then
      TextBox1.Text = TextBox1.Text.Replace("m{Backspace}", "").Trim()
      ElseIf TextBox1.Text.Contains("n{Backspace}") Then
      TextBox1.Text = TextBox1.Text.Replace("n{Backspace}", "").Trim()
      ElseIf TextBox1.Text.Contains("o{Backspace}") Then
      TextBox1.Text = TextBox1.Text.Replace("o{Backspace}", "").Trim()
      ElseIf TextBox1.Text.Contains("p{Backspace}") Then
      TextBox1.Text = TextBox1.Text.Replace("p{Backspace}", "").Trim()
      ElseIf TextBox1.Text.Contains("q{Backspace}") Then
      TextBox1.Text = TextBox1.Text.Replace("q{Backspace}", "").Trim()
      ElseIf TextBox1.Text.Contains("r{Backspace}") Then
      TextBox1.Text = TextBox1.Text.Replace("r{Backspace}", "").Trim()
      ElseIf TextBox1.Text.Contains("s{Backspace}") Then
      TextBox1.Text = TextBox1.Text.Replace("s{Backspace}", "").Trim()
      ElseIf TextBox1.Text.Contains("t{Backspace}") Then
      TextBox1.Text = TextBox1.Text.Replace("t{Backspace}", "").Trim()
      ElseIf TextBox1.Text.Contains("u{Backspace}") Then
      TextBox1.Text = TextBox1.Text.Replace("u{Backspace}", "").Trim()
      ElseIf TextBox1.Text.Contains("v{Backspace}") Then
      TextBox1.Text = TextBox1.Text.Replace("v{Backspace}", "").Trim()
      ElseIf TextBox1.Text.Contains("w{Backspace}") Then
      TextBox1.Text = TextBox1.Text.Replace("w{Backspace}", "").Trim()
      ElseIf TextBox1.Text.Contains("x{Backspace}") Then
      TextBox1.Text = TextBox1.Text.Replace("x{Backspace}", "").Trim()
      ElseIf TextBox1.Text.Contains("y{Backspace}") Then
      TextBox1.Text = TextBox1.Text.Replace("y{Backspace}", "").Trim()
      ElseIf TextBox1.Text.Contains("z{Backspace}") Then
      TextBox1.Text = TextBox1.Text.Replace("z{Backspace}", "").Trim()
      ElseIf TextBox1.Text.Contains("A{Backspace}") Then
      TextBox1.Text = TextBox1.Text.Replace("A{Backspace}", "").Trim()
      ElseIf TextBox1.Text.Contains("B{Backspace}") Then
      TextBox1.Text = TextBox1.Text.Replace("B{Backspace}", "").Trim()
      ElseIf TextBox1.Text.Contains("C{Backspace}") Then
      TextBox1.Text = TextBox1.Text.Replace("C{Backspace}", "").Trim()
      ElseIf TextBox1.Text.Contains("D{Backspace}") Then
      TextBox1.Text = TextBox1.Text.Replace("D{Backspace}", "").Trim()
      ElseIf TextBox1.Text.Contains("E{Backspace}") Then
      TextBox1.Text = TextBox1.Text.Replace("E{Backspace}", "").Trim()
      ElseIf TextBox1.Text.Contains("F{Backspace}") Then
      TextBox1.Text = TextBox1.Text.Replace("F{Backspace}", "").Trim()
      ElseIf TextBox1.Text.Contains("G{Backspace}") Then
      TextBox1.Text = TextBox1.Text.Replace("G{Backspace}", "").Trim()
      ElseIf TextBox1.Text.Contains("H{Backspace}") Then
      TextBox1.Text = TextBox1.Text.Replace("H{Backspace}", "").Trim()
      ElseIf TextBox1.Text.Contains("I{Backspace}") Then
      TextBox1.Text = TextBox1.Text.Replace("I{Backspace}", "").Trim()
      ElseIf TextBox1.Text.Contains("J{Backspace}") Then
      TextBox1.Text = TextBox1.Text.Replace("J{Backspace}", "").Trim()
      ElseIf TextBox1.Text.Contains("K{Backspace}") Then
      TextBox1.Text = TextBox1.Text.Replace("K{Backspace}", "").Trim()
      ElseIf TextBox1.Text.Contains("L{Backspace}") Then
      TextBox1.Text = TextBox1.Text.Replace("L{Backspace}", "").Trim()
      ElseIf TextBox1.Text.Contains("M{Backspace}") Then
      TextBox1.Text = TextBox1.Text.Replace("M{Backspace}", "").Trim()
      ElseIf TextBox1.Text.Contains("N{Backspace}") Then
      TextBox1.Text = TextBox1.Text.Replace("N{Backspace}", "").Trim()
      ElseIf TextBox1.Text.Contains("O{Backspace}") Then
      TextBox1.Text = TextBox1.Text.Replace("O{Backspace}", "").Trim()
      ElseIf TextBox1.Text.Contains("P{Backspace}") Then
      TextBox1.Text = TextBox1.Text.Replace("P{Backspace}", "").Trim()
      ElseIf TextBox1.Text.Contains("Q{Backspace}") Then
      TextBox1.Text = TextBox1.Text.Replace("Q{Backspace}", "").Trim()
      ElseIf TextBox1.Text.Contains("R{Backspace}") Then
      TextBox1.Text = TextBox1.Text.Replace("R{Backspace}", "").Trim()
      ElseIf TextBox1.Text.Contains("S{Backspace}") Then
      TextBox1.Text = TextBox1.Text.Replace("S{Backspace}", "").Trim()
      ElseIf TextBox1.Text.Contains("T{Backspace}") Then
      TextBox1.Text = TextBox1.Text.Replace("T{Backspace}", "").Trim()
      ElseIf TextBox1.Text.Contains("U{Backspace}") Then
      TextBox1.Text = TextBox1.Text.Replace("U{Backspace}", "").Trim()
      ElseIf TextBox1.Text.Contains("V{Backspace}") Then
      TextBox1.Text = TextBox1.Text.Replace("V{Backspace}", "").Trim()
      ElseIf TextBox1.Text.Contains("W{Backspace}") Then
      TextBox1.Text = TextBox1.Text.Replace("W{Backspace}", "").Trim()
      ElseIf TextBox1.Text.Contains("X{Backspace}") Then
      TextBox1.Text = TextBox1.Text.Replace("X{Backspace}", "").Trim()
      ElseIf TextBox1.Text.Contains("Y{Backspace}") Then
      TextBox1.Text = TextBox1.Text.Replace("Y{Backspace}", "").Trim()
      ElseIf TextBox1.Text.Contains("Z{Backspace}") Then
      TextBox1.Text = TextBox1.Text.Replace("Z{Backspace}", "").Trim()
      ElseIf TextBox1.Text.Contains("@{Backspace}") Then
      TextBox1.Text = TextBox1.Text.Replace("@{Backspace}", "").Trim()
      ElseIf TextBox1.Text.Contains("!{Backspace}") Then
      TextBox1.Text = TextBox1.Text.Replace("!{Backspace}", "").Trim()
      ElseIf TextBox1.Text.Contains("#{Backspace}") Then
      TextBox1.Text = TextBox1.Text.Replace("#{Backspace}", "").Trim()
      ElseIf TextBox1.Text.Contains("?{Backspace}") Then
      TextBox1.Text = TextBox1.Text.Replace("?{Backspace}", "").Trim()
      ElseIf TextBox1.Text.Contains("%{Backspace}") Then
      TextBox1.Text = TextBox1.Text.Replace("%{Backspace}", "").Trim()
      ElseIf TextBox1.Text.Contains("${Backspace}") Then
      TextBox1.Text = TextBox1.Text.Replace("${Backspace}", "").Trim()
      ElseIf TextBox1.Text.Contains("({Backspace}") Then
      TextBox1.Text = TextBox1.Text.Replace("({Backspace}", "").Trim()
      ElseIf TextBox1.Text.Contains("){Backspace}") Then
      TextBox1.Text = TextBox1.Text.Replace("){Backspace}", "").Trim()
      ElseIf TextBox1.Text.Contains("-{Backspace}") Then
      TextBox1.Text = TextBox1.Text.Replace("-{Backspace}", "").Trim()
      ElseIf TextBox1.Text.Contains("={Backspace}") Then
      TextBox1.Text = TextBox1.Text.Replace("={Backspace}", "").Trim()
      ElseIf TextBox1.Text.Contains("+{Backspace}") Then
      TextBox1.Text = TextBox1.Text.Replace("+{Backspace}", "").Trim()
      ElseIf TextBox1.Text.Contains("/{Backspace}") Then
      TextBox1.Text = TextBox1.Text.Replace("/{Backspace}", "").Trim()
      ElseIf TextBox1.Text.Contains("\{Backspace}") Then
      TextBox1.Text = TextBox1.Text.Replace("\{Backspace}", "").Trim()
      ElseIf TextBox1.Text.Contains("[{Backspace}") Then
      TextBox1.Text = TextBox1.Text.Replace("[{Backspace}", "").Trim()
      ElseIf TextBox1.Text.Contains("]{Backspace}") Then
      TextBox1.Text = TextBox1.Text.Replace("]{Backspace}", "").Trim()
      ElseIf TextBox1.Text.Contains("{{Backspace}") Then
      TextBox1.Text = TextBox1.Text.Replace("{{Backspace}", "").Trim()
      ElseIf TextBox1.Text.Contains("}{Backspace}") Then
      TextBox1.Text = TextBox1.Text.Replace("}{Backspace}", "").Trim()
      ElseIf TextBox1.Text.Contains("*{Backspace}") Then
      TextBox1.Text = TextBox1.Text.Replace("*{Backspace}", "").Trim()
      ElseIf TextBox1.Text.Contains("&{Backspace}") Then
      TextBox1.Text = TextBox1.Text.Replace("&{Backspace}", "").Trim()
      ElseIf TextBox1.Text.Contains("^{Backspace}") Then
      TextBox1.Text = TextBox1.Text.Replace("^{Backspace}", "").Trim()
      ElseIf TextBox1.Text.Contains("<{Backspace}") Then
      TextBox1.Text = TextBox1.Text.Replace("<{Backspace}", "").Trim()
      ElseIf TextBox1.Text.Contains(">{Backspace}") Then
      TextBox1.Text = TextBox1.Text.Replace(">{Backspace}", "").Trim()
      ElseIf TextBox1.Text.Contains("_{Backspace}") Then
      TextBox1.Text = TextBox1.Text.Replace("_{Backspace}", "").Trim()
      ElseIf TextBox1.Text.Contains("€{Backspace}") Then
      TextBox1.Text = TextBox1.Text.Replace("€{Backspace}", "").Trim()
      ElseIf TextBox1.Text.Contains(".{Backspace}") Then
      TextBox1.Text = TextBox1.Text.Replace(".{Backspace}", "").Trim()
      ElseIf TextBox1.Text.Contains(",{Backspace}") Then
      TextBox1.Text = TextBox1.Text.Replace(",{Backspace}", "").Trim()
      ElseIf TextBox1.Text.Contains(":{Backspace}") Then
      TextBox1.Text = TextBox1.Text.Replace(":{Backspace}", "").Trim()
      ElseIf TextBox1.Text.Contains(";{Backspace}") Then
      TextBox1.Text = TextBox1.Text.Replace(";{Backspace}", "").Trim()
      ElseIf TextBox1.Text.Contains(" {Backspace}") Then
      TextBox1.Text = TextBox1.Text.Replace(" {Backspace}", "").Trim()
      ElseIf TextBox1.Text.Contains("{Backspace}") Then
      TextBox1.Text = TextBox1.Text.Replace("{Backspace}", "").Trim()
      End If
    End Sub



* - 6e756c6c - Apr 29, 2014

Here, try this instead.

Function:
Code
Function RemoveBackspaces(text As String, search As String) As String
      Dim Index, Count As Integer

      While True
      Index = text.IndexOf(search)
      Count = Math.Min(Index, 1)

      If Index = -1 Then
            Exit While
      End If

      text = text.Remove(Index - Count, search.Length + Count)
      End While

      Return text
    End Function

Usage:
Code
Dim Source As String = "[back]14[back][back][back][back]23135[back]7[back]"
      Dim Text As String = RemoveBackspaces(Source, "[back]")



* - 6577657534735 - Apr 29, 2014

Find each group of contiguous [back] tokens
Count how many there are ("n" of them) and remove them from the string
Remove the previous "n" characters from the string as well


* - ShadyShadow - Apr 30, 2014

(Apr 29, 2014 08:17 PM)Aeonhack Wrote:  Here, try this instead.

Function:
Code
Function RemoveBackspaces(text As String, search As String) As String
      Dim Index, Count As Integer

      While True
      Index = text.IndexOf(search)
      Count = Math.Min(Index, 1)

      If Index = -1 Then
      Exit While
      End If

      text = text.Remove(Index - Count, search.Length + Count)
      End While

      Return text
    End Function

Usage:
Code
Dim Source As String = "[back]14[back][back][back][back]23135[back]7[back]"
      Dim Text As String = RemoveBackspaces(Source, "[back]")
Thanks aeonhack, ur a great programmer, thanks for ur help the code from you is much easier :d


* - Washi - Apr 30, 2014

(Apr 29, 2014 08:17 PM)Aeonhack Wrote:  Here, try this instead.

Function:
Code
Function RemoveBackspaces(text As String, search As String) As String
      Dim Index, Count As Integer

      While True
      Index = text.IndexOf(search)
      Count = Math.Min(Index, 1)

      If Index = -1 Then
      Exit While
      End If

      text = text.Remove(Index - Count, search.Length + Count)
      End While

      Return text
    End Function

Usage:
Code
Dim Source As String = "[back]14[back][back][back][back]23135[back]7[back]"
      Dim Text As String = RemoveBackspaces(Source, "[back]")

I would consider creating a StringBuilder and use a StringBuilder.Remove instead of calling String.Remove. If you wants to mutate strings, you should use a mutable string instead of the normal static string, in order to gain speed and reduce memory usage, which is quite a must if you are mutating a large string.


* - SIM-1456245 - Apr 30, 2014

(Apr 30, 2014 02:27 AM)TheUnknownProgrammer Wrote:  I would consider creating a StringBuilder and use a StringBuilder.Remove instead of calling String.Remove. If you wants to mutate strings, you should use a mutable string instead of the normal static string, in order to gain speed and reduce memory usage, which is quite a must if you are mutating a large string.

You know, you remind me on ident, he was always telling people to use strict and you are telling everyone to use string builder. I'm not saying that it's not the way of doing this, but it's funny how you are always saying, that, and people never get it.