• wpf+xml实现的一个随机生成早晚餐的小demo


       话说每到吃完的时间就发愁,真的不知道该吃什么,然后就想到做一个生成吃什么的小软件,既然这个软件如此的简单,就打算用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[0];
                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][1];
                lblZhong.Content = tableZhong[temp2][1];
                lblWan.Content = tableWan[temp3][1];
            }
    View Code
    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 = 0;
                if (node==null)
                {
                    id = 1;
                }
                else
                {
                    XmlNode node2= node.LastChild;
                    //foreach (XmlNode item in node2.ChildNodes)
                    //{
                    //    MessageBox.Show(item.Name[0]+":"+item.InnerText);
                    //}
                    id = Convert.ToInt32(node2.FirstChild.InnerText) + 1;
                }
    
                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("保存成功");
             
            }
    View Code

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

  • 相关阅读:
    石墨烯
    spring 安装
    orm 对象关系映射
    刷机问题
    环境必备
    spring 例子
    刷系统——黑屏问题
    android 文件下载
    c# 事件处理
    回忆测试广告理论
  • 原文地址:https://www.cnblogs.com/bjjjunjie/p/3522156.html
Copyright © 2020-2023  润新知