Автор работы: Пользователь скрыл имя, 15 Апреля 2013 в 13:20, дипломная работа
Қазіргі кезде компьютерлік сауаттылықпен қатар жоғары деңгейлі программалау тілдерін қолдана білу- ең өзекті жұмыс дағдысы болып есептеледі. Бүгінгі күн талабына сәйкес, кез келген сала мамандары ақпараттық технологияларды толыққанды пайдалана білуі тиіс. Ал, ақпараттық технологияларды жаңа деңгейге көтеруде және оларды дамытуда жоғарғы деңгейлі программалау тілдерінің рөлі ерекше.
Кірспе
І бөлім. Объектілі бағытталыған бағдарламалау негіздері
ІІ бөлім. Borland Delphi объектілі баытталған бағдарламалау ортасы
2.1 Delphi бағдарламасымен танысу
2.2 Delphi бағдарламасының компоненттері
2.3 Дельфи ортасында анимация жасау әдістері
ІІІ бөлім. Visual C++ бағдарламасы туралы негізгі түсініктер
3.1 C ++ Builder әзірлеу ортасы
3.2 C ++ Builder компоненттері
3.3 C ++ Builder - де сұраулар құру
IV бөлім. Объектілі бағытталған бағдарламалау ортасының жобалау мүмкіндіктерін салыстыру
Қорытынды
Пайдаланылған әдебиеттер
Пішіннің тақырыбын
«Контроль заказов» деп
22-сурет. CUST қосымшасының пішінінде компоненттердің орналасуы
Бұл компоненттер үшін келесідей қасиеттерді белгілейміз:
Компоненттің аты |
Қасиеті |
Мәні |
Table1 |
DatabaseName |
BCDEMOS |
TableName |
CUSTOMER.DB | |
Active |
false | |
DataSource1 |
DataSet |
Table1 |
DBGrid1 |
DataSource |
DataSource1 |
Query1 |
Database Name |
BCDEMOS |
SQL |
select * from orders | |
Active |
false | |
DataSource2 |
DataSet |
Query1 |
Query2 |
DatabaseName |
BCDEMOS |
DataSource3 |
DataSet |
Query2 |
Button1 |
Caption |
&клиенттер тізімін ашу |
Button2 |
Caption |
&тапсырыстар тізімін ашу |
RadioButton1 |
Caption |
Клиенттер |
Checked |
true | |
RadioButton2 |
Caption |
Тапсырыстар |
GroupBox1 |
Caption |
|
GroupBox2 |
Caption |
|
Button3 |
Caption |
&диапазон белгілеу |
Edit1 |
Text |
|
Edit2 |
Text |
|
Label1 |
Caption |
Басталуы: |
Label2 |
Caption |
Соңы: |
RadioButton3 |
Caption |
Клиенттердің тапсырыстары |
Button1 батырмасы үшін OnClick оқиғаларды өңдеуішін құрамыз:
void __fastcall TForm1::Button1Click(TObject *Sender)
{
if (Table1->Active)
{
Table1->Close();
Button1->Caption = "Ioe?uou nienie &eeeaioia";
}
else
{
Table1->Open();
Button1->Caption= "Cae?uou nienie &eeeaioia";
}
}
Енді осы батырманы басқан кезде Customer кестесі бірде ашылып, бірде жабылады, бұл ретте батырмадағы жазу да өзгеретін болады
Button2 батырмасы үшін OnClick оқиғаларды өңдеуішін құрамыз:
void __fastcall TForm1::Button2Click(TObject *Sender)
{
if (Query1->Active)
{
Query1->Active = false;
Button2->Caption = "Ioe?uou список &caeacia";
}
else
{
Query1->Active = true;
Button2->Caption = "Заe?uou список &caeacia";
}
}
Button2 батырмасын басқан кезде тапсырыстардың тізімінен тұратын Query1 сұратуы бірде жабылып, бірде ашылатын болады:
RadioButton1 және RadioButton2 радиобатырмалары үшін OnClick оқиғаларды өңдеуішін құрамыз:
void __fastcall TForm1::RadioButton1Click(
{
DBGrid1->DataSource = DataSource1;
}
//----------------------------
void __fastcall TForm1::RadioButton2Click(
{
DBGrid1->DataSource =DataSource2;
}
Енді осы радиобатырмалардың көмегімен клиенттер тізімі мен тапсырыстар тізімі арасында ауыстырып қосуға болады.
Button3 батырмасы үшін OnClick оқиғаларды өңдеуішін құрамыз:
void __fastcall TForm1::Button3Click(TObject *Sender)
{
if (Table1->Active)
{
Table1->SetRangeStart();
Table1->Fields[0]->AsString = Edit1->Text;
Table1->SetRangeEnd();
Table1->Fields[0]->AsString = Edit2->Text;
Table1->ApplyRange();
}
}
Енді Edit1 және Edit2 редакциялау өрістерінің және Button3 батырмасының көмегімен клиенттер нөмірлерінің диапазонын олар туралы мәліметтерді DBGrid1-де бейнелеу үшін таңдауға болады.
Содан кейін
Visual Query Builder көмегімен Query2 компонентінің
SQL қасиетін орнатамыз. Деректер
базасының аты ретінде BCDEMOS таңдаймыз
және кесте сұратуына CUSTOMER және
ORDERS енгіземіз. Содан кейін
Сұратуға келесі өрістерді енгіземіз:
Customer.CustNo
Customer.Company
Orders.OrderNo
Orders.AmountPaid
23-сурет. Аралас сұрату құру үшін Visual Query Builder пайдалану
Енді сатып
алушының нөмірі бойынша
Объектілер инспекторын пайдаланып, Query2 компонентін тайдаймыз және оның True-ге тең Active қасиетін белгілейміз.
RadioButton3 үшін OnClick оқиғаларды өңдеуішін құрамыз:.
void __fastcall TForm1::RadioButton3Click(
{
DBGrid1->DataSource= DataSource3;
}
Қосымшаны
компиляциялаймыз.Батырмаларды
IV бөлім. Объектілі
бағытталған бағдарламалау
Delphi ортасы схемаларды, сызбаларды,
түрлі иллюстрацияларды
Мысалы:
int arr[8][8], row[64], col[64];
int ktmov1[8] = { -2, -1, 1, 2, 2, 1, -1, -2 };
int ktmov2[8] = { 1, 2, 2, 1, -1, -2, -2, -1 };
int i, j, move_num, d;
main() {
addknight( );
}
addknight( ) {
register int a, b, e;
/* пометить клетку как посещенную и запомнить
координаты клетки */
arr[i][j] = 1;
row[move_num] = i;
col[move_num] = j;
move_num++;
/* проверить 8 возможных перемещений коня
*/
for ( a = 0 ; a <= 7 ; a++ ) {
/* если все ходы сделаны, печатаем их */
if ( move_num >= 64 ) {
writeboard( );
exit ( 0 );
}
/* определяем колонку и строку для следующего
хода */
b = i + ktmov1[a];
e = j + ktmov2[a];
/* проверяем, что после выполенения хода
конь остается на шахматной доске */
if ( b < 0 || b > 7 || e < 0 || e > 7 )
continue;
/* проверяем, были ли мы уже в этой клетке
*/
if ( arr[b][e] == 1 )
continue;
i = b; j = e;
addknight();
}
/* уменьшить счетчик ходов и попробовать
сделать следующий ход */
move_num-- ;
/* освобождаем клетку, ранее занятую конем
*/
arr[row[move_num]][col[move_
move_num--; /* пробуем сделать следующий ход
*/
i = row[move_num]; j = col[move_num];
move_num++;
}
writeboard( ) {
int a;
clrscr( );
gotoxy ( 1, 10 );
printf ( "Hit any key for next move " );
gotoxy ( 1, 11 );
for ( a = 0 ; a <= 63 ; a++ ) {
if ( a % 8 == 0 )
printf ( "n" );
printf ( "#" );
}
for ( a = 0 ; a <= 63 ; a++ ) {
gotoxy ( col[a] * 3 + 1, 12 + row[a] );
printf ( "%3d", a + 1 );
getch( );
}
}
C++ Builder құрудағы
бастапқы қадам жоба құру
// Шахмат тақтасындағы ат жүрісі
#include <GL/glut.h>
#include <vector>
using namespace std;
const int N = 16;
bool board[N][N];
struct Position
{
int x;
int y;
};
vector<Position> solution;
void display()
{
static int c = 0;
++c;
if (c % 5000 != 0)
return;
glClear(GL_COLOR_BUFFER_BIT);
const int step = 480 / N;
glBegin(GL_QUADS);
for (int i = 0; i < N; ++i)
for (int j = 0; j < N; ++j)
{
if ((i + j) % 2)
glColor3f(0.5, 0.5, 0.5);
else
glColor3f(0, 0, 0);
const int x = i * step;
const int y = j * step;
glVertex2f(x, y);
glVertex2f(x + step, y);
glVertex2f(x + step, y + step);
glVertex2f(x, y + step);
}
glEnd();
glPointSize(3);
glBegin(GL_POINTS);
glColor3f(0, 1, 0);
for (int i = 0; i < N; ++i)
for (int j = 0; j < N; ++j)
if (board[i][j])
{
const int x = i * step + step / 2;
const int y = j * step + step / 2;
glVertex2f(x, y);
}
glEnd();
glPointSize(1);
glBegin(GL_LINE_STRIP);
for (vector <Position>::iterator i = solution.begin();
i != solution.end(); ++i
Қорытынды
Ақпараттық технологиялар дәуір объективті мәні бар үрдіс, ол адам мүмкіндігін толық жүзеге асыруға жол ашады, ал оларды қолдану адам бойындағы қабілетті дамыту негізінде қоғамның алға басуына үлкен ықпал.
Біздер шетелдік білім жүйесінен білімалған мамандардан қалыспайтын ой- өрісі дамыған жас ұрпаққа білім беру жолындағы ортақ міндетті қазірден бастап өз мәнінде жүргізуіміз керек деп ойлаймыз.
Delphi ортасы схемаларды, сызбаларды,
түрлі иллюстрацияларды
C++ Builder келісім бойынша
атауы Project1.mak болатын файл, сондай-ақ
келісім бойынша атауы
Дипломдық жұмысымды қорытындылай
келе объектілі бағытталған
Пайдаланылған әдебиеттер
Информация о работе Объектілі бағытталған бағдарламалау ортасының жобалау мүмкіндіктерін салыстыру