标签归档:Delphi

不支持replace的数据库的替换处理方式

在写一个update SQL 语句的时候需要用到replace替换一部分数据,结果测试数据库选用的是Access,还不支持replace表达式,弄了半天,使用其支持的left,instr,right组合完成替换功能,只能替换一个字符串。

left(str1, instr(str1, str2)-1) + str3 + right(str1, len(str1) – instr(str1, str2) – len(str2)+1)

数据库建模

应用于零售小店的管理系统

随着计算机技术的发展,现在PC电脑已经越来越普及了,很多小的零售店也开始逐步使用pc电脑来进行日常销售的管理,辅助于商品上的条码加上扫描枪能够很好的针对小的零售店销售开展工作,这样相比纸张记录来说来的方便很多,而且整体成本也比较低,于是最近开始针对这个应用进行设计与考虑,开始想的很简单,因为应用本身就很简单,但是随着设计的开展,增加了很多的辅助元素,才发现简单性是很难控制的,要想适用范围广就要舍去某些简单性,想象中一个很简单的应用到头来发现却不如想象中的简单。
整体功能预想:
1、能够完成数据字典的管理;
2、简单的权限管理;
3、能够进行简单的会员管理及会员卡管理(非必要);
4、能够完成商品入库库存盘点的管理;
5、能够完成日常的营业的管理;
6、能够进行统计查询;
根据上面的预想,初步的数据建模图如下所示,仅仅是初始建模,尚需根据调研加深对其业务的理解后的需求进行完善。

数据库建模

数据库建模

一个小小小小工具的总结

经常会因为重新做系统忘记备份Favorites目录中的链接,新做完系统后链接就丢失了,昨天晚上闲来就写了个很小小小的工具用于记录Favorites目录中的链接,保存在Xml文件中,并显示在TreeView中,并可打开TreeView中的链接节点。

1、当前用户的Favorites目录搜索获取链接信息

采用递归搜索,使用几个API函数就能完成,主要涉及的API函数为FindFirst、FindNext、GetPrivateProfilestring、ShGetSpecialFolderLocation、ShGetPathfromIDList等,具体使用可参照MSDN。

2、将链接信息保存在xml文件,可以将链接的信息保存在字符串中,直接保存成xml文件,注意保存的时候字符编码采用UTF8格式,否则TXMLDocument处理时会出错,默认的为Ansi,将String转换为UTF8保存即可。

<urls>
 <urlCategory Name="Category Name">
 <urlCategory Name="Category Name">
 <url Name="Url Title">urlPath(e.g. http://www.google.com)</url>
 …
 </urlCategory>
 <url Name="Url Title">urlPath(e.g. http://www.google.com)</url>
 …
 </urlCategory>
 …
 </urls>

3、读取xml文件显示在TreeView中,节点urlCategory为TreeView目录节点,只需获取其Name属性,url为TreeView超链接节点,需要获取Name属性及其节点的value,这里在TreeView显示的是Name属性。需要针对TTreeView进行小小的改造,针对TTreeNode定义TTreeHintNode如下。

TTreeHintNode=class(TTreeNode)
 public:
 constructor Create(AOwner: TTreeNodes);
 procedure Assign(Source: TPersistent); override;
 function GetNodeHint(Node:TTreeNode):string;
 procedure SetNodeHint(Node:TTreeNode;value:string);
 ……