We help IT Professionals succeed at work.

Check out our new AWS podcast with Certified Expert, Phil Phillips! Listen to "How to Execute a Seamless AWS Migration" on EE or on your favorite podcast platform. Listen Now

x

Delphi 7: How do I put a special currency character on a button on a Form?

PTRUSCOTT
PTRUSCOTT asked
on
Medium Priority
1,188 Views
Last Modified: 2013-11-23
Dear Experts,

I need to put the character for Philippine Pesos (the capital letter P with two horizontal bars through it) on to a form.  I can make it appear in Microsoft Word 2003 by selecting the Arial Unicode font.  I tried copying and pasting from MS Word to Delphi 7 with no luck.  It appears as a question mark when pasted into Delphi whether or not I edit the form as a form or edit it as text.
Sincerely,
Philip Truscott
Comment
Watch Question

Delphi 7 (VCL) controls only support ASCII character based strings. You will have to use some third party controls unicode-enabled. Here you have some:

http://blog.gurock.com/postings/unicode-aware-delphi-third-party-components/270/


Commented:
Make a small bitmap and use it like a glyph.
This way you will avoid text limitations.

Regards,
B.
Geert GOracle dba
CERTIFIED EXPERT
Top Expert 2009

Commented:
change the font character set of the button from default to ?? THAI_CHARSET ??
then you copy the text into the caption
i don't know if it works in design time
you may have to do it at runtime ...

button.Font.CharSet := 'THAI_CHARSET';
button.Caption := <Symbol for Pesos>
Geert GOracle dba
CERTIFIED EXPERT
Top Expert 2009

Commented:
if it's only 1 place you need a special char this works

if you need it all over you will have to change the font charset of all components you need it in

a translation component which does this for you is (not free) http://www.sicomponents.com/tsilang1.html 

Commented:
Here is a free component for unicode text support:
http://cult-drang.com/program/tips/unicode/vcl/tlabel.html
I tested it so i can guarantee it works :)
Geert GOracle dba
CERTIFIED EXPERT
Top Expert 2009

Commented:
you don't need unicode support just to display 1 character in a other character set !

Author

Commented:
Dear Geert Gruwez,

You wrote "you don't need unicode support just to display 1 character in a other character set !"

So how do I do it then?

Earlier you wrote that I should try this?
button.Font.CharSet := 'THAI_CHARSET';
button.Caption := <Symbol for Pesos>

However I cannot insert the Peso symbol on the form.  
If I edit it as a form I cannot copy and paste the Peso symbol from MS Word.  It comes up as a question mark.  
If I literally type in <Symbol for Pesos> then I get the three words "Symbol for Pesos".

In MS Word I can make the Peso symbol appear by typing:
20A7 followed by ALT-X

Is there an Escape sequence?

I also tried editing the form as text with equally poor results.  

I really only do have one character in the whole application which is not in the standard Latin charset.
Best Wishes,
Phil
Geert GOracle dba
CERTIFIED EXPERT
Top Expert 2009

Commented:
seems you also need a special font to display it:
from the wikipedia site:
http://en.wikipedia.org/wiki/Talk:Philippine_peso#Peso_sign

This peso sign will only work if you are using the Segoe UI font.
To add the peso sign to an article, add this script before the number.

i followed the links,
first : http://en.wikipedia.org/wiki/Segoe#Segoe_UI

then it leads to microsoft (off course):
http://en.wikipedia.org/wiki/Windows_Media_Center
http://www.microsoft.com/windowsxp/mediacenter/default.mspx
Geert GOracle dba
CERTIFIED EXPERT
Top Expert 2009

Commented:
Getting this font seems to be a problem on it's own
I googled for segeo font and all the links only work for a short time ...
You'll have to get the Media Center (or get lucky)

Commented:
If I was you I would make a glyph in 5 min. and sleep well.
Actually I made you the glyph. I was not sure which sign to use so I made two of them.
Regards,
B.
Pesos1-small.bmp
Pesos1-large.bmp
Pesos2-small.bmp
Pesos2-large.bmp
Oracle dba
CERTIFIED EXPERT
Top Expert 2009
Commented:
Unlock this solution with a free trial preview.
(No credit card required)
Get Preview

Author

Commented:
Dear Geert Gruwez,

Your last and least technical advice seems best.

I think these comments have shown me that the implications of placing the real Peso symbol are so serious (for example having to worry that the user has a rare font) that I should not go down this road.

I will just use the three letter abbreviation for Philippine Peso instead (PHP).
Thanks Phil
Unlock the solution to this question.
Thanks for using Experts Exchange.

Please provide your email to receive a free trial preview!

*This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

OR

Please enter a first name

Please enter a last name

8+ characters (letters, numbers, and a symbol)

By clicking, you agree to the Terms of Use and Privacy Policy.