Странице

четвртак, 26. новембар 2015.

CheckBox Delphi


CheckBox je komponenta u Delphi-ju , pripada standardnim komponentama kreira se kao i sve ostale komponente u delphiju dvoklikom na CheckBox opciju u ToolBox meniju. Sluzi za selektovanje jedne ili vise opcija sa neke liste opcija koju mi kreiramo. Programiramo je u kombinaciji sa IF/ELSE naredbom uglavnom se koristi kombinacija ako je cekiran da se nesto izvrsi u suprtonom neka druga operacija, mada su moguce i ostale kombinacije. Uzecemo za primer jedan prost zadatak koji glasi ovako.
Zadatak: Napravimo program u kojem cemo imati sest CheckBox-ova, jednu Label komponentu , jedno Edit polje i jedno dugme, koji ce nam pruziti mogucnost da biramo od kojih vrsta cveca ce se sastojati buket koji zelimo pokloniti dragoj osobi.

Prvo uzimamo komponente i redjamo ih na praznu povrsinu Form-a, zatim dvoklikom na dugme koje smo postavili otvaramo code edit gde ukucavamo kod kojim cemo za svaki cekiran CheckBox ispisati njegovu neku vrednost u edit polje , u slucaju da ne cekiramo nista edit polje ce ostati prazno.

Kod bi izgledao ovako:

procedure TForm1.Button1Click(Sender: TObject);


begin
   if (box.Checked) or (CheckBox1.Checked) or (CheckBox2.Checked) or
   (CheckBox3.Checked) or (CheckBox4.Checked)  or (CheckBox5.Checked) then  begin
   edit1.text:='Buket ce sadrzati: ' + ' ' ;
   if box.Checked then   edit1.text:= edit1.text + 'Ruze' + ',' ;
   if CheckBox1.Checked then     edit1.text:= edit1.text + 'Ohrideje' + ',' ;
    if CheckBox2.Checked then     edit1.text:= edit1.text + 'Ljiljane' + ',' ;
   if CheckBox3.Checked then     edit1.text:= edit1.text + 'Narcise' + ',' ;
   if CheckBox4.Checked then     edit1.text:= edit1.text + 'Lale' + ',' ;
   if CheckBox5.Checked then     edit1.text:= edit1.text + 'Kale' + ',' ;

   end
   else edit1.clear;

end;                  

Ovako bi trebao da izgleda pokrenut program iz ovog zadatka.

недеља, 22. новембар 2015.

Min/Max funkcija Delphi

Pozdrav svima, danas  cu vam pokazati primenu Min i Max funkcije u delphiju, dakle uzecemo prost primer uporedjivanja 3 broja, trebamo naci koji je najveci/najmanji postupak je isti prilikom koriscenja ove funkcije dok kod if naredbe se razlikuju uslovi.
Prvo cu vam napisati kako mozete naci koji je broj najveci uz pomoc if/else naredbe.


Kod sa slike:
"var a,b,c,max,max1:integer;
begin
     a:=strtoint(edit1.text);
     b:=strtoint(edit2.text);
     c:=strtoint(edit3.text);
     if a>b then max:=a
     else max:=b;
     if max>c then max1:=max
     else max1:=c;
     edit4.text:=inttostr(max1);

end;  "  
Sada cu vam pokazati kako se koristi Max funkcija.
var a,b,c,ma,ma1:integer;
Begin
a;=strtoint(edit1.text);
b:=strtoint(edit2.text);
c:=strtoint(edit3.text);
ma:=Max(a,b);
ma1:=Max(ma,c);
edit4.text:=inttostr(ma1);
end;
Isto je i prilikom upotrebe Min funkcije , dakle imamo Min/Max i u zagradi prvi broj i drugi broj koji poredimo. Naravno za razliku od postupka sa if/else naredbom da bi mogli koristiti Min/Max funkciju moramo dodati na pocetku koda  "Math" tj. moramo reci delfiju da cemo koristiti Min/Max funkciju koje nisu standardne tako da ih delfi ne pokrece po default.



понедељак, 16. новембар 2015.

Deep Web



Zamislite da ste na brodu koji se nalazi na sred okeana, taj brod je bas veliki mislite da ima sve na njemu, brod plovi, al nikako da stigne luta tako danima, vi upoznajete ljude sa broda. Oke, a sad napravite korelaciju sa vasim boravkom na globalnoj mrezi poznatijoj kao internet, ooo da primecujete razlike gotovo da nema koristite ogranicen prostor, vidite ogranicene stvari, a mislite da je to sve. Kao sto mozemo svemir posmatrati sa jedne strane kao neki prostor enormne velicine koji ima kraj tamo negde, ili ga u opste nema, pa tu dolazi pitanje, ako ima kraja sta je iza toga? , ako pak nema kako moze da bude beskonacan? Na slican nacin mozemo posmatrati i internet, vecina korisnika koristi samo povrsni deo interneta u globalu misle da je to to , ceo internet. Ali da li ste se zapitali nekad sta je izvan tih granica tog prostora koji vidite putem Google,Yahoo,Bing ili nekog drugog povrsnog search engine-a. 

Na nasu radost ili ne nemamo problem kao sa svemirom da ne mozemo odgovoriti na pitanje sta je iza ako ima kraj i da li ima kraj uopste? Ljudi koji se bave internetom i uopste informacionim tehnologijama na malo visem levelu su sigurno culi za Tor i Deep Web, a neki od njih ga i koriste. Takodje poznata stvar je da prema nekim procenama povrsni web iznosi negde oko 25 terabajta, dok u slucaju ostatka interneta ta brojka je mnogo veca negde oko 7,500 hiljada terabajta , ako uzmemo da se svakodnevno povecava dolazimo do zakljucka da je to veoma mnogo informacija 80% verovatno nikada necete ni videti ne zato sto ne zelite nego iz prostog vremenskog ogranicenja. Sada se mozda pitate: "Dakle sada znam koliko je veliki internet, ali sta se to krije sa druge strane u dubini, daleko od sigurne luke, negde daleko u internet moru , sta to kriju dubine koje mracne tajne?" 



Dakle kao sto sam i ranije na nasu radost ili ne, znamo sta se nalazi u principu i na Deep Web-u, prosto receno od igle do lokomotive, ali ako pak hocete da detaljisete tu ima bukvalno svega i svacega , od ilegalnih porno sadrzaja preko placenika, dilera droge,oruzja, pa sve do onih dobrih i losih strucnjaka iz IT sfere, tu se nalaze takodje i vlade, tajne sluzbe, razne organizacije uglavnom one sa prefiksom tajna, zatim privatni serveri za koje vam treba posebna dozvola za pristup, arhivi. Kao sto i sami mozete zakljuciti ovo mozemo porediti sa olujom na moru daleko od obale , vise niste sigurni 100% , ne znate u kakve sve nevolje mozete upasti ako ne poznajete bas najbolje materiju.

Mozda se pitate, zasto bi neko zeleo biti deo necega sto moze da bude opasno po njega samog? Iz prostog razloga na Deep Webu uz dobre mere opreza vi ste anonimni, placanje se vrsi u Bitcoinima zvanicna valuta kojom se placa  na Deep Webu inace sifrovana tako da je do vlasnika racuna skoro nemoguce doci, to naravno pruza mogucnosti raznim zlonamernim hakerima(krekerima) da prikrivaju svoja delovanja. Ali takodje na Deep Webu mozete pronaci mnogo stvari preko raznih knjiga, dokumenata, raznih fajlova , softwera i hiljadu drugih stvari koje mozda budu korisne.

Ako vec sada zelite da se upustite u tu avanturu istrazivanja mracne strane interneta za to vam treba Tor browser ostalo je sve na vasim vestinama, na vasoj radoznalosti i riziku koji ste spremi da preuzmete, takodje sto se tice mracne strane interneta ima toliko dobrih stvari u njoj, ali budite sigurni da bar tri puta vise ima onih odvratnih,stetnih stvari od kojih vam se zeludac okrene 360 stepeni krv vam se sledi u zilama, otezano disete, shvatite da su rijaliti show programi maciji kasalj  i pozelite da se nikad niste rodili i videli sve te stvari.

субота, 14. новембар 2015.

Case(Switch) naredba Delphi

U nekim slucajevima pisanje If/Else naredbe moze biti napisano na drukaciji nacin tacnije uz pomoc Switch naredbe u Delphiju poznatije kao Case naredba, Switch naredba se smatra za prosirenu If/else naredbu zbog mogucnosti lakseg pisanja veceg broja mogucnosti na primer, ako imamo recimo slucaj da treba da napisemo kod koji ce ako je x od 1 do 5 da napise poruku X je izmedju 1 i 5, ako je x 6,7 ili 8 obojiti form u crveno, ako je x jednako 10 izracunati koliko je x*x^2*10, ako je x  od 11 do 111 izracunati kvadrat zbira 1234 i 4321, ako je x jednako 123 onda ispisati Diznijeva madjija.
If/else kod u ovom slucaju bi bio podugacak, ali cemo mi zato iskoristiti Case naredbu koja je znatno preglednija u ovom slucaju.

Pa bi kod glasio ovako:
Var x,y:integer;
Begin 
x:=strtoint(edit1.text);
Case x of 
1..5: ShowMessage('X je izmedju 1 i 5');
6..8:  Form1.color:=clred;
10: Begin y:=x*sqr(x)*10; edit2.text:=inttostr(y); End;
11..111: Begin y:=sqr(1234+4321); edit2.text:=inttostr(y); End;
123: ShowMessage('Diznijeva Madjija');
else
  ShowMessage('greska');
End;
End;
 Dakle kao sto vidimo kod je znatno kraci i pregledniji, i sastoji se od Case naredbe gde ispitujemo za x koja je odgovarajuca vrednost od ponudjenih i ako nije nijedna od datih izvrsavamo Else naredbu.



петак, 30. октобар 2015.

Delphi If/else funkcija

I u programiranju kao i u vecini stvari u svetu oko nas sigurno cete naici na pitanje sta ako? Sta ako nije ovako nego onako? Sta ako to nije jednako tome nego necemu drugom? Tu nailazimo na primenu IF/ELSE funkcije.
Uzecemo za primer situaciju da treba da napravimo program koji proverava da li je broj paran ili nije i da li je veci od nule.
Kao sto nam je vec poznato iz matematike broj je paran kad je deljiv sa dva. Sada cemo to prevesti u kod:
Begin
a:=strtoint(edit1.text);
if (a>0) and (a mod 2 = 0) then edit2.text:='broj je paran i veci od nule'
else edit2.text:='broj nije paran';
end;
end.



четвртак, 24. септембар 2015.

Delphi Basic Calculator

Danas cu vam pokazati kako da napravite najprostiji moguci kalkulator u delphiju, za ovaj projekat su vam potrebne 3 label , 3 edit, i 4 buton komponente, postavite ih kao na slici 1.

Slika 1.


Sledece sto trebate uraditi jeste ispisati kod za svaki button posebno, posto je ovo najprostiji kalkulator pritiskom na svaki button desice se jedna matematicka operacija, na slici 2. mozete videti kako ce kalkulator izgledati na kraju tj. kad ga pokrenemo kao gotov program.

Slika 2.

Dvoklikom na prvi button otvara nam se kod editor gde ispisujemo sledeci kod da bi sabrali 2 broja koja budemo upisali u edit1 i edit2 polje:
Procedure TForm.ButtonClick(Sender: TObject);
var a,b,c:integer;
begin 
     a:=strtoint(edit1.text);
     b:=strtoint(edit2.text);
     c:=a+b;
     Edit3.Text:=inttostr(c);
end;
Na istom principu ispisujemo i kod za ostale operacije, kao sto su oduzimanje , mnozenje , deljenje. I dok kod sabiranja, oduzimanja i mnozenja deklarisemo promenljive(VAR) kao integer tj. ceo broj, operaciju deljenja tj. promenljive kod deljenja ne mozemo definisati kao integer vec tu koristimo real kao tip promenljive. Na slici 3. mozete videti kako taj kod izgleda na kraju za ovaj prost kalkulator.

Slika 3.

Ceo kod:

unit Unit1;

interface

uses
  Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
  Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls;

type
  TForm1 = class(TForm)
    Edit1: TEdit;
    Edit2: TEdit;
    Edit3: TEdit;
    Button1: TButton;
    Button2: TButton;
    Button3: TButton;
    Button4: TButton;
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure Button3Click(Sender: TObject);
    procedure Button4Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
   var a,b,c:integer;
begin
    a:=strtoint(Edit1.Text);
    b:=strtoint(edit2.Text);
    c:=a+b;
    Edit3.Text:=inttostr(c);

end;

procedure TForm1.Button2Click(Sender: TObject);
     var a,b,c:integer;

begin
     a:=strtoint(edit1.Text);
     b:=strtoint(edit2.Text);
     c:=a-b;
     edit3.Text:=inttostr(c);

end;

procedure TForm1.Button3Click(Sender: TObject);
  var a,b,c:integer;
begin
  a:=strtoint(edit1.Text);
  b:=strtoint(edit2.Text);
  c:=a*b;
  edit3.Text:=inttostr(c);
end;

procedure TForm1.Button4Click(Sender: TObject);
var a,b,c:real;
begin
  a:=strtofloat(edit1.Text);
  b:=strtofloat(edit2.Text);
  c:=a/b;
  edit3.Text:=floattostr(c);
end;

end.


уторак, 22. септембар 2015.

Delphi(OOP Pascal) programiranje

Pozdrav svima, danas cu vam pokazati neke osnovne stvari u Delphiju, pa pocnimo. Dakle na samom pocetku vidimo prozor nalik slici 1.

Slika 1.

Kao sto sam i na slici obelezio na samom pocetku koristicemo samo ove tri komponente tj. Edit polje, label i button odnosno dugme. Dvoklikom na bilo koju stavku od ove tri ona ce se pojaviti u prozoru Form1 i time smo dodali novi element u nas prvi program, mozemo i metodom drag and drop tj. mozemo uzeti i samo prevuci odredjenu komponentu u Form1 prozor.
Kod vecine programskih jezika obicno se uzima za prvi program Hello World tj. samo ispisivanje Pozdrav Svete na ekranu, mi necemo odstupati od te tradicije tako da cemo za prvi primer uzeti Hello World program. 

Slika 2.
Za pocetak postavimo Label1 polje u Form1 prozor, nakon toga prelazimo na pisanje teksta postoje dva nacina na koja mozemo ispistai u Label1 da pise Hello World ili bilo sta drugo, prvi nacin jeste da sa nase leve strane u object inspector-u pronadjemo caption gde pise Label1 i jedostavno obrisemo to i napisemo sta zelimo, drugi nacin jeste da napravimo dvoklik misa na praznu povrsinu unutar Form1 prozora i ispisemo kod kao na slici, pritiskom na zeleni trouglic u traci sa alatkama ili precicom na tastaturi (shift+ctrl+f9) pokrecemo nas program koji takodje vidimo na slici 3. gde ce pisati HELLO WORLD.(kod sa slike 3. je : Label1.Caption:='Hello World'; )
Slika 3.

Sada cemo upotrebiti i komponentu Button i Edit polje , napravicemo prost program koji ce, klikom na Button 1 ispisati u Edit polje neki tekst na primer "Nebo je plavo".

Slika 4.

Na slici 4. vidimo da smo ubacili na postojeci form sa label1. jos i button1 i edit polje. Dvoklikom na Button 1 otvara nam se kod editor gde cemo ispisati kod koji ce kada pokrenemo program klikom na button1(ime dugmeta mozemo promeniti promenom captiona sa leve strane u object inspectoru) ispisati nas tekst u Edit polje i recimo promeniti velicinu fonta labela1 i boju edit polja. Na Slici 5. mozemo videti kod koji pisemo za Button1 i rezultat koji nam taj kod daje i to bi bilo to za ovaj neki uvod u Delphi.(kod na slici 5. jeste : Label1.Font.Size:=36; Edit1.Text:='NEBO JE PLAVO'; Edit1.Color:=clblue; )

Slika 5.