Tek-Tips is the largest IT community on the Internet today!

Members share and learn making Tek-Tips Forums the best source of peer-reviewed technical information on the Internet!

  • Congratulations strongm on being selected by the Tek-Tips community for having the most helpful posts in the forums last week. Way to Go!

Multi languages in a table

Status
Not open for further replies.

rogerte

Programmer
Nov 9, 2001
164
GB
How does one change Paradox so that it displays international characters correctly?

We have a table that holds the same information in English, French and German. The table is populated from a CSV file that is correct when looked-at using Notepad. To distinguish between languages the first field is Language specific (E, F or G - clever hey!).
However no matter what I try the German or French accented characters will not display properly.

Eventually the tables will be displayed within a Delphi application. but first I have to check the tables themselves.

I would pull my hair out, but it disappeared about 30 years ago!!!!

Any help gratefully received

Roger
 
I spent many hours trying to get something like this working. I don't have a complete solution but maybe I can get you going in the right direction.

First of all, you can't have multiple languages in one table, unless you can represent them all in one character set. Maybe "Paradox int'l" will cover english, french, and german. Otherwise you have to set up your tables so that each language is in a different table, and set the table language appropriately for the character set required. I've got this working for English, Russian, French, German, and Turkish, but Chinese words just come up as "?????"

Next, you have to install the necessary input locales in Windows so that the keyboard will map correctly to the character set. In Windows 2000, it's in a tab in the control panel:keyboard dialog. Search on "locales" or "IME" to find more info about this.

You can put multiple languages in a form - this is easiest with a separate field for each language. If you want a single field to show all languages, you'll have to change the Font.Typeface and Font.Script properties on the fly. You'll also have to make the field undefined and use ObjectPAL to copy the value into the field from the appropriate table. Alternately, I tried your idea of a separate field to choose the language, and it works very nicely. Set up the display field as a calculated field with conditional logic based on the selector field, i.e.:

Code:
iif(selector="E",[ENGLISH.WORD],"")+iif(selector="R",[RUSSIAN.WORD],"")+iif(selector="T",[TURKISH.WORD],"")

The last unsolved problem for me has been to change the keyboard input locale using objectPAL. I assume there's a windows DLL call to do this, but I haven't been able to find it. In desperation, I tried setting up a hotkey in windows to cycle through locales, and used sendkeys to trigger it. No luck. Windows demands that the hotkey be either CTRL + SHIFT or Left ALT + SHIFT, neither of which can be recognized by Paradox as far as I can tell.

Hope this helps. If anyone knows the locale-selecting DLL call, speak up!
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor

Back
Top