設(shè)計該窗體所用到的組件有:MainMenuBar組件,Image組件,Panel組件,StatusBar組件,Button組件,Edit組件,Label組件。
其中,Image組件是一個容器組件,在主窗體中使用該控件添加了一個圖標(biāo),使得主窗體的界面看上去很美觀。
Panel組件也叫面板,可在其上放置其他組件,常用于組織程序界面。在窗體設(shè)計窗口中將它的BevelInner屬性、BevelOuter屬性、BevelWidth屬性、BorderStyle屬性和BorderWidth屬性分別設(shè)置成相應(yīng)的形式。StatusBar組件通常放置在窗體的底部,在上面動態(tài)地顯示一些信息。在登錄窗體中使用的Label組件用于用戶提示操作,兩次使用該組件來顯示提示登錄系統(tǒng)的用戶輸入用戶名稱和用戶登錄的密碼。Edit組件接收用戶輸入的數(shù)據(jù),當(dāng)輸入用戶名稱和密碼后,單擊Button組件設(shè)置的登錄按鈕,觸發(fā)Button組件的Click事件,則系統(tǒng)將用戶輸入的名稱及密碼和用戶管理表中的名稱及密碼進行比較,相同則可以進入系統(tǒng)的主窗體,通過以下語句來實現(xiàn)。
ifa.RecordCount=1then
begin
form1.Hide;
frm_main.ShowModal;
end;
否則出現(xiàn)密碼出錯提示,由下面的代碼來提示用戶所輸入的密碼有誤,然后對文本框進行清空,用戶可再次進行輸入。
begin
showmessage('您輸入的用戶編號或者密碼錯誤,請核實');
edit1.Text:='';
edit2.Text:='';
exit;
end;
調(diào)用用戶管理表時還用到了SQL語言,通過下面四句可以實現(xiàn)根據(jù)用戶所輸入的編號和密碼進行查詢檢查該用戶是否能進入該系統(tǒng)的主窗體。
dm.a.Close;
dm.a.SQL.Clear;
dm.a.SQL.Add('select*fromloginwherename='''+edit1.Text
+'''andpass='''+edit2.Text+'''');
dm.a.Open;
5.4.2房產(chǎn)管理窗體的設(shè)計與實現(xiàn) (1)房產(chǎn)中介管理系統(tǒng)房源信息錄入 ①功能說明 該窗體模塊是提供對加入本系統(tǒng)的所有房屋的基本信息進行錄入及信息維護的窗體。當(dāng)向窗體中輸入各項數(shù)據(jù)后,單擊添加保存按鈕,可將數(shù)據(jù)保存到房屋基本信息數(shù)據(jù)表中。單擊保存按鈕可以重新添加要進行保存的房屋信息。定位按鈕可以實現(xiàn)在定位中介編號文本框中輸入中介編號后,單擊定位即可在窗體中顯示輸入的中介編號所對應(yīng)的房屋的基本信息。當(dāng)對房屋基本信息數(shù)據(jù)表中的某條記錄修改完成時可以單擊修改保存按鈕完成對修改后的房屋信息進行保存。如果要刪除房屋基本信息數(shù)據(jù)表中的某條記錄,可以先定位然后單擊刪除按鈕即可刪除該記錄。如果對該窗體沒有其它的操作,通過單擊退出按鈕退出該窗體。
?、谠O(shè)計思路 設(shè)計該窗體所用到的組件有:GroupBox組件,Button組件,Label組件,CheckRadioBox組件,Edit組件,DBGrid組件,DataSource1組件。
GroupBox組件是分組組件,在窗體中將它的Caption屬性設(shè)置成適當(dāng)?shù)臉?biāo)題。CheckRadioBox組件也稱為復(fù)選框,用戶可以對它做出選擇,在窗體中將它的Caption屬性分別設(shè)置成相應(yīng)的內(nèi)容。Button組件是一個按鈕組件,該窗體中使用了六個分別是添加、添加保存、定位、修改保存、刪除和退出。Label組件用于用戶操作提示。Edit組件用來接收向窗體中輸入的數(shù)據(jù),在窗體中將它的Text內(nèi)容清空。DataSource1組件確定和該組件相關(guān)聯(lián)的數(shù)據(jù)源對象,該組件的Dataset屬性設(shè)置成dm.q,通過下面四條語句實現(xiàn)打開房源信息表,將表中的記錄全部都顯示出來。
dm.q.Close;
dm.q.SQL.Clear;
dm.q.SQL.Add('select*fromhouseinfo');
dm.q.Open;
DBGrid組件負責(zé)顯示數(shù)據(jù)庫中的數(shù)據(jù)和接受用戶對數(shù)據(jù)庫的操作,該組件的DataSource屬性設(shè)置成DataSource1;Visible屬性是邏輯型,取值為True,決定該組件是可見的。當(dāng)向房源信息表中添加一條記錄后,首先將新添加的記錄編號和房源信息表中的記錄編號進行比較,如果該編號在數(shù)據(jù)表中已經(jīng)存在則出現(xiàn)該編號已經(jīng)存在的提示信息,通過以下的語句來實現(xiàn)。
ifdm.a.RecordCount0then
begin
showmessage('您輸入的中介編號已經(jīng)存在,請核實');
exit;
end;
若沒有則單擊添加保存將該記錄添加到數(shù)據(jù)表中,通過函數(shù)showmessage('保存成功');提示所輸入的記錄已經(jīng)成功的添加到了數(shù)據(jù)表中。通過DBGrid將房源信息數(shù)據(jù)表中的所有記錄都顯示給用戶,方便了用戶對數(shù)據(jù)的查看。
(2)房源信息查詢 ①功能說明 該窗體模塊是為用戶提供通過輸入中介編號或者通過輸入起始時間和結(jié)束時間對房源信息進行查詢的窗體。當(dāng)使用單點查詢時,向請輸入中介編號文本框中輸入中介編號,單擊開始查詢按鈕后即可在窗體中顯示出按中介編號查詢的房屋的基本信息。當(dāng)使用按時間段查詢時,向起始時間和結(jié)束時間文本框中輸入要查詢的時間,單擊開始查詢按鈕后即可在窗體中顯示出按時間段查詢的房屋的基本信息。
②房管家erp中介管理軟件設(shè)計思路 設(shè)計該窗體所用到的組件有:PageControl組件,TabSheet組件,Panel組件,DBGrid組件,Button組件,Label組件,CheckRadioBox組件,Edit組件,ComboBox組件。
PageControl組件中的每一個選項卡都是一個TTabSheet組件,在該窗體中它管理單點查詢和時間段查詢兩個TTabSheet組件,每個TTabSheet組件管理著放在它上面的組件,時間段查詢的TTabSheet組件管理一個DBGrid組件,DBGrid組件的作用是負責(zé)顯示數(shù)據(jù)庫中的數(shù)據(jù)和接受用戶對數(shù)據(jù)庫的操作。當(dāng)按時間段查詢時,將房源信息表中符合條件的數(shù)據(jù)集記錄顯示在網(wǎng)格中,若所輸入的時間段在房源信息表中不存在,通過以下的語句實現(xiàn)了給出檢索不到信息的提示。
dm.q.Close;
dm.q.SQL.Clear;
dm.q.SQL.Add('select*fromhouseinfowheredengjiriqi='''+formatdatetime('yyyy-mm-dd',strtodate(bsskindateedit3.Text))+''''+
'anddengjiriqi='''+formatdatetime('yyyy-mm-dd',strtodate(bsskindateedit4.Text))+'''');
dm.q.open;
ifdm.q.RecordCount=0then
begin
showmessage('沒有檢索到信息');
exit;
end;
單點查詢的TTabSheet組件管理著Button組件,Label組件,CheckRadioBox組件,Edit組件,ComboBox組件。Button組件的Caption屬性設(shè)置成開始查詢。當(dāng)輸入了中介編號后,和房源信息表中的編號進行比較,如果沒有輸入編號,則出現(xiàn)提示,通過以下的語句可以實現(xiàn)。
ifbsskinedit7.Text=''then
begin
showmessage('您還沒有輸入中介編號,請您輸入');
exit;
end;
如果該編號所對應(yīng)的記錄在數(shù)據(jù)表中存在,觸發(fā)Button組件的Click事件,將查詢到的記錄顯示給用戶。ComboBox組件匯集了列表框和編輯框的功能,用戶可以從下拉列表中選擇數(shù)據(jù)或者直接向組合框中輸入數(shù)據(jù)。CheckRadioBox組件也稱為復(fù)選框,當(dāng)在窗體中顯示出查詢的記錄時,在CheckRadioBox組件的前面就會有√出現(xiàn)。
(3)廣告管理 ?、俟δ苷f明 該窗體模塊是提供對將要進行出租和出售的房屋做廣告宣傳功能的窗體。在窗體中通過輸入廣告名稱、廣告編號、聯(lián)系人、聯(lián)系電話及登錄廣告的起始時間和結(jié)束時間,然后在廣告內(nèi)容中輸入該廣告的主要內(nèi)容,單擊添加保存按鈕對輸入的廣告進行保存。單擊保存按鈕可以重新輸入需要保存的廣告內(nèi)容。在廣告編號文本框中輸入編號后,單擊定位按鈕后即可在窗體中顯示出定位的廣告記錄。當(dāng)對廣告信息數(shù)據(jù)表中的某條記錄修改完成后,單擊修改保存按鈕對修改后的廣告記錄進行保存。如果要刪除某條廣告記錄,先輸入廣告編號進行定位,然后單擊刪除按鈕將該記錄刪除。如果對該窗體沒有其它的操作通過單擊退出按鈕退出該窗體。
②設(shè)計思路 設(shè)計該窗體所用到的組件有:GroupBox組件,Panel組件,DBGrid組件,Button組件,Label組件,Edit組件,Memo組件,DataSource1組件。
Panel組件除了具有分隔作用,在窗體設(shè)計窗口中將它的BevelInner屬性、BevelOuter屬性、BevelWidth屬性、BorderStyle屬性和BorderWidth屬性分別設(shè)置成相應(yīng)的形式。
GroupBox組件是分組組件,它將該窗體分成了廣告管理基本信息錄入和廣告信息列表顯示兩個部分,廣告管理基本信息錄入部分的Memo組件為用戶提供了一種處理多行文本的方法,在窗體運行后用戶可以向其中輸入多行文字。Button按鈕組件在該窗體中使用了六個分別是添加、添加保存、定位、修改保存、刪除和退出。廣告信息列表顯示部分的DataSource1組件確定和該組件相關(guān)聯(lián)的數(shù)據(jù)源對象,該組件的Dataset屬性設(shè)置成dm.q,通過下面的語句實現(xiàn)打開廣告信息表,將廣告信息表中的所有記錄都顯示出來。
dm.q.Close;
dm.q.SQL.Clear;
dm.q.SQL.Add('select*fromguanggao);
dm.q.Open;
DBGrid組件的DataSource屬性設(shè)置成DataSource1,負責(zé)顯示數(shù)據(jù)庫中的數(shù)據(jù)和接受用戶對數(shù)據(jù)庫的操作。當(dāng)向廣告信息表中添加新記錄時,將編號和數(shù)據(jù)表中已經(jīng)存在的廣告編號進行比較,下面的語句實現(xiàn)編號在數(shù)據(jù)表中已經(jīng)存在出現(xiàn)該編號已經(jīng)存在的提示信息。
ifdm.a.RecordCount0then
begin
showmessage('該廣告編號已經(jīng)存在,請輸入其他的編號');
exit;
end;
若數(shù)據(jù)表中沒有該記錄則將記錄添加到數(shù)據(jù)表中并將廣告信息表中的數(shù)據(jù)通過DBGrid組件顯示在網(wǎng)格中,方便用戶的查看。對廣告表中的某條記錄進行修改,若輸入的廣告編號不存在,通過函數(shù)showmessage('沒有檢索到記錄,請核實廣告編號');給出提示。刪除數(shù)據(jù)表中的某記錄,通過下面的語句來實現(xiàn)根據(jù)輸入的編號查詢在數(shù)據(jù)表中是否存在編號所對應(yīng)的記錄,若存在,將該編號對應(yīng)的記錄刪除。
dm.q.Close;
dm.q.SQL.Clear;
dm.q.SQL.Add('select*fromguanggaowherenum='''+bs
skinedit2.Text+'''');
dm.q.Open;
ifdm.q.RecordCount=1then
begin
dm.q.Delete;
showmessage('刪除廣告信息完成');
end;
(4)成交管理 ①功能說明 該窗體模塊實現(xiàn)對求租和求購房屋的用戶通過選擇查詢條件查看房屋的基本信息選擇租或購哪種類型的房屋,如果通過房屋編號進行查詢,輸入房屋編號,單擊開始查詢按鈕即可在窗體的查詢結(jié)果中顯示出房屋的基本信息,要進行成交該房屋操作,單擊選擇成交按鈕,出現(xiàn)成交完成提示框。若輸入的房屋編號在房屋基本信息數(shù)據(jù)表中不存在,出現(xiàn)此信息可能已經(jīng)被成交或者是沒有此房源信息的提示框。如果通過日期進行查詢,選擇日期,單擊開始查詢按鈕即可在窗體的查詢結(jié)果中顯示出房屋的基本信息,要進行成交該房屋操作,單擊選擇成交按鈕,出現(xiàn)成交完成提示框。若輸入的日期在房屋基本信息數(shù)據(jù)表中不存在,出現(xiàn)此信息可能已經(jīng)被成交或者是沒有此房源信息的提示框。如果對該窗體沒有其它的操作通過單擊退出按鈕退出該窗體。
②設(shè)計思路 設(shè)計該窗體所用到的組件有:GroupBox組件,Panel組件,ComboBox組件,Button組件,Label組件,Edit組件,DBGrid組件,DataSource1組件,DataSource2組件。
GroupBox組件將該窗體分成了房源基本信息和查詢結(jié)果兩部分,房源基本信息部分的DataSource1組件確定和該組件相關(guān)聯(lián)的數(shù)據(jù)源對象,該組件的Dataset屬性設(shè)置成dm.a,以便和房源信息表進行連接。通過下面的語句來實現(xiàn)根據(jù)所輸入的編號將房源信息表中的符合條件的記錄顯示出來。
dm.d.Close;
dm.d.SQL.Clear;
dm.d.SQL.Add('select*fromhouseinfowherenum='''+dm.q.
fieldbyname('num').AsString+'''');
dm.d.Open;
DBGrid組件的DataSource屬性設(shè)置成DataSource1;Visible屬性是邏輯型,取值為True,決定該組件是可見的,用來將房源基本信息表中的所有數(shù)據(jù)顯示在網(wǎng)格中。查詢結(jié)果部分的DataSource2組件的Dataset屬性設(shè)置為dm.q,以便和房源信息表進行連接。DBGrid組件的DataSource屬性設(shè)置成DataSource2,當(dāng)根據(jù)查詢條件查詢時通過DBGrid將從房源信息表中查詢到的數(shù)據(jù)顯示在網(wǎng)格中,以方便用戶進行房屋成交操作。
Panel組件具有分隔的作用,ComboBox組件匯集了列表框和編輯框的功能,在窗體中用戶可以對其選擇按房源編號還是日期進行查詢,以下的語句可以實現(xiàn)它的功能。
var
str:string;
begin
ifbsskincombobox1.Text='房源編號'then
begin
str:='select*fromhouseinfowherenum='''+bsskinedit1.
Text+''''+'andchengjiao='+'''0''';
end;
ifbsskincombobox1.Text='日期'then
begin
str:='select*fromhouseinfowheredengjiriqi='''+bsskin
dateedit1.Text+''''+'andchengjiao='+'''0''';
end;
end;
Button按鈕組件在該窗體中使用了兩個,分別是開始查詢和選擇成交。Edit組件響應(yīng)程序運行時用戶輸入的文本內(nèi)容,向Edit中輸入的編號和房源信息表中的編號經(jīng)過比較后才能將新的記錄添加到信息表中。
信息發(fā)布:廣州名易軟件有限公司 http://www.jetlc.com