Форум программистов
 
О проблемах, например, с регистрацией пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail, а тут можно восстановить пароль.

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail


Ответ
 
Опции темы
Старый 04.05.2010, 00:08   #1
viorel
Новичок
Джуниор
 
Регистрация: 01.05.2010
Сообщений: 2
По умолчанию расшифровать в ASCII потом цифры расшифровать в бинарный код

Ребят очень надо ваша помощь!
у меня поставлено задание написать программу для кодировки методом Ключевые покрытия
имея в виду что надо брать слово и расшифровать в ASCII потом цифры расшифровать в бинарный код
на пример слова dog в ASCII будет 100111103
d=100, o=111, g=113 и сейчас надо расшифровать в бинарный код
100=1100100, 111=1101111, 113=1110001

procedure TForm1.Edit1Change(Sender: TObject);

var i: integer;
str : string;

begin
for i:=1 to length(edit1.text) do
str := str + inttostr(Ord(Edit1.Text[i])) ;

Edit2.text:=str;
end;

подскажите как дальше расшифровать в бинарный код по буквам
на пример
d=100=1100100
dog=100111103=110010011011111110001
заранее очень благодарен
viorel вне форума Ответить с цитированием
Старый 07.05.2010, 13:43   #2
naneutral
 
Регистрация: 12.01.2010
Сообщений: 5
По умолчанию

procedure TForm1.Edit1Change(Sender: TObject);
var
i, j, X, h, k: Integer;
str, strhex: string;
hex: array [0 .. 7] of Integer;
begin
strhex := '';
str := '';
for i := 1 to length(Edit1.Text) do
begin
str := str + inttostr(Ord(Edit1.Text[i]));
X := Ord(Edit1.Text[i]);
for k := 0 to 7 do
hex[k] := 1;
for j := 7 downto 0 do
Begin
h := 0;
for k := 7 downto j do
h := h + Step2(k) * hex[k];
if h > X then
hex[j] := 0;
End;
for k := 7 downto 0 do
strhex := strhex + inttostr(hex[k]);
end;
Label1.Caption := str;
Label2.Caption := strhex;
end;

function TForm1.Step2(a: Integer): Integer;
Var
i, b: Integer;
Begin
b := 2;
if a > 7 then
b := 128
else if a = 0 then
b := 1
else if a = 1 then
b := 2
else
for i := 2 to a do
b := b * 2;
result := b;
End;
naneutral вне форума Ответить с цитированием
Ответ

Здесь нужно купить рекламу за 20 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru
Без учёта ботов - 20000 человек в день, 350000 в месяц.

Опции темы


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Расшифровать ответ сервера Shouldercannon Общие вопросы Delphi 19 10.03.2011 09:33
расшифровать начальный код API ассемблер123 Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 5 28.04.2010 20:02
расшифровать виженера!!! Anenya.K Помощь студентам 4 06.03.2010 13:09
Расшифровать цикл Golovastik Общие вопросы C/C++ 4 02.09.2009 22:12


Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru
Пеллетный котёл Emtas
котлы EMTAS
Здесь нужно купить рекламу за 7 тыс руб в месяц! )
пишите сюда - alarforum@yandex.ru
ИКС 840