天气预报

  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 天气预报的更多相关文章

  1. Delphi天气预报查询

    Delphi天气预报查询 天气预报接口api(中国天气网) 开源免费天气预报接口API以及全国所有地区代码!!(国家气象局提供) 真正的中国天气api接口xml,json(求加精) ...

  2. Delphi7 客户端调用WebService(天气预报)

    客户程序:第一步:新建一个Application. 第二步:File----->New----->Other------>WebServices----->WSDL Impor ...

  3. 解析天气预报JSON数据

    解析天气预报JSON数据 JSON字符串 constjson2 = '{' + #13#10 +'"error":0,' + #13#10 +'"status" ...

  4. delphi操作xml学习笔记 之一 入门必读

    Delphi 对XML的支持---TXMLDocument类       Delphi7 支持对XML文档的操作,可以通过TXMLDocument类来实现对XML文档的读写.可以利用TXMLDocum ...

  5. 学习笔记:7z在delphi的应用

    最近做个发邮件的功能,需要将日志文件通过邮件发送回来用于分析,但是日志文件可能会超级大,测算下来一天可能会有800M的大小.所以压缩是不可避免了,delphi中的默认压缩算法整了半天不太好使,就看了看 ...

  6. delphi连接sql存储过程

    针对返回结果为参数的 一. 先建立自己的存储过程 ALTER PROCEDURE [dbo].[REName] ) AS BEGIN select ROW_NUMBER() over(order by ...

  7. delphi 2010与delphi XE破解版的冲突

    在系统中同时安装了Dephi 2010LITE版与Delphi XE lite后,总是会有一个有问题 是因为两者都是读取C:\ProgramData\Embarcadero目录下的license文件, ...

  8. [Delphi] Delphi版本号对照

    VER300    Delphi Seattle / C++Builder Seattle    23    230    (Delphi:Win32/Win64/OSX/iOS32/iOS64/An ...

  9. delphi tidhttp 超时设置无效的解决方法

    现在delphi都发布到xe8了,tidhttp还有缺陷,那就是超时设置在没有网络或者连不上服务器的时候是无效的,不管你设置为多少都要10-20秒.connectTimeout和readTimeout ...

随机推荐

  1. 通过IndexOf获得DataRow在DataTable中的行号

    Row = dt.Rows.IndexOf(dr);

  2. VBox自动启动websrv 并开机启动所有的虚拟机

    由于项目需要,在Ubuntu 16.04的Server版本中安装了一个virtualbox,并利用phpvirtualbox来管理虚拟机 需要在宿主机启动之后将所有的虚拟机也启动,因此用以下方式进行处 ...

  3. OLE剪切板与拖拽

    https://www.xuebuyuan.com/1074399.html https://blog.csdn.net/uda1985/article/details/6179801

  4. let防止变量声明提前

    let可以解决原来js中,一个函数中变量混乱的问题,因为以前var 定义的变量时, {}是不能限制变量作用域的. "use strict"; +function(){ var t= ...

  5. JavaScript例子

    模态框(JavaScript) <!DOCTYPE html> <html lang="en"> <head> <meta charset ...

  6. XE7/10诡异报错brcc32错误

    重新编译工程时,报错:     之前没遇到过,解决方法: 重新设置下Application Icon,再build,问题解决.

  7. 使用IntelliJ IDEA开发SpringMVC网站的学习

    最近开始了“使用IntelliJ IDEA开发SpringMVC网站”的学习,有幸看到一份非常完善的学习资料,笔者非常用心的详细注释了一份关于博客的开发过程和细节,并且在评论中回复大家提出的问题,非常 ...

  8. SQl_case when

  9. 关于Hibernate在反向工程时无法选择Spring DAO Type的解决方法【更新版】

    目录(?)[+] IT程序员开发必备-各类资源下载清单,史上最全IT资源,个人收藏总结! 之前有一篇文章中(Hibernate反向工程步骤及DAO Type无法选择Spring DAO解决方法)提到, ...

  10. 限制UITextfield的输入字符为50个字符

    1.实现UITextfieldDelegate 2.在UITextfield的代理方法中判断添加字符还是删除字符,从而做不同的操作 #pragma mark-UITextfield的代理方法 - (B ...