Kod: Tümünü seç
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Math, Menus, ExtCtrls;
type
TForm1 = class(TForm)
btnKapat: TButton;
Panel1: TPanel;
Edit: TEdit;
btnCE: TButton;
btnSil: TButton;
btnBack: TButton;
btnIsareti: TButton;
Button7: TButton;
Button8: TButton;
Button9: TButton;
Button4: TButton;
Button5: TButton;
Button6: TButton;
Button1: TButton;
Button2: TButton;
Button3: TButton;
Button10: TButton;
btnvirgul: TButton;
btnbol: TButton;
btncarp: TButton;
btncikar: TButton;
btntopla: TButton;
btnesittir: TButton;
btnKaresi: TButton;
btnYuzdesi: TButton;
btnKarekoku: TButton;
MainMenu1: TMainMenu;
Dosya1: TMenuItem;
k1: TMenuItem;
Dzen1: TMenuItem;
Kes1: TMenuItem;
Kopyala1: TMenuItem;
Yaptr1: TMenuItem;
N1: TMenuItem;
Temizle1: TMenuItem;
Seenekler1: TMenuItem;
Yardm1: TMenuItem;
Yalnzca4ilem1: TMenuItem;
YardmKonular1: TMenuItem;
HesapMakinesiHakknda1: TMenuItem;
lem1: TMenuItem;
opla1: TMenuItem;
kar1: TMenuItem;
Bl1: TMenuItem;
arp1: TMenuItem;
N2: TMenuItem;
Karesi1: TMenuItem;
KareKk1: TMenuItem;
Yzde1: TMenuItem;
N3: TMenuItem;
Eittir1: TMenuItem;
N4: TMenuItem;
zelletir1: TMenuItem;
Label1: TLabel;
Button11: TButton;
Button12: TButton;
procedure EditKeyPress(Sender: TObject; var Key: Char);
procedure EditKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);
procedure Button7Click(Sender: TObject);
procedure btnbolClick(Sender: TObject);
procedure btnKaresiClick(Sender: TObject);
procedure btnKarekokuClick(Sender: TObject);
procedure btnesittirClick(Sender: TObject);
procedure btnBackClick(Sender: TObject);
procedure btnSilClick(Sender: TObject);
procedure btnKapatClick(Sender: TObject);
procedure EditKeyUp(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure FormCreate(Sender: TObject);
procedure FormKeyPress(Sender: TObject; var Key: Char);
procedure Button11Click(Sender: TObject);
procedure FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure Button12Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1 : TForm1;
S1,S2 : real;
ISARET,DURUM: integer;
implementation
uses strutils, Unit2;
{$R *.dfm}
Function HESAPLA():string;
var
SONUC:currency;
begin
SONUC:=0;
case ISARET of
1: SONUC:=(S1+S2);
2: SONUC:=(S1-S2);
3: SONUC:=(S1/S2);
4: SONUC:=(S1*S2);
end;
S1:=0;
S2:=0;
S1:=(SONUC);
Result:=FloatToStr(SONUC);
end;
Procedure ISLEM();
begin
if (S1<>0) and (S2<>0) then
begin
Form1.Edit.Text:=HESAPLA();
end
else
begin
if S1=0 then S1:=StrToFloat(Form1.Edit.Text)
else
begin
if S2=0 then
begin
S2:=StrToFloat(Form1.Edit.Text);
Form1.Edit.Text:=HESAPLA;
end;
end;
end;
end;
procedure TForm1.EditKeyPress(Sender: TObject; var Key: Char);
begin
if (pos(',',TEdit(Sender).Text)>0) and (Key=',') then Key := #0;
if (Key<'0') or (Key>'9') then Key:=#0;
end;
procedure TForm1.EditKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
var
a :word;
DEGER :string;
begin
if Key=VK_Back then
begin
DEGER:=Edit.Text;
a:=length(DEGER);
Delete(DEGER,a,1);
Edit.Text:=DEGER;
Edit.SelStart:=a;
end;
if DURUM=1 then
begin
DURUM:=0;
Edit.Text:='';
end;
DEGER:=Edit.Text;
if key=VK_ADD then
begin
DURUM:=1;
ISARET:=1;
ISLEM();
end;
if Key=VK_SUBTRACT then
begin
DURUM:=1;
ISARET:=2;
ISLEM();
end;
if key=VK_DIVIDE then
begin
DURUM:=1;
ISARET:=3;
ISLEM();
end;
if key=VK_MULTIPLY then
begin
DURUM:=1;
ISARET:=4;
ISLEM();
end;
if Key=VK_DELETE then
begin
Edit.Text:='';
S1:=0;
S2:=0;
end;
end;
procedure TForm1.Button7Click(Sender: TObject);
begin
if DURUM=1 then
begin
DURUM:=0;
Edit.Text:='';
end;
Edit.Text:=Edit.Text + (Sender As TButton).Caption;
Edit.SetFocus;
end;
procedure TForm1.btnbolClick(Sender: TObject);
begin
if (Sender As TButton).Caption='+' then ISARET:=1;
if (Sender As TButton).Caption='-' then ISARET:=2;
if (Sender As TButton).Caption='/' then ISARET:=3;
if (Sender As TButton).Caption='*' then ISARET:=4;
Edit.Text:='';
end;
procedure TForm1.btnKaresiClick(Sender: TObject);
var
x,y:real;
begin
y:=StrtoFloat(Edit.Text);
x:=sqr(y);
Edit.Text:=FloatToStr(x);
end;
procedure TForm1.btnKarekokuClick(Sender: TObject);
var
x,y:real;
begin
y:=StrtoFloat(Edit.Text);
x:=sqrt(y);
Edit.Text:=FloatToStr(x);
end;
procedure TForm1.btnesittirClick(Sender: TObject);
begin
if S1=0 then S1:=StrToFloat(Edit.Text) else
S2:=StrToFloat(Edit.Text);
if (S1<>0) and (S2<>0) then Edit.Text:=HESAPLA();
end;
procedure TForm1.btnBackClick(Sender: TObject);
var
DEGER :string;
a :integer;
begin
DEGER:=Edit.Text;
a:=Length(DEGER);
Delete(DEGER,a,1);
Edit.Text:=DEGER;
Edit.SelStart:=a;
end;
procedure TForm1.btnSilClick(Sender: TObject);
begin
Edit.Text:='';
S1:=0;
S2:=0;
end;
procedure TForm1.btnKapatClick(Sender: TObject);
begin
MessageBeep(word(-1));
close;
end;
procedure TForm1.EditKeyUp(Sender: TObject; var Key: Word;
Shift: TShiftState);
//1'den fazla virgül girilmesini engelle
var
i :integer;
text :string;
kontrol :string;
kontrolsayac:integer;
begin
text:=Edit.text;
kontrolsayac:=0;
if Length(text) >= 1 then
begin
for i:=0 to Length(text) do
begin
kontrol:=Edit.Text[i];
if kontrol = ',' then
begin
kontrolsayac:=kontrolsayac+1;
if kontrolsayac>=1 then
begin
ShowMessage('Fazla virgül var; silinecek...');
text:=copy(Edit.Text,1,Length(text)-1);
Edit.Text:=text;
end;
end;
end;
end;
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
KeyPreview := true;
//formu görünmez yapma
//Brush.Style:=bsClear;
//formun başlığını kaldırmak
//SetWindowLong(Form1.Handle,GWL_STYLE,GetWindowLong(Handle,GWL_STYLE) and not WS_CAPTION);
//Height := ClientHeight;
//Görev Çubuğundaki butonunu gizleme
//SetWindowLong(Application.Handle,GWL_EXSTYLE, WS_EX_TOOLWINDOW);
end;
procedure TForm1.FormKeyPress(Sender: TObject; var Key: Char);
begin
//ESC ile kapatma
KeyPreview := true;
if Key = #27 then halt;
end;
procedure TForm1.Button11Click(Sender: TObject);
begin
//taskbar'a minimize
Application.Minimize;
CloseWindow(handle);
WindowState:=wsMinimized;
end;
procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
//Alt+F4 ile programın kapanmaması için:
//if ((ssAlt in Shift) and (Key = VK_F4)) then
//MessageBeep(word(-1));
//Key:=0;
end;
procedure TForm1.Button12Click(Sender: TObject);
begin
form2.Show;
end;
end.
1.sayıyı yazıyorum ve sonra artı'ya
2.sayıyı girip eşittir'e bastığımda tepki yok!..
zamanı olan bir arkadaş varsa ve inceleyebilirse çok sevinecem..