2013年9月27日金曜日

デュアルモニタで作業効率20%アップ

デュアルモニタにしたい!!

開発に使ってるPCは、DELLのINSPIRON 580s

グラボ買ってこなきゃダメかな~って思ったけど、
オンボードのHDMIとVGAにそろぞれモニタ繋いだらデュアルモニタになった。

オンボードでも対応したのね。


デュアルモニタは作業効率20%アップらしい。
作業によるだろうけど。

2013年9月26日木曜日

CheckBoxがアクティブかどうか分かりづらい [C#]

paddingを4,4,4,4にしてアクティブの時の背景色を変えてみた。



分かりやすい。

2013年9月25日水曜日

ハンディーターミナルからサーバーにホスト名で接続できない [C#(.NET Compact)]

ハンディーターミナルシステムからサーバーのSQLServerを参照。

社内テストで、ホスト名でサーバーを指定して問題なく接続出来てたんだけど、
HTとサーバーを本番環境に持って行ってテストしてみたら接続できなかった・・・

試しにIPアドレス指定にしたら接続できた・・・なんで?

固定IPだったからそれでも問題なかったけど変動だったら困るんだけど・・・


うーん・・・なんでだろ・・・・・・・・・・・・・・

2013年9月20日金曜日

Excelを開いた時にExcelは開くけど内容が出てこない [Excel]

Excelを開いた時にExcelは開くけど内容が出てこないことがある。

なんで??

開いたり閉じたりしたら直ったりするけど・・・


[表示]→[整列]

で開いた。

原因よく分からんけど・・・

2013年9月19日木曜日

HTのシステム更新プログラム [C#(.NET Compact)]

[WindowsCEのハンディーターミナル(HT)の開発]

HTのシステム更新をするのって数が多いと大変。

いっこいっこPCに接続して・・・


FTP機能を使ってシステム更新プログラムを。

サーバーのあるフォルダ内の全てのファイルをHTのbinフォルダにコピーしたいだけなのに、結構な量のコードに・・・


まぁずっと使えるしこれで楽に。

2013年9月18日水曜日

DataGridViewを編集時のEnterとかEscの動作を変更したい [C#]

DataGridViewを編集時のEnterとかEscの動作を変更したい!

-------------------------------------------------
//フォームのキーダウンイベント
private void Form_KeyDown(object sender, KeyEventArgs e)
{
  switch (e.KeyCode)
  {
    case Keys.Enter:
    case Keys.Escape:
     MessageBox.Show("test");
     break;
  }
}
-------------------------------------------------

EnterとかEscは単純にフォームのキーダウンイベントで書いても拾ってくれない・・・
-------------------------------------------------
//DataGridViewをオーバーライド
public class DataGridViewPlus : DataGridView
{  
 protected override bool ProcessDialogKey(Keys keyData)
 {
  //Enter・Escキー押下時のイベントキャンセル
  if (((keyData & Keys.KeyCode) == Keys.Enter) ||
      ((keyData & Keys.KeyCode) == Keys.Escape))
  {
   return false;
  }

  return base.ProcessDialogKey(keyData);
 }

 protected override bool ProcessDataGridViewKey
  (KeyEventArgs e)
 {
  //Enter・Escキー押下時のイベントキャンセル
  if ((e.KeyCode == Keys.Enter) ||
      (e.KeyCode == Keys.Escape))
  {
   return false;
  }

  return base.ProcessDataGridViewKey(e);
 }
}
-------------------------------------------------

DataGridViewをオーバーライドしてEnterとEscキーの処理をキャンセルすればフォームのキーダウンイベントで拾えるようになった。

オーバーライド内に直接処理を書いてもいいけどフォームで欲しいこともあったり。

2013年9月17日火曜日

Visual C#でDebugモードとReleaseモードの切り替え [VisualStudio]

VisualStudioでDebugモードとReleaseモードの切り替えをソリューションを右クリックして構成マネージャを選択して切り替えしてたけど、

[ツール]→[設定]の
[基本設定]を[上級者設定]に変更すれば、ツールバーに切り替えボタンが出てきた。



他にどこが上級者になったんだろ。

2013年9月11日水曜日

今日の日付をすばやく入力!! [Windows]

日付を入力することって結構あるけど、何日か調べて入力するのめんどいよね。

「きょう」とかで変換したら今日の日付になったらな~って思ったらあった。


Google 日本語入力
http://www.google.co.jp/ime/

Google様だった。


「きょう」
↓↓↓↓↓↓↓
「2013/09/11」
「2013-09-11」
「2013年9月11日」
「平成25年9月11日」
「水曜日」

に簡単に変換できちゃう。

Android携帯でもGoogle日本語入力で同じことが。

2013年9月10日火曜日

TableLayoutPanelにボタンを配置して矢印キーで縦横に移動 [C#]



TableLayoutPanelにボタン配置したんだけど矢印キーでの移動はTabIndex順になっちゃうのね・・・

普通に縦横に動いてよ。


TabIndexを座標にして、

----------------
11 21 31
12 22 32
13 23 33
----------------

矢印押下時はこれを検索して次のに移動するようにしようかな~

------------------------------------------------------
private void button_PreviewKeyDown(object sender, Previe
wKeyDownEventArgs e)
{
 switch (e.KeyCode)
 {
  case Keys.Right:

   for (int moveX = 10; moveX <= 20; moveX += 10)
   {
    //10の位がx座標
    int tabindex = this.ActiveControl.TabIndex + moveX;

    //右端の時
    if (tabindex > 40)
    {
     tabindex = tabindex - 30;
    }

    bool focus = false;

    //子コントロール
    foreach (Control con in tableLayoutPanel.Controls)
    {
     //ボタン
     if (con is ButtonBase)
     {
      if (con.TabIndex == tabindex)
      {
       con.Focus();
       focus = true;
       break;
      }
     }
    }

    if (focus) break;
   }

   //元々の動きをキャンセル
   e.IsInputKey = true;

   break;

  case Keys.Left:

   for (int moveX = 10; moveX <= 20; moveX += 10)
   {
    //10の位がx座標
    int tabindex = this.ActiveControl.TabIndex - moveX;

    //右端の時
    if (tabindex < 10)
    {
     tabindex = tabindex + 30;
    }

    bool focus = false;

    //子コントロール
    foreach (Control con in tableLayoutPanel.Controls)
    {
     //ボタン
     if (con is ButtonBase)
     {
      if (con.TabIndex == tabindex)
      {
       con.Focus();
       focus = true;
       break;
      }
     }
    }

    if (focus) break;
   }

   //元々の動きをキャンセル
   e.IsInputKey = true;

   break;
 }
}

------------------------------------------------------

2013年9月9日月曜日

印刷時に追加処理をしたい [VBReport]

VBReportの印刷ボタンを押して印刷した後に、DBの印刷済みフラグを更新したいんだけど、追加処理・・・無理かな??


しょうがないから印刷ボタン非表示にして、

-------------------------------------------------------
ViewerControl.PrintButtonMode = Menu;

ViewerControl.ShoPrintMenuItem = False;
-------------------------------------------------------

印刷設定は残しておいて。

ボタンの名前「印刷」だけど・・・


別に印刷ボタン作って、

-------------------------------------------------------
ViewerControl.PrintOut();

~追加処理~
-------------------------------------------------------

かな。


印刷時に出てくるページ指定のポップアップ出てこない。

2013年9月6日金曜日

波線を引きたい [Excel]

オーチシェイプに曲線書くやつあるけど綺麗な波線をパッと書けないし。

ネッドで画像探してもいぃけど意外とすぐにみつからない・・・


もぉ「~」でいっか



縦の波線が欲しいから
セルの書式設定の配置タブで、文字列の角度を-90度にして「~」いっぱい書いて終了。

2013年9月5日木曜日

ストアドプロシージャでSQL文をVARCHARに入れて実行したらエラー [SQLServer]

ストアドプロシージャでSQL文をVARCHAR(MAX)に入れてEXEC実行したらエラー


普通に実行したら動くSQL文なのに何でかと思ったら、

VARCHARはMAXで8000文字なのか。

空白とコメント削ったら通ったけど8000文字超えた場合どぉすればいぃんだ・・・

そんな長いSQL文書くなってことなのかな・・・・
たしかに読みにくい。


でも何回も接続しにいくのも気持ち悪いしな~

2013年9月4日水曜日

サブクエリの結果によって取得するカラム名を動的に生成したい [SQLServer]

・・・無理!!!

動的にカラム名を変更することは無理だけどCASE文で全パターン書いてやればできそう。

------------------------------------------
SELECT
  (CASE EntryColumn
  WHEN '01' THEN TestColum01
  WHEN '02' THEN TestColum02
  WHEN '03' THEN TestColum03
  END) AS TestColum,
FROM
(SELECT EntryColumn FROM EntryTable)
AS kariTable
LEFT JOIN TestTable
------------------------------------------

パターン多いと大変だけどこれなら。

2013年9月2日月曜日

$付けてても参照先がズレる [Excel]

別シートを参照してて、参照先に行・列の挿入をすると$付けてても参照先がズレる。

INDIRECTを使えば固定されるのね。

-----------------------------------------------
=INDIRECT("参照シート!A1")
-----------------------------------------------

しかもこれならVBReportにも使える!

思わぬ副産物。