![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
|||
|
|||
|
собственно прошу почь найти исходник "компонента регистрации пользователей"
заранее благодарюНемного подробностей о программе: компонент - диалоговое окно для создания учетных записей пользователей. Диалоговое окно должно представлять форму для ввода имени пользователя и пароля, и вызываться по методу Execute() с последующим сохранением введенных значений в свойства компонента при закрытии. Это - идиальный вариант)) |
|
#2
|
||||
|
||||
|
Это самому реализовать за пару минут.
|
|
#3
|
|||
|
|||
|
Поможешь? а то если бы я мог, не просил бы
прошу не пинать... |
|
#4
|
||||
|
||||
|
Создаешь форму, на ней размещаешь две кнопки(OK, Cancel) и два эдите(Name, Password) и добавляешь в раздел паблик класса формы две переменые:
Код:
public
sName: string;
sPassword: string;Код:
procedure TForm2.Button_CancelClick(Sender: TObject); begin ModalResult := mrCancel; end; procedure TForm2.Button_OKClick(Sender: TObject); begin sName := Edit_Name.Text; sPassword := Edit_Password.Text; ModalResult := mrOk; end; procedure TForm2.FormShow(Sender: TObject); begin Edit_Name.Text := ''; Edit_Password.Text := ''; ModalResult := mrCancel; end; Добавляешь этот юнит в свой откуда будет вызываться оно. И вызываешь так: Код:
if Form2.ShowModal = mrOk then
ShowMessage('Имя : ' + Form2.sName + #13#10 + 'Пароль : ' + Form2.sPassword); |
|
#5
|
|||
|
|||
|
благодарю за помощь, щас буду пробовать
![]() |
|
#6
|
|||
|
|||
|
"с последующим сохранением введенных значений в свойства компонента при закрытии" а вот это как реализовать? или я что-то не понял...
|
|
#7
|
|||
|
|||
|
Внутри метода Execute надо значения из полей ввода "перетащить" во внутренние поля компонента, на которые указывают соот. свойства, типа:
Код:
type
TUserAuth = class(TComponent)
private
FUserName : String;
FPassword : String;
public
function Execute : Boolean;
published
property UserName : String read FUserName write FUserName;
property Password : String read FPassword write FPassword;
end;
...
function TUserAuth.Execute : Boolean;
begin
With TUserAuthForm.Create(Application) Do
Begin
If ShowModal = mrOK Then
Begin
FUserName := edUseName.Text;
FPassword := edPassword.Text;
End;
End;
end; |
|
#8
|
||||
|
||||
|
Код:
function TUserAuth.Execute : Boolean;
begin
With TUserAuthForm.Create(Application) Do
Begin
If ShowModal = mrOK Then
Begin
FUserName := edUseName.Text;
FPassword := edPassword.Text;
End;
Free;
End;
end;![]() |
|
#9
|
|||
|
|||
|
лучше так:
Код:
function TUserAuth.Execute : Boolean;
begin
With TUserAuthForm.Create(Application) Do
try
If ShowModal = mrOK Then
Begin
FUserName := edUseName.Text;
FPassword := edPassword.Text;
End;
finally
Free;
end;
end; |
|
#10
|
|||
|
|||
|
Ребят, что-то не получается сделать все красиво, кто-нибудь поможет сделать исходник в delphi 7 с комментариями?)) за вознаграждение конечно-же)
|
|
#11
|
|||
|
|||
|
Цитата:
Это не ошибка. Просто для того, что бы не загромождать код лишней информацией. Там много чего пропущено. |
|
#12
|
|||
|
|||
|
Цитата:
А что конкретно не получается? Тебе нужен компонент, обеспечивающий авторизацию пользователя. Для этого нужна форма диалога + некоторый код самого компонента. Код компонента (его схему) тебе дали. Форму с 2 полями нарисуешь сам. Код:
unit UserAuth;
interface
uses
SysUtils, Classes;
type
TUserAuth = class(TComponent)
private
{ Private declarations }
FUserName : String;
FPassword : String;
protected
{ Protected declarations }
public
{ Public declarations }
function Execute : Boolean;
published
{ Published declarations }
property UserName : String read FUserName write FUserName;
property Password : String read FPassword write FPassword;
end;
procedure Register;
implementation
uses
UserAuthFrm;
procedure Register;
begin
RegisterComponents('Samples', [TUserAuth]);
end;
{ TUserAuth }
function TUserAuth.Execute: Boolean;
begin
With TUserAuthForm.Create(Nil) Do
Try
edUserName.Text := FUserName;
edPassword.Text := FPassword;
Result := ShowModal = mrOK;
If Result Then
Begin
FUserName := edUserName.Text;
FPassword := edPassword.Text;
End;
Finally
Free;
End;
end;
end. |
|
#13
|
|||
|
|||
|
Пошагово: создаю новую форму, добавляю в неё 2 едите, открываю Юнит, кидаю туда код, пробую запустить: ошибка error in module Unit1: declaration of class TForm1 is missing or incorrect.
далее иду в свойства объектов и пытаюсь изменить имена едитов на username и password соответственно, каким-то образом у одного поменял имя, а потом при любой попытке изменить форму вылетает такая же ошибка как при запуске |
|
#14
|
|||
|
|||
|
lmikle, помоги пожалуйста разобраться в чем ошибка
|
|
#15
|
||||
|
||||
|
Оформил вышесказанное в виде проекта компонента.
Комментарии и функционал наращивай сам ( или кто поможет ). Если бы сам выложил свою заготовку в таком виде - помогать тебе было бы легче и быстрее. |