Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

Вернуться   Форум программистов > Delphi > Паскаль
Регистрация

Восстановить пароль
Повторная активизация e-mail


Донат для форума - использовать для поднятия настроения себе и модераторам

А ещё здесь можно купить рекламу за 25 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru

Ответ
 
Опции темы
Старый 25.04.2017, 02:04   #1
Дудуцц
Новичок
 
Регистрация: 25.04.2017
Сообщений: 2
Репутация: 10
По умолчанию Подскажите что и как дописать для того, что бы количество паролей (edit2), так же как и количество символом в пароле (edit1) можно было менять.

Код:
type
  TForm1 = class(TForm)
    Memo1: TMemo;
    Button1: TButton;
    GroupBox1: TGroupBox;
    CheckBox1: TCheckBox;
    CheckBox2: TCheckBox;
    CheckBox3: TCheckBox;
    CheckBox4: TCheckBox;
    Label1: TLabel;
    Edit1: TEdit;
    Edit2: TEdit;
    procedure Button1Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure Edit1KeyPress(Sender: TObject; var Key: Char);

  private
    { Private declarations }
  public
    { Public declarations }
  end;


 const
 s1='QWERTYUIOPASDFGHJKLZXCVBNM';
 s2='qwertyuiopasdfghjklzxcvbnm';
 s3='0123456789';
 s4='!@#$%^&*(){}[]|\/"-+=№;:?*';

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
var s0, password:string;
  i, c: integer;
begin

if CheckBox1.Checked then s0:=s0+s1;
if CheckBox2.Checked then s0:=s0+s2;
if CheckBox3.Checked then s0:=s0+s3;
if CheckBox4.Checked then s0:=s0+s4;
password:='';
c:=StrToInt(Edit1.Text);
for i:= 1 to c do password:=password+s0 [Random(Length(s0))+1];
Memo1.Lines.Clear;
Memo1.Lines.Add(password);
end;


procedure TForm1.FormCreate(Sender: TObject);
begin
 Randomize;
end;


procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
 if not (Key in ['0'..'9']) then Key:=#0;
end;

end.
_____
Код программы нужно выделять (форматировать) тегами [CODE] (читать FAQ)
Модератор

Последний раз редактировалось Serge_Bliznykov; 25.04.2017 в 10:52.
Дудуцц вне форума   Ответить с цитированием
Старый 25.04.2017, 10:56   #2
Serge_Bliznykov
МегаМодератор
СуперМодератор
 
Регистрация: 09.01.2008
Сообщений: 26,031
Репутация: 5656
По умолчанию

если я Вас правильно понял, то так:
Код:
procedure TForm1.Button1Click(Sender: TObject);
var s0, password:string;
  i, c, j, n: integer;
begin
   s0 := '';
   if CheckBox1.Checked then s0:=s0+s1;
   if CheckBox2.Checked then s0:=s0+s2;
   if CheckBox3.Checked then s0:=s0+s3;
   if CheckBox4.Checked then s0:=s0+s4;
   c:=StrToInt(Edit1.Text);
   Memo1.Lines.Clear;
   n := StrToInt(Edit2.Text);
   for j:=1 to n do begin
      password:='';
      for i:= 1 to c do password:=password+s0 [Random(Length(s0))+1];
      Memo1.Lines.Add(password);
   end;
end;

Последний раз редактировалось Serge_Bliznykov; 25.04.2017 в 11:27.
Serge_Bliznykov вне форума   Ответить с цитированием
Старый 25.04.2017, 11:16   #3
Дудуцц
Новичок
 
Регистрация: 25.04.2017
Сообщений: 2
Репутация: 10
По умолчанию

Благодарю
Дудуцц вне форума   Ответить с цитированием
Старый 25.04.2017, 11:29   #4
Serge_Bliznykov
МегаМодератор
СуперМодератор
 
Регистрация: 09.01.2008
Сообщений: 26,031
Репутация: 5656
По умолчанию

Цитата:
Сообщение от Дудуцц Посмотреть сообщение
Благодарю
пожалуйста.

я там чуть-чуть подправил код, проглядел ваш косяк.
Переменные перед использованием ВСЕГДА нужно иницилизировать!
поэтому в начале процедуры сделайте присвоение s0 пустой строки.
Код:
begin
   s0 := '';
Serge_Bliznykov вне форума   Ответить с цитированием
Ответ

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Подскажите, как сделать так, чтобы можно было нажать клавишу Bescape. Militia Общие вопросы Delphi 6 16.05.2016 11:16
редактируемое окно что бы можно было менять текст Николай_Kolumb Помощь студентам 5 25.04.2012 18:00
Как сделать, так что бы программа заканчивалась символом Sylar9 Общие вопросы C/C++ 2 22.03.2012 14:34
Как с помощью JavaScript изменить цвет фона ячеек в таблице,так что бы можно было выбрать цвет из списка Gotessa JavaScript, Ajax 1 09.05.2009 16:05
Подскажите, как сделать так, чтобы тест можно было повторно пройти не перезагружая пр Kamikadze_666 Помощь студентам 2 23.05.2007 02:48


10:10.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.