Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Потрепаться";
Текущий архив: 2005.09.11;
Скачать: [xml.tar.bz2];

Вниз

Дваичный код   Найти похожие ветки 

 
Jonikeidg   (2005-08-16 07:52) [0]

Скажите пожалуйста где можно скачать исходник ну в крайнем случаи exe программы которая переводит слова и фразы в дваичный код.
Ну на пример
Edit1:=Привет
Edit2:=100110
зарание спасибо


 
Пип   (2005-08-16 08:11) [1]

function GetBinaryFromChar (const ch : char) : string;
var i : integer;
    a : byte;
begin
    SetLength(Result,8);
    a := ord(ch);
    for i := Low(Binary) to High(Binary) do
     if (a and Binary[i]) = Binary[i]
       then Result[i] := "1"
       else Result[i] := "0"
end;

function GetBinaryFromText (const s : string) : string;
var i : integer;
begin
    Result := "";
    for i := 1 to length(s) do Result := Result + GetBinaryFromChar(s[i])
end;


 
KilkennyCat ©   (2005-08-16 08:12) [2]

У меня есть исходник, могу скинуть на мыло. Весит 560 мегабайт.

Но можно и проще - воспользоваться функцией  HexToBin


 
Пип   (2005-08-16 08:13) [3]

Да,

const
       Binary : array[1..8] of byte = (1,2,4,8,16,32,64,128);


 
Пип   (2005-08-16 08:31) [4]

В обратку:

function GetCharFromBinary(const s : string) : char;
var i : integer;
    a : byte;
begin
    a := 0;
    for i := 1 to length(s) do
     if s[i] = "1" then a := a + Binary[i];
    Result := chr(a)
end;

function GetTextFromBinary (const s : string) : string;
var i : integer;
begin
    if length(s) mod 8 > 0 then Exception.Create("Èäèòå íà þã!");
    SetLength(Result, length(s) div 8);
    for i := 1 to length(Result) do
      Result[i] := GetCharFromBinary(Copy(s,(i-1) shl 3 + 1,8))
end;


> [2] KilkennyCat ©   (16.08.05 08:12)

? - не выспался?


 
evvcom ©   (2005-08-16 10:43) [5]


> Jonikeidg   (16.08.05 07:52)

Ты знаешь, а все файлы итак хранятся в двоичном виде.


 
Kerk ©   (2005-08-16 11:11) [6]


> Edit1:=Привет
> Edit2:=100110

Нифигасе


 
Jeer ©   (2005-08-16 12:54) [7]

Тут многие начинающие архиваторами мучаются:)
Так вот же оно - открытие !
Сжатие текста в 8 раз !


 
Defunct ©   (2005-08-16 13:54) [8]

Да "дваичный код" рулит


 
syte_ser78 ©   (2005-08-16 14:40) [9]

Jonikeidg   (16.08.05 7:52)
Edit1:=Привет
Edit2:=100110

????
Алгоритм поясни


 
Думкин ©   (2005-08-16 15:08) [10]

> syte_ser78 ©   (16.08.05 14:40) [9]

Это стиль писаний gn. Он так любил. Но автор - плохо прописал.


 
Digitman ©   (2005-08-16 16:09) [11]

бред какой-то ..


 
rts111 ©   (2005-08-16 16:49) [12]

Digitman © (16.08.05 16:09) [11]

Почему значек © у Digitman синий,
а у всех остальных темно-синий?


 
Kerk ©   (2005-08-16 16:54) [13]

rts111 ©   (16.08.05 16:49) [12]

Это некорректный вопрос. Ну и что что голубой? Мы его не осуждаем.


 
Digitman ©   (2005-08-16 16:55) [14]


> rts111 ©   (16.08.05 16:49) [12]


ну малясь посинел .. "поголубел", если угодно ..

а что, низя ?

"Непохожий на тебя .." (с) ?


 
Defunct ©   (2005-08-16 17:00) [15]

rts111 ©   (16.08.05 16:49) [12]

дык, выцвел просто.

есть еще красные значки - у пожарников.
а без значков - "те кто разговаривает на дваичном коде".


 
Defunct ©   (2005-08-16 17:02) [16]

всмысле "ботает" а не разговаривает.
забыл, что "на дваичном коде" можно только "ботать".


 
Digitman ©   (2005-08-16 17:03) [17]


> Defunct ©   (16.08.05 17:02) [16]


в точку.


 
panov ©   (2005-08-16 17:07) [18]

Обманываете, я не пожарник.
Хотя огетушителем(он же плюсомет) пользоваться умею.


 
Digitman ©   (2005-08-16 17:18) [19]


> panov ©   (16.08.05 17:07) [18]


> огетушителем(он же плюсомет) пользоваться умею


э-э-э .. знаем, Саша, знаем !
потому и не рискуем)


 
Jonikeidg   (2005-08-16 18:12) [20]

Не могли бы вы написать как конкретно нужно использовать этот код
function GetCharFromBinary(const s : string) : char;
var i : integer;
   a : byte;
begin
   a := 0;
   for i := 1 to length(s) do
    if s[i] = "1" then a := a + Binary[i];
   Result := chr(a)
end;

function GetTextFromBinary (const s : string) : string;
var i : integer;
begin
   if length(s) mod 8 > 0 then Exception.Create("????? ?? ??!");
   SetLength(Result, length(s) div 8);
   for i := 1 to length(Result) do
     Result[i] := GetCharFromBinary(Copy(s,(i-1) shl 3 + 1,8))
end;
А то я в Делфи полный нуль, пожалуйста напишите что и куда нужно поместить.


 
Думкин ©   (2005-08-17 06:21) [21]

> Jonikeidg   (16.08.05 18:12) [20]

А как его еще можно использовать? Я думал, меня будут на уровне оптимизации пинать. А -... если не знаете - зачем спрашиваете на форуме Дельфистов?

Использовать - тупо.Вот создали вы текст.

1. "Текст"

GetBinaryFromText("Текст")
Получили:

2. "0100101110100111010101111000111101001111"

И что дальше?

3. А вот что:
GetTextFromBinary("0100101110100111010101111000111101001111")

"Текст"

А если нуль - учись. Это оправдание для соседских девок на лавке. Мужики этого не просекают.

"????? ?? ??!" там было написано: "Идите на юг!" :)

Я думал, что оптимизировать начнут - а ... как обычно. опошлили.


 
Думкин ©   (2005-08-17 06:51) [22]

Ге, и ... эта - порядок символов в бинарке - сменить . Гы. Лопухнулся.


 
Jonikeidg   (2005-08-18 13:02) [23]

это тоя понял я не понял где посмотреть результат проверки


 
Думкин ©   (2005-08-18 13:04) [24]


> Jonikeidg   (18.08.05 13:02) [23]

TLabel.Caption
Tedit.Text


 
Jonikeidg   (2005-08-18 16:44) [25]

А как именно вывести туда информацию?


 
KilkennyCat ©   (2005-08-18 16:47) [26]


> [25] Jonikeidg   (18.08.05 16:44)


оператором присваивания. Состоит из двух символов: двоеточие и равно. Пишутся слитно, в соответственном порядке. Ставится между тем, кому  присвоить, и тем, кого присвоить.


 
KilkennyCat ©   (2005-08-18 16:52) [27]

а я бы все равно через HexToBin сделал бы :)


 
Digitman ©   (2005-08-18 17:08) [28]


> Jonikeidg   (18.08.05 16:44) [25]


прекращай клоунаду и садись за изучение букварей.



Страницы: 1 вся ветка

Форум: "Потрепаться";
Текущий архив: 2005.09.11;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.51 MB
Время: 0.012 c
4-1121850926
KSK
2005-07-20 13:15
2005.09.11
CreateProcess


1-1124517760
wenn
2005-08-20 10:02
2005.09.11
размер Одной ячейки DBGid


3-1122796471
SMP
2005-07-31 11:54
2005.09.11
Связи в SQL


4-1121187841
GEN++
2005-07-12 21:04
2005.09.11
Включение/выключение устройства


3-1122898658
td
2005-08-01 16:17
2005.09.11
как можно посмотреть запрос Оракл?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский