tags:

views:

462

answers:

5

I have a combination of ItemNo and LotNo value.

Example :

ItemNo: I123
LotNo : L12345
Barcode Value is: "I123L12345" 

I want to put the value of ItemNo to txtItemNo.Text and LotNo to txtLotNo.Text

How can I instruct the barcode to do Carriage Return or Enter so that I can be able to input 2 values on one Barcode scan.

My barcode supports CODE 128, CODE 3of9 and CODE 93.

Thanks in advance.

+2  A: 

I have worked with Barcodes Readers (Datalogic and Symbol) for almost 3 years and what you are asking is a matter of Barcode Reader Configuration.

You will probably have to read codes from you configuration Chart and set after the BARCODE is read send CR as well.

provide us the Brand and Model and maybe I can help you set that up.


programatically of course that you can listen to the Text Event (on text change) and when you have the Barcode lenght just move the Focus() to other control, or add a NewLine (if it's a Multiline TextBox for example...

private void txtMyBCInput_OnTextChanged(...) {
    if(txtMyBCInput.Length >= 13)
       txtMyBCInput.Text += System.Environment.NewLine;
}

I tried to send them an email requesting technicall data for your issue, I got this:

Dear Bruno,

According to our sales policy, we support our customer through our local partner. Please let us know where (Company name) your friend got our device, and I will contact the company to help your friend. If you have any queries, please let me know.

Thank you!
Sincerely yours,

Julee Lee
Overseas Sales EMEA Division/Sales Manager
Bluebird Soft Inc.
1242 Gaepo-dong, Kangnam-gu, Seoul, Korea
Tel: 82-70-7730-8130 Mobile: 82-10-8876-6564 Fax: 82-2-548-0870

So, please fell free to contact them and ask for this feature :)

balexandre
I tried this one but no success. I think you cannot track the OnTextChanged event because the barcode put the chunk of values in batch not on every single character. thank you.
RJ1516
I'm using PIDION BIP 6000 PDA with built in barcode. Thanks for your help.
RJ1516
added email response to a Support Email that I sent in your behavior
balexandre
Thanks a lot balexandre!
RJ1516
+2  A: 

It sounds like you want to have the barcode automatically insert an EnterKey within the scanned value. Although there may be barcode scanners out there that would do this, most will not.

Instead, it's up to your code to recognize that the entered value has two values within it, and to parse them out and disseminate them to their appropriate fields.

For example, if each code starts with a letter, followed by a numeric value, then can walk through the characters, checking for alpha or numeric, and deal with them accordingly.

Mike Hanson
I think this will work but with this workaround I will be forced to put the code on each of my texboxes event.
RJ1516
Yes, both fields will need to capture the event, but the logic itself should be place in a single method, callable by both event handlers.
Mike Hanson
+2  A: 

You can put a TAB character (0x09) between the 2 parts in your barcode and make sure that your text boxes have consecutive TabIndex and AcceptTabs set to false. So when the barcode reader puts the tab into the first text box the focus will move to the second box.

munissor
I tried this one also. Whenever I put the 0x09 on my barcode. It also prints 0x09.
RJ1516
+1  A: 

If you are printing the barcode yourself, you can use Code128 and include a CR, LF, and or TAB in the barcode. BTW, you should take a look at GS1-128, since you are doing something that looks like a proper application of GS1-128. Doing that would allow your business partners to use your barcodes without having to negotiate the format, as long as their software understands GS1-128.

ammoQ
If I put CR, LF between my two values, it also prints CR and LF.
RJ1516
CR LF in C# is "\n\r"
balexandre
+2  A: 

This workaround might help :

First , you have to include delimiters to your barcode.

Then use this code (This code assumes the delimiter is '$') :

private void textBox1_TextChanged(object sender, EventArgs e)
    {
        if (textBox1.Text.Contains("$"))
        {
            string[] str_split = textBox1.Text.Split("$".ToCharArray ());
            textBox1.Text = str_split[0].ToString ();
            textBox2.Text = str_split[1].ToString();
        }
    }
Jacob Reyes