Вниз
Скачать: CL | DM;

! Как закодировать какойлибо файл?!   Найти похожие ветки 

 
Officeman   (2003-07-05 17:26) [0]

Задача:
Нужно закодировать файл. например читать по байтно и используя какой-либо алгоритм. записывать в бинарном виде.
или ещё какнить!
соответственно и раскодировать тоже... =)

в интернете много таких утилиток, но мне нужно чтонить своё написать. Чтоб утилитка была частью программы (процедурой).

Ваши предложения?


 
Yuri-7 ©   (2003-07-05 18:14) [1]

используй библиотеку функций QStrings.pas. Там все есть.


 
Spawn ©   (2003-07-05 19:28) [2]

Ну если читать побайтно, то грузи его в TFileStream и прогони от 0 до TFileStream.Size, читая по байту)))
Что то типа етого:

Try
FileStream:=TFileStream.Create(FileName,fmOpenReadWrite);
for i:=0 to FileStream.Size-1 do
begin
FileStream.ReadBuffer(Buf,1);
//что то делаешь с етими байтами
end;
finally
FreeAndNil(FileStream);
end;

Писал без Дельфей, так что могут быть ошибки))


 
Diamond Dog ©   (2003-07-05 21:52) [3]

В редакторе кода Delphi напиши TfileStream, подвиди курсор на это словосочетание и жми alt+F1 и читай, там все описано.


 
Poirot ©   (2003-07-06 03:40) [4]

Что значит по вашему кодировать?


 
Officeman   (2003-07-08 06:21) [5]

2Poirot
!КРИПТОГРАФИЯ!
есликто занимался этим и есть какието алгоритмы.
пришлите пожалуйста их мне! пускай даже самые простые!
хочу разобраться!


 
АлексейК   (2003-07-08 07:16) [6]

Наипростейший пример криптографии, на примере строки.
function Encrypt(const S: String; Key: Word): String;
const C1 = 43621; C2 = 28521;
var I: Integer;
begin
Result := S;
for I := 1 to Length(S) do begin
Result[I] := char(byte(S[I]) xor (Key shr 8));
Key := (byte(Result[I]) + Key) * C1 + C2;
end;
end;

function Decrypt(const S: String; Key: Word): String;
const C1 = 43621; C2 = 28521;
var I: Integer;
begin
Result := S;
for I := 1 to Length(S) do begin
Result[I] := char(byte(S[I]) xor (Key shr 8));
Key := (byte(S[I]) + Key) * C1 + C2;
end;
end;



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

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.012 c
9-77710
R2D2
2003-02-01 22:32
2003.07.24
---|Ветка была без названия|---


14-78126
Chris
2003-07-08 21:39
2003.07.24
загрузка ОС на бездисковой станции


4-78189
AlexGreG
2003-05-22 16:01
2003.07.24
Выше всех окон


1-77869
ly
2003-07-11 17:43
2003.07.24
exel2000 и delphi


1-77857
Officeman
2003-07-11 23:25
2003.07.24
TListView1 ! Как записать его содержимое(файлы) в отдельную папку




   Наверх