大家进来讨论一下酒店管理中房态一览的实现问题!(准备自己开发控件)

努力偷懒 2006-06-17 04:04:19
房态的问题,其实不只是在酒店中使用,其实,稍微改变一下,很多地方都可以利用到的。
旅馆、休闲中心、车站、售楼等等,各行各业都可以利用的,因为图形给人一种视觉上的刺激,在营销之中,视觉的刺激是占70%会导致一个人产生购买欲的。因此类似房态的控件,我觉得很有必要进行开发。现在大家来讨论一下房态的实现:
一:从OO的角度来看哦,每一个房间属于一个对象,操作员是对不同的对象进行操作的,因此,我觉得有必要创造一个房间的类。
二:从一个整体来观看,一个酒店,算是一个类,酒店包含酒店里面的所有房间,因此,酒店应看作是一个容器,对房间进行转载。
三:从实现的角度,有的网友说这些对象直接从TComponent继承过来,通过自己画图来画房态,而我昨天看的有关控件开发的书--《渗透》里面介绍的,画图呢,Delphi推荐从TGraphicControl里继承,如果用TGraphicControl继承过来的类作为房间的容器类,那么究竟是采用代码来画房间,这个方法是属于容器的(缺乏的是每个房间都不是独立的对象,房间只是容器的一部分空间而已)。还是再从TGraphicControl继承出一个房间类,让这个类获取一定的参数,自己画自己呢?(这样,如果房间多的,采用多线程进行画图)。房间类有各自独立的属性。

目前我所开发的房态拥有倒计时的功能,达到一定的时候会自动进入警告状态,还可以设置自动完成。但是,这样的房态,不能创建太多,采用的就是一个容器里面容纳一定数量的房间状态,而这个房间是一个frame继承出来的类,这个frame里面拥有几个控件,因此,数量一多,创建速度就慢,目前采用假翻页来实现。现在想做得更好,能一下子看完所有房间状态,最好还拥有放大缩小的功能。大家支持的请发表一下各自的见解!谢谢!
...全文
463 18 打赏 收藏 转发到动态 举报
写回复
用AI写文章
18 条回复
切换为时间正序
请发表友善的回复…
发表回复
努力偷懒 2006-06-29
  • 打赏
  • 举报
回复
Yes, it's a good idea and very useful,although it's old idea, but at this time of day,it has no perfect method to do.

这是一个很好的很有用的东西,虽然很久就已经有这东西,但是,直到现在,它都没有一个很好的解决方案!实在是遗憾!

房态这东西,我现在已经能够很好的实现出来了,唯一的缺点就是慢(大概1.5秒~2秒的时间显示一页,翻页的时候,如果那页的数量和上一页的数量一样,基本上不耗用时间就显示出新的信息),还有就是只能显示有限的数量。采用假翻页的方式来实现不同页的数据显示。(64个房间同时显示出来需要2秒。)每一个房间为一个独立的对象,容纳这些对象的又是另外一个对象,每一个对象拥有各自独立的数据和方法。还有各自的被选择事件。
SeanT 2006-06-28
  • 打赏
  • 举报
回复
It's good ideas, But It's old ideas. I ever developed it in 1998.
msdzwd 2006-06-27
  • 打赏
  • 举报
回复
学习,想象力比知识重要!
努力偷懒 2006-06-26
  • 打赏
  • 举报
回复
美观在于整齐与简洁,其实,关键还是更多地满足客户的需求以及实现更强大的功能。太容易满足的人,我感觉不会有什么进步!希望能继续有更多的人指点一下,好让我开工。
jabmoon 2006-06-23
  • 打赏
  • 举报
回复
想得太复杂了,感觉是不是美国电影里那种花里胡梢的系统界面看太多了,其实要在美观和简洁间取得一个平衡比较好
notruiyi 2006-06-23
  • 打赏
  • 举报
回复
//房间
//room
type T_room = class
private
d_state:integer;
//房间编号
d_num:string;
//房间坐标
d_x;integer;
d_y:integer;
//楼层
d_floor:integer;
public
procedure setState(theState:integer);
function getState():integer;
// other...
end;

//roomPanel
type roomPanel = class
private
d_panel:TPanel;
d_room:T_room;
public
//初始化时,建立Panel对象,传入房间对象,根据房间状态显示图片
//建立点击捕捉
constructor create(the_room:T_room);reintroduce;
destructor destroy();override;
procedure refresh();
procedure doOnClick(sender:TObject);
end;

//酒店
//hotel
type T_hotel =class
private
d_room_list:TObjectList;
public
//初始化时候建立房间列表
constructor create();
destructor destroy();override;
//从数据库中读取房间资料
procedure initRooms();
//增加房间资料
procedure addRoom(the_room:T_room);
//other method
......
end;
notruiyi 2006-06-23
  • 打赏
  • 举报
回复
说白了你只需要从PANEL继承就可以了,做成组合最好
notruiyi 2006-06-23
  • 打赏
  • 举报
回复
这个有什么问题啊,还用去做控件?
你做成PANEL数组都行,计算位置显示,每PANEL增加图片包含房间对象引用,刷新状态,
捕捉点击事件
gerrylc 2006-06-23
  • 打赏
  • 举报
回复
学习...
fei2046 2006-06-22
  • 打赏
  • 举报
回复
用drawgrid,drawcell可以在每一格中写入房号,画图片。
可以mousemove来检测处于相应的格中。
努力偷懒 2006-06-20
  • 打赏
  • 举报
回复
恩!楼上说的是, hxh01(hxh-1) 我加过他QQ,看过他开发的那个类似的控件,我也感觉没必要弄成mapx这类东西这么复杂。由于自己开发控件的经验不足,还希望大家继续请教一下!谢谢!
努力偷懒 2006-06-20
  • 打赏
  • 举报
回复
我最近看了http://www.huijinsoft.com/(汇锦)的那个房态,我觉得他们做的是挺好的。大家看看他是以什么样的方式实现的。我觉得他的每一个房间都不是一个对象,他直接是做容器,然后根据鼠标所在的点进行判断当前的鼠标在哪个房间上!
belsai 2006-06-19
  • 打赏
  • 举报
回复
这样的控件目前好像没有哦,我找了好久都没找到,虽然2楼说的没错,但是个人认为程序的美观和快速开发也是很重要的,有这样的控件是绝对有用的。
我水平不行,帮不上太大的忙,但楼主说的mapx我倒是见过,那个东东太复杂了,在做GIS系统时会经常使用,做这个东西好像不太合适。
努力偷懒 2006-06-19
  • 打赏
  • 举报
回复
二楼说的没错,管理者是这样想的,但是,要是有的房间是钟点房的,我觉得倒计时是很有必要的,我做的休闲中心的那个软件就需要看还有多少时间到,以便告诉客人要等多久。这是一种服务质量的问题。listview做的房态我不是没做过,这个东西要在上面显示更多的东西的时候不好处理,而且图标与图标之间存在的间隙不灵活。就是要显示更多的数据,不用点进房间才看到相关的资料,要是象你那样说的,点进房间看相关资料,那根本就不用做了。我也确实没去过酒店,也确实不了解酒店,因为我看到房态不应只用在酒店的应用上,更多的应用都可以利用房态这类东西,我看得比你远。凭想象确实做不出好的东西,因为所有的一切,只能通过实践才能领会出客户的实际需要,实践+想象才是我的目标。软件,只有想不到的,没有做不到的东西。我还要利用这东西,更快捷地做出以后继承出来的每一个子类,我所追求的,不是目前的效率,我所追求的是未来开发的效率。

『完全基于数据库的地图实现技术』这东西我曾经都想过,而且也有那个地图的控件,叫什么mapx.v5.02.19的东东,不过,实现起来觉得好像很复杂,就没想过太多了!


TCustomControl是可以,但是我在别的帖子里,有位前辈说从效率上来说,继承这个类相对会差点,但没经证实。

大家都发表一下建议!谢谢!
marry2000 2006-06-17
  • 打赏
  • 举报
回复
想法不错,支持~
TCustomControl有canvas,也有句柄,用来做容器类,房间应该是另一个独立的类。
hxh01 2006-06-17
  • 打赏
  • 举报
回复
完全基于数据库的地图实现技术
QQ:4818472
XXSingle 2006-06-17
  • 打赏
  • 举报
回复
全部显示完所有房间是有必要的
Rail100 2006-06-17
  • 打赏
  • 举报
回复
想得太多了吧,又不是打游戏,管理者最关心的是有多少空房、住了什么人,可以快速查找住客相关资料等等。这些功能用listview都能胜任,你以为管理者没事就好像玩游戏随意在各房间里乱点,然后查看状态?
去酒店了解一下吧,凭想象不能做出好软件的。

2,498

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 数据库相关
社区管理员
  • 数据库相关社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧