Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

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

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

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 04.05.2010, 01: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, 14: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 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


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