月別アーカイブ: 2009年10月

xml:lang

ぱぇぽぃ2 ? Blog Archive ? SeeMe is to IronPython

で XAML から読み込んだ menu が文字化けしていた件がやっと解決。
XAML に xml:lang=”ja-JP” を追記すればよい。

#-*- coding:utf-8 -*-

menu_str = """<Menu
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xml:lang="ja-JP">
    <MenuItem Header="ファイル(_F)" TabIndex="1">
        <MenuItem Header="保存(_S)" Name="save" InputGestureText="Ctrl+S" />
        <MenuItem Header="読み直し(_R)" Name="reload" />
        <Separator />
        ...

xml_lang

2009-10-29 – 当面C#と.NETな記録 # WPF のカルチャー

これを見てカルチャー指定を IronPython でやってみたけど化けたまま。
というか元である C# SeeMe はこんな処理していないけど文字化けしていない。
動的読み込みだからなのだろうか?
IronPython で WPF は全部コードで作ったほうが面倒が無いかも。

Identify the x64 Windows for IronPython

そういえば Opera のインストール先を得る必要があったんだ。
結局 x86 か x64 かをコードで見分ける必要があるのだってことだね。

チャチャっと探してみると WMI を使えば簡単だと解った。

C# WMI
WMIを使ってOSの情報を取得する: .NET Tips: C#, VB.NET, Visual Studio

ここらを見ると .NET 経由でも WMI から様々な情報が得られるようで。
私はとりあえず x64 かどうかさえ見分けられればいいので下記のように。

#-*- coding:utf-8 -*-

"""
    cpu_check.py
    Check Windows Architecture
"""

import clr

clr.AddReference("System.Management")

from System import *
from System.Management import *

# Create ManagementClass
mc = ManagementClass("Win32_Processor")
# Get ManagementObjectCollection
moc = mc.GetInstances()
# mo is ManagementObject
for mo in moc:
    bit = mo["AddressWidth"]
    if bit == 32:
        print "x86 Windows"
    elif bit == 64:
        print "x64 Windows"
    else:
        print "Unknown Windows"

何故か IronPython コード、だってコンパイルするのが面倒くさい。
Win32_Processor 指定で x64 も判別できるようだ。
以下私の環境でテスト。

My 32bit Windows Vista
check_x86

My 64bit Windows 7
check_x64

これで見分けは簡単に行えそうだ。
でももっと簡単な方法がありそうな…

WOW64 にて動いている 32 ビットアプリの見分け方

x64 Windows で WOW64 にて動いている 32 ビットアプリは

task64_32

とタスクマネージャのプロセスで (*32) とマークが付くらしい。
Any CPU ビルドな C# 製 SeeMe はやはり 64 ビットで動いている。
それなら SeeMe for Windows 本体はこのまんまでいいかな。

方法 : 64 ビットプラットフォーム用の Windows インストーラを作成する

これで 64bit 専用インストーラは作れそう。
てか 32bit と別個でインストーラを作る必要があるってことなのね。
なのでインストーラで環境を見分ける必要は無いということか。

minipoli のほうは C++ なので 64bit ビルドにする必要がある。
ネットを漁りまくって試しているが上手くいかない、てか x64 の選択肢が無い。

platfome

C# で作れば普通にあるんだが Visual Studio のインストール方法が悪かった?
余談だが Visual Studio を使うためにメインマシンを Vista に戻している。
やっぱり大きな画面は素晴らしい!コイツはモバイルなんだから我慢我慢。

ま、もう二週間もすれば Vista は VirtualBox 上行きなのでその時にやりなおす。
でもその頃にはこの Blog も Linux ネタに戻っているような気がする…

Cinema はもういいや、グダグダな DirectShow Player は正直もうやりたくない。
それに WMP12 で十分てか WMP12 がカッチョ良すぎる。

ただ 64bit 版追加だけではつまらないから何か新機能を考えなきゃ…

どうでもいいが Windows 7 の標準 IME は随分賢くなったようだ。
Anthy のバカさ加減に慣れたせいで思い込みかもしれないけど。

Alt_Up

alt_up

Alt+Up で親ディレクトリに移動
Alt+Left で表示履歴を戻る
Alt+Right でその履歴を進む

が Explorer でも Nautilus でも Dolphin でも Konqueror でもできる。
と今頃知った、Explorer は履歴をサポートする Vista 以降で。
Mac は知らない。

ドレがドレをパクったか知らないけど覚えておくと便利、常識なのかな…
短いけど Tip’s でした。

My Windows 7

チマチマと使っているけどマジいいぞ Aspire 1410 と Windows 7 は。

Dynabook の Celeron M ノートを使っていた時バッテリー持ちは一時間チョイだった。
でもコイツはバッテリーで使っても中々減らない、流石は省電力マシン。
キーボードがイマイチなのも慣れで解決する範囲。
11.6 インチの液晶は小さいが 1366×768 なので十分広い。

Vista 同様に一度使ったアプリは .NET でもなんでも即起動するようになる。
それでいて HDD が延々とガリガリしなくなった、最初からこうしろよみたいな。
RC は仮想環境で使っていたので解らなかったけど Aero の新機能も便利。

実際 Vista は起動が遅くて HDD ガリガリしまくりなだけで別に重くは無かったわけで。
それのマイナーチェンジ版なのだから快適になって当然かと。

Explorer の使い勝手も悪くない、Vista が最悪だっただけだが。
Nautilus のようにスクリプトで拡張できたり手軽に FTP できると更にいいんだが…
Windows ではオンラインソフトを利用するというのが文化だから別にイイが。

以下私的な覚書。

以前使っていたアプリは書き出しておいたけど
ぱぇぽぃ2 ? Blog Archive ? Windows Opera を Python で

とはいえ Linux を使うようになってからは何でもスクリプトで済ませたくなった。
MS 内製は最初からあるし、とりあえず昨日のほかに以下は私には必須か。

IronPython
KeePass Password Safe
FileZilla | Get FileZilla at SourceForge.net
Binary Editor BZ

ところで zip ファイルをマウス右ボタン D&D すると解凍できるんだが…
以前からできたっけ?標準でこれができるのなら ExpLZH はもう不要だ。

Live 関連はこのマシンには最初から入っていた。
KeedPass v2 では KeePassX のデータを読み込めない、Linux 共用なので 1.16 を。
ATOK はもういいや、Anthy のおかしな変換に慣れてしまったし。
それ以外は必要になったらでいいや。

しかし Visual Studio をコイツに入れても問題無さそうだ、後で考える。

そういえば Any CPU でビルドした SeeMe はどっちにインストールされるのかな?
普通に x86 のほうに、ついでに IronPython も x86 ディレクトリにインストールされた。
インストール場所はインストーラを作成する時に決めるのかな、後で調べる。

というか x86 に Opera がインストールされるのだが…
ということは x64 環境だと SeeMe 初期化ダイアログのデフォルトパスがおかしい。
これについても今度やっておきます、x64 をどうやって見分けるかさえ解れば簡単。

IronPython 2.6 RC で ipyw64.exe を試す。
面倒なので以前書いたコードで試す。

ぱぇぽぃ2 ? Blog Archive ? MIME Type is disjoint

ipyw64

動くじゃないの。
でも相変わらず DLR は初期化が遅いな。

Windows 7に標準で含まれる.NET Frameworkのバージョンは? ? @IT

.NET Framework 4.0 が入るものだと思っていたよ。
Aspire 1410 に Silverlight がインストールされていたので DLR があるのかな。
それとも 7 にはデフォルトで DLR が入っているのかは解らない。

silverlight

Opera でも Silverlight が動くじゃん、ちなみに Firefox は入れていないんだが。
でも普段は Linux を主に使うからマジやめてほしい、Moonlight を入れるつもりは無い。