大概步驟這樣:
1、新建乙個『資源集』起名『常用窗體』,其id我們預設為『cyct』。
2、在這個資源集下新建乙個『窗體』,起名『查詢窗體』,其id我們預設為『cxct』。
3、在這個查詢窗體上放上我們要用的控制項,比如我們放兩個datetimepicker,分別為datetimepicker1、datetimepicker2作為查詢條件的起、止時間,然後放上兩個button,分別為button1/button2在其caption上寫上『確定』、『取消』,並在button1的clike事件上寫上一句**:modalresult :=business.forms.controls.mrok;在button2的clike事件上寫上:close;
4、在『資源集』中寫入兩個函式
//取日期等變數的函式
function getvardate( var adatebegin,adateend:tdatetime):boolean;
varlform:tcxct;
begin
lform :=tcxct.create(nil);
with lform do
tryresult := showmodal=business.forms.controls.mrok;
if result then
begin
adatebegin := datetimepicker1.date;
adateend:= datetimepicker2.date;
end;
finally
free;
end;
end;
//傳入變數的函式
static function getpara:boolean;
varlform:tcxct;
begin
lform :=tcxct.create(nil);
with lform do
tryresult := showmodal=business.forms.controls.mrcancel;
if result then
begin
sysutils.abort;
end;
finally
free;
end;
end;
5、前提是我們已經做好了報表的功能窗體,現在我們要做到,在我們檢視這個報表功能之前會彈出我們剛才做的『查詢窗體』,選擇起止時間,經過過濾在報表的功能窗體上顯示我們想要的資料。
6、單擊報表的功能(非功能窗體),然後檢視其事件,在oncreate事件下寫入**:
procedure tcgddbbfunc.funccreate(sender: tobject);
varldate1,ldate2:tdatetime;
lsqlstr,ldate11,ldate22:string;
linfobroker:tinfobroker;
begin
linfobroker:=tinfobroker.create(self);
linfobroker.autobroker:=true;
linfobroker.autokind := tautokind.akshare;
linfobroker.bizclassref.bizurl.url:='biz:/kcxt/cgddxxinfo.info';
if cyct.tcyct.geta(ldate1,ldate2,ltype,lcode) then
begin
ldate11:='';
ldate22:='';
sysutils.datetimetostring(ldate11,'yyyy-mm-dd',ldate1);
sysutils.datetimetostring(ldate22,'yyyy-mm-dd',ldate2);
lsqlstr:='podate between '''+ldate11+''' and '''+ldate22+'''' ;
cgddxxinfo.tcgddxxinfo(linfobroker.info).datasetcgddsjj.sqlfilter:=lsqlstr;
cgddxxinfo.tcgddxxinfo(linfobroker.info).datasetcgddsjj.sqlfiltered:=true;
end else
begin
self.terminate;
end;
end;
編譯通過,執行,既可達到所要的效果。
搜尋 一種分詞方法的實現
加上有一句話,thisisabook,要將之分成合適的單詞,假設有乙個字典,這個字典包含單詞。我剛看到這個需求,第一反應是用搜尋中的分詞方式,最大匹配法,後來經過高人指點,說不用,只需要遇到正確的單詞就分出來,然後又想到了回溯法,再次經高人指點,回溯也不需要,只需要遞迴即可。下面是簡單的實現 供參考...
一種延遲方法呼叫的實現
原文 一種延遲方法呼叫的實現 需求場景 實現 定義任務介面 1inte ce itask 2 4 bool isrunning 5 void start 6 void stop 7 void run 8 定義延遲的資訊類 1class lazyitem 2 9 10public string key...
一種延遲方法呼叫的實現
原文 一種延遲方法呼叫的實現 需求場景 實現 定義任務介面 1inte ce itask 2 4 bool isrunning 5 void start 6 void stop 7 void run 8 定義延遲的資訊類 1class lazyitem 2 9 10public string key...