Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 18.10.2010, 17:43
Svetika Svetika вне форума
Прохожий
 
Регистрация: 18.10.2010
Сообщения: 7
Репутация: 10
Радость Здравствуйте! Помогите пожалуйста с задачей!

Нужно создать в Delphi программу, которая при попытке открыть текстовый файл - блокнот будет требовать пароль, и при неправильном его введении просто закроет программу. Я создала 2 окна в Delphi PasswordDlg и Form1. Связала эти две формы. При нажатии кнопки в форме 1 выходит запрос пароля. Но я не знаю как все это связать с текстовым файлом. Помогите пожалуйста!!!
И ещё я не знаю как сделать так, чтобы программа распознавала пароль. Кто-нибудь может написать мне код?

Последний раз редактировалось Svetika, 18.10.2010 в 17:50.
Ответить с цитированием
  #2  
Старый 18.10.2010, 17:57
Аватар для Konrad
Konrad Konrad вне форума
Эксперт
 
Регистрация: 19.03.2009
Сообщения: 1,261
Репутация: 45834
По умолчанию

Цитата:
Сообщение от Svetika
И ещё я не знаю как сделать так, чтобы программа распознавала пароль.
Нужно использовать хеш пароля.
Ответить с цитированием
  #3  
Старый 18.10.2010, 18:17
Аватар для v1s2222
v1s2222 v1s2222 вне форума
Продвинутый
 
Регистрация: 07.09.2010
Сообщения: 726
Репутация: 26711
По умолчанию

Видел в инете пример, внедрение в любую программу формы, для запроса пароля (работала просто: выбираете файл, написал нужный для него пароль, и вуаля, теперь чтоб открыть программу нужно вводить пароль...), это если программу делаете не вы.
ЗЫ если не найдете, могу выложить исходник (если найду конечно...).
__________________
Помогаю за Спасибо
Ответить с цитированием
  #4  
Старый 18.10.2010, 18:23
Svetika Svetika вне форума
Прохожий
 
Регистрация: 18.10.2010
Сообщения: 7
Репутация: 10
По умолчанию ))

Извините, я никогда не работала в Delphi, начала разбираться только с приходом курсовой. Мне дали это задание на неделю, половина недели уже прошла ... безуспешно. Мне бы код: написать, так я вообще ничего не смыслю. Помогите новичку. Еле-еле научилась формы создавать и связывать их, какой КЭШ, мне стыдно, но я прошу у Вас помощи. Заранее спасибо.

Вот полное условие задачи:
Обеспечение секретности информации.
Показать указанный текстовый файл на экране с предварительным вопросом о коде доступа пользователя. И в зависимости от кода показать истинную информацию из файла или закодированную по определенному методу.

Я так поняла, что нужен текстовый файл, при открытии которого запрашивался бы пароль. Но как это сделать не знаю. Просто не знаю таких команд в Delphi которые бы работали с паролями и привязывали к программе текстовый файл.
Ответить с цитированием
  #5  
Старый 18.10.2010, 18:26
Svetika Svetika вне форума
Прохожий
 
Регистрация: 18.10.2010
Сообщения: 7
Репутация: 10
По умолчанию Спасибо!!!

Было бы здорово, v1s2222!!! У меня вот курсовая. Необходимо, чтоб всю программу написала я сама. Как, не знаю!
Ответить с цитированием
  #6  
Старый 18.10.2010, 18:46
Аватар для v1s2222
v1s2222 v1s2222 вне форума
Продвинутый
 
Регистрация: 07.09.2010
Сообщения: 726
Репутация: 26711
По умолчанию

Вы сначала не правильно поставили вопрос. У меня есть исходник программы, который добавляет пароль к ЕХЕ (исполняемым) файлам, а не к текстовым. А насчет текстовых файлов - к нему нельзя добавить запрос про пароль, можно или сделать свой редактор (текстовый), с определенным типом (подобие текстовых файлов), и вставить в этот редактор функцию вставки пароля в текстовый файл...
Приблизительно должно быть так (ваш новый файл):

Информация о том, что это именно ваш тип
Пароль (или пустое место, если пароля не должно быть)
И сам текст.
__________________
Помогаю за Спасибо
Ответить с цитированием
  #7  
Старый 18.10.2010, 20:05
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,093
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

Да надо просто взять любую библиотеку кодирования. Для простоты можно хоть XOR использовать. Это всетаки курсач, а не реальная программа.

Далее, после диалога открытия файла тупо спрашиваем пароль и пытаемся перекодировать файл.

Код:
var
  F : File Of Char;
  AText : String;
  N : Integer;
  Pass : String;
  C : Char;
begin
  if OpenDialog1.Execute Then
    If PasswordDlg.Execute Then // наша форма запроса пароля
      Begin
        Pass := PasswordDlg.Password;
        N := 1;
        AssignFile(F, OpenDialog1.FileName);
        Reset(F);
        AText := '';
        While Not EOF(F) Do
           Begin
             Read(F,C);  
             AText := AText + Ord(C) xor Ord(Pass[N]);
             Inc(N);
             If N > Length(Pass) Then N := 1;
           End;
         CloseFile(F);
         Memo1.Lines.Text := AText;
      End;

Это чтение. Если пароль неправильный, то на выходе получится мусор.
А за готовым решением вам в другой раздел.
Ответить с цитированием
  #8  
Старый 18.10.2010, 20:20
Аватар для Konrad
Konrad Konrad вне форума
Эксперт
 
Регистрация: 19.03.2009
Сообщения: 1,261
Репутация: 45834
По умолчанию

Цитата:
Сообщение от Svetika
Извините, я никогда не работала в Delphi, начала разбираться только с приходом курсовой.

Напишут тебе готовую программу, и что дальше?
Получишь свой зачет, а дальше таким же образом диплом...
И кому нужны такие специалисты?

По теме:

Чтобы без пароля не открыли файл - нужно его шифровать, как и сказано в задании.
Ответить с цитированием
  #9  
Старый 18.10.2010, 20:49
Аватар для Страдалецъ
Страдалецъ Страдалецъ вне форума
Гуру
 
Регистрация: 09.03.2009
Адрес: На курорте, из окна вижу теплое Баренцево море. Бррр.
Сообщения: 4,723
Репутация: 52347
По умолчанию

Ну вы блин даете! Нужно просто сделать форму ввода пароля и все. Кто сказал про шифрование текста? Вот простейший вариант:
Код:
procedure TForm1.FormCreate(Sender: TObject);
begin
 if InputBox('Доступ','Введите пароль','') <> 'пароль'
 then Halt;
end;
__________________
Жизнь такова какова она есть и больше никакова.
Помогаю за спасибо.
Ответить с цитированием
  #10  
Старый 18.10.2010, 21:01
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,093
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

Страдалецъ, возможно ты и прав. Хотя просто форма ввода пароля для курсача все-таки маловато. Для лабы - в самый раз.
Ответить с цитированием
  #11  
Старый 19.10.2010, 08:59
Аватар для Konrad
Konrad Konrad вне форума
Эксперт
 
Регистрация: 19.03.2009
Сообщения: 1,261
Репутация: 45834
По умолчанию

Цитата:
Сообщение от Svetika
Вот полное условие задачи:
.............И в зависимости от кода показать истинную информацию из файла или закодированную по определенному методу.
Похоже что таки нужно чем-то закодировать инфу.
Ответить с цитированием
  #12  
Старый 19.10.2010, 14:46
Rat Rat вне форума
Активный
 
Регистрация: 12.09.2008
Сообщения: 391
Репутация: 6078
По умолчанию

Я бы не заморачивался. Написал бы свой блокнот, один в один как дефолтовый, только который при запуске спрашивает пароль. Ну и создал бы установщик, который привязывает его к txt. Всё. Условия задачи выполнены.
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

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

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 12:40.


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2025