با سلام
آقا كسي source ماشين حساب كه با دلفي نوشته شده باشه رو داره؟؟
با سلام
آقا كسي source ماشين حساب كه با دلفي نوشته شده باشه رو داره؟؟
winexec('calc',sw_show);
سلام
دوسته عزيز لازم نيست که حتماً شما سورس داشته باشی من با يک خط بهت ماشين حساب اکس پی ميدم خوبه با api فقط همين اگر باز کامپوننت خواستی واسه ماشين حساب من دارم ولی همين کارت رو راه مياندازه winexec('calc',sw_show);
winexec('کلک'،سو_شو)؛
اينطوری نوشتم که قاتی نکنی پرانتز ها شو
با سلام
آقا كد كامل ماشين حساب مي خوام
ماشين حسابي كه با دلفي نوشته شده باشه
unit U_Calc1;
{A simple calculator -
Do not change button names Btn0- Btn9 as the digits 0 -9 are extract from the
4th position of the name in a common routine}
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls;
type
TForm1 = class(TForm)
Btn7: TButton;
Btn6: TButton;
Btn5: TButton;
Btn4: TButton;
Btn3: TButton;
Btn2: TButton;
Btn1: TButton;
Btn0: TButton;
Btn8: TButton;
Btn9: TButton;
BtnPlus: TButton;
BtnMinus: TButton;
BtnMult: TButton;
BtnDiv: TButton;
BtnEq: TButton;
Result: TEdit;
BtnClear: TButton;
BtnDot: TButton;
procedure DigitBtnClick(Sender: TObject);
procedure BtnDotClick(Sender: TObject);
procedure BtnPlusClick(Sender: TObject);
procedure BtnMinusClick(Sender: TObject);
procedure BtnMultClick(Sender: TObject);
procedure BtnDivClick(Sender: TObject);
procedure BtnClearClick(Sender: TObject);
procedure FormActivate(Sender: TObject);
procedure BtnEqClick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
r:double; {result}
w:string; {string form of number being entered}
dotentered:Boolean; {true ==> w has a decimal point already}
startnew:Boolean; {true ==> call reset on next keypress}
lastop, nextToLastOp :char; {preceding operators}
Procedure AddDigit(c:char); {tack a digit onto W, etc}
Procedure HandleOp(c:char); {handle operator stuff}
procedure Reset;
end;
var
Form1: TForm1;
implementation
{$R *.DFM}
Procedure TForm1.Reset; {Clear everything out}
begin
w:='';
dotentered:=false;
r:=0.0;
result.text:='';
startnew:=false;
lastop:=' ';
end;
Procedure TForm1.AddDigit(c:char); {User pressed a digit}
Begin
If startnew then reset;
result.text:=result.text+c; {add digit to display expression}
w:=w+c; {add digit to number being built}
end;
Procedure TForm1.HandleOp(c:char); {User pressed an operator}
var
x:double;
Begin
If startnew then reset;
If length(w)>0 then {If there's a number in w then handle it}
Begin
x:=strtofloat(w);
If lastop<>' ' then {lastop is the operation preceding W}
Begin
case lastop of
'+': r:=r+x;
'-': r:=r-x;
'*': r:=r*x;
'/': r:=rx;
end;
end
else r:= x; {If no lastop - it's the first number, just move it to r}
w:='';
dotentered:=false;
nextToLastOp := lastop; {we need this to decide whether to insert parens}
lastop:=c;
{OK - if op is * or / and prev op was + or -, put the whole thing in parens}
If (c in ['*','/']) and (NextToLastOp in ['+','-'])
then Result.text:='('+Result.text+')';
Result.text:=Result.text+c;
end
else beep; {User entered 2 ops togeether or op as first entry}
end;
procedure TForm1.DigitBtnClick(Sender: TObject);
{handles all digits}
begin
{NOTE! 4th character of button name is the digit - do NOT rename buttons!}
If sender is TButton
then If TButton(Sender).name[4] in ['0'..'9']
then AddDigit(TButton(sender).name[4])
else beep;
end;
procedure TForm1.BtnDotClick(Sender: TObject);
begin
If startnew then reset;
{make sure we get at most one decimal point in the number}
If not dotentered then begin AddDigit('.'); dotentered:=true; end
else beep;
end;
procedure TForm1.BtnPlusClick(Sender: TObject);
begin Handleop('+'); end;
procedure TForm1.BtnMinusClick(Sender: TObject);
begin Handleop('-'); end;
procedure TForm1.BtnMultClick(Sender: TObject);
begin Handleop('*'); end;
procedure TForm1.BtnDivClick(Sender: TObject);
begin Handleop('/'); end;
procedure TForm1.BtnClearClick(Sender: TObject);
begin reset; end;
procedure TForm1.FormActivate(Sender: TObject);
begin reset; end;
procedure TForm1.BtnEqClick(Sender: TObject);
begin
Handleop('=');
result.text:=result.text+floattostr(r); {convert the result and add to display}
startnew:=true; {set flag to start over on next keypress}
end;
end.
سلام از آدرس زیر می تونی سورس برنامه را دریافت کنی
[ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ]
سلام
دوسته عزيز اگه هدف ماشين حساب هست که با يک خط شما ماشين حساب داری ماشين حساب ماشين حساب هست ديگه چرا با delphi ميخوای من متوجه نميشام منظوره شما از ماشين حساب با کد delphi برايه چی هست و هدف شما چيه؟
با سلام
دستتون درد نکنه از راهنمایی تون ولی کد اینجوری به درد نمی خوره کل پروزه را اگه میشه بذارید برای دانلود ولی این کد هم به درد نمی خوره
اگه کد ماشین حساب مهندسی را کسی داره ممنون میشم کمک کنه :oops:
کارلوس جان ماشین حساب ویندوز که اگه می خواستم همینجوری استفاده می کردم چه نیازی به دلفی بود
من می خوام ماشین حسابو با خود دلفی بنویسم :roll:
سلام
شما اگه ماشین حساب مهندسی میخی چرا از کمپننت ماشین حساب استفاده نمیکنی اونجا cal advanced مثلا بد کلی کمپننت بهت معرفی میکنه یا از vcl component اگه خواستی بگو برات یکی 2 تا کمپننت ماشین حساب برات اپلد اونم ببین به دردت میخره یا نه.
در مورد اون که فرمودی که اگه ماشین حساب خود xp را میخواستم که بود باید بگم که بله باید برین در start and all programs ==در آنجا بیاری ولی با این کد در پروژه خودت با یک کیلیک میاری فرقش اینه
هم اکنون 1 کاربر در حال مشاهده این تاپیک میباشد. (0 کاربر عضو شده و 1 مهمان)