Monthly Archives: January 2016

Pascal: Loo(m)povanje

Petlje ili lupovi su strukture u programiranju koje nam omogucavaju da delove koda ponavljamo vise puta na kontrolisan nacin. U Pascalu, slicno kao i u drugim programskim jezicima, postoji tri tipa petlji. To su Reapeat/Until, Do/While i For petlja. U koliko se unutar petlje nalazi vise komandi, one se nalaze u begin/end bloku, slicno kao kod If/then. Pogledajmo sada svaku od njih:

1) Do/While:

program DoWhile;
var
a:integer;

begin
a := 1;
while a <= 10 do
begin
writeln('Vrednost a je ',a);
a := a+1
end;
readln;
end.

2) Reapeat/Until:

program RepeatUntil;
var
a:integer;

begin
a := 1;
repeat
writeln('Vrednost a je ',a);
a := a+1;
until a = 11;
readln;
end.

3) For petlja:

program ForPetlja;
var
a:integer;

begin
for a := 1 to 10 do
begin
writeln('Vrednost a je ',a);
end;
readln;
end.

Ovde su data tri vrlo jednostavna primera, tako da mozete lako videti razliku u pristupima. Takodje ih mozete koristiti kao modele za svoje petlje. Sva tri programa jednostavno broje od 1 do 10 i ispisuju vrednost na ekranu. Obratite paznju na 2) primer u kome smo brojac postavili do 11. Ovo je zato sto kod Reapeat/Until, brojanje pocinje nakon izvrsenja prvog ciklusa. Samim tim, morali smo dodati jos jedan ciklus da bi bio ispisan i broj 10. Inace bi samo izasli iz petlje na broju 9, pa se 10ti krug ne bi ni izvrsio.

Vise o petljama u Pascalu mozete videti ovde.

Sat-Alarm v2.0

Ovo je unapredjena verzija programa Sat-Alarm v1.1 koga sam predstavio ovde.

U ovoj verziji sam dodao opciju da se menjaju teme i da se pamte izmene vremena alarma i tema. Za sada postoje samo dve teme, osnovna, ciji autor Dile i tema Tron koju sam ja napravio.
Teme i vreme alarma se pamte u fajlu sat-alarm.ini.
Izmene u sat-alarm.ini se automatski upisuju prilikom izlaska iz programa, klikom na x.
Program se razvija u Lazarusu.

Izvorni kod i iskompajliran program za Linux mozete preuzeti na Download strani.

Sat-Alarm v2.0
Namena programa: Sat sa alarmom
Autori: Dile i SkYNeT
Licenca: GNU GPL v3

Osnovna tema
osmovna tema

tema Tron
tema tron

Podesavanje alarma
Screenshot Sat-Alarm podesavanja

Da bi prikaz brojeva na satu bio korektan, morate instalirati oba fonta iz direktorijuma Fontovi.

To mozete uraditi uz pomoc prilozene skripte fontinstaler.sh.
Skripta kopira fontove u ~/.fonts, tako da ce fontovi biti dostupni samo lokalno, trenutno logovanom korisniku.
Kada skripta iskopira fontove tamo gde treba, probajte program, ako kojim slucajem opet imate problem sa prikazom, onda rucno instalirajte fontove iz direktorijuma Fontovi.

Kako instalirati fontove u Linuxu?

Kopirajte fajlove BPdotsVertical.otf i Digital Dismay.otf
u /usr/share/fonts da bi bili dostupni svim korisnickim nalozima (trebace Vam sudo sifra).

ili

Kopirajte fajlove BPdotsVertical.otf i Digital Dismay.otf
u ~/.fonts da bi bili dostupni lokalno, samo pojedinacnom korisnickom nalogu.

ili dvoklikom na fajlove BPdotsVertical.otf i Digital Dismay.otf pa install.
Ako ne otvara fajlove, desni klik na fajlove BPdotsVertical.otf i Digital Dismay.otf pa potrazite u listi Font Viwer.

Windows verzija:
Fontove mozete instalirati pokretanjem odgovarajuce skripte za Vasu verziju Windowsa.
Skripte su testirane na Windows XP i Windows 7.
Na drugim verzijama Windows-a, nisam probao skripte.
Skrita FontInstallerWin7.vbs instalira fontove u Windows 7.
Skrita FontInstallerWinXP.vbs instalira fontove u Windows XP.

Prikaz fontova u programu bi trebalo da bude korektan odmah posle izvrsenja skripte.

Ako prikaz fontova u programu, ni posle restarta nije odgovarajuci, fontove mozete instalirati rucno, na uobicajen nacin.

Kliknite na START (ili Windows dugme u donjem levom uglu ekrana)
Kliknite na Control Panel
Otvorite Fonts (ako je ne vidite prebacite pregled sa Category na Icons view)
Prevucite obe ikone fonta u Fonts.

Sat-Alarm v1.1

Ovaj put cu da Vam predstavim program Sat-Alarm.
Program je pod GNU GPL v3 licencom. Razvija se u Lazarusu. Autori programa smo Dile i ja. Da, u programu sam se drugacije potpisao. :)
Mozete preuzeti iskompajlirani fajl za Linux 32Bit. Takodje, mozete preuzeti i izvorni kod, pa ga, tada mozete sami menjati i kompajlirati za Vas operativni sistem, ako na primer koristite Windows ili Mac. Kada ga preuzmete, potrebno je da ga raspakujete negde na hard disk. Pre nego sto pocnete da ga koristite, treba da instalirate prilozene fontove. To mozete uraditi uz pomoc skripte fontinstaler.sh ili rucno u slucaju da na Vasoj Linux distribuciji kojim slucajem skripta ne radi kako treba. Za ostale operativne sisteme morate rucno instalirati fontove. Zatim pokrenite program, dvoklikom na Sat-Alarm.

Ovo je glavni prozor programa koji prikazuje trenutno vreme, datum i vreme alarma.
Screenshot Sat-Alarm
Klikom na dugme Podesi alarm otvarate prozor za podesavanje alarma.
Klikom na kvadratic Aktiviraj alarm, aktivirate ili deaktivirate alarm, Ako je kvadratic cekiran, onda je alarm aktivan i obrnuto. Kao dodatna indikacija, sluzi i prikaz vremena alarma, ako je crven, alarm je aktivan, ako je siv, alarm nije aktivan.
Klikom na dugme O programu, otvorice se prozor sa informacijama o verziji i autorima.

Ovo je prozor za podesavanje alarma:
Screenshot Sat-Alarm podesavanja
Podesite zeljeno vreme alarma, zatim kliknite na Potvrdi i aktiviraj vreme alarma.
Ako ne zelite da menjate nista, samo kliknite na Odustani od izmena.

Sat-Alarm v1.1
Namena programa: Sat sa alarmom
Autori: Dile i SkYNeT
Licenca: GNU GPL v3

Program mozete preuzeti na Download strani.

Lazarus tutorijal 10 – Tok programa i CheckBox

U ovoj epizodi pricam o kontroli toka programa uz pomoc If, Then, Else i prikazujem primer kosriscenja CheckBox-a.

Blender tutorijal 08 – Odgovor na pitanje gledaoca

U ovoj epizodi odgovaram na pitanje gledaoca.

Lazarus tutorijal 09 – dve forme i dva unita

U ovoj epizodi govorim o tome kako otvoriti novu formu i kako prosledjivati vrednosti varijabli iz jedne forme u drugu.

Pascal: Tok programa

Slicno kao i u drugim jezicima, tok programa se u Pascalu najcesce kontrolise pomocu if / then strukture. U koliko se nakon then nalazi vise komandi, otvara se novi begin / end blok. Takodje, kada imamo dve opcije, moguce je koristiti if-then-else strukturu. U praksi to izgleda ovako..

program BojaTok;
uses crt;
var ime:string; bla:char;
label strt; //label za goto

begin
write('Unesite ime: ');
readln(ime);
strt:
clrscr;
write('Izaberite boju: ');
writeln('1 za Crvenu, 2 za Plavu');
bla := readkey; //taster u bla
if bla = '1' then begin
clrscr;
TextColor(Red);
writeln('Zdravo ',ime);
end else
if bla = '2' then begin
clrscr;
TextColor(Blue);
writeln('Zdravo ',ime);
end else begin
clrscr;
writeln('Ne znam tu boju');
delay(2000); //ceka 2 sekunde
goto strt; //ide na strt ako nije ni 1 ni 2
end;
readln;
end.

Ovde smo najpre definisali varijable, unit i label. Zatim smo pitali za ime a onda i za izbor boje pozdravne poruke. U zavisnosti od izbora korisnika, pozdravna poruke ce biti ispisana u crvenoj ili plavoj boji. U koliko korisnik pritisne neki nepredvidjeni taster, bice ponovo vracen na izbor.

Takodje smo koristili novi element tzv. label. On sluzi da se obelezi mesto u programu na koje se kasnije mozemo vracati pomocu goto komande. Obzirom da nova generacija programera smatra goto losom praxom, ova komanda je po defaultu iskljucena kod nekih kompajlera. U koliko vam kompajler prijavi gresku, jednostavno dodajte ispod imena progama (drugi red) instrukciju {$GOTO ON}.

Vise o if/then strukturi procitajte ovde.

Lazarus tutorijal 08 – Odgovori na pitanja

U ovoj epizodi odgovaram na pitanja.

Lazarus tutorijal 07 – Tacka zapeta

Lazarus tutorijal 06 – TTimer

U ovom tutorijalu predstavljam komponentu TTImer. To je tajmer koji je koristan u mnogim programima, na primer za pravljenje sata. U ovom primeru pravim jednostavan sat uz pomoc TTimer.

%d bloggers like this: