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

Вы читаете Песни о Паскале
Добавить отзыв
ВСЕ ОТЗЫВЫ О КНИГЕ В ИЗБРАННОЕ

0

Вы можете отметить интересные вам фрагменты текста, которые будут доступны по уникальной ссылке в адресной строке браузера.

Отметить Добавить цитату