Namespaces

Variants
Actions

Please note that as of October 24, 2014, the Nokia Developer Wiki will no longer be accepting user contributions, including new entries, edits and comments, as we begin transitioning to our new home, in the Windows Phone Development Wiki. We plan to move over the majority of the existing entries over the next few weeks. Thanks for all your past and future contributions.

Country-Info WRT Widgetを作成する方法

From Wiki
Jump to: navigation, search
Article Metadata
Code ExampleCompatibility
Platform(s):
Symbian
Article
Translated:
By fnjwikimng
Last edited: hamishwillee (07 May 2013)


Contents

はじめに

本Widgetでは、世界のあらゆる国における、国独自の情報(Country Specific Information) を取得することができます。それは、国コード、通貨名称、通貨コードなどを含みます。本情報は、いつでも手軽に取り出せ、ユーザーが入力する必要があるのは国名だけです。処理一覧を下記に示します。

        Diagram.jpg

HTML/フォーム 要素を作成する

<body bgcolor="#ffffff">
<form name="htmlForm" method="POST" action="javascript:formSend();">
Country Name: <input type="text" name="countryNameFld" value="" /><br />
<input type="submit" value="Inquire" /><br /> <br />
<p>Country Name : <b> <span id="countryName"></span></b><br />
Country Code : <b> <span id="countrycode"></span></b><br />
Currency  : <b> <span id="currency"></span></b><br />
Currency Code: <b> <span id="currencyCode"></span></b><br />
</body>

CSS - スタイルシート

body {  
}
#countryName {
font-size: 1.1em;
color: Blue;
}
#countrycode {
font-size: 1.1em;
color: Blue;
}
#currency {
font-size: 1.1em;
color: Blue;
}
#currencyCode {
font-size: 1.1em;
color: Blue;
}

JavaScript

var xmlhttp;
function formSend() {
xmlhttp=null;
if (window.XMLHttpRequest)
{// code for IE7, Firefox, Mozilla, etc.
xmlhttp=new XMLHttpRequest();
}
else if (window.ActiveXObject)
{// code for IE5, IE6
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
if (xmlhttp!=null)
{
var httpReq = null;
httpReq = new XMLHttpRequest();
httpReq.open("GET", "http://www.webservicex.net/country.asmx/GetCurrencyByCountry?CountryName="+document.htmlForm.countryNameFld.value, true);
httpReq.send(null);
 
httpReq.onreadystatechange = function()
{//Call a function when the state changes.
if(httpReq.readyState == 4)
{
if(httpReq.status==200)
{
var response = httpReq.responseText; //store XML as String
var temp = response.indexOf("Name&gt;"); // Name> Tag '8 Char String'
var temp2 = response.indexOf("&lt;/Name"); // /Name>
 
var str = response.substr(temp+8,temp2-temp-8);
document.getElementById('countryName').innerHTML = str;
 
temp = response.indexOf("CountryCode&gt;"); // CountryCode> '15 Char String'
temp2 =response.indexOf("&lt;/CountryCode");
str = response.substr(temp+15,temp2-temp-15);
document.getElementById('countrycode').innerHTML = str;
 
temp = response.indexOf("Currency&gt;");
temp2 =response.indexOf("&lt;/Currency");
str = response.substr(temp+12,temp2-temp-12);
document.getElementById('currency').innerHTML = str;
 
temp = response.indexOf("CurrencyCode&gt;");
temp2 =response.indexOf("&lt;/CurrencyCode");
str = response.substr(temp+16,temp2-temp-16);
document.getElementById('currencyCode').innerHTML = str;
 
 
}
else
{
alert("Error - Server May be Down" );
}
}
}
}
else
{
alert("Your browser does not support XMLHTTP.");
}
}

文字列操作の部分は、最初はトリッキーに見えるかもしれません。しかし、それら全てにおけるポイントは、2つの連続したXMLタグ間に包含された文字列を取得することです。最初に、各XMLタグの '初め' と '終わり' のインデックスに位置付けます。indexOf()関数は、ターゲットとなる文字列中の最初の文字のインデックスを取得します。そしてそれが、substr()関数で使われます。さらに、substr()関数は2つの引数(開始位置、文字列の長さ)を使用します。

最終的な出力結果

Output.jpg

ソースコードのダウンロード

ソースコードファイルは、次のサイトからダウンロードできます: Media:CurrencyWidget.zip

リンク集

Webサービスを使用した株情報Widgetを作成する方法

This page was last modified on 7 May 2013, at 23:56.
264 page views in the last 30 days.

Was this page helpful?

Your feedback about this content is important. Let us know what you think.

 

Thank you!

We appreciate your feedback.

×