版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、Delphi + SQL Server2000房地产信息管理系统的设计与开发(讲义计算分院短学期教材(2 房地产信息管理系统的设计与开发【摘要】该系统为满足中小房屋销售公司业务管理的需要,按照一般的房产销售管理业务流程,通过模块化设计,能够对楼盘、楼房、房屋、客户信息,房屋销售情况及员工业绩等多种信息进行全方位管理。系统由基础信息、房屋销售、统计报表和系统设置等四大模块组成。每个大的模块又由多个分模块组成,比如,房屋销售模块中又包括房屋销售管理、客户资料管理、销售收款管理和客户退款管理等,能够满足房屋销售业务各个环节的需要。系统的报表生成工具和分析工具使房屋销售情况和公司员工的业绩一目了然。系
2、统的设置模块除了密码等常规设置外,还有权限设置,不同权限的人员进入不同操作模块,使数据具有保密性。系统使用Delphi 7.0和SQL Server数据库为开发平台,系统具有很好的安全性。该系统还具有操作界面友好、使用方便、维护简单等显著特点,是中小房产企业管理销售业务的有力工具。目录Delphi + SQL Server2000 (1第1章概要 (11.1房地产信息管理系统的功能结构图: (11.1.2 基础信息管理 (1第2章数据库设计 (32.1房地产信息管理系统数据库的表 (32.1.1楼盘基本信息表的字段 (42.1.2 楼房信息表的字段 (52.1.3 房屋信息表的字段 (52.1
3、.4客户信息表的字段 (52.1.2 系统流程图 (6第3章主窗体设计 (73.1主窗体界面设计 (73.1.1主窗体界面设计概要 (73.1.2主窗体界面详细设计 (83.2 主窗体的第一次代码设计 (153.3 数据模块设计 (16第4章登录模块设计 (214.1登录模块的窗体设计 (214.1.1登录窗口样式 (215.1.2登录模块的数据控件 (234.1.3登录模块代码设计 (24第5章功能模块设计 (305.1 房型资料录入模块设计 (305.1.1 在dm窗体中添加数据控件 (305.1.2 窗体详细设计 (315.1.3 房型资料录入窗体的代码设计 (325.2 楼盘楼房资料录
4、入模块的设计 (395.2.1 做好连接数据表的准备 (405.2.2 楼盘楼房资料录入模块的界面设计 (425.2.3 楼房资料录入模块的设计 (44第6章数据统计报表的设计 (456.1 数据统计报表设计概述 (45参考文献 (46附录 (47图目录图2.2 系统流程图 (6图3.1 主窗体页面 (7图3.2 一级菜单设计图 (8图3.3 【房屋销售管理】的二级菜单设计图 (9图3.4 其余三项菜单的二级菜单设计图 (9图3.5 菜单的详细内容 (10图3.6 设置image控件的”picture”属性以载入背景图 (10图3.7 载入背景图后的样式 (11图3.8 将StausBar1控
5、件分成三段 (12图3.9 状态条第三段显示系统时间 (13图3.10 设计好的工具栏 (14图3.11 设置快捷键的Layout属性 (14图3.12 选择DataModule窗体 (16图3.13 DataModule窗体中的连接控件 (17图3.14 fdc_conn控件的Connection属性 (17图3.15 数据库连接成功 (18图4.2 设置DBLookupCombobox1控件的属性 (22图4-3 为登录窗体访问数据库要求的数据控件 (23图4-4 登录用的用户表 (24图4-5 登录窗口 (29图4-6 预先窜放在f_user表的信息 (29图5.1 编辑CommandT
6、ext属性 (30图5.2 编辑CommandText属性 (31图5-3 设计好的房型资料录入窗体 (32图5-4 房型资料录入窗体初始化时的三个事件 (33三个事件的详细代码: (33图5-4 编译好的房型资料录入窗体 (35图5-5 开始录入房型资料 (36图5-5 楼盘楼房资料录入模块运行结果 (39图5-5 楼房资料录入模块运行结果 (40图5-6 CommandText Editor窗口 (41图5-7 新添访问f_house和f_build表的数据控件 (42图5-8 楼盘楼房资料录入界面 (43表目录表1 fdc.mdf数据库的表 (3表2 楼盘基本信息表f_build 的字段
7、 (4表5 客户信息表f_customer 的字段 (5第1章概要1.1房地产信息管理系统的功能结构图:房地产信息管理系统的功能很多,系统大而复杂,设计起来非常繁琐,尤其是销售部分,相互关联的部分很多,窗口套窗口。所以在设计之前,要把模块之间的关系梳理清除。系统由基础信息、房屋销售、统计报表和系统设置四个大的功能模块组成。 房地产信息管理系统功能结构图图1-1 房地产信息管理系统功能结构图1.1.2 基础信息管理房屋销售管理系统的基础信息中,关于楼房的信息有楼盘(即我们平时所说的小区、楼房(即该小区中的第几号楼、和房屋(即户三层基础资料。首先是要建立一个楼盘(小区的资料,即数据库中的f_bui
8、ld表(楼盘基本信息表,一个实用化的楼盘基本信息表有23项内容,比较复杂。接下来是建立每一座楼的基本信息,即数据库中f_house表(楼房基本信息,表中的明细也有15项之多。关于楼房的第三项基本数据是具体到每一户,就是数据库中的f_room(房屋信息表,动手设计之前,一定要牢记这三张表。此外还有公司员工信息、客户信息等。房地产信息管理系统的设计与开发第2章数据库设计第2章数据库设计2.1房地产信息管理系统数据库的表用SQL Server2000创建数据库,取名为fdc.mdf.数据库一共有30张表,表名见表1:表1 fdc.mdf数据库的表 以存量用地优化调整为主;传统工业重视优化和升级换代,
9、新兴工业大力发展;城市常住人口稳定增长,素质逐步提高。该阶段的规划关键仍是“优化”,对城市规划管理趋于精细化,对支柱产业进行培育和巩固,同时关注技术和社会变化,不放过可能的发展机遇。Steady growth period (2016-2030: The key word for plan in this period is optimization to improve the urban and economic growth.z和谐发展期(2031-2050在之后的20年左右的时间里,宿迁城市将以和谐发展为主题,城市建成区扩展速度趋缓,主要进行存量用地的置换调整,传统工业所占比重开始下降
10、,新兴工业所占比重开始显著上升;城市化程度较高但城区常住人口的增长速度趋缓,社区化居住形成潮流。人口素质明显提升,自然环境质量进一步提高。人与自然趋于和谐,社会各阶层发展趋于和谐,生活质量达到较高水准,该阶段的规划关键词是“完善”,即经济、社会和人文发展在较高基础上追求完善。Harmonious growth period (2031-2050: Urban growth rate will slow down as compared to the previous 2 periods, quality life becomes a major pursuit. The key word of
11、 plan in this period is perfection, i.e., the economic, social and human development will be continually improved. 3.宿迁城市发展总战略General Urban Growth Strategies宿迁城市发展的总战略是:充分利用后发优势,跟踪发展与创新发展并举,实现追赶与超越,达到后来居上总战略将起到提纲携领、统一思想的作用,并指导各分项战略如城市空间发展战略、产业发展战略、旅游发展战略、生态发展战略、社会发展战略、城市营销战略等的制定。The general strategy
12、 for urban growth in Suqian is: make best use of its strengths due to underdevelopment, implement follow-upand over-taking policies, and achieve leapfrog development.3.1 后发优势与后发劣势 Strengths and Weakness ofUnderdevelopmentz重视后发优势:与发达地区相比,宿迁的主要优势是后发优势。从改革开放以来国内各地的经济发展经验看,凡是充分利用了后发优势的经济落后地区,其经济发展进程都相当快
13、;凡是不能充分利用后发优势的经济落后地区,其经济发展进程都相当慢。在当前经济全球化、区域经济一体化、信息化条件下,由于资本流动加快,技术扩散加速,信息技术发达,后发优势的作用更加突出,影响更为深远。The advantage of underdevelopment must be stressed.z后发优势的潜在性:但后发优势只是潜在的可能的利益,并不能保证无条件地使宿迁的发展获益。关键在于要为利用后发优势创造条件。However, effort must be made to capitalize upon suchan advantage.z后发劣势的现实性:在强调后发优势的同时,还必须
14、重视后发劣势问题,任何经济落后地区都不可能规避后发劣势,后发劣势是经济落后地区在进行经济发展的过程中所面临的现实的约束条件。It must be realized that underdevelopment also has some weaknesses that need to be overcome.z学习与创新是追赶与超越的必要条件:根据经济学家阿伯拉莫维茨(Abramovitz 的追赶理论,后发优势转化为后发获益的关键,不是一般性的落后状态,而是技术落后但社会进步的状态。这种社会进步表现为社会的学习能力和人力资源等。Learning and innovation are the ba
15、sis for overtaking.z地方政府在弱化后发劣势方面可以有所作为:一是鼓励本地区的技术创新;二是争取上级政府增加对本地区的公共基础设施和教育的投入;三是吸引优质人力资源;四是制定和实施吸引经济发达地区金融资本和物质资本的政策;五是增强本地区经济发展的自信心。Local government can do many things to overcome the disadvantages of underdevelopment.3.2 跟踪发展与创新发展 Following-up and Initiationz跟踪发展增实力:跟踪发展是指通过引进先进国家或地区的先进技术和资金以及接
16、收发达地区的产业转移等,发展本地区的经济。对落后地区而言,跟踪发展是取得后发优势与后发劣势后发优势:主要是指落后国家或地区,利用它与发达国家或地区在技术水平、产业结构等方面的差距,通过直接引进和模仿发达国家和地区的已有技术,来实现技术变迁和经济发展。而发达地区则只能通过技术创新实现技术变迁和经济发展,而技术创新的难度和成本远远高于技术引进或模仿。后发劣势:“后发劣势”一般是指落后国家或地区在模仿发达国家的经验时,主要模仿技术和工业化模式,而不是模仿制度。因为技术和工业化模式容易模仿,而制度模仿起来较难。但恰恰是这种舍难取易的模仿,虽能在短期内取得一定的成就,但却会对长远发展留下重大隐患甚至造成
17、长远失败。因此,关键是在模仿技术的同时,进行体制创新。 后发劣势的第二个方面是财富集聚的“马太效应”,即当一个地区发展得越好,就越能吸引新的资金和人才,从而积累越多财富,导致“富者俞富,穷者俞穷。” 快速发展的捷径。宿迁在中近期采取跟踪发展,大力招商引资,发展传统制造业,是一种必然的选择。但在发展工业的时候,严格生态环境保护,不走“先污染再治理”的老路,也是体现后发优势的一个方面。Follow-up development policy should be adopted to increase economic scale, i.e., inward investment must be a
18、ttracted.z创新发展促超越:根据陆德明的 “发展动力理论”,通过学习型追赶,后发国家或地区与先发国家或地区的发展差距会逐步缩小,但无法完全消除。要超越这一“最后最小差距”,后发国家或地区的发展动力必须更新转换,即从原来的主要由后发利益驱动的引进学习转向主要由先发利益驱动的自主创新。Innovative development will help to achieve the eventual overtaking.3.3 追赶与超越 Catching-up and Over-takingz总体追赶:在未来15-25年之内,就总体而言,宿迁城市发展的主旋律是追赶,力争在经济实力和富裕水平
19、上创新发展的内涵就宿迁的创新发展而言,包括多方面的内容,如:9 重视体制创新、制度创新、观念创新 9 发展创新型产业如生物质能源产业等9创新型发展方式:如在发展时重视生态环境保护,避免“先污染再治理”的老路,吸引产业转移时限制污染,走“资源节约型、环境友好型”的发展道路 9 建设学习型城市,大力进行人力资源培训,提高人力资源竞争力,增强软实力9借鉴先发城市和地区的经验教训,如在快速发展的同时努力控制房价等生活成本、生产成本、创业成本等的快速上升,避免“未富先贵”,保持竞争优势跟踪发展增实力,创新发展促超越尽快赶上先发地区如苏南等,实现江苏均衡发展、和谐发展的目标。In the next 15-
20、25 years, catching-up will be the general theme.z为实现总体上的追赶,宿迁必须重视传统制造业的发展。考虑到宿迁地区巨大的人口基数和需要达到的经济规模,宿迁的发展离不开传统制造业的支撑。Thus the traditional industries must be developed.z局部超越:在总体追赶的前题下,宿迁既应该也可能实现局部领域的超越:However, in some areas of economic development, Suqian has the potential to achieve a leadership pos
21、ition:如生物质能源领域 Biomass energy职业技能培训教育领域 Occupational training生态旅游度假 Holiday destination休闲型的生活方式 Lifestyle制度与体制领域,如农业组织、规划管理等Some social and economic systems and mechanism.z局部超越的可能性:首先,根据伯利兹和克鲁格曼等人的研究,基于后发优势的技术超越是完全可能的。就宿迁的具体情况而言,生物质能源的研发和产业化就是一个可能取得超越的领域。其次,根据国外一些城市的经验,传统的制造业重镇要想转型到新兴产业和新经济往往比较困难,成功
22、的案例不多;倒是一些传统制造业不发达、农业实力强、生态环境好的地区容易跨越到研发、现代服务业、休闲产业等现代经济或新经济领域。Technical over-taking is possible according to Krugmanns study. This will be based on the advantages of underdevelopment. For Suqian, biomass energy is such an area. Due to its traditional focus on agriculture, Suqian is easier to jump t
23、o some of the new industries than the more industrialized areas due to environmental, lifestyle and raw material strengths.z赶超策略:宿迁的追赶和超越均需借力大上海地区。For both catching-up and over-taking, Suqian needsto make best uses of the resources and opportunitiesoffered by the greater Shanghai region.z追赶与超越的案例:美国
24、加利福尼亚州是落后地区追赶和超越发展的典型,其成功经验对宿迁乃至整个苏北地区的发展都有很好的借鉴意义。California in the US is considered to be a goodexample of catching-up and over-taking in economicand urban growth.技术发展的跨越理论根据伯利兹、克鲁格曼等(Brezis, Paul Krugman提出的基于后发优势的技术发展的“跨越”(leap-frogging理论,当一个后进国家或地区的技术发展到一定程度、已具备一定的技术创新能力时,它可以直接选择和采用某些处于技术生命周期成熟前
25、阶段的技术,以高新技术为起点,在某些领域、某些产业实施技术赶超。即在技术发展的顺序上并不严格遵守由简单到复杂的路径,而是跨越技术发展的某些阶段,直接开发、应用新技术、新产品,进入市场与先进国家或地区竞争。宿迁追赶与超越策略重点1.借力长三角,联动大上海:不论是从吸引投资者、吸引游客、吸引消费者的角度,还是从吸引新技术、吸引研发力量的角度,宿迁都应当将目标放在以上海为龙头的长三角城市群地区。而2010年的上海世博会更是宿迁向海内外进行城市营销的一次重大机遇。2.协同本区域,共同对外竞争:尽管徐连宿盐淮区域内部有竞争,但在对外营销、发展区域旅游、保护生态环境等方面有很大的合作空间。3.保持低成本,
26、延长后发优势作用期:借鉴长三角部分城市房价飞涨、影响竞争力的教训,随着经济的发展,宿迁应特别重视控制房价等生活、生产、和创业成本的快速上升,延长后发优势作用期。案例研究美国加州后来居上加利福尼亚州位于美国大陆西海岸,面积42.4万平方公里,现有人口3400多万,是美国人口最多、经济规模最大的州。但在150多年前的1848年,加州只有10多万人口,人烟稀少,是美国最落后的地区。在短短150年的时间里,加州经济经历了从第一产业为主、到第二产业为主、再到第三产业为主的发展过程,后来居上,成为今天信息技术和新经济的领跑者。加州发展历程中一些标志性发展阶段包括:1848年:加州发现了金矿,随后吸引了大量
27、淘金者,人口快速增加,商业得到发展。1869年:连接加州与美国东部的第一条铁路建成。之前,美国发展主要在东部,加州交通不便。铁路为商品和劳动力进出加州开辟了通道,农产品进出加州变得非常方便,农业在十九世纪后期和二十世纪的初期和中期成了加州的主导产业。19001929年:食品加工业大发展。随着农业的发展,食品加工业罐头制造业得到快速发展,罐装食品把加州的农产品销往世界各地。从1899到1945年,加州生产的水果从150万箱增加到2650万箱。该时期当农业和铁路运输主导经济的时候,未来经济的主导产业也开始萌芽。19301945年:制造业大发展。19281935年间的大干旱导致了美国南部几个州出现严
28、重的沙尘暴,影响范围远至东海岸的纽约。到1945年,有100多万人因沙尘暴移民加州。1930年代的大萧条之后的二战极大地促进了加州制造业的发展,加州的汽车、船舶、飞机、电子设备制造等迅速发展。制造业就业人员从1939年的40万人上升到1943年的100万人。19461975年:现代经济大发展。为支撑经济的快速发展,交通设施需要跟上。1940年加州建成第一条高速公路,之后高速公路建设进一步加快,到六十年代高速公路网基本形成。该时期随着人口的快速扩张,高等教育得到了迅速发展。从五十年代中期至六十年代末,加州大学的在校生增加了五倍,达到100万人。冷战期间,军事工业与国防开支仍然是加州经济的重要组成
29、部分,军事技术的发达、教育事业的发展和完善的交通体系为新经济的诞生奠定了人才和物质基础。1976现在:新经济大发展。冷战结束后加州的国防工业大大衰退,但在二战和冷战中形成的电子制造业基础为发展电子和计算机产业播下了种子,硅谷的高科技公司更把加州推到了新经济的前沿。电脑软件业、编程、网络、数据库、结构设计、以及因特网服务等得到快速发展。加州后来居上,成为新经济当之无愧的领导者。4.空间与功能开发:原则、战略与布局Spatial Strategy4.1区域空间结构:外围产业带与区域战略绿心Regional Structure: Green Heartz苏北重大生产力布局对区域空间结构的影响:根据江
30、苏省的生产力布局,在宿迁北部为联结徐州-连云港的“东陇海产业带”,在宿迁东部为联结连云港-盐城-南通等的“沿海产业带”,在宿迁和淮安南部则为联结南通-泰州-扬州等的“沿江产业带”。而在宿迁西部是江苏/安徽的边界线。在这些重大的省域生产力布局中,宿迁被“边缘化”了。Major productivity of the northern Jiangsu impacts thespace structures: Suqian locates in the boundry ofJiangsu and Anhui province, so it marginalized.z定位:区域生态绿心 变劣势为优势
31、:如何应对这种“边缘化”的劣势地位,是宿迁面临的重大挑战。借鉴国际著名的荷兰兰斯塔德(Randstad城市群地区的空间发展经验,宿迁应当站在区域协调发展的高度,突出其绿色、水面等生态优势,定位为本区域的“生态绿心”,变生产力布局的洼地为本区域生态环境和宜人的生活质量的高地,以此凸显宿迁的城市价值,并以此为突破口吸引游客、商务客人、投资者和度假居住群体。Positioning: Green Heart, take disadvantage asadvantage: emphasize its green and ecological 2.1.2 系统流程图图2.2 系统流程图第3章主窗体设计3.
32、1主窗体界面设计3.1.1主窗体界面设计概要主界面首要任务是要通过主菜单给用户提供调用各功能模块的选择,因此设计菜单是主窗体设计的第一步。另外,与主菜单相配合的是工具条的设计。工具条上放了许多使用频率高的快捷键,以提高使用者的操作速度。另外,在主菜单的最下方有一个状态栏,该栏用于显示系统的当前状态,例如当前的操作员和系统时间等。兰斯塔德城市群地区的主要城市包括阿姆斯特丹、鹿特丹、海牙、乌支特里赫等,其中阿姆3.1.2 主窗体界面详细设计1. 启动Delphi 开发平台,将自动弹出的窗体设为主窗体,并命名。 主窗体的name 属性:mainform ; 主窗体的单元文件名:mainunit.pa
33、s ; 工程文件名:fdcbuilding.prj 。和物流中心、海牙为政治中心、乌支特里赫为交通中心。四个城 在Mainmenu1 上按右键,从弹出的窗体中,选择“Menu Designer ”以设计主菜单。主菜单的第一级有【房屋销售管理】、【数据统计报表】、【基本资料录入】、【系统设置】和【帮助】等5项。具体内容如图3-1所示。图3.2 一级菜单设计图2设计二级菜单在Menu Designer 中按照图3.2 中的标识完成【房屋销售管理】菜单的二级菜单的设计。一级菜单二级菜单这条线(分隔符是在Caption 属性中输入英文状态下的“-”号 图3.3 【房屋销售管理】的二级菜单设计图接下来分
34、别设计【数据统计表表】、【基本资料录入】、【系统设置】和【帮助】菜单的二级菜单。设计好的二级菜单如图3-4所示。 图3.4 其余三项菜单的二级菜单设计图至于【帮助】菜单的二级菜单只有“关于”和“帮助 F2” 这2项。我们可以展开Delphi 设计平台左上角的“object treeview ”视窗查看主窗体“MainForm ”的全部菜单内容,如图3-5所示。 接着输入二级菜单名先输入一级菜单名这是分隔符图3.5 菜单的详细内容3 主窗体背景设计在主窗体(MainForm中放入一个“image 控件”,在它的“picture”属性中载入一张保存在本工程文件目下(根目录的图片作为背景图。 定时器
35、图3.7 载入背景图后的样式4 主窗体的状态栏控件设计在主窗体的最下方添加TStatusBar(在控件栏的Win32页组件,该组件用来显示主窗体运行时的状态,用默认名“StausBar1”。将StausBar1分成三个区域,分别是StatusPanel1、StatusPanel2和StatusPanel3。第一个区域显示公司名称,第二个区域显示当前的操作员,第三个区域显示系统时间。为此,要在主窗体中添加一个时间控件。这些功能的实现是靠代码完成的,稍后介绍这些代码。将状态条分段的操作方法是:在StausBar1 控件上按鼠标右键,弹出“Editing StatusBar1.Panels”编辑窗,
36、在该编辑窗上面按右键,选择弹出窗的“Add”,将StatusBar1分成三段,分别是0-STatusPanel1、1-STatusPanel1、2-STatusPanel1。然后在其“Width”属性中设置每一段的宽度,如图3-8 所示。图3.8 将StausBar1控件分成三段5 状态栏的代码设计为了在状态栏的第一段中显示目前登录者的姓名,首先在主窗体的“public ”域中声明一个UserName 的字符串变量: publicname:string;username:string;为了在状态栏的第三段中显示目前的系统时间,要在主窗体中添加一个时间控件,双击主窗体中的定时器控件,在弹出的代码
37、编写器中编写如下代码: procedure Tmainform.Timer1Timer(Sender: TObject;beginMainform.StatusBar1.Panels2.Text :='现在时间: '+datetimetostr(now; end;编译后就可以在状态条的第三段看到系统时间,如图3-9所示: 每选择一次Add 就会增加一段图3.9 状态条第三段显示系统时间6 主窗体工具栏的设计在主窗体中添加一个工具栏,工具栏上放置若干个快件键,以提供某些快速操作。添加工具栏的操作方法是:1. 从Win32页中拖放一个 ToolBar1 控件到主窗体中。设置Alig
38、n 属性(对齐为alNone ;设置DragKind 属性为dkDock 。2. 从Additional 页中拖放10个SpeedButton按钮到ToolBar1上。这些SpeedButton 按钮作为工具栏的快捷键;3. 给每个按钮添加上相应的图标和文字。为了能给这些SpeedButton 按钮添加上图标,首先要准备好图标(素材,并将他们存放在一个专门的文件夹中,然后在主窗体中添加一个 ImageList控件,使用默认名ImageList1。选择SpeedButton1,通过它的Glyph 属性添加上显示系统时间工具栏为它准备好的图标,并从它的Caption 属性中输入中文名。设计好的工具
39、栏ToolBar1如图3-10所示: 图3.10 设计好的工具栏实现快捷键图标在上、文字在下的方法:如下图所示,先选中ToolBar上的一个快捷键,将它的Layout属性设置为blGlyphTop就可以了。被选中的快捷键把该键的Layout属性设置为blGlyphTop图3.11 设置快捷键的Layout属性7 主窗体工具栏的拖曳工具栏不一定始终停靠在一个个固定的地方,而是随时可以变换地方,这就要用到控件的拖曳技术。ToolBar1的Align属性设置为:alNone,即不固定位置;T oolBar1的DranKInd属性设置为:dkDock;在主窗体的最下方添加一个Panel1组件,它的He
40、igh属性设为1;Align属性设为alBottem;Docksite设为True程序的相关代码:procedure TMainForm.FormCreate(Sender: TObject;begintoolbar1.Hide;end;procedure TMainForm.ToolBar1StartDock(Sender: TObject;var DragObject: TDragDockObject;beginpanel1.Height:=1;end;procedure TMainForm.Panel1DockDrop(Sender: TObject;Source: TDragDockO
41、bject; X, Y: Integer;beginpanel1.Height:=toolbar1.Height;end;3.2 主窗体的第一次代码设计主窗体的界面设计好后,着手编写主窗体初始化的三段代码,以便先让它空转起来。1procedure FormShow(Sender: TObject;2procedure FormCreate(Sender: TObject;3procedure FormKeyDown(Sender: TObject; var Key: Word;Shift: TShiftState; /按下F功能键所执行的功能4为了在编译完成后能退出程序,可先编写主菜单“【系统
42、设置】”中的“退出系统”项的代码: 同时要在主窗口的代码编辑窗口的public 处设立如下变量,以备后用: publicmodelr,buildlr,comlr,emplr,sale,gather,plan,payreturn, saler,house,custpay,cust,custfx,user1,databack:boolean; name:string; username:string;3.3 数据模块设计在Delphi 的数据库应用程序设计中,数据库与SQL Server 服务器的连接是通过数据模块(Data Module 来实现的。从菜单“File” | “New” | “Oth
43、er” ,弹出选择“Data Module”模版窗口,从该窗体中点选Data Module 项,如图3-12所示。 图3.12 选择DataModule 窗体窗体名:dm;单元文件名:dmunit.pac; Caption :dm 。记住:主窗体和接下来完成的登录窗体都要“Uses dmunit.pas ”!在新生成的Data Module 窗体中,从“ADO ”组件页中拖放连接数据库的“Connection ” 组件,将其Name 属性设为“fdc_conn ”,再从“DataAceess ”页中拖放一个“DataSource ”控件将其Name 属性设为“dsuser ”,并给数据模版(窗
44、体命名为“dm ” ,单元文件保存为:“dmunit .pas” 。设计好的数据模块如图3-13所示。图3.13 DataModule 窗体中的连接控件我们采用ADO 数据库连接技术。设置fdc_conn 控件的Connection 属性,以实现连接FDC.mdb 数据库。 按下图首先选择提供程序“Microsoft OLE DB for SQL Server ”,然后按右边所谓图示填写数据库所在的服务器名和将要连接的数据库“FDC ”,最后确认数据库连接成功。图3.14 fdc_conn 控件的Connection 属性DataSource 控件这些是登录页面访问f_User 表所需的控件选
45、择提供程序选择服务器要连接的数据库名 图3.15 数据库连接成功接下来在“dm”窗体中逐次添加以下数据控件: 1 userdataSet控件属性设置:Connection fdc_connCommandText 点击后面的,弹出下面的编辑窗体:选择左边的f_user表后,在这里书写select *from f_user 代码2 usertable控件,这是ADO页的表控件,取名为:usertable Usertable的属性设置: 要连接到fdc_conn控件 要指定它要访问的数据表:f_user表。4duser控件,这是一个datasource 控件,与usertable配套使用。duser
46、控件的属性设置: 5 duserdataset这是一个DataSource控件(在DataAccess页,取名为duserdataset,表示与前一个userdataset控件配套使用。 duserdataset属性设置: 6 另外放了两个控件,这是查询用的,其中控件要设置Connection 属性:,DataSource1没有属性设置。注意:该Datamodule 即dm 窗体没有事件,也就是说demunit.pas 中不用编写代码。第4章登录模块设计4.1登录模块的窗体设计程序的启动画面消失后,将弹出登录窗体,用户通过输入用户名和密码就可以进入系统,然后根据用户权限打开相应的模块。用户登录
47、的作用是保护应用程序中的相关资料,以防止无关人员对程序信息的肆意破坏。当进入程序后,用户只能根据用户拥有的权限对程序中的相关模块进行相应的操作。为了防止无关人员在数据库中获取用户信息,而对应用程序进行操作,可以先对用户名和密码进行再加密后存入数据库中,这样用户名和密码就不太容易被盗取,使应用程序变得更加安全。当没有输入用户名和密码时,程序会提示“请输入正确的用户名和密码”,当用户名或,密码错误时,系统会提示:“对不起,没有这个用户名”或“密码错误”,系统重新回到登录窗口。一个用户最多允许输入三次用户名和密码,超过三次,系统将退出。4.1.1登录窗口样式登录窗体的一般样式如图4-1。 图4.1
48、登录窗体布局图窗体中的控件及其名称: 窗体中用到的图片要事先准备好,保存在工程文件的根目录下。要注意的是,用户名后面的输入框采用的控件是位于DataControls 页的DBLookupCombobox1。用它可以从下拉列表框中选择已经保存在User 数据表中的用户,不必每次输入用户名。DBLookupCombobox1的属性设置图4-2所示: 图4.2 设置DBLookupCombobox1控件的属性5.1.2 登录模块的数据控件 登录窗体中输入用户名和密码之后,点击键,程序代码就去访问 “FDC.mdf” 数据库中的“ User” 数据表,通过函数(将输入的用户名和密码与User 表中保存
49、的数据是否一致。如果一致,程序就打开主窗体,供登录者进行所需的操作;否则会弹出提示框,要你输入正确的用户名和密码,而且最多只能连续输入三次,若三次都不成功,那么程序就退出。为了能够实现这些功能,我们必须在数据模块(DataModule 中放置如下数 据控件: 图4-3 为登录窗体访问数据库要求的数据控件登录系统时既要检查用户名是否存在,还要验证密码是否正确,而且还要获 取用户的权限供后面窗体调用。用户名、密码和用户权限存储在f_user 表中,字段名有用户编号、用户名称、和用户密码以及用户权限等多项,参见图4-4: 表控件,它的TableName 属性:f_userADODataSet 控件
50、它的CommandText 属性: select * from f_user代表用户有权进行房型录入操作图4-4 登录用的用户表4.1.3登录模块代码设计登录模块的主要程序代码如下: 按下键 运行后的登录窗口如图4-5所示。 图4-5 登录窗口输入事先存放在用户表f_user中的用户名和密码,就可以进到主窗体。 图4-6 预先窜放在f_user表的信息到此,我们就完成了第一阶段的设计。下面进入到功能模块的详细设计。第5章功能模块设计5.1 房型资料录入模块设计房型资料录入模块提供对房屋类型的管理,该模块主要对f_mode表进行基本的增加、编辑、删除和修改等操作。模块中用到了Excel电子表格技
51、术,该项技术比较复杂。5.1.1 在dm窗体中添加数据控件为了能够访问f_mode表,需要在md窗体(DataModule1中加入相关的数据访问控件,并进行相应的属性设置。添加的控件分别是TADOTable(命名为:mode、TDATASource(命名为: dsmode以及数据集控件ADODataSet(命名为:mode_ds。这三个控件是用来访问f_mode表的第一个是表控件TADOT able;第二个是数据源控件TDataSource;第三个是数据集控件TADODataSet。图5.1 编辑CommandText属性表控件“mode”设置Connection属性:fdc_conn,指定将
52、要连接的表即TableName属性为:f_mode(数据库中的f_mode表。dmode控件(DataSource只需要设置它的DataSet属性为mode,即DataSource的字符集是通过表控件“mode”获得。而mode_ds控件除了要设置Connection属性同样是fdc_conn之外,还要设置CommandText属性。设置CommandText属性的步骤是:点击该属性后面的,弹出CommandText 编辑框,按照图4-1左边选择f_mode表,右边框中列出要从该表中选择的字段名。 图5.2 编辑CommandText属性5.1.2 窗体详细设计1. 设计步骤(1在工程中新建一
53、个窗体,窗体的name属性:modeform,Capation属性:房型资料录入,BoederStyle属性设为:bsSingle;(2在窗体上方添加多个TDBEdit组件(在DataControls页这些组件用于输入修改和增加房屋类型时的信息。它们的DataSour属性设为de.dsmode(见图5-1,并设置每个组件的DataField属性为相应的连接字段。也就是说,DBEdit 组件将要去连接f_mode(房型表表中的哪个字段。比如说DBEdit1它要连接的字段是房型名称,那么它的DataField属性就选择“房型名称”,依此类推。(3在窗体的下方添加TDBNavigator组件,采用默认名DBNavigator1。通过该组件中的箭头控制DBGrid表中数据记录的位置。它的DataSour属性设为de.dsmode。(4在DBNavigator1组件的右边添加9个TSpeedButton组件(快捷键,这些控件用来执行添加、修改、保存、打印、显示房型图片等命令。(5在窗体的中央添加一个TDBGrid组件,占满差ungtide整个中央部分。设置它的DataSour属性设为de.dsmode。用它来显示房型资料的全部信息。设计好的方形资料录入模块如图5-3所示。 图5-3 设计好的
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年四川省南充市公开招聘警务辅助人员辅警笔试自考题1卷含答案
- 2024年广东省佛山市公开招聘警务辅助人员辅警笔试自考题2卷含答案
- 2022年四川省广元市公开招聘警务辅助人员辅警笔试自考题2卷含答案
- 2024年云南省大理自治州公开招聘警务辅助人员辅警笔试自考题1卷含答案
- 集体三等功事迹报告
- 学校圣诞节晚会的主持开场白!中文英文对照版
- 《创建框架网》课件
- 《膈疝放射诊断》课件
- 2025年生命探测仪项目申请报告模板
- 2025年特种粉末及粉末冶金制品项目规划申请报告模范
- 中建三局住宅工程精益建造实施指南
- 分布式光伏发电项目并网验收意见单
- 网站隐私政策模板
- YY∕T 1831-2021 梅毒螺旋体抗体检测试剂盒(免疫层析法)
- 消弧产品规格实用标准化规定
- 装饰装修工程施工合理化建议和降低成本措施提要:完整
- 第十四章35kV变电站保护整定值计算实例
- 液态模锻工艺介绍
- 水泵水轮机结构介绍
- 井式炉课程设计说明书
- 拼音四线三格加田字格模板(A4打印版可编辑打字)
评论
0/150
提交评论