Форум программистов, компьютерный форум, киберфорум
C# Windows Forms
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.50/4: Рейтинг темы: голосов - 4, средняя оценка - 4.50
0 / 0 / 0
Регистрация: 29.10.2017
Сообщений: 5

Перевод с Delphi на C#. Генератор пароля

29.10.2017, 14:07. Показов 850. Ответов 9
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Помогите с переводом генератора пароля с Delphi на C#. Создала Form в Windows Form. Загвоздка в основном в присвоении переменной значения . Valeue кнопки NumericUpDown
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
unit Unit1;
 
interface
 
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, Menus, StdCtrls, ComCtrls, Spin, XPMan, ExtCtrls;
 
type
  TForm1 = class(TForm)
    GroupBox1: TGroupBox;
    CheckBox1: TCheckBox;
    CheckBox2: TCheckBox;
    CheckBox3: TCheckBox;
    CheckBox4: TCheckBox;
    Label1: TLabel;
    Label2: TLabel;
    Button1: TButton;
    Button2: TButton;
    Edit2: TEdit;
    SpinEdit1: TSpinEdit;
    XPManifest1: TXPManifest;
    procedure Button2Click(Sender: TObject);
    procedure Edit2KeyPress(Sender: TObject; var Key: Char);
    procedure Button1Click(Sender: TObject);
    private
    { Private declarations }
  public
    { Public declarations }
  end;
 
var
  Form1: TForm1;
 
implementation
 
{$R *.dfm}
 
procedure TForm1.Edit2KeyPress(Sender: TObject; var Key: Char);
  begin
    key:=#0;
  end;
 
procedure TForm1.Button1Click(Sender: TObject);
  var
    Result,str,str1,str2,str3,str4:String;
    PLen:Integer;
  begin
    Randomize;
    str:='';
    str1:='19283746504378192560';
    str2:='abcdefghijklmnopqastuvwxyz';
    str3:='ABCDEFGHIJKLMNOPQASTUVWXYZ';
    str4:='!@#$%^&*()_+|\=-<>.,/?''; :"][}{';
    Result:='';
    PLen:=SpinEdit1.Value;
      if (CheckBox1.Checked=True) then str:=str+str1;
      if (CheckBox2.Checked=True) then str:=str+str2;
      if (CheckBox3.Checked=True) then str:=str+str3;
      if (CheckBox4.Checked=true) then str:=str+str4;
      if  (CheckBox1.Checked=False)
      and (CheckBox2.Checked=False)
      and (CheckBox3.Checked=False)
      and (CheckBox4.Checked=False)
      then
        MessageDlg('Выберите символы, которые вы хотите использовать!',mtWarning,[mbOK],0)
      else
        repeat
          Result:=Result+str[Random(Length(str))+1];
        until (Length(Result)=PLen);
          Edit2.Text:=Result;
  end;
 
procedure TForm1.Button2Click(Sender: TObject);
  begin
    Form1.Close;
  end;
 
end.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
29.10.2017, 14:07
Ответы с готовыми решениями:

Генератор пароля
Помогите пожалуйста написать генератор паролей в С++, условие: 26 символов - ограничение, должен состоять из малых английских букв,...

Генератор пароля
Добрый вечер. Нужно написать программу-генератор паролей. Программа должна выполнять следующие действия: a) Ввод идентификатора...

Генератор пароля
Помогите правильно записать код (выдает ошибку)

9
12 / 12 / 11
Регистрация: 25.12.2014
Сообщений: 80
29.10.2017, 16:41
Так вы покажите код на С# c которым у вас трудности или ошибки. За вас делать всю работу никто не будет.
0
0 / 0 / 0
Регистрация: 29.10.2017
Сообщений: 5
29.10.2017, 20:56  [ТС]
C#
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
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Diagnostics;
 
namespace WindowsFormsApplication1
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
             
        
       public void numericUpDown1_ValueChanged(object sender, EventArgs e)
        {
            textBox1.Text = NumericUpDown.Text;
           
        }
 
 
        private void button1_Click(object sender, EventArgs e)
        {
            
            textBox1.Text = GeneratePassword();
        }
                    
       public static string GeneratePassword ()
        {
            int n = 3;
            string str1 = "19283746504378192560";
            string str2 = "abcdefghijklmnopqastuvwxyz";
            string str3 = "ABCDEFGHIJKLMNOPQASTUVWXYZ";
            string str4 = "!@#$%^&*()_+|=-<>.,/?''; :][}{/";
            
            Random random = new Random();
            
            string str = ( "!");
            
            for (int i = 1; i <= n; i++)
                    str = str.Insert(
                        random.Next(str.Length),
                        str1[random.Next(str1.Length - 1)].ToString()
                );
            
                for (int i = 1; i <= n; i++)
                    str = str.Insert(
                        random.Next(str.Length),
                        str2[random.Next(str2.Length - 1)].ToString()
                );
           
                for (int i = 1; i <= n; i++)
                    str = str.Insert(
                        random.Next(str.Length),
                        str3[random.Next(str3.Length - 1)].ToString()
                );
 
                 for (int i= 1; i <= n; i++)
                    str = str.Insert(
                        random.Next(str.Length),
                        str4[random.Next(str4.Length - 1)].ToString()
                );
            return str.Replace("!", string.Empty);
 
        }        
 
        private void Close(object sender, EventArgs e)
        {
            Close();
        }
    }
}

Сразу был такой код, но нужно установить длину строки = numericUpDown1.Value
Так : int PLen = Form1.GeneratePassword(textBox1.Text, (int)numericUpDown1.Value; - не работает

Так: int Plen = (int)numericUpDown1.Value - тоже не работает
компилятор пишет, что нету ссылки на объект или не использовано using

Добавлено через 6 минут
Maximum, Minimum и текущее значение задала в окошке свойства для кнопки NumericUpDown
0
3566 / 2507 / 1174
Регистрация: 14.08.2016
Сообщений: 8,219
29.10.2017, 21:29
ну так переделай метод GeneratePassword(), что б он принимал длину в качестве параметра
0
 Аватар для Aferuga
645 / 529 / 324
Регистрация: 20.05.2015
Сообщений: 1,471
30.10.2017, 04:51
Возможно numericUpDown1 у вас как-то по другому называется проверьте у него свойство Name.
0
0 / 0 / 0
Регистрация: 29.10.2017
Сообщений: 5
30.10.2017, 16:11  [ТС]
название проверяла и даже пробовала ппо разному менять - ничего
Цитата Сообщение от Diamante Посмотреть сообщение
ну так переделай метод GeneratePassword(), что б он принимал длину в качестве параметра
если можно в виде кода, как переделать?
0
3566 / 2507 / 1174
Регистрация: 14.08.2016
Сообщений: 8,219
30.10.2017, 17:41
Ttanya, лучше начнем с самого начала, выложи полный текст задания, возможно, то что приведено, не совсем/совсем не верно, возможно можно сделать короче/проще
0
0 / 0 / 0
Регистрация: 29.10.2017
Сообщений: 5
30.10.2017, 18:54  [ТС]
задание: перевести код(самый первый вверху) с Делфи (Паскаль) на с++ или с#
я делала C# с windows form (если так правильно сказать)
0
3566 / 2507 / 1174
Регистрация: 14.08.2016
Сообщений: 8,219
30.10.2017, 19:03
это преподаватель такое задание дал, вот прям перевести? или же все таки,что-то типа "напишите генератор паролей, переключатели такие-то, алгоритм такой-то"
0
0 / 0 / 0
Регистрация: 29.10.2017
Сообщений: 5
30.10.2017, 19:25  [ТС]
прям перевести. интерпретировать в другой язык с теми же функциями, checkbox и всем остальным
мой генератор из четырех строк не подошел
вообще код на С# - рабочий, но надо дополнить: 11. возможность пользователя вкл/выкл checkbox, 2. выбор колличества символов через прокрутку
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
30.10.2017, 19:25
Помогаю со студенческими работами здесь

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

Генератор пароля
Приветствую. Решил тут написать функцию сабжа, но что то хлам какой то неработоспособный получается: function TestRandStr($num = 8) ...

Генератор пароля (сложно)
Думаю, что задача очень и очень сложная, но может кто-то всё же знает, как сделать это... В общем, есть генератор пароля из 6 символов...

Генератор пароля пользователей
Реализовать программу – генератор паролей пользователей. Программа должна формировать случайную последовательность символов длины L = 6,...

Разработать генератор одноразового пароля
Помогите пожалуйста разработать генератор одноразового пароля на основе псевдослучайного выбора символов из данных, введенных...


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

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Новые блоги и статьи
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru