熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> Delphi編程 >> 正文

第一個delphi for php的小程序

2013-11-23 17:39:55  來源: Delphi編程 

  今天化了一個小時寫了一個小程序我的delphi php的第一個程序功能是在浏覽器上顯示一道簡單的加法題用戶可以輸入答案電腦會告訴你正確或者錯誤然後可以再來一題功能很簡單主要為了熟悉delphi for php寫的時候不時地查閱php幫助發現這次codegear的php幫助做的還是不錯的

  程序如下

//Includes
require_once(vcl/vclincphp);
use_unit(formsincphp);
use_unit(extctrlsincphp);
use_unit(stdctrlsincphp);
//Class definition
class Unit extends Page
{
public $txtAnswer = null;
public $btnB = null;
public $btnA = null;
public $btnRun = null;
public $lblMsg = null;
public $Button = null;
public $Button = null;
function btnRunClick($sender $params)
{
$a=rand();
$b=rand();
$this>btnA>Caption=$a;
$this>btnB>Caption=$b;
$this>lblMsg>Caption= ;
$this>txtAnswer>Text= ;
}
function txtAnswerSubmit($sender $params)
{
global $a;
global $b;
global $c;
global $c;
$a=$this>btnA>Caption;
$b=$this>btnB>Caption;
$c=$a+$b;
$c=$this>txtAnswer>Text;
if ($c==$c){$this>lblMsg>Caption=Right;
} else {$this>lblMsg>Caption=Wrong;
}
}
}
global $application;
global $Unit;
//Creates the form
$Unit=new Unit($application);
//Read from resource file
$Unit>loadResource(__FILE__);
//Shows the form
$Unit>show();
?>

  第一次寫php有以下感受:

   delphiphp的IDE很強速度還是比較快的並且有了vclphp這樣的強大武器以後其他諸如zend的IDE可以徹底忘記了delphi的IDE的流暢感覺只有vs可以相比

   $this>lblMsg 這樣的對象寫法上來總是不適應因為沒有怎麼好好看php的書後來看了幾個例子基本上明白了其實和delphi原來的面向對象的體系幾乎是一樣的只是語法不同而已因為代碼提示的速度很快所以如果沒有出來代碼提示就可以認為是寫錯了

   寫$this很羅嗦不知道有沒有辦法可以簡化

   因為是面向對象的所以只需要考慮其中的事件處理上面的代碼中只有兩個內部的function的代碼是寫的別的都是delphi自動生成

   以上程序有一個小錯誤就是當Again按鈕點擊後在請空text的值得時候會發送一個submit導致label顯示wrong的信息我想可以用一個表示狀態的變量來進行全局控制

   每一句都要用; 結束特別是在if中的語句這點和pascal有些不同

   強大的IDE可以判斷{}的層次不至於出錯

   感覺這樣的例子寫法幾乎和windows原生程序沒有什麼差別並且比起intraweb也簡單很多php到底很強啊delphi則更強

   用向導生成的php代碼送到dh和surpass上都不能正常運行dh的出錯信息好像是不支持incphp這樣的後綴因為我不能修改dh上安裝的php設置文件只好有機會自己搭建一台apache的服務起來測試了delphiphp自己在調試的時候用的就是apache我想應該是設置上的問題

   據說delphiphp對於中文支持不好還沒有測試

   檢查語法正確功能沒有快捷鍵不太方便


From:http://tw.wingwit.com/Article/program/Delphi/201311/24854.html
    推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.