系统里有一个发送短信的窗体
老系统是使用固定的短信格式:
15890914997/编号200910的客户10月份用水20吨,合计税费499.5元,请于2010年1月20之前交费;如有疑问你拨打010-23982981,北京水司。红色部分是程序从数据库获得填充的现在新系统打算做成短信格式用户可配的,也就是说有一个界面配备短信格式;然后生成短信文本时,使用用户配置的格式进行填充数据。哪位做过类似的?或者有什么比较好的创意?
尝试窗体:
左边是TreeView右边是属性框,用户可以通过ContextMenu动态生成树,保存为XML文档,然后解析XML文档作为用户提供的短信格式。这样做出来效果不好。
征求一下各位,是不是有好的创意。
老系统是使用固定的短信格式:
15890914997/编号200910的客户10月份用水20吨,合计税费499.5元,请于2010年1月20之前交费;如有疑问你拨打010-23982981,北京水司。红色部分是程序从数据库获得填充的现在新系统打算做成短信格式用户可配的,也就是说有一个界面配备短信格式;然后生成短信文本时,使用用户配置的格式进行填充数据。哪位做过类似的?或者有什么比较好的创意?
尝试窗体:
左边是TreeView右边是属性框,用户可以通过ContextMenu动态生成树,保存为XML文档,然后解析XML文档作为用户提供的短信格式。这样做出来效果不好。
征求一下各位,是不是有好的创意。
由用户生成一个字符串,其中红色部分用字段名称 + 特殊标识符来替代。以你举的例来说:
【手机号】/编号【编号】的客户【月份】用水【数量】吨,合计税费【金额】元,请于【期限】前交费,如有疑问你拨打010-23982981,北京水司。
其中【】中的内容即为字段名称,将查询结果中每个字段的内容接照它对应的特殊标识符进行替代,string 的 Replace运算,就可以生成结果字符串。
加特殊标识符的目的是防止黑色部分中出现字段名,会造成错误的覆盖。
string msg = "{0}/编号{1}的用户,{2}月用水{3}吨金额{4}元.请于{5}前交费或拨打66200001咨询.感谢支持!自来水公司";
查询结果填充
string.Format(msg, sj.Trim(), vip.Trim(), m, sl, je, qx)
左边是TreeView右边是属性框,用户可以通过ContextMenu动态生成树,保存为XML文档,然后解析XML文档作为用户提供的短信格式。 这样做出来效果不好。一点也不灵活!
假设已经返回了正确的记录
新建一个 String a = "";
遍历这些 textBox, 如果 textBox.text == "" 则跳过
如果选择框为 False,则
a += textbox.text,
否则,
a += 记录.textbox.text对应的字段的值
完成遍历后,a 的值就是你要的结果。可以把这个东东做成可存储的文件,由用户来调用和修改
一个复选框+一个文本框
文本框只有的enable属性和复选框的checked属性相关
if 复选框.checked
{
如果文本框值==null
MessageBox提示
else
对应参数=文本框值
}
else
对应参数=""
在程序中使用数组存储文本框值
-----------------------
这种形式在拼SQL时比较好用,在控制打印文本以及格式时,感觉不是太好。^_^
一个复选框+一个文本框
文本框的enable属性和复选框的checked属性相关
if 复选框.checked
{
如果文本框值==null
MessageBox提示
else
对应参数=文本框值
}
else
对应参数=""
在程序中使用数组存储文本框值
-----------------------
这种形式在拼SQL时比较好用,在配置短信文本以及格式时,感觉不是太好。^_^
是这样的。把各个类似 msg 这样的信息放在资源文件或者数据库中就可以了。
目前系统中实现的方法,是预先定义好格式xml,解析xml提取格式字符串。
没有比较好的创意
继续顶~~~~~
这种办法不错,可以放一个RichTextBox,然后一个带下拉菜单的Button叫插入信息之类的,点击Button时弹出下拉菜单,选择以后在RichTextBox的部分用特殊的颜色,比如蓝色,显示【手机号】,然后再加个TextBox提供实时预览功能.
windows编程都是用DevExpress