Текущий архив: 2002.04.18;
Скачать: CL | DM;
Вниз
Двоичный вид числа и строки Найти похожие ветки
← →
dr_neo_rostov (2002-04-05 14:24) [0]Этот сайт уже вообще офанарел!!!
Я уже этот вопрос посылал на форум "Алгоритмы", но ни вопроса, ни ответа я там не обнаружил
Так вот, у меня такая проблема. Есть какой - то строковый объект (TEdit or TMemo or TRichEdit) и я хочу сделать так, чтобы по нажатию на кнопку этот текст превращался в двоичный вид, а по другой кнопке - наоборот из двоичного вида в обычный. ( Замечание: текст содержит в себе как буквы(на русском или английском языке), так и цифры).
Заранее Благодарен!
И еще, администрация сайта, пожалуста не удаляйте это сообщение, мне очень нужны эти функции для работы программы
← →
Song (2002-04-05 14:38) [1]Переводи каждую букву в её код, а потом последний в двоичное представление.
← →
eheyler (2002-04-05 15:32) [2]f-n StrToHex(s: string): string;
begin
Result := "";
for i := 1 to Length(s) do
Result := Result + " "+ IntToHex(Ord(s[i]), 2);
end;
← →
AFROLOV (2002-04-05 15:36) [3]Принципиально это выглядит так:
Представляем байт в виде его битов:
type BitArray=array[0..7] of byte;
;
function ConvertToBits(X:byte):BitArray;
var
i:integer;
tmp:byte;
begin
tmp:=1;
for i:=0 to 7 do
begin
if ((X and tmp)>0) then result[i]:=1 else result[i]:=0
tmp:=tmp*2;
end;
end;
function ConvertToByte(bits:BitArray):byte;
var
i:integer;
tmp:byte;
begin
tmp:=1;
for i:=0 to 7 do
begin
if bits[i]>0 then result:=result+tmp;
tmp:=tmp*2;
end;
end
← →
Fantasist (2002-04-07 02:47) [4]Значит, вот тебе функция:
function _10to2(v:byte):string;
var
i:integer;
begin
Result:="";
for i:=0 to 8 do
begin
Result:=char((v and 1)+48)+Result;
v:=v shr 1;
end;
end;
Теперь берешь свою строку S, и делаешь примерно так:
Result:=""
for i:=1 to lenght(s) do
Result:=Result+_10to2(byte(s[i]));
Ну, обратно, по аналогии.
Страницы: 1 вся ветка
Текущий архив: 2002.04.18;
Скачать: CL | DM;
Память: 0.45 MB
Время: 0.005 c