zoukankan      html  css  js  c++  java
  • Delphi APP 開發入門(三)簡易計算機

    Delphi APP 開發入門(三)簡易計算機

    上週大家學會了設定Android/iOS編譯環境以及寫出第一個Hello World之後,我們今天要來寫第一隻APP簡易計算機。

    新增一個空白的APP專案後,我們在畫面上新增一個Edit元件,並且將Align的屬性設為Top(置頂)。

    螢幕快照 2014-05-19 下午8.06.47

    接著更改Edit的TextSettings內的HorzAlign為Trailing,讓文字是靠右對齊。

    螢幕快照 2014-05-19 下午9.10.08

    接著開始佈置計算機的按鈕,我們使用Button元件,更改Text屬性並且拉到適當位置。

    螢幕快照 2014-05-19 下午9.16.111

    都佈置好了之後,我們就可以開始撰寫程式了。程式大概有幾個部份~

    • 數字按鈕處理(按下0~9及小數點)
    • 運算元處理(按下+、-、*、/)
    • 計算結果處理(按下=)
    • 其他部份(按C歸零、按+/-、與%)

    我們來一一處理它。

    數字按鈕處理

    我們先在程式裡宣告三個變數,分別是num1、num2 第一、二次輸入的數字,R運算結果,類型則為Extended。另外是一個iOperator的Integer,這是用來記錄運算元的(1表+、2表-、3表*、4表/)。

    var
    Form1: TForm1;
    num1,num2,R:Extended;
    ioperator:integer;

    接著我們處理數字及小數點按下的事件,在按鈕0雙擊二下,輸入以下程式碼。如果顯示的是0或是不是按小數點的話,就直接顯示輸入的數字,如果不成立的話,就將螢幕上顯示的數字累加。

    procedure TForm1.Button1Click(Sender: TObject);
    begin
      if (Edit1.Text = '0') And (TButton(Sender).Text<>'.')   then
        Edit1.Text := TButton(Sender).Text
      else Edit1.Text := Edit1.Text + TButton(Sender).Text;
    end;

    寫完後,我們將其它1-9以及小數點的按鈕的OnClick事件都指令到Button1Click就可以了。因為在我們剛才寫的事件中,是透過TButton(Sender).Text去判斷按鈕值,而不同按鈕傳入的Sender不同就可以做各自判斷了!

    螢幕快照 2014-05-19 下午8.50.18

    運算元處理

    接著處理加減乘除的部份,我們也在+的按鈕點二下,輸入以下的程式碼。在按下時先將目前螢幕上顯示的值記錄到num1,接著判斷按鈕是+-*/而給予iOperator不同的值,最後將螢幕上清為0。

    procedure TForm1.Button5Click(Sender: TObject);
    begin
      num1 := StrToFloat(Edit1.Text);
      if TButton(Sender).Text = '+' then
        iOperator := 1
      else if TButton(Sender).Text = '-' then
        iOperator := 2
      else if TButton(Sender).Text = 'X' then
        iOperator := 3
      else if TButton(Sender).Text = '/' then
        iOperator := 4
      else iOperator := 0;
      Edit1.Text := '0';
    end;

    寫完後一樣如同上一個步驟,將-*/的按鈕指定到Button5Click即可。

    計算結果處理

    最後處理結果=的按鈕,在=按鈕雙擊二下後,輸入以下的程式碼。

    procedure TForm1.Button7Click(Sender: TObject);
    begin
      if iOperator >0  then begin
        num2 := StrToFloat(Edit1.Text);
        case iOperator of
          1: R := num1 + num2;
          2: R := num1 - num2;
          3: R := num1 * num2;
          4: R := num1 / num2;
        end;
        Edit1.Text := FloatToStr(R);
      end;
    end;

    其他部份

    • 歸零 – 把螢幕清空為零
    • 正負值 – 將數字乘以負1
    • 百分比 – 將數字除以100

    結果

    最後執行後,我們可以看到程式的執行結果囉!完成了我們第一支同時支援Android、iOS、Wind32的計算機APP了。

    原始碼下載  https://github.com/superlevin/XE6calculator

  • 相关阅读:
    iOS-SetNeedsLayout,layoutNeeded和layoutSubviews方法之间的关系
    iOS-基础知识-assign,copy,retain,strong,weak的区别
    iOS中单例的两种方法
    iOS-项目国际化
    iOS-项目分析,框架搭建
    iOS-项目远程推送1
    iOS-developer.Apple开发账号操作步骤
    iOS系统办公软件ppt等如何转换windows下可以打开的格式
    iOS-Senior18-第三方初级
    iOS-Senior23-科大讯飞语音识别2
  • 原文地址:https://www.cnblogs.com/honeynm/p/4194799.html
Copyright © 2011-2022 走看看