![]() |
|
#1
|
|||
|
|||
![]() Сделал прогу. Получился один файл .exe, один .mdb и один .xls. Причём надо чтобы
1. Эти файлы не были доступны пользователю, кроме .exe конечно. 2. Хотелось бы, чтобы прога весила не 6 метров, а 600. То есть диск. Чо туда покидать? Просто советы дайте. 3. Надол Exe'шник зашифровать бы. Хорошую бесплатную прогу подскажите. зы Пароль ставить на .mdb и .xls по-моему не стоит - бесполезно. Ну это нормально... |
#2
|
||||
|
||||
![]() 1. Засовывай их в ресурсы (предвариельно зашифровав) а потом распаковывай при запуске (и расшифровывай) в память (главное не на диск) через потоки и используй на здоровье.
2. Создай какой нить мусорный файл и тоже пихни его в ресурсы, но ток не используй в программе, а то она опупеет =) Или просто положи его рядом со своим экзешником. 3. Зашифровать можно каким-нить бесплатным пакером, но тут проблема будет в том, что обычно, после шифровки прога хреново работает со своими вшитыми ресурсами. Лучше сам защиту пиши... THE CRACKER IS OUT THERE |
#3
|
|||
|
|||
![]() А кроме мусора в прогу чо-нить путное можно добавить?
Да насчёт запаковки-распаковки поподробнее бы... И заодно при использовании .Ini файла как сделать, чтобы он создавался в каталоге с прогой? Ну это нормально... |
#4
|
||||
|
||||
![]() Путное? =) Ну если у тебя есть что-то путное, то добавляй =)
На счет распаковки-запаковки найдешь подробнейшие исходники на delphiworld.narod.ru Да и про ИНИ тоже там почитаешь, а вообще по-хорошему, просто найди путь до своей проги (ExtractFilePath(Application.ExeName)) и создавай ини с учетом этого пути... THE CRACKER IS OUT THERE |
#5
|
|||
|
|||
![]() Можно задать вопрос?
Я написала программу, скомпиллировала её в расширение .exe. Программа работает, но корректно не завершается. После закрытия программы щелчком по крестику Windows, её процесс продолжает висеть в Windows Task Manager. Использование такой процедуры Код:
procedure. TForm1.Button1Click (SEnder: TObject) brgin close; end; Как правильно прописать завершение программы? Можно ли прописать как-то в программе, что щелчок по крестику Windows означает завершение работы .exe? Спасибо |
#6
|
|||
|
|||
![]() выложи исходник и я тебе помогу
|
#7
|
|||
|
|||
![]() интересно, как закрывать программу не только при нажатии на кнопку "завершить работу программы", но и на крестик Windows. Так как программу закрывают чаще всего таким путем
|
#8
|
||||
|
||||
![]() Цитата:
Программирование - это искусство и наш смысл жизни. |
#9
|
||||
|
||||
![]() to moo2k
Опередил, хотел то же самое сказать (Go в ICQ moo2k). В коде нету ошибок, на событие OnCloseQuery ничего не происходит. Всё нормально. |
#10
|
|||
|
|||
![]() большое спасибо)
|
#11
|
|||
|
|||
![]() а можно организовать появление крошечной формы form2 с запросом "вы действительно хотите выйти? Да/ Нет" при наступлении события formClose формы Form1?
Я делала так, только оно не работало: form1 просто закрывалась Код:
в Unit1 procedure TForm1.FormClose (Sender: TObject; var Action: TCloseAction); begin form2.show; end; в Unit2 (подтверждение выхода) procedure TForm2.Button1.Click( Sender: TObject); begin application.terminate; end; procedure TForm2.Button1.Click( Sender: TObject); begin form2.close; end; |
#12
|
|||
|
|||
![]() В Делфи такие диалоги уже предусмотрены. Например так.
If MessageDLG('Вы действительно хотите выйти?',mtConfirmation,[mbYes, mbNo], 0) = mrYes then Close; |
#13
|
|||
|
|||
![]() Цитата:
Нужно садиться на OnCloseQuery: Код:
procedure TForm1.FormCloseQuery(Sender: TObject; var CanClose: Boolean); begin CanClose := MessageDlg('Ðåàäüíî âûéòè?',mtConfirmation,[mbYes,mbNo],0) = mrYes; end; |
#14
|
|||
|
|||
![]() большое спасибо
|