2017年4月20日木曜日

「ワイスピカー全国ツアー」 ワイスピカーがやって来た

ワイスピカー全国ツアー

映画、ワイルドスピードの最新作ICE BREAKが劇場公開に先立ってイベントが開催されています
そのイベントに行って来たのでその様子を紹介します

イベント現地に到着

9:30頃イベント会場に到着
11:00からの開催にも関わらず既に結構な人が来てる
まだまだ時間が有るのでワイスピカーを積載したトラックを撮影

ワイスピカーは黒い幕で覆われていて、荷台前方にはモニターが設置されている


開始までの待ち時間

続々と人が会場に集まってくる
車好き?マニアも多くそれらのウォッチングも楽しい
珍しい車もいっぱい

トラックに設置しているモニターでプロモーションをが流れ出した
10:00頃にスタッフが人を並ばさせるように、誘導レーンを設置し、観客をレーンに誘導を始めた
拙者は前方より30人目位に並ぶことが出来た
この時に既に100以上の観客が並んでいる
ずっと立っているので足が疲れた
「11:00までまだまだなのにぃ~!!疲れたぁ」
11:00前、行列の最後尾を確認することが出来ない位になった
プロモーションも見飽きた、「疲れたぁ まだかなぁ」

やっとSTART

やっとかぁ!!スタッフが説明を始めた
スタッフと観客とのカウントダウン
カンウントガウン終了と、ともに黒い幕が除かれた

出たぁプリムスGTX かなりカスタマイズされているが、オリジナルも感じさせる「かっこいい」

マッドカラーがたまらなくいい!!

記念撮影と抽選

列先頭からお立ち台に上がり記念撮影が始まった
一組ずつ、スタッフに携帯やらカメラを貸して写真を撮ってもらうらしい
「これって最後尾までは何時間?」なんて考えると・・・・・

いよいよ拙者の出番、恥ずかしいけとポーズをとって記念撮影してもらった
なんだか照れた(;''∀'')

撮影後、シリアルナンバー入りの「ファミリーカード」が当たる抽選
ここに来た最大の目的はこれが欲しかったんだよなぁ
えいっ!!感じで抽選箱からくじを引いた

なにぃぃぃぃぃーーーー「何も書いてない!!」はずれ!!
えぇぇぇ( ;∀;)
外れのお方は「うちわ」をもらった
まぁ仕方無いっか!!

ド迫力の前顔

トラックに荷台幅いっぱい、側面が当たりそう

「ワイスピカー全国ツアー」の詳細は☟の公式サイトで!!
http://wildspeed-official.jp/tour/#/boards/ice-break

2017年4月15日土曜日

Timestamp型をString型に変換

SQL ServerのTimestamp型?

行の世代を示す列で、行に何等かの更新が発生すると自動的にTimestampの値が変更されます
更新の有無を把握する型であり、取得済のTimestampの値とテーブルの行に存在するTimestampの値に違いがあれば、その行に何等かの更新があったことになります

Timestamp型の利用方法

SQL文内であればTimestamp値を比較することは可能ですが、TimeStamp値はByte配列として格納されているため、プログラムで扱える型に変換してから使うようになります
そこで、TimeStampの値を文字列に変換する方法を紹介します

TimeStamp型の値を文字列に変換するプログラム

TimeStamp型の値を受け取り、文字列に変換して戻します
プロジェクトどこでも使用できるように「Public Function」で定義します
Module Module1
    Public Function timestamptostring(tm As Byte()) As String
        Dim i As Integer
        Dim txTimestamp As String = "0x"

        For i = 0 To tm.Length - 1
            txTimestamp &= Hex(tm(i)).PadLeft(2, "0")
        Next

        Return (txTimestamp)
    End Function
End Module 

呼び出し方はこのようなコードになります
Private Sub TimestampTest()
    Dim TxTs as String

    TxTs  = timestamptostring(Timestamp型)
End sub

2017年4月11日火曜日

ワイルドスピード ICE BREAK劇場版  2017/4/28公開

「ワイルドスピード」シリーズ新作「ICE BREAK」の公開が始まります
今回のシリーズも様々なロケーションでド派手なアクションが期待できます
シリーズ全部見たけど記憶が薄れたのでバックナンバーを調べてみました

バックナンバー

「ワイルドスピード」2000年
最初の作品でロサンゼルスでストリートレースを中心にした内容

「ワイルドスピードX2」2003年
主人公(ブライアン)が前作の件でFBIに捕まるが、ある条件で悪党の潜入捜査を行う

「ワイルドスピードX3 TOKYO DRIFT」2006年
題名の通り日本を舞台にした内容、ドリキンも出演

「ワイルドスピード MAX」2009
ドミニクは復讐、FBIとなったブラインは麻薬犯罪組織の操作で共通の標的を追う
麻薬組織のボスが仕切るストリートレースに参加する

「ワイルドスピード MEGA MAX」2011年
警察署の金庫に保管されている大金を金庫ごと盗む
車で金庫を引きずりながらのカーアクション

「ワイルドスピード EURO MISSION」2013年
この作品から更に派手さを増した
訳の分からない車や戦車までも登場、もはやカーアクションを超えている

「ワイルドスピード SKY MISSION」2015年
このあたりは記憶に新しいかな?飛行機から車を落っことして着地するやつ!!
ここまでくると戦争映画?

ワイルド・スピード ICE BREAK オフィシャルサイト

http://wildspeed-official.jp/

「ワイスピカー全国ツアー」

新作公開に伴いイベント「ワイスピカー全国ツアー」が開催されています

詳しい内容は「ワイスピカー全国ツアー」のオフィシャルサイトで確認して下さい
http://wildspeed-official.jp/tour/#/boards/ice-break

2017年4月10日月曜日

超簡単にドレッシングを作る

材料
味ぽん
オリーブオイル
天然塩(無ければ合成塩でも構いません)
粗びき胡椒(無ければ普通の胡椒でも構いません)

混ぜるだけ

適当な容器に味ぽんとオリーブオイルを1:1の割合で入れて下さい
天然塩と粗びき胡椒を少々、しっかりと混ぜて下さい
空気を帯びて白っぽくなるまで混ぜたら完成です

いざ作ろうと思ったら面倒ですが、味ぽんのおかげで簡単に作れます
出汁やビネガー等の用意も必要ありません

簡単に作れますが美味しいです

2017年4月8日土曜日

VB.NET モジュール作成

モジュール?

モジュールとは?を説明すると非常にややこしい文書になるので、モジュールの利用方法について説明します
プロジェクト内で使用可能なグローバル変数やグローバル関数等を定義することで、コードの重複を防ぐことができます

モジュールの作り方

「MicroSoft Visual Studio」で簡単に作れます
「ソーリューションエクスプローラー」でモジュールを作成する「プロジェクト」を選択し右クリック
「追加」、「モジュール」、モジュール名を設定することで作成できます
この様なコードが作られます
モージュール名は「Module1」としました
Module Module1
End Module
Module Module1~End Moduleの中にグローバル変数やグローバル関数等を定義します

モジュールの使用例

SQL Serverの接続文字列やテーブル構成のレイアウトの定義等にも利用しています
Module Module1
    'グローバル変数
    Public 名前1 As String = "あいうえお"
    Public 名前2 As 型
    'グローバル関数
    Private Sub 名前3()
        コード
    End Sub
    Public Function 名前4() As 型
        コード
    End Function
End Module

2017年4月4日火曜日

VB.NET Formで「Enter」キーが押されたらフォーカスを移動する

「Enter」キーで「Tab」キーと同様にフォーカスを移動する

通常は「Tab」キーで次の「TabIndex」にフォーカスが移動する使用となっています
「Enter」キーには別の機能が備わっています
「Enter」で「Tab」キーと同様にフォーカスを移動させることになると、「Enter」キーの機能を無効化することになるので、理解しておいて下さい

「Enter」キーで次のTabIndexを持つコントロールにフォーカスを移すコード

Formの「KeyDown」イベントに装備します
Private Sub Form_KeyDown(sender As Object, e As KeyEventArgs) Handles MyBase.KeyDown
    If e.KeyCode = Keys.Enter Then
        If e.Control = False Then
            Me.SelectNextControl(Me.ActiveControl, Not e.Shift, True, True, True)
        End If
    End If
End Sub

「KeyPreview」プロパティ

先ほどのコードを装備して、実行しても「Enter」キーでフォーカスが移動しません
コードを実行するに先立って「KeyPreview」プロパティを「有効」にしないと効果がありません
Formの「Load」イベントに装備することをお勧めします
Private Sub Form_Load(sender As Object, e As EventArgs) Handles MyBase.Load
    Me.KeyPreview = True
End Sub
「Enter」キーでフォーカスの移動が可能になりました

ビープ音

このままですと「Enter」キーを押す度にビープ音がなります
イベントを強制的に発生させているためなので、キーイベントが処理されたことにします
Formの「KeyPress」イベントに装備します
Private Sub Form_KeyPress(sender As Object, e As KeyPressEventArgs) Handles MyBase.KeyPress
    If e.KeyChar = ControlChars.Cr Then
        e.Handled = True
    End If
End Sub

装備後の「Enter」キーの動作

「Enter」次のTabIndexを持つコントロールに移動
「Shift」+「Enter」前のTabIndexを持つコントロールに移動

MultiLineのテキストボックスでの改行は「Ctrl」+「Enter」で対応できます

2017年4月2日日曜日

SQL Server テーブルを結合するJOIN句

テーブルを結合するJOIN句とは?

2つ以上のテーブルを特定のルールで結合して1つのテーブルのようにすることです

結合には「INNER JOIN」、「LEFT JOIN」、「RIGHT JOIN」
等と様々ありますが、都度、使い分けるとデバックがややこしくなるので、私は極力「LEFT JOIN」を使うようにしています

「LEFT JOIN」とは?

左外部結合と言い、左側に書いたメインテーブルに結合する外部結合します
左側のメインテーブルに存在する行は右側のテーブルに同じキーの行が無くても全て取得されますが、右側のテーブルだけにしか存在しない行は取得されません

テーブルAテーブルB
得意先コード得意先名得意先区分区分名称
1鈴木商事11法人
2佐藤 一郎22個人事業
3鈴木 二郎3

「テーブルA」をメインテーブルとして「得意先区分」をキーにして「テーブルB」を左外部結合します

このようになります
得意先コード得意先名得意先区分名称
1鈴木商事1法人
2佐藤 一郎2個人事業
3鈴木 二郎3Null

左外部結合するSQL文

「テーブルA」をメインテーブルとしてテーブルAの「列1」とテーブルBの「列1」をキーに「テーブルB」を左外部結合するSQL文です
SELECT
        テーブルA.列1,
        テーブルA.列2,
        テーブルA.列3,
        テーブルB.列1,
        テーブルB.列2
    FROM
        テーブルA
            LEFT    JOIN    テーブルB   ON
                テーブルB.列1   =   テーブルA.列1

2つ以上のテーブルを結合する

「FROM」句に「JOIN」は1つしか記述できないので2つ以上のテーブルを結合するには「(」カッコでネストすることで可能になります
SELECT
        テーブルA.列1,
        テーブルA.列2,
        テーブルA.列3,
        テーブルB.列1,
        テーブルB.列2,
        テーブルC.列1,
        テーブルC.列2
    FROM
        (
            テーブルA
                LEFT    JOIN    テーブルB   ON
                    テーブルB.列1   =   テーブルA.列1
        )
                LEFT    JOIN    テーブルC   ON
                    テーブルC.列1   =   テーブルA.列1

2017年4月1日土曜日

SQL Server 最大値取得

特定列の最大値を検索するMAX関数

次のような検索対象のテーブルを仮定します
codenameage
101日本 一郎41
102日本 二郎42
103日本 三郎43
201日の丸 花子11
202日の丸 京子12
203日の丸 玉子13
301東 太郎21
302西 慎太22
303南 丸太23

最大値を取得するSQL文

SELECT
        MAX(age)    AS  任意の名称
    FROM
        テーブル名
このような結果が求められます
任意の名称
43

SELECT
        MAX(age)    AS  任意の名称
    FROM
        テーブル名
    WHERE
        code    >   200 AND
        code    <   300
このような結果が求められます
任意の名称
13

検索対象が存在しない場合は「Null」を返します
任意の名称
Null