![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
|||
|
|||
|
Здравствуйте!) Помогите пожалуйста написать прогу:
Для того чтобы пользователь вошел в базу данных он должен найти себя в списке в combobox(админ. секретарь,бухгалтер итд) и ввести пароль в edit, если совпадает то открывается новая форма а если нет, то сообщ об ошибке.... ![]() |
|
#2
|
||||
|
||||
|
Код:
type
TForm1 = class(TForm)
ComboBox1: TComboBox;
Edit1: TEdit;
Button1: TButton;
procedure Button1Click(Sender: TObject);
...
function Check(const User, Pass: String): Boolean;
begin
Result:=True;
if (User='админ') and (Pass='sysop') then Exit
else if (User='секретарь') and (Pass='masha') then Exit
else if (User='бухгалтер') and (Pass='nomoney') then Exit
else if (User='итд') and (Pass='anykey') then Exit
else Result:=False;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
if not Check(ComboBox1.Text, Edit1.Text) then ShowMessage('Oops')
else Form2.ShowModal;
end;Код:
object ComboBox1: TComboBox
Left = 176
Top = 96
Width = 145
Height = 21
Style = csDropDownList
ItemHeight = 13
ItemIndex = 0
TabOrder = 0
Text = 'админ'
Items.Strings = (
'админ'
'секретарь'
'бухгалтер'
'итд')
endПоследний раз редактировалось NumLock, 05.04.2012 в 10:53. |
|
#3
|
|||
|
|||
|
Я написала вот так: где у вас ... что нужно вставить?(я новичек, поэтому вопросы могут быть глупыми)
Код:
procedure TForm1.Button1Click(Sender: TObject);
begin
function Check(const User, Pass: String): Boolean;
begin
Result:=True;
if (User='админ') and (Pass='sysop') then Exit
else if (User='секретарь') and (Pass='masha') then Exit
else if (User='бухгалтер') and (Pass='nomoney') then Exit
else if (User='итд') and (Pass='anykey') then Exit
else Result:=False;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
if not Check(ComboBox1.Text, Edit1.Text) then ShowMessage('Oops')
else Form2.ShowModal;
end;
end.И выводит ошибки: [Error] Unit1.pas(32): Statement expected but 'FUNCTION' found [Error] Unit1.pas(43): Identifier redeclared: 'TForm1.Button1Click' Последний раз редактировалось Admin, 06.04.2012 в 09:59. |
|
#4
|
|||
|
|||
|
Код:
procedure TForm1.Button1Click(Sender: TObject);
function Check(const User, Pass: String): Boolean;
begin
Result:=True;
if (User='админ') and (Pass='sysop') then Exit
else if (User='секретарь') and (Pass='masha') then Exit
else if (User='бухгалтер') and (Pass='nomoney') then Exit
else if (User='итд') and (Pass='anykey') then Exit
else Result:=False;
end;
begin
if not Check(ComboBox1.Text, Edit1.Text) then ShowMessage('Oops')
else Form2.ShowModal;
end;end с точкой тут не к месту, вы же пишете просто в процедурах, без общего кода в модуле. описание подпрограмм (в данном случае функции) пишется до бегина родительской процедуры. проверьте, так должно работать. p.s. Многоточием обычно отмечается пропущенное место =) p.p.s. Так же можно функцию вынести за пределы процедуры, дабы сделать ее глобальной. если требуется. можно и не делать) Последний раз редактировалось nixel, 05.04.2012 в 21:39. |
|
#5
|
|||
|
|||
|
Спасибо большое всем!! программка вышла...Но....мне оказывается нужно чуть чуть по другому..надо чтобы когда секретарь вводит пароль открылась одна форма, а когда бухг.другая форма, итд...
![]() |
|
#6
|
||||
|
||||
|
Код:
uses Unit2, Unit3, Unit4, Unit5;
...
function Check(const User, Pass: String): TForm;
begin
if (User='админ') and (Pass='sysop') then Result:=Form2
else if (User='секретарь') and (Pass='masha') then Result:=Form3
else if (User='бухгалтер') and (Pass='nomoney') then Result:=Form4
else if (User='итд') and (Pass='anykey') then Result:=Form5
else Result:=nil;
end;
procedure TForm1.Button1Click(Sender: TObject);
var
AForm: TForm;
begin
AForm:=Check(ComboBox1.Text, Edit1.Text);
if AForm=nil then ShowMessage('Oops')
else AForm.ShowModal;
end; |
|
#7
|
|||
|
|||
|
Болшьооооооое спасибо! все работает!!!!!!!!Спасибо,Спасибо,Спасибо
![]() |