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 ...
随机推荐
- 通过IndexOf获得DataRow在DataTable中的行号
Row = dt.Rows.IndexOf(dr);
- VBox自动启动websrv 并开机启动所有的虚拟机
由于项目需要,在Ubuntu 16.04的Server版本中安装了一个virtualbox,并利用phpvirtualbox来管理虚拟机 需要在宿主机启动之后将所有的虚拟机也启动,因此用以下方式进行处 ...
- OLE剪切板与拖拽
https://www.xuebuyuan.com/1074399.html https://blog.csdn.net/uda1985/article/details/6179801
- let防止变量声明提前
let可以解决原来js中,一个函数中变量混乱的问题,因为以前var 定义的变量时, {}是不能限制变量作用域的. "use strict"; +function(){ var t= ...
- JavaScript例子
模态框(JavaScript) <!DOCTYPE html> <html lang="en"> <head> <meta charset ...
- XE7/10诡异报错brcc32错误
重新编译工程时,报错: 之前没遇到过,解决方法: 重新设置下Application Icon,再build,问题解决.
- 使用IntelliJ IDEA开发SpringMVC网站的学习
最近开始了“使用IntelliJ IDEA开发SpringMVC网站”的学习,有幸看到一份非常完善的学习资料,笔者非常用心的详细注释了一份关于博客的开发过程和细节,并且在评论中回复大家提出的问题,非常 ...
- SQl_case when
- 关于Hibernate在反向工程时无法选择Spring DAO Type的解决方法【更新版】
目录(?)[+] IT程序员开发必备-各类资源下载清单,史上最全IT资源,个人收藏总结! 之前有一篇文章中(Hibernate反向工程步骤及DAO Type无法选择Spring DAO解决方法)提到, ...
- 限制UITextfield的输入字符为50个字符
1.实现UITextfieldDelegate 2.在UITextfield的代理方法中判断添加字符还是删除字符,从而做不同的操作 #pragma mark-UITextfield的代理方法 - (B ...