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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> шифрование word и excel документа 
V
    Опции темы
MrDmitry
Дата 2.3.2012, 17:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



В общем спасибо. Разобрался, но т.к не понял как использовать предоставленные тобой процедуры сделал по другому. Еще раз спасибо за помощь!
PM MAIL   Вверх
Чучмек
Дата 2.3.2012, 19:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


НЭТ БИЛЭТ
**


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

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



Код

procedure TForm1.Button1Click(Sender: TObject);
const
 count=64;
 readbyte=64*3;
var
 h:integer;
 tf:textfile;
 m1:array[0..readbyte] of byte;
 m2:array[0..count*4]of ansichar;
 rb,wb,d,i:integer;
begin
if not OpenDialog1.Execute then exit;
if not SaveDialog1.Execute then exit;

h:=fileopen(OpenDialog1.FileName,0);
assignfile(tf,SaveDialog1.FileName);
Rewrite(tf);

repeat
 rb:=fileread(h,m1,readbyte);
 if rb=0 then break;
 if rb<readbyte then
   begin
   d:=rb-3*(rb div 3);
   if d>0 then
     begin
     for i:=1 to 3-d do m1[rb+i]:=0;
     rb:=rb+(3-d);
     wb:=4*rb div 3;
     end;
   end else d:=0;
 Base64encode(@m1,rb,@m2);
 if d>0 then
   for i:=1 to 3-d do m2[wb-i]:='=';
 writeln(tf,m2);
 until rb<>readbyte;

fileclose(h);
Closefile(tf);
end;




Код

procedure TForm1.Button1Click(Sender: TObject);
var
 h:integer;
 tf:textfile;
 s:ansistring;
 m:array of byte;
 wb:integer;
begin
if not OpenDialog1.Execute then exit;
if not SaveDialog1.Execute then exit;


h:=filecreate(SaveDialog1.FileName);
assignfile(tf,OpenDialog1.FileName);
Reset(tf);
while not Eof(tf)do
 begin
 Readln(tf,s);
 wb:=3*(length(s) div 4);
 if length(m)<wb then setlength(m,wb);
 if s[length(s)]='=' then
    begin
    s[length(s)]:='A';
    dec(wb);
    if s[length(s)-1]='=' then
       begin
       s[length(s)-1]:='A';
       dec(wb);
       end;
    end;
 Base64decode(@(s[1]),length(s),@(m[0]));
 filewrite(h,(@(m[0]))^,wb);
 end;
fileclose(h);
Closefile(tf);
end;



--------------------
умную мысль держи при себе, а дурной - поделись с другими 
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.1250 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


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

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