|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
16.03.2010, 13:51 | #1 |
Форумчанин
Регистрация: 10.10.2008
Сообщений: 123
|
Пароль
Ввод пароля на основе осмысленной фразы длиной не менее 20 символов, которая обязательно хранится на диске D. Компьютер случайным образом выбирает последовательность 4-х символов из фразы и выводит их номера, пользователю в ответ надо ввести символы в обратном порядке. Допускается не более двух ошибок, после чего программу невозможно запустить в течении 5 минут P.S. Сразу говорю, я не прошу решить мне задачу полностью, хотя бы подскажите пару строк кода, а дальше я сам попытаюсь. Если есть у кого-то исходник с подобной программой, пожалуйста скиньте. Заранее благодарен! |
16.03.2010, 14:20 | #2 |
Форумчанин
Регистрация: 02.04.2009
Сообщений: 235
|
Неплохая задумка пароля. Могу помочь за небольшое финансовое вознаграждение icq 482-612-193
Всё гениальное - просто!
|
17.03.2010, 12:43 | #3 |
Форумчанин
Регистрация: 10.10.2008
Сообщений: 123
|
Да думал уже об этом! Денег нет! С работы недовно сократили
|
17.03.2010, 15:32 | #4 |
Участник клуба
Регистрация: 12.08.2008
Сообщений: 1,977
|
Попробуем помочь. По порядку:
1. Создаете на диске D текстовый файл с ключевой фразой - Осмысленнаяфразабезпробелов (суть именно без пробелов - всего здесь 27 символов).Желательно поменьше повторяющихся символов. 2. Считываете строку из файла в Edit1 (свойство Visible:= false). Код:
Код:
4. Выводим эти номера в обратном порядке в Edit2 Код:
Код:
И не сомневайся даже ... отдых - кайф, работа - лажа!
Последний раз редактировалось DeKot; 17.03.2010 в 16:26. |
17.03.2010, 15:50 | #5 | |||
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
Цитата:
На каком языке будете писать программу? Что именно непонятно в алогоритме? Цитата:
далее. Выдать номера случайных символов, ввести слово отзыв и проверить совпадение - не сложно. но дальше - Цитата:
А при запуске сравнивала время, прошедшее с последнего неудачного запуска, если это время менее 5 минут, программа молча закрывалась, иначе - работала... Тогда надо решить, где этот "флажок" хранить (реестр, в файлике, ещё где-то).. и последнее, объяните практический смысл этой задачи. Если Вам надо просто сдать лабу/курсовую/практическую работу в учебном заведении это одно, а если попытаться сделать реально работающую систему парольного доступа, то это совсем другое! ___________________________________ ___ добавлено пока я писал, уже и помогли... Последний раз редактировалось Serge_Bliznykov; 17.03.2010 в 16:04. |
|||
17.03.2010, 17:37 | #6 |
Форумчанин
Регистрация: 10.10.2008
Сообщений: 123
|
Язык - Delphi. Имеется в виду файл, находящийся в корню диска D в зашифрованном виде. Далее выдается номера случайных символов. К примеру, есть ключевая фраза: "Я люблю футбол" Компьютер случайно выбирает номера символов например и выдает их пользователю 1389 (т.е. 1-это буква Я, 3 - это буква Л, 8 - пробел, 9 - это буква Ф). В ответ пользователю надо ввести пароль Ф ЛЯ. (пустое место - это пробел)
|
18.03.2010, 18:55 | #7 |
Форумчанин
Регистрация: 10.10.2008
Сообщений: 123
|
Как из строки например "Я дурак"
выбрать букву "Д" поместив ее в переменную причем номер буквы ввожу с клавы |
18.03.2010, 19:22 | #8 |
Регистрация: 18.03.2010
Сообщений: 9
|
Попробуй так
function GetToken(aString, SepChar: string; TokenNum: Byte): string;
{ параметры: aString : полная строка SepChar : единственный символ, служащий разделителем между словами (подстроками) TokenNum: номер требуемого слова (подстроки)) result : искомое слово или пустая строка, если количество слов меньше значения 'TokenNum' } var Token: string; StrLen: Byte; TNum: Byte; TEnd: Byte; begin StrLen := Length(aString); TNum := 1; TEnd := StrLen; while ((TNum <= TokenNum) and (TEnd <> 0)) do begin TEnd := Pos(SepChar, aString); if TEnd <> 0 then begin Token := Copy(aString, 1, TEnd - 1); Delete(aString, 1, TEnd); Inc(TNum); end else begin Token := aString; end; end; if TNum >= TokenNum then begin GetToken1 := Token; end else begin GetToken1 := ''; end; end; function NumToken(aString, SepChar: string): Byte; { parameters: aString : полная строка SepChar : единственный символ, служащий разделителем между словами (подстроками) result : количество найденных слов (подстрок) } var RChar: Char; StrLen: Byte; TNum: Byte; TEnd: Byte; begin if SepChar = '#' then begin RChar := '*' end else begin RChar := '#' end; StrLen := Length(aString); TNum := 0; TEnd := StrLen; while TEnd <> 0 do begin Inc(TNum); TEnd := Pos(SepChar, aString); if TEnd <> 0 then begin aString[TEnd] := RChar; end; end; Result := TNum; end; Или другое решение: function CopyColumn(const s_string: string; c_fence: char; i_index: integer): string; var i, i_left: integer; begin result := EmptyStr; if i_index = 0 then begin exit; end; i_left := 0; for i := 1 to Length(s_string) do begin if s_string[i] = c_fence then begin Dec(i_index); if i_index = 0 then begin result := Copy(s_string, i_left + 1, i - i_left - 1); exit; end else begin i_left := i; end; end; end; Dec(i_index); if i_index = 0 then begin result := Copy(s_string, i_left + 1, Length(s_string)); end; end; |
18.03.2010, 19:30 | #9 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
пусть строчка находится в Edit1
номер буквы Вы вводите в Edit2 результат (нужную букву) помещаем в переменную V так: Код:
|
18.03.2010, 20:04 | #10 | |
Регистрация: 18.03.2010
Сообщений: 9
|
Цитата:
Он наверное имел ввиду "Как Выбрать слово из строки по номеру который задает сам" корява вывозился просто пример: есть слово "пример" я ввожу цифру 3 и программа должна мне в переменную занести букву "И" я правильно понял |
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
пароль | Алексей11111111 | Microsoft Office Word | 2 | 26.10.2009 02:51 |
пароль | ruavia3 | Microsoft Office Excel | 10 | 29.07.2009 10:36 |
Пароль | ИринаLil | Помощь студентам | 12 | 25.03.2009 08:35 |
Пароль) | Teen4jump | Свободное общение | 2 | 05.11.2008 21:11 |
Пароль | Михаил Юрьевич | Общие вопросы Delphi | 3 | 06.02.2008 16:44 |