Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

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

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 27.05.2010, 18:49   #1
xitroi
Пользователь
 
Регистрация: 11.02.2010
Сообщений: 23
Стрелка Генератор своих чисел?

Вообщем нужно сделать генератор своих случайных чисел.
Чтобы при нажатии на кнопку в компоненте Edit1 отображался код.
Но мне нужно, чтобы это было реализованно не через randomize.
У меня в текстовом дукументе храняться пароли.
Я хочу перибирать их при нажатии на кнопку и чтобы они отображались в
Edit1 .
Если знаете такой код пожалуйста подскажите.
Перерыл весь интернет. Побывал на разных сайтах, но нечего не нашел.
xitroi вне форума Ответить с цитированием
Старый 27.05.2010, 20:17   #2
evg_m
Старожил
 
Регистрация: 20.04.2008
Сообщений: 5,526
По умолчанию

Цитата:
чтобы это было реализованно не через randomize.
создание ХОРОШЕГО (с устойчивым равномерным или другим вероятностным законом) генератора непростая МАТЕМАТИЧЕСКАЯ задача.

Цитата:
С целью утверждения нового стандарта шифрования Advanced Encryption Standard Национальный институт стандартов и технологий при поддержке правительства США провел конкурс, в ходе которого были протестированы 15 претендовавших алгоритмов. Один из критериев, используемых при оценке алгоритмов, заключался в их пригодности в качестве генераторов случайных чисел. Проверка таких генераторов на предмет формирования случайных двоичных последовательностей с хорошими статистическими свойствами осуществлялась с помощью набора статистических тестов NIST.

В течение первого раунда AES тестирование проводилось с 128-битными ключами. Лишь 9 алгоритмов из 15 алгоритмов пройти статистические тесты.[10]
из википедии
программа — запись алгоритма на языке понятном транслятору
evg_m вне форума Ответить с цитированием
Старый 27.05.2010, 20:32   #3
xitroi
Пользователь
 
Регистрация: 11.02.2010
Сообщений: 23
Стрелка

Неужели в Delphi нельзя реализовать то, что в Visual Basic?!

Text1.text = Int(Rnd*3)
Select Case Text1
Case 0
Text1.text = '474545455555555';
Case 1
Text1.text = '4888111177774444';
Case 2
Text1.text = '66669955544444522';
xitroi вне форума Ответить с цитированием
Старый 27.05.2010, 20:38   #4
xitroi
Пользователь
 
Регистрация: 11.02.2010
Сообщений: 23
По умолчанию

Вы наверно меня не поняли. Потому, что я не правильно сформулировал вопрос. Прошу прощения.
Но все таки вот видео Смотреть видео
Тоже самое можно проделать в Delphi?!
xitroi вне форума Ответить с цитированием
Старый 27.05.2010, 20:38   #5
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

это не есть генератор, а обычное ветвление(выбор)
Код:
case <чтото> of
 1:<один вариант> 
 2:<второй вариант> 
 else <если не подошло вообще, можно опустить естественно>
end;
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 27.05.2010, 20:39   #6
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Код:
type
  TForm1 = class(TForm)
  .....
  public
     TS : TStringList;


на событие создания формы  (Form - event - "OnCreate")
procedure TForm1.FormCreate(Sender: TObject);
begin
   randomize;
   TS := TStringList.Create;
   TS.LoadFromFile('ИмяВашегоФайлаСПаролями');
end;

дальше, по нажатию на кнопку:
  Edit1.Text := TS.Strings[random(TS.Count)];

на закрытие формы (событие OnClose)
procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
  FreeAndNil(TS);
end;
всё.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 27.05.2010, 20:56   #7
xitroi
Пользователь
 
Регистрация: 11.02.2010
Сообщений: 23
Стрелка

Цитата:
Сообщение от Serge_Bliznykov Посмотреть сообщение
Код:
type
  TForm1 = class(TForm)
  .....
  public
     TS : TStringList;


на событие создания формы  (Form - event - "OnCreate")
procedure TForm1.FormCreate(Sender: TObject);
begin
   randomize;
   TS := TStringList.Create;
   TS.LoadFromFile('ИмяВашегоФайлаСПаролями');
end;

дальше, по нажатию на кнопку:
  Edit1.Text := TS.Strings[random(TS.Count)];

на закрытие формы (событие OnClose)
procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
  FreeAndNil(TS);
end;
всё.
Благодарю!
А можно, без отдельного текстового файла обойтись?
Ну чтобы в код поместить пароли.
xitroi вне форума Ответить с цитированием
Старый 27.05.2010, 21:45   #8
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
А можно, без отдельного текстового файла обойтись?
Ну чтобы в код поместить пароли.
Это совсем не проблема!
Только скажите, Вы хотите получать эти пароли последовательно или случайным образом? (кстати, в последнем случае возможны повторные выпадения одного и того же пароля...)

вместо:
TS.LoadFromFile('ИмяВашегоФайлаСПар олями');
напишите:
Код:
  TS.Append('Пароль1');
  TS.Append('Пароль2');
  TS.Append('Пароль3');
  TS.Append('Пароль4');
  ...
  TS.Append('ПарольXXXX');
и дальше всё тоже самое.
Хотя, не совсем ясно, зачем подобные извращения ;(
Serge_Bliznykov вне форума Ответить с цитированием
Старый 27.05.2010, 23:19   #9
xitroi
Пользователь
 
Регистрация: 11.02.2010
Сообщений: 23
Стрелка

Цитата:
Сообщение от Serge_Bliznykov Посмотреть сообщение
Это совсем не проблема!
Только скажите, Вы хотите получать эти пароли последовательно или случайным образом? (кстати, в последнем случае возможны повторные выпадения одного и того же пароля...)

вместо:
TS.LoadFromFile('ИмяВашегоФайлаСПар олями');
напишите:
Код:
  TS.Append('Пароль1');
  TS.Append('Пароль2');
  TS.Append('Пароль3');
  TS.Append('Пароль4');
  ...
  TS.Append('ПарольXXXX');
и дальше всё тоже самое.
Хотя, не совсем ясно, зачем подобные извращения ;(
А гды вы видели keygen c отдельной папкой в которой лежит файл .txt?
Или я должен упаковать файл .txt в ресурсы Res? Но помойму это и есть извращение.
xitroi вне форума Ответить с цитированием
Старый 27.05.2010, 23:32   #10
xitroi
Пользователь
 
Регистрация: 11.02.2010
Сообщений: 23
По умолчанию

Цитата:
Сообщение от Serge_Bliznykov Посмотреть сообщение
Только скажите, Вы хотите получать эти пароли последовательно или случайным образом? (кстати, в последнем случае возможны повторные выпадения одного и того же пароля...)

I]
Если вам не трудно покажите, чтобы было последовательно.
xitroi вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Генератор ВЕЩЕСТВЕННЫХ чисел в С++ Kotjona Помощь студентам 4 08.05.2010 00:24
Генератор чисел MDS Помощь студентам 0 07.04.2010 19:38
генератор чисел Пифагора Майк... Помощь студентам 7 29.04.2009 14:04
Генератор чисел. TheWanderer Общие вопросы C/C++ 13 16.10.2008 16:49
Вывод чисел, делящихся на каждую из своих цифр. Паскаль ЯншинаВера Помощь студентам 3 08.04.2008 11:50