SlideShare une entreprise Scribd logo
1  sur  11
SHKRIMI I MESAZHEVE (KORNIZA PËR DIALOG)
Në këtë kapitull do të përpunohen këto mundësi:
-përshkrimi i sistemit për mesazhe;
-zbatimi i komandës showmessage;
-zbatimi i komandës messagedlg;
-zbatimi i komandës messagedlgpos.
Format si objekte themelore në Delphi mund të trajtohen si një dritare-dialogu. Por, kur
themi dritare-dialogu, nënkuptojmë lloj special të dritares që ka vetitë e mëposhtme:
1. Madhësia e kornizës nuk mund të ndryshohen,
2. Kjo dritare më shpesh përdor butonin OK, por disa dritare kanë edhe butona Close,
Cancel, Help.
3. Në shiritin e titullit (emrit) nuk ka butona për minimizim dhe zmadhim.
Në kuadër të Delphi ekzistojnë korniza që vetë mund ti definojmë dhe dritare të cilat veçse janë
të definuara.
4.1. ShowMessage
Ajo përdoret për të shfaqur mesazhe të caktuara gjatë ekzekutimit të aplikacionit.
Paraqitja e dritares-dialog e ndalon ekzekutimin e aplikacionit, deri në mbylljen e tij, me klikim
në butonin OK. Ky dialog përdoret kur aplikacioni duhet ti tregojë përdoruesit ndonjë mesazh.
Detyra 1: Të krijohet aplikacion i cili shfrytëzuesit i tregon a i lejohet puna me
aplikacionin apo jo. Puna lejohet vetëm në ditë pune. Ditë jo pune janë e shtuna dhe e diela.
Figura 4.1.
procedure TForm1.Button1Click(Sender: TObject);
var
data:TdateTime;
i:integer;
begin
Data:=StrToDate(edit1.text);
i:=DayOfWeek(data);
if (i=1) or (i=7) then
begin
ShowMessage('SOT ËSHTË DITË JO PUNE, NUK MUND TI QASENI APLIKACIONIT
');
Close;
end
else
ShowMessage('MIRËSE ERDHËT');
end;
end.
Për realizimin e detyrës së dhënë, është përdorur funksioni DayOfWeek(data) e cila në
bazë të datës jep numrin rendor të ditës së javës. Sipas saj ditë e parë është dita e diel: 1, kurse e
fundit e shtunë: 7,
Kodi i programit lejon futjen e datës së gabuar, shembull, për ditë jo pune të futet datë e
ditës së punës.
Të bëhet korrigjim i kodit programor, në atë mënyrë që të bëjë të pamundur futjen në
aplikacion nëse data e sistemit nuk përputhet me datën e futur. Në këtë rast, të shkruhet mesazhi:
DATA E FUTUR NUK E SOTSHME.
procedure TForm1.Button1Click(Sender: TObject);
var
data:TdateTime;
i:integer;
begin
Data:=StrToDate(edit1.text);
i:=DayOfWeek(data);
Label2.Caption := 'Today is ' + DateToStr(Date);
if data<>date then
BEGIN
ShowMessage('NUK KE FUTUR DATË TË SAKTË');
CLOSE;
END
ELSE
if (i=1) or (i=7) then
begin
ShowMessage('SOT ËSHTË DITË JO PUNE, NUK MUND TI QASENI
APLIKACIONIT');
Close;
end
else
ShowMessage('MIRËSE ERDHËT');
end; end.
4.2. MessageDlg
Kjo dritare-dialog i ngjan të mëparshmes, me atë që përshkrimi i titullit bie në grup të veçantë të
përshkrimeve të Windows-it.
Figura 4.2
Në rreshtin për titull paraqitet fjala Information. Përveç saj, në rreshtin për përshkrim mund të
paraqiten fjalët e mëposhtme: Warning (shenjë paralajmëruese e verdhë), Error (ikonë e kuqe me
shenjë ndal), Confirmation (pyetësor), Custom (nuk përmban ikonë).
Figura 4.3.
Numri i butonave për të lëshuar dritaren-dialog mund të jenë të ndryshëm.
Figura 4.4.
Detyra 2: Të bëhet aplikacion i cili gjatë ekzekutimit do të japë vlerat e disa funksioneve
elementare, të tilla si katrori i numrit 5, rrënja katrore e 2 dhe pjesa e plotë e numrit -3,8.
Në formë vendosim butonin për të cilin do të shkruajmë kodin e mëposhtëm të programit:
Procedure TForm1.Button1Click(Sender: TObject);
var
s,t:string;
begin
str(sqr(5.0):3:1,t);
s:='5 në katror është ' + t + #13;
str(sqrt(2.0):5:4,t);
s:=s+'Rrënja katrore e 2 është' + t + #13;
str(trunc(-3.8),t);
s:=s+'Pjesa e plotë e numri -3.8 është'+t;
MessageDlg(s,mtInformation,[mbOk],0);
end;
Figura 4.5.
Argumentet e funksionit MessageDlg kanë këto kuptime: s - paraqet tekstin që do të shfaqet në
dritaren-dialogun, mtInformation paraqet tekstin në shiritin e titullit dhe shenja- ikonën në
dritare, [mbOk] është emri i butonit do të shfaqet në dritaren-dialog dhe zero (0) Delphit i
shërben si një indikator.
Me urdhrin vijues në Delphi fitohet dritarja-dialog nga figura 4.3:
MessageDlg('Edhëna e futur nuk mund të konvertohet në numër. '+#13+
'Futni të dhënë valide', mtError,[mbOk],0);
Me procedurën e ardhshme në Delphi fitohet dritarja-dialog si në figurën 4.4:
procedure TForm1.Button2Click(Sender: TObject);
begin
if MessageDlg('Welcome to my Object Pascal application. Exit now?',
mtConfirmation, [mbYes, mbNo], 0) = mrYes then
begin
MessageDlg('Exiting the Object Pascal application.', mtInformation,
[mbOk], 0);
Close;
end;
end;
Detyra 3: Të bëhet aplikacion me të cilën për N numra të çfarëdoshëm të numrave të futur do të
llogaritet shuma.
Udhëzime: Futet N - numri i numrave që do ti mbledhim, dhe pastaj numrat futen në
dritaren-dialog në kuadër të një cikli.
Figura 4.6.
Procedure TForm1.Button1Click(Sender: TObject);
var
s,x:real;
t,p:string;
n,i,j:integer;
begin
val(edit1.text,n,j);
if(j<>0)or(n<=0)then
begin
messageDlg('Edhëna nuk është e sakte',mtError,[mbOk],0);
close;
end;
s:=0;
i:=1;
while i<=n do
begin
str(i,p);
t:=inputBox('Numra','Futet'+p+'-numri',' ');
val(t,x,j);
if j/<>0then
begin
messageDlg('Edhëna nuk është e sakte',mtError,[mbOk],0);
close;
end;
s:=s+x;inc(i);
end;
str(s:8:3,p);
showmessage('Mbledhja është s='+p);
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
application.terminate;
end;
Urdhëri t:=inputBox('numra','futet'+p+'-numër',' ');
Përdor funksionin InputBox, që përmban tre parametra. Parametër i parë "numra" përcakton se
çfarë paraqitet në shiritin e titullit, parametri i dytë 'futet`+p+'numër', jep mesazhin që do të
shfaqet në dritaren-dialog, kurse parametri i tretë përfaqëson vlerën e të dhënave që do të
importohen. Në rastin tonë kjo është e dhënë boshe-nuk ka vlerë fillestare.
Detyrë: Të bëhet aplikacion që përcakton mesin gjeometrik të dy gjatësive të dhëna. Numrat
matës të gjatësive të dhëna duhet të jenë numra pozitiv.
Figura 4.7.
procedure TForm1.LlogaritClick(Sender: TObject);
Var
a,b,c:Real;
s:String;
i,j:Integer;
begin
Val(edit1.text,a,i);
Val(edit2.text,b,j);
If (i=1) or (j=1) then
MessageDlg('e dhena nuk nuk numt te trasformohet ne numer'+#13+
'Fut te dhene te sakte', mtError,[mbOk],0);
if (a<=0) or (b<=0) then
MessageDlg('Numri matës i gjatësisë nuk është i mirë!'+#13+
'Fut vlerë pozitive', mtError,[mbOk],0)
else
begin
c:=sqrt(a*b);
str(c:8:3,s);
MessageDlg('Mesi gjeometrike i gjatësive të dhëna
është:'+s,mtInformation,[mbOk],0);
end;
end;
end.
4.3. Messagedlgpos
Shfaq dritaren-dialog me mesazh në koordinata të caktuara në ekran.
Ky shembull përdor buton në formë. Kur përdoruesi klikon butonin, shfaqet dritare me mesazh
me tre butona: Yes, No, dhe butonin Cancel në të:
procedure TForm1.Button1Click(Sender: TObject);
begin
MessageDlgPos('Are you there?',mtConfirmation, mbYesNoCancel, 0, 200, 200);
end;
Figura 4.8.
4.4 Komponentet DIALOGS
Në kartelën Dialog ndodhen komponente të ndryshme për dialog si OpenDialog, SaveDialog,
ColorDialog dhe të tjera. Ata përdoren për qasje të unifikuar në operacionet më të zakonshme që
ekzekutohen në aplikacione. Në programe, dialogu aktivizohet me metodën Execute. Asnjë
dialog nuk kryen veprime konkrete, por vetëm e lejon përdoruesin të bëjnë zgjedhje, kurse
veprimet e veçanta realizohen në kodin e programit.
4.4.1. OpenDialog i lejon përdoruesit të zgjedh datotekën nga disku që dëshironi ta lexojë.
Detyra 1: Të krijohet formë me dy butona dhe OpenDialog.
Figura 4.9.
Figura 4.10.
Kodi i programor që mundëson shfaqjen e OpenDialog është si më poshtë:
procedure TForm1.Button1Click(Sender: TObject);
begin
OpenDialog1.Execute;
end;
4.4.2. SaveDialog paraqet një dritare-dialogu standarde të Windows-it. Komanda që aktivizon
këtë dritare-dialog është si më poshtë:
SaveDialog1.Execute;
Figura 4.11.
4.4.3. ColorDialog ofron në mënyrë standarde të zgjidhet ngjyra. Komanda që aktivizon këtë
dritare-dialogu është si më poshtë:
ColorDialog1.Execute;
Figura 4.12.

Contenu connexe

En vedette

How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024Albert Qian
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsKurio // The Social Media Age(ncy)
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Search Engine Journal
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summarySpeakerHub
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next Tessa Mero
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentLily Ray
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best PracticesVit Horky
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project managementMindGenius
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...RachelPearson36
 
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...Applitools
 
12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at WorkGetSmarter
 
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...DevGAMM Conference
 
Barbie - Brand Strategy Presentation
Barbie - Brand Strategy PresentationBarbie - Brand Strategy Presentation
Barbie - Brand Strategy PresentationErica Santiago
 
Good Stuff Happens in 1:1 Meetings: Why you need them and how to do them well
Good Stuff Happens in 1:1 Meetings: Why you need them and how to do them wellGood Stuff Happens in 1:1 Meetings: Why you need them and how to do them well
Good Stuff Happens in 1:1 Meetings: Why you need them and how to do them wellSaba Software
 
Introduction to C Programming Language
Introduction to C Programming LanguageIntroduction to C Programming Language
Introduction to C Programming LanguageSimplilearn
 

En vedette (20)

How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search Intent
 
How to have difficult conversations
How to have difficult conversations How to have difficult conversations
How to have difficult conversations
 
Introduction to Data Science
Introduction to Data ScienceIntroduction to Data Science
Introduction to Data Science
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best Practices
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project management
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
 
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
 
12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work
 
ChatGPT webinar slides
ChatGPT webinar slidesChatGPT webinar slides
ChatGPT webinar slides
 
More than Just Lines on a Map: Best Practices for U.S Bike Routes
More than Just Lines on a Map: Best Practices for U.S Bike RoutesMore than Just Lines on a Map: Best Practices for U.S Bike Routes
More than Just Lines on a Map: Best Practices for U.S Bike Routes
 
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...
 
Barbie - Brand Strategy Presentation
Barbie - Brand Strategy PresentationBarbie - Brand Strategy Presentation
Barbie - Brand Strategy Presentation
 
Good Stuff Happens in 1:1 Meetings: Why you need them and how to do them well
Good Stuff Happens in 1:1 Meetings: Why you need them and how to do them wellGood Stuff Happens in 1:1 Meetings: Why you need them and how to do them well
Good Stuff Happens in 1:1 Meetings: Why you need them and how to do them well
 
Introduction to C Programming Language
Introduction to C Programming LanguageIntroduction to C Programming Language
Introduction to C Programming Language
 

Shkrimi i mesazheve

  • 1. SHKRIMI I MESAZHEVE (KORNIZA PËR DIALOG) Në këtë kapitull do të përpunohen këto mundësi: -përshkrimi i sistemit për mesazhe; -zbatimi i komandës showmessage; -zbatimi i komandës messagedlg; -zbatimi i komandës messagedlgpos. Format si objekte themelore në Delphi mund të trajtohen si një dritare-dialogu. Por, kur themi dritare-dialogu, nënkuptojmë lloj special të dritares që ka vetitë e mëposhtme: 1. Madhësia e kornizës nuk mund të ndryshohen, 2. Kjo dritare më shpesh përdor butonin OK, por disa dritare kanë edhe butona Close, Cancel, Help. 3. Në shiritin e titullit (emrit) nuk ka butona për minimizim dhe zmadhim. Në kuadër të Delphi ekzistojnë korniza që vetë mund ti definojmë dhe dritare të cilat veçse janë të definuara.
  • 2. 4.1. ShowMessage Ajo përdoret për të shfaqur mesazhe të caktuara gjatë ekzekutimit të aplikacionit. Paraqitja e dritares-dialog e ndalon ekzekutimin e aplikacionit, deri në mbylljen e tij, me klikim në butonin OK. Ky dialog përdoret kur aplikacioni duhet ti tregojë përdoruesit ndonjë mesazh. Detyra 1: Të krijohet aplikacion i cili shfrytëzuesit i tregon a i lejohet puna me aplikacionin apo jo. Puna lejohet vetëm në ditë pune. Ditë jo pune janë e shtuna dhe e diela. Figura 4.1. procedure TForm1.Button1Click(Sender: TObject); var data:TdateTime; i:integer; begin Data:=StrToDate(edit1.text); i:=DayOfWeek(data); if (i=1) or (i=7) then begin ShowMessage('SOT ËSHTË DITË JO PUNE, NUK MUND TI QASENI APLIKACIONIT '); Close; end else ShowMessage('MIRËSE ERDHËT'); end; end.
  • 3. Për realizimin e detyrës së dhënë, është përdorur funksioni DayOfWeek(data) e cila në bazë të datës jep numrin rendor të ditës së javës. Sipas saj ditë e parë është dita e diel: 1, kurse e fundit e shtunë: 7, Kodi i programit lejon futjen e datës së gabuar, shembull, për ditë jo pune të futet datë e ditës së punës. Të bëhet korrigjim i kodit programor, në atë mënyrë që të bëjë të pamundur futjen në aplikacion nëse data e sistemit nuk përputhet me datën e futur. Në këtë rast, të shkruhet mesazhi: DATA E FUTUR NUK E SOTSHME. procedure TForm1.Button1Click(Sender: TObject); var data:TdateTime; i:integer; begin Data:=StrToDate(edit1.text); i:=DayOfWeek(data); Label2.Caption := 'Today is ' + DateToStr(Date); if data<>date then BEGIN ShowMessage('NUK KE FUTUR DATË TË SAKTË'); CLOSE; END ELSE if (i=1) or (i=7) then begin ShowMessage('SOT ËSHTË DITË JO PUNE, NUK MUND TI QASENI APLIKACIONIT'); Close; end else ShowMessage('MIRËSE ERDHËT'); end; end.
  • 4. 4.2. MessageDlg Kjo dritare-dialog i ngjan të mëparshmes, me atë që përshkrimi i titullit bie në grup të veçantë të përshkrimeve të Windows-it. Figura 4.2 Në rreshtin për titull paraqitet fjala Information. Përveç saj, në rreshtin për përshkrim mund të paraqiten fjalët e mëposhtme: Warning (shenjë paralajmëruese e verdhë), Error (ikonë e kuqe me shenjë ndal), Confirmation (pyetësor), Custom (nuk përmban ikonë). Figura 4.3. Numri i butonave për të lëshuar dritaren-dialog mund të jenë të ndryshëm. Figura 4.4.
  • 5. Detyra 2: Të bëhet aplikacion i cili gjatë ekzekutimit do të japë vlerat e disa funksioneve elementare, të tilla si katrori i numrit 5, rrënja katrore e 2 dhe pjesa e plotë e numrit -3,8. Në formë vendosim butonin për të cilin do të shkruajmë kodin e mëposhtëm të programit: Procedure TForm1.Button1Click(Sender: TObject); var s,t:string; begin str(sqr(5.0):3:1,t); s:='5 në katror është ' + t + #13; str(sqrt(2.0):5:4,t); s:=s+'Rrënja katrore e 2 është' + t + #13; str(trunc(-3.8),t); s:=s+'Pjesa e plotë e numri -3.8 është'+t; MessageDlg(s,mtInformation,[mbOk],0); end; Figura 4.5. Argumentet e funksionit MessageDlg kanë këto kuptime: s - paraqet tekstin që do të shfaqet në dritaren-dialogun, mtInformation paraqet tekstin në shiritin e titullit dhe shenja- ikonën në dritare, [mbOk] është emri i butonit do të shfaqet në dritaren-dialog dhe zero (0) Delphit i shërben si një indikator. Me urdhrin vijues në Delphi fitohet dritarja-dialog nga figura 4.3: MessageDlg('Edhëna e futur nuk mund të konvertohet në numër. '+#13+ 'Futni të dhënë valide', mtError,[mbOk],0); Me procedurën e ardhshme në Delphi fitohet dritarja-dialog si në figurën 4.4: procedure TForm1.Button2Click(Sender: TObject); begin if MessageDlg('Welcome to my Object Pascal application. Exit now?', mtConfirmation, [mbYes, mbNo], 0) = mrYes then begin MessageDlg('Exiting the Object Pascal application.', mtInformation, [mbOk], 0); Close; end; end;
  • 6. Detyra 3: Të bëhet aplikacion me të cilën për N numra të çfarëdoshëm të numrave të futur do të llogaritet shuma. Udhëzime: Futet N - numri i numrave që do ti mbledhim, dhe pastaj numrat futen në dritaren-dialog në kuadër të një cikli. Figura 4.6. Procedure TForm1.Button1Click(Sender: TObject); var s,x:real; t,p:string; n,i,j:integer; begin val(edit1.text,n,j); if(j<>0)or(n<=0)then begin messageDlg('Edhëna nuk është e sakte',mtError,[mbOk],0); close; end; s:=0; i:=1; while i<=n do begin str(i,p); t:=inputBox('Numra','Futet'+p+'-numri',' '); val(t,x,j); if j/<>0then begin messageDlg('Edhëna nuk është e sakte',mtError,[mbOk],0);
  • 7. close; end; s:=s+x;inc(i); end; str(s:8:3,p); showmessage('Mbledhja është s='+p); end; procedure TForm1.Button2Click(Sender: TObject); begin application.terminate; end; Urdhëri t:=inputBox('numra','futet'+p+'-numër',' '); Përdor funksionin InputBox, që përmban tre parametra. Parametër i parë "numra" përcakton se çfarë paraqitet në shiritin e titullit, parametri i dytë 'futet`+p+'numër', jep mesazhin që do të shfaqet në dritaren-dialog, kurse parametri i tretë përfaqëson vlerën e të dhënave që do të importohen. Në rastin tonë kjo është e dhënë boshe-nuk ka vlerë fillestare. Detyrë: Të bëhet aplikacion që përcakton mesin gjeometrik të dy gjatësive të dhëna. Numrat matës të gjatësive të dhëna duhet të jenë numra pozitiv. Figura 4.7.
  • 8. procedure TForm1.LlogaritClick(Sender: TObject); Var a,b,c:Real; s:String; i,j:Integer; begin Val(edit1.text,a,i); Val(edit2.text,b,j); If (i=1) or (j=1) then MessageDlg('e dhena nuk nuk numt te trasformohet ne numer'+#13+ 'Fut te dhene te sakte', mtError,[mbOk],0); if (a<=0) or (b<=0) then MessageDlg('Numri matës i gjatësisë nuk është i mirë!'+#13+ 'Fut vlerë pozitive', mtError,[mbOk],0) else begin c:=sqrt(a*b); str(c:8:3,s); MessageDlg('Mesi gjeometrike i gjatësive të dhëna është:'+s,mtInformation,[mbOk],0); end; end; end.
  • 9. 4.3. Messagedlgpos Shfaq dritaren-dialog me mesazh në koordinata të caktuara në ekran. Ky shembull përdor buton në formë. Kur përdoruesi klikon butonin, shfaqet dritare me mesazh me tre butona: Yes, No, dhe butonin Cancel në të: procedure TForm1.Button1Click(Sender: TObject); begin MessageDlgPos('Are you there?',mtConfirmation, mbYesNoCancel, 0, 200, 200); end; Figura 4.8. 4.4 Komponentet DIALOGS Në kartelën Dialog ndodhen komponente të ndryshme për dialog si OpenDialog, SaveDialog, ColorDialog dhe të tjera. Ata përdoren për qasje të unifikuar në operacionet më të zakonshme që ekzekutohen në aplikacione. Në programe, dialogu aktivizohet me metodën Execute. Asnjë dialog nuk kryen veprime konkrete, por vetëm e lejon përdoruesin të bëjnë zgjedhje, kurse veprimet e veçanta realizohen në kodin e programit.
  • 10. 4.4.1. OpenDialog i lejon përdoruesit të zgjedh datotekën nga disku që dëshironi ta lexojë. Detyra 1: Të krijohet formë me dy butona dhe OpenDialog. Figura 4.9. Figura 4.10.
  • 11. Kodi i programor që mundëson shfaqjen e OpenDialog është si më poshtë: procedure TForm1.Button1Click(Sender: TObject); begin OpenDialog1.Execute; end; 4.4.2. SaveDialog paraqet një dritare-dialogu standarde të Windows-it. Komanda që aktivizon këtë dritare-dialog është si më poshtë: SaveDialog1.Execute; Figura 4.11. 4.4.3. ColorDialog ofron në mënyrë standarde të zgjidhet ngjyra. Komanda që aktivizon këtë dritare-dialogu është si më poshtë: ColorDialog1.Execute; Figura 4.12.