Форум программистов, компьютерный форум, киберфорум
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.73/11: Рейтинг темы: голосов - 11, средняя оценка - 4.73
0 / 0 / 0
Регистрация: 05.11.2018
Сообщений: 20
1
Delphi 6-7

Генератор паролей

24.11.2018, 21:50. Просмотров 2241. Ответов 10
Метки нет (Все метки)


Прошу помочь в составлении кода, а также выделить существующие, грубые ошибки.
Я в программировании не так давно, так что прошу повежливее.



Вот код:
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
102
103
104
105
106
107
108
109
110
111
112
113
114
unit Unit3;
 
interface
 
uses
  Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
  Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls;
 
type
  WAS123 = 0..255;
  TForm4 = class(TForm)
    passwordsgeneration: TButton;
    Edit1: TEdit;
 
 
 
 
 
 
 
  private
    { Private declarations }
  public
    { Public declarations }
  end;
 
var
  Form4: TForm4;
 
implementation
{$R *.dfm}
 
 
var
  a,d,j,k,n:string;
  b,c,e,f,h,i,l,m,o,p:WAS123;
 
 
procedure Letter;
begin
begin
randomize;
a:='';
for b:=1 to 10 do
begin
repeat
c:=48+random(75);
until c in [48..57,97..122];
a:=a+chr(c);
end;
end;
                              {1ый блок}
 
begin
randomize;
d:='';
for e:=1 to 10 do
begin
repeat
f:=48+random(118);
until f in [48..57,97..122];
d:=d+chr(f);
end;
end;                                {2ой блок}
 
begin
randomize;
j:='';
for h:=1 to 10 do
begin
repeat
i:=48+random(99);
until i in [48..57,97..122];
j:=j+chr(i);
end;
end;                                {3ий блок}
 
begin
randomize;
k:='';
for l:=1 to 10 do
begin
repeat
m:=48+random(67);
until m in [48..57,97..122];
k:=k+chr(m);
end;
end;                                  {4ый блок}
 
begin
randomize;
n:='';
for o:=1 to 10 do
begin
repeat
p:=48+random(105);
until p in [48..57,97..122];
n:=n+chr(p);
end;
end;
ShowMessage(a);
ShowMessage(d);
ShowMessage(j);
ShowMessage(k);
ShowMessage(n);
end;
 
 
procedure passwordsgenerationClick(Sender: TObject);
begin
TEdit.Clear;
Letter;
end;
end.
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
24.11.2018, 21:50
Ответы с готовыми решениями:

Генератор паролей
Пишу программу "Генератор паролей", сначала написал на Pascal, компилировалось и работало отлично....

Генератор паролей
На курсовую надо создать генератор паролей... я в Delphi дуб дубом... помогите!!! Напишите как это...

Генератор паролей
Люди подскажите как сделать чтобы после каждых 15 символов ставил тире '-' или пропуск ' ' Вот код...

Генератор паролей
Начал писать генератор паролей, смотрел видео по нему, всё точь в точь так же написано.Код: unit...

10
пофигист широкого профиля
4292 / 2812 / 796
Регистрация: 15.07.2013
Сообщений: 16,312
25.11.2018, 01:39 2
А какая помощь собственно нужна?
Если удалить 111 строчку, то "ваш" код компилируется и работает. Так что ещё вам нужно?
1
0 / 0 / 0
Регистрация: 05.11.2018
Сообщений: 20
25.11.2018, 02:52  [ТС] 3
northener, мне нужно, чтобы при нажатии кнопки выполнялась процедура Letter. А этого не происходит.
0
Модератор
6758 / 4352 / 1869
Регистрация: 21.01.2014
Сообщений: 18,378
Записей в блоге: 3
25.11.2018, 06:12 4
danilljjhk, может лучше Вам полное задание озвучить, чем нам разгребать эту ерунду?
1
0 / 0 / 0
Регистрация: 05.11.2018
Сообщений: 20
25.11.2018, 11:23  [ТС] 5
D1973, задача написать оконное приложение "Генератор паролей". Чтобы при нажатии кнопки с именем passwordsgeneration в окно TEdit выдавалось в пять строчек значения a,d,j,k,n - результатов процедуры Letter.
0
Модератор
6758 / 4352 / 1869
Регистрация: 21.01.2014
Сообщений: 18,378
Записей в блоге: 3
25.11.2018, 12:21 6
Цитата Сообщение от danilljjhk Посмотреть сообщение
написать оконное приложение "Генератор паролей"
Ну это я понял... Просто обычно такие задания сопровождаются дополнительными условиями: типа первая часть из цифр, вторая .... и т.д. и т.п. Вот про эти условия и хотелось бы услышать...
1
0 / 0 / 0
Регистрация: 05.11.2018
Сообщений: 20
26.11.2018, 05:11  [ТС] 7
D1973, ну как сказать условия, тут сам пароль, а точнее набор паролей должен состоять из английских букв и цифр вместе, а расположение рандомное.
Вот примеры:
ina4cq3a7z
h52d9kkxt4
41p8zraa9w
e31io9bpgi
b52t8vddpm
0
Модератор
6758 / 4352 / 1869
Регистрация: 21.01.2014
Сообщений: 18,378
Записей в блоге: 3
26.11.2018, 07:36 8
Лучший ответ Сообщение было отмечено danilljjhk как решение

Решение

Ну я бы как-то вот так сделал:
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
unit Unit1;
 
interface
 
uses
  Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
  Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.Samples.Spin, Vcl.StdCtrls,
  Vcl.ExtCtrls, System.Math;
 
type
  TForm1 = class(TForm)
    Label1: TLabel;
    GroupBox1: TGroupBox;
    Label2: TLabel;
    RadioGroup1: TRadioGroup;
    Button1: TButton;
    Memo1: TMemo;
    SpinEdit1: TSpinEdit;
    SpinEdit2: TSpinEdit;
    procedure FormCreate(Sender: TObject);
    procedure RadioGroup1Click(Sender: TObject);
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;
 
var
  Form1: TForm1;
 
implementation
 
{$R *.dfm}
 
function Generate(Len, Condition: integer): String;
const Lat: String = 'AaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPpQqRrSsTtUuVvWwXxYyZz';
      Num: String = '1234567890';
      Symb: String = '!@#$%^&*()[]{},.';
var Alph: String;
begin
  result := '';
  case Condition of
   0 : Alph := Lat;
   1 : Alph := Concat(Lat, Num);
   2 : Alph := Concat(Lat, Num, Symb);
  end;
  while Length(result) <= Len do
   result := result + Alph[RandomRange(1, Length(Alph) + 1)];
end;
 
procedure TForm1.Button1Click(Sender: TObject);
var i: integer;
begin
  Memo1.Lines.Clear;
  for i := 1 to SpinEdit1.Value do
   Memo1.Lines.Add(Generate(SpinEdit2.Value, RadioGroup1.ItemIndex));
end;
 
procedure TForm1.FormCreate(Sender: TObject);
begin
  Randomize;
end;
 
procedure TForm1.RadioGroup1Click(Sender: TObject);
begin
  Button1.Enabled := RadioGroup1.ItemIndex > -1;
end;
 
end.
1
Миниатюры
Генератор паролей  
3562 / 3036 / 817
Регистрация: 29.08.2013
Сообщений: 20,256
Записей в блоге: 2
26.11.2018, 07:56 9
danilljjhk,
Цитата Сообщение от D1973 Посмотреть сообщение
Generate(SpinEdit2.Value, RadioGroup1.ItemIndex)
всегда и везде переименовывайте компоненты что бы через 10 лет можно было открыть код и понять для чего тут этот компонент
2
0 / 0 / 0
Регистрация: 05.11.2018
Сообщений: 20
26.11.2018, 08:53  [ТС] 10
D1973, большое спасибо)
0
Модератор
6758 / 4352 / 1869
Регистрация: 21.01.2014
Сообщений: 18,378
Записей в блоге: 3
26.11.2018, 09:04 11
qwertehok, абсолютно справедливое замечание... Делать это надо в обязательном порядке... Собственно, и тут надо было бы это сделать, но лень стало потратить 2 минуты...
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
26.11.2018, 09:04

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь или здесь.

Генератор паролей
Здравствуйте! Мне нужно создать генератор паролей, где {b}_{1} - {b}_{2} - произвольные большие...

Генератор паролей
Здравствуйте!Как написать генератор паролей с разделителем? Если можно с примерами. Требования:...

Генератор паролей
Добрый день! Прошу помогите с кодом, точнее как написать... Я новичок, начал изучать Delphi....

Генератор паролей, delphi 7
все привет) нужна ваша помощь! я не могу написать код генератора паролей в Delphi, я начинающий....


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

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.