?? unit1.pas
字號(hào):
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs,comobj, StdCtrls;//新加comobj
type
TForm1 = class(TForm)
Button1: TButton;
Edit1: TEdit;
Edit2: TEdit;
procedure Button1Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure Edit1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
function calc(const expression:string):single;
var
sc:OleVariant;
begin
try//finally
try //except
sc:=CreateOleObject('MSScriptControl.ScriptControl.1');
sc.language:='JavaScript';
result:=Strtofloat(sc.eval(expression));
except
on E:Exception do
Application.MessageBox(PChar(E.Message),'錯(cuò)誤');
else
showmessage('未知錯(cuò)誤');
end;
finally
begin
//showmessage('請(qǐng)重新輸入'); //可以用,但不合適
end;
end;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
try
edit2.Text :=floattostr(calc(edit1.Text));
edit1.SetFocus ;
except
showmessage('錯(cuò)誤的輸入字符串!');
end;
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
edit1.Text :='請(qǐng)?jiān)诖溯斎胗?jì)算公式';
edit2.Text :='';
edit1.TabOrder:=0;
end;
//按ENTER鍵始終不能將其EDIT1選中。而用BUTTON1 CLICK就行。
procedure TForm1.Edit1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if (key=vk_return) then
begin
try
edit2.Text :=floattostr(calc(edit1.Text));
edit1.SetFocus ;
//edit1.AutoSelect :=true;
edit1.SelectAll ;
//showmessage('yun xing dao zhe le');
finally
//edit1.SetFocus ;
form1.SelectFirst ;
end;
end;
end;
end.
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -