0

How to stream data entered by the user in text box into int array? Let's say, that I've got a window with 2 text boxes and buttons and buffer, that is not visible in interface.
I want data from textbox1 (for example CAT) to be saved into int buffer[255] after clicking button1. Then, after clicking button2, 'CAT' should appear in textbox2 and being deleting from buffer.
It should be like:

int buffer[255]={0};
//user entered 'CAT' in textbox1
//clicking button1
//now:
buffer[0]=[67]; //67 = 'C' in ASCII
buffer[1]=[65];
buffer[2]=[84];
//clicking button2
//in read-only textbox2 'CAT' appears
//now:
buffer[]={0};

I guess there will be need some conversion while displaying word in textbox2 (for loop with System.Convert.ToChar(buffer[i])), but what puzzles me most is how to save text from textbox1 into buffer.

Ok, thx for responses, now I need to make my button work, but don't know why, I've got now this method:

public int saveToBuffer(string text)
        {
            string txt = text;
            int[] receivedBuffer = new int[255];
            int count = 0;
            //int i = 0;

            foreach(char c in txt)
            {
                receivedBuffer[count] = c;
                count++;
            }
            return receivedBuffer[255];
        }

Which returns text from textbox1 to array receivedBuffer. I also got this button:

private void saveToBufferButton_Click(object sender, EventArgs e)
        {

        }

and I don't know what to put beetwen {} to make it work.

1
  • You could loop through textbox1.Text till the textbox1.Text.Length and get each char into buffer index. Commented Aug 25, 2014 at 12:02

3 Answers 3

1

Appreciating that I'm not using a statically defined buffer in this example, hopefully this will help you get to the desired solution:

int[] buffer = "CAT".Select(Convert.ToInt32).ToArray();
string result = new string(buffer.Select(Convert.ToChar).ToArray());

Replace "CAT" in the sample above with textbox1.Text.

Sign up to request clarification or add additional context in comments.

Comments

0

Great response from Rob Epsteing, just to add a different approach without LINQ that might give an good idea of what we is essentially shown by Rob Epstein in 2 statements.

        string text = "CAT";
        int[] buffer = new int[text.Length];
        int count = 0;
        //add to buffer
        foreach(char c in text)
        {
            buffer[count] = c;
            count++;
        }

        //from buffer to text
        StringBuilder builder = new StringBuilder();
        foreach(char c in buffer)
        {
            builder.Append(c);
        }
        text = builder.ToString();

Comments

0

A simple method to retrieve ASCII code from string is :

string value = textbox1.Text;

// Convert the string into a byte[].
byte[] asciiBytes = Encoding.ASCII.GetBytes(value);

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.