Encrypt:=arg;
if Ord(arg)>=32 then begin { управляющие символы не трогаем! }
x:= Ord(arg)+ CKey;
if x>255 then x:= x-256+32;
Encrypt:= Char(x);
end;
end;
{ Расшифровка одного символа }
function Decrypt(arg: char): char;
var x: integer;
begin
Decrypt:=arg;
if Ord(arg)>=32 then begin { управляющие символы не трогаем! }
x:= Ord(arg)- CKey;
if x<32 then x:= x+256-32;
Decrypt:= Char(x);
end;
end;
{ Шифрование строки }
procedure EncryptStr(var arg: string);
var k: integer;
begin
for k:=1 to Length(arg) do arg[k]:= Encrypt(arg[k]);
end;
{ Расшифровка строки }
procedure DecryptStr(var arg: string);
var k: integer;
begin
for k:=1 to Length(arg) do arg[k]:= Decrypt(arg[k]);
end;
{----- Процедура шифрования-расшифровка файла -----}
procedure CryptFile(const aFile: string; aOper: boolean);
const CFixName='Crypt.txt'; { фиксированное имя файла }
var FileIn: text; { входной файл для чтения }
FileOut: text; { выходной файл для записи }
S: string;
begin
if aOper then begin { если шифровать }
Assign(FileIn, aFile);
Assign(FileOut, CFixName);
end else begin { если расшифровать }
Assign(FileIn, CFixName);
Assign(FileOut, aFile);
end;
Reset(FileIn); { открыть входной файл для чтения }
Rewrite(FileOut); { открыть выходной файл для записи }
while not Eof(FileIn) do begin