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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 20.06.2011, 12:08   #1
shvint
 
Регистрация: 03.06.2011
Сообщений: 9
Радость Программа (пароль на папку)

Здравствуйте, уважаемые форумчане.
Нарыл в инете вот такую программу, поставить пароль на папку, если пароль неправильный, то она станет скрытой.
Сам листинг:
Код:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, ExtCtrls;

type
  TForm1 = class(TForm)
    tmr1: TTimer;
    btn1: TButton;
    label1: TLabel;
    edit1: TEdit;
    procedure tmr1Timer(Sender: TObject);
    procedure btn1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;


implementation

{$R *.dfm}

procedure TForm1.tmr1Timer(Sender: TObject);
var
  test:integer;
begin
test:= findWindow (nil, '21');
if test<>0 then
begin
ShowWindow(test,SW_HIDE);
Label1.Caption:=('В ведите пароль');
end
else
begin
Label1.Caption:=('Окна нет');
end;
end;

procedure TForm1.btn1Click(Sender: TObject);
begin
if Edit1.Text='123' then
begin
ShowWindow(test,SW_SHOWNORMAL);
tmr1.Enabled:=false;
end
else
begin
ShowMessage('Пароль не верный');
end;
end;

end.
папка 21, пароль на нее 123
Вот вопрос, указывает на ошибку if test<>0 then , кто поможет где рыть?
Не могу понять что за ошибка выходит заусловным оператором if



___________
Код нужно оформлять по правилам:
тегом [CODE]..[/СODE] (это кнопочка с решёточкой #)
Не забывайте об этом!
Модератор.

Последний раз редактировалось Serge_Bliznykov; 20.06.2011 в 13:36.
shvint вне форума Ответить с цитированием
Старый 20.06.2011, 13:40   #2
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

это результат кривого копирования из HTML кода...
вместо
if test<>0 then

должно быть
Код:
if test<>0 then begin
p.s. а вообще, подобная защита - это мало того, что крайнее неэффективно и достатчно напряжёт систему (за счёт таймера), так ещё и очень слабо. Достаточно пользователю снять Вашу программу (через диспетчер задач), как защита пойдёт коту под хвост..
Ну или просто папку переименовать и всё - заходи в неё на здоровье!
Serge_Bliznykov вне форума Ответить с цитированием
Старый 20.06.2011, 14:25   #3
shvint
 
Регистрация: 03.06.2011
Сообщений: 9
По умолчанию Все равно не работает

А за подсказку спасибо, что неправильное копирование html, я не подумал.)
Менял по разному всеравно не работает.((
shvint вне форума Ответить с цитированием
Старый 20.06.2011, 14:31   #4
shvint
 
Регистрация: 03.06.2011
Сообщений: 9
По умолчанию

Код:
procedure TForm1.tmr1Timer(Sender: TObject);
var
  test:integer;
begin
test:= findWindow (nil, '21');
if test<>0 then
begin
ShowWindow(test,SW_HIDE);
Label1.Caption:=('В ведите пароль');
end
else
begin
Label1.Caption:=('Окна нет');
end;
end;

procedure TForm1.btn1Click(Sender: TObject);
begin
if Edit1.Text='123' then
begin
ShowWindow(test,SW_SHOWNORMAL);
tmr1.Enabled:=false;
end
else
begin
ShowMessage('Пароль не верный');
end;
end;

end.
Указывает на ошибку ShowWindow(test,SW_SHOWNORMAL);
Воть.((
shvint вне форума Ответить с цитированием
Старый 20.06.2011, 14:44   #5
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

объявление переменной test : integer;
вынесите из tmr1Timer в свойства формы:
Код:
type
  TForm1 = class(TForm)
    ......
  private
    test : integer;
  public
    { Public declarations }
  end;
а тут убрать:
Цитата:
Код:
procedure TForm1.tmr1Timer(Sender: TObject);
var
  test:integer;
begin
test:= findWindow (nil, '21');
Serge_Bliznykov вне форума Ответить с цитированием
Старый 21.06.2011, 12:26   #6
shvint
 
Регистрация: 03.06.2011
Сообщений: 9
По умолчанию

РЕБЯТА СПАСИБО ОГРОМНОЕ!
Написал заработала, оформил, только вот создал еще одну кнопку, назвал ее обзор, как приписать к строчке
Код:
test:= findWindow (nil, '21');
чтобы папку самому выбирать, а то получится программу отдам, и по умолчанию папка будет под названием 21.
ПОМОГИТЕ ЭТО ПОСЛЕДНЯЯ ПРОСЬБА к этой программке ))
shvint вне форума Ответить с цитированием
Старый 21.06.2011, 12:36   #7
ZvEr_HaCkEr
VisualC++/DirectX
Форумчанин
 
Аватар для ZvEr_HaCkEr
 
Регистрация: 16.07.2010
Сообщений: 831
По умолчанию

Код:
If OpenDialog1.Execute then
test:=FindWindow(nil, OpenDialog1.FileName);
ZvEr_HaCkEr вне форума Ответить с цитированием
Старый 21.06.2011, 12:45   #8
bestns
Не очень удобно
Пользователь
 
Регистрация: 21.06.2011
Сообщений: 18
По умолчанию

А напиши ще раз на форумі програму . Прошу! Бо я й сам не зрозумів який код тої програми??

Последний раз редактировалось bestns; 21.06.2011 в 12:51.
bestns вне форума Ответить с цитированием
Старый 21.06.2011, 12:50   #9
shvint
 
Регистрация: 03.06.2011
Сообщений: 9
Радость

Вот программа:
Код:
unit Unit1;
interface
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, ExtCtrls, sButton, sSkinProvider, sSkinManager, sLabel;
type
  TForm1 = class(TForm)
    tmr1: TTimer;
    label1: TLabel;
    edit1: TEdit;
    sknmngr1: TsSkinManager;
    sknprvdr1: TsSkinProvider;
    btn2: TsButton;
    btn3: TsButton;
    lbl1: TsLabel;
    edt1: TEdit;
    procedure tmr1Timer(Sender: TObject);
    procedure btn3Click(Sender: TObject);
    procedure edt1Change(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;
var
   test:integer;
  Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.tmr1Timer(Sender: TObject);
begin
test:= findWindow (nil, '21');
if test<>0 then
begin
ShowWindow(test,SW_HIDE);
Label1.Caption:=('Введите пожайлуста пароль для разблокировки папки');
end
else
begin
Label1.Caption:=('Окна нет');
end;
end;
procedure TForm1.btn3Click(Sender: TObject);
begin
  if Edit1.Text='123' then
begin
ShowWindow(test,SW_SHOWNORMAL);
tmr1.Enabled:=false;
end
else
begin
ShowMessage('Внимание! А Пароль-то не верный!');
end;
  end;
procedure TForm1.edt1Change(Sender: TObject);
begin
test:= findWindow (nil, PAnsiChar(ExtractFileName(Edit1.Text)));
end;
end.
Вставляю код для кнопки обзор
Код:
If OpenDialog1.Execute then
test:=FindWindow(nil, OpenDialog1.FileName);
, все равно не получается подчеркивает ошибку
Код:
If OpenDialog1.Execute then
shvint вне форума Ответить с цитированием
Старый 21.06.2011, 13:12   #10
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
все равно не получается подчеркивает ошибку
Код:
If OpenDialog1.Execute then
а компонент TOpenDialog Вы на форму не забыли кинуть ?!!
Serge_Bliznykov вне форума Ответить с цитированием
Ответ


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

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

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
password protect usb - вспомнить пароль и открыть папку notolegich Свободное общение 12 12.01.2015 16:54
Пароль на папку FEAR Помощь студентам 13 01.02.2010 07:53
Исходник программы, которая ставит на папку пароль pro100-delphi Общие вопросы Delphi 4 29.01.2010 14:50
Пароль на папку в локальной сети. _SERGEYX_ Операционные системы общие вопросы 2 20.04.2009 18:09
программа пароль ruslan21 Общие вопросы Delphi 3 21.06.2007 17:27