Модераторы: Poseidon, Snowy, bems, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Perevod dvoichnogo koda iz Memo v fajl, Kak sohranitj dvoichnij kod v fajl ? 
:(
    Опции темы
Neznajka
Дата 8.3.2005, 13:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 17
Регистрация: 8.3.2005

Репутация: нет
Всего: нет



Uvazhaemie kollegi, ja hotel bi pointeresovat'sja, kak v Deplphi mozno sohranitj dvoichnij kod, kotorij nahoditsa v Memo v fajl. Naprimer v Memo hranitsa dvoichnij kod simvola "p". Ja hochu sohranitj etot kod v txt fajl, chtobi zatem otkritj ego i uvidetj tam etot simvol. Ili v memo dvoichnij kod malenkogo exe fajla. Kak sohranitj ego kak exe, ctobi on funkcioniroval korektno ? Spasibo.
PM MAIL   Вверх
SoWa
Дата 8.3.2005, 19:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Харекришна
****


Профиль
Группа: Комодератор
Сообщений: 2422
Регистрация: 18.10.2004

Репутация: 2
Всего: 74



Ну, все не так просто:
Двоичный код надо преобразовывать в байты(1 байт- 8 бит) а затем приписывать эти байты к нужному файлу.
Используй такие вещи:
Код

var f: file of byte;
x: byte
...
assignfile(f, '.../..../..../file.exe');
rewrite(f);
...........
x:=твой байт
write(f,x);
.........
closefile(f);



--------------------
Всем добра smile
PM MAIL ICQ   Вверх
Neznajka
Дата 8.3.2005, 21:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 17
Регистрация: 8.3.2005

Репутация: нет
Всего: нет



Xmm. Nu a esli u menja 900 strok koda ? - eto nemnogo.

Ja tut (na etom forume) nawel obratnoe: perevod iz fajla v dvoizhij kod (v Memo). Mne nuzhno tozhe samoe tolko obratno.

Код

procedure FileToBin(fn:string);
const
m: array[1..8] of byte=(128,64,32,16,8,4,2,1);
var
f: file of byte;
b: byte;
l: string;
i: integer;
begin
Form1.Memo1.Clear;
if not FileExists(fn) then exit;
Assign(f,fn); Reset(f);
while not EOF(f) do begin
  Read(f,b); l:='';
  for i:=1 to 8 do
    if (b or m[i]) = b then l:=l+'1'
    else l:=l+'0';
  Form1.Memo1.Lines.Add(l);
end;
CloseFile(f);
end;


Это сообщение отредактировал(а) Alex - 8.3.2005, 21:27
PM MAIL   Вверх
Skyline
Дата 9.3.2005, 15:07 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Хммм. Действительно интерестный вопрос. Я бы тоже хотел узнать, как это делается. Программисты ?
  Вверх
Dr.No_xXx
Дата 9.3.2005, 15:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 215
Регистрация: 24.2.2005

Репутация: нет
Всего: нет



можно например научить программу обрабатывать и конвертировать символы из 2 в десятичную или в текст и при записи в файл записывать уже букву или число
или я неправильно понял?
PM MAIL   Вверх
SoWa
Дата 9.3.2005, 15:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Харекришна
****


Профиль
Группа: Комодератор
Сообщений: 2422
Регистрация: 18.10.2004

Репутация: 2
Всего: 74



Потом, как нибудь, выложу исходник... А может кто и раньше даст


--------------------
Всем добра smile
PM MAIL ICQ   Вверх
p0s0l
Дата 9.3.2005, 16:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Г-н Посол
****


Профиль
Группа: Экс. модератор
Сообщений: 3668
Регистрация: 13.7.2003
Где: 58°38' с.ш. 4 9°41' в.д.

Репутация: 58
Всего: 112



Что-то типа этого:
Код
var
  txt, s : string;
  f : file of byte;
  i, j : integer;
  b : byte;

begin
  txt := Memo1.Text;
  AssignFile (f, 'C:\dump.bin');
  Rewrite (f);
  s := '';
  for i := 1 to Length(txt) do
  begin
    if (txt[i] = '0') or (txt[i] = '1') then s := s + txt[i]
    else if s <> '' then
    begin
      b := 0;
      for j := 1 to Length(s) do
        if s[j] = '1' then b := b or (1 shl (Length(s)-j));
      Write (f, b);
      s := '';
    end;
  end;
  CloseFile (f);
end;



--------------------
С уважением, г-н Посол.
PM   Вверх
Neznajka
Дата 10.3.2005, 01:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 17
Регистрация: 8.3.2005

Репутация: нет
Всего: нет



O, Spasibo p0s0l ! Was budu probivatj !
PM MAIL   Вверх
Neznajka
Дата 10.3.2005, 01:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 17
Регистрация: 8.3.2005

Репутация: нет
Всего: нет



Nde. K sozaleniju nicego ne polucaetsa. Ja sdelal tak - vvel kod simvola "p" (01110000) i exportnul etot kod v txt fajl (ja zaranee znaju format fajla - *.txt). Kogda ja ego otkril, to obnaruzil pustotu ..
PM MAIL   Вверх
p0s0l
Дата 10.3.2005, 09:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Г-н Посол
****


Профиль
Группа: Экс. модератор
Сообщений: 3668
Регистрация: 13.7.2003
Где: 58°38' с.ш. 4 9°41' в.д.

Репутация: 58
Всего: 112



Neznajka, грубый недодум smile
Надо подправить первую строку:
Код
  txt := Memo1.Text + ' ';



--------------------
С уважением, г-н Посол.
PM   Вверх
Neznajka
Дата 10.3.2005, 11:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 17
Регистрация: 8.3.2005

Репутация: нет
Всего: нет



Obaaa. p0s0l ti GENIJ ! Spasibo bolsoe ! Vse prekrasno rabotaet !!

PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0544 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.