Форум программистов, компьютерный форум, киберфорум
Delphi
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
0 / 0 / 0
Регистрация: 18.11.2012
Сообщений: 3

Неправильно работает авторизация в программе

18.11.2012, 20:31. Показов 1125. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
написал прогу но чуть-чуть не могу врубиться(то ли уже мозги не варят то ли что...) так вот! создавал на дельфи 7(ну это если что) первая форма идет авторизация и при вводе логина и пароля и после нажатия вход должна перейти на главную страницу, но при этом выдает ошибку... =( кто сможет посмотрите и помогите!

вот сама прога
Вложения
Тип файла: rar Програма по практике.rar (713.5 Кб, 19 просмотров)
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
18.11.2012, 20:31
Ответы с готовыми решениями:

Неправильно работает авторизация в программе: обработка "пустых" данных
Всем привет!!! Пытаюсь разобраться в цикле на примере разделения пользователей ПО( в архиве пример). При вводе нужного значения все...

Неправильно работает авторизация на сайте
Добрый вечер. Помогите с авторизацией на сайте, есть несколько аккаунтов идет проверка каждого на авторизацию в ЛК на сайте. Знаю что код...

Неправильно работает счетчик ошибок в программе проверки текста
программа исправляет ошибки в тексте и должна считать, сколько их было, но вот проблема: ошибки исправляет, а счетчик- не правильно...

3
0 / 0 / 0
Регистрация: 18.11.2012
Сообщений: 3
18.11.2012, 21:34  [ТС]
Цитата Сообщение от саша40 Посмотреть сообщение
Это база данных и тем более для локальной сети.

Не по теме:

А сервак есть?

Прикольно. И что нам нужно сделать?
эту прогу я делал на производственной практике и она вообще предназначается для работы в офисе! как раз таки по лакалке!
0
157 / 300 / 47
Регистрация: 14.08.2012
Сообщений: 2,578
18.11.2012, 21:37
Цитата Сообщение от crazy17 Посмотреть сообщение
эту прогу я делал на производственной практике и она вообще предназначается для работы в офисе! как раз таки по лакалке!
Можете просто показать код всех форм(полный), не кидая сам проект.

Не по теме:

Нужен сервак или центральный комп в качестве сервака.

0
0 / 0 / 0
Регистрация: 18.11.2012
Сообщений: 3
20.11.2012, 16:15  [ТС]
Цитата Сообщение от саша40 Посмотреть сообщение
Можете просто показать код всех форм(полный), не кидая сам проект.

Не по теме:

Нужен сервак или центральный комп в качестве сервака.

Кликните здесь для просмотра всего текста

unit UserUnit; (этот форма ввода логина и пароля)
interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Mask, DBCtrls, Grids, DBGrids, DB, ADODB;

type
TUserForm = class(TForm)
Button1: TButton;
Label1: TLabel;
Label2: TLabel;
Button2: TButton;
LoginEdit: TEdit;
PasswordEdit: TEdit;
UserQuery: TADOQuery;
ADOConnection1: TADOConnection;
Button3: TButton;
Button4: TButton;
Button5: TButton;
procedure Button2Click(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure Button4Click(Sender: TObject);
procedure Button5Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
UserForm: TUserForm;
Login:string;
Dostup:boolean;
implementation

uses DataModuleUnit,ProgrammInfoUnit, glavnaya;
{$R *.dfm}

procedure TUserForm.Button2Click(Sender: TObject);
begin
UserForm.Close;

end;

procedure TUserForm.Button1Click(Sender: TObject);
begin
If (LoginEdit.Text<>'') and (PasswordEdit.Text<>'') then //поля не пустые
begin
UserQuery.Active:=false;
UserQuery.Parameters.ParamByName('log'). Value:=LoginEdit.Text;
UserQuery.Active:=true;
If UserQuery.RecordCount<>0 then
begin
If UserQuery.FieldByName('Пароль').AsString =PasswordEdit.Text then
begin
login:=LowerCase(LoginEdit.Text);
If UserQuery.FieldByName('Доступ').AsString ='True' then
Dostup:=true//есть доступ
else Dostup:=false;
end
else Showmessage('Пароль неверный!');
end;
end
else ShowMessage('Введите имя пользователя и пароль!');//пустые поля
end;

procedure TUserForm.Button3Click(Sender: TObject);
begin
Messagedlg('Введите Ваш ЛОГИН и ПАРОЛЬ!',mtinformation,[mbOk],0);
end;

procedure TUserForm.Button4Click(Sender: TObject);
begin
Messagedlg('Афонин Д.А. ТОО "МКО "DE-ФИНАНС" 2012 ©',mtinformation,[mbOk],0);
end;

procedure TUserForm.Button5Click(Sender: TObject);
begin
glavnaya.form3.Show;
end;

end.

unit glavnaya; (форма после ввода логина и пароля и нажатия на кнопку "вход")
interface

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

type
TForm3 = class(TForm)
Button1: TButton;
Button2: TButton;
Button3: TButton;
Button4: TButton;
Button5: TButton;
Button6: TButton;
Button7: TButton;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure Button4Click(Sender: TObject);
procedure Button6Click(Sender: TObject);
procedure Button7Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form3: TForm3;

implementation

{$R *.dfm}

uses KabinetsUnit, KabInfoUnit, Unit1, UserUnit, Unit2;

procedure TForm3.Button1Click(Sender: TObject);
begin
KabinetsForm.Show;
end;

procedure TForm3.Button2Click(Sender: TObject);
begin
KabInfoForm.Show;
end;

procedure TForm3.Button3Click(Sender: TObject);
begin
ComputersInfoForm.Show;
end;

procedure TForm3.Button4Click(Sender: TObject);
begin
unit2.UsersForm.show;
end;

procedure TForm3.Button6Click(Sender: TObject);
begin
form3.Close;
end;

procedure TForm3.Button7Click(Sender: TObject);
begin
Messagedlg('Афонин Д.А. ТОО "МКО "DE-ФИНАНС" 2012 ©',mtinformation,[mbOk],0);
end;

end.


unit KabinetsUnit; (форма списка кабинетов)
interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, DB, ADODB, Grids, DBGrids, Menus, ToolWin, ComCtrls, StdCtrls,
ExtCtrls, DBCtrls,ComObj;

type
TKabinetsForm = class(TForm)
DBGrid1: TDBGrid;
MainMenu1: TMainMenu;
FileItem: TMenuItem;
ExitItem: TMenuItem;
CategoryItem: TMenuItem;
SortItem: TMenuItem;
ByFamItem: TMenuItem;
ByClassItem: TMenuItem;
ToolBar1: TToolBar;
Label1: TLabel;
FilterFamEdit: TEdit;
HelpItem: TMenuItem;
ProgrammInfo: TMenuItem;
CategoryPrepod: TMenuItem;
ExelItem: TMenuItem;
TableInfoItem: TMenuItem;
N1: TMenuItem;
N2: TMenuItem;
N3: TMenuItem;
ToolButton1: TToolButton;
procedure ByFamItemClick(Sender: TObject);
procedure ByClassItemClick(Sender: TObject);
procedure ExitItemClick(Sender: TObject);
procedure FilterFamEditChange(Sender: TObject);
procedure ProgrammInfoClick(Sender: TObject);
procedure CategoryPrepodClick(Sender: TObject);
procedure HelpMeItemClick(Sender: TObject);
procedure ExelItemClick(Sender: TObject);
procedure TableInfoItemClick(Sender: TObject);
procedure N1Click(Sender: TObject);
procedure N2Click(Sender: TObject);
procedure FormActivate(Sender: TObject);
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
KabinetsForm: TKabinetsForm;

implementation

uses DataModuleUnit, KabInfoUnit, UserUnit, Unit1, Unit2, glavnaya;

{$R *.dfm}

procedure TKabinetsForm.ByFamItemClick(Sender: TObject);
begin
DataModule1.KabinetsTable.Sort:='№ кабинета';
end;

procedure TKabinetsForm.ByClassItemClick(Sender: TObject);
begin
DataModule1.KabinetsTable.Sort:='Сфера деятельности';
end;

procedure TKabinetsForm.ExitItemClick(Sender: TObject);
begin
Close;
end;

procedure TKabinetsForm.FilterFamEditChange(Sender : TObject);
begin
If Length(FilterFamEdit.Text)>0 then
DataModule1.KabinetsTable.Filtered:=True
else DataModule1.KabinetsTable.Filtered:=Fals e;
DataModule1.KabinetsTable.Filter:='№ кабинета>'''+FilterFamEdit.Text+'''';
end;

procedure TKabinetsForm.ProgrammInfoClick(Sender: TObject);
begin
MessageDlg(''#10#13'Афонин Денис 2012 ©'#10#13'',mtInformation,[mbok],0);
end;

procedure TKabinetsForm.CategoryPrepodClick(Sender : TObject);
begin
KabinetsForm.Hide;
KabInfoForm.Show;
end;

procedure TKabinetsForm.HelpMeItemClick(Sender: TObject);
begin
//winhelp(StudentForm.Handle,'.hlp',HELP_C ONTEXT,0);
end;


procedure TKabinetsForm.ExelItemClick(Sender: TObject);
var
XLApp,Sheet,Colum:Variant;
index,i:Integer;
begin
XLApp:= CreateOleObject('Excel.Application');
XLApp.Visible:=true;
XLApp.Workbooks.Add(-4167);
XLApp.Workbooks[1].WorkSheets[1].Name:='ArmSA-Кабинеты';
Colum:=XLApp.Workbooks[1].WorkSheets['ArmSA-Кабинеты'].Columns;
Colum.Columns[1].ColumnWidth:=20;
Colum.Columns[2].ColumnWidth:=20;

Colum:=XLApp.Workbooks[1].WorkSheets['ArmSA-Кабинеты'].Rows;
Colum.Rows[2].Font.Bold:=true;
Colum.Rows[1].Font.Bold:=true;
Colum.Rows[1].Font.Color:=clBlack;
Colum.Rows[1].Font.Size:=14;

Sheet:=XLApp.Workbooks[1].WorkSheets['ArmSA-Кабинеты'];
Sheet.Cells[1,2]:='Автоматизированное рабочее место системного администратора';
Sheet.Cells[2,1]:='№ кабинета';
Sheet.Cells[2,2]:='Сфера деятельности';

index:=3;
DataModule1.KabinetsTable.First;
for i:=0 to DataModule1.KabinetsTable.RecordCount-1 do
begin
Sheet.Cells[index,1]:=DataModule1.KabinetsTable.Fields.Field s[1].AsString;
Sheet.Cells[index,2]:=DataModule1.KabinetsTable.Fields.Field s[2].AsString;

DataModule1.KabinetsTable.Next;
end;
end;
procedure TKabinetsForm.TableInfoItemClick(Sender: TObject);
var
s:integer;
i:integer;
begin
s:=0;
for i:=0 to DataModule1.KabinetsTable.RecordCount-1 do
s:=s+1;
ShowMessage('Название таблицы: '+Datamodule1.KabinetsTable.TableName+#1 3+'Количество записей: '+IntToStr(s));
end;

procedure TKabinetsForm.N1Click(Sender: TObject);
begin
ComputersInfoForm.Show;

end;

procedure TKabinetsForm.N2Click(Sender: TObject);
begin
UsersForm.ShowModal;
end;

procedure TKabinetsForm.FormActivate(Sender: TObject);
begin
If login='admin' then N2.Visible:=true
else n2.Visible:=false;
end;

procedure TKabinetsForm.FormCreate(Sender: TObject);
begin
if Dostup=false then begin
DBGrid1.Enabled:=false;
//StudentNavigator.VisibleButtons:=[nbFirst,nbNext,nbPrior,nbLast,nbRefresh];
DbGrid1.Font.Style:=[fsBold];
end;
end;
end.

unit KabInfoUnit; (форма информации о кабинетах)

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Grids, DBGrids, ToolWin, ComCtrls, Menus, StdCtrls, ExtCtrls,
DBCtrls,ComObj;

type
TKabInfoForm = class(TForm)
DBGrid1: TDBGrid;
ToolBar1: TToolBar;
MainMenu1: TMainMenu;
N1: TMenuItem;
N2: TMenuItem;
N3: TMenuItem;
N4: TMenuItem;
Label1: TLabel;
FilterFamEdit: TEdit;
Sort: TMenuItem;
N5: TMenuItem;
PrepodNavigator: TDBNavigator;
ExelItem: TMenuItem;
Cghfdrf1: TMenuItem;
N6: TMenuItem;
N7: TMenuItem;
N8: TMenuItem;
N9: TMenuItem;
N10: TMenuItem;
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure N4Click(Sender: TObject);
procedure FilterFamEditChange(Sender: TObject);
procedure N5Click(Sender: TObject);
procedure ExelItemClick(Sender: TObject);
procedure N6Click(Sender: TObject);
procedure N2Click(Sender: TObject);
procedure N7Click(Sender: TObject);
procedure N8Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
KabInfoForm: TKabInfoForm;

implementation

uses DataModuleUnit, KabinetsUnit, UserUnit, Unit1, Unit2;

{$R *.dfm}

procedure TKabInfoForm.FormClose(Sender: TObject; var Action: TCloseAction);
begin
KabinetsForm.Close;
end;

procedure TKabInfoForm.N4Click(Sender: TObject);
begin
KabInfoForm.Hide;
KabinetsForm.Show;
end;

procedure TKabInfoForm.FilterFamEditChange(Sender: TObject);
begin
If Length(FilterFamEdit.Text)>0 then
DataModule1.KabInfoTable.Filtered:=true
else DataModule1.KabInfoTable.Filtered:=false ;
DataModule1.KabInfoTable.Filter:='Имена компьютеров>'''+FilterFamEdit.Text+'''';
end;

procedure TKabInfoForm.N5Click(Sender: TObject);
begin
DataModule1.KabInfoTable.IndexFieldNames :='Имена компьютеров ASC';
end;

procedure TKabInfoForm.ExelItemClick(Sender: TObject);
var
XLApp,Sheet,Colum:Variant;
index,i:Integer;
begin
XLApp:= CreateOleObject('Excel.Application');
XLApp.Visible:=true;
XLApp.Workbooks.Add(-4167);
XLApp.Workbooks[1].WorkSheets[1].Name:='ArmSA-Информация о кабинете';
Colum:=XLApp.Workbooks[1].WorkSheets['ArmSA-Информация о кабинете'].Columns;
Colum.Columns[1].ColumnWidth:=20;
Colum.Columns[2].ColumnWidth:=20;


Colum:=XLApp.Workbooks[1].WorkSheets['ArmSA-Информация о кабинете'].Rows;
Colum.Rows[2].Font.Bold:=true;
Colum.Rows[1].Font.Bold:=true;
Colum.Rows[1].Font.Color:=clBlack;
Colum.Rows[1].Font.Size:=14;

Sheet:=XLApp.Workbooks[1].WorkSheets['ArmSA-Информация о кабинете'];
Sheet.Cells[1,2]:='Автоматизированное рабочее место системного администратора';
Sheet.Cells[2,1]:='Персонал';
Sheet.Cells[2,2]:='Имена компьютеров';


index:=3;
DataModule1.KabInfoTable.First;
for i:=0 to DataModule1.KabInfoTable.RecordCount-1 do
begin
Sheet.Cells[index,1]:=DataModule1.KabInfoTable.Fields.Fields[1].AsString;
Sheet.Cells[index,2]:=DataModule1.KabInfoTable.Fields.Fields[2].AsString;

Inc(index);
DataModule1.KabInfoTable.Next;
end;
end;

procedure TKabInfoForm.N6Click(Sender: TObject);
begin
MessageDlg(''#10#13'Афонин Денис 2012 ©'#10#13'Версия 1.001',mtInformation,[mbok],0);
end;

procedure TKabInfoForm.N2Click(Sender: TObject);
begin
Close;
end;

procedure TKabInfoForm.N7Click(Sender: TObject);
var
s:integer;
i:integer;
begin
s:=0;
for i:=0 to DataModule1.KabInfoTable.RecordCount-1 do
s:=s+1;
ShowMessage('Название таблицы: '+Datamodule1.KabInfoTable.TableName+#13 +'Количество записей: '+IntToStr(s));
end;



procedure TKabInfoForm.N8Click(Sender: TObject);
begin
ComputersInfoForm.Show;
KabInfoForm.hide;
end;

procedure TKabInfoForm.FormCreate(Sender: TObject);
begin
if login='admin' then N9.Visible:=true
else n9.Visible:=false;
if Dostup=false then begin
DBGrid1.Enabled:=false;
PrepodNavigator.VisibleButtons:=[nbFirst,nbNext,nbPrior,nbLast,nbRefresh];
DbGrid1.Font.Style:=[fsBold];
end;
end;

end.


unit Unit1; (форма информации о ПК)

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ExtCtrls, DBCtrls, StdCtrls, Menus, ToolWin, ComCtrls, Grids,
DBGrids,ComObj;

type
TComputersInfoForm = class(TForm)
DBGrid1: TDBGrid;
ToolBar1: TToolBar;
MainMenu1: TMainMenu;
N1: TMenuItem;
Excel1: TMenuItem;
N2: TMenuItem;
N3: TMenuItem;
N4: TMenuItem;
N5: TMenuItem;
N6: TMenuItem;
N7: TMenuItem;
N8: TMenuItem;
N9: TMenuItem;
N11: TMenuItem;
Label1: TLabel;
FilterFamEdit: TEdit;
DBNavigator1: TDBNavigator;
N12: TMenuItem;
N13: TMenuItem;
procedure FilterFamEditKeyPress(Sender: TObject; var Key: Char);
procedure N8Click(Sender: TObject);
procedure N3Click(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure N6Click(Sender: TObject);
procedure N5Click(Sender: TObject);
procedure Excel1Click(Sender: TObject);
procedure N2Click(Sender: TObject);
procedure N11Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
ComputersInfoForm: TComputersInfoForm;

implementation

uses DataModuleUnit, KabInfoUnit, KabinetsUnit, Unit2, UserUnit, glavnaya;

{$R *.dfm}

procedure TComputersInfoForm.FilterFamEditKeyPress (Sender: TObject;
var Key: Char);
begin
If Length(FilterFamEdit.Text)>0 then
DataModule1.ComputersTable.Filtered:=Tru e
else DataModule1.ComputersTable.Filtered:=Fal se;
DataModule1.ComputersTable.Filter:='Имя компьютера>'''+FilterFamEdit.Text+'''';
end;

procedure TComputersInfoForm.N8Click(Sender: TObject);
begin
DataModule1.ComputersTable.Sort:='Имя компьютера';
end;

procedure TComputersInfoForm.N3Click(Sender: TObject);
begin
Close;
end;

procedure TComputersInfoForm.FormClose(Sender: TObject;
var Action: TCloseAction);
begin
kabinetsForm.Close;
end;

procedure TComputersInfoForm.N6Click(Sender: TObject);
begin
KabinetsForm.Show;
KabInfoForm.Hide;
end;

procedure TComputersInfoForm.N5Click(Sender: TObject);
begin
KabInfoForm.Show;
ComputersInfoForm.Hide;
end;

procedure TComputersInfoForm.Excel1Click(Sender: TObject);
var
XLApp,Sheet,Colum:Variant;
index,i:Integer;
begin
XLApp:= CreateOleObject('Excel.Application');
XLApp.Visible:=true;
XLApp.Workbooks.Add(-4167);
XLApp.Workbooks[1].WorkSheets[1].Name:='ArmSA-Информация о компьютерах';
Colum:=XLApp.Workbooks[1].WorkSheets['ArmSA-Информация о компьютерах'].Columns;
Colum.Columns[1].ColumnWidth:=20;
Colum.Columns[2].ColumnWidth:=20;
Colum.Columns[3].ColumnWidth:=20;


Colum:=XLApp.Workbooks[1].WorkSheets['ArmSA-Информация о компьютерах'].Rows;
Colum.Rows[2].Font.Bold:=true;
Colum.Rows[1].Font.Bold:=true;
Colum.Rows[1].Font.Color:=clBlack;
Colum.Rows[1].Font.Size:=14;

Sheet:=XLApp.Workbooks[1].WorkSheets['ArmSA-Информация о компьютерах'];
Sheet.Cells[1,2]:='Автоматизированное рабочее место системного администратора';
Sheet.Cells[2,1]:='Имя компьютера';
Sheet.Cells[2,2]:='Хозяин компьютера';
Sheet.Cells[2,3]:='Когда менялась краска на принтере';


index:=3;
DataModule1.ComputersTable.First;
for i:=0 to DataModule1.ComputersTable.RecordCount-1 do
begin
Sheet.Cells[index,1]:=DataModule1.UsersTable.Fields.Fields[1].AsString;
Sheet.Cells[index,2]:=DataModule1.UsersTable.Fields.Fields[2].AsString;
Sheet.Cells[index,3]:=DataModule1.UsersTable.Fields.Fields[3].AsString;

Inc(index);
DataModule1.UsersTable.Next;
end;
end;

procedure TComputersInfoForm.N2Click(Sender: TObject);
var
s:integer;
i:integer;
begin
s:=0;
for i:=0 to DataModule1.UsersTable.RecordCount-1 do
s:=s+1;
ShowMessage('Название таблицы: '+Datamodule1.UsersTable.TableName+#13+' Количество записей: '+IntToStr(s));
end;

procedure TComputersInfoForm.N11Click(Sender: TObject);
begin
MessageDlg(''#10#13'АФонин Денис 2012 ©'#10#13'',mtInformation,[mbok],0);
end;

procedure TComputersInfoForm.FormCreate(Sender: TObject);
begin
if login='admin' then n12.Visible:=true
else N12.Visible:=false;
if Dostup=false then begin
DBGrid1.Enabled:=false;
DbNavigator1.VisibleButtons:=[nbFirst,nbNext,nbPrior,nbLast,nbRefresh];
DbGrid1.Font.Style:=[fsBold];
end;
end;

end.


unit Unit2; (форма учета пользователей)
interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Grids, DBGrids, ExtCtrls, DBCtrls, StdCtrls, ToolWin, ComCtrls;

type
TUsersForm = class(TForm)
DBGrid1: TDBGrid;
ToolBar1: TToolBar;
Label1: TLabel;
LoginEdit: TEdit;
DBNavigator1: TDBNavigator;
ToolButton1: TToolButton;
procedure LoginEditKeyPress(Sender: TObject; var Key: Char);
private
{ Private declarations }
public
{ Public declarations }
end;

var
UsersForm: TUsersForm;

implementation

uses UserUnit, DataModuleUnit,glavnaya;

{$R *.dfm}

procedure TUsersForm.LoginEditKeyPress(Sender: TObject; var Key: Char);
begin
If Length(LoginEdit.Text)>0 then
DataModule1.UsersTable.Filtered:=True
else DataModule1.UsersTable.Filtered:=False;
DataModule1.UsersTable.Filter:='Логин>'' '+LoginEdit.Text+'''';
end;

end.

unit DataModuleUnit; (форма Datamodule)
interface

uses
SysUtils, Classes, DB, ADODB;

type
TDataModule1 = class(TDataModule)
ADOConnection1: TADOConnection;
KabinetsTable: TADOTable;
KabinetsDataSource: TDataSource;
KabInfoDataSource: TDataSource;
KabInfoTable: TADOTable;
UsersDataSource: TDataSource;
ComputersTable: TADOTable;
ComputersDataSource: TDataSource;
UsersTable: TADOTable;
UsersTableKey1: TAutoIncField;
UsersTableDSDesigner: TWideStringField;
UsersTableDSDesigner2: TWideStringField;
UsersTableDSDesigner3: TBooleanField;
KabinetsTableKey1: TAutoIncField;
KabinetsTableDSDesigner: TWideStringField;
KabinetsTableDSDesigner2: TWideStringField;
KabInfoTableKey1: TAutoIncField;
KabInfoTableDSDesigner: TWideStringField;
KabInfoTableDSDesigner2: TWideStringField;
ComputersTableKey1: TAutoIncField;
ComputersTableDSDesigner: TWideStringField;
ComputersTableDSDesigner2: TWideStringField;
ComputersTableDSDesigner3: TDateTimeField;
procedure KabinetsTableAfterOpen(DataSet: TDataSet);
procedure KabInfoTableAfterOpen(DataSet: TDataSet);
procedure ComputersTableAfterOpen(DataSet: TDataSet);
private
{ Private declarations }
public
{ Public declarations }
end;

var
DataModule1: TDataModule1;

implementation

uses Unit2, KabInfoUnit, KabinetsUnit, Unit1, UserUnit;

{$R *.dfm}

procedure TDataModule1.KabinetsTableAfterOpen(Data Set: TDataSet);
begin
DataModule1.KabinetsTable.IndexFieldName s:='№ кабинета';

end;

procedure TDataModule1.KabInfoTableAfterOpen(DataS et: TDataSet);
begin
DataModule1.KabinetsTable.IndexFieldName s:='№ кабинета';
end;

procedure TDataModule1.ComputersTableAfterOpen(Dat aSet: TDataSet);
begin
DataModule1.ComputersTable.Sort:='Имена компьютеров';
end;

end.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
20.11.2012, 16:15
Помогаю со студенческими работами здесь

Проверьте задачку по циклам, неправильно работает. [думаю что неправильно]
Спасибо что решили зайти. Задание выгладит так: http://*******/PW95p А результат выплнения: http://*******/KwhuS #include...

Неправильно работает цикл for, и функции работают неправильно
1) Неправильно работает цикл for(k=0...). Входит только 1 раз, дальше вылетает. Делал пошаговую отладку на проверку значения k. Выдаёт...

Что неправильно в программе?
Текст программы: (на языке Turbo C) #include &lt;stdio.h&gt; #include &lt;string.h&gt; #include &lt;ctype.h&gt; #include &lt;stdlib.h&gt; void...

Что неправильно в программе
program bbb; var j :integer; f, g:text; s:string; begin assign(f,'c:\input.txt'); reset(f); ...

Неправильно передаются цвета в программе
Здравствуйте, я пишу небольшую простенькую игрулю на C++ с использованием SFML. В течение месяца у меня не было доступа к ПК, и я работал...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут. https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc Первый документ красиво выглядит, но без схемы. Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
Автозаполнение реквизитов при создании документа
Maks 26.03.2026
Код из решения ниже размещается в модуле объекта документа, в процедуре "ПриСозданииНаСервере". Алгоритм проверки заполнения реализован для исключения перезаписи значения реквизита, которое может. . .
Команды "Заполнить" и "Очистить" на форме документа
Maks 26.03.2026
1. Команда формы "ЗаполнитьЗапчасти". На примере нетипового документа разработанного в конфигурации КА2. В качестве источника данных указан регистр накопления, в который записываются данные о. . .
Кому нужен AOT?
DevAlt 26.03.2026
Решил сделать простой ланчер Написал заготовку: dotnet new console --aot -o UrlHandler var items = args. Split(":"); var tag = items; var id = items; var executable = args;. . .
Отправка уведомления на почту при изменении наименования справочника
Maks 24.03.2026
Программная отправка письма электронной почты на примере изменения наименования типового справочника "Склады" в конфигурации БП3. Перед реализацией необходимо выполнить настройку системной учетной. . .
модель ЗдравоСохранения 5. Меньше увольнений- больше дохода!
anaschu 24.03.2026
Теперь система здравосохранения уменьшает количество увольнений. 9TO2GP2bpX4 a42b81fb172ffc12ca589c7898261ccb/ https:/ / rutube. ru/ video/ a42b81fb172ffc12ca589c7898261ccb/ Слева синяя линия -. . .
Midnight Chicago Blues
kumehtar 24.03.2026
Такой Midnight Chicago Blues, знаешь?. . Когда вечерние улицы становятся ночными, а ты не можешь уснуть. Ты идёшь в любимый старый бар, и бармен наливает тебе виски. Ты смотришь на пролетающие. . .
SDL3 для Desktop (MinGW): Вывод текста со шрифтом TTF с помощью библиотеки SDL3_ttf на Си и C++
8Observer8 24.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-text-sdl3-c. zip finish-text-sdl3-cpp. zip
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru