線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:34353
推到 Plurk!
推到 Facebook!
[<<] [1] [2] [3] [4] [5] [>>]

HTML App Develop Framework 套件 Delphi7 先行版

 
JL9168
中階會員


發表:133
回覆:223
積分:76
註冊:2011-09-29

發送簡訊給我
#92 引用回覆 回覆 發表時間:2012-07-27 09:23:30 IP:114.33.xxx.xxx 訂閱
接著,把屬性( EventUseScript )開啟,在OnMouseOver事件中寫下如下圖的
JS程式碼:

JL9168
中階會員


發表:133
回覆:223
積分:76
註冊:2011-09-29

發送簡訊給我
#93 引用回覆 回覆 發表時間:2012-07-27 09:26:37 IP:114.33.xxx.xxx 訂閱
再來,把屬性( EventUseforbidden )開啟,在forbidden事件中寫下如下圖的
JS程式碼:

JL9168
中階會員


發表:133
回覆:223
積分:76
註冊:2011-09-29

發送簡訊給我
#94 引用回覆 回覆 發表時間:2012-07-27 09:28:48 IP:114.33.xxx.xxx 訂閱
這樣,簡易的控制項特殊效果就完成了。

下次我們來說明如何做 Tab 特效
JL9168
中階會員


發表:133
回覆:223
積分:76
註冊:2011-09-29

發送簡訊給我
#95 引用回覆 回覆 發表時間:2012-07-27 13:14:09 IP:114.33.xxx.xxx 訂閱
接下來我們要開始製作Tab頁籤一般的UI效果,首先我們沿用之前的範例
如下圖開始設定屬性( BorderRadius ),將其展開後;設定ConfigType為brsALL
設定ALL_Radius為5。
另外設定屬性( BorderStyle )為bsSolid,設定屬性( BorderWidth )為 1 ,如下圖

JL9168
中階會員


發表:133
回覆:223
積分:76
註冊:2011-09-29

發送簡訊給我
#96 引用回覆 回覆 發表時間:2012-07-27 13:18:43 IP:114.33.xxx.xxx 訂閱
接著,新增一個TFrame,我們利用它來做Tab01的UI畫面,見下圖

JL9168
中階會員


發表:133
回覆:223
積分:76
註冊:2011-09-29

發送簡訊給我
#97 引用回覆 回覆 發表時間:2012-07-27 13:21:37 IP:114.33.xxx.xxx 訂閱
如下,在TFrame上面放置一個TAdv_HTML_Panel元件,並且在上面放置一個按鈕

分別做三個(FrMnuTab01、FrMnuTab02、FrMnuTab03)

JL9168
中階會員


發表:133
回覆:223
積分:76
註冊:2011-09-29

發送簡訊給我
#98 引用回覆 回覆 發表時間:2012-07-27 13:23:53 IP:114.33.xxx.xxx 訂閱
每個TFrame的程式碼部份,記得宣告,入下圖

JL9168
中階會員


發表:133
回覆:223
積分:76
註冊:2011-09-29

發送簡訊給我
#99 引用回覆 回覆 發表時間:2012-07-27 13:26:48 IP:114.33.xxx.xxx 訂閱
因為之前的按鈕是用TAdv_HTML_Label做的,所以要設定屬性CanClick為TRUE;
讓Label也能擁有按鈕的功能

JL9168
中階會員


發表:133
回覆:223
積分:76
註冊:2011-09-29

發送簡訊給我
#100 引用回覆 回覆 發表時間:2012-07-27 13:32:09 IP:114.33.xxx.xxx 訂閱
接下來在WebAppMain( )中加入相關的程式碼,將TFrame中的Panel產出HTML
之後,將這些HTML的內容放入fWebMain.WkContent 的 InnerHTML 之中,這樣
動態的HTML內容就會出現了。

JL9168
中階會員


發表:133
回覆:223
積分:76
註冊:2011-09-29

發送簡訊給我
#101 引用回覆 回覆 發表時間:2012-07-27 13:37:05 IP:114.33.xxx.xxx 訂閱
效果圖

JL9168
中階會員


發表:133
回覆:223
積分:76
註冊:2011-09-29

發送簡訊給我
#102 引用回覆 回覆 發表時間:2012-07-27 13:38:26 IP:114.33.xxx.xxx 訂閱
第二個Page

JL9168
中階會員


發表:133
回覆:223
積分:76
註冊:2011-09-29

發送簡訊給我
#103 引用回覆 回覆 發表時間:2012-07-27 13:39:31 IP:114.33.xxx.xxx 訂閱
下一回再來說 動態選單 (類似 MainMenu )
hujiacheng
一般會員


發表:0
回覆:1
積分:0
註冊:2008-10-31

發送簡訊給我
#104 引用回覆 回覆 發表時間:2012-09-04 13:01:44 IP:118.251.xxx.xxx 訂閱
能放个demo .rar让我下载? 带源码的。。。。
JL9168
中階會員


發表:133
回覆:223
積分:76
註冊:2011-09-29

發送簡訊給我
#105 引用回覆 回覆 發表時間:2012-10-16 11:22:23 IP:114.33.xxx.xxx 訂閱
To all:
很抱歉潛水了這麼久,最近公司正針對這個產品進行幾個新的支援計劃,所以
一直沒有更新,接下來會持續更新這裡的內容。

目前我們正進行的計劃為下列幾項:

1.修改套件核心內存結構,擴充到內網可傳輸大檔案資料(約600MB)。-->已完成
2.重新建構公司的網站。
3.發展本套件針對Android裝置的服務支援,包含HTML與Android App的支援。-->已完成
4.基於本套件建構專屬的WebService服務的支援。-->已完成
5.進行一套建構於本套件之上的開發Framework的發展。-->2010/11/12

以上

PS:新網站尚未上線期間,若有任何問題,可以EMail到:JL9168dsgn@gmail.com

編輯記錄
JL9168 重新編輯於 2012-10-15 21:28:04, 註解 無‧
JL9168 重新編輯於 2012-10-15 21:33:09, 註解 無‧
JL9168 重新編輯於 2012-10-15 21:33:37, 註解 無‧
JL9168 重新編輯於 2012-10-16 00:27:49, 註解 無‧
JL9168 重新編輯於 2012-10-18 00:07:42, 註解 無‧
JL9168
中階會員


發表:133
回覆:223
積分:76
註冊:2011-09-29

發送簡訊給我
#106 引用回覆 回覆 發表時間:2012-10-18 12:48:53 IP:114.27.xxx.xxx 訂閱
下列為開發手機系統應用的幾個開發中畫面




































































































編輯記錄
JL9168 重新編輯於 2012-10-17 22:52:16, 註解 無‧
JL9168
中階會員


發表:133
回覆:223
積分:76
註冊:2011-09-29

發送簡訊給我
#107 引用回覆 回覆 發表時間:2012-10-19 23:58:06 IP:114.33.xxx.xxx 訂閱
為了克服開發支援平板以及手機類型WebApp中,繁多且複雜的HTMLCode的變化;
我們重構了這個套件HTML產生器的核心,讓程式在發佈HTMLCode至前端之前,仍
然能夠重新藉由VCL物件類別來架構或是重置HTMLCode的內容,以達到變化的目的。

另外還針對HTML5的Tag自定義屬性,進行相關的實作。

待續
編輯記錄
JL9168 重新編輯於 2012-10-19 17:10:15, 註解 無‧
JL9168
中階會員


發表:133
回覆:223
積分:76
註冊:2011-09-29

發送簡訊給我
#108 引用回覆 回覆 發表時間:2013-06-28 10:04:47 IP:114.33.xxx.xxx 訂閱
公司將在2013/07左右完成離線WebApp的第一版測試,屆時會將部分相關的實作細節分享給大家知曉。
JL9168
中階會員


發表:133
回覆:223
積分:76
註冊:2011-09-29

發送簡訊給我
#109 引用回覆 回覆 發表時間:2013-06-29 11:31:17 IP:114.33.xxx.xxx 訂閱
預計它的建構方式示會配合Manifest的機制來運作,藉由一個特定的物件完成中間連結
的腳色,目前已經進入測試階段。
測試中的狀況





===================引 用 JL9168 文 章===================
公司將在2013/07左右完成離線WebApp的第一版測試,屆時會將部分相關的實作細節分享給大家知曉。
編輯記錄
JL9168 重新編輯於 2013-06-29 11:42:19, 註解 無‧
JL9168
中階會員


發表:133
回覆:223
積分:76
註冊:2011-09-29

發送簡訊給我
#110 引用回覆 回覆 發表時間:2013-06-29 15:54:00 IP:114.33.xxx.xxx 訂閱
下面的圖是筆者拿到的測試版開發畫面,利用一個集中頁面元件TAdv_HTML_PageCtrl來集中開發行動
WebApp的所有頁面,其中MainPageEventProc的角色有點類似Delphi的Object Inspector .....
有朋友問.....那是否離線程式一定要會JS ? 答案是肯定的,因為Delphi能做的是基礎的連結而已......

另外,Manifest檔案也是由MainPageEventProc元件負責產出.......



JL9168
中階會員


發表:133
回覆:223
積分:76
註冊:2011-09-29

發送簡訊給我
#111 引用回覆 回覆 發表時間:2013-06-30 13:59:53 IP:114.33.xxx.xxx 訂閱
更新消息,關於離線webApp部分,雖然Manifest檔案已大致上完成;但相關工程仍有一些需要加強

像是.....創建一個JS專用函式庫,供離線作業運用.....這一類的

目前的基本功能是可以寫入一些前端JS程式碼以及在不用寫一行JS程式碼的狀態下進行離線網頁的換頁!!

另外還有一些細節要處理..... 像是資料的處理......

研發的人員是覺得應該需要在初始頁上建立一個類似安裝的機制.....目前討論中....


編輯記錄
JL9168 重新編輯於 2013-06-30 14:01:40, 註解 無‧
JL9168
中階會員


發表:133
回覆:223
積分:76
註冊:2011-09-29

發送簡訊給我
#112 引用回覆 回覆 發表時間:2013-06-30 14:14:01 IP:114.33.xxx.xxx 訂閱
附上測試時,程式自動產出的Manifest檔案與相關內容



===================引 用 JL9168 文 章===================
更新消息,關於離線webApp部分,雖然Manifest檔案已大致上完成;但相關工程仍有一些需要加強

像是.....創建一個JS專用函式庫,供離線作業運用.....這一類的

目前的基本功能是可以寫入一些前端JS程式碼以及在不用寫一行JS程式碼的狀態下進行離線網頁的換頁!!

另外還有一些細節要處理..... 像是資料的處理......

研發的人員是覺得應該需要在初始頁上建立一個類似安裝的機制.....目前討論中....


JL9168
中階會員


發表:133
回覆:223
積分:76
註冊:2011-09-29

發送簡訊給我
#113 引用回覆 回覆 發表時間:2013-06-30 14:29:45 IP:114.33.xxx.xxx 訂閱
另外有朋友問到.....

Q:是不是只有在開發行動裝置時才能用這些機制?

其實不是這樣,即使不是開發行動裝置的Web應用程式;一般的網頁程式也都可以用這樣的開發模式.......不論是連線網頁或是離線網頁
所以等於是增加了另一種開發WebApp的方式。

Q:另外,那是否只要是離線的WebApp中,不能有一些頁面是需要連線的呢?.....

其實沒有這種限制..........,原本的TAdv_HTML_Page元件增加了一個屬性,叫做"EventRunPosition",這個屬性
可以設定為兩種狀態 ( ErpServerSide 以及 ErpClientSide ) 系統會依此來判定此網頁是否為離線網頁;並且指定
網頁的Manifest檔案。

以上
JL9168
中階會員


發表:133
回覆:223
積分:76
註冊:2011-09-29

發送簡訊給我
#114 引用回覆 回覆 發表時間:2013-07-01 15:55:06 IP:114.33.xxx.xxx 訂閱
另外,公司已經發佈了第一版免費試用版(For Delphi 5),XE版要稍等

下一版測試與調整會針對FireFox OS手機與平板的App開發來做基礎的調整。
JL9168
中階會員


發表:133
回覆:223
積分:76
註冊:2011-09-29

發送簡訊給我
#115 引用回覆 回覆 發表時間:2013-07-01 16:55:11 IP:114.33.xxx.xxx 訂閱
下面參考的圖片是在Delphi2006的開發實況

JL9168
中階會員


發表:133
回覆:223
積分:76
註冊:2011-09-29

發送簡訊給我
#116 引用回覆 回覆 發表時間:2013-07-01 18:02:49 IP:114.33.xxx.xxx 訂閱
雖然還在調整中,還是分享一下Friefox-os模擬器的測試實況

JL9168
中階會員


發表:133
回覆:223
積分:76
註冊:2011-09-29

發送簡訊給我
#117 引用回覆 回覆 發表時間:2013-07-01 18:47:01 IP:114.33.xxx.xxx 訂閱
這個圖才是FireFox-OS的WebApp實際執行的樣子(Hosted AppsPackaged Apps模式
JL9168
中階會員


發表:133
回覆:223
積分:76
註冊:2011-09-29

發送簡訊給我
#118 引用回覆 回覆 發表時間:2013-07-01 18:50:28 IP:114.33.xxx.xxx 訂閱
從一般的WebApp轉移到Firefox-OSWebApp不需要花太多力氣
大抵上只是改了一行程式碼,至於Packaged Apps要看後續製作的結果了
JL9168
中階會員


發表:133
回覆:223
積分:76
註冊:2011-09-29

發送簡訊給我
#119 引用回覆 回覆 發表時間:2013-07-02 14:20:59 IP:114.33.xxx.xxx 訂閱
To All:
今天開發人員已經完成Firefox-OS WebApp模組的測試了,參考下圖

編輯記錄
JL9168 重新編輯於 2013-07-02 14:22:27, 註解 無‧
JL9168
中階會員


發表:133
回覆:223
積分:76
註冊:2011-09-29

發送簡訊給我
#120 引用回覆 回覆 發表時間:2013-07-02 14:36:57 IP:114.33.xxx.xxx 訂閱
接下來是說明這個WebApp的程式碼,首先是主程式部分

Library StdClientApp01;
uses
Windows,
SysUtils,
Classes,
Forms,
UAdv_ISAPI2,
UAdv_Public_Types,
UAdv_ISAPI_Utils,
UFrMain in 'UFrMain.pas' {FrMain: TFrame};

//ISAPI Main procedures !!
procedure WebAppInitProc(WebSession:TAdv_WebSession;InInitParams:AnsiString;DynamicOwner:TComponent);
begin

end;

procedure WebAppMainProc(WebSession:TAdv_WebSession;Request:TPub_Request;Response:TPub_Response);
begin
if(Request.EventName = '')then
Response.Write(FrMain.MainPage.CtrlToHtml())
end;

function HttpExtensionProc(var ECB:TEXTENSION_CONTROL_BLOCK):DWORD; stdcall;
begin
result := DoHttpExtensionProc( Application
,'EMPTY-PARAMS'
,WebAppMainProc
,WebAppInitProc,nil,nil,nil,ECB);
end;

Exports
HttpExtensionProc;

//==== DLL Main Procedure ====
procedure DllMain(reason:integer);
begin
case reason of
DLL_PROCESS_ATTACH://Create
begin
//DLL loading...
if(FrMain = nil)then FrMain := TFrMain.Create(nil);
//..................................................................
(*
//若是一般的WebApp離線模式,呼叫這個函式!!
DoInitial_OffLineWebApp([FrMain.MainPage,FrMain.Page01]);
*)

(*
//若是FirefoxOS_HostedWebApp模式,呼叫這個函式!!
DoInitial_FirefoxOS_HostedWebApp( 'JL9168WebApp'
,'TestingHostedWebApp'
,'icon.png'
,'MainPage'
,'Changsent tech-soft Ltd.'
,'JoshDevStudio.twgg.org'
,'utf-8'
,'hhnnssyyyymmdd'
,[FrMain.MainPage,FrMain.Page01]);
*)

//若是FirefoxOS_PackagedWebApp模式,呼叫這個函式!!
DoInitial_FirefoxOS_PackagedWebApp( 'MyWebApp Installation'
,'AAA1'
,'127.0.0.1:8080'
,'MyWebApp'
,'1.0'
,'MyWebApp'
,'icon.png'
,'MainPage'
,'Changsent tech-soft Ltd.'
,'127.0.0.1:8080'
,'utf-8'
,'yyyymmddhhnnss'
,[FrMain.MainPage,FrMain.Page01]);

//..................................................................

end;
DLL_PROCESS_DETACH://Destroy
begin
//DLL unloading...
if(FrMain <> nil)then FrMain.Free; FrMain := nil;

end;
end;
end;//DllMain
begin
//---------------------------------------------------------------------------------
DllProc := @DllMain;
DllMain(DLL_PROCESS_ATTACH);
//---------------------------------------------------------------------------------
end.

PS:可以看到程式碼和原來的HTML App相去不遠,只是多了三個不同類型的函式
分別為

DoInitial_OffLineWebApp
DoInitial_FirefoxOS_HostedWebApp
DoInitial_FirefoxOS_PackagedWebApp

編輯記錄
JL9168 重新編輯於 2013-07-02 14:39:18, 註解 無‧
JL9168
中階會員


發表:133
回覆:223
積分:76
註冊:2011-09-29

發送簡訊給我
#121 引用回覆 回覆 發表時間:2013-07-02 23:09:46 IP:114.33.xxx.xxx 訂閱
說明
DoInitial_FirefoxOS_HostedWebApp( )
DoInitial_FirefoxOS_PackagedWebApp( )

這兩個函式會依照FirefoxOS WebApp類型的不同,分別產出個別需要的檔案(動態檔名)
參數內可以依需要訂出更新的頻率
Ex. yyyy:每年更新一次,yyyymm:每月更新一次.......依此類推,依需要來設定。

[<<] [1] [2] [3] [4] [5] [>>]
系統時間:2024-04-26 11:56:06
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!