Автор работы: Пользователь скрыл имя, 29 Января 2014 в 20:30, курсовая работа
Жиырма бірінші ғасырдың басталуы жаппай ақпараттық қоғамға көшумен сипатталады. Оған компьютерлік техника, ақпараттық технология және басқа да ғылыми-техникалық прогресс әсерін тигізуде. Қазақстан Республикасы ғылыми-техникалық прогрестің негізгі белгісі болып табылатын қоғамды ақпараттандырудың жаңа кезеңіне енді. Қоғамды ақпараттандыру – еліміздің экономикасының, мәдениетінің, ғылымының дамуының негізгі алғышарты. Мәліметтер базасы - белгілі бір арнаулы ауқымға қатысты мәлтеттерді баяндау, сақтау мен амал-тәсілдермен ұқсата білудің жалпы прииңиптерін қарастыратын белгілі бір ережелер бойынша үйымдастырылған мәлімет-тердің жиынтыгы.
Кіріспе…………………………………………………………………..............… 2
1. DELPHI Ппроцедуралар ұғымы…………………...……………............……. 4
1.1 Процедуралар……………………………………………………........…....….6
1.2 Функциялар ……………………………………………………….......…....…7
1.3 Рекурсивтік ішкі бағдарламалар…………………………………..................7
2. Дәмхана жұмысын автоматтандыру…......................................................…..9
2.1 SQL көмегімен мәліметтер қорын басқару .........................................…...9
2.2 Программаны сипаттау .................................……………………........…... 19
2.3 Тағамдар мен қызметкерлер тізімін толтыру ...................................….…..19
2.4 Тапсырыс алу …………………………....……………….......……………...20
Қорытынды ……………………………………………….......……………...….22
Қолданылған әдебиеттер………………………………….......……………...…23
Қосымша…………………………………….……………........…………...…….24
Сурет 20. Тапсырыс беру
Сурет 21. Есеп парағын шығару
Қорытынды
Бұл курстық жобада қарастырылған мәселе дәмхана әкімшілігінің қызметінің жұмысын автоматтандыру. Жалпы автоматтандыру мәселесі басталғаннан бастап, компьютердің барлық мүмкіндіктерін қолдану қазіргі бағдарламашылардың басты мақсаты болып келеді. Программа құру үшін алдымен оның алгоритмін жасау керек. Бұл бағдарламаның алгоритмі тағамдардың және қызметкерлердің тізімінен басталады. Тізім арқылы барлық қосымша әрекеттерді орындауға болады. Алдыға қойылған мақсаттарға жету үшін, алдымен программаның қағаз жүзінде алгоритмін жасап алу керек. Блок схемалар түрінде не болмаса өзіңізге түсінікті тілде программаның «жоспарын» құру қажет. Программаның жоспарына қателерді өңдеу де кіреді, өйткені қазіргі кезде қарапайым қолданушылар қай батырманы басқанын білмей де қалады. Біздің жағдайда сандарды тексеріп, яғни литерлік шаманы ажырату алгоритмі құрылған. Ол өте қарапайым. Алдымен сан жолдық типке айналдырылады. Сандар өте қысқа келеді. 2-3 символ болуы мүмкін, асып кетсе 6 символ. Бұл дегеніңіз мұндай символдар массивін басқару оңай болады деген сөз.
Курстық жобаның программалық бөлігінде пайдаланған қосымша программалар және технологиялар қарастырылған:
Программаны әсерлеу үшін соңғы екі аталған программа қолданылды. Веб-парақтар жасау үшін көптеген түрлі программалар бар. Олардың құрылымының күрделілігіне қарай, сонымен қатар тапсырманы шешу ортасына байланысты ажыратылады.
Қолданылған әдебиеттер
Қосымша
unit Unit4;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Buttons, DB, DBTables, Grids, DBGrids, ShellAPI;
type
TForm4 = class(TForm)
Label1: TLabel;
DataSource1: TDataSource;
DBGrid1: TDBGrid;
Query1: TQuery;
DataSource2: TDataSource;
Query2: TQuery;
Label2: TLabel;
BitBtn1: TBitBtn;
BitBtn2: TBitBtn;
Query3: TQuery;
ComboBox1: TComboBox;
Label3: TLabel;
Label4: TLabel;
Edit1: TEdit;
BitBtn3: TBitBtn;
DBGrid2: TDBGrid;
procedure FormCreate(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure ComboBox1Change(Sender: TObject);
procedure BitBtn1Click(Sender: TObject);
procedure BitBtn2Click(Sender: TObject);
procedure BitBtn3Click(Sender: TObject);
private
{ Private declarations }
public
numb:string;
end;
var
Form4: TForm4;
implementation
{$R *.dfm}
procedure TForm4.FormCreate(Sender: TObject);
begin
Query1.DatabaseName := ExtractFilePath(Application.
Query2.DatabaseName := ExtractFilePath(Application.
Query3.DatabaseName := ExtractFilePath(Application.
end;
procedure TForm4.FormShow(Sender: TObject);
var max:string;
begin
with Query1.SQL do
begin
clear();
add('select max(numb) maxi from zakaz');end;
Query1.Open;
max := IntToStr(Query1.FieldByName('
with Query1.SQL do
begin
clear();
add('select * from zakaz where (act=1) and (numb='+numb+')');
end;
Query1.Open;
with Query2.SQL do
begin
clear();
add('select * from tagam');
end;
Query2.Open;
with Query3.SQL do
begin
clear();
add('select * from kyzm');
end;
Query3.Open;
ComboBox1.Items.Clear;
Query3.First;
while not Query3.Eof do
begin
ComboBox1.Items.Add(Query3.
Query3.Next;
end;
if Query1.RecordCount<>0 then
begin
ComboBox1.ItemIndex := ComboBox1.Items.IndexOf(
Edit1.Text := Query1.FieldByName('numb').
end
else
begin
ComboBox1.ItemIndex := 0;
Edit1.Text := max;
end;
Label1.Caption := numb+'-столдың тапсырыстары';
end;
procedure TForm4.ComboBox1Change(Sender: TObject);
var nm:string;
begin
nm:=ComboBox1.Text;
with Query3.SQL do
begin
clear();
add('update zakaz set kznm="'+nm+'" where numb='+Edit1.Text);
end;
Query3.ExecSQL;
end;
procedure TForm4.BitBtn1Click(Sender: TObject);
begin
with Query3.SQL do
begin
clear();
add('insert into zakaz values('+Edit1.Text+',
'''+Query2.FieldByName('nm').
add(' '''+ComboBox1.Text+''', '+Query2.FieldByName('bg').
end;
Query3.ExecSQL;
FormShow(self);
end;
procedure TForm4.BitBtn2Click(Sender: TObject);
begin
with Query3.SQL do
begin
clear();
add('delete from zakaz where (nm='''+Query1.FieldByName('
end;
Query3.ExecSQL;
FormShow(self);
end;
procedure TForm4.BitBtn3Click(Sender: TObject);
var f:textfile;
i,j,summ,pr:integer;
path:string;
begin
path:=copy(Application.
assignfile(f,'current.xls');
rewrite(f);
writeln(f,'<html><body>');
writeln(f,'<h3>Есеп №00000'+edit1.text+'</h3>');
writeln(f,'<h4>Қызметкер: '+combobox1.text+'</h4>');
writeln(f,'<table border=1><tr>');
for i:=0 to DBGrid1.Columns.Count-1 do
begin
writeln(f,'<td><b>'+DBGrid1.
end;
writeln(f,'</tr>');
Query1.First;
for i:=1 to Query1.RecordCount do
begin
for j:=0 to DBGrid1.Columns.Count-1 do
writeln(f,'<td>'+DBGrid1.
writeln(f,'</tr>');
summ:=summ+Query1.FieldByName(
Query1.Next;
end;
pr:=round((summ/100)*10);
writeln(f,'<tr><td><b>Қызмет
көрсету құны:</b></td><td><b>'
writeln(f,'<tr><td><b>Барлығы:
writeln(f,'</table></body></
closefile(f);
ShellExecute(0, 'open',PChar(path+'\current.
with Query3.SQL do
begin
clear();
add('update zakaz set act=0 where numb='+Edit1.Text);
end;
Query3.ExecSQL;
Close;
end;
end.