- Код: Выделить всё
lcName1 := 'Т';
showmessage(lcName1 + ' ' +IntToStr(Ord(lcName1[1])) + ' ' + IntToStr(Ord(lcName1[2])));
Модератор: Модераторы
lcName1 := 'Т';
showmessage(lcName1 + ' ' +IntToStr(Ord(lcName1[1])) + ' ' + IntToStr(Ord(lcName1[2])));
program Project1;
uses
Classes, SysUtils, LazUtf8, Windows, Messages, Dialogs;
var
p: PChar;
function Utf8CharToASCII(const p: PChar): integer;
begin
if p = 'Т' then Result := 210; // Т
// и т.д. весь алфавит
end;
begin
p := 'Т';
WriteLn(IntToStr(Utf8CharToASCII(p)));
Readln;
end.
bogdan писал(а):а в лазарусе 208 и 162
uses
LConvEncoding;
......
lcName1 := UTF8ToCP1251('Т');
showmessage(lcName1 + ' ' +IntToStr(Ord(lcName1[1])) + ' ' + IntToStr(Ord(lcName1[2])));
if p = 'Т' then Result := 210; // Т
это дело то работает... то нет...AnsiToUtf8 и Utf8ToAnsi
program Project1;
uses
Classes, SysUtils, LazUtf8, Windows, Messages, Dialogs,LConvEncoding;
var
p: PChar;
begin
p := 'Т';
WriteLn(IntToStr(Integer(UTF8ToCP1251(p)[1])));
Readln;
end.
Function GetCode(c : char) : byte;
Var
a : byte absolute c;
begin
GetCode := a;
end;
Лекс Айрин писал(а):интересно...
resident писал(а):А как же твой редактор будет обрабатывать коды, большие 7(8) бит?
Лекс Айрин писал(а):Лично у меня он набирает их даже без дополнительного кода
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 234