Форум: "Основная";
Текущий архив: 2003.10.13;
Скачать: [xml.tar.bz2];
ВнизЕще вопрос про языки Найти похожие ветки
← →
SergSh (2003-09-30 17:46) [0]Здравствуйте, у меня в кмпоненте Тнтмемо есть текст на казахском илил другом каком-либо языке, так вот надо этот текст сохранить в файл, и так же загрузить из файла. Но как это сделать, если при сохранении какая-то чушь получается, то же самое что и при загрузке. ПОМОГИТЕ PLS!!
← →
Rem (2003-09-30 18:01) [1]THTMemo? Что за зверь? Чем TMemo плох?
← →
Тих (2003-09-30 20:42) [2]%-)
М-дя, эт уже сложнее, чем компоненты проинсталлировать )
Итак,
1) Можно сохранять как есть в юникоде. В 98-блокноте читаться не будет, и в других ANSI-редакторах, не поддерживающих Unicode, тоже. Каждый символ хранится как 2 байта, а в начале файла (опционально) идет сигнатура (признак того, что этот текстовый файл - юникодовый) - два байта 255 и 254. Ее может и не быть, в таком случае многие редакторы исп-ют API-функцию IsTextUnicode.
Твоя задача сводится к тому, чтобы: открыть файл на запись, вписать туда сигнатуру, далее каждый символ строки в виде WideChar, закрыть файл.
2) Перевести юникод в ANSI (или обычным присваиванием varAnsiString := varWideString, или используя апи-функцию WideCharToMultiByte. Причем кодовая страница ANSI в системе или в текущем потоке должна быть казахской, иначе вся казахскость потеряется)
← →
SergSh (2003-09-30 20:48) [3]Спасибо большое ! :)
← →
Тих (2003-09-30 21:07) [4]В общем-то ты можешь выкинуть юникодовые компоненты к лешему, только проставь нужную тебе локаль в главном потоке (см. SetThreadLocale). Но если делать как положено, то лучше юникод.
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2003.10.13;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.009 c