zoukankan      html  css  js  c++  java
  • 获取天气

    using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Text; using System.Windows.Forms; using System.ServiceModel; using System.Runtime.InteropServices;

    namespace MyWeather {          

        public partial class Form1 : Form     {                 string myip,mycity;         private double opacity = 0;//记录当前窗体的透明度           //实现无边框移动         [DllImport("user32.dll")]         public static extern bool ReleaseCapture();         [DllImport("user32.dll")]         public static extern bool SendMessage(IntPtr hwnd, int wMsg, int wParam, int lParam);         public const int WM_SYSCOMMAND = 0x0112;         public const int SC_MOVE = 0xF010;         public const int HTCAPTION = 0x0002;         //实现无边框移动

            public Form1()         {             InitializeComponent();                   }

          

            private void Form1_Load(object sender, EventArgs e)         {                Opacity = 0;//指定窗体完全透明                  GetIP();                GetCityByIP(myip);                DisplayWeather();         }

            protected void GetIP()         {             try             {                 string strUrl = "http://www.ip138.com/ip2city.asp"; //获得IP的网址                 Uri uri = new Uri(strUrl);                 System.Net.WebRequest wr = System.Net.WebRequest.Create(uri);                 System.IO.Stream s = wr.GetResponse().GetResponseStream();                 System.IO.StreamReader sr = new System.IO.StreamReader(s, Encoding.Default);                 string all = sr.ReadToEnd(); //读取网站的数据                 int i = all.IndexOf("[") + 1;                 string tempip = all.Substring(i, 15);                 string ip = tempip.Replace("]", "").Replace(" ", "");//找出i                 myip = ip;             }             catch (Exception e)             {                 Console.WriteLine(e.ToString());             }         }

            protected void GetCityByIP(string myip)         {             IPCity.IpAddressSearchWebService city = new IPCity.IpAddressSearchWebService();

                string[] ss = city.getCountryCityByIp(myip);                        int n = ss[1].IndexOf(' ');//空格所在位置             int m = ss[1].IndexOf('省');//ss[1]的实际内容是XX省 XX市,而获取天气的webservice只需要知道是某个市不需要知道省,所以截取了XX市             int x = n - m;             mycity = ss[1].Substring(m+1,x-2);                  

            }         protected void DisplayWeather()         {

                webxml.WeatherWebService w = new webxml.WeatherWebService();             //把webservice当做一个类来操作 

                string[] s = new string[23];//声明string数组存放返回结果                        s = w.getWeatherbyCityName(mycity);                               if (s[8] == "")             {                 MessageBox.Show("暂时不支持您查询的城市");             }             else             {

                    string png = s[8].Substring(0, s[8].Length - 4);                 string png2 = s[15].Substring(0, s[15].Length - 4);                 string png3 = s[20].Substring(0, s[20].Length - 4);                 string path = Application.StartupPath;                 pictoday.Image = Image.FromFile(path+"\\images\\"+png+".png");                 pic1.Image = Image.FromFile(path + "\\images\\" + png + ".png");                 pic2.Image = Image.FromFile(path + "\\images\\" + png2 + ".png");                 pic3.Image = Image.FromFile(path + "\\images\\" + png3 + ".png");                 this.lbl1.Text = s[5].ToString();                 this.lbl2.Text = s[12].ToString();                 this.lbl3.Text = s[17].ToString();                 this.time.Text = s[4].ToString();                 this.address.Text = s[1].ToString();                 this.temperature.Text = s[5].ToString();                 this.label4.Text = s[6].Substring(s[6].IndexOf('日')+1).ToString();                 this.label5.Text = s[7].ToString();                 this.tempo1.Text = s[6].Substring(s[6].IndexOf('日')+1);                 this.tempo2.Text = s[13].Substring(s[13].IndexOf('日')+1);                 this.tempo3.Text = s[18].Substring(s[18].IndexOf('日')+1);               

                }         }         //实现无边框移动         private void Form1_MouseDown(object sender, MouseEventArgs e)         {             ReleaseCapture();             SendMessage(this.Handle, WM_SYSCOMMAND, SC_MOVE + HTCAPTION, 0);         }

            private void timer1_Tick(object sender, EventArgs e)         {              if (opacity <= 1)                {                    opacity = opacity + 0.05;                    Opacity = opacity;              }           }     } }

  • 相关阅读:
    vue 中使用阿里iconfont彩色图标
    团队作业九
    团队作业八
    团队作业七
    第二篇
    第三篇
    第一篇
    beta冲刺计划安排
    团队作业六
    团队作业五
  • 原文地址:https://www.cnblogs.com/yexinw/p/2610085.html
Copyright © 2011-2022 走看看