Charsets
12 отговора
275 прегледа
Charsets
Imam edno prilozenie, koeto na nqkoi PC-ta kato se pusne, izkarva vyprositelni v imenata tam kydeto sa pisani na kirilica. Tova se opravq ot Regional settings. Poglednah koda i vidqh che na Font.Charset e izbran default_charset. Izbrah navsqkyde russian_charset i prekompilirah programata, no tova ne pomogna. Ako ne ti e nastroen regional settings-a ne mozesh da vidish kirilicata. Moze li da se reshi tozi problem? Trqbva da izpolzvam drug standarten font li, a ne tozi po default v delphi-to?
Re: Charsets
1. Върху какъв Win си - и имаш ли кирилизация - допълнителна?
2. С коя версия на Delphi си ?
Тогава може да се прецени какъв може да е проблема.
---
Е т'ва е живот!
2. С коя версия на Delphi си ?
Тогава може да се прецени какъв може да е проблема.
---
Е т'ва е живот!
Re: Charsets
Ами не говоря за конкретен Windows а като цяло. Може би не се изразих преди точно, но въпросът ми е как да се видят тези символи нормално, без да има инсталиран някакъв кирилизатор, или да се правят допълнителни настройки по Windowsa? Ako трябва да конкретизирам нека са Win2000,XP.
Re: Charsets
>Ами не говоря за конкретен Windows а като цяло
За всеки Windows след 3.х е достатъчно
. 1. При инсталацията да си кажеш, че си българин. Специално за 2000 и ХР обърни внимание на Language for non unicode application или нещо подобно.
. 2. Да не качваш никакви кирилизатори. Ако си допуснал грешката и вече си качил (ти или някой друг) на твоята машина или на машината на клиента - следвай съветите на инжИнера за лечение.
. 3. Ползвай в контролите Default Charset.
И ще имаш спокойствие на душата

За всеки Windows след 3.х е достатъчно
. 1. При инсталацията да си кажеш, че си българин. Специално за 2000 и ХР обърни внимание на Language for non unicode application или нещо подобно.
. 2. Да не качваш никакви кирилизатори. Ако си допуснал грешката и вече си качил (ти или някой друг) на твоята машина или на машината на клиента - следвай съветите на инжИнера за лечение.
. 3. Ползвай в контролите Default Charset.
И ще имаш спокойствие на душата
Re: Charsets
:)
Явно не мога да уточня проблема.
Възможно ли е без кирилизатор и без настройка от language settings, прилозението да показва нормално кирилицата в приложението?
Ако използвам твърдо зададен russian_charset няма ли да стане?
Явно не мога да уточня проблема.
Възможно ли е без кирилизатор и без настройка от language settings, прилозението да показва нормално кирилицата в приложението?
Ако използвам твърдо зададен russian_charset няма ли да стане?
Re: Charsets
А-а-а. Така проблема става вече доста сложен.
Да обобщим: Искаш на система, която не е локализирана за кирилски език (при дефаулт инсталация Windows поддържа само Английски) да показваш правилно кирилските букви.
В нормалния случай отговора е НЕ.
Това може да се заобиколи, както го заобикалят речниците. Трябва с приложението да влачиш и необходимите ти фонтове, като вземеш мерки и за правилното изобразяване на системните контроли - менюта, титълбар и т.н.

Да обобщим: Искаш на система, която не е локализирана за кирилски език (при дефаулт инсталация Windows поддържа само Английски) да показваш правилно кирилските букви.
В нормалния случай отговора е НЕ.
Това може да се заобиколи, както го заобикалят речниците. Трябва с приложението да влачиш и необходимите ти фонтове, като вземеш мерки и за правилното изобразяване на системните контроли - менюта, титълбар и т.н.
Re: Charsets
Да точно това имах в певдвид.
И аз си мислех че ще трябва някои фонтове да разпространявам с приложението.
А кои от стандартните е добре да използвам за целта (ако има такива)?
И аз си мислех че ще трябва някои фонтове да разпространявам с приложението.
А кои от стандартните е добре да използвам за целта (ако има такива)?
Re: Charsets
Няма да стане със стандартните, защото не можеш да иснаталираш два пъти един и същ шрифт (макар и единия кирилизиран, а другия не). Просто като си пишеш приложението на всичките ти контроли (вероятно ще ти е необходимо само на формите - останалите контроли ако ParentFont им е True ще си вземат сами настройките на шрифта от тях) си задаваш този шрифт, който ще влачис с твойто приложение (например Timok - или какъвто кирилски шрифт си си харесал) и нямаш проблеми. Е, ще имаш малък проблем със системните диалози - ShowMessage, MessageDlg, MessageBox - те работят със системните шрифтове, ама в края на краищата не може да очакваш, че всичко ще си тръгне лесно лесно без никаква поддръжка от страна на системата, нали? 
Re: Charsets
Има и още един проблем - както казаха хората сблъсквали се с писане на подобни програми - от тип речници - в които имаш един localе на системата а ти да използваш два съвсем други - единственото решение е ползването на unicode. Това обаче довежда не само до разпространяване на съответните шрифтове - ами и до възможността на самата сиситема да поддържа unicode приложения. Всичко след 95 с малки изключения (при качен IE6 на 98) го прави - но не без проблеми(примера с качения кирилизатор) - за това най-сигурното е ползването на 2000 или XP.
Хубавата новина е, че Octane-a ще има пълна поддръжка на unicode VCL ;-))))
---
Е т'ва е живот!
Хубавата новина е, че Octane-a ще има пълна поддръжка на unicode VCL ;-))))
---
Е т'ва е живот!
Re: Charsets
Е КРАЙНО ВРЕМЕ БЕШЕ!!! 

Това му беше един от най-гадните недостатъци на Делфито - липсата на Unicode поддръжка... Не че няма всякакви библиотеки за тая работа, ама друго си е да не се занимаваш с пакети, библиотеки и какви ли не глупости
Това му беше един от най-гадните недостатъци на Делфито - липсата на Unicode поддръжка... Не че няма всякакви библиотеки за тая работа, ама друго си е да не се занимаваш с пакети, библиотеки и какви ли не глупости
Re: Charsets
Знаеш ли - като се замислиш - ще установиш, че това е нож с две устриета - реално по-голямата част от приложенията не изсикват подобна натовареност - и това ще доведе до повече проблеми - най-вече с Win95 - ако някой го ползва.
Още повече, че няма смисъл да се обработват unicode низове - още повече в базите данни - това забавя търсенията и прочие ;-))) - на мен и стария начин ми вършеше работа - не се занимавам с писане на речници или приложения с едновременна поддръжка на няколко езика.
И все пак се радвам - защото това ще реши други проблеми - като този с кирилизацията на системата - т.е. нещо което трябва да се направи за да тръгне една не-unicode програма без проблеми - а това води понякога до конфликти - пробвал съм го на non-english система ;-)))))
---
Е т'ва е живот!
Още повече, че няма смисъл да се обработват unicode низове - още повече в базите данни - това забавя търсенията и прочие ;-))) - на мен и стария начин ми вършеше работа - не се занимавам с писане на речници или приложения с едновременна поддръжка на няколко езика.
И все пак се радвам - защото това ще реши други проблеми - като този с кирилизацията на системата - т.е. нещо което трябва да се направи за да тръгне една не-unicode програма без проблеми - а това води понякога до конфликти - пробвал съм го на non-english система ;-)))))
---
Е т'ва е живот!
Re: Charsets
Е, никой не говори, че трябва да забравим за добрия стар String (че и още по-стария ShortString
). Хубарото на Unicode VCL-а е в TWinControl-а с unicode, а не в TStrings-а с такъв
Лично според мене е време да забравим вече за 95-цата (който може разбира се
). Аз лично си съветвам клиентите да забравят и за 98-цата, ама де тоз' късмет 
Лично според мене е време да забравим вече за 95-цата (който може разбира се
Re: Charsets
nr go dochetoh cqloto ama mi prilicha na problema zaradi kojto napisah slednat funkciq:
------------------------------
I got a COMPILER, and I'm not afraid to use it!
function SetBulgarian:boolean;
var langs:TLanguages;
LID,x:cardinal;
begin
Result:=True;
if Win32Platform=VER_PLATFORM_WIN32_NT then begin
langs:=Languages;
LID:=0;
for x:=0 to langs.Count-1 do if langs.Name[x]='Bulgarian' then begin
LID:=langs.LocaleID[x];
break;
end;
if LID=0 then begin
Result:=False;
exit;
end;
SetThreadLocale(LID);
end;
end;
------------------------------
I got a COMPILER, and I'm not afraid to use it!