Проблеми с езиците в Delphi компонентие

12 отговора 323 прегледа
#1

Проблеми с езиците в Delphi компонентие

Здравейте, сигурно въпроса ми е тривиален, но понде до сега неможах да намеря решение. Имам следния проблем - работя с стандартните визуални контроли на Delphi и приложението ми работи без проблем с аглийски текстове, но ако сложа френски или холандски лейбъли, или кепшъни, специалните символи в тези езици не излзиат както трябва Пробвах да променя локалата и всичко свързано с нея в Control panel --> Regional and language options, но уви пак без успех. Ще бъда благодарен ако някой ми даде полезен съвет.

Отговор
в отговор на Kristy777 #2

Re: Проблеми с езиците в Delphi компонентие

Класът TControl, който наследяват всички кломпоненти, които се виждат на екрана runtime. Виж Tcontrol->Font_Charset (наоример слагаш един Edit в/у формата и в Object Inspector-a гледаш property-то Font и неговото property charset. Не съм го пробвал за френски, просто налучквам...така си бях решил проблем с кирилизация под XP - на всички визуални контроли сложих Font-Charset=RUSSIAN_CHARSET и се оправи, преди това беше на DEFAULT_CHARSET, ама не ставаше нещо...
Дано съм помогнал :))

Отговор
в отговор на Kristy777 #3

Re: Проблеми с езиците в Delphi компонентие

Re: Превод проблем.

P.S.
Не пропускай да настройваш уиндоуса за неуникодските приложения.


Редактирано от NDeu на

Отговор
в отговор на Kristy777 #4

Re: Проблеми с езиците в Delphi компонентие

Благодария и на двама ви. Владо, след като пробвах всички възможни чарсети и пак не се оправи, видях че имам бъг на друго място, така че пак ми помогна
BTW Западните езици работят с Default font char-seta.

Но възникна един друг проблем. Искам в Edit контрола да покажа транскрипция на дадена английска дума - както знаете транскрипциите съдържат нестандартни знаци. Но не излизат както трябва. Знаете ли какъв може да е проблема и как да се реши. Само за справка ще кажа че изобразяването в RichEdit контрола на същият текст нямя проблем.

Отговор
в отговор на Kristy #5

Re: Проблеми с езиците в Delphi компонентие

RichEdit контролата потдържа форматирания, а Edit контролата не!!!

Отговор
в отговор на Men #6

Re: Проблеми с езиците в Delphi компонентие

Трябва му контрола, която показва уникод. Форматирането в случая няма връзка (пряка)

Отговор
в отговор на NDeu #7

Re: Проблеми с езиците в Delphi компонентие

А от къде мога да намеря контроли които да поддръжат UNI code?

Отговор
в отговор на Kristy777 #8

TNT

Тези контроли не са лоши.

Отговор
в отговор на andrew_nikoloff #9

Re: TNT

Благодаря Андрей, преди няколко дена ги свалих и след 1-2 часа опити не успях да ги инсталирам като компоненти в Делфито ми (то е версия 7). Ако някой може да ми каже каква е причината, ще бъда благодарен.

Отговор
в отговор на Kristy777 #10

Re: TNT

Ами не знам какво правиш и какво става, че да не може, но трябва да направиш следното:
1) свалаш си сорса и го записваш/разархивираш в празна директория.
2) пускаш делфито ти и в Tools -> Environment options -> Library -> Lybrary path добавяш и директорията, където си ги записал.
3) отваряш от поддиректорията packages пакета TntUnicodeVcl_R70.dpk и го компилираш.
4) пак от там отваряш TntUnicodeVcl_D70.dpk и го компилираш и инсталираш.
Това е всичко. Кажи какво от горното не става и какви грешки ти дава...
Успех!

Отговор
в отговор на andrew_nikoloff #11

Re: TNT

Благодаря много andrew_nikoloff, с помоща на твоето подробно описание успях от първия път. Чесно казано всеки път изпитвам някакви затруднения когато трябва да инсталирам нов компонент в Делфи

BTW: Струва ми се че тези компоненти са добри и ще ми свършат работа.

Отговор
в отговор на andrew_nikoloff #12

Re: TNT

Само едно нещо май му липсваше на screenshot-а който са дали - бутоните за минимизация, максимизация и затваряне да не са горе в дясно а горе в ляво.
С тези 2 реда може да се направи формата за араби и евреи

TForm::CreateParams(Params); // C++ code
Params.ExStyle |= WS_EX_LAYOUTRTL;

Отговор
в отговор на Beco #13

Re: TNT

Освен това тези 2 реда центрират текста в дясно за TEdit полета, а въвеждането на нов текст става от дясно на ляво.

Отговор