日曜日, 11月 24, 2013

Windows ストアアプリ: ローカルファイル

ストアアプリではURIでファイル名を指定します。

Windows.Storage.StorageFile file
   = await Windows.Storage.StorageFile.GetFileFromApplicationUriAsync(
                                 new Uri("ms-appdata:///local/Doc/" + fileName));

上記の指定では、mss-appdataでローカルファイルを指定し、Docディレクトリ以下のfileNameにアクセスしています。このDocディレクトリはアプリで用意する必要があります。あらかじめアプリケーションのほうでDocディレクトリを用意し、ファイルを置いておけば、ローカルファイルから読み込むことができます。

 
ややこしいことに、元ファイルは、ローカルにコピーされたファイルとは別物です。つまり、ms-appdataで指定されたファイルをいくら書き直しても元ファイルには反映されません。 元ファイルのほうは、ms-appxで指定します。ファイルは読み込み専用です。

Windows.Storage.StorageFile file
  = await Windows.Storage.StorageFile.GetFileFromApplicationUriAsync(
                                new Uri("ms-appx:///Doc/" + fileName));

ローカルファイルのほうを調べたければ Windows.Storage.ApplicationData.Current.LocalFolder.Path に指定されているディレクトリを見に行く必要があります。




PHP: CSVをHTML形式のテーブルに変換

CSV を HTML 形式のテーブルに変換するニーズというのは多々あるものです。

HTML のテーブル形式に変換したいときに使えるツールを作ってみました。

CSV 形式のデータを上のテキストボックスにほうりこみ、Convert ボタンをクリックすると変換された HTML コードが表示されます。

ツールを使い捨てないためにここにアップします。

<html>
<head>
<style>
textarea
{
width:1000px;
height:500px;
}
</style>
</head>
<body>

<?
$text=$_REQUEST['text'];

echo <<<END
<form action="table.php">
<textarea name="text">$text</textarea>
<input type="submit" value="Convert" />
</form>
END;

$text=$_REQUEST['text'];
$text=htmlspecialchars($text);
$list=explode("\n",$text);
$html="";
foreach($list as $line)
  {
    $columnList=explode(",",$line);
    $column=implode("</td><td>",$columnList);
    $html.="<tr><td>$column</td></tr>";
  }
$html="<table><tbody><pre>
$html
</pre></tbody></table>
";
echo <<<END
<textarea>
$html
</textarea>
$html
END;
?>
</body>
</html>

日曜日, 11月 10, 2013

WinRT/Metro TIPS:ストアアプリで部品サイズを可変にする

なかなか普及の進まない Windows 8.1 と騒がれていますが、当方果敢にもストアアプリ作成にチャレンジ中であります。

プログラムの基本概念なぞという人間は現場を・知らない・知ろうとしない・連中だとまずここで一言。

考え方としてはプログラム構造は Java のような OOP で、見た目は XML で指定します。

ストアアプリでは XML 形式を拡張した XAML 形式で画面構成を指定します。

Visual Studio 2013 という豪華な(金のかかった) IDE には圧倒されますが、それなりにクセのあるツールではあります。

部品サイズを可変に指定するやり方に悩んでしまい、ネットにもなさそうなのでここに書いておきます。

Visual Studio 2013 部品を可変サイズにする
サイズを可変にするには Width と Height 右のアイコンを押して Auto に指定、さらに HorizontalAlignment と VerticalAlignment の一番右のアイコンで画面最大幅を指定します。

部品の幅を可変にする
 アルファベット順に並んでいるので、Width の真上に高さを指定する属性 VerticalAlignment がくるわけですね。

ストアアプリの開発関連情報はまだまだ少ないですね。

Qt: 外部プログラムを起動する

  Qt/C++ のアプリは、外部へ直接アクセスできます。これはネットアプリでは不可能な Qt のメリットです。 外部プログラムを起動することもできます。QProcess::startDetached() を使うと独立したプロセスを立ち上げることができます。 この QProces...