Вверх ↑
Этот топик читают: Гость
Ответов: 875
Рейтинг: 322
#1: 2009-12-11 18:29:44 ЛС | профиль | цитата
Текст на немецком. При вводе из временного файла все хорошо. Но при попытке вывести строку за строкой пропадают долбаные буквы. Как победить??? code_15965.txt
карма: 1

0
файлы: 1code_15965.txt [1.4KB] [194]
Ответов: 2125
Рейтинг: 159
#2: 2009-12-11 18:38:11 ЛС | профиль | цитата
Последствия перевода Unicode -> ASCII -> Unicode, на немецкой винде всё ОК.
карма: 1

0
Ответов: 875
Рейтинг: 322
#3: 2009-12-11 18:57:25 ЛС | профиль | цитата
tsdima, если я правильно понял, то необходимо воспользоваться элементом Charset. Но я вижу только Unicode-ASCII, а ASCII-Unicode в списке отсутствует. Или что-то не так?
карма: 1

0
Ответов: 1161
Рейтинг: 160
#4: 2009-12-11 21:05:30 ЛС | профиль | цитата
а Unicode-ANSI пробовал?
карма: 0

0
Ответов: 875
Рейтинг: 322
#5: 2009-12-11 23:08:10 ЛС | профиль | цитата
Ихь бин дубин. Ну никак не соображу что делать!!!
карма: 1

0
Ответов: 16884
Рейтинг: 1239
#6: 2009-12-11 23:14:05 ЛС | профиль | цитата
kamakama, я в Файлообмене выложил календарь. Попробуй, интересно, как он у тебя будет работать
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Ответов: 875
Рейтинг: 322
#7: 2009-12-11 23:26:38 ЛС | профиль | цитата
Tad, на рабочем столе появился календарь на месяц. Написано Dezember т.е. по немецки. А что это мне дает?
карма: 1

0
Ответов: 5227
Рейтинг: 587
#8: 2009-12-11 23:58:57 ЛС | профиль | цитата
kamakama писал(а):
Ихь бин дубин. Ну никак не соображу что делать!!!
похоже что RichEdit должен работать в режиме Unicode для этих случаев, сейчас это не так. (если только не считать буфер обмена)
карма: 4
Мой форум - http://hiasm.bbtalk.me/ схемы, компоненты...
0
Ответов: 875
Рейтинг: 322
#9: 2009-12-12 00:52:25 ЛС | профиль | цитата
andrestudio, RichEdit - это единственный элемент в который с клавиатуры вводятся умляуты а так же и через буфер обмена. Допустим с Memo и другими только - üöäß = ьцдЯ. Хотя если скопировать тут же и вставить куда нибудь то появляются немецкие умляуты.
карма: 1

0
Ответов: 5227
Рейтинг: 587
#10: 2009-12-12 09:18:27 ЛС | профиль | цитата
kamakama, работа с буфером обмена в компоненте это интерфейс COM обьекта ActiveX RichEdit, теперь взгляни на свой файл rtf который инициализируется с кодовой страницей 1252, отгадай с двух раз - с какой кодовой страницей будут инициализировано у других пользователей чистый бланк когда у них региональные настройки отличаются (1250-1251 к примеру). И второе юникод должен быть как минимум UTF16 а не UTF8 чтобы коректно работать со всеми кодовыми страницами.
карма: 4
Мой форум - http://hiasm.bbtalk.me/ схемы, компоненты...
0
Разработчик
Ответов: 26163
Рейтинг: 2127
#11: 2009-12-12 10:32:33 ЛС | профиль | цитата
Жаль, что Dilma реализовал только вариант одностороннего преобразования из Unicode для страницы 1251. Почему он не стал делать универсальное преобразование, для нас остается загадкой
карма: 22

0
Ответов: 2125
Рейтинг: 159
#12: 2009-12-12 11:02:56 ЛС | профиль | цитата
kamakama писал(а):
RichEdit - это единственный элемент в который с клавиатуры вводятся умляуты а так же и через буфер обмена. Допустим с Memo и другими только - üöäß = ьцдЯ. Хотя если скопировать тут же и вставить куда нибудь то появляются немецкие умляуты.

У других можно установить набор символов у шрифта.
Сравни (если системный язык не русский незабудь скопировать в русской раскладке, или исправь в данных кнопки вопросики на "ьцдЯ"):

Add(Button,7869739,140,126)
{
Left=50
Top=35
Width=65
Data=String(ьцдЯ)
link(onClick,16490913:doEvent1,[])
}
Add(Edit,7688838,238,126)
{
Left=140
Top=25
Width=95
Font=[Courier New,8,0,0,204]
}
Add(Edit,4976770,238,168)
{
Left=140
Top=55
Width=95
Font=[Courier New,8,0,0,238]
}
Add(Hub,16490913,189,126)
{
link(onEvent1,7688838:doText,[])
link(onEvent2,4976770:doText,[(221,139)(221,174)])
}

nesco, тут Dilma практически не виноват. Если окно юникодовое, а ты посылаешь ему не юникодовое сообщение, то преобразование делает сама система, и использует при этом системный язык, что в принципе логично.
карма: 1

0
Ответов: 16884
Рейтинг: 1239
#13: 2009-12-12 14:03:10 ЛС | профиль | цитата
nesco, а не задавался вопросом, почему в новом коле Кладов перешел на другой фонт ?
Старый кол

#pas
//[DefFont VARIABLE]
var // New TFont instances are intialized with the values in this structure:
DefFont: TGDIFont = (
Height: 0;
Width: 0;
Escapement: 0;
Orientation: 0;
Weight: 0;
Italic: FALSE;
Underline: FALSE;
StrikeOut: FALSE;
CharSet: 1;
OutPrecision: 0;
ClipPrecision: 0;
Quality: fqDefault;
Pitch: fpDefault;
Name: 'MS Sans Serif';
);

Новый

#pas
//[DefFont VARIABLE]
var // New TFont instances are intialized with the values in this structure:
DefFont: TGDIFont = (
Height: 0;
Width: 0;
Escapement: 0;
Orientation: 0;
Weight: 0;
Italic: FALSE;
Underline: FALSE;
StrikeOut: FALSE;
CharSet: 1;
OutPrecision: 0;
ClipPrecision: 0;
Quality: fqDefault;
Pitch: fpDefault;
{$IFDEF UNICODE_CTRLS}
Name: ( 'T', 'a', 'h', 'o', 'm', 'a',
#0, #0, #0, #0, #0, #0, #0, #0, #0, #0, #0, #0, #0, #0, #0, #0, #0,
#0, #0, #0, #0, #0, #0, #0, #0, #0 );
{$ELSE}
Name: 'System';
{$ENDIF}
);

карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Ответов: 5227
Рейтинг: 587
#14: 2009-12-12 15:39:40 ЛС | профиль | цитата
Подозреваю что решений простых тут нет (незря в Delphi для юникода в RichEdit компоненты дорабатываются). То что записать через doAdd это явно не получится вроде сомнений не оставалось, проверил запись через массив, тоже облом code_15972.txt

карма: 4
Мой форум - http://hiasm.bbtalk.me/ схемы, компоненты...
0
файлы: 1code_15972.txt [10.9KB] [359]
Ответов: 875
Рейтинг: 322
#15: 2009-12-12 17:26:29 ЛС | профиль | цитата
С дури перепробовал все элементы и массив. Вот только два и нашлось которые реагируют на умляуты и то только после принудительной установки шрифта. Получилось вот что. Жаль что GLabel не держит многосторочие.code_15975.txt
карма: 1

0
файлы: 1code_15975.txt [1.8KB] [186]
Сообщение
...
Прикрепленные файлы
(файлы не залиты)