search for a <GS> string in 123 scan

Hi there,

 

I would like to know if's possible to search for the group separator in a rule? I know it's possible in an action but I would like to trigger it a level higher in the string section?

So instead for searching the string "21" as presented in the screenshot I would like to seach for "<GS>240"

Currently I'm running version 3.2 build 8.0

All suggestions are welcome.

 

Regards,

Ronald.

Anonymous (not verified)
Hi Ronald,using the scan test

Hi Ronald,

using the scan test in the 123scan,without any configuration ..and set the flag Show non-printable characters..what do you see ?

I need to know for understand what is the scan code....

Bye Alberto

Vote: 
Vote up!
Vote down!

Points: 0

You voted ‘up’


Daan van Wel
Hi Alberto,This is the

Hi Alberto,

This is the Barcode I'm scanning;

sample-240.png

I would like to trigger on the <GS>240 part.

Vote: 
Vote up!
Vote down!

Points: 0

You voted ‘up’


Anonymous (not verified)
Hi Ronald,what you want to

Hi Ronald,

what you want to have in output from the scanner...you would like to cancel/remove the Group Separator...sorry but I dont understand what you mean with "to trigger on"

Bye

Vote: 
Vote up!
Vote down!

Points: 0

You voted ‘up’


Daan van Wel
I’ve made a mockup of the

I’ve made a mockup of the rule I would like to build, hopefully it explains my question.

123 scan string GS240 trigger request.png 


Vote: 
Vote up!
Vote down!

Points: 0

You voted ‘up’


Wolfgang Haeussler
Hi Ronald,with the action

Hi Ronald,

with the action 'Move to all patterns and replace' you can replace / search for a GS character (1D).

Capture.JPG

Wolfgang

Vote: 
Vote up!
Vote down!

Points: 1

You voted ‘up’


Janine Currie
Hi Ronald,The "String" field

Hi Ronald,

The "String" field in 123Scan2 will only allow you to enter printable characters.  The <GS> is a non-printable character.  Your actions are as good as entering the <GS> in the string field though.  In your mockup you are using a Move to Pattern <GS>240 action.  This rule will only work for barcodes that contain a <GS>240 so while you are not entering the GS in the string field you are accomplishing the same task.  The only problem would be if you needed to look for a <GS> in a specific location.  Even then I believe we could use the actions of the rule to eliminate barcodes that do not fit your criteria.  If you have any questions please let me know.

Best Regards,

Janine

Vote: 
Vote up!
Vote down!

Points: 1

You voted ‘up’


Daan van Wel
Hi Janine,Thank you for your

Hi Janine,

Thank you for your reply, this clearly answers my question.

Searching for the <GS>240 on a specific location to differentiate between different codes does not seem possible to me. As you can see in my sample code it has 2 variable fields at the end so I cannot state the location as it may vary depending on the length of field 21 and 240.

I did manage to build rules to accomplish my task but the ability to search for a non-printable character in the "String" field would have made it better/simpler.

Regards,

Ronald.

Vote: 
Vote up!
Vote down!

Points: 0

You voted ‘up’


Janine Currie
Hi Ronald,You can do the

Hi Ronald,

You can do the search with programming barcodes from the Advanced Data Formatting Programmers Guide, but it certainly is not a easy as creating a rule with 123Scan2.  I have asked 123Scan2 Product Management if we could add the ability to enter a non-printable character into the String field in future versions of the software.

Best Regards,

Janine

Vote: 
Vote up!
Vote down!

Points: 0

You voted ‘up’


Jan Rychter
I have just encountered the

I have just encountered the same problem (I need to replace RS, GS and EOT with printable representations). Has anything been done with this issue?

This is a showstopper for using scanners with webapps, because the browsers interpret RS and GS as keyboard shortcuts. And as ISO/IEC 15434 2D barcodes use RS, GS and EOT this means that 2D barcodes with Zebra scanners can't be supported.

Vote: 
Vote up!
Vote down!

Points: 0

You voted ‘up’


Andreas Fauerbach
I think, your problem is

I think, your problem is slightly different. What you need to do is use 123scan to define an ADF Rule that has a number of "find and replace" actions in it.

The scanned data is stored in a line buffer, that can be edited on the fly by ADF.

You need to search and replace all unprintable characters and skip back to the start of the buffer. then flush everything.

In your case the rule could look like this:

Begin New Rule

1. Move To All Patterns and Replace <<RS>> with <<TAB>>

2. Skip To Start

3. Move To All Patterns and Replace <<GS>> with <<TAB>>

4. Skip To Start

5. Move To All Patterns and Replace <<EOT>> with <<Enter>>

6. Skip To Start

7. Send All that remains

In which case all record and group separators are replaced by TAB and the EOT are replaced by an Enter (or any strings of your choice)

This is a common issue, because those barcodes are made to be interpreted by specific drivers and not by web browsers.

Vote: 
Vote up!
Vote down!

Points: 0

You voted ‘up’


Florian Kneissl
Dear Andreas,I have exactly

Dear Andreas,

I have exactly the same application, but probably a problem with understanding the 123scan² functionality.

I use a DS4308 with factory default settings (only activated GS1 DataMatrix), and try to read a GS1 DataMatrix code.

When I check the code in the Data view window with "show non-printable characters" activated, I see the correct <GS> value.

I applied a new simple rule like described above:

Code Type "All Codes", Code Length "Any", String empty, String at Position "Any".

1. Move To All Patterns and Replace <GS> with <TAB>

2. Skip To Start

3. Send All that remains

When I load that rule to the scanner, and check the input in the Data View window again, the <GS> value stay the same and is not replaced with a <TAB>.

Where is my error / misconception?

Vote: 
Vote up!
Vote down!

Points: 0

You voted ‘up’


Anonymous (not verified)
Hi Florian,please can we

Hi Florian,

please can we share with us the barcode image?

Bye

Vote: 
Vote up!
Vote down!

Points: 0

You voted ‘up’


Florian Kneissl
Hi Alberto,sure, I made a

Hi Alberto,

sure, I made a sample barcode:

gs1_1.png

When I check the input with my scanner, I receive:

gs1_2.png

My rules are:

gs1_3.png

I changed the replace-String to "@" to definitely find the difference, but either with the applied rules or without any modify data rule, the <GS> stays in the scan result.

At the last image, I additionally changed custom settings to Keyboard Country Type "German" and "UTF-8" as Country Code Page, but that does not change the above scan result, too.

I hope that helps. Thanks a lot!

Vote: 
Vote up!
Vote down!

Points: 0

You voted ‘up’


Anonymous (not verified)
Hi ,please test using a Text

Hi ,

please test using a Text Notepad application...is working for me,

Let me check why is not working using the HID interface in 123scan2

Bye

Vote: 
Vote up!
Vote down!

Points: 0

You voted ‘up’


Anonymous (not verified)
this is what I have in

this is what I have in 123scan

After set the barcode reader using the direct download close and re-open the 123Scan...the first shoot is always wrong (do not ask me why)

Bye

Vote: 
Vote up!
Vote down!

Points: 1

You voted ‘up’


Florian Kneissl
Dear Alberto,thanks for your

Dear Alberto,

thanks for your check, that's strange ...

Is it possible for you to upload the .config file that worked for you?

Vote: 
Vote up!
Vote down!

Points: 0

You voted ‘up’


Anonymous (not verified)
Yes sure,Bye

Yes sure,

Bye

Vote: 
Vote up!
Vote down!

Points: 0

You voted ‘up’


Florian Kneissl
Dear Alberto,I found the

Dear Alberto,

I found the problem: I started in my rule with Code Type "DataMatrix", since I wanted to replace in a GS1 DataMatrix Code ... but that's not working.

When I use Code-Type "DataMatrix" => no replacement

When I use Code-Type "All" => replacement

Since there is no option for "GS1 DataMatrix" as Code Type in the replacement rules, I'll have to live with that. Since I don't use <gs> with other code styles, I think that will work.

Thanks a lot!

Vote: 
Vote up!
Vote down!

Points: 0

You voted ‘up’


Philipp Gruber
Have you tried the WebSerial API?

Chromium already implements the WebSerial API behind a flag chrome://flags/#enable-experimental-web-platform-features and it will be in Chromium 89 stable presumably.
With this tool, I already achieved a working solution for this issue. Works on Linux, Mac, Windows. But you have to use a Chromium-based Browser.

Vote: 
Vote up!
Vote down!

Points: 0

You voted ‘up’


Log in to post comments