O‘zbekiston rеspublikasi


Download 231.17 Kb.
Pdf ko'rish
bet4/6
Sana24.12.2022
Hajmi231.17 Kb.
#1054832
1   2   3   4   5   6
Bog'liq
delphi muhitida dasturlar yaratish

Label белгиси. Белги тушунтиришлар, номлар, мавзулар ва бошқа
ҳар хил турдаги матнли маълумотларни экранга жойлаштириш учун
ишлатилади. Белги учун Caption асосий хоссалардан бири бўлиб, унда
экранга чиқариладиган матн жойлашади.
Label компонентаси нафақат маълумотларни экранга жойлаштириш учун
хизмат қилади, балки дастур натижаларини чиқаришда ҳам ишлатиш
мумкин. Бунинг учун дастурда
Label5.caption:='Дастур натижаси';
буйруғи берилиши керак. Мисол, Label5.caption:='Ечим='+s; бу ерда
s:String ўзгарувчиси.
Edit киритиш қатори. Edit киритиш қатори матнни бир қатордан
киритиш ва уни таҳрирлаш учун ишлатилади.
Memo матн чиқариш қатори. Memo матнларни бир неча қатор қилиб
чиқариш учун ишлатилади.
Бу матн чиқариш майдони дастурда натижаларни чиқаришда қўл
келади. Натижани чиқаоишда у дастур ичида қуйидагича ишлатилади.
Memo1.Lines.add('Ечим='+S);
Memo майдонини тозалаш эса натижани чиқаришдан олдин модулда
Memo1.Clear; буйруғини бериш билан амалга оширилади.
Button тугмачаси. Button тугмачаси босилиши натижасида кутилиши
лозим бўлган жараёнлар ишга туширилади.
Дастурдаги ҳисоблаш жараёнлари ҳосил қилинган тугмачаларни икки
марта тез-тез босиш билан “собитияни қийта ишлаш” дарчасига ўтилиб, у
ердан модул ичига керакли операторларни ёзиш билан амалга оширилади.


8
2.АМАЛИЙ ҚИСМ. МИСОЛЛАР ЕЧИШ
2.1 Delphiда колкулятор дастурини яратиш
Дастур лойиҳаси ва иловаси:
Дастур коди.
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Menus, StdCtrls, ExtCtrls, Buttons, XPMan, StrUtils;
type
TForm1 = class(TForm)
MainMenu1: TMainMenu;
N81: TMenuItem;
Copy1: TMenuItem;
Open1: TMenuItem;
Exit1: TMenuItem;
Panel1: TPanel;
Panel2: TPanel;
btnMC: TBitBtn;
btnMR: TBitBtn;


9
btnMplus: TBitBtn;
btnMS: TBitBtn;
btnBolish: TBitBtn;
btnKopaytirish: TBitBtn;
btnAyirish: TBitBtn;
btnQoshish: TBitBtn;
btnC: TBitBtn;
btnCE: TBitBtn;
btnBACK: TBitBtn;
btnJavobi: TBitBtn;
btn7: TBitBtn;
btn4: TBitBtn;
btn1: TBitBtn;
btn0: TBitBtn;
btn8: TBitBtn;
btn5: TBitBtn;
btn2: TBitBtn;
btnChangeVal: TBitBtn;
btn9: TBitBtn;
btn6: TBitBtn;
btn3: TBitBtn;
btnVergul: TBitBtn;
btnIldiz: TBitBtn;
btnFoiz: TBitBtn;
btnTeskariSon: TBitBtn;
Panel3: TPanel;
Shape1: TShape;
lblOyna: TLabel;
Kalkulyatorhaqida1: TMenuItem;
procedure Exit1Click(Sender: TObject);
procedure btn1Click(Sender: TObject);
procedure btnQoshishClick(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure btnJavobiClick(Sender: TObject);
procedure btnAyirishClick(Sender: TObject);
procedure btnKopaytirishClick(Sender: TObject);
procedure btnBolishClick(Sender: TObject);
procedure btnIldizClick(Sender: TObject);
procedure btnFoizClick(Sender: TObject);
procedure btnTeskariSonClick(Sender: TObject);
procedure btnCClick(Sender: TObject);
procedure btnChangeValClick(Sender: TObject);
private
{ Private declarations }
public


10
{ Public declarations }
end;
var
Form1: TForm1;
TempN, N : real;
Z:real;
Operation : boolean;
OperType : string;
implementation
{$R *.dfm}
procedure TForm1.Exit1Click(Sender: TObject);
begin
form1.Close;
end;
procedure TForm1.btn1Click(Sender: TObject);
begin
if operation then lblOyna.Caption := '0,';
if (LeftStr(lblOyna.Caption, StrLen(pAnsiChar(lblOyna.Caption))-1)='0') and
((sender as TBitBtn).Caption <>'0') then
lblOyna.Caption := LeftStr(lblOyna.Caption,
StrLen(pAnsiChar(lblOyna.Caption))-2)+ (sender as TBitBtn).Caption + ','
else if (LeftStr(lblOyna.Caption, StrLen(pAnsiChar(lblOyna.Caption))-1)<>'0') or
((sender as TBitBtn).Caption ='0') then
lblOyna.Caption := LeftStr(lblOyna.Caption,
StrLen(pAnsiChar(lblOyna.Caption))-1)+ (sender as TBitBtn).Caption + ',';
if StrToFloat(LeftStr(lblOyna.Caption, StrLen(pAnsiChar(lblOyna.Caption))-
1))=0 then
lblOyna.Caption := '0,';
operation := false;
end;
procedure TForm1.btnQoshishClick(Sender: TObject);
begin
TempN := StrToFloat(lblOyna.Caption);
Operation := true;
OperType := '+';
end;
procedure TForm1.FormShow(Sender: TObject);
begin
Operation := false;


11
OperType := '';
end;
procedure TForm1.btnJavobiClick(Sender: TObject);
begin
operation := true;
N := StrToFloat(LeftStr(lblOyna.Caption, StrLen(pAnsiChar(lblOyna.Caption))-
1));
if OperType = '-' then lblOyna.Caption := FloatToStr(TempN-N)+','
else if OperType = '+' then lblOyna.Caption := FloatToStr(TempN+N)+','
else if OperType = '*' then lblOyna.Caption := FloatToStr(TempN*N)+','
else if OperType = '%' then lblOyna.Caption := FloatToStr(TempN*N/100)+','
else if (OperType = '/') and (N<>0) then lblOyna.Caption :=
FloatToStr(TempN/N)+','
//else if (OperType = 'sqrt') and (N>0) then lblOyna.Caption :=
FloatToStr(sqrt(N))+','
else if (OperType = '1/x') and (N<>0) then lblOyna.Caption :=
FloatToStr(1/N)+','
// else if (OperType = '1/x') and (N<>0) then lblOyna.Caption := FloatToStr(N*(-
1))+','
end;
procedure TForm1.btnAyirishClick(Sender: TObject);
begin
TempN := StrToFloat(lblOyna.Caption);
Operation := true;
OperType := '-';
end;
procedure TForm1.btnKopaytirishClick(Sender: TObject);
begin
TempN := StrToFloat(lblOyna.Caption);
Operation := true;
OperType := '*';
end;
procedure TForm1.btnBolishClick(Sender: TObject);
begin
TempN := StrToFloat(lblOyna.Caption);
Operation := true;
OperType := '/';
end;
procedure TForm1.btnIldizClick(Sender: TObject);


12
begin
if (OperType = 'sqrt') and (N>0) then
N:=strtofloat(lblOyna.Caption);
Z:=sqrt(N) ;
lblOyna.Caption:=floattostr(z) ;
end;
procedure TForm1.btnFoizClick(Sender: TObject);
begin
TempN := StrToFloat(lblOyna.Caption);
Operation := true;
OperType := '%';
end;
procedure TForm1.btnTeskariSonClick(Sender: TObject);
begin
TempN := StrToFloat(lblOyna.Caption);
Operation := true;
OperType := '1/x';
end;
procedure TForm1.btnCClick(Sender: TObject);
begin
//lblOyna.Text:='';
//if operation then lblOyna.Caption := '0,';
lblOyna.Caption := '0,';
end;
procedure TForm1.btnChangeValClick(Sender: TObject);
begin
N:=strtofloat(lblOyna.Caption);
Z:=N*(-1);
lblOyna.Caption:=floattostr(z);
end;
end.


13

Download 231.17 Kb.

Do'stlaringiz bilan baham:
1   2   3   4   5   6




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling