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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 17.05.2011, 20:43   #1
chiksa20001
 
Регистрация: 18.05.2010
Сообщений: 4
Смущение Создание пароля

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

Последний раз редактировалось chiksa20001; 17.05.2011 в 21:52.
chiksa20001 вне форума Ответить с цитированием
Старый 17.05.2011, 21:24   #2
chiksa20001
 
Регистрация: 18.05.2010
Сообщений: 4
По умолчанию

Код:
var
Form2: TForm2;
sl:TStringList;

_count: byte;
_simb: byte;
mas1, mas2: array[0..130] of byte;
_index: byte;
str1,str2: string;
i: byte;
k: integer;
f,w:SYSTEM.text;
x,y,a,z,b,t,p:String;


implementation

uses Unit1;

{$R *.dfm}

procedure CreateNumber;
var i: byte;
label _new;
begin
Randomize;
While _count < 4 do
begin
_new: _simb:= Random(4) + 1;
Application.ProcessMessages;

X := INTTOSTR(1);
Y := INTTOSTR(2);
A := INTTOSTR(3);
Z:= INTTOSTR(4);

for i:= 0 to 120 do
begin
if _simb = mas1[i] then GOTO _new;
end;
mas1[_index]:= _simb;
Inc(_index);
Inc(_count);

end;
end;

procedure TForm2.FormCreate(Sender: TObject);
begin
sl:= TStringList.Create;
try
sl.LoadFromFile('C:\Documents and Settings\User\Рабочий стол\Задача 4\Stih.txt');

finally
sl.Free;
end;
Timer1.Interval := 30000;
AssignFile(Input,'Sti.txt');
reset(Input);
Read(Input,str1);
CloseFile(Input);
edit1.Text:=str1;

CreateNumber;
mas2[0]:= mas1[3];
mas2[1]:= mas1[2];
mas2[2]:= mas1[1];
mas2[3]:= mas1[0];
for i:=0 to 3 do
begin
Edit2.Text:= Edit2.Text + IntToStr(mas1[i]) + ' ';

end;
k:=0;

if FileExists('Stih.txt') then
begin
AssignFile(w,'Stih.txt');
reset(w);
Readln(w,t);
CloseFile(w);
//ShowMessage(t);
SendMessage(HWND_BROADCAST, WM_SYSCOMMAND, SC_MONITORPOWER, 2);
if (t=p) or (t>p) then
begin
messagedlg('За компьтером здоумышленник',mtError,[mbOk],0);
Application.Terminate;

end;
end;
end;
procedure TForm2.BitBtn1Click(Sender: TObject);
begin
Timer1.Interval := 30000;
end;

procedure TForm2.N11Click(Sender: TObject);
begin
SendMessage(HWND_BROADCAST, WM_SYSCOMMAND, SC_MONITORPOWER, -1); //включает монитор

end;


procedure TForm2.BitBtn2Click(Sender: TObject);
begin
AssignFile(Input,'Sti.txt');
reset(Input);
Read(Input,str1);
CloseFile(Input);
edit1.Text:=str1;

if edit1.Text<>str2 then
begin
k:=k+1;
messagedlg('Неверный пароль! Осталось '+inttostr(3-k)+' попытки',mtError,[mbOk],0);
if k>=3 then
begin
messagedlg('За компьтером здоумышленник',mtError,[mbOk],0);
Timer1.Interval := 30000;
AssignFile(f,'Sti.txt');
Rewrite(f);
Write(f,b);
CloseFile(f);
form1.Close;
end;
end
else
begin
if edit1.Text=str2 then
begin
form1.Hide;
form2.Show;
end;
end;
end;


procedure TForm2.BitBtn3Click(Sender: TObject);
begin
application.Terminate;
end;

procedure TForm2.Timer1Timer(Sender: TObject);
begin
SendMessage(HWND_BROADCAST, WM_SYSCOMMAND, SC_MONITORPOWER, 2);
end;
chiksa20001 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Длина пароля Lifefine Общие вопросы Delphi 7 25.02.2010 11:11
создание пароля alex(21) Microsoft Office Word 2 24.10.2009 13:27
Шифрование пароля! DeToxic Помощь студентам 5 29.03.2009 19:41
проверка пароля <-=SG=-> Общие вопросы Delphi 4 04.11.2008 19:44