Форум: "Начинающим";
Текущий архив: 2007.12.30;
Скачать: [xml.tar.bz2];
ВнизПомогите перевести string в keycode Найти похожие ветки
← →
Scazzi © (2007-12-06 13:08) [0]Есть задачка перевести строку типа string в keycode
тоесть чтобы строка "hello" выглядила как "#72#69#76#76#79"
Помогите пожалста очень надо
← →
Джо © (2007-12-06 13:10) [1]Ord
← →
Джо © (2007-12-06 13:10) [2]Для каждого символа строки.
← →
Scazzi © (2007-12-06 13:12) [3]а не можешь пример написать... я просто с Дельфи очень мало знаком
← →
MBo © (2007-12-06 13:15) [4]for i := 1 to Length(s) do
keycode := keycode + "#" + IntToStr(Ord(s[i]));// или IntToHex(Ord(s[i]), 2);
← →
Scazzi © (2007-12-06 13:16) [5]Спасибо большое
← →
Германн © (2007-12-06 13:38) [6]Как ни стараюсь, а все равно строка "hello" не выглядит как "#72#69#76#76#79".
Что я делаю не так?
:)
← →
engine © (2007-12-06 13:40) [7]> [6] Германн © (06.12.07 13:38)
"HELLO"
)
← →
Джо © (2007-12-06 13:41) [8]> [6] Германн © (06.12.07 13:38)
> Что я делаю не так?
> :)
Наверное, плохо стараешься? :)
← →
Германн © (2007-12-06 13:43) [9]
> engine © (06.12.07 13:40) [7]
:)))
← →
Anatoly Podgoretsky © (2007-12-06 13:58) [10]
> Как ни стараюсь
Смотря как стараешься
← →
Германн © (2007-12-06 14:03) [11]
> Anatoly Podgoretsky © (06.12.07 13:58) [10]
Ну тогда вот так нужно:for i := 1 to Length(s) do
keycode := keycode + "#" + IntToStr(Ord(UpCase(s[i])));
А все прочие - ламеры!
← →
{RASkov} © (2007-12-06 14:06) [12]Вообщето это:
> #72#69#76#76#79"
точно не это:
>hello
:) Я тоже не сразу въехал)
Но вот так, имхо, красивее
#48#45#4C#4C#4F
← →
Dib@zol © (2007-12-06 14:41) [13]function ConvToKeyCodes(s:string):PChar;
asm
PUSH EBX;
PUSH ECX;
PUSH EDX;
PUSH EDI;
PUSH ESI;
MOV ECX, DWORD PTR [EAX-4];
PUSH ECX;
MOV EBX, ECX;
SHL ECX, 1;
ADD ECX, EBX;
INC ECX;
MOV EDI, ECX;
MOV EBX, EAX;
DEC EBX;
PUSH ECX;
CALL GetMemory;
POP ECX;
POP ECX;
ADD EDI, EAX;
MOV BYTE PTR[EDI], 0;
DEC EDI;
XOR EAX, EAX;
MOV DL, 10h;
@loop:
MOV AL, BYTE PTR [EBX+ECX];
MOV ESI, ECX;
MOV ECX, 2;
@next:
IDIV DL;
CMP AH, 0Ah;
JL @less;
ADD AH, 07h;
@less:
ADD AH, 30h;
MOV BYTE PTR [EDI], AH;
XOR AH, AH;
DEC EDI;
LOOP @next;
MOV BYTE PTR [EDI], 23h;
DEC EDI;
MOV ECX, ESI;
LOOP @loop;
INC EDI;
MOV EAX, EDI;
POP ESI;
POP EDI;
POP EDX;
POP ECX;
POP EBX;
end;
Вота.
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2007.12.30;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.006 c