************************************************************************
統計當前DBGrid記錄總數:
gshj.Caption := inttostr(tempTable.RecordCount);
*************************************************************************8
過濾
zgxxTable.Filtered := false;
zgxxTable.Filter := 'zl<>null';
if zlfrom_edit.Text <> '' then
zgxxtable.Filter := zgxxtable.filter + ' and zl>=' + trim(zlfrom_edit.text);
if zlto_edit.Text <> '' then
zgxxtable.Filter := zgxxtable.Filter + ' and zl<=' + trim(zlto_edit.text);
zgxxtable.Filtered := true;
procedure TFgrclgz_win.ToolButtonCopyClick(Sender: TObject);三次拷貝
var
str: string;
begin
ToolButtonEditClick(nil);
if InputQuery('提示', '請輸入新的流轉卡號:', str) then
begin
if trim(str) = '' then
begin
MessageDlg('流轉卡號不能為空!', mtInformation, [mbOk], 0);
exit;
end
else
begin
flag := 1;
cdsm.Edit;
cdsm.FieldByName('lzkh').AsString := str;
end;
end;
end;
*******************************************************************************************
復制粘貼多行 介面USE - DBGridEhImpExp -------父表單
procedure Tmodal_win.MenuItem17Click(Sender: TObject);
begin
syt.cut;
end;
procedure Tmodal_win.N9Click(Sender: TObject);
begin
syt.copy;
end;
procedure Tmodal_win.N10Click(Sender: TObject);
begin
syt.paste;
end;
procedure Tmodal_win.N12Click(Sender: TObject);
var
DBGridEh: TDBGriDEH;
begin
if screen.ActiveForm.Activecontrol is TDBGriDEH then
begin
DBGridEh := screen.ActiveForm.Activecontrol as TDBGriDEH;
if DBGridEh.DataSource.DataSet.Active = true then
DBGridEh.DataSource.DataSet.Insert;
end;
end;
procedure Tmodal_win.N13Click(Sender: TObject);
var
DBGridEh: TDBGriDEH;
begin
if screen.ActiveForm.Activecontrol is TDBGriDEH then
begin
DBGridEh := screen.ActiveForm.Activecontrol as TDBGriDEH;
if DBGridEh.DataSource.DataSet.Active = true then
DBGridEh.DataSource.DataSet.Append;
end;
end;
procedure Tmodal_win.N14Click(Sender: TObject);
var
DBGridEh: TDBGriDEH;
begin
if MessageDlg('洗掉當前記錄?', mtInformation, [mbyes, mbno], 0) = mryes then
begin
if screen.ActiveForm.Activecontrol is TDBGriDEH then
begin
DBGridEh := screen.ActiveForm.Activecontrol as TDBGriDEH;
if (DBGridEh.DataSource.DataSet.Active = true)
and (DBGridEh.DataSource.DataSet.RecordCount > 0) then
DBGridEh.DataSource.DataSet.Delete;
end;
end;
end;
procedure Tmodal_win.N15Click(Sender: TObject);
var
DBGridEh: TDBGriDEH;
begin
if screen.ActiveForm.Activecontrol is TDBGriDEH then
begin
DBGridEh := screen.ActiveForm.Activecontrol as TDBGriDEH;
if DBGridEh.DataSource.DataSet.Active = true then
syt.copyoneline(DBGridEh);
end;
end;
procedure Tmodal_win.N16Click(Sender: TObject);
var
DBGridEh: TDBGriDEH;
begin
if screen.ActiveForm.Activecontrol is TDBGriDEH then
begin
DBGridEh := screen.ActiveForm.Activecontrol as TDBGriDEH;
if DBGridEh.DataSource.DataSet.Active = true then
syt.pasteoneline(DBGridEh);
end;
end;
procedure Tmodal_win.N35Click(Sender: TObject);
begin
try
if (Activecontrol is TDBGriDEH) then
with TDBGriDEH(Activecontrol) do
if CheckCutAction and (geaCutEh in EditActions) then
DBGridEh_DoCutAction(TDBGriDEH(Activecontrol), false);
except
MessageDlg('資料例外!', mtInformation, [mbOk], 0);
exit;
end;
end;
procedure Tmodal_win.N34Click(Sender: TObject);
begin
try
if (Activecontrol is TDBGriDEH) then
with TDBGriDEH(Activecontrol) do
if CheckCopyAction and (geaCopyEh in EditActions) then
DBGridEh_DoCopyAction(TDBGriDEH(Activecontrol), false);
except
MessageDlg('資料例外!', mtInformation, [mbOk], 0);
exit;
end;
end;
procedure Tmodal_win.N31Click(Sender: TObject);
begin
try
if (Activecontrol is TDBGriDEH) then
with TDBGriDEH(Activecontrol) do
begin
if CheckPasteAction and (geaPasteEh in EditActions) then
DBGridEh_DoPasteAction(TDBGriDEH(Activecontrol), false);
end;
except
MessageDlg('資料例外!', mtInformation, [mbOk], 0);
exit;
end;
end;
procedure Tmodal_win.N36Click(Sender: TObject);
begin
try
if (Activecontrol is TDBGriDEH) then
with TDBGriDEH(Activecontrol) do
if CheckDeleteAction and (geaDeleteEh in EditActions) then
DBGridEh_DoDeleteAction(TDBGriDEH(Activecontrol), false);
except
MessageDlg('資料例外!', mtInformation, [mbOk], 0);
exit;
end;
end;
procedure Tmodal_win.N37Click(Sender: TObject);
begin
try
if (Activecontrol is TDBGriDEH) then
with TDBGriDEH(Activecontrol) do
if CheckSelectAllAction and (geaSelectAllEh in EditActions) then
Selection.SelectAll;
except
MessageDlg('資料例外!', mtInformation, [mbOk], 0);
exit;
end;
end;
procedure Tmodal_win.N33Click(Sender: TObject);
var
i: integer;
DBGridEh: TDBGriDEH;
begin
if screen.ActiveForm.Activecontrol is TDBGriDEH then
begin
DBGridEh := screen.ActiveForm.Activecontrol as TDBGriDEH;
if DBGridEh.SelectedRows.count > 0 then
begin
with DBGridEh.DataSource.DataSet do
begin
for i := 0 to DBGridEh.SelectedRows.count - 1 do
begin
gotobookmark(pointer(DBGridEh.SelectedRows.Items[i]));
begin
if (DBGridEh.DataSource.DataSet.Active) and
(not DBGridEh.DataSource.DataSet.IsEmpty) then
DBGridEh.DataSource.DataSet.Delete;
end;
end;
end;
end;
end;
end;
**************************************************************8
pikelist設定:
tstr := 'select distinct srcw from htyrerp01' + curgsbh + '..MP_srcw';
tstr := tstr + ' where (gsbh=''' + curgsbh + ''') and (bmmch=''' + curbmmch + ''')';
query.close;
query.RemoteServer.AppServer.dosch(tstr);
query.open;
query.First;
DBGridEh2.Columns[23].PickList.Clear;
while not query.Eof do
begin
DBGridEh2.Columns[23].PickList.Add(query.FieldByName('srcw').AsString);
query.Next;
end;
query.close;
************************************************************************
Delphi 7第三方控制元件安裝方法2009-09-02 08:31基本安裝
1、對于單個控制元件,Componet-->install component..-->PAS或DCU檔案-->install;
2、對于帶*.dpk檔案的控制元件包,File-->Open(下拉串列框中選*.dpk)-->install即可;
3、對于帶*.bpl檔案的控制元件包,Install Packages-->Add-->bpl檔案名即可;
4、如果以上Install按鈕為失效的話,試試Compile按鈕;
5、是run time lib則在option下的packages下的runtimepackes加之。
如果編譯時提示檔案找不到的話,一般是控制元件的安裝目錄不在Delphi的Lib目錄中,有兩種方法可以解決:
1、反安裝的源檔案拷入到Delphi的Lib目錄下;
2、或者Tools-->Environment Options中把控制元件源代碼路徑加入到Delphi的Lib目錄中即可。
注意:所安裝的控制元件是否與你所用的Delphi版本相適應。
控制元件洗掉
在Component/Install Packages中洗掉。
選Component/configure Palette…
有pages和components兩個區域
雙擊components區域,選中要洗掉得控制元件,下面有得Delete按鈕
但系統提供的控制元件只能Hide,不能delete。
打開控制元件所在的包檔案(*.dpk),從中洗掉控制元件那個檔案,再重新編譯該包即可
如果是整個控制元件包都要洗掉的話,project->Option->Packages,刪掉那個packages,ok~
然后添加路徑:Tools->Environment Options->Library->Library path加入檔案所在地即可
幫助檔案的安裝
單擊 Delphi 中的 Help 選單下的 Customize 選單項,這時會彈出 OpenHelp 對話框,選擇在 Index 頁下,打開 Edit 選單下的 Add Files 選單,添加你要加入的幫助選單,這樣你就可以在 Delphi 的 IDE 下使用該幫助檔案了。
第三方控制元件安裝方法
不是由BORLAND提供的組件叫第三方組件:
安裝方法:
就目前常見的各種形式的組件的安裝方法介紹一下。
1、只有一個DCU檔案的組件。DCU檔案是編譯好的單元檔案,這樣的組件是作者不想把原始碼公布。一般來說,作者必須說明此組件適合Delphi的哪種版本,如果版本不對,在安裝時就會出現錯誤。也正是因為沒有原始碼,給使用者帶來了不便,那就是一旦Delphi版本升級,此組件就不能再使用了,當然有的作者給出了幾種版本的DCU檔案,用戶根據需要選擇使用。這樣的組件的安裝方法是:在Component選單中,選擇install component,在對話框
"into existing package"頁中,單擊“Unit file name”后的“Browse”按扭,在打開的檔案對話框中,將“檔案型別”設定為*.dcu,找到要安裝的DCU檔案,按OK按鈕回傳"into existing package"頁后再按OK按鈕就可以安裝了。注意,此時Delphi會提示dclusr40.dpk將被重建,是否繼續,OK就可以了。這里是將組件安裝到dclusr40.dpk包中,此包從檔案名上可以看出是用戶自定義組件包,先安裝到這個包中吧,下面再講有關注意事項。安裝完畢會有已經將組件注冊完的提示資訊以及安裝到哪個組件頁中的資訊等,到組件面板上看看,一般會出現一個新的組件頁,其中有剛安裝的組件。
2、只有PAS檔案或既有PAS又有DCU檔案的組件。這種組件因為有PAS檔案,也就是說作者提供了原始碼,這就好辦多了。安裝的方法和上面是一樣的,在檔案型別中可以設定為DCU也可以設定為PAS,建議設定為PAS,這樣可用你的Delphi重新編譯一下,看是否會出現問題。Delphi升級后只能選擇PAS檔案安裝,這樣才能重新編譯,使得組件能適應新Delphi版本。這樣的組件是很值得使用的,根據心鈴的經驗,沒有原始碼的組件最好不要使用,一是存在Delphi版本升級后無法使用的問題,再者當程式出現問題后用戶無法除錯組件來判斷是否是組件中存在BUG。
3、有dpk檔案的組件包。帶有dpk檔案的組件包一般是有多個組件構成的,也就是說安裝后會有多個組件供使用,如果只有一個組件作者一般不會制成DPK檔案,使用上面的方式發布就可以了。對于這樣的組件包,一般來說會有詳細的安裝說明檔案,如上面提到的RXLIB,由于組件復雜且安裝時有先后順序,作者不提供安裝說明用戶根本無法正確安裝。如果沒有安裝說明檔案,那么用下面的方法安裝:在File選單下,選擇”OPEN…”打開dpk檔案(檔案型別串列框中選*.dpk),在出現的Package視窗中,工具列上有Install按鈕,按此按鈕即可進行安裝。如果Install按鈕處于無效狀態,那么先按Compile按鈕編譯,一般來說編譯之后Install按鈕就會處于有效狀態,此時再按Install按鈕就可以了。
4、 帶有Bpl檔案的組件包。一般來說這也是由多種組件構成的組件包,它其實是一個動態連接庫檔案(DLL)。對于這種組件包的安裝方法是:在component選單下選擇“install packages”,然后單擊Add按鈕,在打開的檔案對話框中找到相應的bpl檔案打開回傳后,再單擊Ok按鈕就可以了。
5、ActiveX控制元件的安裝。要安裝這類控制元件,需要先用regsvr32.exe注冊,然后選擇Component選單中Import ActiveX Control項。在Import ActiveX Control打開的視窗中,只有已經注冊的ActiveX控制元件才出現在串列中,選中一個然后按Install按鈕就可以安裝了。如果事先沒有用regsvr32.exe注冊也可以按ADD按鈕找到OCX檔案即時注冊,注冊后再進行安裝。
幾點說明:
1 在拿到組件后先看是否有說明檔案,一般來說在說明檔案中有如何安裝的指導,有些還會有組件的屬性、事件、方法的使用說明,這些在使用時是非常重要的。
2 在上面的組件(包)安裝操作之前,最好將 *.bpl拷貝到你的System目錄中,將 *.pas、*.dcu、*.dcr、*.dp?拷貝到Delphi的Lib目錄中再進行。
3 前面我們提到安裝DCU組件時,選用的是已經存在的dclusr40.dpk,當然也可以選擇安裝到一個新的包中,如果選擇新包,需要先取一個名字比如DEMO,事實上安裝完畢后用戶可以找到的是Demo.bpl,而找不到DEMO.DPK。假如你已經將一個組件安裝到dclusr40.dpk中了,還想再安裝一個組件,如果再安裝到dclusr40.dpk中,安裝后你得到提示,原來安裝的那個組件已經被取消注冊,你將無法使用了。這樣不就成了只能安裝一個組件了嗎?除非你再安裝到一個新的包中才可以兩個組件同時使用。當然每安裝一個組件生成一個新的BPL檔案也未償不可,但BPL檔案就增加許多。能否在dclusr40.dpk中多安裝幾個組件呢?當然是可以的。方法如下:用File選單下的OPEN打開dclusr40.dpk檔案,單擊ADD按鈕,在打開的對話框中選擇ADD UNIT頁面,按Unit file name后的“Browse”按鈕打開組件單元檔案,OK即可,用此種方法這樣可添加多個組件的單元檔案,添加完畢,按一下編譯按鈕,然后再按Install按鈕即可,如果單元檔案是編譯好的(DCU)可以直接按安裝按鈕。
4 組件的洗掉。光會安裝可不行,還要會洗掉呀。很簡單,在component選單下,選擇install packages,在串列中找到安裝所在的Bpl,按Remove按鈕,ok!再把Bpl檔案刪掉就徹底了,如果不洗掉BPL檔案,下次可以按安裝BPL組件的方法再安裝使用
uj5u.com熱心網友回復:
此貼的目的是什么?轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/113151.html
標籤:語言基礎/算法/系統設計
上一篇:XE5呼叫so庫檔案的問題
