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

Delphi Sources



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

 
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 09.09.2011, 22:19
Xumuk Xumuk вне форума
Прохожий
 
Регистрация: 09.09.2011
Сообщения: 1
Репутация: 10
По умолчанию В чем ошибка?

Не получается запустить! Не пойму в чем-то ошибка или что-то пропустил. Помогите.
Код:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
unit Unit1;
{$mode objfpc}{$H+}
interface
uses
Classes, SysUtils, FileUtil, LResources, Forms, Controls, Graphics, Dialogs,
StdCtrls, ExtCtrls, MaskEdit, ComCtrls;
type
{ TMainForm }
TMainForm = class(TForm)
AcceptBtn: TButton;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
ProgressBar1: TProgressBar;
SecretLabel: TLabel;
MaskEdit1: TMaskEdit;
Memo1: TMemo;
Memo2: TMemo;
Memo3: TMemo;
Timer1: TTimer;
procedure AcceptBtnClick(Sender: TObject);
procedure FormCloseQuery(Sender: TObject; var CanClose: boolean);
procedure FormCreate(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure SecretLabelClick(Sender: TObject);
procedure Timer1Timer(Sender: TObject);
private
{ private declarations }
public
{ public declarations }
end;
{==================================MyClass=====================================}
TMatrix=class(TObject)
Password:String; //Пароль
Matr:array[1..15,1..15] of integer; //Матрица Пароля
Constructor Create;
Destructor Destroy;
Function ChkPsswrd(pwd:string):boolean; //Проверка пароля
Procedure GenPass; //Генерация пароля
end;
{================================End of my class===============================}
var
MainForm: TMainForm;
CC:boolean; //переменная CanClose
MyMatrix:TMatrix; //Объект моего класса
implementation
{================================My class' methods=============================}
Constructor TMatrix.Create;
var
i,j:byte;
begin
Inherited Create; //Создание родительского объекта
Randomize;
For i:=1 to 15 do
For j:=1 to 15 do
Matr[i,j]:=random(9); //Случайное заполнение
end;
Destructor TMatrix.Destroy;
begin
inherited;
end;
Function TMatrix.ChkPsswrd(pwd:string):boolean;
begin
if pwd=password then ChkPsswrd:=true; //Проверка пароля
end;
Procedure TMatrix.GenPass;
begin
password:=''; //Ни разу не глупо
password:=IntToStr(Matr[10,11]);
password:=password+IntToStr(Matr[7,7]); //С миру по нитке...
password:=password+IntToStr(Matr[5,12]);
password:=password+IntToStr(Matr[11,2]);
end;
{========================End of my class' methods==============================}
{ TMainForm }
procedure TMainForm.AcceptBtnClick(Sender: TObject);
begin
if Maskedit1.Text=MyMatrix.password then
begin
cc:=true;
timer1.Enabled:=False;
end;
end;
procedure TMainForm.FormCloseQuery(Sender: TObject; var CanClose: boolean);
begin
CanClose:=CC;
If cc=true then TMyMatrix.Destroy;
end;
procedure TMainForm.FormCreate(Sender: TObject);
begin
CC:= False;
end;
procedure TMainForm.FormShow(Sender: TObject);
var
i,j: byte;
LineBuffer: string;
begin
MyMatrix:=TMatrix.Create;
MyMatrix.GenPass;
Memo1.Lines.Clear;
linebuffer:='';
for i:=1 to 15 do
begin
for j := 1 to 15 do linebuffer:=LineBuffer+inttostr(MyMatrix.Matr[i,j])+' ';
Memo1.Lines.Add(linebuffer);
linebuffer:='';
end;
Timer1.Enabled:=True;
end;
procedure TMainForm.SecretLabelClick(Sender: TObject);
begin
SecretLabel.Caption:=MyMatrix.password;
end;
procedure TMainForm.Timer1Timer(Sender: TObject);
var
i,j: byte;
LineBuffer: string;
begin
ProgressBar1.Position:=ProgressBar1.Position-1;
if ProgressBar1.Position=0 then
begin
MyMatrix:=TMatrix.Create;
MyMatrix.GenPass;
Memo1.Lines.Clear;
linebuffer:=''; //так будет лучше для всех
for i:=1 to 15 do
begin
for j := 1 to 15 do linebuffer:=LineBuffer+inttostr(MyMatrix.Matr[i,j])+' ';
Memo1.Lines.Add(linebuffer);
linebuffer:='';
end;
ProgressBar1.Position:=30;
Timer1.Enabled:=True;
end;
end;
initialization
{$I unit1.lrs}
end.
Админ: Пользуемся тегами для оформления кода!

Последний раз редактировалось Admin, 09.09.2011 в 22:31.
Ответить с цитированием
 


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

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

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

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


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


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

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