You are on page 1of 9

Вовед

Програмскиот јазик Делфи (Delphi) се заснова на Паскал, односно компајлерите на Делфи


користат свој Објектен Паскал дијалект на Паскал и генерираат машински јазик за неколку
платформи: Windows (x86 и x64), OS X (32-bit only), iOS (32 и 64-bit) and Android.

Борланд го развил Делфи како алатка за брз развој на Windows апликации, а од 2006-та
година, Борландовиот дел за развојни алатки или програми во кои спаѓа и Делфи е
префрлен во КодГир, која пак е продадена на Ембаркадеро Технологии во 2008 година. Од
таму е и целосното денешно име на Делфи, Embarcadero Delphi.

Делфи е јак тип на програмски јазик од високо ниво, наменет за лесно користење и
првично е базиран на раната верзија на Објективниот Паскал.

Компајлерот на Делфи ги оптимизира сите редови, макар да е тој само еден единствен
програмски ред. Опциски, може да ги компајлира сите до еден извршни модули кои не
бараат DLL, со што го поедноставува ажурирањето на програмот. Делфи исто така може да
генерира стандардни DLL модули, ActiveX DLL, COM автоматизираните сервери и Windows
Services.

Во поглед на компатибилноста, со секое ново издание на Делфи, Делфи се труди да биде


што покомпатибилен, односно да се состои од сите свои претходници се со цел да ги
поддржи веќе напишаните програми и да ги отвори веќе постоечките библиотеки.

Некои од изданијата на Делфи се пријавени како нестабилни, но најголем проблем се


појавил кај Делфи ХЕ7, конкретно често е пријавуван како спор и подложен на грешки при
зачувувањето на фајловите.

Програмот со кој е реализирана оваа проектна задача е Delphi7, верзијата објавена во


август, 2002 (Borland Delphi7) и оваа верзија на Делфи од тогаш е стандардната верзија на
овој програмски јазик, а програмерите кои програмираат и кои програмирале во овој
јазик, ја користеле токму оваа верзија најмногу од било која друга. Тоа е еден од
најголемите проекти кои ги има објавено и направено Borland, поради својата стабилност,
брзина и малите хардверски барања, односно оваа верзија на Делфи е последна верзија
која не бара ниту софтверска активација со што е отворен вид на програмски јазик, па
затоа се користи се додека се користи и Windows XP, односно до 2011 година, бидејќи
Делфи веднаш по објавувањето на Windows XP, објави поддршка за таа тема на
оперативниот систем и уште многу други додатоци за правење веб апликации.

1
Апликацијата на Делфи се состои од:

 Форма

 Програмски модули

 Слики

 Икони

 Надворешни библиотеки итн.

Вака изгледа Delphi7 кога ќе се стартува нов проект:

Токму поради овој едноставен дизајн на оваа верзија на Делфи, Borland се


прославува како еден од најголемите софтверски корпорации на тоа време,
бидејќи е едноставен, јасен за користење од страна на програмерите и со него
може да се направат и многу апликации кои се корисни како делови на веб
страните и многу разно разни апликации.

Компјутерска игра „Икс нула”

2
Икс нула е игра која се игра со двајца натпреварувачи. Едниот е икс (X), а другиот
нула (О). Целта на играта е со впишување на иксовите и нулите во лист поделен на
девет полиња, наизменично, (прво едниот натпреварувач, па другиот) да состават
три икса или три нули (вертикално, хоризонтално или дијагонално), со што оној кој
ќе спои прв три исти карактери, победува во играта.

На овој пример прв почнува иксот и тој е победник.

Играта потекнува од древниот Египет, се играла и во Римското Царство, околу


првиот век П.Н.Е., а се игра до ден денеска.

Токму икс нула е мојата програма бидејќи е игра за сите времиња, па од на камен и
папирус, пренесувана на хартија, еве сега и преку програмски код, напишана и
спремна за играње на компјутер. Играта се започнува по избор на
натпреварувачите кој да биде прв, наизменично додека некој не победи или
доколку е реми.

Програмски код
Програмскиот код со кој е напишана оваа програма:

unit Unit1;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, ExtCtrls;

3
type

TForm1 = class(TForm)

Image1: TImage;

procedure FormCreate(Sender: TObject);

procedure Image1MouseUp(Sender: TObject; Button: TMouseButton;

Shift: TShiftState; X, Y: Integer);

private

{ Private declarations }

procedure init;

public

{ Public declarations }

end;

var

Form1: TForm1;

implementation

{$R *.dfm}

var isuser_1:boolean;

score:array[0..1,0..8] of boolean;

step:byte;

4
procedure TForm1.init;

var i:byte;

begin

with image1.Canvas do

begin

brush.color:=clwhite;

brush.style:=bssolid;

pen.color:=ClBlack;

Pen.Width:=2;

Rectangle(1,1,600,600);

for i:=1 to 2 do

begin

moveto(200*i,0);

Lineto(200*i,600);

moveto(0,200*i);

Lineto(600,200*i);

end;

end;

for i:=0 to 8 do

begin

score[0,i]:=false;

score[1,i]:=false;

end;

5
step:=0

end;

procedure TForm1.FormCreate(Sender: TObject);

begin

init;

isuser_1:=true;

end;

procedure TForm1.Image1MouseUp(Sender: TObject; Button: TMouseButton;

Shift: TShiftState; X, Y: Integer);

var index_x,index_y:integer;

procedure draw_cross;

begin

image1.canvas.MoveTo(200*index_x+30,200*index_y+30);

image1.canvas.LineTo(200*index_x+170,200*index_y+170);

image1.canvas.MoveTo(200*index_x+30,200*index_y+170);

image1.canvas.LineTo(200*index_x+170,200*index_y+30);

end;

procedure draw_circ;

begin

6
image1.Canvas.Ellipse(200*index_x+30,200*index_y+30,200*index_x+170,200*index_y
+170);

end;

function isawinner(user:byte):boolean;

begin

result:=(score[user,0] and score[user,1] and score[user,2]) or

(score[user,3] and score[user,4] and score[user,5]) or

(score[user,6] and score[user,7] and score[user,8]) or

(score[user,0] and score[user,3] and score[user,6]) or

(score[user,1] and score[user,4] and score[user,7]) or

(score[user,2] and score[user,5] and score[user,8]) or

(score[user,0] and score[user,4] and score[user,8]) or

(score[user,2] and score[user,4] and score[user,6]);

end;

begin

index_x:=x div 200;

index_y:=y div 200;

if isuser_1 then

begin

draw_cross;

score[0,index_x+index_y*3]:=true;
7
if isawinner(0) then

begin

showmessage('Iksot POBEDI!');

init;

end else if step=8 then begin

showmessage('Neresheno!!');

init;

end else inc(step);

end else begin

draw_circ;

score[1,index_x+index_y*3]:=true;

if isawinner(1) then

begin

showmessage('Nulata POBEDI!');

init;

end else if step=8 then begin

showmessage('Neresheno!!');

init;

end else inc(step);

end;

isuser_1:=not isuser_1;

end;

Литература:
8
 https://en.wikipedia.org/wiki/Delphi_(programming_la
nguage)

 https://sr.wikipedia.org/wiki/
%D0%94%D0%B5%D0%BB%D1%84%D0%B8_(%D0%BF
%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC
%D1%81%D0%BA%D0%B8_
%D1%98%D0%B5%D0%B7%D0%B8%D0%BA)

 https://www.embarcadero.com/products/delphi

 http://wiki.c2.com/?BorlandDelphi

 http://www.delphibasics.co.uk/Article.asp?
Name=DelphiHistory

 Програмирање, IV година - електротехничар за


компјутерска техника и автоматика, Јулијана
Петреска

You might also like