Ansi to windows delphi

Преобразовать текст из кодировки Win1251 в DOS-866

С помощью этого кода приложение на этапе создания формы, в данном случае, что очевидно, создает bat файл и записывает в него следующие строки:

Перекодировать введенный текст из кодировки cp866 в win1251
Как перекодировать введенный текст из кодировки cp866 в win1251? Какие функции есть? Мои идея.

Перевод кодировки в Win1251/UTF8
Вместо русского «Яндекс» пишутся такие кракозябры «Ð¯Ð½Ð´ÐµÐºÑ» как поменять.

Насколько же все это проще в Паскале, где нет ничего кроме своего мозга

В результате Еррор: incompatible types: ‘String’ and ‘PAnsiChar’
Что я делаю не так?

Добавлено через 57 минут
Я также пробовал играть преобразованием переменных, сводить их к одному виду и тогда сообщение Not enough actual parameters. То есть я не могу победить. Спасите, помогите.

данная функция отрабатывает, но возвращает неверный результат: К примеру запись WinToDos(‘»Э»‘) вернет «ж» в кодировке OEM866

Я уже замучался гуглить, если честно, чтобы решить такую банальную проблему, превратить русский текст из Delphi 2010 в русский текст в кодировке OEM866

makc9I, начиная с Delphi 2009 проблема перевода кодировок решается вот так:

функция отработала, но теперь получаю null на выходе при попытке перевести любой символ, если просматривать в notepad++

Добавлено через 5 минут
UI, спасибо, буду пробовать ваш метод, если другого решения не найду.
Просто я уже написал код со старым добрым AssignFile, writeln, присвоил куче переменных данные, предварительно их обработав функцией перевода(неработающей) в кодировку OEM866, гораздо проще было бы найти рабочую функцию, конечно. Но если не найду, буду переписывать код, что ж делать.

Добавлено через 12 минут

Это тебе не Паскаль.

Добрый день, может я не внимательно прочитал или не так понял. Вы хотите чтобы код в созданном Бат файле работал в с директориями, в которых встречаются русские символы?

К примеру при выполнении батника:

потом еще дополнительно прогонял через StrOemToAnsi
Но закоментировав все эти действия, пришел к выводу, что это все уже и не нужно, в файл все стало писаться как надо.

Добавлено через 43 минуты
поторопился я с выводами, не в тот файл посмотрел, все же надо проделать все процедуры, описанные выше. Но результата добился, спасибо

Добавлено через 1 час 40 минут

А далее дело техники Пишем элементарную функцию
Предположим у вас массив Сod

И. читаем символ из строки SS

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь или здесь.

DOS-866 в Unicode (UTF-8)
Замаялся с кодировками. в файле данные в Unicode (UTF-8) у меня в консольнмо приложении в DOS-866.

866-MS-DOS to 1251-MS-Windows
«Программа предназначена для перекодировки текстовых файлов из формата кодовой таблицы 866-MS-DOS в.

В чём отличия кодировки ms dos от кодировки ms windows?
Всем привет, подскажите в чём отличия кодировки ms dos от кодировки ms windows?

Драйвер перекодировки символов в тексте таблицы win-1251 в dos-866
Вот есть тз : Legasy драйвер для ОС win NT. входной и выходной текст передается х драйвера с.

Источник

3 варианта работы с кодировками веб-страниц в Delphi.

Сколько постов написано в блогах, сколько вопросов задано на форумах о кодировках и ещё большее количество подобных вопросов осталось не отвеченными или ответом было что-то наподобие “Поиском пользовались?” или “Сто раз обсуждалось. ”. Честно говоря, никогда не понимал таких “ответчиков”, ИМХО не хочешь отвечать – лучше жуй и молчи, ответят те, кто захочет.
Понятное дело, что обучать иногда приходится не только с помощью пряника, но и с помощью кнута, но, раз уж такие вопросы всё время всплывают, следовательно они остаются актуальными.
Сегодня я попробую рассказать Вам всё, что мне известно о работе с кодировками в тексте. Вполне возможно, что эта статья поможет Вам при разработке своих проектов в Delphi да и у меня уже пару раз возникало желание немного систематизировать ту информацию. которая накопилась за время существования блога.

1. Delphi и Unicode

Если говорить о работе с Unicode в Delphi, то начать стоит с того, что полноценная поддержка unicode в Delphi стала возможна лишь после выхода Delphi 2009. Такое событие не могло пройти незамеченным, так как благодаря поддержке Unicode и, соответственно, для облегчения работы с кодировками текста в Delphi были реализованы новые возможности, методы, типы данных, о которых написано большое количество статей. На мой взгляд одной из лучших публикаций на эту темя является цикл из трех статей “Delphi и кодировка Unicode” где достаточно чётко и доступно рассказано о нововведениях Delphi 2009 для работы с unicod’ом. Думаю, что нет смысла подробно останавливаться на всех новшествах при наличии ссылки на целых три статьи на эту тему. Остается только упомянуть о том, с чем мы сегодня будем работать для представления веб-страницы в нормальном читаемом виде.
Для первого способа работы с кодировкой мы воспользуемся:

В одной из статей блога рассматривалась работа с MLang и сегодня, в качестве второго способа, я продемонстрирую Вам пример её применения при работе с кодировками.
Ну и в качестве третьего способа работы с кодировками, воспользуемся “штатными” методами модуля system. Все три варианта работы с кодировками приведут к одному и тому же результату – текст веб-страницы будет читаемым, без “кракозябров” и вопросительных знаков. Какой способ лучше – решать только Вам.

Читайте также:  Windows 10 на процессоре atom

2. Подготовка исходных данных для работы

Прежде, чем начать что-то кодировать и перекодировать, необходимо это “что-то” получить. В нашем случае – текст веб-страницы. Чтобы не залезать слишком глубоко в вопросы, касающиеся новых типов данных будем сохранять все данные из Сети не в строки или TStringList’ы, как мы к этому привыкли, а воспользуемся типом TBytes.
Используя Synapse исходник любой страницы можно получить, например так:

Теперь, получив данные (свойство Document:TMemoryStream) скопируем эти данные в массив байтов строки TBytes, например так (способ достаточно медленный, приведен исключительно для примера):

Первый этап подготовки можно считать законченным – у нас есть массив байтов строки, которые необходимо представить в виде текста в правильной кодировке. А как узнать, что наш массив TBytes надо перевести в новую “правильную” кодировку? Естественно узнать в какой кодировке была исходная страница. Здесь можно пойти двумя путями:
1. Узнать кодировку из мета-тегов. Обычно кодировка страницы описывается мета-тегом следующего содержания:

. Пример того как узнать кодировку из мета-тегов страницы Вы можете посмотреть в модуле HtmlCPConvert, который я выкладывал в блоге, когда рассматривал работу с MLang.
2. Узнать кодировку текста из заголовков сервера. Если рассматривать этот пример, используя для работу с HTTP

Так как в заголовке может отсутствовать сведения о кодировке, то переменная DefCharset должна содержать имя какой-либо дефолтной кодовой страницы, например windows-1251.
Теперь у нас есть все исходные данные:
1. Массив байтов строки B:TBytes;
2. Сведения о кодировке.
Приступим к преобразованию байтов в читабельный текст.

3. Массив байтов – в нормальный текст

3.1. Работа с TEncoding

Разработчики Delphi предусмотрели использование двух взаимопротивоположных метода:

Пусть Вас не пугает то, что StringOf возвращает UnicodeString, т.к., начиная с Delphi 2009

Теперь, что касается непосредственно работы с TEncoding. Во-первых, от нас не требуется создавать отдельный экземпляр класса, наподобие такого:

Во-вторых, с помощью TEncoding мы можем менять кодовую страницу не преобразовывая массив байтов в строку. Для этого класс содержит следующие классовые методы:

Одним из этих методов мы и воспользуемся. Для того, чтобы продемонстрировать работу с TEncoding попробуем получить текст прямо из этого блога. Кодировка UTF-8, именно она наиболее часто является “проблемной” и возвращает в TMemo или ещё куда-либо “кракозябры”.
Создадим простое приложение как показано на рисунке:

В ComboBox сразу занесем все варианты работы с текстом:

По нажатию кнопки TButton будем грузить страницу в массив байтов и, зависимости от выбранного варианта работы с текстом, преобразовывать массив в строку и выводить в Memo. Для первого варианта (без преобразования) код может быть следующий:

Запускаем приложение и видим:

Как и ожидалось – вместо русских букв кракозябры. Преобразуем их с помощью классового метода TEncoding.Convert:

Здесь следует отметить, что TEncoding.GetEncoding(1251) возвращает кодовую страницу кириллического текста. Если необходимо получить другую кодовую страницу, то можете либо воспользоваться классовыми свойствами TEncoding либо определить кодовую страницу как я, используя данные с MSDN о доступных в Windows кодовых страницах.
Проверим, что получилось в итоге. Грузим ту же самую страницу:

Как видите – кракозябры преобразовались в нормальный русский текст.
Какие плюсы дает нам использование TEncoding? Думаю, что ответ вполне очевиден – у нас появляется под рукой инструмент, позволяющий перекодировать строки из любых кодировок в любые, т.е. фактически возможности работы с текстом ограничиваются количеством доступных в Windows кодовых страниц, а их по данным MSDN 152 штуки. Прикиньте сколько вариантов получится, если в Convert используется пара кодовых страниц. Много :).
Но, наряду с таким большим и жирным плюсом существует и минус – TEncoding есть только в версиях Delphi 2009 и выше, что исключает его использование в более ранних версиях. Как быть?
Если хотите получить не менее впечатляющие возможности работы с кодировками – используйте возможности MLang. Вот как раз и пример его использования.

3.2. Использование возможностей MLang для работы с кодовыми страницами

Позволю себе ещё раз напомнить, что скачать всё необходимое для реализации возможностей MLang Вы можете с этой страницы или, перейдя по этой ссылке. В архиве содержатся всего два модуля: MLang.pas и HtmlCPConvert.pas. Подключаем оба модуля к проекту и для получения читабельного текста пишем:

RawHTMLToHTML из модуля HtmlCPConvert переводит текст в кодировку windows-1251. Также есть и обратный метод для перевода текста в RawByteString и называется этот метод HTMLToRawHTML.
Результат преобразования текста с помощью MLang абсолютно идентичен предыдущему варианту:

Если Вам необходимо работать со множеством кодировок, как при использовании TEncoding, то придётся самостоятельно немного доработать модуль HtmlCPConvert. В целом возможности TEncoding и MLang вполне сопоставимы.
И, наконец, третий вариант – использование методов модуля System.pas.

Источник

Delphi. Проблема с кодировкой не юникод данных на английской локали

Возможно кто-то придумал как решить? На других конференциях нашел способ чтобы ресурсы которые уже в программе отображались нормально на юникод шрифтах (Tahoma) с чарсетом RUSSIAN_CHARSET

я так понимаю что он пытается при загрузке данных из файлов, представить в cp_1252 данные если в реестре стоит это значение

Вариант исправления локали в реестре не подходит, хотя работает

перезагрузится после исправления

не буду же я каждому пользователю объяснять кто пользуется английской виндой что делать?

В общем прошу кто сталкивался с такой проблемой и нашел решение, подмогнуть
Как заставить программу игнорировать настройки реестра и кодировать в соответствии с CP_1251

Программа в процессе работы берет данные из текстового файла (текст на русском языке) при их выводе получается черти что

на картинке все данные чтобы были подгружены с файлов получились вот такие, а все что были назначены в программе заранее остались нормальными

Да, RUSSIAN_CHARSET, уже по разному пробовал, и шрифты менял и чарсеты.

Читайте также:  Free scanner software windows 10

Пробовал на XE3 и XE5, результат однозначно тот же самый. компоненты используются разные, но вывод одинаково паршивый хоть в стандартных хоть в alphaskins

на всех формах и вкладках такая же история, тексты которые грузятся с файла получают вот такой вид
если исправить в реестра значение кодовой страницы то будет отображаться нормально, но этот вариант не подходит по выше указанным причинам (

Да, RUSSIAN_CHARSET, уже по разному пробовал, и шрифты менял и чарсеты.

Пробовал на XE3 и XE5, результат однозначно тот же самый. компоненты используются разные, но вывод одинаково паршивый хоть в стандартных хоть в alphaskins

увы не скомпилированный, так как размер архива тут не подходит, протестил сейчас тоже его на компе где стоит в реестре настройка
«1251»=»c_1252.nls»

готовый проект можно скачать на моем сайте посмотреть как будет тоже http://hiki-soft.ru/download/

Проблема больше похожа на известную ошибку unattend-установки Windows, которая в Windows XP решалась переключением темы туда-сюда: на любую другую, потом снова на ту, что была. Видел в интернетах, что и в Windows 7 проблема наличествует, но как решается, не знаю. Насколько помню, передергивание темы уже не помогает.

Хотя, если это уже Unicode VCL, проблема может быть и в самой программе.

Естественно объект cp1251 можно создать один раз, а использовать много раз. Фактически достаточно всего один раз присвоить в DefaultEncoding в каждый Memo (и т.п.), после чего можно объект cp1251 вообще уничтожить.

Теперь о том почему я считаю эту фичу багом.
Во-первых непонятно с чего это вдруг язык ansi-текстов зависит от локализации Windows, а не например от настроек «Язык и региональные стандарты». Я например лет 5 сидел под англоязычной Windows 2000 создавая при этом нормальные русскоязычные текстовые файлы в ansi кодировке.
Во-вторых по непонятной причине нет никакой возможности задать (в настройках или однократным вызовом процедуры) кодовую страницу по-умолчанию для ansi-текста. Всякий раз если не указать явно, будет вызываться API-функция GetACP которая возвращает язык локализации Windows. Вызов SetMultiByteConversionCodePage(1251) устанавливает кодовую страницу по-умолчанию похоже только для RawByteString.

Источник

Delphi и кодировка Unicode, часть II: Новые функции библиотеки RTL и классы для поддержки кодировки Unicode

Автор: Виктор Роднев ©

Воспроизведение и распространение данной статьи возможно при условии установки прямой ссылки на данный портал

В данной статье новые функции библиотеки Tiburon Runtime Library, которые помогают обрабатывать строки Unicode.

Введение

В части I было показано, какие выгоды дает разработчикам на Delphi поддержка кодировки Unicode, позволяя работать со всеми наборами символов в кодировке Unicode. Были рассмотрены основные особенности типа строки UnicodeString и было показано, как его можно использовать в Delphi.

В части II будет рассказано о некоторых новых функциях библиотеки Delphi Runtime Library, предназначенных для поддержки Unicode, и общих методах обработки строк.

Класс TCharacter

Библиотека Tiburon RTL включает новый класс TCharacter, который описывается в модуле Character. Это закрытый класс, который полностью состоит из статичных функций класса. Разработчикам не следует создавать экземпляры класса TCharacter, предпочтительнее просто вызывать его статические методы класса напрямую. Функции этого класса позволяют, в числе прочего, выполнять:

Классом TCharacter используются стандарты, установленные организацией Unicode consortium.

Разработчики могут использовать класс TCharacter для выполнения многих действий, выполнявшихся до этого с наборами символов. Например, следующий программный код:

if MyChar in [«a». «z», «A». «Z»] then

можно легко заменить кодом:

if TCharacter.IsLetter(MyChar) then

Модуль Character содержит также ряд автономных функций, которые выполняют функции каждой из функций класса TCharacter, так что если предпочтительнее простой вызов функции, приведенный выше программный код можно переписать как:

if IsLetter(MyChar) then

Таким образом, класс TCharacter можно использовать для выполнения многих действий или проверки символов, которая может понадобиться.

Кроме того, класс TCharacter содержит методы класса, позволяющие определить, является ли символ верхним или нижним суррогатом суррогатной пары.

Класс TEncoding

Например, пусть есть экземпляр TStringList, содержащий текст, который необходимо записать в файл. Ранее необходимо было бы написать

При выполнении приведенного выше кода файл будет записан как текстовый файл в кодировке Unicode (UTF-16).

Классом TEncoding будет также преобразовываться заданный набор байтов из одной кодировки в другую, извлекаться информация о байтах и/или символах в заданной строке или массиве символов, преобразовываться любая строка в массив array of byte (TBytes) и выполняться другие функции, которые могут потребоваться для конкретной кодировки заданной строки или заданного массива символов.

Класс TEncoding включает следующие свойства класса, дающие доступ к экземпляру TEncoding заданной кодировки:

class property ASCII: TEncoding read GetASCII;

class property BigEndianUnicode: TEncoding read GetBigEndianUnicode;

class property Default: TEncoding read GetDefault;

class property Unicode: TEncoding read GetUnicode;

class property UTF7: TEncoding read GetUTF7;

class property UTF8: TEncoding read GetUTF8;

Свойство Default ссылается на активную кодовую страницу ANSI. Свойство Unicode ссылается на UTF-16.

Класс TEncoding также включает функцию

class function TEncoding.GetEncoding(CodePage: Integer): TEncoding;

которая будет возвращать экземпляр TEncoding, соответствующий кодовой странице, переданной в параметре.

Кроме того, он включает следующую функцию:

function GetPreamble: TBytes;

которая будет возвращать правильный маркер порядка байтов для заданной кодировки.

TStringBuilder

Например, можно использовать класс TStringBuilder вместо усложненного оператора Format. Например, можно написать следующий программный код:

procedure TForm86.Button2Click(Sender: TObject);

ÄAppend(‘ a pound.’).ToString;

Объявление новых типов строк

Компилятор Tiburon позволяет объявить собственный тип строки, связанный с заданной кодовой страницей. Доступно любое число кодовых страниц. Например, если необходим тип строки, соответствующий кодировке ANSI-кириллице, можно объявить:

CyrillicString = type Ansistring(1251);

Дополнительная поддержка Unicodeбиблиотекой RTL

В библиотеку RTL добавлен ряд подпрограмм, которыми поддерживается использование строк Unicode.

StringElementSize

Подпрограммой StringElementSize возвращается типичный размер элемента (элемента кода) в заданной строке. Рассмотрим следующий код:

procedure TForm88.Button3Click(Sender: TObject);

A := ‘This is an AnsiString’;

Memo1.Lines.Add(‘The ElementSize for an AnsiString is: ‘ + IntToStr(StringElementSize(A)));

U := ‘This is a UnicodeString’;

Memo1.Lines.Add(‘The ElementSize for an UnicodeString is: ‘ + IntToStr(StringElementSize(U)));

Результатом выполнения приведенного выше кода будет:

The ElementSize for an AnsiString is: 1

Читайте также:  Run windows app android

StringCodePage

Подпрограммой StringCodePage будет возвращаться значение Word, которое соответствует кодовой странице для заданной строки.

Рассмотрим следующий код:

procedure TForm88.Button2Click(Sender: TObject);

CyrillicString = type AnsiString(1251);

A := ‘This is an AnsiString’;

Memo1.Lines.Add(‘AnsiString Codepage: ‘ + IntToStr(StringCodePage(A)));

U := ‘This is a UnicodeString’;

Memo1.Lines.Add(‘UnicodeString Codepage: ‘ + IntToStr(StringCodePage(U)));

U8 := ‘This is a UTF8string’;

Memo1.Lines.Add(‘UTF8string Codepage: ‘ + IntToStr(StringCodePage(U8)));

C := ‘This is a CyrillicString’;

Memo1.Lines.Add(‘CyrillicString Codepage: ‘ + IntToStr(StringCodePage(C)));

Результатом выполнения приведенного выше кода будет:

The Codepage for an AnsiString is: 1252

The Codepage for an UnicodeString is: 1200

The Codepage for an UTF8string is: 65001

Другие функции библиотеки RTL, связанные с кодировкой Unicode

Есть ряд других подпрограмм для преобразования строк из одной кодовой страницы в другую. В их числе:

Кроме того, в библиотеке RTL также появился тип RawByteString, который представляет собой тип строки, не связанный ни с какой кодировкой:

RawByteString = type AnsiString($FFFF);

Тип RawByteString позволяет передавать строковые данные для любой кодовой страницы без каких-либо преобразований последней. Он особенно полезен для подпрограмм, для которых кодировка не имеет значения, например для побайтового поиска в строке. Обычно это означает, что параметры подпрограмм, которыми обрабатываются строки без связи с их кодовыми страницами, должны иметь тип RawByteString. Тип RawByteString следует присваивать переменным как можно реже, если вообще когда-либо, так как это может привести к непредсказуемому поведению и возможной потере данных.

Как правило, присвоения типов строк совместимы друг с другом.

Однако некоторые преобразования могут привести к потере данных, и необходимо остерегаться при перемещении из строки одного типа, которая включает данные в кодировке Unicode, в другую, тип которой не поддерживает Unicode. Например, можно присваивать тип UnicodeString строке типа AnsiString, но если строка типа UnicodeString содержит символы, которые не отображаются в активной в данный момент кодовой странице ANSI, то эти символы будут потеряны при преобразовании. Рассмотрим следующий код:

procedure TForm88.Button4Click(Sender: TObject);

U := ‘This is a UnicodeString’;

U := ‘Добро пожаловать в мир Юникода с использованием Дельфи 2009!!’;

This is a UnicodeString

SetCodePage

Функция SetCodePage, объявленная в модуле System.pas как

procedure SetCodePage(var S: AnsiString; CodePage: Word; Convert: Boolean);

Получение массива байтов TBytesиз строк

В составе библиотеки RTL есть также набор перегружаемых подпрограмм для извлечения из строки массива байтов. Как будет показано в части III, рекомендуется использовать в качестве буфера данных массив TBytes, а не строку. Библиотека RTL упрощает это за счет перегружаемых версий функции BytesOf(), принимающей в качестве параметра разные типы строк.

Заключение

Библиотека Tiburon»s Runtime Library теперь полностью поддерживает новый тип строки UnicodeString. В нее входят новые классы и подпрограммы для обработки и преобразования строк в кодировке Unicode, для управления кодовыми страницами и для упрощения перехода с более ранних версий.

В части III будут рассмотрены специальные кодовые конструкции, которые необходимы, чтобы выяснить: готов ли тот или иной программный код к переходу на кодировку Unicode.

Источник

Ansi to windows delphi


Dmitrij_K ( 2006-12-01 16:21 ) [1]


Juice © ( 2006-12-01 16:43 ) [2]

GetThreadLocale и там и там выдает 1033, значит не в этом проблема.


Германн © ( 2006-12-01 16:53 ) [3]


> juice © (01.12.06 16:14)

RUSSIAN_CHARSET у фонта стоИт?


Juice © ( 2006-12-01 17:28 ) [4]

А шрифты стандартные? (Штифт: MS Sans Serif. Размеры: 10, 12, 14, 18. Стиль: обычный)


Juice © ( 2006-12-04 11:16 ) [6]


Anatoly Podgoretsky © ( 2006-12-04 11:22 ) [7]

> Juice (04.12.2006 11:16:06) [6]

Замени «MS Sans Serif» на Юникод шрифт


Juice © ( 2006-12-04 12:09 ) [9]


> Замени «MS Sans Serif» на Юникод шрифт

Не помогает

Слудующий эксперимент прошел успешно:
SET
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Nls\CodePage\1252 = с_1251, и перезагрузиться.


Anatoly Podgoretsky © ( 2006-12-04 12:36 ) [11]

> Juice (04.12.2006 12:28:10) [10]

Если боишься потерять свое рабочее место, то никому про это не говори.


Juice © ( 2006-12-04 13:04 ) [12]

Note: You can only choose a language that is listed in the Control Panel Regional Settings dialog of your computer. Some versions of the Windows operating system do not include support for all languages (such as Far Eastern languages), and you may need to install the appropriate Language Pack before you can use those languages.


Anatoly Podgoretsky © ( 2006-12-04 13:53 ) [13]

> Juice (04.12.2006 13:04:12) [12]

А чего тут объяснять, неверно написаная программа.


Juice © ( 2006-12-04 14:17 ) [14]

> Juice (04.12.2006 14:17:14) [14]

Продолжай и много тебе это поможет?


Juice © ( 2006-12-04 15:45 ) [16]


> Anatoly Podgoretsky © (04.12.06 15:09) [15]

Не понял.


Juice © ( 2006-12-04 17:50 ) [17]


Juice © ( 2006-12-04 18:50 ) [18]


Juice © ( 2006-12-05 11:06 ) [19]

Кто-то может обьяснить что нужно сделать чтобы приложение можно было запускать на машинах с разными локалями и не возникало проблем с отображением текстовых данных что хранятся в ресурсах?


Juice © ( 2006-12-05 12:33 ) [20]

дома ХР, на работе 98.
под 98 на кнопочках на форме писал по русски.
Пришел домой под ХР, чего-то дописал, скомпилил, принес на работу: и тут сабж!
что называется подкрался. и в исходниках тоже самое. а дома я плотно поработал.
я так понял что под ХР Дельфи (энтерпризе) русский шрифт обрабатывает как юникод, а под 98 Дельфи (триал) как ASCII.
Я малость прибалдел и переписал все кнопки на английском, а в onCreate ручками сделал переименование.
Дорого, конечно, но зато как сердито!

точнее гоню. скомпиленный дома вариант везде выглядит нормально, а открытые и перекомпиленные сырцы на работе уже с вопросительными знаками. вот так-то.


Juice © ( 2006-12-05 17:17 ) [23]


Juice © ( 2006-12-05 17:26 ) [24]


Juice © ( 2006-12-07 15:50 ) [25]

Источник

Поделиться с друзьями
Советы экспертов и специалистов
Adblock
detector