SSブログ
前の30件 | -

[VBA]複数のセルオブジェクトを1つのセルオブジェクトに統合する。 [Programming ExcelVBA]

[はじめに]
・あまり知られていないかもしれませんが、
 複数のセルオブジェクトを、1つのセルオブジェクトに統合することができます。
 ※Union関数を使用。

 統合後のセルに対して、
 プロパティやメソッドにアクセスすると、
 統合前のセルすべてに対して、アクセスすることと同じ意味になります。
 複数のセルオブジェクトをまとめて処理したい場合に、便利です。
 ※[注意]セルの結合ではありません。

 以下は、
 「A1」、「B2:D5」、「D3,D5」の複数のセル領域を統合して、
 「Hello」の文字列を設定する例です。
  備忘録としてサンプルソースを掲載します。

[ソース]
Private Sub UnionSample()

    Dim cellArray() As Variant
    Dim cellUnion As Range
    Dim cell As Variant
    
    '① 統合前のセルを定義
    cellArray = Array(Range("A1"), Range("B2:C5"), Range("D3:F5"))
    
    '② ①で定義したセルを
    '  1つのセルオブジェクトに統合する。
    For Each cell In cellArray
        If cellUnion Is Nothing Then
            '初回のみセルを設定
            Set cellUnion = cell
        Else
            '2回目以降は、セルを統合する。
            Set cellUnion = Union(cellUnion, cell)
        End If
    
    Next
    
    '③ 統合後のセルに値を設定。
    cellUnion.Value = "Hello"

End Sub
[VBA]複数のセルオブジェクトを1つのセルオブジェクトに統合する。

nice!(0)  コメント(0) 
共通テーマ:パソコン・インターネット

[VBA]カラーの定数一覧 [Programming ExcelVBA]

[はじめに]
・VBAで、
 色の定数を知りたいことがよくあるので、
 備忘録として掲載します。

カラーの定数一覧
ColorConstants定数
カラーColorConstants定数RGBカラー値
(R+G×256+B×2562)
vbBlack0000
vbBlue0025516711680
シアンvbCyan025525516776960
vbGreen0255065280
マゼンタvbMagenta255025516711935
vbRed25500255
vbWhite25525525516777215
vbYellow255255065535

XlRgbColor定数
カラーXlRgbColor定数RGBカラー値
(R+G×256+B×2562)
rgbBlack0000
ディムグレーrgbDimGray、rgbDimGrey1051051056908265
灰色rgbGray、rgbGrey1281281288421504
濃い灰色rgbDarkGray、rgbDarkGrey16916916911119017
銀色rgbSilver19219219212632256
薄い灰色rgbLightGray、rgbLightGrey21121121113882323
ゲーンズボロrgbGainsboro22022022014474460
ホワイトスモークrgbWhiteSmoke24524524516119285
rgbWhite25525525516777215
スノーrgbSnow25525025016448255
ローズブラウンrgbRosyBrown1881431439408444
薄いさんごrgbLightCoral2401281288421616
インディアンレッドrgbIndianRed20592926053069
rgbBrown16542422763429
れんが色rgbFireBrick17834342237106
栗色rgbMaroon12800128
濃い赤rgbDarkRed13900139
rgbRed25500255
ミスティローズrgbMistyRose25522822514804223
サーモンピンクrgbSalmon2501281147504122
トマトrgbTomato25599714678655
濃いサーモンピンクrgbDarkSalmon2331501228034025
さんごrgbCoral255127805275647
オレンジレッドrgbOrangeRed25569017919
薄いサーモンピンクrgbLightSalmon2551601228036607
シェンナrgbSienna16082452970272
シーシェルrgbSeashell25524523815660543
ピーチパフrgbPeachPuff25521818512180223
サンディブラウンrgbSandyBrown244164966333684
リネンrgbLinen25024023015134970
ペルーrgbPeru205133634163021
ビスクrgbBisque25522819612903679
濃いオレンジrgbDarkOrange255140036095
アンティークホワイトrgbAntiqueWhite25023521514150650
タンrgbTan2101801409221330
バーリーウッドrgbBurlyWood2221841358894686
ブランシュアーモンドrgbBlanchedAlmond25523520513495295
ナバホホワイトrgbNavajoWhite25522217311394815
パパイヤホイップrgbPapayaWhip25523921314020607
モカシンrgbMoccasin25522818111920639
オレンジrgbOrange255165042495
フローラルホワイトrgbFloralWhite25525024015792895
オールドレースrgbOldLace25324523015136253
小麦rgbWheat24522217911788021
ゴールデンロッドrgbGoldenrod218165322139610
濃いゴールデンロッドrgbDarkGoldenrod18413411755384
コーンシルクrgbCornsilk25524822014481663
ゴールドrgbGold255215055295
レモンシフォンrgbLemonChiffon25525020513499135
カーキrgbKhaki2402301409234160
濃いカーキrgbDarkKhaki1891831077059389
ペールゴールデンロッドrgbPaleGoldenrod2382321077071982
アイボリーrgbIvory25525524015794175
ベージュrgbBeige24524522014480885
明るい黄rgbLightYellow25525522414745599
薄いゴールデンロッドイエローrgbLightGoldenrodYellow25025021013826810
オリーブrgbOlive128128032896
rgbYellow255255065535
オリーブドラブrgbOliveDrab107142352330219
イエローグリーンrgbYellowGreen154205503329434
濃いオリーブグリーンrgbDarkOliveGreen85107473107669
グリーンイエローrgbGreenYellow173255473145645
若草色rgbLawnGreen124252064636
シャルトルーズrgbChartreuse127255065407
ハニーデューrgbHoneydew24025524015794160
濃いシーグリーンrgbDarkSeaGreen1431881439419919
明るい緑rgbLightGreen1442381449498256
ペールグリーンrgbPaleGreen15225115210025880
フォレストグリーンrgbForestGreen34139342263842
ライムグリーンrgbLimeGreen50205503329330
濃い緑rgbDarkGreen0100025600
rgbGreen0128032768
黄緑rgbLime0255065280
淡いアクアマリンrgbMediumAquamarine10225517011206502
淡いシーグリーンrgbMediumSeaGreen601791137451452
シーグリーンrgbSeaGreen46139875737262
ミントクリームrgbMintCream24525525016449525
スプリンググリーンrgbSpringGreen02551278388352
淡いスプリンググリーンrgbMediumSpringGreen025015410156544
アクアマリンrgbAquamarine12725521213959039
ターコイズrgbTurquoise6422420813688896
薄いシーグリーンrgbLightSeaGreen3217817011186720
淡いターコイズrgbMediumTurquoise7220920413422920
空色rgbAzure24025525516777200
ペールターコイズrgbPaleTurquoise17523823815658671
濃いスレートグレーrgbDarkSlateGray4779795197615
濃いスレートグレーrgbDarkSlateGrey4779795197615
青緑rgbTeal01281288421376
濃いシアンrgbDarkCyan01391399145088
明るい水色rgbLightCyan01391399145088
濃いターコイズrgbDarkTurquoise020620913749760
水色rgbAqua025525516776960
カデットブルーrgbCadetBlue9515816010526303
パウダーブルーrgbPowderBlue17622423015130800
明るい青rgbLightBlue17321623015128749
深いスカイブルーrgbDeepSkyBlue019125516760576
スカイブルーrgbSkyBlue13520623515453831
薄いスカイブルーrgbLightSkyBlue13520625016436871
アリスブルーrgbAliceBlue24024825516775408
スチールブルーrgbSteelBlue7013018011829830
スレートグレーrgbSlateGray1121281449470064
薄いスレートグレーrgbLightSlateGray11913615310061943
ドジャーブルーrgbDodgerBlue3014425516748574
薄いスチールブルーrgbLightSteelBlue17619622214599344
コーンフラワーブルーrgbCornflowerBlue10014923715570276
ロイヤルブルーrgbRoyalBlue6510522514772545
ゴーストホワイトrgbGhostWhite24824825516775416
ラベンダーrgbLavender23023025016443110
ミッドナイトブルーrgbMidnightBlue25251127346457
ネイビーrgbNavy、rgbNavyBlue001288388608
濃い青rgbDarkBlue001399109504
淡い青rgbMediumBlue0020513434880
rgbBlue0025516711680
濃いスレートブルーrgbDarkSlateBlue72611399125192
スレートブルーrgbSlateBlue1069020513458026
淡いスレートブルーrgbMediumSlateBlue12310423815624315
淡い紫rgbMediumPurple14711221914381203
青紫rgbBlueViolet1384322614822282
インディゴrgbIndigo7501308519755
濃いオーキッドrgbDarkOrchid1535020413382297
濃い紫rgbDarkViolet148021113828244
淡いオーキッドrgbMediumOrchid1868521113850042
あざみ色rgbThistle21619121614204888
プラムrgbPlum22116022114524637
紫色rgbViolet23813023815631086
rgbPurple12801288388736
濃いマゼンタrgbDarkMagenta13901399109643
明るい紫rgbFuchsia255025516711935
オーキッドrgbOrchid21811221414053594
淡いバイオレットレッドrgbMediumVioletRed199211338721863
深いピンクrgbDeepPink255201479639167
ホットピンクrgbHotPink25510518011823615
ラベンダーブラッシュrgbLavenderBlush25524024516118015
ペールバイオレットレッドrgbPaleVioletRed2191121479662683
深紅rgbCrimson22020603937500
ピンクrgbPink25519220313353215
薄いピンクrgbLightPink25518219312695295

nice!(0)  コメント(0) 
共通テーマ:パソコン・インターネット

[VBA]RGBカラー値からRGBの各々の値を取得 [Programming ExcelVBA]

[はじめに]
・RGBの各要素からRGBカラー値を取得する為に、
 VBAではRGB関数が用意されていますが、
 その逆(RGBカラー値から元のRGB各要素を取得)の関数は
 用意されていません。

 たまに必要になることがあるので、
 ユーザ定義関数を作成しましたので、備忘録として掲載します。

[ソース]
'[機能]
' RGB カラー値から、
' 赤(R)、緑(G)、青(B)の各々の値を取得する。
'[引数]
' rgbColor:RGB カラー値
'[戻り値]
' RGBの各値(配列)
'  0番目:赤(R)
'  1番目:緑(G)
'  2番目:青(B)
Public Function GetRgbValues(ByVal rgbColor As LongAs Integer()

    Dim rtnColors(2) As Integer

    '赤(R)
    rtnColors(0) = rgbColor Mod 256
    '緑(G)
    rtnColors(1) = rgbColor \ 256 Mod 256
    '青(B)
    rtnColors(2) = rgbColor \ 65536

    GetRgbValues = rtnColors

End Function
[VBA]RGBカラー値から赤(R)、緑(G)、青(B)の各々の値を取得

nice!(0)  コメント(0) 
共通テーマ:パソコン・インターネット

[VBA]セルの取得、値の書き込み [Programming ExcelVBA]

[はじめに]
・Excel VBAでよくセルの情報を取得することがありますが、
 様々な書き方があるので、備忘録に記載します。

 セル座標をA1形式や行列番号で指定したり、
 複数セルの範囲指定、その他のブックやシート上のセルの取得 など
 用途に応じたパターンを適用頂ければと思います。

[ソース]
Private Sub WriteToCellValue()

    '■■■1.「A1形式」でセルを指定する。
    ' ①単一セルを扱う。
    ' ※例:セルA1に値を出力
    Range("A1").Value = "あ"
    
    ' ②複数セルを扱う(その1)
    ' ※例:セルA3~A5に値を出力
    Range("A3:A5").Value = "い"

    ' ③複数セルを扱う(その2)
    ' ※例:セルC1~D10に値を出力
    Range(Range("C1"), Range("D10")).Value = "う"

    '■■■2.行番号、列番号でセルを指定する。
    ' 行番号、列番号をカウントアップ等をさせたい場合、有効。
    ' ※例:セル(1行目、6列目)に値を出力
    Cells(1, 6).Value = "え"

    '■■■3.特定のセル範囲内から、相対的にセルを取得
    ' ※例:セルD4(B3~E5内で1行目、3列目)に値を出力
    Range("B3:E5").Cells(2, 3).Value = "お"

    '■■■4.特定のセル範囲内から、相対的な行を取得
    ' ※例:B3~E5内の1行目に値を出力
    Range("B3:E5").Rows(1).Value = "か"

    '■■■5.特定のセル範囲内から、相対的な列を取得
    ' ※B3~E5内の3列目に値を出力
    Range("B3:E5").Columns(3).Value = "き"

    '■■■6.他のシートのセルを扱う。
    ' 指定セルが、他のシートにある場合は、
    ' 以下のように記載します。
    ' シート省略時は、アクティブシートが対象になります。
    ' ※例:シートSheet1のセルA2に値を出力
    '   以下例のRangeは上記の1~5の表記でも可能。
    Sheets("Sheet1").Range("A2").Value = "く"

    '■■■7.他のブックのセルを扱う。
    ' 指定セルが、他のブック、シートにある場合は、
    ' 以下のように記載します。
    ' ブック省略時は、アクティブブックが対象になります。
    ' ※例:当ブックのシートSheet1のセルA3に値を出力
    '   以下例のRangeは上記の1~5の表記でも可能。
    ThisWorkbook.Sheets("Sheet1").Range("A3").Value = "け"

End Sub
[VBA]セルの選択

nice!(0)  コメント(0) 
共通テーマ:パソコン・インターネット

[雑記]大統領、総理大臣のマスク [ネタ]

先日(2020/11)、日本では総理大臣が交代し、
アメリカでは大統領選の接戦にようやく終止符がつきました。
 
これがきっかけなのか、関連するグッズがいくつか販売されています。
忘年会の余興などに、いかがでしょうか?

ものまねマスクMr.トランプ

ものまねマスクMr.トランプ

  • 出版社/メーカー: オガワスタジオ
  • 発売日: 2016/06/10
  • メディア: おもちゃ&ホビー

オガワスタジオ 癒しのバイデン

オガワスタジオ 癒しのバイデン

  • 出版社/メーカー: オガワスタジオ
  • メディア: ウェア&シューズ


ラバーマスク M2 たのむぞ阿部総理

ラバーマスク M2 たのむぞ阿部総理

  • 出版社/メーカー: オガワスタジオ
  • メディア: おもちゃ&ホビー


nice!(0)  コメント(0) 
共通テーマ:お笑い

[Review]プレイステーション5の本体、コントローラのステッカーなど [Game's Review]

(1)レビュー
 先日(2020/11/12)、プレイステーション5が発売されました。
 供給が需要に追い付かず、購入自体ができないユーザはいらっしゃると思いますので、
 本体および付属品のリンクを用意しました。
 
 新型コロナが流行っている昨今、
 ご家族でゲームを楽しんでいただければと思います。

(2)リンク
PlayStation5 (プレイステーション5)ディスクドライブ搭載

PlayStation5 (プレイステーション5)ディスクドライブ搭載

  • 出版社/メーカー: ノーブランド品
  • メディア:









PS5 ディスクエディション 本体 プレイステーション5

PS5 ディスクエディション 本体 プレイステーション5

  • 出版社/メーカー: ノーブランド品
  • メディア:












nice!(0)  コメント(0) 
共通テーマ:ゲーム

[.NET][Visual Studio]CodeLensを非表示にする。(○○個の参照) [Programming .NET Tips]

[はじめに]
 Visual Studioはバージョンアップのたびに様々な便利機能が追加されますが、
 便利な反面、稀に不便なものもあります。
 そのうちの1つがCodeLensです。(あくまでも筆者の感想です)

 CodeLensとは、
 Visual Studio 2015で追加された機能で、
 コードエディタ上で、メソッドやクラスの定義の上の行に、
 そのメソッドやクラスを参照している個数を表示する機能です。
 (図1で「4個の参照」と表示されている箇所です。)

 一見、便利な機能ですが、
 コード編集時に「○○個の参照」の行にカーソルが入らない為、
 編集時に思い通りの動作にならず、不便に感じることがあります。

 CodeLensを無効にする設定が一見わかりづらいので、
 無効にする手順を、備忘録として掲載します。


【図1】
vs_01b.jpg

[CodeLensを無効にする手順]
(1)Visual Studio の「ツール」→「オプション」を選択し、
   オプションダイアログを表示させる。
  vs_02_01.jpg

(2)オプションダイアログの左側のツリービューで、
   「テキストエディタ」→「すべての言語]」→「CodeLens」をクリックし、
   右側のエリアの「CodeLens を有効にする」の
   チェックボックスのチェックを外す。
  vs_02_02.jpg

(3)(2)まで実施すると、CodeLensの表記が表示されなくなります。
  vs_03b.jpg

nice!(0)  コメント(0) 
共通テーマ:パソコン・インターネット

[.NET]yield returnの使用例(C#) [Programming .NET Tips]

[はじめに]
 C#には「yield」キーワードがありますが、
 他の言語と比べて特殊でわかりにくいので、使い方の備忘録を掲載します。
 ※「yield」は、
  他の言語(JavaScript、Perl、Python等)でも採用されつつありますが。。。

 「yield」は、
 オブジェクト指向のデザインパターンのIteratorパターンの実装で利用されます。
 Iteratorパターンとは、多数の集合に対してその内部の実装を意識することなく、
 逐次処理するためのデザインパターンです。

 C#でIteratorパターンを導入する場合、
 .NET Framework 1.1(Visual Studio .NET 2003)までは、
 IEnumerableインタフェース、IEnumeratorインタフェースを実装する等、
 様々なクラスを実装する必要がありましたが、
 .NET Framework 2.0(Visual Studio 2005)以降では、
 「yield return」キーワードが採用されることにより、
 Iteratorパターンの実装がより簡潔になりました。

[サンプルコード]
以下、2つのサンプルコードを掲載します。
2つのサンプルコードは、各々独立して動作します。
 /// <summary>
 /// yield returnの実装サンプル
 /// </summary>
 public class YieldSample1 : IEnumerable<string>
 {
     /// <summary>
     /// 月の異名の列挙を取得する。
     /// </summary>
     /// <returns>月の異名の列挙</returns>
     public IEnumerator<string> GetEnumerator()
     {
         yield return "睦月";
         yield return "如月";
         yield return "弥生";
         yield return "卯月";
         yield return "皐月";
         yield return "水無月";
         yield return "葉月";
         yield return "長月";
         yield return "神無月";
         yield return "霜月";
         yield return "師走";
     }

     /// <summary>
     /// 月の異名の列挙を取得する。
     /// </summary>
     /// <returns>月の異名</returns>
     IEnumerator IEnumerable.GetEnumerator()
     {
         return this.GetEnumerator();
     }
 }

 public class Program1
 {
     /// <summary>
     /// 列挙を取得し、各々の要素を出力する。
     /// </summary>
     /// <param name="args"></param>
     static void Main(string[] args)
     {
         System.Console.WriteLine("■月の異名を出力する。");

         IEnumerable<string> ie1 = new YieldSample1();
         foreach (var it1 in ie1)
         {
             System.Console.WriteLine(it1);
         }
         System.Console.WriteLine("");

         //[出力]
         // ■月の異名を出力する。
         // 睦月
         // 如月
         // 弥生
         // 卯月
         // 皐月
         // 水無月
         // 葉月
         // 長月
         // 神無月
         // 霜月
         // 師走

         //[補足]
         // 上記コードは、通常はやらないが、
         // 下記のように書き換えることも可能です。
         // 逆に言うと、foreachで実装すると、
         // 以下のコードに読み替えて実行されます。

         //System.Console.WriteLine("■月の異名を出力する。(while文で処理)");

         //IEnumerable<string> ie1 = new YieldSample1();
         //IEnumerator<string> it1 = ie1.GetEnumerator();
         //while (it1.MoveNext())
         //{
         //    System.Console.WriteLine(it1.Current);
         //}
         //System.Console.WriteLine("");

         System.Console.ReadLine();

     }
 }
[C#]yield returnの使用例(その2)


/// <summary>
/// yield returnの実装サンプル
/// </summary>
public class YieldSample2
{
    /// <summary>
    /// 干支の列挙を取得する。
    /// </summary>
    /// <returns>干支の列挙</returns>
    public IEnumerable<String> GetEto()
    {
        yield return "子年";
        yield return "丑年";
        yield return "寅年";
        yield return "卯年";
        yield return "辰年";
        yield return "巳年";
        yield return "午年";
        yield return "未年";
        yield return "申年";
        yield return "酉年";
        yield return "戌年";
        yield return "亥年";
    }
}

public class Program2
{
    /// <summary>
    /// 列挙を取得し、各々の要素を出力する。
    /// </summary>
    /// <param name="args"></param>
    static void Main(string[] args)
    {
        System.Console.WriteLine("■干支を出力する。");

        YieldSample2 ie1 = new YieldSample2();
        foreach (var it1 in ie1.GetEto())
        {
            System.Console.WriteLine(it1);
        }
        System.Console.WriteLine("");

        //[出力]
        // ■干支を出力する。
        // 子年
        // 丑年
        // 寅年
        // 卯年
        // 辰年
        // 巳年
        // 午年
        // 未年
        // 申年
        // 酉年
        // 戌年
        // 亥年

        //[補足]
        // 上記コードは、通常はやらないが、
        // 下記のように書き換えることも可能です。
        // 逆に言うと、foreachで実装すると、
        // 以下のコードに読み替えて実行されます。

        //System.Console.WriteLine("■干支を出力する。(while文で処理)");

        //YieldSample2 ie1 = new YieldSample2();
        //IEnumerator<string> it1 = ie1.GetEto().GetEnumerator();
        //while (it1.MoveNext())
        //{
        //    System.Console.WriteLine(it1.Current);
        //}
        //System.Console.WriteLine("");

        System.Console.ReadLine();
    }
}
[C#]yield returnの使用例(その2)


[ご参考]
Iteratorパターンについて
 デザインパターン「Iterator」-Qiita


nice!(0)  コメント(0) 
共通テーマ:パソコン・インターネット

[Review]オラクル認定資格教科書 Javaプログラマ Gold SE 8 (EXAMPRESS) [Book's Review (Develop)]

(1)レビュー
 以下2冊の紹介です。
 (1)『オラクル認定資格教科書 Javaプログラマ Gold SE 8』(通称『紫本』
 (2)『徹底攻略 Java SE 8 Gold 問題集[1Z0-809]対応』(通称『黒本』

 今までMicrosoft系をメインに資格取得に励んできましたが、
 Java系の資格にもチャレンジすることになり、
 参考書として『紫本』を、
 問題集として『黒本』を購入しました。

 JavaSE8といえば、
 新機能のラムダ式ストリームAPI
 日付/時刻API が注目されていますが、
 JavaSE7で追加された
 try-with-resourcesswitch文の拡張(String型のサポート)
 ダイヤモンド演算子例外のマルチキャッチ
 Executor ServiceFork/Join Framework
 数値リテラルのアンダースコアの区切り文字2進数表記 等など
 普段の開発でも使いこなされていなさそうな機能についても、
 分かりやすい解説が充実しています。

 書店のIT系資格コーナーには
 必ずと言っていいほど並んでいる書籍ですが、
 有名なだけあり、内容も充実しています。
   『JavaSE8 Gold』資格取得を目指している方にぜひオススメの2冊です。

 また『Javaプログラマ Gold SE 8』
 『Javaプログラマ Silver SE 8』前提資格となります。
 Goldと併せて、Slver対策として、以下2冊もオススメです。
 (3)『オラクル認定資格教科書 Javaプログラマ Silver SE 8』(通称『紫本』
 (4)『徹底攻略 Java SE 8 Silver 問題集[1Z0-808]対応』(通称『黒本』

 [2019.8.10 合格]
 本試験は、Javaプログラマ歴、7、8年のベテランでも、
 1回の受験で通るのは難しいと言われています。
 Java開発経験は3年程度の私ですが、
 .NET(C#、VB.NET)の10年の開発経験で、
 オブジェクト指向やラムダ式の基本を理解していた為、
 『紫本』による学習、『黒本』による問題演習を、
 各々2周することで、1回の受験で合格できました。

(2)リンク
オラクル認定資格教科書 Javaプログラマ Gold SE 8 (EXAMPRESS)

オラクル認定資格教科書 Javaプログラマ Gold SE 8 (EXAMPRESS)

  • 作者: 山本 道子
  • 出版社/メーカー: 翔泳社
  • 発売日: 2016/07/21
  • メディア: 単行本(ソフトカバー)
徹底攻略 Java SE 8 Gold 問題集[1Z0-809]対応

徹底攻略 Java SE 8 Gold 問題集[1Z0-809]対応

  • 作者: 米山 学
  • 出版社/メーカー: インプレス
  • 発売日: 2016/10/14
  • メディア: 単行本(ソフトカバー)

オラクル認定資格教科書 Javaプログラマ Silver SE 8

オラクル認定資格教科書 Javaプログラマ Silver SE 8

  • 作者: 有限会社ナレッジデザイン 山本道子
  • 出版社/メーカー: 翔泳社
  • 発売日: 2016/02/11
  • メディア: 単行本(ソフトカバー)
徹底攻略 Java SE 8 Silver 問題集[1Z0-808]対応

徹底攻略 Java SE 8 Silver 問題集[1Z0-808]対応

  • 作者: 志賀 澄人
  • 出版社/メーカー: インプレス
  • 発売日: 2016/01/18
  • メディア: 単行本(ソフトカバー)

nice!(1)  コメント(0) 
共通テーマ:パソコン・インターネット

[JavaSctipt]文字列をクリップボードにコピーする [Programming JavaScript]

[はじめに]
ブログで記事の内容をクリップボードにコピーする機能を導入する機会があったので、
JavaScriptクリップボードにコピーするコードを作りました。
動作確認は、『Microsoft Internet Explorer11』、『Microsoft Edge』で実施済です。

備忘録として、以下、2つのサンプルソースを掲載します。
2つのサンプルソースは、各々独立して動作します。
<html>
<head>
</head>
<body>

<table border='1'>
<tr><td>
<button
 type="button"
 onClick="
var ta=document.createElement('textarea');
ta.value=this.parentNode.parentNode.parentNode.getElementsByTagName('tr')[1].innerText;
this.appendChild(ta);ta.select();
document.execCommand('Copy');
alert('コピーしました。');
this.removeChild(ta);
"
>
コードのコピー
</button>
</td></tr>
<tr><td><font size="2" color="red">Hello,World!!</font></td></tr>
</table>

</body>
</html>
[JavaScript]文字列をクリップボードにコピーする(その1)


<html>
<head>
<script language="JavaScript">

/// <summary>
/// クリップボードに文字列をコピーする
/// </summary>
/// <param name="targetText">コピー対象の文字列</param>
/// <param name="docWork">ワーク用TextAreaの作成場所。省略時はdocument.body</param>
/// <remarks></remarks>
function copyText(targetText, docWork){

  //[説明]
  // クリップボードにコピーできる文字列は、
  // 入力可能なテキストコントロール(TextArea等)上で
  // 選択状態になっていることが前提となります。
  // この前提により、
  // テキストコントロール以外に記載された文字列を
  // クリップボードにコピーする為には、
  // 一時的にテキストコントロールを経由する必要があります。
  // 本関数では、
  // テキストコントロールを使用しない、かつ、
  // 改行コードを含む文字列の場合を考慮して、
  // 一時的にTextAreaを追加し
  // クリップボードにコピーした後、
  // TextAreaを削除しています。

  if(docWork==null || docWork==undefined){
    //引数docWorkを省略した場合は、
    //document.bodyとする。
    docWork=document.body;
  }

  //ワーク用のTextAreaを作成する。
  var ta=document.createElement("textarea");
  //コピー対象の文字列をTextAreaに書き込む。。
  ta.value=targetText;
  //ワーク用のTextAreaを追加する。
  docWork.appendChild(ta);
  //TextAreaの文字列を全選択する。
  ta.select();
  //選択状態の文字列をクリップボードにコピーする。
  document.execCommand("Copy");
  //コピー完了後のメッセージを表示する。
  alert("コピーしました。");
  //ワーク用のTextAreaを削除する。
  docWork.removeChild(ta);
}

</script>
</head>
<body>

<table border='1'>
<tr><td>
<button 
  type="button"
  onClick="copyText(this.parentNode.parentNode.parentNode.getElementsByTagName('tr')[1].innerText, this);">
  テキストをコピー
</button>
</td></tr>
<tr><td><font size="2" color="red">Hello,World!!</font></td></tr>
</table>

</body>
</html>   
[JavaScript]文字列をクリップボードにコピーする(その2)

nice!(1)  コメント(0) 
共通テーマ:パソコン・インターネット

[.NET][Edge対応版]プログラムコードの変換(C#、VB.NET→HTML)[Page1] [Programming .NET Tips]

[はじめに]
 ・「[.NET]プログラムコードの変換(C#、VB.NET→HTML)」
  公開しているサンプルソースの改良版です。
 ・プログラムソース(C#、VB.NET)を
  ブログ公開用のHTMLに変換するツールです。
  (コード量が膨大の為、変換処理のみ掲載しています。)
[前Verからの改良内容]
 前Verでは、コードのコピー機能がIE限定でしたが、Edgeにも対応させるよう改良。
 ・前Ver:コードのコピー機能がIEのみに対応。
 ・現Ver:コードのコピー機能をEdgeにも対応。(対応ブラウザ:IE、Edge)
[機能]
  プログラムソースの文字列を、HTMLに変換する。
  変換後のHTMLは、<table>タグで整形した形になります。
[変換後HTML]
 ・インデントのスペースが「& nbsp;」に変換され、ブラウザ上でも表示される。
 ・予約語、コメント、文字列(ダブルコーテーションで囲んだ部分)に色がつく。
 ・ソースコードをクリップボードにコピーする機能を提供。(「コードのコピー」ボタンを付加)
  IE、Edgeで動作確認済。
[制限事項]
 ・言語は、C#とVB.NETのみです。
  但し、VB6やVBA等はVB.NETと言語仕様が似ている為、
  制限事項を考慮の上、利用することもできます。
 ・C#のコメントは、行の先頭の「//」のみサポート。
  行の途中の「//」や「/*」~「*/」はサポートしません。
 ・VB.NETのコメントは、行の先頭の「'」のみサポート。
  行の途中の「'」はサポートしません。
[使い方]
 (1)ビルド前に、「System.Web」を参照設定に追加する。
   追加しないとコンパイルエラーになります。
 (2)CodeConverterToHtml クラスのGetInstanceメソッドで、
   変換オブジェクトを取得します。
   言語の種類(C#かVB.NET)は、GetInstanceメソッドの第1引数で指定します。 
 (3)CodeConverterToHtml クラスのConvertCodeToHtmlメソッドで、
   ソースをHTMLに変換します。
   ConvertCodeToHtmlメソッドの仕様
   ・第1引数:プログラムソースの文字列
   ・第2引数:整形後HTMLのタイトル。(省略可能)
   ・戻り値:変換後のHTMLの文字列
        変換後の文字列(HTML)は、
        <table>タグで整形した形となります。
        (<html>タグでは囲みません。)
'変換クラスを取得する。
Dim conv As CodeConverterToHtml = _
        CodeConverterToHtml.GetInstance( _
            CodeConverterToHtml.ProgLangType.VBNet _
        )

'プログラムソース
Dim strPgSource As String = "・…(プログラムソース)…"

'変換処理(変換結果はブログ等に貼り付けて、利用できます。)
Dim strConv As String = _
    conv.ConvertCodeToHtml(strPgSource, "[VB.NET]変換機能の使用例")
[VB.NET]変換機能の使用例


[改造ポイント]
 ・拡張性
  言語(C#、VB.NET)の固有ロジックを、
  CodeConverterToHtml の派生クラスに定義しています。
  (VBCodeConverterToHtml、CSharpCodeConverterToHtml)
  予約語一覧、キーワードの前景色、背景色、検索条件(正規表現)、変換仕様は、
  派生クラスの修正で変更できます。
  また、言語を追加する場合も、既存の派生クラスの流用が簡単です。
 ・予約語一覧
  予約語一覧は各派生クラスに定義しています。
  予約語の追加、変更、削除が簡単です。
 ・キーワードの検索条件
  正規表現を各派生クラスに定義しています。
  正規表現を修正することで、キーワードの検索条件を変更できます。
 ・キーワードの変換仕様
  正規表現の検索結果毎に、
  MatchEvaluator()メソッドが呼ばれます。
  MatchEvaluator()メソッドの修正で変換仕様を変更できます。
 ・マルチスレッド対応
  スレッドセーフではありません。
  派生クラスのGetRegEx() とGetReservedWords()に、
  複数スレッドが同時アクセスした場合、
  m_RegEx変数、m_ReservedWords変数の値に
  矛盾が生じる可能性があります。
  ASP.NET等のマルチスレッド環境で安全に使用する為には、
  SyncLockで排他をかける必要があります。

[プログラムソース]
ブログの容量制限の為、下記に分けて記述しています。
[.NET][Edge対応版]プログラムコードの変換(C#、VB.NET→HTML)[Page1]
[.NET][Edge対応版]プログラムコードの変換(C#、VB.NET→HTML)[Page2]
[.NET][Edge対応版]プログラムコードの変換(C#、VB.NET→HTML)[Page3]
Imports System.Text.RegularExpressions

''' <summary>
''' 変換(ソースコード→HTML)
''' </summary>
''' <remarks></remarks>
Public MustInherit Class CodeConverterToHtml

#Region "定数定義"
    ''' <summary>
    ''' HTMLレイアウト
    ''' </summary>
    ''' <remarks></remarks>
    Private Const TABLE_STRING As String =
        "<table width=""100%"" border=""0"" " &
        " bgcolor=""@@@TITLEBGCOLOR@@@"" " &
        " cellspacing=""0"">" &
        " <tr><td>" &
        "  <button type=""button"" value="""" " &
        "   onClick=""" &
        "   var ta=document.createElement('textarea');" &
        "   ta.value=this.parentNode.parentNode.parentNode.getElementsByTagName('tr')[1].innerText;" &
        "   this.appendChild(ta);ta.select();" &
        "   document.execCommand('Copy');" &
        "   alert('コピーしました。');" &
        "   this.removeChild(ta);"">" &
        "   コードのコピー</button>" &
        " </td></tr>" &
        " <tr><td>" &
        " <table width=""100%"" border=""0"" " &
        "  cellpadding=""10"" " &
        "  bgcolor=""@@@BGCOLOR@@@"" " &
        "  cellspacing=""0"">" &
        "  <tr><td>" &
        "   <font color=""@@@FORECOLOR@@@"" " &
        "    style=""font-size: 9pt"">" &
        "    <code>@@@CODE@@@</code>" &
        "   </font>" &
        "  </td></tr>" &
        " </table>" &
        " </td></tr>" &
        " <tr><td>" &
        " <b><font size=""2"">@@@TITLE@@@</font></b>" &
        " </td></tr>" &
        "</table>"
#End Region

#Region "列挙定義"
    ''' <summary>
    ''' 言語の種類
    ''' </summary>
    ''' <remarks></remarks>
    Public Enum ProgLangType
        ''' <summary>
        ''' VB.NET
        ''' </summary>
        ''' <remarks></remarks>
        VBNet = 0
        ''' <summary>
        ''' C#.NET
        ''' </summary>
        ''' <remarks></remarks>
        CSharp = 1
    End Enum

#End Region

#Region "変数定義"
    ''' <summary>
    ''' インスタンス
    ''' </summary>
    ''' <remarks></remarks>
    Private Shared instanceList() As CodeConverterToHtml = _
        New CodeConverterToHtml() { _
            New VbCodeConverterToHtml(), _
            New CSharpCodeConverterToHtml() _
        }

#End Region

#Region "コンストラクタ"
    ''' <summary>
    ''' コンストラクタ
    ''' </summary>
    ''' <remarks></remarks>
    Protected Sub New()

    End Sub

#End Region

#Region "インスタンスを取得"
    ''' <summary>
    ''' インスタンスを取得
    ''' </summary>
    ''' <param name="type">言語の種類</param>
    ''' <returns>インスタンス</returns>
    ''' <remarks></remarks>
    Public Shared Function GetInstance( _
        ByVal type As ProgLangType) As CodeConverterToHtml

        Return instanceList(type)
    End Function
#End Region

#Region "ソースコードをHTMLに変換する。"
    ''' <summary>
    ''' ソースコードをHTMLに変換する。
    ''' </summary>
    ''' <param name="src">ソースコード</param>
    ''' <returns>HTML</returns>
    ''' <remarks></remarks>
    Public Function ConvertCodeToHtml(ByVal src As StringAs String
        Return Me.ConvertCodeToHtml(src, Me.GetDefaultTitle())
    End Function

    ''' <summary>
    ''' ソースコードをHTMLに変換する。
    ''' </summary>
    ''' <param name="src">ソースコード</param>
    ''' <param name="title">タイトル</param>
    ''' <returns>HTML</returns>
    ''' <remarks></remarks>
    Public Function ConvertCodeToHtml( _
        ByVal src As StringByVal title As StringAs String

        Dim wkSrcList() As String = Nothing

        'ソースコードを行単位に分割する。
        '(vbCrLf, vbLf, vbCr毎)
        wkSrcList = src.Split( _
            New String() {vbCrLf, vbLf, vbCr}, _
            StringSplitOptions.None)

        '先頭の空白文字数を取得
        Dim cntIndent As Integer = _
            Me.GetHeadSpaceCount(wkSrcList)

        '先頭の空白文字を削除
        Me.RemoveStringList(wkSrcList, cntIndent)

        'HTMLエンコード
        Me.HtmlEncode(wkSrcList)

        Dim regEx As Regex = Me.GetRegEx()
        Dim regMatchEvaluator As _
            New MatchEvaluator(AddressOf Me.MatchEvaluator)

        'キーワードにタグを付加
        For i As Integer = 0 To wkSrcList.Length - 1
            wkSrcList(i) = wkSrcList(i).Replace( _
                    " ""&nbsp;")
            wkSrcList(i) = regEx.Replace( _
                    wkSrcList(i), regMatchEvaluator)
        Next

        Dim wkStr As String

        wkStr = String.Join(vbCrLf, wkSrcList)
        wkStr = wkStr.Replace(vbCrLf, "<br/>" & vbCrLf)

        Dim wkStrTable As String = Nothing

        wkStrTable = TABLE_STRING.Replace( _
            "@@@TITLE@@@", title)
        wkStrTable = wkStrTable.Replace( _
            "@@@BGCOLOR@@@"Me.GetBackColor())
        wkStrTable = wkStrTable.Replace( _
            "@@@FORECOLOR@@@"Me.GetForeColor())
        wkStrTable = wkStrTable.Replace( _
            "@@@TITLEBGCOLOR@@@"Me.GetTitleBackColor())
        wkStr = wkStrTable.Replace("@@@CODE@@@", wkStr)


        Return wkStr
    End Function

#Region "ヘルパーメソッド"
    ''' <summary>
    ''' HTMLにエンコードする
    ''' </summary>
    ''' <param name="srcLineList">ソース</param>
    ''' <returns>ソース(HTMLエンコード済)</returns>
    ''' <remarks></remarks>
    Private Function HtmlEncode(ByVal srcLineList() As StringAs String()

        For i As Integer = 0 To srcLineList.Length - 1
            srcLineList(i) = System.Web.HttpUtility.HtmlEncode(srcLineList(i))
        Next

        Return srcLineList

    End Function

    ''' <summary>
    ''' インデントの桁数を取得。
    ''' </summary>
    ''' <param name="srcLineList">ソース</param>
    ''' <returns>インデントの桁数</returns>
    ''' <remarks></remarks>
    Private Function GetHeadSpaceCount( _
        ByVal srcLineList() As StringAs Integer

        Const CHR_BLANK As Char = " "c
        Return Me.GetHeadSpaceCount(srcLineList, CHR_BLANK)
    End Function

    ''' <summary>
    ''' インデントの桁数を取得。
    ''' </summary>
    ''' <param name="srcLineList">ソース</param>
    ''' <param name="indentChar">インデントの文字</param>
    ''' <returns>インデントの桁数</returns>
    ''' <remarks></remarks>
    Private Function GetHeadSpaceCount( _
        ByVal srcLineList() As String, _
        ByVal indentChar As CharAs Integer

        Dim cntIndent As Integer = Int32.MaxValue

        If srcLineList.Length = 0 Then
            Return 0
        End If

        For Each wkSrc As String In srcLineList

            For i As Integer = 0 To wkSrc.Length - 1

                If wkSrc.Trim() = "" Then
                    Exit For
                End If

                If i >= cntIndent Then
                    Exit For
                End If

                If wkSrc(i) = indentChar.ToString() Then

                Else
                    cntIndent = Math.Min(i, cntIndent)
                    Exit For
                End If
            Next
        Next

        If cntIndent = Int32.MaxValue Then
            Return 0
        End If

        Return cntIndent

    End Function

    ''' <summary>
    ''' 各行からインデントを除去する。
    ''' </summary>
    ''' <param name="srcLineList">ソース</param>
    ''' <param name="cnt">インデントの桁数</param>
    ''' <returns>処理結果</returns>
    ''' <remarks></remarks>
    Private Function RemoveStringList( _
        ByVal srcLineList() As String, _
        ByVal cnt As IntegerAs Boolean

        If cnt = 0 Then
            Return True
        End If

        For i As Integer = 0 To srcLineList.Length - 1
            If srcLineList(i).Trim() = "" Then
                Continue For
            End If
            srcLineList(i) = srcLineList(i).Substring(cnt)
        Next

        Return True

    End Function
#End Region

#End Region

#Region "変換対象の文字列を検索する正規表現を取得する。"
    ''' <summary>
    ''' 変換対象の文字列を検索する正規表現を取得する。
    ''' </summary>
    ''' <returns>正規表現</returns>
    ''' <remarks></remarks>
    Protected MustOverride Function GetRegEx() As Regex
#End Region

#Region "正規表現の検索結果を編集する。"
    ''' <summary>
    ''' 正規表現の検索結果を編集する。
    ''' </summary>
    ''' <param name="match">検索結果</param>
    ''' <returns>編集結果</returns>
    ''' <remarks></remarks>
    Protected MustOverride Function MatchEvaluator( _
        ByVal match As Match) As String
#End Region

#Region "予約語一覧を取得する。"
    ''' <summary>
    ''' 予約語一覧を取得する。
    ''' </summary>
    ''' <returns>予約語一覧</returns>
    ''' <remarks></remarks>
    Public MustOverride Function GetReservedWords() As String()
#End Region

#Region "タイトルを取得"
    ''' <summary>
    ''' タイトルを取得
    ''' </summary>
    ''' <returns></returns>
    ''' <remarks></remarks>
    Public MustOverride Function GetDefaultTitle() As String
#End Region

#Region "タイトルを取得"
    ''' <summary>
    ''' 前景色(タイトル)を取得
    ''' </summary>
    ''' <returns></returns>
    ''' <remarks></remarks>
    Public MustOverride Function GetTitleBackColor() As String
#End Region

#Region "背景色を取得"
    ''' <summary>
    ''' 背景色を取得
    ''' </summary>
    ''' <returns>背景色</returns>
    ''' <remarks></remarks>
    Public MustOverride Function GetBackColor() As String
#End Region

#Region "前景色を取得"
    ''' <summary>
    ''' 前景色を取得
    ''' </summary>
    ''' <returns>前景色</returns>
    ''' <remarks></remarks>
    Public MustOverride Function GetForeColor() As String
#End Region


End Class

[VB.NET]CodeConverterToHtml


続きを読む


nice!(0)  コメント(0) 
共通テーマ:パソコン・インターネット

[.NET][Edge対応版]プログラムコードの変換(C#、VB.NET→HTML)[Page2] [Programming .NET Tips]

[はじめに]
[.NET][Edge対応版]プログラムコードの変換(C#、VB.NET→HTML)[Page1]」からの続きです。

[プログラムソース]
ブログの容量制限の為、下記に分けて記述しています。
[.NET][Edge対応版]プログラムコードの変換(C#、VB.NET→HTML)[Page1]
[.NET][Edge対応版]プログラムコードの変換(C#、VB.NET→HTML)[Page2]
[.NET][Edge対応版]プログラムコードの変換(C#、VB.NET→HTML)[Page3]
Imports System.Text.RegularExpressions

''' <summary>
''' 変換(C#ソースコード→HTML)
''' </summary>
''' <remarks></remarks>
Public Class CSharpCodeConverterToHtml
    Inherits CodeConverterToHtml

#Region "定数定義"
    ''' <summary>
    ''' 背景色
    ''' </summary>
    ''' <remarks></remarks>
    Private Const BACK_COLOR As String = "#FFFFE0"

    ''' <summary>
    ''' 背景色(タイトル)
    ''' </summary>
    ''' <remarks></remarks>
    Private Const BACK_COLOR_TITLE As String = "#66CCCC"

    ''' <summary>
    ''' 前景色
    ''' </summary>
    ''' <remarks></remarks>
    Private Const FORE_COLOR As String = "#000000"

    ''' <summary>
    ''' 前景色(コメント)
    ''' </summary>
    ''' <remarks></remarks>
    Private Const FORE_COLOR_COMMENT As String = "#008040"

    ''' <summary>
    ''' 前景色(文字列)
    ''' </summary>
    ''' <remarks></remarks>
    Private Const FORE_COLOR_STRING As String = "#FF0000"

    ''' <summary>
    ''' 前景色(予約語)
    ''' </summary>
    ''' <remarks></remarks>
    Private Const FORE_COLOR_RESERVED_WORD As String = "#0000FF"
#End Region

#Region "変数定義"
    ''' <summary>
    ''' 正規表現
    ''' </summary>
    ''' <remarks></remarks>
    Private m_RegEx As Regex = Nothing

    ''' <summary>
    ''' 予約語一覧
    ''' </summary>
    ''' <remarks></remarks>
    Private m_ReservedWords As New List(Of String)
#End Region

#Region "コンストラクタ"
    ''' <summary>
    ''' コンストラクタ
    ''' </summary>
    ''' <remarks></remarks>
    Public Sub New()

    End Sub
#End Region

#Region "変換対象の文字列を検索する正規表現を取得する。"
    ''' <summary>
    ''' 変換対象の文字列を検索する正規表現を取得する。
    ''' </summary>
    ''' <returns>正規表現</returns>
    ''' <remarks></remarks>
    Protected Overrides Function GetRegEx() As Regex
        If Not (Me.m_RegEx Is NothingThen
            Return Me.m_RegEx
        End If

        Dim strPatternAll As String = Nothing
        '正規表現パターン
        '※コメント判別
        '(先頭開始、0個以上の「&nbsp;」、1個以上の「//」、0個以上の任意文字)
        Dim strPattern1 As String = "^(&nbsp;)*(//)+.*"
        '※コメント判別
        '(先頭開始、0個以上の空白、1個以上の「//」、0個以上の任意文字)
        Dim strPattern2 As String = "^\s*(//)+.*"
        '※文字列判別
        '(「"」開始、0個以上の任意文字、最も手前の「"」終了)
        Dim strPattern3 As String = """.*?"""
        '※文字列判別
        '(「&quot;」開始、0個以上の任意文字、最も手前の「&quot;」終了)
        Dim strPattern4 As String = "&quot;.*?&quot;"
        '※予約語判別
        '(単語単位で予約語の何れかと同じ)
        Dim wkStr As String = String.Join("|"Me.GetReservedWords())
        Dim strPattern5 As String = "\b(" & wkStr & ")\b"

        strPatternAll = _
                    strPattern1 & "|" & strPattern2 & "|" & _
                    strPattern3 & "|" & strPattern4 & "|" & _
                    strPattern5

        Me.m_RegEx = New Regex(strPatternAll)

        Return Me.m_RegEx
    End Function
#End Region

#Region "正規表現の検索結果を編集する。"
    ''' <summary>
    ''' 正規表現の検索結果を編集する。
    ''' </summary>
    ''' <param name="match">検索結果</param>
    ''' <returns>編集結果</returns>
    ''' <remarks></remarks>
    Protected Overrides Function MatchEvaluator(ByVal match As Match) As String
        If match.Value.Replace("&nbsp;""").StartsWith("//"OrElse _
            match.Value.Trim().StartsWith("//"Then
            'コメントの場合            
            Dim wk1 As Integer = match.Value.IndexOf("//")
            If wk1 = 0 Then
                Return String.Format( _
                    "<font color='{0}'>{1}</font>", _
                    FORE_COLOR_COMMENT, _
                    match.Value.Substring(wk1))
            End If
            Return match.Value.Substring(0, wk1) & _
                    String.Format( _
                    "<font color='{0}'>{1}</font>", _
                    FORE_COLOR_COMMENT, _
                    match.Value.Substring(wk1))
        End If

        If (match.Value.StartsWith("&quot;"AndAlso _
            match.Value.EndsWith("&quot;")) OrElse _
           (match.Value.StartsWith(""""AndAlso _
            match.Value.EndsWith("""")) Then
            '文字列の場合            
            Return String.Format( _
                "<font color='{0}'>{1}</font>", _
                FORE_COLOR_STRING, _
                match.Value)
        End If

        '予約語の場合
        Return String.Format( _
            "<font color='{0}'>{1}</font>", _
            FORE_COLOR_RESERVED_WORD, _
            match.Value)
    End Function
#End Region

#Region "予約語一覧を取得する。"
    ''' <summary>
    ''' 予約語一覧を取得する。
    ''' </summary>
    ''' <returns>予約語一覧</returns>
    ''' <remarks></remarks>
    Public Overrides Function GetReservedWords() As String()
        If Me.m_ReservedWords.Count > 0 Then
            Return Me.m_ReservedWords.ToArray()
        End If

        With Me.m_ReservedWords

            .AddRange(New String() {"abstract""as""base""bool""break"})
            .AddRange(New String() {"byte""case""catch""char""checked"})
            .AddRange(New String() {"class""const""continue""decimal""decimal"})
            .AddRange(New String() {"default""delegate""do""double""else"})
            .AddRange(New String() {"enum""event""explicit""extern""false"})
            .AddRange(New String() {"finally""fixed""float""for""foreach"})
            .AddRange(New String() {"from""get""goto""group""if"})
            .AddRange(New String() {"implicit""in""int""interface""internal"})
            .AddRange(New String() {"into""is""join""let""lock"})
            .AddRange(New String() {"long""namespace""new""null""object"})
            .AddRange(New String() {"operator""orderby""out""override""params"})
            .AddRange(New String() {"partial""private""protected""public""readonly"})
            .AddRange(New String() {"ref""return""sbyte""sealed""select"})
            .AddRange(New String() {"set""short""sizeof""stackalloc""static"})
            .AddRange(New String() {"string""struct""switch""this""throw"})
            .AddRange(New String() {"true""try""typeof""uint""ulong"})
            .AddRange(New String() {"unchecked""unsafe""ushort""using""value"})
            .AddRange(New String() {"virtual""void""volatile""where""while"})
            .AddRange(New String() {"yield"})

        End With

        Return Me.m_ReservedWords.ToArray()

    End Function
#End Region

#Region "タイトルを取得"
    ''' <summary>
    ''' タイトルを取得
    ''' </summary>
    ''' <returns></returns>
    ''' <remarks></remarks>
    Public Overrides Function GetDefaultTitle() As String
        Return "C#"
    End Function
#End Region

#Region "背景色(タイトル)を取得"
    ''' <summary>
    ''' 背景色(タイトル)を取得
    ''' </summary>
    ''' <returns></returns>
    ''' <remarks></remarks>
    Public Overrides Function GetTitleBackColor() As String
        Return BACK_COLOR_TITLE
    End Function
#End Region

#Region "背景色を取得"
    ''' <summary>
    ''' 背景色を取得
    ''' </summary>
    ''' <returns></returns>
    ''' <remarks></remarks>
    Public Overrides Function GetBackColor() As String
        Return BACK_COLOR
    End Function
#End Region

#Region "前景色を取得"
    ''' <summary>
    ''' 前景色を取得
    ''' </summary>
    ''' <returns>前景色</returns>
    ''' <remarks></remarks>
    Public Overrides Function GetForeColor() As String
        Return FORE_COLOR
    End Function
#End Region

End Class
[VB.NET]CSharpCodeConverterToHtml.vb


nice!(0)  コメント(0) 
共通テーマ:パソコン・インターネット

[.NET][Edge対応版]プログラムコードの変換(C#、VB.NET→HTML)[Page3] [Programming .NET Tips]

[はじめに]
[.NET][Edge対応版]プログラムコードの変換(C#、VB.NET→HTML)[Page2]」からの続きです。

[プログラムソース]
ブログの容量制限の為、下記に分けて記述しています。
[.NET][Edge対応版]プログラムコードの変換(C#、VB.NET→HTML)[Page1]
[.NET][Edge対応版]プログラムコードの変換(C#、VB.NET→HTML)[Page2]
[.NET][Edge対応版]プログラムコードの変換(C#、VB.NET→HTML)[Page3]
Imports System.Text.RegularExpressions

''' <summary>
''' 変換(SQLServerコード→HTML)
''' </summary>
''' <remarks></remarks>
Public Class SqlServerCodeConverterToHtml
    Inherits CodeConverterToHtml

#Region "定数定義"
    ''' <summary>
    ''' 背景色
    ''' </summary>
    ''' <remarks></remarks>
    Private Const BACK_COLOR As String = "#FFFFE0"

    ''' <summary>
    ''' 背景色(タイトル)
    ''' </summary>
    ''' <remarks></remarks>
    Private Const BACK_COLOR_TITLE As String = "#66CCCC"

    ''' <summary>
    ''' 前景色
    ''' </summary>
    ''' <remarks></remarks>
    Private Const FORE_COLOR As String = "#000000"

    ''' <summary>
    ''' 前景色(コメント)
    ''' </summary>
    ''' <remarks></remarks>
    Private Const FORE_COLOR_COMMENT As String = "#008040"

    ''' <summary>
    ''' 前景色(文字列)
    ''' </summary>
    ''' <remarks></remarks>
    Private Const FORE_COLOR_STRING As String = "#FF0000"

    ''' <summary>
    ''' 前景色(予約語)
    ''' </summary>
    ''' <remarks></remarks>
    Private Const FORE_COLOR_RESERVED_WORD As String = "#0000FF"
#End Region

#Region "変数定義"
    ''' <summary>
    ''' 正規表現
    ''' </summary>
    ''' <remarks></remarks>
    Private m_RegEx As Regex = Nothing

    ''' <summary>
    ''' 予約語一覧
    ''' </summary>
    ''' <remarks></remarks>
    Private m_ReservedWords As New List(Of String)
#End Region

#Region "コンストラクタ"
    ''' <summary>
    ''' コンストラクタ
    ''' </summary>
    ''' <remarks></remarks>
    Public Sub New()

    End Sub
#End Region

#Region "変換対象の文字列を検索する正規表現を取得する。"
    ''' <summary>
    ''' 変換対象の文字列を検索する正規表現を取得する。
    ''' </summary>
    ''' <returns>正規表現</returns>
    ''' <remarks></remarks>
    Protected Overrides Function GetRegEx() As Regex
        If Not (Me.m_RegEx Is NothingThen
            Return Me.m_RegEx
        End If

        Dim strPatternAll As String = Nothing
        '正規表現パターン
        '※コメント判別
        '(先頭開始、0個以上の「&nbsp;」、1個以上の「--」、0個以上の任意文字)
        Dim strPattern1 As String = "^(&nbsp;)*(--)+.*"
        '※コメント判別
        '(先頭開始、0個以上の空白、1個以上の「--」、0個以上の任意文字)
        Dim strPattern2 As String = "^\s*(--)+.*"
        '※文字列判別
        '(「'」開始、0個以上の任意文字、最も手前の「'」終了)
        Dim strPattern3 As String = "'.*?'"
        '※予約語判別
        '(単語単位で予約語の何れかと同じ)
        Dim wkStr As String = String.Join("|"Me.GetReservedWords())
        Dim strPattern4 As String = "\b(" & wkStr & ")\b"

        strPatternAll = _
                    strPattern1 & "|" & strPattern2 & "|" & _
                    strPattern3 & "|" & strPattern4 

        Me.m_RegEx = New Regex(strPatternAll, RegexOptions.IgnoreCase)

        Return Me.m_RegEx
    End Function
#End Region

#Region "正規表現の検索結果を編集する。"
    ''' <summary>
    ''' 正規表現の検索結果を編集する。
    ''' </summary>
    ''' <param name="match">検索結果</param>
    ''' <returns>編集結果</returns>
    ''' <remarks></remarks>
    Protected Overrides Function MatchEvaluator(ByVal match As Match) As String
        If match.Value.Replace("&nbsp;""").StartsWith("--"OrElse _
            match.Value.Trim().StartsWith("--"Then
            'コメントの場合            
            Dim wk1 As Integer = match.Value.IndexOf("--")
            If wk1 = 0 Then
                Return String.Format( _
                    "<font color='{0}'>{1}</font>", _
                    FORE_COLOR_COMMENT, _
                    match.Value.Substring(wk1))
            End If
            Return match.Value.Substring(0, wk1) & _
                    String.Format( _
                    "<font color='{0}'>{1}</font>", _
                    FORE_COLOR_COMMENT, _
                    match.Value.Substring(wk1))
        End If

        If match.Value.StartsWith("'"AndAlso _
            match.Value.EndsWith("'"Then
            '文字列の場合            
            Return String.Format( _
                "<font color='{0}'>{1}</font>", _
                FORE_COLOR_STRING, _
                match.Value)
        End If

        '予約語の場合
        Return String.Format( _
            "<font color='{0}'>{1}</font>", _
            FORE_COLOR_RESERVED_WORD, _
            match.Value)
    End Function
#End Region

#Region "予約語一覧を取得する。"
    ''' <summary>
    ''' 予約語一覧を取得する。
    ''' </summary>
    ''' <returns>予約語一覧</returns>
    ''' <remarks></remarks>
    Public Overrides Function GetReservedWords() As String()
        If Me.m_ReservedWords.Count > 0 Then
            Return Me.m_ReservedWords.ToArray()
        End If

        With Me.m_ReservedWords

            .AddRange(New String() {"ADD""ALL""ALTER""AND""ANY"})
            .AddRange(New String() {"AS""ASC""AUTHORIZATION""BACKUP""BEGIN"})
            .AddRange(New String() {"BETWEEN""BREAK""BROWSE""BULK""BY"})
            .AddRange(New String() {"CASCADE""CASE""CHECK""CHECKPOINT""CLOSE"})
            .AddRange(New String() {"CLUSTERED""COALESCE""COLLATE""COLUMN""COMMIT"})
            .AddRange(New String() {"COMPUTE""CONSTRAINT""CONTAINS""CONTAINSTABLE""CONTINUE"})
            .AddRange(New String() {"CONVERT""CREATE""CROSS""CURRENT""CURRENT_DATE"})
            .AddRange(New String() {"CURRENT_TIME""CURRENT_TIMESTAMP""CURRENT_USER""CURSOR""DATABASE"})
            .AddRange(New String() {"DBCC""DEALLOCATE""DECLARE""DEFAULT""DELETE"})
            .AddRange(New String() {"DENY""DESC""DISK""DISTINCT""DISTRIBUTED"})
            .AddRange(New String() {"DOUBLE""DROP""DUMP""ELSE""END"})
            .AddRange(New String() {"ERRLVL""ESCAPE""EXCEPT""EXEC""EXECUTE"})
            .AddRange(New String() {"EXISTS""EXIT""EXTERNAL""FETCH""FILE"})
            .AddRange(New String() {"FILLFACTOR""FOR""FOREIGN""FREETEXT""FREETEXTTABLE"})
            .AddRange(New String() {"FROM""FULL""FUNCTION""GOTO""GRANT"})
            .AddRange(New String() {"GROUP""HAVING""HOLDLOCK""IDENTITY""IDENTITY_INSERT"})
            .AddRange(New String() {"IDENTITYCOL""IF""IN""INDEX""INNER"})
            .AddRange(New String() {"INSERT""INTERSECT""INTO""IS""JOIN"})
            .AddRange(New String() {"KEY""KILL""LEFT""LIKE""LINENO"})
            .AddRange(New String() {"LOAD""MERGE""NATIONAL""NOCHECK""NONCLUSTERED"})
            .AddRange(New String() {"NOT""NULL""NULLIF""OF""OFF"})
            .AddRange(New String() {"OFFSETS""ON""OPEN""OPENDATASOURCE""OPENQUERY"})
            .AddRange(New String() {"OPENROWSET""OPENXML""OPTION""OR""ORDER"})
            .AddRange(New String() {"OUTER""OVER""PERCENT""PIVOT""PLAN"})
            .AddRange(New String() {"PRECISION""PRIMARY""PRINT""PROC""PROCEDURE"})
            .AddRange(New String() {"PUBLIC""RAISERROR""READ""READTEXT""RECONFIGURE"})
            .AddRange(New String() {"REFERENCES""REPLICATION""RESTORE""RESTRICT""RETURN"})
            .AddRange(New String() {"REVERT""REVOKE""RIGHT""ROLLBACK""ROWCOUNT"})
            .AddRange(New String() {"ROWGUIDCOL""RULE""SAVE""SCHEMA""SECURITYAUDIT"})
            .AddRange(New String() {"SELECT""SEMANTICKEYPHRASETABLE""SEMANTICSIMILARITYDETAILSTABLE"})
            .AddRange(New String() {"SEMANTICSIMILARITYTABLE""SESSION_USER"})
            .AddRange(New String() {"SET""SETUSER""SHUTDOWN""SOME"})
            .AddRange(New String() {"STATISTICS""SYSTEM_USER""TABLE"})
            .AddRange(New String() {"TABLESAMPLE""TEXTSIZE""THEN"})
            .AddRange(New String() {"TO""TOP""TRAN"})
            .AddRange(New String() {"TRANSACTION""TRIGGER""TRUNCATE"})
            .AddRange(New String() {"TRY_CONVERT""TSEQUAL""UNION"})
            .AddRange(New String() {"UNIQUE""UNPIVOT""UPDATE"})
            .AddRange(New String() {"UPDATETEXT""USE""USER"})
            .AddRange(New String() {"VALUES""VARYING""VIEW"})
            .AddRange(New String() {"WAITFOR""WHEN""WHERE"})
            .AddRange(New String() {"WHILE""WITH""WITHINGROUP""WRITETEXT"})

        End With

        Return Me.m_ReservedWords.ToArray()

    End Function
#End Region

#Region "タイトルを取得"
    ''' <summary>
    ''' タイトルを取得
    ''' </summary>
    ''' <returns></returns>
    ''' <remarks></remarks>
    Public Overrides Function GetDefaultTitle() As String
        Return "SQLServer"
    End Function
#End Region

#Region "背景色(タイトル)を取得"
    ''' <summary>
    ''' 背景色(タイトル)を取得
    ''' </summary>
    ''' <returns></returns>
    ''' <remarks></remarks>
    Public Overrides Function GetTitleBackColor() As String
        Return BACK_COLOR_TITLE
    End Function
#End Region

#Region "背景色を取得"
    ''' <summary>
    ''' 背景色を取得
    ''' </summary>
    ''' <returns></returns>
    ''' <remarks></remarks>
    Public Overrides Function GetBackColor() As String
        Return BACK_COLOR
    End Function
#End Region

#Region "前景色を取得"
    ''' <summary>
    ''' 前景色を取得
    ''' </summary>
    ''' <returns>前景色</returns>
    ''' <remarks></remarks>
    Public Overrides Function GetForeColor() As String
        Return FORE_COLOR
    End Function
#End Region

End Class
[VB.NET]SqlServerCodeConverterToHtml

nice!(0)  コメント(0) 
共通テーマ:パソコン・インターネット

[Review]ゼロからはじめる ドコモ Xperia XZ Premium SO-04J スマートガイド [Book's Review(Book)]

(1)レビュー
最近、妻が、
スマホ(Softbank XperiaZ3)から
スマホ(Docomo XperiaXZ Premium SO-04J)に機種変しました。

スマホの操作自体はさほど変わりはないですが、
使いこなしたいため、ガイドブックを購入したとのことです。

基本的な使い方から、
普段使わない機能まで一通り書いています。

スマホに乗り換えたばかりの方には、
ぜひオススメの1冊です。

(2)リンク
ゼロからはじめる ドコモ Xperia XZ Premium SO-04J スマートガイド

ゼロからはじめる ドコモ Xperia XZ Premium SO-04J スマートガイド

  • 作者: リンクアップ
  • 出版社/メーカー: 技術評論社
  • 発売日: 2017/07/29
  • メディア: 単行本(ソフトカバー)



nice!(1)  コメント(0) 
共通テーマ:パソコン・インターネット

[Review]ゼロからはじめる SoftBank Xperia XZスマートガイド [Book's Review(Book)]

(1)レビュー
最近、友人が、
ガラケーからスマホ(Softbank XperiaXZ)に変えました。

スマホの操作に四苦八苦しているとのことなので、
お手頃なガイドブックをチョイスしました。

かくいう私もスマホ歴2年弱ですが、
購入当初は、私もこのシリーズのガイドブックを重宝しました。

基本的な使い方から、
普段使わない機能まで一通り書いています。

スマホに乗り換えたばかりの方には、
ぜひオススメの1冊です。

(2)リンク
ゼロからはじめる SoftBank Xperia XZスマートガイド

ゼロからはじめる SoftBank Xperia XZスマートガイド

  • 作者: リンクアップ
  • 出版社/メーカー: 技術評論社
  • 発売日: 2017/01/11
  • メディア: 単行本(ソフトカバー)

ゼロからはじめる au Xperia XZ SOV34 スマートガイド

ゼロからはじめる au Xperia XZ SOV34 スマートガイド

  • 作者: リンクアップ
  • 出版社/メーカー: 技術評論社
  • 発売日: 2017/01/11
  • メディア: 単行本(ソフトカバー)

ゼロからはじめる ドコモ Xperia XZ SO-01J スマートガイド

ゼロからはじめる ドコモ Xperia XZ SO-01J スマートガイド

  • 作者: リンクアップ
  • 出版社/メーカー: 技術評論社
  • 発売日: 2016/12/22
  • メディア: 単行本(ソフトカバー)

タグ:XPERIA

[Eclipse]「この選択をデフォルトとして使用し、今後この質問を表示しない」の解除 [Eclipse Tips]

Eclipseの起動時の「ワークスペース・ランチャー」ウィンドウで
「この選択をデフォルトとして使用し、今後この質問を表示しない」
チェックをいれると、
次回起動時には「ワークスペース・ランチャー」は表示されなくなります。
 ※英語版の場合、チェックの表記は
  「Use this as the default and do not ask again」になります。

備忘録として、
間違えてチェックを入れてしまった場合に備えて、
次回起動時に「ワークスペース・ランチャー」を表示させる手順を載せておきます。

手順(日本語版Eclipseの場合)
①メニューから「ウィンドウ」「設定」を選択して、
 「一般」「開始およびシャットダウン」
 「ワークスペース」を選択する。
「始動時にワークスペースをプロンプト」にチェックして、
 「適用」ボタンをクリックすると、
 次回起動時に「ワークスペース・ランチャー」ダイアログが
 表示されるようになります。


英語版Eclipseについても載せておきます。
手順(英語版Eclipseの場合)
①メニューから「Window」
 「Preferences」を選択して、
 「General」「Start up and shutdown」
 「Workspaces」を選択する。
「Prompt for workspace on start up」をチェックして、
 「Apply」ボタンをクリックすると、
 次回起動時に「Workspace Lancher」ダイアログが
 表示されるようになります。

[Review]超ホーダイ(120本使い放題)|1年版 [Software's Review]

(1)レビュー
最近、妻のPC練習のためにタブレットPC(Windows10)を購入しました。

マウスやキーボードの操作にも慣れてきたので、
そろそろ次のステップとして、
アプリケーションにも慣れてもらおうと思い、
『超ホーダイ』を購入しました。

『超ホーダイ』は5,000円の価格で、
1年間120本のソフトを利用できるというものですが、
付属の『スーパーセキュリティ』を単独購入しても
4,000円の価格なので、
コスト的にもお買い得です。

■利用できるソフト一覧
 http://www.sourcenext.com/service/houdai/titles/

とりあえず、
特打PLUS(タイピング練習ソフト)
特打式Excel編(Excel練習ソフト)
をインストールしてみました。

『特打PLUS』は、
特打シリーズで有名なタイピング練習ソフトですが、
ゲーム感覚で学べるので、飽きずに楽しめる内容です。

『特打式Excel編』は、
実際のExcelと連動して、実機演習もできるスグレモノです。
Excelのバージョンは、2016 /2013 / 2010 / 2007の各々に対応。
※他のOffice製品として、Word編PowerPoint編もあります。

(2)リンク
超ホーダイ(120本使い放題)|1年版| オンラインコード版

超ホーダイ(120本使い放題)|1年版| オンラインコード版

  • 出版社/メーカー: ソースネクスト
  • メディア: Software Download

(3)関連商品
超ホーダイ(120本使い放題)|3年版| オンラインコード版

超ホーダイ(120本使い放題)|3年版| オンラインコード版

  • 出版社/メーカー: ソースネクスト
  • メディア: Software Download
超ホーダイ 3年版(旧版)

超ホーダイ 3年版(旧版)

  • 出版社/メーカー: ソースネクスト
  • メディア: CD-ROM

[Review]スマホのモバイルバッテリー [Hardware's Review]

(1)レビュー
 最近、外出先でスマホを充電する機会が増えたので、
 モバイルバッテリーを新たに購入することにしました。

 妻と2人で外出することが多いので、
 大容量かつ2台同時給電の特長を意識して、
 以下の製品を購入しました。

 Softbank製品ですが、他の機種にも対応しているようです。
 ※詳細は以下リンク参照

 ■モバイルバッテリー
 『Softbank Selection smart energy box 10000』
 (1)対応機種2台への同時給電
    スマホが2台ある時も便利
 (2)約4.5回充電できる大容量バッテリー
    2人で外出しても、外出先で2回充電できます。
    最近はやりの『ポケモンGO』をやるにも十分ですね(笑)

(2)リンク
SoftBank SELECTION smart energy box 10000 SB-SE14-U100/WH

SoftBank SELECTION smart energy box 10000 SB-SE14-U100/WH

  • 出版社/メーカー: ソフトバンク
  • メディア: エレクトロニクス

[VBA]クラスモジュールのインスタンス生成タイミングについて [Programming ExcelVBA]

[はじめに]
VBAは、Javaや.NET系言語程ではありませんが、
オブジェクト指向をサポートしています。

Javaや.NETとの違いの1つとして、
インスタンスの生成タイミングがあります。
Javaや.NETの感覚でコーディングすると間違いに陥りやすいので、
備忘録として記載します。

[インスタンスの生成タイミング]
インスタンスの生成はJavaなどでは、
『New』を指定するとインスタンスが生成されますが、
VBAでは記載の仕方によって、
必ずしも生成されるとは限りません。

例えば、Javaの場合、
newを指定するタイミングでインスタンスが生成され、
その参照が変数に格納されます。
クラスモジュールのインスタンス生成タイミング_java.png
それに対して、VBAの場合は、
Newを指定したタイミングではインスタンスは生成されず、
その変数に初めてアクセス(メソッド呼出しなど)するタイミングで、
インスタンスが生成されます。
クラスモジュールのインスタンス生成タイミング_vba.png
インスタンス生成タイミングの検証として、
下記のコードを実行してみると以下のようになります。
もし、Javaや.NETと同じように
宣言時にインスタンス生成がされるのであれば、
出力結果は、
 (1)インスタンスをNew付で宣言します。
 (a)インスタンスが生成されました。 ★JavaやC#ならこのタイミング
 (2)これからインスタンスにアクセスします。
 (b)MethodA実行中
となるはずですが、
実際は次のようになります。
 (1)インスタンスをNew付で宣言します。
 (2)これからインスタンスにアクセスします。
 (a)インスタンスが生成されました。 ★VBAの場合、初回メソッド実行時
 (b)MethodA実行中
これは、宣言時にインスタンスは作成しておらず、
MethodAを実行する際に、インスタンスが生成していることを示します。

[VBAのコード]
Option Explicit

Private Sub TestA()
    Dim a As New Hoge
    Debug.Print "(1)インスタンスをNew付で宣言します。"
    Debug.Print "(2)これからインスタンスにアクセスします。"
    a.MethodA

    '実行結果
    '(1)インスタンスをNew付で宣言します。
    '(2)これからインスタンスにアクセスします。
    '(a)インスタンスが生成されました。
    '(b)MethodA実行中
End Sub
[VBA]インスタンスの生成タイミングの検証(Hogeクラスの呼出し側)


Option Explicit

Private Sub Class_Initialize()
    Debug.Print "(a)インスタンスが生成されました。"
End Sub

Public Sub MethodA()
    Debug.Print "(b)MethodA実行中"
End Sub
[VBA]インスタンスの生成タイミングの検証(Hogeクラス)


[その他]
 VBAを例に説明していますが、
 VisualBasic6(VB6)系の言語にも同様なことが言えます。

[Review]SEIKO CLOCK (セイコークロック) デジタル ウィークリーアラーム [Hardware's Review]

(1)レビュー
 目覚まし時計の調子が悪くなったので、新たに購入しました。
 指定した時刻にアラームが鳴ってくれさえすればよいので、
 特別な機能は求めていなかったのですが、
 価格の割に便利な機能が搭載されていたので、購入に至りました。

 最近は、スマホにもアラーム機能が搭載されているので、
 時計メーカーもいろんな工夫を凝らしているのかもしれませんね。

 【便利だと思った機能ベスト5】
 (1)アラームを曜日毎に設定できる。(設定も簡単)
    今までは金曜日の就寝前にアラームを無効にしたり、
    日曜日の就寝前にアラームを有効にする必要がありましたが、
    設定の変更が必要なくなりました。
 (2)午前と午後を区別できる。
    午前と午後を区別できないと、起床後にアラームを無効にしたり、
    就寝前にアラームを有効にする必要がありました。
    (1)と同じような理由ですが、
    設定の変更が必要なくなりました。
 (3)電池残量を通知してくれる。
    『気が付いたら時計が止まっていた』ってことがなくなります。
 (4)電波による自動更新。
    今となっては当たり前の機能かもしれませんが、
    時刻を修正する必要がありません。
 (5)温度と湿度を表示。(快適さも表示)
    なくても不便ではないですが、あったら便利です(笑)


(2)リンク

[Review]サンワサプライハンドシュレッダーPSD-MC2210 [Hardware's Review]

(1)レビュー
 シュレッダーが必要になったのでアマゾンで購入しました。
 紙だけではなく、CDやDVD、クレジットカードなどのカードも処理してくれます。

 手動ですが、このお値段でここまで機能があるのはお得です!

(2)リンク
サンワサプライ ハンドシュレッダー PSD-MC2210

[Review]jQueryポケットリファレンス [Book's Review (Develop)]

(1)レビュー
 最近はGoogle等で検索すれば情報を得ることはできますが、
 まとまった本があればと思い1冊購入しました。
 リファレンスとしてももちろんですが、
 カテゴリ毎に順番に読み進めていっても面白いと思います。

 章立ては、
 第1章で、WebやjQueryの基本、
 第2章で開発環境について、
 第3章以降でリファレンス的な内容 
 の構成でまとめてています。
 
 あと、『Web制作の現場で使うjQueryデザイン入門』の書籍では、
 サンプルを紹介しながらの解説になっています。
 合わせて読むことをオススメします。

(2)リンク
jQuery ポケットリファレンス (POCKET REFERENCE)

jQuery ポケットリファレンス (POCKET REFERENCE)

  • 作者: 鶴田 展之
  • 出版社/メーカー: 技術評論社
  • 発売日: 2010/06/18
  • メディア: 単行本(ソフトカバー)



[Review]Web制作の現場で使うjQueryデザイン入門 [Book's Review (Develop)]

(1)レビュー
 jQueryを扱う機会がでてきたので、購入しました。

 本書のサンプルファイルをダウンロードできるので、
 実際に動作させながらの確認ができます。

 JavaScriptやCSSの経験があり、jQueryをこれから覚えるWeb開発者にとって、
 1番最初に読む入門書だと思います。

(2)リンク
Web制作の現場で使う jQueryデザイン入門 (WEB PROFESSIONAL)

Web制作の現場で使う jQueryデザイン入門 (WEB PROFESSIONAL)

  • 作者: 西畑 一馬
  • 出版社/メーカー: アスキー・メディアワークス
  • 発売日: 2010/02/12
  • メディア: 大型本


タグ:jQuery

[Review]Microsoft Visual Studio Professional 2013 通常版 [Software's Review]

(1)レビュー
VisualStudio2013を使う機会がでてきたので、
備忘録として、
従来バージョンからの主な変更点を書いておきます。
【Visual Studio 2010→2012の新機能】
・非同期プログラミングの新機能
 C#&VBにasync/awaitキーワードが追加
  非同期の実装が簡単になりましたl。

Windowsストアアプリ
 Windows8から採用された新しいタイプのアプリを開発できる。

ASP.NET Web API
 ASP.NET MVCと同様な手順でREST形式のWeb APIが作成できる。

ブラウザ毎のWebの表示テスト
 デバッグで手軽にブラウザを切り替えることができる。

Page Inspector
 WebデザイナーとHTMLエディタを1画面内に表示できる。
 対応するHTMLを確認しながら実装可能。

HTML5、CSS3対応のコードエディタ
 HTML5対応のJavaScriptにも対応。

【Visual Studio 2012→2013の新機能】
スクロールバーの新機能
 バーモード:
  スクロールバー上に、修正位置やエラー箇所などを表示。
 マップモード:
  スクロールバー上に、ソースのプレビューを表示。

(2)リンク
Microsoft Visual Studio Professional 2013  通常版

Microsoft Visual Studio Professional 2013 通常版

  • 出版社/メーカー: マイクロソフト
  • メディア: DVD-ROM

Microsoft Visual Studio Professional 2013 アップグレード版

Microsoft Visual Studio Professional 2013 アップグレード版

  • 出版社/メーカー: マイクロソフト
  • メディア: DVD-ROM

Microsoft Visual Studio Professional 2013 with MSDN 通常版

Microsoft Visual Studio Professional 2013 with MSDN 通常版

  • 出版社/メーカー: マイクロソフト
  • メディア: DVD-ROM


[Review]ステンレスものほし台 ブロー台付き BD-50S 【ブロー台付きで安定性抜群・U型の竿受けで竿の取り外し楽々! 】 [Tool's Review]

(1)レビュー
 最近、引越しをしました。
 ベランダの物干し竿を固定する位置が転居前よりも高く、
 身長が低い妻にとって家事がしづらいので、
 物干し台を購入しました。
 
 組み立て式の為、多少のぐらつきはありますが、
 実際使ってみても全く不便さを感じません。

 物干し台の土台の重りが、
 タンクに水や砂を入れるタイプなので、
 今後引越しすることになっても、持ち運びが楽になります。
 
 土台の重りの目安は、下記の通りです。
  ・水のみを入れた場合:16Kg×2=32Kg
  ・砂のみを入れた場合:22Kg×2=44Kg
  ・水と砂を混ぜて入れた場合:28Kg×2=56Kg

 砂を混ぜると、
 引越しの際に中身(砂&水)を抜く時が大変なので、
 用途に応じて使い分けるといいかもしれません。
 ちなみに我が家は『水のみ』ですが問題なく使えています。

 【ご参考】価格について (2015.1時点)
 渋谷の東急ハンズだと1万円近くでしたが、
 アマゾンだと5,500円でした。

(2)リンク

タグ:物干し台

[Review]ASP.NET MVC 5実践プログラミング [Book's Review (Develop)]

(1)レビュー
 ASP.NETは、以下の2種類に大別されます。
 (1)ASP.NET Web Form
   .NET Framework1.0リリース時の頃から導入
 (2)ASP.NET MVC
   .NET Framework4以降に導入


 4~5年前まではASP.NETといえば、ASP.NET Web Formが主流でしたが、
 他のWeb系の言語(Java、PHP、Ruby等)と比べて異色な仕組みの為、
 初めてASP.NETを学ぶ人にとってはとっつきにくいものがありました。
 最近のWeb開発はMVCが主流になりつつあり、.NETもそれに合わせて
 ASP.NET MVCの仕組みが追加されました。

 本書はASP.NET MVCについて、
 基礎から応用までわかりやすく解説しています。
 
 これからASP.NET MVCを始める方にとって、貴重な1冊だと思います。

(2)リンク
ASP.NET MVC 5実践プログラミング

ASP.NET MVC 5実践プログラミング

  • 作者: 山田 祥寛
  • 出版社/メーカー: 秀和システム
  • 発売日: 2014/09
  • メディア: 単行本


[Review]10ポートUSBハブ(U2H-Z10SBK ) [Hardware's Review]

(1)レビュー
 パソコンにクーラーパッドを取り付けた為、 
 USBポートの口が足りなくなったので、USBハブを購入しました。

 【実際使った感想】
  ・USBポートを10個搭載しているので、
   将来的に接続する機器が増えても個数を気にする必要がありません。
  ・電源供給はセルフパワーとバスパワーの両方に対応しています。
   マウスやキーボードなど大量の電力を消費しない場合は
   バスパワーで、
   外付けHDDやDVDドライブなど、
   大量の電力を消費する機器を使う場合はセルフパワーで使います。
   ただ、セルフパワーを使う場合、ACアダプタが大きい為、
   OAタップの種類によっては、
   コンセントの差込口の場所をとることになるのが難点です。
   セルフパワーとバスパワーについては、こちらをご参照。

(2)リンク

タグ:USBハブ

[雑記]ソフトバンクの焼きそば [雑記]

ソフトバンクショップに料金プランの変更に行ったら、
インスタントの焼きそばをいただきました。
しかも、
妻(Docomoユーザですが(笑))も一緒についてきたので、
2食分もいただいちゃいました[わーい(嬉しい顔)]
ソフトバンク焼きそば.jpg


nice!(1)  コメント(0)  トラックバック(0) 
共通テーマ:グルメ・料理

[Review]クーラーパッド(K-CLN16U2RN) [Hardware's Review]

(1)レビュー
 3年前に購入したノートパソコンの
 CPUとHDDの熱が気になったので、
 クーラーパッド(パソコンのクーラー)を購入しました。

 【店頭での印象】
  店頭で、手をのせて他の製品と比較しましたが、
  本体がアルミボディなのか、
  冷却されたボディのひんやり感を一番感じました。
  あと、クーラー本体に小物の収納ボックスがついています。
  普段使わないゴム足などの付属品をいれるのに
  便利だと思いました。

 【実際に使った感想】
  フリーソフトの『Open Hardware Monitor』で
  CPUとHDDの温度を測定すると、
  下記の結果になりました。
  効果はあるようです。
  【適用前】
   ・CPU:約55度
   ・HDD:約40度
  【適用後】
   ・CPU:約45度
   ・HDD:約35度

  取扱説明書は入っていませんが、
  本製品のサイトで動画を使った説明が
  掲載されているので、
  特に困ることはないと思います。
  [参考サイト]
   http://www.sanwa.co.jp/product/syohin.asp?code=TK-CLN16U2RN

 【改善して欲しい点】
  電源ケーブルが短い(80cm)為、
  PCのUSBポートからの電源供給を余儀なくされます。
  USBポートを塞ぎたくない場合もあると思うので、
  コンセントからも供給できるように、
  電源ケーブルがより長くしてもらうと融通が利くと思います。
  AC電源とUSBの変換アダプタを別途購入すれば、
  融通は効かせられるので、
  インタフェースはUSBのままでもよいと思います。
 
 【特徴】
 ・ファン数:2つ
 ・ファンの強弱をボリュームで調節できる。
 ・ファンの位置を調節できるのでピンポイントで冷却できる。
(2)リンク
サンワサプライ ノート用クーラーパッド レッド・16型ワイド TK-CLN16U3RN

サンワサプライ ノート用クーラーパッド レッド・16型ワイド TK-CLN16U3RN

  • 出版社/メーカー: サンワサプライ
  • メディア: Personal Computers

[Review]プログラミングC# 第7版 [Book's Review (Develop)]

(1)レビュー
 .NET Framework4.5やC#5.0の書籍で、
 入門編レベルよりもさらに踏み込んだ技術を習得したい方にお勧め!
 レベルの高い書籍だと、文章がわかりにくかったり、
 無駄にページ数が多かったり、『~編』のようにシリーズ化しているものが多いですが、
 この書籍はわかりやすくまとめてあります。

 C#5.0で使いやすくなった非同期処理(async、awaitなど)や、
 Windows8のアプリ開発についてまとめています。

(2)リンク
プログラミングC# 第7版

プログラミングC# 第7版

  • 作者: Ian Griffiths
  • 出版社/メーカー: オライリージャパン
  • 発売日: 2013/11/29
  • メディア: 大型本


(3)関連書籍
 C#4.0はこちら。
プログラミングC# 第6版

プログラミングC# 第6版

  • 作者: Ian Griffiths
  • 出版社/メーカー: オライリージャパン
  • 発売日: 2011/11/29
  • メディア: 大型本

前の30件 | -

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。