21
Lazarus – задаци за вежбање 2018 Zadatak 1. Kreirati aplikaciju u kojoj će se menjati boja obrasca kao odgovor na tri događaja: - pokretanje aplikacije (FormCreate) - klik na obrazac (OnClick) - dvoklik na obrazac (OnDblClick) Svaki događaj kreira različitu boju obrasca. U metodi FormCreate dodati još jedan red kojim se natpis forme (Caption) menja u ’Ovo je moj prvi Delhi program’. Zadatak 2. Na obrazac dodati Labelu i podesiti veličinu slova na 26, Bold. Kreirati aplikaciju kojom se klikom na labelu njen Caption menja u III9 (ili III 9). Na isti obrazac dodati još 2 labele, dva edit polja i jedno dugme. Natpisi u labelama su: Label1: Unesi ime i prezime Label2: Uneto ime i prezime Edit polja su na početku prazna. Natpis dugmeta treba da bude Ispiši. Kada se pokrene aplikacija i kada se u prvo edit polje unese ime i prezime, i kada se klikne na dugme Ispiši , u drugom edit polju treba da se pojavi isti tekst kao u prvom. Programski kod: Edit2.text := Edit1.text; Zadatak 3. Podesiti svojstva forme na sledeće vrednosti: Name: Obrazac1 Caption: Zadatak 5 Color: clred Top: 200 Left: 300 Width: 500 Height: 400 Na obrazac dodati labelu koja će u početku biti prazna, a klikom na nju će se ispisati ime i prezime učenika koji kreira zadatak, fontom veličine 30, bold, plavom (ili nekom drugom) bojom. Programski kod: label1.caption := ’Petar Petrović’; (na primer) label1.font.size := 26; label1.font.style := [fsbold]; 1

Zadatak 1. - vukicagrbic.files.wordpress.com · Web viewZadatak 1. Kreirati aplikaciju u kojoj će se menjati boja obrasca kao odgovor na tri događaja: pokretanje aplikacije (FormCreate)klik

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Zadatak 1. - vukicagrbic.files.wordpress.com · Web viewZadatak 1. Kreirati aplikaciju u kojoj će se menjati boja obrasca kao odgovor na tri događaja: pokretanje aplikacije (FormCreate)klik

Lazarus – задаци за вежбање 2018

Zadatak 1.Kreirati aplikaciju u kojoj će se menjati boja obrasca kao odgovor na tri događaja:

- pokretanje aplikacije (FormCreate)- klik na obrazac (OnClick)- dvoklik na obrazac (OnDblClick)

Svaki događaj kreira različitu boju obrasca.U metodi FormCreate dodati još jedan red kojim se natpis forme (Caption) menja u ’Ovo je moj prvi Delhi program’.

Zadatak 2.Na obrazac dodati Labelu i podesiti veličinu slova na 26, Bold. Kreirati aplikaciju kojom se klikom na labelu njen Caption menja u III9 (ili III 9).Na isti obrazac dodati još 2 labele, dva edit polja i jedno dugme. Natpisi u labelama su:Label1: Unesi ime i prezimeLabel2: Uneto ime i prezimeEdit polja su na početku prazna. Natpis dugmeta treba da bude Ispiši.Kada se pokrene aplikacija i kada se u prvo edit polje unese ime i prezime, i kada se klikne na dugme Ispiši , u drugom edit polju treba da se pojavi isti tekst kao u prvom.Programski kod: Edit2.text := Edit1.text;

Zadatak 3.

Podesiti svojstva forme na sledeće vrednosti:

Name: Obrazac1Caption: Zadatak 5Color: clredTop: 200Left: 300Width: 500Height: 400Na obrazac dodati labelu koja će u početku biti prazna, a klikom na nju će se ispisati ime i prezime učenika koji kreira zadatak, fontom veličine 30, bold, plavom (ili nekom drugom) bojom.

Programski kod:

label1.caption := ’Petar Petrović’; (na primer)label1.font.size := 26;label1.font.style := [fsbold];label1.font.color := clred;Dodati dugme za zatvaranje aplikacije (Close).

Zadatak 4.Kreirati aplikaciju koja klikom na dugme ispisuje neku informaciju u dijalog prozoru. Takođe dodati dugme za zatvaranje aplikacije.Natpisi dugmića:Button1: HelloButton2: CloseProgramski kod (pritiskom na dugme Hello):MessageDlg(’Zdravo svima!’,mtInformation,[mbOk],0). Možete i preko poruke koja se pojavljuje: ShowMessage(‘Zdravo svima’)

1

Page 2: Zadatak 1. - vukicagrbic.files.wordpress.com · Web viewZadatak 1. Kreirati aplikaciju u kojoj će se menjati boja obrasca kao odgovor na tri događaja: pokretanje aplikacije (FormCreate)klik

Lazarus – задаци за вежбање 2018

Zadatak 5.Kreirati aplikaciju u kojoj se tekst u labeli proizvoljno poravnava.(postavi AutoSize-da nije TRUE, da bi mogli da menjamo veličinu Labele)Na obrazac postaviti jednu labelu i 4 dugmeta. Labelu ostaviti praznu, a natpise dugmića postaviti redom:Levo, Centrirano, Desno, Kraj.Dugmiće programirati na sledeći način:Label1.Alignment := taLeftJustify;Label1.Alignment := taRightJustify;Label1.Alignment := taCenter;Kada se pokrene aplikacija, u labelu uneti proizvoljan tekst i primeniti opcije dugmića.

Zadatak 6. KalkulatorKreirati aplikaciju koja obavlja funkcije kalkulatora.

Programirati svako dugme posebno. Programski kod za sabiranje:procedure TForm1.Button1Click(Sender: TObject);var pBr, dBr, rez : integer;begin pBr := StrToInt(Edit1.text); dBr := StrToInt(Edit2.text); rez := pBr + dBr; Edit3.Text:=IntToStr(rez) end;Ostali dugmići se programiraju analogno, s tim da se za deljenje može koristiti operacija DIV ili, ukoliko se koristi operacija /, potrebno je koristiti funkcije StrToFloat i FloatToStr.Dugmićima osobinu ShowHint postaviti na TRUE i u osobine Hint napisati odgovarajući tekst: sabiranje, oduzimanje, množenje, deljenje.

Zadatak 7.Napisati aplikaciju koja učitava katete pravouglog trougla a i b i izračunava i prikazuje hipotenuzu c, oba oštra ugla i njegovu površinu.

Edit polja nazvati redom: katetaA, katetaB, hipotenuzaC, povrsinaP, ugaoAlfa, ugaoBeta. Programski kod za dugme Izračunaj:procedure TForm1.Button1Click(Sender: TObject);

2

Page 3: Zadatak 1. - vukicagrbic.files.wordpress.com · Web viewZadatak 1. Kreirati aplikaciju u kojoj će se menjati boja obrasca kao odgovor na tri događaja: pokretanje aplikacije (FormCreate)klik

Lazarus – задаци за вежбање 2018

const Pi = 3.141592;var a,b,c,P,alfa,beta : real;begina := StrToFloat(katetaA.Text);b := StrToFloat(katetaB.Text);c := sqrt(sqr(a) + sqr(b));P := a*b/2;alfa := arctan(a/b)*180/Pi;beta := arctan(b/a)*180/Pi;hipotenuzaC.text := FloatTostr(c);povrsinaP.text := FloatTostr(P);ugaoAlfa.text := FloatTostr(alfa);ugaoBeta.text := FloatTostr(beta);end;

Zadatak 8.Napisati aplikaciju koja računa površinu i zapreminu pravilne četvorostrane piramide, ako su joj poznate osnovna ivica a i bočna ivica s.

Edit polja nazvati redom: osnovna, bocna, povrsina, zapremina. Programski kod za dugme Pokreni:procedure TForm1.Button1Click(Sender: TObject);vara,s,d,h,ha,baza,v,m,p: real;begina := StrToFloat(osnovna.text);s := StrToFloat(bocna.text);d := a*sqrt(2);h := sqrt(sqr(s)-sqr(d/2));ha := sqrt(sqr(s)-sqr(a/2));baza := sqr(a);v := baza*h/3;m := 2*a*ha;p := baza + m;povrsina.text := FloatToStr(p); zapremina.text := FloatToStr(v);end;

ili

procedure TForm1.Button1Click(Sender: TObject);var a,s,p,v:real;begin a:=StrToFloat(osnovna.text); s:=StrToFloat(bocna.text);

3

Page 4: Zadatak 1. - vukicagrbic.files.wordpress.com · Web viewZadatak 1. Kreirati aplikaciju u kojoj će se menjati boja obrasca kao odgovor na tri događaja: pokretanje aplikacije (FormCreate)klik

Lazarus – задаци за вежбање 2018

p:=sqr(a) + 2*a*sqrt(sqr(s)-sqr(a/2)); v:=sqr(a)*sqrt(sqr(s)-sqr(a)/2)/3; povrsina.text:=FloatToStr(p); zapremina.Text:=FloatToStr(v);end;

Zadatak 9. Ispisati najmanji od 3 uneta cela broja.

Ubaciti još jednu labelu (Label4) i izbrisati joj Caption. U njoj će biti ispisan najmanji uneti broj. Programski kod za dugme Izracunaj:procedure TForm1.Button1Click(Sender: TObject);var a,b,c,min: integer;begin a:=StrToInt(edit1.text); b:=StrToInt(edit2.text); c:=StrToInt(edit3.text); min:=a; if b<min then min:=b; if c<min then min:=c; Label4.Caption:='Najmanji broj je '+IntToStr(min);end;

Zadatak 10. Rešiti kvadratnu jednačinu ax2 + bx +c =0 na sledeći način:D<0 -> Nema realnih rešenja;D=0 -> Ima dva jednaka realna rešenja x=-b/(2*a);D>0 -> Ima dva različita realna rešenja x1=(-b+sqrt(D)/(2*a)) i x2=(-b-sqrt(D)/(2*a)).

Programski kod za dugme Izracunaj:procedure TForm1.Button1Click(Sender: TObject);var a,b,c,D,x,x1,x2:real;begina:= StrToFloat(Edit1.text);b:= StrToFloat(Edit2.text);c:= StrToFloat(Edit3.text);D:=b*b-4*a*c;if D<0 then ShowMessage('Nema realnih resenja')else if D=0 then

4

Page 5: Zadatak 1. - vukicagrbic.files.wordpress.com · Web viewZadatak 1. Kreirati aplikaciju u kojoj će se menjati boja obrasca kao odgovor na tri događaja: pokretanje aplikacije (FormCreate)klik

Lazarus – задаци за вежбање 2018

begin x:=-b/(2*a); ShowMessage('Ima dva jednaka resenja koja iznose ' + FloatToStr(x)) end else begin x1:=(-b+sqrt(D))/(2*a); x2:=(-b-sqrt(D))/(2*a); ShowMessage('x1=' + FloatToStr(x1) + #13+ 'x2=' + FloatToStr(x2)); end;

end;

Zadatak 11. CheckBoxNa obrazac postaviti 7 CheckBox-ova, za svaki dan u sedmici po jedan, pod nazivima: Prvi dan, Drugi dan,... Sedmi dan. Postaviti i labele kao sto je prikazano na donjoj slici. Kada se klikne na CheckBox čiji je naziv Prvi dan, u istom redu treba da se pojavi naziv prvog dana u sedmici (Ponedeljak) i tip dana: radni ili neradni. Kada se CheckBox isključi, naziv i tip dana treba da nestanu.Analogno programirati i za ostale dane u sedmici.

Na početku, aplikacija može ovako izgledati:

Programski kod za Prvi dan:

procedure TForm1.CheckBox1Click(Sender: TObject);beginif CheckBox1. checked then begin Label3.caption:='Ponedeljak'; Label10.caption:='radni'; endelse begin Label3.caption:=''; Label10.caption:=''; endend;

Programirati svaki CheckBox ponaosob.

Da biste znali koja je koja labela, dok ne dovršite pogramiranje ostavite nazive (Caption) labela nepromenjene. Kada aplikacija bude kreirana, izbrišite sve nazive labelama od 3 do 16.

Primer izvršenog programa:

5

Page 6: Zadatak 1. - vukicagrbic.files.wordpress.com · Web viewZadatak 1. Kreirati aplikaciju u kojoj će se menjati boja obrasca kao odgovor na tri događaja: pokretanje aplikacije (FormCreate)klik

Lazarus – задаци за вежбање 2018

Zadatak 12. RadioButtonKreirati aplikaciju koja će na formi imati 5 radio dugmića i ostale komponente kao na slici:

Programski kod za RadioButton trougao:

procedure TForm1.trougaoClick(Sender: TObject);beginif trougao.Checked then begin obim.Text:='a+b+c'; povrsina.text:='a*h/2' end;end;

RadioButton komponente nazvati redom: trougao, kvadrat, pravougaonik, romb, trapez (osobina Name).Edit1 polje nazvati obim, a Edit2 povrsina (osobina Name).

Primer izvršenog programa:

Ostale formule:

Kvadrat: O = 4*a, P= a*aPravougaonik: O = 2*a+2*b, P= a*bRomb: O = 4*a, P= d1*d2/2Trapez: O = a+b+c+d, P= (a+b)/2*h.

Zadatak 13.Napisati aplikaciju koja računa ukupni otpor na osnovu zadatih vrednosti u Edit komponentama.Načini vezivanja mogu biti:Redni: R1 + R2Paralelni: 1 / (1/R1 + 1/R2)

6

Page 7: Zadatak 1. - vukicagrbic.files.wordpress.com · Web viewZadatak 1. Kreirati aplikaciju u kojoj će se menjati boja obrasca kao odgovor na tri događaja: pokretanje aplikacije (FormCreate)klik

Lazarus – задаци за вежбање 2018

Programski kod za dugme Racunaj:

procedure TForm1.RacunajClick(Sender: TObject);var R1, R2, R: real;begin R1 := StrToFloat(otporR1.text); R2 := StrToFloat(otporR2.text); if redno.checked then R:= R1 + R2; if paralelno.checked then R:= 1/(1/R1 + 1/R2); otporR.text := FloatToStr(R); end;

Edit polja nazvati redom: otporR1, otporR2, otporR.Radio dugmiće nazvati: Redno i Paralelno. Dugme nazvati Racunaj.

Zadatak 14. RadioGroup

Postaviti na obrazac jedan RadioGroup i popuniti mu sadržaj raznim muzičkim pravcima: Rock, Pop, Jazz... Kada se odabere određena stavka u RadioGroup, u labeli ispisati odabrani pravac, a u edit polju nešto što korisnika na to asocira (recimo, kod rok muzike napisati Billy Idol).Programirati pomoću naredbe CASE:

procedure TForm1.RadioGroup1Click(Sender: TObject);begincase RadioGroup1.ItemIndex of0: begin label1.Caption:='Rock'; edit1.Text:='Billy Idol' end;1: begin label1.Caption:='Pop'; edit1.Text:='Madonna' end;end;end;Analogno dovršiti programiranje i za ostale muzičke pravce.Program bi mogao da izgleda ovako:

7

Page 8: Zadatak 1. - vukicagrbic.files.wordpress.com · Web viewZadatak 1. Kreirati aplikaciju u kojoj će se menjati boja obrasca kao odgovor na tri događaja: pokretanje aplikacije (FormCreate)klik

Lazarus – задаци за вежбање 2018

Zadatak 15. ListBoxSlično kao RadioGroup,

Zadatak 16. ComboBoxU ComboBox napisati sledeći sadržaj: Muzika, Film, Književnost, Sport, Destinacija, Dokolica. Odabirom neke od oblasti, u labeli ispisati svoju omiljenu muziku, film itd. Primer izgleda aplikacije:

Programirati na sledeći način:procedure TForm1.ComboBox1Change(Sender: TObject);begincase ComboBox1.ItemIndex of0: label1.caption:= 'Rock' + #13 + 'Billy Idol';1: label1.caption:= 'Venders' + #13 + 'Lisabonska prica';2: label1.caption:= 'Markes' + #13 + 'Ljubav u doba kolere';end;end;

Ostale stavke se programiraju analogno.Znak #13 govori o tome da će tekst koji sledi biti prebačen u novi red.

Zadatak 17. GroupBoxKreirati aplikaciju:

8

Page 9: Zadatak 1. - vukicagrbic.files.wordpress.com · Web viewZadatak 1. Kreirati aplikaciju u kojoj će se menjati boja obrasca kao odgovor na tri događaja: pokretanje aplikacije (FormCreate)klik

Lazarus – задаци за вежбање 2018

First object je GroupBox i u njemu se nalaze RadioButtons. Position i Second object su RadioGroup.

Odabirom po jedne stavke iz svakog odeljka, ispisuje se rečenica u labeli ispod. Programski kod za dugme ChangeText:procedure TForm1.Button1Click(Sender: TObject);var i:integer; phrase:string;begin for i:=0 to GroupBox1.ControlCount-1 do if (GroupBox1.Controls[i] as TRadioButton).Checked then phrase:=(GroupBox1.Controls[i] as TRadioButton).Caption; phrase:= phrase + ' ' + RadioGroup1.Items[RadioGroup1.ItemIndex] + ' ' + RadioGroup2.Items[RadioGroup2.ItemIndex]; label1.Caption:=phrase;end;

Zadatak 18.

Kreirati aplikaciju:

9

Page 10: Zadatak 1. - vukicagrbic.files.wordpress.com · Web viewZadatak 1. Kreirati aplikaciju u kojoj će se menjati boja obrasca kao odgovor na tri događaja: pokretanje aplikacije (FormCreate)klik

Lazarus – задаци за вежбање 2018

Na obrascu sa desne strane postavljen je Panel, na kom je stavljen RadioGroup1 (čiji je Caption Boja panela), zatim jedan ScrollBar i RadioGroup2 (čiji je Caption Poravnavanje panela). Osobina panela Align je na početku postavljena na alRight, a osobina Visible na False, što panel čini nevidljivim u momentu kada se pokrene aplikacija. CheckBox Podešavanja omogućava prikazivanje i sakrivanje panela. Kada se unese visina u centimetrima u prvo edit polje, korisnik iz ComboBox-a bira pol (žena/muškarac) i potom se idealna težina upisuje u drugo edit polje. Visina se izračuvana po obrascu:Za žene: visina – 110;Za muškarce: visina – 100.Ceo programski kod zadatka:procedure TForm1.CheckBox1Click(Sender: TObject); begin

panel1.visible:=CheckBox1.Checked; end;

procedure TForm1.RadioGroup1Click(Sender: TObject); begin

case RadioGroup1.ItemIndex of 0:form1.Color:=clbtnface; 1:form1.Color:=clblue; 2:form1.Color:=clyellow; end;

end; procedure TForm1.RadioGroup2Click(Sender: TObject); begin

case RadioGroup2.ItemIndex of 0:panel1.Align:=alleft; 1:panel1.Align:=alright; end;

end;

procedure TForm1.ComboBox1Change(Sender: TObject); begin if edit1.Text<>'0' then

if ComboBox1.ItemIndex=0 then Edit2.Text:= inttostr(strtoint(edit1.text) - 100)

else Edit2.Text:= inttostr(strtoint(edit1.text) - 110) ; end;

procedure TForm1.ScrollBar1Change(Sender: TObject); begin

Edit1.Font.Size:=ScrollBar1.Position; ComboBox1.Font.Size:=ScrollBar1.Position;Edit2.Font.Size:=ScrollBar1.Position; label4.Caption:= 'Velicina slova: '+ inttostr(ScrollBar1.Position);

end;

Zadatak 19. GroupBox Kreirati aplikaciju koja, na osnovu podataka o učeniku i o njegovim ocenama, izračunava njegov prosek, ukoliko su podaci tačno uneti. U suprotnom ispisuje poruku o grešci.Postavljena su 2 GroupBox-a: Podaci o učeniku i Ocene u koja su postavljene labele, jedan CheckBox i edit polja kao na slici:

10

Page 11: Zadatak 1. - vukicagrbic.files.wordpress.com · Web viewZadatak 1. Kreirati aplikaciju u kojoj će se menjati boja obrasca kao odgovor na tri događaja: pokretanje aplikacije (FormCreate)klik

Lazarus – задаци за вежбање 2018

Edit polja za Ime, Prezime i Grad nazvana su redom (osobina Name): ime, prezime, grad. CheckBox je nazvan Uspeh. Edit polja u koja se unose ocene nazvana su rednim brojevima od prvi do cetrnaesti.

Postavljena je još jedna labela (label18) čiji je caption u početku prazan, a u koju se kasnije ispisuje prosek učenika.Programski kod dugmeta Izračunaj:procedure TForm1.Button1Click(Sender: TObject);var a,b,i,j: integer; c:real; s:string;begin i:=0; b:=0; if length(ime.text)>1 then inc(i); if length(prezime.text)>1 then inc(i); if length(grad.text)>1 then inc(i); val(prvi.Text,a,j); if (j=0) and ((a>1) and (a<6)) then begin b:=b+a;inc(i) end; val(drugi.Text,a,j); if (j=0) and ((a>1) and (a<6)) then begin b:=b+a;inc(i) end; val(treci.Text,a,j); if (j=0) and ((a>1) and (a<6)) then begin b:=b+a;inc(i) end; val(cetvrti.Text,a,j); if (j=0) and ((a>1) and (a<6)) then begin b:=b+a;inc(i) end; val(peti.Text,a,j); if (j=0) and ((a>1) and (a<6)) then begin b:=b+a;inc(i) end; val(sesti.Text,a,j); if (j=0) and ((a>1) and (a<6)) then begin b:=b+a;inc(i) end; val(sedmi.Text,a,j); if (j=0) and ((a>1) and (a<6)) then begin b:=b+a;inc(i) end; val(osmi.Text,a,j); if (j=0) and ((a>1) and (a<6)) then begin b:=b+a;inc(i) end; val(deveti.Text,a,j); if (j=0) and ((a>1) and (a<6)) then begin b:=b+a;inc(i) end;

11

Page 12: Zadatak 1. - vukicagrbic.files.wordpress.com · Web viewZadatak 1. Kreirati aplikaciju u kojoj će se menjati boja obrasca kao odgovor na tri događaja: pokretanje aplikacije (FormCreate)klik

Lazarus – задаци за вежбање 2018

val(deseti.Text,a,j); if (j=0) and ((a>1) and (a<6)) then begin b:=b+a;inc(i) end; val(jedanaesti.Text,a,j); if (j=0) and ((a>1) and (a<6)) then begin b:=b+a;inc(i) end; val(dvanaesti.Text,a,j); if (j=0) and ((a>1) and (a<6)) then begin b:=b+a;inc(i) end; val(trinaesti.Text,a,j); if (j=0) and ((a>1) and (a<6)) then begin b:=b+a;inc(i) end; val(cetrnaesti.Text,a,j); if (j=0) and ((a>1) and (a<6)) then begin b:=b+a;inc(i) end; c:=b/(i-3); Str(c:5:2,s); if (i=17) and (uspeh.checked) then label18.Caption:='Srednja ocena ucenika je ' + s else label18.Caption:='Pogresno uneti podaci!'end;

Zadatak 20. Memo

Kreirati aplikaciju koja omogućava određivanje stila (bold i/ili italic) i fonta (Times New Roman, Arial ili Courier) teksta u komponenti Memo.

Na obrazac postaviti Memo komponentu i otkucati sadržaj u osobini Lines. Takođe postaviti 2 labele, 2 CheckBox-a i 3 radio dugmića. Imena (Name) CheckBox-ova i radio dugmića su identična kao njihovi nazivi (Caption).

Izgled aplikacije:

Programski kod za CheckBox bold:procedure TForm1.boldClick(Sender: TObject);beginif bold.Checked then memo1.Font.style:=memo1.Font.style + [fsbold]else memo1.Font.style:=memo1.Font.style - [fsbold]end;

Analogno programirati i CheckBox italic.

Programski kod za RadioButton Arial:procedure TForm1.ArialClick(Sender: TObject);beginif Arial.checked then memo1.Font.name:='Arial'end;

Analogno programirati i RadioButton TimesNewRoman i Courier.

12

Page 13: Zadatak 1. - vukicagrbic.files.wordpress.com · Web viewZadatak 1. Kreirati aplikaciju u kojoj će se menjati boja obrasca kao odgovor na tri događaja: pokretanje aplikacije (FormCreate)klik

Lazarus – задаци за вежбање 2018

Na obrazac dodati još jedno dugme Pronađi i edit polje u koje će se upisati tekst koji želimo da obeležimo. Klikom na dugme Pronađi u tekstu će se obeležiti prvo pojavljivanje stringa koji je zadat u edit polju.

Svojstvo Memo komponente Hide Selection postaviti na false.

Kod dugmeta Pronađi:procedure TForm1.pronadjiClick(Sender: TObject);var k:integer;begin k:=Pos(edit1.Text,memo1.text); if k>0 then begin memo1.SelStart:=k-1; memo1.SelLength:=Length(edit1.text); end else ShowMessage('Takav tekst ne postoji!')end;

Dodati na obrazac i dugme Zameni i edit polje u kom će se uneti tekst kojim želimo da zamenimo tekst iz prvog edit polja. Dakle, sada aplikacija izgleda ovako:

Dugme Zameni isprogramirati tako da kada kliknemo na njega izvrši se prepravka Memo teksta na taj način da se string iz prve edit komponente zameni stringom navedenim u drugoj edit komponenti.Programski kod dugmeta Zameni:procedure TForm1.zameniClick(Sender: TObject);var k:integer; s:string;begin s:=memo1.Text; k:=Pos(edit1.Text,s); while k>0 do begin Delete(s,k,Length(edit1.text)); Insert(edit2.Text,s,k); k:=Pos(edit1.Text,s);

13

Page 14: Zadatak 1. - vukicagrbic.files.wordpress.com · Web viewZadatak 1. Kreirati aplikaciju u kojoj će se menjati boja obrasca kao odgovor na tri događaja: pokretanje aplikacije (FormCreate)klik

Lazarus – задаци за вежбање 2018

end; memo1.Text:=s;end;Proširiti obrazac sa još 3 dugmeta, za levo, desno i centrirano poravnanje. Kod dugmeta Levo:procedure TForm1.levoClick(Sender: TObject);begin memo1.Alignment:=taLeftJustify;end;Desno i Sredina programirati analogno (Desno: taRightJustify, Sredina: taCenter). Dodati još 2 dugmeta za odabir boje fonta i pozadine. Da bi to bilo omogućeno, na obrazac postaviti komponentu ColorDialog iz palete Dialogs. Konačni izgled aplikacije:

Kod dugmeta Font:procedure TForm1.fontClick(Sender: TObject);begin colorDialog1.Color:=Memo1.Font.color; if ColorDialog1.Execute then memo1.Font.Color:=colorDialog1.Color;end;Dugme za promenu boje pozadine (Pozadina) se programira na sličan način, samo se svugde izostavlja reč font.

Zadatak 21. StringGrid zvezdiceKreirati aplikaciju koja ispisuje zvezdice u svim poljima tabele.Na obrazac postaviti komponentu StringGrid, koja se nalazi na kartici Additional i jedno dugme sa natpisom Ispisi zvezdice.Broj kolona i redova proizvoljno odrediti.Klikom na dugme, tabela dobija sledeći izgled:

Programski kod dugmeta Ispisi zvezdice:

14

Page 15: Zadatak 1. - vukicagrbic.files.wordpress.com · Web viewZadatak 1. Kreirati aplikaciju u kojoj će se menjati boja obrasca kao odgovor na tri događaja: pokretanje aplikacije (FormCreate)klik

Lazarus – задаци за вежбање 2018

procedure TForm1. IspisiZvezdiceClick(Sender: TObject);var i,j:integer;beginfor i:=0 to StringGrid1.ColCount-1 do for j:=0 to StringGrid1.RowCount-1 do StringGrid1.cells[i,j]:='*'end;

Zadatak 22. StringGrid uređeni paroviKreirati aplikaciju koja ispisuje uređene parove kolone i vrste ćelije u svim poljima tabele. Na obrazac postaviti komponentu StringGrid i jedno dugme sa natpisom Ispisi. Klikom na dugme, tabela dobija sledeći izgled:

Programski kod dugmeta Ispisi:procedure TForm1.IspisiClick(Sender: TObject);var i,j,c,r:integer;begin c:=StringGrid1.ColCount; r:=StringGrid1.RowCount; for i:=0 to c-1 do for j:=0 to r-1 do StringGrid1.Cells[i,j]:='(' + IntToStr(i) + ',' + IntToStr(j) + ')';end;

Zadatak 23. StringGrid tablica množenjaKreirati aplikaciju koja ispisuje tablicu množenja 10x10. Na obrazac postaviti komponentu StringGrid i osobine ColCount i RowCount postaviti na 11. Dodati i jedno dugme sa natpisom Ispisi. Klikom na dugme, tabela dobija sledeći izgled:

15

Page 16: Zadatak 1. - vukicagrbic.files.wordpress.com · Web viewZadatak 1. Kreirati aplikaciju u kojoj će se menjati boja obrasca kao odgovor na tri događaja: pokretanje aplikacije (FormCreate)klik

Lazarus – задаци за вежбање 2018

Programski kod dugmeta Ispisi:procedure TForm1.IspisiClick(Sender: TObject);var i,j:integer;begin StringGrid1.cells[0,0]:='x'; for i:=1 to 10 do StringGrid1.Cells[i,0]:=IntToStr(i); for i:=1 to 10 do StringGrid1.Cells[0,i]:=IntToStr(i); for i:=1 to 10 do for j:=1 to 10 do StringGrid1.Cells[i,j]:=IntToStr(i*j);end;

Zadatak 24. StringGrid DijagonalaKreirati aplikaciju koja na glavnoj dijagonali tabele ispisuje zvezdice, ispod glavne dijagonale ispisuje razliku vrste i kolone, a iznad ispisuje njihov zbir. Pored StringGrid komponente, na obrazac dodati još 2 dugmeta i 2 labele: Jednu za unošenje broja kolona, a drugu za unošenje broja redova. Dodati 2 dugmeta: Formatiraj i Ispisi. Klikom na dugme Formatiraj, u fiksiranoj koloni i fiksiranom redu prikazuju se redni brojevi kolona i redova. Pre aktiviranja dugmića, neophodno je uneti željeni broj kolona i redova.Izgled aplikacije nakon klika na dugme Formatiraj:

Programski kod dugmeta Formatiraj:procedure TForm1.FormatirajClick(Sender: TObject);var i,j:integer;beginStringGrid1.ColCount:=StrToInt(edit1.text)+1;StringGrid1.RowCount:=StrToInt(edit2.text)+1;for i:=0 to StringGrid1.ColCount-1 do StringGrid1.Cells[i,0]:=IntToStr(i);for j:=0 to StringGrid1.RowCount-1 do StringGrid1.Cells[0,j]:=IntToStr(j);end;Klikom na dugme Ispisi, tabela dobija sledeći izgled:

16

Page 17: Zadatak 1. - vukicagrbic.files.wordpress.com · Web viewZadatak 1. Kreirati aplikaciju u kojoj će se menjati boja obrasca kao odgovor na tri događaja: pokretanje aplikacije (FormCreate)klik

Lazarus – задаци за вежбање 2018

Programski kod dugmeta Ispisi:procedure TForm1.IspisiClick(Sender: TObject);var i,j:integer;beginStringGrid1.ColCount:=StrToInt(edit1.text)+1;StringGrid1.RowCount:=StrToInt(edit2.text)+1;for i:=1 to StringGrid1.ColCount-1 do for j:=1 to StringGrid1.RowCount-1 do if i=j then StringGrid1.Cells[i,j]:='*' else if j>i then StringGrid1.Cells[i,j]:=IntToStr(j-i) else StringGrid1.Cells[i,j]:=IntToStr(j+i)end;

Zadatak 25. StringGrid Top u šahuKreirati aplikaciju koja će simulira šahovsku tablu, doduše, željenih dimenzija. Klikom na dugme Napadni, zvezdicama će se obeležiti ona polja koja bi bila napadnuta ukoliko bi se figura Top našla na zadatim koordinatama. Početni izgled aplikacije:

17

Page 18: Zadatak 1. - vukicagrbic.files.wordpress.com · Web viewZadatak 1. Kreirati aplikaciju u kojoj će se menjati boja obrasca kao odgovor na tri događaja: pokretanje aplikacije (FormCreate)klik

Lazarus – задаци за вежбање 2018

Pre aktiviranja dugmića, neophodno je uneti željeni broj kolona i redova, kao i koordinate figure Top.Dugme Formatiraj ima istu ulogu i isti programski kod kao u prethodnom zadatku.Edit polja za koordainate Top-a nazvati redom TopKolona i TopVrsta.Programski kod dugmeta Napadni:procedure TForm1.NapadniClick(Sender: TObject);var i,j,col,row:integer;begin col:=StrToInt(TopKolona.text); row:=StrToInt(TopVrsta.text); for i:=1 to StringGrid1.ColCount-1 do for j:=1 to StringGrid1.RowCount-1 do if (col=i) or (row=j) then StringGrid1.Cells[i,j]:='*'end;Primer izgleda izvršene aplikacije nakon pravilnog unošenja podataka i klika na oba dugmeta:

18