delphi 天气预报
天气预报
var
astream : tmemorystream;
sStream : TStringStream;
jv : TJSONValue;
begin
astream := tmemorystream.Create;
sStream := TStringStream.Create( '', tencoding.UTF8 ); self.NetHTTPClient1.Get( 'http://www.weather.com.cn/adat/sk/101010100.html',
astream );
sStream.CopyFrom( astream, astream.Size );
self.Caption := sStream.Size.ToString( );
Memo1.Text := sStream.DataString; jv := TJSONObject.ParseJSONValue( Memo1.Text ) as TJSONValue;
self.Caption := jv.GetValue( 'weatherinfo', '' );
freeandnil( sStream );
freeandnil( astream );
end;
{"weatherinfo":{"city":"北京","cityid":"101010100","temp":"9","WD":"西南风","WS":"2级","SD":"22%","WSE":"2","time":"10:35","isRadar":"1","Radar":"JC_RADAR_AZ9010_JB","njd":"暂无实况","qy":"1015"}}
TJSONObject *jo = (TJSONObject*) TJSONObject::ParseJSONValue(this->Memo6->Text);
jo = (TJSONObject*)jo->Get("weatherinfo")->JsonValue; Memo6->Lines->Add(((TJSONPair*) jo->Get("city"))->JsonValue->Value());
Memo6->Lines->Add(((TJSONPair*) jo->Get("cityid"))->JsonValue->Value());
Memo6->Lines->Add(((TJSONPair*) jo->Get("temp"))->JsonValue->Value());
Memo6->Lines->Add(((TJSONPair*) jo->Get("WD"))->JsonValue->Value());
Memo6->Lines->Add(((TJSONPair*) jo->Get("WS"))->JsonValue->Value());
Memo6->Lines->Add(((TJSONPair*) jo->Get("SD"))->JsonValue->Value());
Memo6->Lines->Add(((TJSONPair*) jo->Get("WSE"))->JsonValue->Value());
Memo6->Lines->Add(((TJSONPair*) jo->Get("time"))->JsonValue->Value());
Memo6->Lines->Add(((TJSONPair*) jo->Get("isRadar"))->JsonValue->Value());
Memo6->Lines->Add(((TJSONPair*) jo->Get("Radar"))->JsonValue->Value());
Memo6->Lines->Add(((TJSONPair*) jo->Get("njd"))->JsonValue->Value());
Memo6->Lines->Add(((TJSONPair*) jo->Get("qy"))->JsonValue->Value());
delphi 天气预报的更多相关文章
- Delphi天气预报查询
Delphi天气预报查询 天气预报接口api(中国天气网) 开源免费天气预报接口API以及全国所有地区代码!!(国家气象局提供) 真正的中国天气api接口xml,json(求加精) ...
- Delphi7 客户端调用WebService(天气预报)
客户程序:第一步:新建一个Application. 第二步:File----->New----->Other------>WebServices----->WSDL Impor ...
- 解析天气预报JSON数据
解析天气预报JSON数据 JSON字符串 constjson2 = '{' + #13#10 +'"error":0,' + #13#10 +'"status" ...
- delphi操作xml学习笔记 之一 入门必读
Delphi 对XML的支持---TXMLDocument类 Delphi7 支持对XML文档的操作,可以通过TXMLDocument类来实现对XML文档的读写.可以利用TXMLDocum ...
- 学习笔记:7z在delphi的应用
最近做个发邮件的功能,需要将日志文件通过邮件发送回来用于分析,但是日志文件可能会超级大,测算下来一天可能会有800M的大小.所以压缩是不可避免了,delphi中的默认压缩算法整了半天不太好使,就看了看 ...
- delphi连接sql存储过程
针对返回结果为参数的 一. 先建立自己的存储过程 ALTER PROCEDURE [dbo].[REName] ) AS BEGIN select ROW_NUMBER() over(order by ...
- delphi 2010与delphi XE破解版的冲突
在系统中同时安装了Dephi 2010LITE版与Delphi XE lite后,总是会有一个有问题 是因为两者都是读取C:\ProgramData\Embarcadero目录下的license文件, ...
- [Delphi] Delphi版本号对照
VER300 Delphi Seattle / C++Builder Seattle 23 230 (Delphi:Win32/Win64/OSX/iOS32/iOS64/An ...
- delphi tidhttp 超时设置无效的解决方法
现在delphi都发布到xe8了,tidhttp还有缺陷,那就是超时设置在没有网络或者连不上服务器的时候是无效的,不管你设置为多少都要10-20秒.connectTimeout和readTimeout ...
随机推荐
- a, b交换与比较问题
1. 求a, b中较大的数,不使用if.?.switch等判断语句. 答案: 另一种思路是求两者的差,然后通过位运算判断差值的正负,不过个人觉得还是第一种各位简洁优雅. 2. 交换a, b的值,要求不 ...
- LeetCode OJ:Majority Element(主要元素)
Given an array of size n, find the majority element. The majority element is the element that appear ...
- PostgreSQL full_page_write记录
PostgreSQL 在 checkpoint 之后在对数据页面的第一次写的时候会将整个数据页面写到 xlog 里面. 当出现主机断电或者OS崩溃时,redo操作时通过checksum发现“部分写”的 ...
- Android Issue分析方法(用anr来说明)
Log的产生大家都知道 , 大家也都知道通过DDMS来看log , 但什么时候会产生log文件呢 ?一般在如下几种情况会产生log文件 . 1,程序异常退出 , uncaused exception ...
- Java并发编程总结
基础概念 1.什么是原子操作?在Java Concurrency API中有哪些原子类(atomic classes)?原子操作(atomic operation)意为"不可被中断的一个或一 ...
- MySQL 福利彩票业务 如何存储毫秒微秒
朋友在做福利彩票业务,遇到一个存储毫秒微秒数据的需求,问我mysql里面有何解决方案.我脑中一搜索,以前没有关注到,于是去官网查看,找到11.3.6 Fractional Seconds in Tim ...
- istreambuf_iterator
#include <set> #include <stdio.h> #include <iostream> #include <istream> #in ...
- httpwebrequest webrequest webresponse 总结
http://blog.csdn.net/flymorn/article/details/6769722 使用,总结,深入,全通,指正
- 【框架】Django入门学习笔记
教程 Demo 教材2 教材3 [转] Django处理请求的工作机制 记住: 1.用manage.py runserver 启动Django服务器时就载入了在同一目录下的settings.py.该文 ...
- 神奇的TextField(1)
先看一大段测试代码,每个小方法的注释行是输出结果. private var text_content:TextField; private function textFieldDemo():void{ ...