Naredbe za ulaz i izlaz
U svim prethodnim zadacima za unos podataka i prikazivanje rezultata koristili smo komponente tipa TEdit, tačnije svojstvo Text ove komponente.U nekoliko zadataka za prikazivanje rezultata koristili smo i komponentu tipa TLabel, odnosno svojstvo Caption.
Svojstvo Caption koristili smo i kao osobinu TForm glavnog obrasca programa za prikazivanje rezultata.
Oba svojstva su tipa String, te za unos i prikazivanje brojeva smo koristili naredbe za konverziju tipova podataka kao to su StrToFloat, FloatToStr, StrToInt i IntToStr.
U zadatku u kojem se izračunava loglički izraz koristili smo komponetu tipa TCheckBox, i svojstvo Checked koje je logičkog tipa podataka (boolean) te nije bilo potrebno da koristimo i naredbe za konverziju tipova podataka.
U svakom slučaju, primetili ste da smo u algoritmu ove korake prikazivali kao ulaz ili izlaz a da smo sintaksno gledano u programu koristili naredbu dodele da bi povezali odnosno preneli (dodelili) vrednost promenljive svojstvu komponente i obrnuto.
Takođe, primetili smo da smo u svakom programu imali samo jedan prikazan i to glavni prozor aplikacije (Form1).
Postoji mnogo načina za prilazivanje rezultata, odnosno vrednosti izlaznih promenljivih i unos podataka.
Izlazna naredba ShowMessage
Jedna od često korićenih naredbi za izlaz, odnosno prikazivanje vrednosti promenljivih je naredba ShowMessage. Sintaksa ove naredbe je:ShowMessage ( izraz );
Gde je izraz tipa string. Tako, na primer, umesto naredbe
Label1.Caption := 'Marko';
moemo napisati
ShowMessage ( 'Marko' );
Kada prilikom testiranja, odnosno izvravanja program izvri ovu naredbu, na ekranu će se pojaviti novi prozor (dijalog box) u kojem će biti ispisana navedena poruka i jedno dugme OK za zatvaranje tog prozora.
Ako unesemo sledeće linije programskog koda:
Var
a, b, c : Real;
Begin
a := StrToFloat ( Edit1.Text );
b := StrToFloat ( Edit1.Text );
c := a + b;
ShowMessage ( FloatToStr ( a ) + ' + ' + FloatToStr ( b ) + ' = ' + FloatToStr ( c ) );
End;
I prilikom izvravanja programa unesemo brojeve 10 i 15, dobićemo prozor kao na slici 1:
Slika 1. Prozor ShowMessage
Ulazna naredba InputBox
Jedna od često korićenih naredbi za ulaz, odnosno unos vrednosti promenljivih je naredba InputBox. Sintaksa ove naredbe je:InputBox ( naslov, pitanje, podrazumevana_vrednost );
Gde su naslov, pitanje i podrazumevana_vrednost tipa string, naslov je tekst koji će biti prikazan u naslovu prozora, pitanje tekst koje će biti prikazano u samom prozoru, a podrazumevana_vrednost podrazumevani tekst koji će biti prikazan u okviru za unos podataka. Tako, na primer, umesto naredbe
S := Edit1.Text;
moemo napisati
S := InputBox ( 'Unos podataka', 'Unesite ime ucenika', '' );
Kada prilikom testiranja, odnosno izvravanja program izvri ovu naredbu, na ekranu će se pojaviti novi prozor (dijalog box) u kojem će biti ispisane navedene poruke i jedno dugme OK za zatvaranje tog prozora, kao i jedan okvir u kojem će korisnik uneti eljenu vrednost.
Ako unesemo sledeće linije programskog koda:
Var
a : Real;
Begin
a := StrToFloat ( InputBox ( 'Unos podataka', 'Prvi sabirak:', '' ) );
{ ostale naredbe u programu }
End;
Prilikom izvravanja programa dobićemo prozor kao na slici 2:
Slika 2. Prozor InputBox
Primer korićenja naredbi ShowMessage i InputBox
- Kreiraj novi projekat
- Snimi novi projekat u novi prazan folder Zad30
- Dodaj četiri komande komponente tipa TButton na formu i promeni njihove osobine tako da budu kao to je prikazano na slici 3
- Promeni nazive (name) komponenti tipa TButton tako da budu redom: Sabiranje, Oduzimanje, Mnozenje i Deljenje
- Programiraj događaj OnClikck svake komponente tipa TButton i unestite linije programskog koda prikazane na kraju ovog članka
- Kompajliraj program, ukoliko je potrebno ispravi sintaksne greke, i testiraj program, ta primećuje?
- Preuzmi gotovo reenje (aplikaciju) i uporedi da li radi slično kao tvoje
- Zatvori prozor testiranja, snimi ceo projekat i spakuj ceo folder projekta (pre toga izbrii Exe fajl)
- Preuzmi ceo projekat ovde napravljen u razvojnom okruenju Borland Delphi 6.0 i pregledaj, prouči i pokuaj da iskoristi za svoje reenje u svom razvojnom okuenju
Programski kod Unit1.pas:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm1 = class(TForm)
Sabiranje: TButton;
Oduzimanje: TButton;
Mnozenje: TButton;
Deljenje: TButton;
procedure SabiranjeClick(Sender: TObject);
procedure OduzimanjeClick(Sender: TObject);
procedure MnozenjeClick(Sender: TObject);
procedure DeljenjeClick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
{ Sabiranje }
Procedure TForm1.SabiranjeClick ( Sender: TObject );
Var
a, b, c : Real;
Begin
a := StrToFloat ( InputBox ('Unos podataka','Prvi sabirak:',''));
b := StrToFloat ( InputBox ('Unos podataka','Drugi sabirak:',''));
c := a + b;
ShowMessage ( FloatToStr ( a ) + ' + ' + FloatToStr ( b ) + ' = ' + FloatToStr ( c ) );
End;
{ Oduzimanje }
Procedure TForm1.OduzimanjeClick ( Sender: TObject );
Var
a, b, c : Real;
Begin
a := StrToFloat ( InputBox ('Unos podataka','Umanjenik:',''));
b := StrToFloat ( InputBox ('Unos podataka','Umanjilac:',''));
c := a - b;
ShowMessage ( FloatToStr ( a ) + ' - ' + FloatToStr ( b ) + ' = ' + FloatToStr ( c ) );
End;
{ Mnozenje }
Procedure TForm1.MnozenjeClick ( Sender: TObject );
Var
a, b, c : Real;
Begin
a := StrToFloat ( InputBox ('Unos podataka','Prvi cinilac:',''));
b := StrToFloat ( InputBox ('Unos podataka','Drugi cinilac:',''));
c := a * b;
ShowMessage ( FloatToStr ( a ) + ' * ' + FloatToStr ( b ) + ' = ' + FloatToStr ( c ) );
End;
{ Deljenje }
Procedure TForm1.DeljenjeClick ( Sender: TObject );
Var
a, b, c : Real;
Begin
a := StrToFloat ( InputBox ('Unos podataka','Deljenik:',''));
b := StrToFloat ( InputBox ('Unos podataka','Delilac:',''));
c := a / b;
ShowMessage ( FloatToStr ( a ) + ' / ' + FloatToStr ( b ) + ' = ' + FloatToStr ( c ) );
End;
END.
Нема коментара:
Постави коментар