ASCII hi-bit characters

Technical support and scripting issues

Moderators: Dorian (MJT support), JRL

Post Reply
User avatar
Bob Hansen
Automation Wizard
Posts: 2475
Joined: Tue Sep 24, 2002 3:47 am
Location: Salem, New Hampshire, US
Contact:

ASCII hi-bit characters

Post by Bob Hansen » Thu Oct 17, 2002 7:10 pm

I am trying to use "Message>" to create a progress bar and found that i cannot get the ASCII characters that I need. :(

Apparently the hi-bit characters that I am looking for are part of the "box and line drawing" IBM set, not the standard ASCII values.
:?: Is there a way to generate the IBM set characters for ASCII 176,177,178, 219 (and others from the IBM set)?

:idea: I have tried changing a number of fonts with no success. :(
:idea: I have tried copying the character into clipboard and pasting it into MS, but do not get the IBM set character. :(

:?: Is there a specific font that can be used for this? Some other answer?

:idea: Future option in 7.1?

(Using MSVb7.0)

Ernest

Post by Ernest » Wed Dec 11, 2002 11:01 am

Hi bob,
I'm sure you've already solved that issue, so this is for the crowd :P

http://www.jimprice.com/jim-asc.htm#keycodes
http://frank.ellermann.bei.t-online.de/kex/xhtml.kex
http://frank.ellermann.bei.t-online.de/ascii.htm

Don't ask me anything about it. :roll:

E.

User avatar
Marcus Tettmar
Site Admin
Posts: 7380
Joined: Thu Sep 19, 2002 3:00 pm
Location: Dorset, UK
Contact:

Post by Marcus Tettmar » Wed Dec 11, 2002 11:25 am

Hi,

Use the Ascii command:

Ascii>176,177,178,219
Marcus Tettmar
http://mjtnet.com/blog/ | http://twitter.com/marcustettmar

Did you know we are now offering affordable monthly subscriptions for Macro Scheduler Standard?

User avatar
Bob Hansen
Automation Wizard
Posts: 2475
Joined: Tue Sep 24, 2002 3:47 am
Location: Salem, New Hampshire, US
Contact:

Post by Bob Hansen » Thu Dec 12, 2002 5:01 am

:(
Unfortunately, NO, I have not resolved the problem yet. I have patiently been waiting for some brilliant suggestion. A point to emphasize is that the problem is only in displaying these characters to the screen in Macro Scheduler Message> window.

My temporary fix is to use text saying something like "Finished Processing n of total items."

The pages that were provided by Ernest are terrific, but no answer. (Some great links at the end, well worth the price of admission alone!). Thanks for that info.

The "JimPrice" page perhaps explains the problem best:
"Microsoft Windows ® has a different notion about what the high-order (upper 128) characters are, as shown in the table below..."

Regarding Marcus suggestion to use Ascii>176,177,178,219, that does not work out in the Macro Scheduler Message Box. There is no destination for the ASCII command. This works good for entering text into another program, like a word processor. or a form field, etc. But then if I copy that string to clipboard and paste it to a MacroSched variable, and then have Message call that string, I still get the Windows translation vs. the IBM symbols. Even though the symbols looked good on text, the display is different.

:idea:
1. Could we get a modification to output ASCII> to a variable?

Something like ASCII>strValue,SetID, code,code,code,code,code...
where "strValue" is the user defined variable to hold results, "SetID" is the choice of IBM or Windows character set, and "code" is an unlimited series of ASCII codes.

2. And if we could, would Message> actually display the IBM extended characters or would Windows supercede?

:?:

Am still hoping for an existing solution, but am open to all ideas.

User avatar
Marcus Tettmar
Site Admin
Posts: 7380
Joined: Thu Sep 19, 2002 3:00 pm
Location: Dorset, UK
Contact:

Post by Marcus Tettmar » Thu Dec 12, 2002 7:37 am

Hi,

Sorry, wasn't thinking. Try this for a workaround:

Message>
WaitWindowOpen>Macro Scheduler Message
Press Tab
Ascii>176,177,178,219
Marcus Tettmar
http://mjtnet.com/blog/ | http://twitter.com/marcustettmar

Did you know we are now offering affordable monthly subscriptions for Macro Scheduler Standard?

User avatar
Bob Hansen
Automation Wizard
Posts: 2475
Joined: Tue Sep 24, 2002 3:47 am
Location: Salem, New Hampshire, US
Contact:

Post by Bob Hansen » Thu Dec 12, 2002 11:02 am

:D
Great idea to open the Message window and then use ASCII> to fill in the symbols. Here is the working macro code:
========================================
:!:
//macro to display progress bar.
//Only variable is Total number of characters to show

Let>Total=10
Let>LeftMargin=10

//open blank window
Message>
WaitWindowOpen>Macro Scheduler Message*
Press Tab

//Send trial text characters
Ascii>84,69,83,84,10,13

//set left margin spacing
Let>m=0
Repeat>m
Add>m,1
Ascii>32
Until>m,LeftMargin

//print total empty progress bar symbols (177)
Let>k=0
Repeat>k
Add>k,1
Ascii>177
Until>k,Total

//move cursor to beginning of progress bar
Press Home
Let>s=0
Repeat>s
Add>s,1
Press Right
Until>s,LeftMargin
Wait>3

//change character to show progress done symbols (178)
Label>Loop
Ascii>178
Press Del
Sub>Total,1

//visual delay - actual value to be calculated based on real progress
Wait>3
If>Total=0,End,Loop

Label>End
//message that process is completed
Ascii>10,13,68,79,78,69
===========================================
BUT......you will see that I still get the Windows character set for 177 and 178 vs. the IBM set. :?

See the symbols for extended ASCII codes 177,178 on http://www.asciitable.com as an example of the characters I am looking to display.

Still need help here, I know the answer is out there. Do I need to send some type of code to the graphics card to switch character sets? Is there a registry setting that might do this? :?:

Ernest

Post by Ernest » Thu Dec 12, 2002 2:59 pm

Hi Bob,
I had a try with an additional line - it worked :)

ResizeWindow>Macro Scheduler Message*,120,100

Rgds,
Ernest

User avatar
support
Automation Wizard
Posts: 1450
Joined: Sat Oct 19, 2002 4:38 pm
Location: London
Contact:

Post by support » Thu Dec 12, 2002 3:14 pm

Not sure there is a solution. Here is an excerpt (from http://www.microsoft.com/kb/articles/q23/1/10.htm)
that discusses this:

ASCII numeric codes from decimal 127 to 255 represent
the "extended character set." Usually the extended
character set consists of foreign characters and other
special symbols not available in the character set from
33 to 126. There is no standard for the extended character
set. For example, IBM printers will print an ASCII decimal
163 as a small "u" with an accent mark, but Apple printers
may print 163 as an British pound sign.

But will continue to investigate.
MJT Net Support
[email protected]

User avatar
Bob Hansen
Automation Wizard
Posts: 2475
Joined: Tue Sep 24, 2002 3:47 am
Location: Salem, New Hampshire, US
Contact:

Post by Bob Hansen » Thu Dec 12, 2002 6:16 pm

Hi Ernest.....thanks again.

You say the additional line worked, but it did not work for me! I did not have a problem with window size, but the actual character displayed. If you really do have the correct display, could you include or send me a screen shot? If you do have it, then I think I would like to know more about your hardware and video stuff.

Per your success I inserted the following 2 lines into my macro just after the WaitWindowOpen line:

ResizeWindow>Macro Scheduler Message*,300,200
WaitReady>Macro Scheduler Message*
========================================

1. This only resized the window, but I still get the wrong symbols.

2. But you have provided another tool for me. I never thought about resizing the Message window. Now I can have the LertMargin and Total numbers calculate as a function of the Width value in the ResizeWindow command.

3. This board is great. Not only do I we get great help and solutions, but new ideas as a bonus. Thanks again.....

4. The last comment from support that there may not be a solution is not what I wanted to hear, but "will continue to investigate" is what makes this such a great product. I still have hope.

User avatar
Bob Hansen
Automation Wizard
Posts: 2475
Joined: Tue Sep 24, 2002 3:47 am
Location: Salem, New Hampshire, US
Contact:

Post by Bob Hansen » Fri Dec 13, 2002 4:40 am

This is not my area of experitise, but following up on the
article mentioned earlier (http://www.microsoft.com/kb/articles/q23/1/10.htm) (also a bad link), I found Microsoft Knowledge Base article181896 http://support.microsoft.com/default.as ... us;181896&.

This article talks about changing a value in the registry for HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Jet\3.0\Engines\Text.

It looks like there are multiple values in the key after Jet in my registry (3.0, 3.5, 4.0) that have similar settings.

But the article suggests changing the value of the key for text from OEM to ANSI. I don't really know what's going on here, but it raises the question of making a change in the registry, doing the work I need, and returning the registry to its original setting. Can anyone confirm that this might work, and if so, which values need to be changed, from what to what and for what Jet conditions?
======================
I also found an MSDN article that appeared like it might be relevant and may mean something to someone:
http://msdn.microsoft.com/library/defau ... issues.asp.
This one says "application should use the SetFileApisToOEM function." Again, not my area of knowledge, but just trying to help find a solution.

Thanks for your perseverance and your patience.

Post Reply
Sign up to our newsletter for free automation tips, tricks & discounts