Bilimsel Hesap Makinesi[DeLphi]

ALpMontana

КЯaL´da TaNıMaM КuяaL´da
Katılım
28 May 2006
Mesajlar
6,644
Reaction score
0
Puanları
0
Yaş
38
Konum
Eski Açık [ALiSamiYEN]

Çok fonksiyonlu hesap makinesi

programı hazır zipleyip wermedım bu şekiLde istediğiniz alnı geliştirip daraltırsınız.



unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ComCtrls, Buttons, XPMan, math, ExtCtrls, Menus;

type
TForm1 = class(TForm)
BitBtn1: TBitBtn;
BitBtn2: TBitBtn;
BitBtn3: TBitBtn;
BitBtn4: TBitBtn;
BitBtn5: TBitBtn;
BitBtn6: TBitBtn;
BitBtn7: TBitBtn;
BitBtn8: TBitBtn;
BitBtn9: TBitBtn;
BitBtn10: TBitBtn;
BitBtn11: TBitBtn;
BitBtn12: TBitBtn;
BitBtn13: TBitBtn;
arti: TBitBtn;
BitBtn15: TBitBtn;
bolu: TBitBtn;
carpi: TBitBtn;
eksi: TBitBtn;
BitBtn19: TBitBtn;
c: TBitBtn;
BitBtn21: TBitBtn;
BitBtn22: TBitBtn;
BitBtn23: TBitBtn;
BitBtn24: TBitBtn;
BitBtn25: TBitBtn;
BitBtn26: TBitBtn;
BitBtn27: TBitBtn;
BitBtn28: TBitBtn;
BitBtn29: TBitBtn;
BitBtn30: TBitBtn;
BitBtn31: TBitBtn;
BitBtn32: TBitBtn;
BitBtn33: TBitBtn;
BitBtn35: TBitBtn;
BitBtn36: TBitBtn;
BitBtn37: TBitBtn;
BitBtn38: TBitBtn;
BitBtn39: TBitBtn;
BitBtn40: TBitBtn;
XPManifest1: TXPManifest;
BitBtn41: TBitBtn;
BitBtn42: TBitBtn;
BitBtn43: TBitBtn;
BitBtn44: TBitBtn;
BitBtn47: TBitBtn;
BitBtn48: TBitBtn;
BitBtn49: TBitBtn;
BitBtn50: TBitBtn;
BitBtn51: TBitBtn;
BitBtn60: TBitBtn;
Panel1: TPanel;
edit1: TLabel;
Timer1: TTimer;
StatusBar1: TStatusBar;
MainMenu1: TMainMenu;
Dosya1: TMenuItem;
Grnm1: TMenuItem;
Standart1: TMenuItem;
Bilimsel1: TMenuItem;
BitBtn14: TBitBtn;
BitBtn16: TBitBtn;
BitBtn17: TBitBtn;
BitBtn18: TBitBtn;
BitBtn20: TBitBtn;
BitBtn61: TBitBtn;
BitBtn62: TBitBtn;
BitBtn63: TBitBtn;
Yardm1: TMenuItem;
Hakkmda1: TMenuItem;
Kapat1: TMenuItem;
BitBtn64: TBitBtn;
Timer2: TTimer;
procedure BitBtn1Click(Sender: TObject);
procedure BitBtn2Click(Sender: TObject);
procedure BitBtn3Click(Sender: TObject);
procedure BitBtn4Click(Sender: TObject);
procedure BitBtn5Click(Sender: TObject);
procedure BitBtn6Click(Sender: TObject);
procedure BitBtn7Click(Sender: TObject);
procedure BitBtn8Click(Sender: TObject);
procedure BitBtn9Click(Sender: TObject);
procedure BitBtn10Click(Sender: TObject);
procedure BitBtn11Click(Sender: TObject);
procedure artiClick(Sender: TObject);
procedure eksiClick(Sender: TObject);
procedure carpiClick(Sender: TObject);
procedure boluClick(Sender: TObject);
procedure BitBtn19Click(Sender: TObject);
procedure BitBtn13Click(Sender: TObject);
procedure cClick(Sender: TObject);
procedure BitBtn41Click(Sender: TObject);
procedure BitBtn43Click(Sender: TObject);
procedure BitBtn44Click(Sender: TObject);
procedure BitBtn47Click(Sender: TObject);
procedure BitBtn28Click(Sender: TObject);
procedure BitBtn39Click(Sender: TObject);
procedure BitBtn38Click(Sender: TObject);
procedure BitBtn40Click(Sender: TObject);
procedure BitBtn48Click(Sender: TObject);
procedure BitBtn49Click(Sender: TObject);
procedure BitBtn50Click(Sender: TObject);
procedure BitBtn51Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure FormMouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure Timer1Timer(Sender: TObject);
procedure BitBtn33Click(Sender: TObject);
procedure BitBtn21Click(Sender: TObject);
procedure BitBtn35Click(Sender: TObject);
procedure BitBtn36Click(Sender: TObject);
procedure BitBtn37Click(Sender: TObject);
procedure BitBtn12Click(Sender: TObject);
procedure BitBtn22Click(Sender: TObject);
procedure BitBtn31Click(Sender: TObject);
procedure BitBtn30Click(Sender: TObject);
procedure BitBtn14Click(Sender: TObject);
procedure BitBtn26Click(Sender: TObject);
procedure BitBtn29Click(Sender: TObject);
procedure BitBtn17Click(Sender: TObject);
procedure BitBtn18Click(Sender: TObject);
procedure BitBtn20Click(Sender: TObject);
procedure BitBtn61Click(Sender: TObject);
procedure BitBtn62Click(Sender: TObject);
procedure BitBtn63Click(Sender: TObject);
procedure BitBtn16Click(Sender: TObject);
procedure Hakkmda1Click(Sender: TObject);
procedure Kapat1Click(Sender: TObject);
procedure BitBtn64Click(Sender: TObject);
procedure Timer2Timer(Sender: TObject);
procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean);
procedure Standart1Click(Sender: TObject);
procedure Bilimsel1Click(Sender: TObject);
procedure BitBtn15Click(Sender: TObject);
procedure BitBtn32Click(Sender: TObject);
procedure BitBtn42Click(Sender: TObject);
procedure BitBtn60Click(Sender: TObject);
procedure BitBtn23Click(Sender: TObject);
procedure BitBtn24Click(Sender: TObject);
procedure BitBtn25Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;
sayi1:integer;
islem:integer;
sayi2:integer;
sonuc1:integer;
sonuc:real;
z,c,d,w:integer;
deger : real;
derece: string[10];
islem5: string[10];
degersifirla : string[5];
sayisistemi : string[3];
tutup: Boolean;
a,t,i: Integer;
Islem2: integer;
f:char;
gecicisayi,
gecicisayi2,
Hafiza,
ilksayi,
GeciciSayi3,
IkinciSayi,
yrdsayi,
IslemSonucu : real;
Sonuc15 : string[20];
say1,say2,say3,sayac,olcu,ilk,ikinci,ison:integer;
s:string;


implementation

{$R *.dfm}

procedure TForm1.BitBtn1Click(Sender: TObject);
begin
edit1.caption:=edit1.caption+'1';
end;

procedure TForm1.BitBtn2Click(Sender: TObject);
begin
edit1.caption:=edit1.caption+'2';
end;

procedure TForm1.BitBtn3Click(Sender: TObject);
begin
edit1.caption:=edit1.caption+'3';
end;

procedure TForm1.BitBtn4Click(Sender: TObject);
begin
edit1.caption:=edit1.caption+'4';
end;

procedure TForm1.BitBtn5Click(Sender: TObject);
begin
edit1.caption:=edit1.caption+'5';
end;

procedure TForm1.BitBtn6Click(Sender: TObject);
begin
edit1.caption:=edit1.caption+'6';
end;

procedure TForm1.BitBtn7Click(Sender: TObject);
begin
edit1.caption:=edit1.caption+'7';
end;

procedure TForm1.BitBtn8Click(Sender: TObject);
begin
edit1.caption:=edit1.caption+'8';
end;

procedure TForm1.BitBtn9Click(Sender: TObject);
begin
edit1.caption:=edit1.caption+'9';
end;

procedure TForm1.BitBtn10Click(Sender: TObject);
begin
edit1.caption:=edit1.caption+'0';
end;

procedure TForm1.BitBtn11Click(Sender: TObject);
begin
edit1.caption:=edit1.caption+'000';
end;

procedure TForm1.artiClick(Sender: TObject);
begin
sayi1:=strtoint(edit1.caption);
islem:=1;
edit1.caption:=";
arti.Enabled:=true;
end;

procedure TForm1.eksiClick(Sender: TObject);
begin
sayi1:=strtoint(edit1.caption);
islem:=2;
edit1.caption:=";
eksi.Enabled:=true;
end;

procedure TForm1.carpiClick(Sender: TObject);
begin
sayi1:=strtoint(edit1.caption);
islem:=3;
edit1.caption:=";
carpi.Enabled:=true;
end;

procedure TForm1.boluClick(Sender: TObject);
begin
sayi1:=strtoint(edit1.caption);
islem:=4;
edit1.caption:=";
bolu.Enabled:=true;
end;

procedure TForm1.BitBtn19Click(Sender: TObject);
begin
edit1.caption:=";
sayi1:=0;
sayi2:=0;
edit1.caption:=";
end;

procedure TForm1.BitBtn13Click(Sender: TObject);
begin

sayi2:=strtoint(edit1.caption);
if islem=1 then sonuc:=sayi1+sayi2;
if islem=2 then sonuc:=sayi1-sayi2;
if islem=3 then sonuc:=sayi1*sayi2;
if islem=4 then sonuc:=sayi1/sayi2;
if islem=5 then sonuc:=sayi1*sayi2/100;

edit1.caption:=floattostr(sonuc);

//if z=0 then begin showmessage('Sıfıra Bölme Hatası') end else
//if f='%' then begin edit1.caption:="; edit1.caption:=inttostr((c*z) div 100);end
end;

procedure TForm1.cClick(Sender: TObject);
begin
Sonuc15:=('0');
edit1.Caption:=Sonuc15;

end;

procedure TForm1.BitBtn41Click(Sender: TObject);
var
a:Real;
sonuc2:Real;
begin
a:=StrToFloat(edit1.caption);
sonuc2:=abs(a); //pozitife çevir
edit1.caption:=FloatToStr(sonuc2);
end;

procedure TForm1.BitBtn43Click(Sender: TObject);
var
sayi7:Real;
sonuc1:Integer;
begin
sayi7:=StrToFloat(edit1.caption);
sonuc1:=Floor(sayi7); //Bir alt tam sayıya indir.
edit1.caption:=IntToStr(sonuc1);

end;

procedure TForm1.BitBtn44Click(Sender: TObject);
var
sayi3:Real;
sonuc1:Integer;
begin
sayi3:=StrToFloat(edit1.caption);
sonuc1:=Trunc(sayi3); //sadece tam kısmını göster
edit1.caption:=IntToStr(sonuc1);// 125 yazar
end;

procedure TForm1.BitBtn47Click(Sender: TObject);
var
sayi9:Real;
sonuc2:Extended;
begin
sayi9:=StrToFloat(edit1.caption); //isterseniz bir kontrolden değer aktarabilirsiniz.
sonuc2:=Frac(sayi9); //ondalıklı kısmı al
edit1.caption:=FloatToStr(sonuc2);// 0.756 yazar

end;

procedure TForm1.BitBtn28Click(Sender: TObject);
var
sayi12:Real;
sonuc:Real;
begin
sayi12:=StrToFloat(edit1.caption);
sonuc:=Ln(sayi12);
edit1.caption:=FloatToStr(sonuc);

end;

procedure TForm1.BitBtn39Click(Sender: TObject);
var
sayi13:Real;
sonuc:Real;
begin
sayi13:=StrToFloat(edit1.caption);
sonuc:=Log10(sayi13);
edit1.caption:=FloatToStr(sonuc);
end;

procedure TForm1.BitBtn38Click(Sender: TObject);
var
sayi14:Real;

begin
sayi14:=StrToFloat(edit1.caption);
sonuc:=Log2(sayi14);
edit1.caption:=FloatToStr(sonuc);


end;

procedure TForm1.BitBtn40Click(Sender: TObject);
var
n: int64;
sonuc : real;
begin
n:=StrToInt(InputBox('LogN','N :','2'));
if n=0 then exit;
sonuc:=StrToFloat(edit1.caption);
sonuc:=LogN(n,sonuc);
edit1.caption:=FloatToStr(sonuc);
degersifirla :='evet';
end;


procedure TForm1.BitBtn48Click(Sender: TObject);
var
deger1:Extended;
sonuc2:Extended;
begin
deger1:=StrToFloat(edit1.caption);
sonuc2:=Round(deger1); //alta veya üste yuvarla
edit1.caption:=FloatToStr(sonuc2); //10yazar

end;

procedure TForm1.BitBtn49Click(Sender: TObject);
var
ilk:Double;
sonuc1:Integer;
begin
ilk:=StrToFloat(edit1.caption);
sonuc:=Sign(ilk);
if sonuc=1 then
ShowMessage('Sayı Pozitif')
else if sonuc=-1 then
ShowMessage('Sayı Negatif')
else if sonuc=0 then //sadece else de yeterliydi
ShowMessage('Sayı Sıfır');
end;

procedure TForm1.BitBtn50Click(Sender: TObject);
var
sayi17,sonuc:Double;
begin
sayi17:=StrToFloat(edit1.caption);
sonuc:=Sqr(sayi17); //karesini hesapla
edit1.caption:=FloatToStr(sonuc);
end;

procedure TForm1.BitBtn51Click(Sender: TObject);
var
sayi18,sonuc:Double;
begin
sayi18:=StrToFloat(edit1.caption);
sonuc:=Sqrt(sayi18); //karekökünü hesapla
edit1.caption:=FloatToStr(sonuc); //10 yazar
end;

procedure TForm1.FormCreate(Sender: TObject);
var
region: HRgn;
begin
form1.Height:=460;
form1.Width:=261;
region:=CreateRoundRectRgn(1, 1, 720, 560, 30, 30);
SetWindowRgn(handle, region, true);

animatewindow(handle,500,aw_ver_positive or aw_ver_negative or AW_BLEND);
begin
tutup := True;
timer2.Enabled := False;
end;

end;



procedure TForm1.FormMouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
ReleaseCapture;
Form1.perform(WM_SYSCOMMAND, $F012, 0);
end;

procedure TForm1.Timer1Timer(Sender: TObject);
begin
statusbar1.Panels[0].Text:=' MEHMET ve HAKAN [ '+TimeToStr(time) +' ]';
end;

procedure TForm1.BitBtn33Click(Sender: TObject);
begin
sonuc1:=1;
for w:=1 to strtoint(edit1.caption) do begin
sonuc1:=sonuc1*w; end;
edit1.caption:=inttostr(sonuc1);
end;

procedure TForm1.BitBtn21Click(Sender: TObject);
begin
edit1.caption:='-'+edit1.caption;
end;

procedure TForm1.BitBtn35Click(Sender: TObject);
begin
z:=strtoint(edit1.caption);
edit1.caption:=";
edit1.caption:=floattostr(sin(pi*z/180));

end;

procedure TForm1.BitBtn36Click(Sender: TObject);
begin
z:=strtoint(edit1.caption);
edit1.caption:=";
edit1.caption:=floattostr(cos(pi*z/180));
end;

procedure TForm1.BitBtn37Click(Sender: TObject);
begin
z:=strtoint(edit1.caption);
edit1.caption:=";
edit1.caption:=floattostr((sin(pi*z/180))/(cos(pi*z/180)));
end;

procedure TForm1.BitBtn12Click(Sender: TObject);
begin
edit1.caption:=edit1.caption+',';
end;

procedure TForm1.BitBtn22Click(Sender: TObject);
var
i : string;
begin

i:=edit1.caption;
if length(i)=1 then
begin
edit1.caption:='0';
exit;
end;
Delete(i,length(i),1);
edit1.caption:=i;
end;

procedure TForm1.BitBtn31Click(Sender: TObject);
begin
z:=strtoint(edit1.caption);
edit1.caption:=";
edit1.caption:=inttostr(z*z*z);
end;

procedure TForm1.BitBtn30Click(Sender: TObject);
begin
sayi1:=strtoint(edit1.caption);
sonuc1:=sayi1*sayi1;
edit1.caption:=inttostr(sonuc1);
end;

procedure TForm1.BitBtn14Click(Sender: TObject);
begin
close;
end;

procedure TForm1.BitBtn26Click(Sender: TObject);
var
kontrol:integer;
hafiza,ikincisayi:real;
sonuc:string[9];
begin
if kontrol= 1 then begin
ikincisayi:=strtofloat(sonuc);
hafiza:=hafiza+ikincisayi;
end;
end;

procedure TForm1.BitBtn29Click(Sender: TObject);
var
y : extended;
i : real;
j : string;
begin
j:=InputBox('x^y','Y Değerini Giriniz','0');
i:=StrTofloat(j);
y:=StrToFloat(panel1.Caption);
y:=power(y,i);
panel1.Caption:=FloatToStr(y);
degersifirla :='evet';
end;

procedure TForm1.BitBtn17Click(Sender: TObject);
begin

if degersifirla='evet' then
begin
edit1.caption:=";
degersifirla:='hayir';
end;

if edit1.caption='0' then
begin
edit1.caption:='A';
exit;
end;

edit1.caption:=edit1.caption+'A';

end;



procedure TForm1.BitBtn18Click(Sender: TObject);
begin

if degersifirla='evet' then
begin
edit1.caption:=";
degersifirla:='hayir';
end;

if edit1.caption='0' then
begin
edit1.caption:='B';
exit;
end;

edit1.caption:=edit1.caption+'B';

end;


procedure TForm1.BitBtn20Click(Sender: TObject);
begin

if degersifirla='evet' then
begin
edit1.caption:=";
degersifirla:='hayir';
end;

if edit1.caption='0' then
begin
panel1.Caption:='C';
exit;
end;

edit1.caption:=edit1.caption+'C';

end;

procedure TForm1.BitBtn61Click(Sender: TObject);
begin

if degersifirla='evet' then
begin
edit1.caption:=";
degersifirla:='hayir';
end;

if edit1.caption='0' then
begin
edit1.caption:='D';
exit;
end;

edit1.caption:=edit1.caption+'D';

end;

procedure TForm1.BitBtn62Click(Sender: TObject);
begin

if degersifirla='evet' then
begin
edit1.caption:=";
degersifirla:='hayir';
end;

if edit1.caption='0' then
begin
edit1.caption:='E';
exit;
end;

edit1.caption:=edit1.caption+'E';

end;

procedure TForm1.BitBtn63Click(Sender: TObject);
begin

if degersifirla='evet' then
begin
edit1.caption:=";
degersifirla:='hayir';
end;

if edit1.caption='0' then
begin
edit1.caption:='F';
exit;
end;

edit1.caption:=edit1.caption+'F';

end;

procedure TForm1.BitBtn16Click(Sender: TObject);
begin
ShowMessage('Bu Program MEHMET GÖLCÜK ve HAKAN tarafından Yapılmıştır!!!'+ #13 +'Mail : [email protected]');
end;

procedure TForm1.Hakkmda1Click(Sender: TObject);
begin
ShowMessage('Bu Program MEHMET GÖLCÜK ve HAKAN'+#13+
'Tarafından Hazırlanmıştır'+#13+
'Mail :Mİ[email protected]'+#13+
'(C)2007');
end;

procedure TForm1.Kapat1Click(Sender: TObject);
begin
close;
end;

procedure TForm1.BitBtn64Click(Sender: TObject);
var
FullProgPath: PChar;
begin
FullProgPath := PChar(Application.ExeName);
// ShowWindow(Form1.handle,SW_HIDE);
WinExec(FullProgPath, SW_SHOW);
Application.Terminate;

end;

procedure TForm1.Timer2Timer(Sender: TObject);
var
reg1, reg2: hrgn;
begin
if tutup = True then
begin
i := i + 10;
reg1 := CreateRoundRectRgn(0 + i, 0 + i, Width - i, Height - i, 20, 20);
SetWindowRgn(Handle, reg1, True);
end;

if i >= Width then
begin
tutup := False;
i := 1;
end;

if tutup = False then
begin
i := i + 10;
reg1 := CreateRectRgn(0, 0, (Width div 2) - i, Height);
reg2 := CreateRectRgn((Width div 2) + i, 0, Width, Height);
CombineRgn(reg1, reg1, reg2, rgn_or);
SetWindowRgn(Handle, reg1, True);
if i >= Width div 2 then
begin
tutup := True;
i := 1;
end;
end;
end;


procedure TForm1.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
var
reg1: hrgn;
begin
i := 75;
timer2.Enabled := True;
if MessageDlg('Çıkış ?',
mtConfirmation, [mbYes, mbNo], 0) = mrYes then
CanClose := True
else
begin
CanClose := False;
timer2.Enabled := False;
reg1 := CreateRoundRectRgn(0, 0, Width, Height, 0, 0);
SetWindowRgn(Handle, reg1, True);
end;
end;


procedure TForm1.Standart1Click(Sender: TObject);
begin
form1.Height:=460;
form1.Width:=261;
end;

procedure TForm1.Bilimsel1Click(Sender: TObject);

var
ani: Integer;
begin
form1.Height:=460;
form1.Width:=470;
ani := 237;
repeat ani := ani + 1;
Form1.Width := ani;
until ani >= 470;
end;



procedure TForm1.BitBtn15Click(Sender: TObject);
begin
f:='%';
z:=strtoint(edit1.caption);
edit1.caption:=";
bitbtn20.Enabled:=true;


end;

procedure TForm1.BitBtn32Click(Sender: TObject);
begin
z:=strtoint(edit1.caption);
edit1.caption:=";
edit1.caption:=floattostr(1/z);
end;

procedure TForm1.BitBtn42Click(Sender: TObject);
var
sayi12: Real;
Sonuc13 : Integer;
begin
Sayi12 :=StrToFloat(edit1.caption);
Sonuc13 :=Ceil(sayi12); // Editteki değeri bir üst tam sayıya yuvarla
edit1.caption:= IntToStr(sonuc13);
end;



procedure TForm1.BitBtn60Click(Sender: TObject);
begin
t:=strtointdef(edit1.caption,0);
edit1.caption:=";
for i:=0 to 15 do edit1.caption:=inttostr((t shr i) and 1)+ edit1.caption;
end;

procedure TForm1.BitBtn23Click(Sender: TObject);
begin
Hafiza:=0;
edit1.caption:='0';

end;

procedure TForm1.BitBtn24Click(Sender: TObject);
begin
Sonuc15:=floattostr(Hafiza);
edit1.Caption:=Sonuc15;

end;

procedure TForm1.BitBtn25Click(Sender: TObject);
begin
Hafiza:=strtofloat(Sonuc15);
end;

end.
 
teşekkürler eine saglık
 
aga ben buna bakarken kodları anlamak icin olmayan beynım sulandı ama emegin için bi tesekkür hersey içinde bana biraz ögretirmısın dicem ben dandik toplama karakök alam bist işlemler için hesap makinası yapabiliyorum ama bana böle devasal bise yapmadım hiç biraz ögretsen yeterli, döngi filan bir kac şey biliyorum msn adresim cogu zaman acık eklersen sevinirim [email protected]
 
programın ekran görüntüsü olsaydı iyi olacaktı, paylaşım için teşekkürler.
 
Geri
Üst