1234567891011121314151617181920212223242526272829303132333435363738394041424344454647 |
- MODULE Encrypt;
- IMPORT Files, Out, SYSTEM;
- VAR key: INTEGER;
- PROCEDURE BITS(n: INTEGER): SET;
- RETURN SYSTEM.VAL(SET, n) END BITS;
- PROCEDURE Parse(VAR r, w: Files.Rider);
- VAR b: BYTE;
- k: SET;
- BEGIN
- k := BITS(key);
- Files.Read(r, b);
- WHILE ~r.eof DO
- b := ORD(BITS(b) / k);
- Files.Write(w, b);
- Files.Read(r, b)
- END
- END Parse;
- PROCEDURE Do;
- VAR F, F2: Files.File;
- r, w: Files.Rider;
- BEGIN
- key := 12;
- F := Files.Old('Data/in.txt');
- IF F # NIL THEN
- Files.Set(r, F, 0);
- F2 := Files.New('Data/out.txt');
- IF F2 # NIL THEN
- Files.Set(w, F2, 0);
- Parse(r, w);
- Files.Register(F2);
- Out.String('Создан файл "Data/out.txt" с зашифрованным'); Out.Ln;
- Out.String('содержимым файла "Data/in.txt".')
- ELSE
- Out.String('Не могу создать файл "Data/out.txt".')
- END
- ELSE
- Out.String('Не могу открыть файл "Data/in.txt".')
- END;
- Out.Ln
- END Do;
- BEGIN
- Do
- END Encrypt.
|