Форум программистов, компьютерный форум, киберфорум
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.73/11: Рейтинг темы: голосов - 11, средняя оценка - 4.73
0 / 0 / 0
Регистрация: 30.11.2018
Сообщений: 35
1

Шифрование сразу всего текстового файла, а не фразы из Edit

19.01.2019, 19:18. Показов 1891. Ответов 21
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Надо сделать чтобы текст зашифровывал и расшифровывал не из Edit1, а из текстовика и сохранял в отдельный текстовик результат. Срочно нужно.
Вложения
Тип файла: 7z delphi шифровка Цезаря.7z (571.5 Кб, 4 просмотров)
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
19.01.2019, 19:18
Ответы с готовыми решениями:

Обработка строк символов по информации из текстового файла. Вывести в виде фразы «мне k лет»
Задано некоторое натуральное число k. Требуется вывести весь текст словами (например, при k=5...

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

Шифрование текстового файла
Собственно как можно зашифровать текстовый файл? подскажите самый простой метод чтобы человек...

Шифрование текстового файла
Имеется элемент Edit на одной форме и элемент Label на другой. Необходимо считать данные c Edit,...

21
Модератор
9256 / 6034 / 2379
Регистрация: 21.01.2014
Сообщений: 25,793
Записей в блоге: 3
19.01.2019, 19:37 2
Цитата Сообщение от frost1997111 Посмотреть сообщение
текст зашифровывал и расшифровывал не из Edit1
А толку-то? Этот, надыбанный Вами где-то код, не работает в юникодных версиях, точнее, работает некорректно...
Вот пример: зашифровал я сфразу: "Я якорюсь". То, что я получил при расшифровке - на скрине...
 Комментарий модератора 
И темы корректно называйте!
Миниатюры
Шифрование сразу всего текстового файла, а не фразы из Edit  
0
Почетный модератор
64300 / 47595 / 32743
Регистрация: 18.05.2008
Сообщений: 115,181
19.01.2019, 19:59 3
У него и в D7 расшифровывает неверно.
0
62 / 48 / 20
Регистрация: 01.09.2017
Сообщений: 381
19.01.2019, 20:12 4
frost1997111,
Может это тебе поможетShifrovanye.rar
0
0 / 0 / 0
Регистрация: 30.11.2018
Сообщений: 35
19.01.2019, 20:26  [ТС] 5
Как сделать чтобы он брал текст который надо зашифровать или дешифровать из файла текстовика?
0
Модератор
9256 / 6034 / 2379
Регистрация: 21.01.2014
Сообщений: 25,793
Записей в блоге: 3
19.01.2019, 20:29 6
Цитата Сообщение от frost1997111 Посмотреть сообщение
из файла текстовика?
frost1997111, а Вы тот проект, который 920403 Вам презентовал, что, вообще не смотрели? Ну и на кой ляд тогда перед Вами тут распинаться?

Не по теме:

920403, хотя там и есть возможность шифровать/дешифровать именно файл - но это к шифру Цезаря не имеет никакого отношения!

0
0 / 0 / 0
Регистрация: 30.11.2018
Сообщений: 35
19.01.2019, 21:23  [ТС] 7
Так там он берет текст из поля( с верхнего поля берет что вводишь и в нижний записывает результат) а мне то надо чтобы он брал из текстового файла, и результат записывал в другой текстовый файл

Добавлено через 1 минуту
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
unit Unit1;
 
interface
 
uses
  Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
  Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, Vcl.ExtDlgs;
 
type
  TForm1 = class(TForm)
    Edit1: TEdit;
    Button1: TButton;
    Button2: TButton;
    OpenTextFileDialog1: TOpenTextFileDialog;
    Label1: TLabel;
    SaveTextFileDialog1: TSaveTextFileDialog;
    Label2: TLabel;
    procedure Button2Click(Sender: TObject);
    procedure Button1Click(Sender: TObject);
 
 
  private
    { Private declarations }
  public
    { Public declarations }
    const alfa:array[0..65] of char = ('А','Б','В','Г','Д','Е','Ё','Ж','З','И','Й', 'К','Л','М','Н','О','П','Р','С','Т','У','Ф','Х','Ц','Ч','Ш','Щ','Ъ','Ы','Ь','Э','Ю','Я', 'а','б','в','г','д','е','ё','ж','з','и','й','к','л','м','н','о','п','р','с','т','у','ф','х','ц','ч','ш','щ','ъ','ы', 'ь','э','ю','я');
  end;
 
var
  Form1: TForm1;
   a22:integer;
 
implementation
 
{$R *.dfm}
 
 
{$APPTYPE CONSOLE}
 
uses
 
 
StrUtils; //!!
 
var
 
F: Text; //входящий файл
 
F1: TextFile; //результат (файл с переводом)
 
ToDo, FileName, PassW, Line, TranslatedFile: string;
a:array[0..65] of char;
  i, j, k: integer;
  s, b :string;
 
procedure TForm1.Button1Click(Sender: TObject);
    //if OpenTextFileDialog1.Execute then FileName:= OpenTextFileDialog1.FileName;
   // TranslatedFile:= FileName+'u';
    //  AssignFile(F, FileName);
    //  AssignFile(F1, TranslatedFile);
     //  Rewrite(F1);
     //  Reset(F);
   //    CloseFile(F);
    //  CloseFile(F1);
      //while not EOF(F) do
  begin
   For i:=0 to 65 do
  begin
    a[i]:= alfa[(i+1) mod 66];
  end;
 
   // шифр
    k := StrToInt(Edit1.Text);//StrToInt(Edit1.Text); OpenTextFileDialog1.FileName
    s := Text;//Edit2.Text;
    OpenTextFileDialog1.Execute; FileName:= OpenTextFileDialog1.FileName;
    for i := 1 to length(s) do
      for j := 0 to 65 do
        if s[i] = a[j] then b := b+a[(j+(k-1)) mod 66];
     F1:= b;
     b:='';
  end;
 
procedure TForm1.Button2Click(Sender: TObject);
//var
 
begin
   For i:=0 to 65 do
  begin
    a[i]:= alfa[(i+1) mod 66];
  end;
 
   // шифр
    k := StrToInt(Edit1.Text);
    s := Text;
    for i := 1 to length(s) do
      for j := 0 to 65 do
        if s[i] = a[j] then b := b+a[(j-(k-1)) mod 66];
    F1 := b;
    b := '';
end; //конец расшифровки
end.
Добавлено через 44 секунды
Вот что я тут написал) Исправьте пожалуйста, очень надо, экзамен завтра. Не сдам отчислят.

[del п. 5.9]
0
62 / 48 / 20
Регистрация: 01.09.2017
Сообщений: 381
19.01.2019, 21:33 8
frost1997111, вот держи готовый прямо из печи, только что испёк Sezar.rar

А вот сам код этого проекта

Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
  private
    { Private declarations }
  public
     function Cesar(Key:Integer; S:String; Decode:Boolean):String;
    { Public declarations }
 
  end;
 
var
  Form1: TForm1;
 
implementation
 
{$R *.dfm}
 
{ TForm1 }
 
function TForm1.Cesar(Key: Integer; S: String; Decode: Boolean): String;
var
  i:Integer;
  st:String;
begin
  st:=S;
  if Decode then Key:=-Key;
  for i:=1 to Length(S) do
    st[i]:=Chr((Ord(S[i])+Key));
  Result:=st;
end;
 
procedure TForm1.Button1Click(Sender: TObject);
var
  i,Key:Integer;
begin
  Key:=StrToInt(Edit1.Text); //Ключ вводим в Edit1
  for i:=0 to Memo1.Lines.Count-1 do
    Memo1.Lines[i]:=Cesar(Key,Memo1.Lines[i],False);
end;
 
procedure TForm1.Button2Click(Sender: TObject);
var
  i,Key:Integer;
begin
  Key:=StrToInt(Edit1.Text);
  for i:=0 to Memo1.Lines.Count-1 do
    Memo1.Lines[i]:=Cesar(Key,Memo1.Lines[i],True);
end;
 
procedure TForm1.Button3Click(Sender: TObject);
begin
Memo1.Lines.LoadFromFile('test.txt');
end;
 
procedure TForm1.Button4Click(Sender: TObject);
begin
Memo1.Lines.SaveToFile('result.txt');
end;
 
end.
0
62 / 48 / 20
Регистрация: 01.09.2017
Сообщений: 381
19.01.2019, 21:36 9
frost1997111, С тебя "поляну накрыть"
0
0 / 0 / 0
Регистрация: 30.11.2018
Сообщений: 35
19.01.2019, 21:47  [ТС] 10
А можно поле вообще убрать и чтобы он сразу из файла брал текст для дешифровки и шифровки?
0
62 / 48 / 20
Регистрация: 01.09.2017
Сообщений: 381
19.01.2019, 21:52 11
frost1997111, что именно хочешь убрать, поле мемо? или поле шаг?
0
0 / 0 / 0
Регистрация: 30.11.2018
Сообщений: 35
19.01.2019, 21:54  [ТС] 12
Где АБВГД выходит это убрать) Что бы например шифровка нажимаю выходило окно где нужно файл указать текстовый в котором текст) точно так же с дешифровкой
0
62 / 48 / 20
Регистрация: 01.09.2017
Сообщений: 381
19.01.2019, 21:57 13
frost1997111, как я понял открытие файла нужно через OpenDialog как в винде, а вместо Мемо применить не визуальный компонент TStringList так? А поле шаг нужно?
0
0 / 0 / 0
Регистрация: 30.11.2018
Сообщений: 35
19.01.2019, 21:59  [ТС] 14
Да все так, шаг оставить надо
0
Модератор
9256 / 6034 / 2379
Регистрация: 21.01.2014
Сообщений: 25,793
Записей в блоге: 3
19.01.2019, 22:58 15
Цитата Сообщение от 920403 Посмотреть сообщение
С тебя "поляну накрыть
920403, а за что? Код-то не рабочий для юникодных версий! Сами-то его хоть проверяли? Я вот не поленился - и, косяки, как и ожидалось...

Добавлено через 30 минут
Э-э-э, да он у Вас и в Д7 не работает...
0
Модератор
9256 / 6034 / 2379
Регистрация: 21.01.2014
Сообщений: 25,793
Записей в блоге: 3
19.01.2019, 23:15 16

Не по теме:

Цитата Сообщение от frost1997111 Посмотреть сообщение
Не сдам отчислят
Да и стоило бы...


В общем вот, специально для двоешников...
Вложения
Тип файла: rar Caesar.rar (5.1 Кб, 17 просмотров)
1
0 / 0 / 0
Регистрация: 30.11.2018
Сообщений: 35
19.01.2019, 23:32  [ТС] 17
а кнопочку для дешировки?(

Добавлено через 1 минуту
все дошло) спасибо)
0
62 / 48 / 20
Регистрация: 01.09.2017
Сообщений: 381
19.01.2019, 23:43 18
frost1997111, Возможно D1973 уже предоставил то что нужно, но я всё же испёк так, как хотел frost1997111, хоть может и не нужно уже, но всё же вотSez2.rar

И тут сам код

Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
 public
     function Cesar(Key:Integer; S:String; Decode:Boolean):String;
    { Public declarations }
 
  end;
 
var
  Form1: TForm1;
  StrL1:TStringList;
   FileName: string;
  implementation
 
{$R *.dfm}
 
{ TForm1 }
 
function TForm1.Cesar(Key: Integer; S: String; Decode: Boolean): String;
var
  i:Integer;
  st:String;
begin
  st:=S;
  if Decode then Key:=-Key;
  for i:=1 to Length(S) do
    st[i]:=Chr((Ord(S[i])+Key));
  Result:=st;
end;
 
procedure TForm1.Button2Click(Sender: TObject);
var
  i,Key:Integer;
begin
 
   if OpenDialog1.Execute then begin
      StrL1.LoadFromFile(OpenDialog1.FileName);
 
  Key:=StrToInt(Edit1.Text);
  for i:=0 to StrL1.Count-1 do
    StrL1.Strings[i]:=Cesar(Key,StrL1.Strings[i],True);
            end;
    end;
 
procedure TForm1.FormCreate(Sender: TObject);
begin
StrL1:=TStringList.Create;
end;
 
procedure TForm1.Button5Click(Sender: TObject);
var
  i,Key:Integer;
begin
 
if OpenDialog1.Execute then begin
      StrL1.LoadFromFile(OpenDialog1.FileName);
 
  Key:=StrToInt(Edit1.Text); //Êëþ÷ ââîäèì â Edit1
  for i:=0 to StrL1.Count-1 do
  StrL1.Strings[i]:=Cesar(Key,StrL1.Strings[i],False);
 
        end;
 
end;
 
procedure TForm1.Button6Click(Sender: TObject);
begin
 
if SaveDialog1.Execute then begin
StrL1.SaveToFile(SaveDialog1.FileName);
 end;
end;
 
end.
1
0 / 0 / 0
Регистрация: 30.11.2018
Сообщений: 35
19.01.2019, 23:59  [ТС] 19
Спасибо
0
Модератор
9256 / 6034 / 2379
Регистрация: 21.01.2014
Сообщений: 25,793
Записей в блоге: 3
20.01.2019, 07:53 20
920403, Вы вообще посты читаете? Мне сколько раз повторить, что у Вас нерабочий алгоритм шифрования?
Попробуйте сами зашифровать не свое, за уши притянутое АБВГД, а добавьте хоть к этому набору буквы "эюя" и зашифруйте/расшифруйте... Смотреть же надо, что сами делаете, а не так вот...
0
20.01.2019, 07:53
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
20.01.2019, 07:53
Помогаю со студенческими работами здесь

Шифрование текстового файла
Нужен код для шифрования русскоязычного текста методом простой подстановки(каждой букве алфавита...

Шифрование текстового файла.
Здравствуйте, дорогие формучани. В общем вопрос таков. Надо написать программу, которая будет...

Шифрование текстового файла
Есть текстовый документ, в нём содержится информация о сотрудниках: Иванов И.И. назначен на...

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

Шифрование текстового файла на МК AVR
Необходимо реализовать элементарное шифрование информации из текстового файла и сохранить...

XOR шифрование текстового файла
Нужно сделать программу шифрования XOR в форме,чтобы можно было выбрать файл для шифрования в...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru