话说每到吃完的时间就发愁,真的不知道该吃什么,然后就想到做一个生成吃什么的小软件,既然这个软件如此的简单,就打算用wpf开发吧,也不用数据库了,直接保存在xml中就可以了

程序整体结构如下图

首先我写了一个xml的帮助类,主要是写了个常用的增加方法

主程序界面也很简单,一共就两个页面

对应的两处代码也粘上

 private void Button_Click_1(object sender, RoutedEventArgs e)
{ string path = Common.GetServerPath() + "\\food.xml";
DataSet ds = new DataSet();
ds.ReadXml(path);
DataTable table = ds.Tables[];
DataRow[] tableZao = table.Select("type='早餐'");
DataRow[] tableZhong = table.Select("type='午餐'");
DataRow[] tableWan = table.Select("type='晚餐'");
Random num = new Random();
int temp = num.Next(table.Rows.Count); int temp1 = num.Next(tableZao.Length);
int temp2 = num.Next(tableZhong.Length);
int temp3 = num.Next(tableWan.Length); lblZao.Content = tableZao[temp1][];
lblZhong.Content = tableZhong[temp2][];
lblWan.Content = tableWan[temp3][];
}
XmlHelper xh = new XmlHelper();
string path = Common.GetServerPath() + "\\food.xml"; Hashtable ht = new Hashtable();
string name = txtName.Text;
string type = cbType.Text; XmlDocument xmldoc = new XmlDocument();
xmldoc.Load(path);
XmlNode node = xmldoc.SelectSingleNode("foods");
int id = ;
if (node==null)
{
id = ;
}
else
{
XmlNode node2= node.LastChild;
//foreach (XmlNode item in node2.ChildNodes)
//{
// MessageBox.Show(item.Name[0]+":"+item.InnerText);
//}
id = Convert.ToInt32(node2.FirstChild.InnerText) + ;
} ht.Add("id", id);
ht.Add("name", name);
ht.Add("type", type);
ht.Add("last", "1900-01-01"); xh.InsertNode(path, "food", false, "foods", null, ht);
MessageBox.Show("保存成功"); }

功能很简单,代码也很简单,拿出来分享一下,大家勿喷啊,不过vs2012打包发布倒是挺麻烦的,我下载了一个InstallShield2013LimitedEdition,还是发布不成功,下一篇写一个vs2012打包发布,和大家讨论一下

wpf+xml实现的一个随机生成早晚餐的小demo的更多相关文章

  1. 一个基于ES6+webpack的vue小demo

    上一篇文章<一个基于ES5的vue小demo>我们讲了如何用ES5,vue-router做一个小demo,接下来我们来把它变成基于ES6+webpack的demo. 一.环境搭建及代码转换 ...

  2. [BCB] C++ BUILDER 绘图 随机生成图形

    由于老师要求要实现一个填充算法,而每次填充都需要一个源图形[不规则],用mspaint自己画太麻烦,于是打算自己动手随机生成. 这里用的是 Polygen()函数,但是注意首尾相接,另外,为了保证规则 ...

  3. 给你一个能生成1到5随机数的函数,用它写一个函数生成1到7的随机数。 (即,使用函数rand5()来实现函数rand7())

    给你一个能生成1到5随机数的函数,用它写一个函数生成1到7的随机数. (即,使用函数rand5()来实现函数rand7()). 解答 rand5可以随机生成1,2,3,4,5:rand7可以随机生成1 ...

  4. 随机生成30道四则运算-NEW

    补充:紧跟上一个随机生成30道四则运算的题目,做了一点补充,可以有真分数之间的运算,于是需要在原来的基础上做一些改进. 首先指出上一个程序中的几个不足:1.每次执行的结果都一样,所以不能每天给孩子出3 ...

  5. 使用JavaScript随机生成数字混合字母的验证码

      <script> // 封装一个随机生成数字的函数 function random(a, b) { var n = Math.round(Math.random() * (a - b) ...

  6. 一个基于ES5的vue小demo

    由于现在很多vue项目都是基于ES6开发的,而我学vue的时候大多是看vue官网的API,是基于ES5的,所以对于刚接触项目的我来说要转变为项目的模块化写法确实有些挑战.因此,我打算先做一个基于ES5 ...

  7. 【Java】Jsoup爬虫,一个简单获取京东商品信息的小Demo

    简单记录 - Jsoup爬虫入门实战 数据问题?数据库获取,消息队列中获取中,都可以成为数据源,爬虫! 爬取数据:(获取请求返回的页面信息,筛选出我们想要的数据就可以了!) 我们经常需要分析HTML网 ...

  8. SpriteKit游戏Delve随机生成地牢地图一个Bug的修复

    大熊猫猪·侯佩原创或翻译作品.欢迎转载,转载请注明出处. 如果觉得写的不好请多提意见,如果觉得不错请多多支持点赞.谢谢! hopy ;) Delve是一个很有意思的地牢探险类型的游戏,其中每一关的地图 ...

  9. PYTHON练习题 二. 使用random中的randint函数随机生成一个1~100之间的预设整数让用户键盘输入所猜的数。

    Python 练习 标签: Python Python练习题 Python知识点 二. 使用random中的randint函数随机生成一个1~100之间的预设整数让用户键盘输入所猜的数,如果大于预设的 ...

随机推荐

  1. Openstack中间DVR Part1 -- 东西走向的交通处理

    作者:Liping Mao  发表于:2014-07-04 版权声明:能够随意转载.转载时请务必以超链接形式标明文章原始出处和作者信息及本版权声明 在Openstack中L3router会造成流量集中 ...

  2. 机器学习算法-K-means聚类

    引文: k均值算法是一种聚类算法.所谓聚类.他是一种无监督学习,将类似的对象归到同一个蔟中.蔟内的对象越类似,聚类的效果越好. 聚类和分类最大的不同在于.分类的目标事先已知.而聚类则不一样. 由于其产 ...

  3. ssi(Server Side Includes)介绍

    Server Side Includes (SSI) is a simple interpreted server-side scripting language used almost exclus ...

  4. 鼠标移动事件--JavaScript

    鼠标移动事件 <html> <head> <title>鼠标移动事件</title> </head> <style type=&quo ...

  5. HDU1518(dfs)java/ c++

    Square Time Limit: 10000/5000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Sub ...

  6. 使用CocoaPods遇到的几个坑,记录一下

    最近使用pod的时候升级到1.0.0版本后遇到一些坑,整理一下 首先是CocoaPods报错:The dependency `` is not used in any concrete target ...

  7. android activity启动的4种方式记录及打开其他应用的activity的坑

    Android启动的四种方式分别为standard,singleTop,singleTask,singleInstence. standard是最常见的activity启动方式,也是默认的启动的方式. ...

  8. jquery登录验证插件

    最近写了个登录验证的jquery插件,其中功能还不是很完善,需要进一步改进,先放出来看看先. /** * 功能描述:本模块实现普通网站登录验证,以后可以添加二维码验证,以及第三方帐号登录验证 * 关联 ...

  9. DS4700存储日志收集

      a)DS4700存储日志收集              1)收集all support data 1.1.启动客户端”DS Storage manger 10 client”添加控制器IP”192 ...

  10. C++ STL (备忘)

    2014-08-04 16:33:57 (1)  map  map定义形式 map<type1,type2> map_name; map的基本操作函数:      C++ Maps是一种关 ...