Автор работы: Пользователь скрыл имя, 09 Января 2014 в 19:34, курсовая работа
Қолданбалы интерфейс – бұл программалық және қолданушы мен компьютердiң әсерлесуін қамтамасыз ететiн аппаратты құралдардың жиынтығы. Мұндай өзара әрекеттесудiң негiзін диалогтар құрайды. Диалог адам мен компьютердiң арасындағы масштабта, уақыттың нақты есебі бiрлескен шешiмін бағытталған iске асыратын регламент белгiленген ақпарат алмасуларды осы жағдайда түсiндіредi. Әрбiр диалог қолданушы және компьютердiң байланыстарын физикалық қамтамасыз ететiн қорытындының енгiзу/шығаруының жеке процесстерiнен тұрады. Ақпарат алмасу хабар берумен iске асады.
Кіріспе...................................................................................................................4
1. Delphi программалау ортасы..........................................................................6
1.1 Delphi–дің артықшылықтары.......................................................................9
1.2 Ұйымдастырушының ортасын икемдеу....................................................12
2. Delphi ортасынның графикалық мүмкіндіктерін сипаттайтын программа...........................................................................................................14
Қорытынды........................................................................................................17
Пайдаланылған әдебиеттер тізімі....................................................................18
Программаның листингісі...............................................................................19
procedure TMainForm.AddSpBtnClick(
begin
//вызываем обработчик пункта меню "Добавить запись"
Add_ItemClick(Sender);
end;
procedure TMainForm.DelSpBtnClick(
begin
//вызываем обработчик пункта меню "Удалить запись"
Del_ItemClick(Sender);
end;
procedure TMainForm.FindSpBtnClick(
begin
Search_ItemClick(Sender);
end;
procedure TMainForm.HelpSpBtnClick(
begin
Help_ItemClick(Sender);
end;
procedure TMainForm.LoadFotoBtnClick(
begin
if OpenPictureDialog1.Execute then //запускаем диалог
begin
DataM.tovarTable.Edit;
//открываем таблицу для
//загружаем фотографию
DataM.tovarTablefoto.
DataM.tovarTable.Post; //сохраняем изменения
DelFotoBtn.Enabled := true; //деактивизируем кнопку
end;
end;
procedure TMainForm.DelFotoBtnClick(
begin
if MessageBox(0,PChar('Вы
действительно хотите удалить
фотографию записи "' +DataM.TovarTableProducts_
begin
DataM.TovarTable.Edit;
DataM.TovarTableFoto.Clear; //очищаем поле Foto
DataM.TovarTable.Post;
DelFotoBtn.Enabled := false;
LoadFotoBtn.SetFocus;
//устанавливаем фокус на
end;
end;
procedure TMainForm.DBEdit18Change(
begin
//выводим номер текущей записи и общее число записей таблицы AllBooks
//как строковый тип данных
StatusBar1.Panels[3].Text
:= IntToStr(DataM.tovarTable.
//выводим значения полей "Фамилия", "Имя" и "Отчество"
StatusBar1.Panels[4].Text
:= DataM.tovarTableproducts_name.
if DataM.tovarTableFoto.BlobSize = 0 then
begin
DelFotoBtn.Enabled := false;
DelFotoPop_Item.Enabled := false;
end
else
begin
DelFotoBtn.Enabled := true;
DelFotoPop_Item.Enabled := true;
end;
end;
procedure TMainForm.DBEdit18KeyPress(
var a:integer;
begin
a:=ord(Key); //запоминаем нажатую клавишу
case a of
48..57,186..191,220,221,33,34.
begin //если клавиша недопустима, выводим сообщение
ShowMessage ('Ошибка! Несовпадение вводимых данных с типом, разрешенным для этой графы.');
key:=char(0); //блокируем ввод неверного символа
DBEdit1.SetFocus; //устанавливаем фокус ввода
end;
end;
end;
procedure TMainForm.LoadFotopop_
begin
LoadFotoBtnClick(Sender);
end;
procedure TMainForm.DelFotoPop_
begin
DelFotoBtnClick(Sender);
end;
end.
SearchUnit;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls;
type
TSearchForm = class(TForm)
Panel1: TPanel;
Label1: TLabel;
LabeledEdit1: TEdit;
RadioButton1: TRadioButton;
RadioButton2: TRadioButton;
RadioButton3: TRadioButton;
FindNextBtn: TButton;
CancelBtn: TButton;
procedure FindNextBtnClick(Sender: TObject);
procedure CancelBtnClick(Sender: TObject);
procedure RadioButton1Click(Sender: TObject);
procedure RadioButton3Click(Sender: TObject);
procedure RadioButton2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
SearchForm: TSearchForm;
implementation
uses DataUnit;
{$R *.dfm}
procedure TSearchForm.FindNextBtnClick(
//объявляем список меток перехода
Label da1,da2,da3;
//объявляем новые переменные
var count : integer;
i : integer;
text : string;
begin
//запоминаем в переменной count количество записей таблицы AllBooks
count := DataM.KlientTable.RecordCount;
//в переменную text заносим значение, введенное в поле LabeledEdit1
text := LabeledEdit1.Text;
//если отмечен переключатель RadioButton1, то
if RadioButton1.Checked then
//если поле LabeledEdit1 не пустое, то
if Length(LabeledEdit1.Text)<>0 then
begin
i:=0;
//если номер текущей записи равен числу строк, т.е. запись последняя
if (DataM.klientTable.RecNo = count) and
//и если значение поля Surname с первого символа совпадает с текстом,
//введенным в поле LabeledEdit1, то
(AnsiLowerCase(copy(DataM.
begin
//установить
маркер таблицы на первую
DataM.klientTable.First;
//перейти на метку da1
goto da1;
end;
//пока не конец таблицы, выполнять
while not DataM.klientTable.Eof do
begin
//переход на следующую запись
DataM.klientTable.Next;
da1: //метка da1
//если условие совпадения выполняется, то
if AnsiLowerCase(copy(DataM.
//остановить цикл и позиционировать маркер
break
//если условие не выполняется, то увеличить i
else inc(i);
//если значение i превышает количество записей, то
if i = count+1 then
begin
//вывести сообщение и остановить цикл
ShowMessage('Не найдено!');
break;
end;
//если достигнут конец таблицы, то
if DataM.klientTable.Eof then
begin
//установить маркер на первую запись
DataM.klientTable.First;
//перейти на метку
goto da1;
end;end;end
else //если поле LabeledEdit1 пусто
begin
//вывести сообщение
ShowMessage('Введите данные для поиска!');
//установить фокус ввода в поле LabeledEdit1
LabeledEdit1.SetFocus;
end;
//если отмечен переключатель RadioButton2, то
if RadioButton3.Checked then
//если поле LabeledEdit1 не пустое, то
if Length(LabeledEdit1.Text)<>0 then
begin
i:=0;
//если номер текущей записи равен числу строк, т.е. запись последняя
if (DataM.TovarTable.RecNo = count) and
//и если значение поля Surname с первого символа совпадает с текстом,
//введенным
в поле LabeledEdit1, то (AnsiLowerCase(copy(DataM.
begin
//установить
маркер таблицы на первую
DataM.TovarTable.First;
//перейти на метку da1
goto da2;
end;
//пока не конец таблицы, выполнять
while not DataM.TovarTable.Eof do
begin
//переход на следующую запись
DataM.TovarTable.Next;
da2: //метка da2
//если условие совпадения выполняется, то
If AnsiLowerCase(copy(DataM.
//остановить цикл и позиционировать маркер
break
//если условие не выполняется, то увеличить i
else inc(i);
//если значение i превышает количество записей, то
if i = count+1 then
begin
//вывести сообщение и остановить цикл
ShowMessage('Не найдено!');
break;
end;
//если достигнут конец таблицы, то
if DataM.TovarTable.Eof then
begin
//установить маркер на первую запись
DataM.TovarTable.First;
//перейти на метку
goto da2;
end;end;end
else //если поле LabeledEdit1 пусто
begin
//вывести сообщение
ShowMessage('Введите данные для поиска!');
//установить фокус ввода в поле LabeledEdit1
LabeledEdit1.SetFocus;
end;
//если отмечен переключатель RadioButton3, то
if RadioButton2.Checked then
//если поле LabeledEdit1 не пустое, то
if Length(LabeledEdit1.Text)<>0 then
begin
i:=0;
//если номер текущей записи равен числу строк, т.е. запись последняя
if (DataM.klientTable.RecNo = count) and
//и если значение поля Surname с первого символа совпадает с текстом,
//введенным в поле LabeledEdit1, то
(AnsiLowerCase(copy(DataM.
begin
//установить
маркер таблицы на первую
DataM.KlientTable.First;
//перейти на метку da3
goto da3;
end;
//пока не конец таблицы, выполнять
while not DataM.klientTable.Eof do
begin
//переход на следующую запись
DataM.klientTable.Next;
da3: //метка da3
//если условие совпадения выполняется, то
if AnsiLowerCase(copy(DataM.
//остановить цикл и позиционировать маркер
break
//если условие не выполняется, то увеличить i
else inc(i);
//если значение i превышает количество записей, то
if i = count+1 then
begin
//вывести сообщение и остановить цикл
ShowMessage('Не найдено!');
break;
end;
//если достигнут конец таблицы, то
if DataM.klientTable.Eof then
begin
//установить маркер на первую запись
DataM.klientTable.First;
//перейти на метку
goto da3;
end;
end;
end
else //если поле LabeledEdit1 пусто
begin
//вывести сообщение
ShowMessage('Введите данные для поиска!');
//установить фокус ввода в поле LabeledEdit1
LabeledEdit1.SetFocus;
end;
end;
procedure TSearchForm.CancelBtnClick(
begin
Close;
end;
procedure TSearchForm.RadioButton1Click(
begin
LabeledEdit1.SetFocus;
end;
procedure TSearchForm.RadioButton3Click(
begin
LabeledEdit1.SetFocus;
end;
procedure TSearchForm.RadioButton2Click(
begin
LabeledEdit1.SetFocus;
end;
end.