2012年12月28日金曜日

Windows Rubyでgem install jsonを実行するとエラーになる

Windows Rubyでgem install jsonを実行するとエラーになる Please login or register to vote for this post. (click on this box to dismiss) 1) Download Ruby 1.9.3-p0 2) Download DevKit file from http://rubyinstaller.org/downloads (DevKit-tdm-32-4.5.2-20110712-1620-sfx.exe) 3) Extract DevKit to path C:\Ruby193\DevKit 4) cd C:\Ruby193\DevKit 5) ruby dk.rb init 6) ruby dk.rb review 7) ruby dk.rb install

2012年12月7日金曜日

.net 書式

標準の日時書式指定文字列

以下に、標準の日時書式指定文字列で使用できる書式指定子を表にまとめます。
書式指定子 名前 説明 例 (ja-JP) 例 (en-US)
d 短い形式の日付パターン ToShortDateStringメソッドと同じ 2002/05/12 5/12/2002
D 長い形式の日付パターン ToLongDateStringメソッドと同じ 2002年5月12日 Friday, May 12, 2002
t 短い形式の時刻パターン ToShortTimeStringメソッドと同じ 20:30 8:30 PM
T 長い形式の時刻パターン ToLongTimeStringメソッドと同じ 20:30:15 8:30:15 PM
f 完全な日付と時刻のパターン (短い形式の時刻) D と t を空白で区切って組み合わせる 2002年5月12日 20:30 Friday, May 12, 2002 8:30 PM
F 完全な日付と時刻のパターン (長い形式の時刻) D と T を空白で区切って組み合わせる 2002年5月12日 20:30:15 Friday, May 12, 2002 8:30:15 PM
g 一般の日付と時刻のパターン (短い形式の時刻) d と t を空白で区切って組み合わせる 2002/05/12 20:30 5/12/2002 8:30 PM
G 一般の日付と時刻のパターン (長い形式の時刻) d と T を空白で区切って組み合わせる 2002/05/12 20:30:15 5/12/2002 8:30:15 PM
Y または y 年月パターン
2002年5月 May, 2002
m または M 月日パターン
5月12日 May 12
r または R RFC1123 パターン RFC1123に準拠しており、カルチャに依存しない Sun, 12 May 2002 20:30:15 GMT Sun, 12 May 2002 20:30:15 GMT
O または o ラウンド トリップする日付と時刻のパターン ISO 8601に準拠しており、カルチャに依存しない
.NET Framework 2.0以降でサポート
2002-05-12T20:30:15.1230000 2002-05-12T20:30:15.1230000
s 並べ替え可能な日付と時刻のパターン (ISO 8601 準拠) ISO 8601に準拠しており、カルチャに依存しない 2002-05-12T20:30:15 2002-05-12T20:30:15
u 並べ替え可能な日付と時刻のパターン (世界時刻) カルチャに依存しない
ToUniversalTimeメソッドなどで世界協定時刻 (UTC) に変換してからこの書式を使う
2002-05-12 20:30:15Z 2002-05-12 20:30:15Z
U 完全な日付と時刻のパターン (世界時刻) F と同じ書式だが、こちらは UTC 変換される
DateTimeOffset 型ではサポートしない
2002年5月12日 11:30:15 Sunday, May 12, 2002 11:30:15 AM
その他の 1 文字 (未定義の指定子) FormatException をスローする

補足:標準の日時書式指定文字列は、以下に紹介するカスタム日時書式指定文字列のエイリアスです。つまり、標準の日時書式指定文字列を使うということは、 そのエイリアスのカスタム日時書式指定文字列を使うことと同じです。どのようなカスタム日時書式指定文字列が使われるかは、カルチャによって変わる場合と 変わらない場合があります。カルチャによって変わる場合は、エイリアスとなるカスタム日時書式指定文字列は CultureInfo.DateTimeFormatプロパティに定義されています。具体的には、「標準の日付と時刻の書式指定文字列」をご覧ください。

カスタム日時書式指定文字列

以下に、カスタム日時書式指定文字列で使用できる書式指定子を表にまとめます。
書式指定子 説明 補足 例 (ja-JP) 例 (en-US)
g, gg (任意の数の g 指定子を追加可能) 年代または紀元
西暦 A.D.
y 年の下1桁または2桁 (0~99) 1桁の時でも左側に0が入らない 2 2
yy 年の下2桁 (00~99) 1桁の時は左側に0が入る 02 02
yyy 年の下3桁以上 3桁未満の時は左側に0が入る
.NET Framework 2.0以降でサポート
2002 2002
yyyy 年の下4桁 4桁未満の時は左側に0が入る 2002 2002
yyyyy (任意の数の y 指定子を追加可能) 年の下5桁 5桁未満の時は左側に0が入る
.NET Framework 2.0以降でサポート
02002 02002
M 月 (1~12) 1桁の時でも左側に0が入らない 5 5
MM 月 (01~12) 1桁の時は左側に0が入る 05 05
MMM 月の省略名
5 May
MMMM 月の完全な名前
5月 May
d 日にち (1~31) 1桁の日にちでも左側に0が入らない 12 12
dd 日にち (01~31) 1桁の時は左側に0が入る 12 12
ddd 曜日の省略名
Sun
dddd (任意の数の d 指定子を追加可能) 曜日の完全な名前
日曜日 Sunday
t AM/PMの最初の文字 カルチャが"ja-JP"の時は午前も午後も「午」になるため、役に立たない P
tt, tt (任意の数の t 指定子を追加可能) AM/PM
午後 PM
H 時間 (0~23) 1桁の時でも左側に0が入らない 20 20
HH, HH (任意の数の H 指定子を追加可能) 時間 (00~23) 1桁の時は左側に0が入る 20 20
h 時間 (1~12) 午前と午後は区別できない
1桁の時でも左側に0が入らない
8 8
hh, hh (任意の数の h 指定子を追加可能) 時間 (01~12) 午前と午後は区別できない
1桁の時は左側に0が入る
08 08
m 分 (0~59) 1桁の時でも左側に0が入らない 30 30
mm, mm (任意の数の m 指定子を追加可能) 分 (00~59) 1桁の時は左側に0が入る 30 30
s 秒 (0~59) 1桁の時でも左側に0が入らない 15 15
ss, ss (任意の数の s 指定子を追加可能) 秒 (00~59) 1桁の時は左側に0が入る 15 15
f 1/10秒 0 の時は"0"となる(以下の ff... も f の数だけ 0 を表示) 1 1
ff 1/100秒
12 12
fff 1/1000秒
123 123
ffff 1/10000秒
1230 1230
fffff 1/100000秒
12300 12300
ffffff 1/1000000秒
123000 123000
fffffff 1/10000000秒
1230000 1230000
F 1/10秒 0 の時は何も表示しない(以下の FF... も同じ) 1 1
FF 1/100秒 左側に 0 があっても表示しない(以下の FFF... も同じ) 12 12
FFF 1/1000秒
123 123
FFFF 1/10000秒
123 123
FFFFF 1/100000秒
123 123
FFFFFF 1/1000000秒
123 123
FFFFFFF 1/10000000秒
123 123
K タイム ゾーン情報 DateTimeの場合は、Kindプロパティの値によって定義が異なる。Localなら「zzz」に相当。Utcなら「Z」。Unspecifiedなら空文字。
DateTimeOffsetの場合は、「zz」に相当。
.NET Framework 2.0以降でサポート


z UTCを基準とするオフセット(時間単位) DateTimeの場合は、OSのローカルタイムゾーンのUTCを基準とした符号付きオフセット(時間単位)
DateTimeOffsetの場合は、DateTimeOffset値の、UTCを基準とするオフセット(時間単位)
1桁の時でも左側に0が入らない
+9 +9
zz UTCを基準とするオフセット(時間単位) z と同じだが、1桁の時は左側に0が入る +09 +09
zzz, zzz (任意の数の z 指定子を追加可能) UTCを基準とするオフセット(時間および分単位) zz と同じだが、時間および分単位 +09:00 +09:00
:
/
区切り記号 カルチャによって変わる : :
'string'
"string"
文字列リテラル シングルクォートまたはダブルクオートで囲まれた文字列はそのまま表示される

%c カスタム書式指定子を単独で使用する カスタム日時書式指定文字列を単独で使っても標準の日時書式指定文字列とならないようにする
例えば、"%d"とすれば日にちの書式となる


\c エスケープ文字 書式指定子をエスケープする

その他の文字 その他の文字はそのまま表示される

2012年12月6日木曜日

Native Client. Debugging With Visual Studio

Native Client. Debugging With Visual Studio

Native Clientが、Visual Studio でdebug出来るようになっていた。

eclipseでdebugはあったが、今年の10月に、Visual Studio で出来るようになっていた。


Silverlight、Flex(Adobe AIR)など、RIAが停滞しているので、ちょっと評価してみようかな。

https://developers.google.com/native-client/dev/devguide/devcycle/vs-addin

Telerik onClientの指定は注意が必要

Telerik Control Problem.

Telerik ControlでonClient~のClient APIを指定する場合注意が必要
通常は、JavaScriptの関数指定は、カッコ()が必要だが
Telerik Controlはカッコ()が不要だった。

カッコ()を付けると、ASP:のControlが非表示、Telerik Controlも動作しない。
上記により、多分 JavaScript側でエラーがある、動作しないと思われる。

しかも、このエラーは動作時に発生して、エラー表示もされない。

2012/12/06追記
RadButtonに関して

AutoPostBack="false"
上記設定を行うとJavaScriptが正しく動作した。

2012年12月5日水曜日

Telerik RadWindows problem

Telerik RadWindows problem.
button attribute set is onClientClick="ShowNewForm; return false;";

<Script>
  founction ShowNewForm() {
     window.radopen("aPage.html", "RadWindows1");
  }
</script>


赤字になっている部分を設定しないとRadWindowが表示後、直ぐに画面から消えてしまう。

半日悩んだよ。

http://stackoverflow.com/questions/6087935/radwindow-proplem

それと、Telerik ControlのJavaScriptの指定が重なり、とほほ状態だった。
http://nobukoshi802.blogspot.jp/2012/12/telerik-onclient.html




MySQLのリストア

mysql -D dbname -u username -p < ~/docs/table_spec/create_table.sql

2012年11月19日月曜日

ClickOnesでパラメータを渡すとエラーになる


ClickOnesでパラメータを渡すとエラーになった。




セキュリティーでガードがかかっているので、上記CheckBOXをチェック




2012年11月15日木曜日

動作中のプロセスにキー入力をするフォームアプリケーション

動作中のプロセスにキー入力をするフォームアプリケーションAdd Star

f:id:yatt:20110402165403p:image
.NETで他のプロセスにキー入力をする必要があったので、その方法について.NETを前提で調べました。結果、MSDN@ITとかそこらを調べるだけでなんとかなりました。

プロセス一覧の取得

System.Diagnostics.Process.GetProcesses()でProcessインスタンス配列が手に入ります。 Process.IdだとかProcess.MainWindowHandleなどをつかってプロセスの情報にアクセスし操作します。

キーストロークの入力

System.Windows.Forms.SendKeys.Send(string)で、アクティブなプロセスにキー入力をできます。
プロセスをアクティブにするためWIN32APIのSetForegroundWindowを使いました。
参考:MSDN http://msdn.microsoft.com/ja-jp/library/system.windows.forms.sendkeys(v=vs.80).aspx

流れ

プログラムの流れは、
  1. 「更新」ボタンでコンボボックスのプロセス一覧を更新
  2. コンボボックスでプロセスを選択
  3. テキストボックスにキー入力
  4. 「送信」ボタンでキー入力を指定されたプロセスに送信
という感じの流れでプログラムを作りました。上の画像では、chromeに「Ctrl+t Ctrl+k エ イ プ リ ル フ ー ル (エンターキー)」を入力して、「エイプリルフール」という文字列google検索させようとしています。
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Diagnostics;
using System.Runtime.InteropServices; // setforegraoundwindow

namespace SendKeyType
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
        // http://www.atmarkit.co.jp/fdotnet/dotnettips/024w32api/w32api.html
        [DllImport("user32.dll")]
        private static extern bool SetForegroundWindow(IntPtr hWnd);
        private void button2_Click(object sender, EventArgs e)
        {
            // 選択しているプロセスをアクティブ
            int pid = int.Parse(comboBox1.SelectedValue.ToString());
            Process p = Process.GetProcessById(pid);
            SetForegroundWindow(p.MainWindowHandle);
            // キーストロークを送信
            SendKeys.Send(textBox1.Text);
        }

        private void button3_Click(object sender, EventArgs e)
        {
            // プロセス一覧を更新
            comboBox1.DataSource = ProcessTable();
            comboBox1.ValueMember = "PID";
            comboBox1.DisplayMember = "NAME";
        }
        private DataTable ProcessTable()
        {
            // プロセスのリストを取得
            // http://d.hatena.ne.jp/tomoemon/20080430/p2
            Process[] ps = Process.GetProcesses();
            Array.Sort(ps, new ProcComparator());

            DataTable table = new DataTable();
            table.Columns.Add("PID");
            table.Columns.Add("NAME");

            foreach (Process p in ps)
            {
                DataRow row = table.NewRow();
                row.SetField<int>("PID", p.Id);
                row.SetField<string>("NAME", p.ProcessName + " - " + p.MainWindowTitle);

                table.Rows.Add(row);
            }
            table.AcceptChanges();

            return table;
        }
        // .....
    }
    
    // プロセス名でソート ... for Array.Sort
    public class ProcComparator : IComparer<Process>
    {
        public int Compare(Process p, Process q)
        {
            return p.ProcessName.CompareTo(q.ProcessName);
        }
    } 
 
元ネタ
http://d.hatena.ne.jp/yatt/20110402/1301731512 

COM to Keyborad

COMポートからキーボードへ変換するソフト


http://park19.wakwak.com/~gadget_factory/factory/comkey/index.html

QRCodeを読んで受注入力の保管をお願いされたが
入力画面でPFKeyの入力が必要になった。

QRCodeでは、文字、数字はOKだが、PFKeyはNGだった。

1万から2万くらいで変換ソフトはあるが、フリーが無かったので探していたら
上記のソフトを見つけました。

QRCode Library

.NET QRCode Library

Code Project
http://www.codeproject.com/Articles/20574/Open-Source-QRCode-Library

QRコードで入力受注入力を補完することが出来るかも。

2012年11月14日水曜日

GMap.NET , OSS

Open Source Software.

C#で書かれた地図
http://greatmaps.codeplex.com/

ライセンスはMIT

2012年11月9日金曜日

asp.net listitem内の改行

asp.net listitem内の改行


&lt;br&gt;と書けば改行してくれる模様
<asp:RadioButtonList id="RadioButtonList1" runat="server" 
Width="336px" Font-Size="16pt" Height="161px">
<asp:ListItem Value="1">鍋料理&lt;br&gt;(牡丹鍋・チゲ鍋・闇鍋 ほか)</asp:ListItem>
</asp:RadioButtonList>

2012年11月7日水曜日

JBolt 起動時にアプリを有効にする方法

JBolt 起動時にアプリを有効にする方法

JBoltサービスを起動してもアプリは無効になっている場合

1.OSサービスで、iBoltサービスを起動にする。
2.iBoltアプリをre-buildする
3.mgrb.iniに、アプリ起動のecfを指定する

MAGIC Brokerに、起動したいアプリの記述があれば
起動時にアプリを起動させる。

2012年11月5日月曜日

【Visual Studio C#】[Windows サービスでバッチファイル起動]


Windows サービスの作成手順
1.「Windows サービス」プロジェクトの作成
2.「Windows サービス」プロジェクトへの「インストーラの追加」
3.「Windows サービス」のインストール/デバック

1.「Windows サービス」プロジェクトの作成
 (1)「Microsoft Visual Studio 2008」を起動
 (2)「ファイル」-「新規作成」-「プロジェクト」を実行
 (3)「Visual c#」-「Windows」-「Windows サービス」を選択して「OK」をクリック
 (4)「ツールボックス」の下の方の空いている場所でマウス右クリックして「アイテムの選択」を実行
 (5)「.Net Framework コンポーネント」の名前=「Timer」、名前空間=「System.Timers.Timer」をチェックして「OK」をクリック
    ↑のコンポーネントでないとTimerの「Elapsed」イベントが発生しない....
 (6)「System.Timers.Timer」を「Service1.cs」へドラッグ&ドロップ
 (7)「Timer1」のプロパティを確認
    「Enabled」を「False」に設定
    「Interval」を適当に設定(設定はミリ秒)
 (8)「Timer1」をダブルクリック....「Service1.cs」のコードを以下のように編集
    public partial class Service1 : ServiceBase
    {
      // バッチファイルパス
      private const string sBatPath = "c:\hoge.bat";
      // 実行間隔(....new TimeSpan(時, 分, 秒))
      private readonly TimeSpan tsExecuteInterval = new TimeSpan(24, 0, 0);

      // 実行日時....初期値:本日(yyyy/MM/dd)+時間(hh:mm:ss)....バッチ実行完了時に実行間隔を加算して次回実行日時とする
      private DateTime dtExecuteDateTime =
        DateTime.Parse(DateTime.Now.ToShortDateString() + " 23:30:00");

      protected override void OnStart(string[] args)
      {
        // デバック(「ツール」-「プロセスにアタッチ」)開始操作する間スリープさせる....これがあるとOnStartのでバックが可能....
        System.Threading.Thread.Sleep(20000);
        // タイマ開始
        timer1.Enabled = true;
      }
      protected override void OnStop()
      {
        // タイマ停止
        timer1.Enabled = false;
      }
      private void timer1_Elapsed(object sender, System.Timers.ElapsedEventArgs e)
      {
        if (DateTime.Now > dtExecuteDateTime)
        {
          // ProcessStartInfoを使用
          System.Diagnostics.ProcessStartInfo processStartInfo =
            new System.Diagnostics.ProcessStartInfo();
          // ComSpecのパスを取得
          processStartInfo.FileName = System.Environment.GetEnvironmentVariable("ComSpec");
          // 出力を読取可能
          processStartInfo.RedirectStandardInput = false;
          processStartInfo.RedirectStandardOutput = true;
          processStartInfo.UseShellExecute = false;
          // ウィンドウを表示しない
          processStartInfo.CreateNoWindow = true;
          // コマンドラインを指定("/c"は実行後閉じるために必要)
          processStartInfo.Arguments = @"/c " + sBatPath;

          // バッチファイル起動
          System.Diagnostics.Process process = System.Diagnostics.Process.Start(processStartInfo);
          // 出力を読み取る
          string sResults = process.StandardOutput.ReadToEnd();
          // WaitForExitはReadToEndの後である必要がある(親プロセス、子プロセスでブロック防止のため)
          process.WaitForExit();

          // 出力結果を表示
          Console.WriteLine(sResults);

          // 実行日時に実行間隔を加算して次回実行日時とする
          dtExecuteDateTime = DateTime.Parse(dtExecuteDateTime.Add(tsExecuteInterval).ToString());
        }
      }
    }

2.「Windows サービス」プロジェクトへの「インストーラの追加」
 (1)「Service1.cs」の「デザイン」画面をマウス右クリックして「インストーラの追加」を実行
 (2)「ServiceInstaller1」のプロパティを確認
    「Description」:サービス一覧画面に表示する説明
    「DisplayName」:サービス一覧画面に表示する名前
    「ServiceName」:サービスの識別名....とりあえずサービスのクラス名と合わせる方がよさげ
    「StartType」 :インストール直後の「スタートアップの種類」....とりあえず「Manual」に設定
 (3)「ServiceProcessInstaller1」のプロパティを確認
    「Account」 :サービスの実行アカウント....「LocalSystem」に設定

3.「Windows サービス」のインストール/デバック
 (1)(Windows)\Microsoft.NET\Framework\(バージョン)\installutil.exeを使用してインストール
    >installutil.exe (サービスプログラム名).exe
  アンインストール
    >installutil.exe /u (サービスプログラム名).exe
 (2)「コントロールパネル」-「管理ツール」-「サービス」を実行して(サービスプログラム)を開始する
 (3)「ツール」-「プロセスにアタッチ」を実行
    「すべてのユーザからのプロセスを表示する」をチェックする
    「すべてのセッションのプロセスを表示する」をチェックする
    「(サービスプログラム名).exe」を選択して「アタッチ」をクリックする

元ネタ:
http://ameblo.jp/dakishimetai-com/entry-10494391310.html

2012年11月2日金曜日

FireFox Windows認証を有効にする

Windows環境において統合Windows認証を利用したイントラネットサイトを開く場合
IEでは自動で認証が通るが、Firefoxではダイヤログボックスが出てきて
ユーザー名、パスワードを入力する必要がある。
Firefoxでもこの統合Windows認証には対応しており、次の設定により自動化を有効に出来る。

1.ロケーションバーに”about:config"と入力し、Enterキーを押す。
2.'network.automatic-ntlm-auth.trusted-uris'
    'network.negotiate-auth.delegation-uris'
    'network.negotiate-auth.trusted-uris' を探し

それぞれダブルクリックして、統合Windows認証を行っているサイトのURL(例:http://aaaa.local.com)を入力す る。

以上でIEと同様に自動で統合認証が行われる。

2012年11月1日木曜日

ファイル改行

ファイル改行
今までは @"\r\n"としていた。
それを、以下のように修正出来る。

改行コード .NewLine 
// 読み込んだものを追加で格納する
stResult += stBuffer + System.Environment.NewLine;

2012年10月23日火曜日

Word FileFormat構造体

FileFormat
WdSaveFormatクラス
定数内容
wdFormatDocument0現在のフォーマット(既定値)
wdFormatTemplate1テンプレート
wdFormatText2テキスト
wdFormatTextLineBreaks3-
wdFormatDOSText4DOC用テキスト
wdFormatDOSTextLineBreaks5-
wdFormatRTF6リッチテキスト
wdFormatUnicodeText7-
wdFormatEncodedText7-
wdFormatHTML8Htmlフォーマット

2012年10月16日火曜日

Telerik ComboBoxが動作しない

Telerik ComboBoxが動作しない

最初はTelerikのCDNのせいだと思い、Web.ConfigでDisableにする

次はのJQueryCDNのせいだと思い、これもDisableにした。

それでもIE10ではうまく動作しなかったので、もしやIP6のせいかなと
推論して、IP6のアダプタをDisableにすると、あっさり動作する。

IP6は当分無効で良いかな。

2012年10月12日金曜日

Content Delivery Network

Content Developver Network

インターネットから開発者向けコンテンツ(ライブラリ)を取得するようだが
JQueryなどを使うと、http://ajax.aspnetcdn.com/  を見るようになるようだ。

JQuery 1.8からそうなったみたいで、古いJQueryを使うとアクセスしない。

Telerikのコンポーネントを最新にすると、お客さんの実行環境では動作しない現象が
発生した。

TelerikもCDNを持っていて、Web.Configで明示的にDisableにしないと
ネットワークに付加がかかるそうです。
お客さんのネットワーク管理者から注意を受けました。

web.configの設定方法
    <add key="Telerik.ScriptManager.TelerikCdn" value="Disabled"/>
    <add key="Telerik.StyleSheetManager.TelerikCdn" value="Disabled"/>

  asp:ScriptManager    ID="ScriptManager1"    EnableCdn="true"    Runat="Server" />
それとScriptManagerに、EnableCdn="False"を明示的に追加



2012年10月11日木曜日

html5 table cellpadding

HTML v4.01
<table width="100%" border="0" cellpadding="0" cellspacing="0" align="center">





HTML5
<table border="0" style="width:100%; height:40px; padding:0; border-collapse:collapse">

メモ

2012年10月5日金曜日

EPPlus Shape

EPPlusでShapeの制御を行った。
Excelのオブジェクトに対して名称を設定すればプログラムで値を流し込める。

セルでも良いけど、オブジェクトの方が自由に設定出来るので、ちょっと便利

四角(shape)にテキストを流し込む例
ExcelShape txtReceiveDate = (ExcelShape)worksheet.Drawings.FirstOrDefault(a => a.Name.Trim() == "txtReceiveDate");

ExcelShape txtCompleteDate = (ExcelShape)worksheet.Drawings.FirstOrDefault(a => a.Name.Trim() == "txtCompleteDate");



if (txtReceiveDate != null && vReceiveDate != null) {
      txtReceiveDate.Text = vReceiveDate.Value.ToString("yyyy.MMM.dd");
}

EPPlus 3.0にて確認しました。

2012年10月1日月曜日

redmine 2.1.2

Redmine 2.1.2が出た!
やっぱり、2.1.0の不具合、12件の修正
早速、UPしようっと。

2012年9月29日土曜日

XenApp6.0でライセンスエラーが発生する

XenApp6.0でライセンスエラーが発生する

現象として、Citrix ライセンスサーバが見つかりません。と表示される。
Windows イベント ビューワーを見ると、あたかもWindowsターミナルライセンスが無いから
Cittixライセンスマネージャがコケたような感じだ。

ライセンスは使用人数分購入しているので、疚しいことは無い。
何でだろう~思いつつ、Widdowsターミナルサーバライセンスを再アクティブ化するが
その後、ICA接続と、RDP接続 さえもNGになる。

OSおよび、XenApp6.0の最新パッチをすべて適用
Citrix Licenseサーバを最新の再インストールしたら、正常動作するようになった。


ASP.NET MVC Packageで最新のJQueryをInstall



 ASP.NET MVC4を利用しようとしたが、使用するJQueryのVersionが1.7.1で
現在1.8.2から比べると、ちょっと古い。

VisualStudioからツール -> ライブラリパッケージマネージャ -> パッケージマネージャコンソールを
指定する。

PM> のコマンドラインが表示されるので
Install-Package JQuery
上記を入力後、Enter Keyを押すと、最新のJQueryがインストールされました。




2012年9月27日木曜日

RedMine 2.1.0の設定画面でコケる

RedMine 2.1.0の管理 -> 設定 の画面に移動すると、コケた。
redmine 2.0.3旧バージョンだと、正常動作する。

databaseのmigrationが失敗したのかと思い、新規でredmine 2.1.0を構築するが
管理者の言語を英語から日本語にすると、管理 -> 設定に移動すると
エラーになるみたい。

表示言語を英語にすると正常動作する。

面倒なので、管理者の表示言語を英語で運用

2012年9月19日水曜日

FriendlyUrls – ASP.NET Webフォームのために

FriendlyUrlsは、開発者がWebフォームアプリケーションで簡単にきれいなURLを使うことができるASP.NETの新機能である。これはまた、同じプロジェクトでMVCのようにモバイルとデスクトップのビュー両方を簡単に管理できる。Scott Hanselman氏は、詳細を説明した。
このパッケージをどう使う?単にnugetパッケージをプロジェクトに追加して、routes.EnableFriendlyUrls()を呼び出 すだけで、あなたの作った/Foo.aspxが/Fooルートでアクセスできるようになる!また、ページにさらに情報を渡すためにUrlセグメントを使っ て渡す(/Foo/bar/34)ことができ、Foo.aspxページで、Request.GetFriendlyUrlSegments()メソッドを 使うことでそれを取り出すことができる。
さらにエキサイティングな機能をScott氏は紹介した -
  • モバイルデバイスからリクエストがあった時は、自動的にモバイル用のビューに切り替わる
  • WebFormsFriendlyResolverクラスを拡張して、振る舞いをカスタマイズすることができる – たとえば、デバイスに応じたハンドリングなど
Scott氏は、時間をかけて進化しているASP.NETの壮大なプランの1ステップだと強調する。私たちはすでに.NET 4.5リリースにおけるWebフォームとMVCの間の生産性のギャップが減少しているとお伝えしている。
FriendlyUrlsはまだアルファであり、主に開発者からさらにフィードバックを引き出すために公開されている。これは、.NET 4.5と.NET 4.0の両方で動作するため、既存の.NET 4アプリケーションで動作させることができる。

元ネタ
http://www.infoq.com/jp/news/2012/09/friendlyurls

Redmine 2.0.4と2.1.0

Redmineが2.0.4と2.1.0のUP
2.0.4は19個の修正
2.1.0はメジャーVersionUP

2012年9月18日火曜日

linqでMAX値を取得する方法


// ラムダ式の場合
var vMax = db.ExpendableParts.OrderByDescending(x => x.LineNo).FirstOrDefault(s => s.Spec == rh.Power && s.ModelNo.Trim() == vModelNo.Trim());

2012年9月14日金曜日

.net 4.0からctl00_の名称が無い

ASP.NETの .NET3.5 でWeb Formアプリケーションを作成していたのを
.NEt4.0にUPすることになった。

大丈夫だろ~と高をくくったら、JavaScriptでコケた。

どうも、.NET3.5では、コントロール名の前に自動設定されていた、名称ctl00_が
.NET4.0では無くなっている!

Stack Over Flow

ClientIDMode

.NET4.0から、ClientIDModeという設定が必要らしい。

面倒だから、JavaScriptで参照しているIDから、ctl00_を全部削除した。

Windows8のスタートアップ

Windows8のStartup

ボリューム(C:)
 └ProgramData
   └Microsoft
     └Windows
       └スタートメニュー
         └プログラム
           └スタートアップ

2012年9月13日木曜日

vmdk to vhd

vmwareの仮想ファイル(vmdk)を、hyper-vのvhd形式にするようになった。

Windows8からHyper-vが利用出来るようになったので
仮想化は、 Hyper-vを利用する。

vmplayerを利用していたのは、Windows7のVirtualPCは64bitOSを仮想化出来なかったから。

探したら、HNCというソフトが仮想化ファイルを変換してくれるそうな。

2012年9月12日水曜日

NPOI

NPOI
POIのC#版
EPPlusでExcel2007形式を作成したが
POIでも作成出来るそうな。
今度は、Wordで作成する必要があったので、NPOIでWordを扱うようにする。
NPOI

POIコンポーネント一覧
コンポーネント対応アプリケーション
POIFSOLE2 Filesystem
HPSFOLE2 Property Sets
HSSF / XSSFExcel(拡張子XLS/XLSX)
HSLF / XSLFPowerPoint(拡張子PPT/PPTS)
HWPF / XWPFWord(拡張子DOC/DOCX)
HDGFVisio(拡張子VSD)
HPBFPublisher(拡張子PUB)
HSMFOutlook(拡張子MSG)
OpenXML4JOOXML

MAGICってMVCだった

最近、ASP.NETでMVCモデルのプログラミングを行う必要があった。
※モバイル対応なので。

よく考えたら、dbMAGICもMVCモデルになっている。

プログラム修正時に3つのタブ
Model: データ
View:フォーム
Controller:レコード後処理

うーむ、イスラエル人って、やっぱすごいなぁ~

2012年9月10日月曜日

Windows8でライセンス認証(プロダクトキーの変更)ができない

Windows8でライセンス認証(プロダクトキーの変更)ができない

Windows8でライセンス認証(プロダクトキーの変更)ができない
先日、こちら↑で投稿した記事(ライセンス認証ができない)の理由がわかりました。

TechNetサブスクリプションのWindows8 Enterpriseのプロダクトキーに起因していました。(MSDNも同様)

「KMSライセンス認証が使用されず、KMSサーバーが存在しない場合、プロダクトキーをMAKに変更する必要があります。」
↑を変更するコマンドが、「slmgr -ipk xxxxx-xxxxx-xxxxx-xxxxx-xxxxx」

参考→http://support.microsoft.com/kb/929826/ja

2012年8月28日火曜日

Word文書をOpenXMLで操作

Word文書をOpenXMLで操作する方法
CodePlexのWord Content Control ToolKitを利用する。
http://dbe.codeplex.com/

また、Word2010のリボン上にDeveloper(開発)を表示するには