首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

200分将c#改成delphi

2013-09-10 
200分求助将c#改成delphi本帖最后由 caozhy 于 2013-09-04 17:44:39 编辑using Systemusing System.Colle

200分求助将c#改成delphi
本帖最后由 caozhy 于 2013-09-04 17:44:39 编辑


using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Net;
using System.IO;
using System.Xml;
using System.Xml.Linq;
using System.Windows.Forms;

namespace WindowsFormsApplication11
{
    class BaiduApi
    {
        public static string GetDistance(string rregion, string rcity, string dregion, string dcity)
        {
            string str = "";
            try
            {
                XDocument docbaidudis = XDocument.Load(Application.StartupPath + "\\baidudis.XML");
                int count = int.Parse(creatconxml());
                WebRequest request = WebRequest.Create("http://api.map.baidu.com/direction/v1?mode=driving&origin=" + rregion + "&destination=" + dregion + "&origin_region=" + rcity + "&destination_region=" + dcity + "&output=json&ak=" + docbaidudis.Element("sys").Element("key" + count.ToString()).Value);
                WebResponse response = request.GetResponse();
                StreamReader reader = new StreamReader(response.GetResponseStream(), Encoding.GetEncoding("gb2312"));
                str = reader.ReadToEnd();
                reader.Close();
                reader.Dispose();
                response.Close();
                int statusindex = str.IndexOf("status");
                string status = str.Substring(statusindex + 8, 1);


                if (status == "0")
                {
                    int lastdisindex = str.LastIndexOf("distance");
                    string distance = str.Substring(lastdisindex + 10, str.IndexOf(",", lastdisindex) - lastdisindex);
                    return distance.Remove(distance.IndexOf(','));
                }
                else if (status == "2")
                {
                    return status;
                }
                else//(status == "5")
                {
                    XDocument docbaiducount = XDocument.Load(Application.StartupPath + "\\baiducount.XML");
                    docbaiducount.Element("sys").Element("key").Value = (int.Parse(docbaiducount.Element("sys").Element("key").Value) + 1).ToString();
                    docbaiducount.Save("baiducount.xml");
                    return GetDistance(rregion, rcity, dregion, dcity);
                }
            }
            catch (Exception tt)
            {
                return "0";


            }
        }
        private static string creatconxml()
        {
            if (!File.Exists("baiducount.xml"))
            {
                XmlWriter writer = null;
                try
                {
                    writer = XmlWriter.Create("baiducount.xml");
                    writer.WriteStartElement("sys");
                    writer.WriteElementString("date", System.DateTime.Today.ToShortDateString());
                    writer.WriteElementString("key", "1");
                    writer.WriteEndDocument();
                    writer.Flush();
                }
                finally
                {
                    if (writer != null)
                        writer.Close();
                }
                return "1";
            }
            else
            {
                XDocument doc = XDocument.Load(Application.StartupPath + "\\baiducount.XML");


                string datetime = doc.Element("sys").Element("date").Value;
                if (Convert.ToDateTime(datetime).Date != System.DateTime.Today)
                {
                    doc.Element("sys").Element("date").Value = System.DateTime.Today.ToShortDateString();
                    doc.Element("sys").Element("key").Value = "1";
                    doc.Save("baiducount.XML");
                    return "1";
                }
                else
                {
                    return doc.Element("sys").Element("key").Value;
                }
            }
        }
    }

项目地址
http://download.csdn.net/download/cmy_ymc/5990727 
不好意思,系统给分不让超过100。
[解决办法]
xml处理delphi中有xmldocument,web请求可以用idhttp
[解决办法]
本帖最后由 caozhy 于 2013-09-04 17:44:08 编辑 思路1L说的很清楚。干苦力的事情还是去项目交易频道请人帮忙吧。毕竟你让别人义务奉献给你劳动,你拿着劳动成果去老板那里领工资,这不合适。
[解决办法]
分给1楼吧,
这不合适
------解决方案--------------------


公司嘛,如果现抓一个小“项目”就当作救命稻草,说明员工瞎忙活一年到头来其实可能是无足轻重的。这种情况下就不能怪员工懒惰。


[解决办法]
Nothing

热点排行