いつもお世話になります。
よくソフトでインターネットを通じてニュースや天気予報を取得したりしていますが あれらはどのようにして情報を取得しているのでしょうか???
インターネットプログラムが初めなのでInternetコンポーネントをどのように利用していけばいいのかがよくわからりません。ご存知の方がいらっしゃいましたらご教授をお願いします。
> よくソフトでインターネットを通じてニュースや天気予報を取得したりしています
たとえばhttp://weather.livedoor.com/ なら
XMLStream := TStringStream.Create('');
try
IdHTTP1.Get('http://weather.livedoor.com/forecast/webservice/rest/v1?city=63&day=today', XMLStream);
XMLStream.Position := 0;
XMLDoc1.LoadFromStream(XMLStream);
XMLDoc1.Active := True;
ImageNode := XMLDoc1.DocumentElement.ChildNodes.FindNode('image');
Tenki := ImageNode.ChildNodes['title'].Text;
finally
XMLStream.Free;
end;
えーとねさん。ありがとうございます。
おかげさまで きちんと内容を取得することができました。そこで新たに質問なのですが、XMLの内容を一度ファイルに保存して、再度ファイルの内容をTmemoで読み込んだときに文字化けが発生します。UniCodeで書かれているためだと思いますが。
TMemoで Unicode(UTF-8)のファイル内容を正常に読み込ませる方法とかりますでしょうか??
すいません。途中で送信されてしまいました。
> TMemoで Unicode(UTF-8)のファイル内容を正常に読み込ませる方法とかりますでしょうか??
TMemoで Unicode(UTF-8)のファイル内容を正常に読み込ませる方法とかありますでしょうか??それとも一行ずつ変換のメソッドなどを利用していかないとだめなのでしょうか??
一行ずつ変換のメソッドです。
var
I: Integer;
begin
XMLDoc1.Active := true;
for I := 0 to XMLDoc1.XML.Count - 1 do
Memo1.Lines.Add(Utf8decode(XMLDoc1.XML.Strings[I]));
end;
たぶんさん。ありがとうございます。おかげさまで無事解決できました。
今後何かありましたら よろしくお願いします
Delphi 2005 以降は
var
A: string;
begin
XMLDoc1.Active := true;
for A in XMLDoc1.XML do
Memo1.Lines.add(Utf8decode(A));
end;
ツイート | ![]() |