おすすめ本

最近のトラックバック

  • event (夢茶爺&苦茶爺のPC奮戦備忘録)

AccRanking

Ad

カテゴリ「パソコン・インターネット」の83件の記事 Feed

2016年3月10日 (木)

PostgreSQLではオラクルの様なDUAL表は存在しません

PostgreSQLでシステム日付を取得する場合には、以下の様なFROMの無いSQL文で行います。 PostgreSQLではFROMが必要なければ記述することはありません。

PostgreSQLの「SQL Shell(psql)」で実行します。


定数を同時にSELECT取得することもできます。


ここで、PostgreSQLの面白い関数について紹介します。 それが「generate_series」で複数行の整数を返すことができます。

関数 動作内容
generate_series(start, stop) グラフィックstartからstopまでの刻み1で連続する値を生成
generate_series(start, stop, step) startからstopまでの刻みstepで連続する値を生成



以下にその例を示します。


1番目の様にSELECT文のなかのカラムを記述するところにいれてもいいですし、 また、2番目の様にFROM句でテーブル扱いにしてもOKです。 さらに、3番目ではテーブルの別名として「NumTbl(NumVal)」(仮にここでの命名)とすると 生成される数値を「NumTbl」テーブルのカラム名「NumVal」で参照ができます。

この3番目の方法を使うことでいろいろ応用が利くと思います。 以下は、今日からの3日間を羅列するSQL文になります。



デル株式会社


楽天市場

2016年3月 9日 (水)

Windowsの古いヘルプファイル(*.hlp)を見られる様にする方法

このブログで「CSE」についての記事が在りますが、 「CSE」でヘルプを見ようと思うと以下の様な表示になります。

Help1


「CSE」は古いソフトなのでヘルプファイルが「.hlp」の拡張子で 形式が古いので、Windows7等ではそのままでは表示できません。

古いソフトに付属するヘルプファイル(".hlp" の拡張子を持つ32 ビット ヘルプ ファイル)を 表示するためには、Microsoftが提供する以下のプログラムをインストールする必要があります。

■Windows7用
Windows 7 用 Windows Help プログラム(WinHlp32.exe)

■Windows8用
Windows 8.1 用 Windows Help プログラム (WinHlp32.exe)

上記のプログラムをインストールしたら、「CSE」のヘルプファイルが見られる様になりました。

Help2


デル株式会社

SATOラベルプリンタ・Multi LABELIST Component(MLComponent.dll)を使った印刷:レイアウトファイル・プリンタドライバを使用

ラベルプリンタメーカ「SATO」のラベル発行コンポーネント(MLComponent.dll)を使ったラベル印刷の紹介ですが、 レイアウトファイルとプリンタドライバを利用して行います。 USBへの直接出力もできるようですが、制御が難しい様なので、プリンタドライバへの出力で印刷します。

■印刷用レイアウトファイル

ラベル印刷を簡単に行うにはレイアウトファイルが必要になります。 このレイアウトファイルですがSATOが提供する「SATO Multi LABELIST V5 [MLデザイン]」で作成します。 Trail(試用)のままでも1個のファイルは生成が可能ですので、以下のURLからダウンロードしてみてください。

Multi LABELIST V5

今回使用するレイアウトファイルの編集中の画面を以下に示します。 連番(NO)、日付、品番、QRコードのみを印刷する簡単なレイアウトで、デザインを作成したところです。

Mllayout


また、下図は印刷の定義順の設定の画面です。
定義順は1:連番(NO)、2:日付、3:品番、4:QRコード となっています。
実際のプログラムでのデータ設定の順番は、定義順に行います。

Mllayout2




■プリンタ状態チェック関数

関数内の処理は以下の手順で行います。

(1)「MLComponent」のインスタンスを生成します。

(2)レイアウトファイルの設定
 「MLComponent」の「LayoutFile」プロパティに、[MLデザイン]で作成されたレイアウトファイルを設定します。

(3)印刷データの設定
 「MLComponent」の「PrnData」プロパティに、印刷データを設定します。
 印刷データは印刷定義順に従って、各データを「タブ」文字を挟んで文字列で連結します。
 最後に「印刷枚数」をさらに「タブ」文字を挟んで追加連結します。(今回は1枚なので"1"を連結)

(4)出力先の設定
 「MLComponent」の「Setting」プロパティに、プリンタドライバ名を指定します。 (今回は「Lesprit412v」プリンタなので"DRV:SATO Lesprit412v")

(5)接続処理
 「MLComponent」の「OpenPort」メソッドで接続します。

(6)発行処理
 「MLComponent」の「Output」メソッドでラベル印刷の発行を行います。

(7)切断処理
 「MLComponent」の「ClosePort」メソッドで切断します。



■プリンタドライバ

Mldriver


プリンタドライバのプロパティでUSBでの接続にしてあります。
プリンタドライバは以下のURLでダウンロードできます。

プリンタドライバ・マニュアル


デル株式会社

■関連記事
SATOラベルプリンタ・Multi LABELIST Component(MLComponent.dll)を使った印刷:接続確認

Visual Basic 2013逆引き大全 555の極意【電子書籍】[ 増田智明 ]

価格: 2,527円
(2016/09/29 14:32時点 )

感想:0件


楽天市場

2016年3月 8日 (火)

コマンドプロンプトからシャットダウン(shutdown)する方法

コマンドプロンプトからシャットダウンや再起動できるコマンドがあります。 「shutdown」がそれで以下のコマンドをバッチファイルに記述して、 デスクトップ上に置いておけば、初心者の方に「スタート」ボタンを押してから 「シャットダウン」を行ってもらうよりは簡単にシャットダウンできます。

コマンド「C:\Windows\System32\shutdown /s /t1」

Shutdown(デスクトップに貼った様子)


実際、あるシステムを納めたとおきにプログラムを終了させてから シャットダウンしてもらう時に、デスクトップにバッチファイルを配置しました。


■シャットダウン引数について

使用法: shutdown [/i | /l | /s | /r | /g | /a | /p | /h | /e] [/f] [/m \\コンピューター][/t xxx][/d [p|u:]xx:yy [/c "コメント"]]

引数動作内容
/i グラフィック ユーザー インターフェイース (GUI) を表示します。このオプションは最初に指定する必要があります。
/l ログオフします。/m または /d オプションとは併用できません。
/s コンピューターをシャットダウンします。
/r コンピューターをシャットダウンして再起動します。
/g コンピューターをシャットダウンして再起動します。システムの再起動後に、登録したアプリケーションを再起動してください。
/a システムのシャットダウンを中止します。これは、タイムアウト期間にのみ使用できます。
/p タイムアウトまたは警告なしでローカル コンピューターの電源を切ります。/d および /f オプションと併用できます。
/h ローカル コンピューターを休止状態にします。/f オプションと併用できます。
/e コンピューターの予期しないシャットダウンの理由を記録します。
/m \\Computer 対象となるコンピューターを指定します。
/t xxx シャットダウンまでのタイムアウト期間を xxx 秒に設定します。
/c "comment" 再起動またはシャットダウンの理由にコメントを付けます。(最大 512 文字)
/f ユーザーに警告せずに実行中のアプリケーションを強制終了します。
/d [p|u:]xx:yy 再起動またはシャットダウンの理由を指定します。

SATOラベルプリンタ・Multi LABELIST Component(MLComponent.dll)を使った印刷:接続確認

ラベルプリンタメーカ「SATO」のラベル発行コンポーネント(MLComponent.dll)を使ったラベル印刷の 紹介ですが、まず最初にラベルプリンタの接続確認を行います。今回仕事で使ったプリンタがUSB接続でしたので 例としてUSBのみとなります。

■MLComponent.dllのインストール

以下のURLのページの真ん中あたりに「Multi LABELIST Component」のダウンロードファイルが在りますので、 必要なものをダウンロードし、インストールします。

Multi LABELIST Component / Component Plus

デフォルトでインストールすると「MLComponent.dll」が「C:\Program Files\SATO\ML Component」に在るはずです。
VB.NETの参照設定で「MLComponent.dll」を追加します。
このコンポーネントですが、.NET Framework 4.0または4.5または4.6に対応している開発環境でしか使えないので Visual Studio 2010以降限定です。Visual Studio 2005/2008では使用できません。



■プリンタ状態チェック関数

関数内ではまず「MLComponent」のインスタンスを生成します。
その後「Setting」プロパティによって通信パラメータを設定します。 プリンタとの接続方法が、LAN、USB、RS232C、Bluetooth、プリンタドライバなどがありますが 今回はUSBですので、"USB:"の設定値となります。その他の設定はマニアルを見てください。
「Protocol」プロパティはUSBですので、「Protocols.Status4」となります。

その後、「OpenPort」メソッドにより接続を開始しますが、 結果が0ではない場合は、電源が入っていないかケーブルが抜けているかの原因になります。

接続後は、プリンタの状態を「GetStatus」メソッドにより行います。 返されるStatus文字列の3文字目にエラー判別文字がありますので、それによってメッセージを付けています。 尚、このメソッドが0以外を返す場合は、メソッドエラーになります。


デル株式会社

■関連記事
SATOラベルプリンタ・Multi LABELIST Component(MLComponent.dll)を使った印刷:レイアウトファイル・プリンタドライバを使用

Visual Basic 2013逆引き大全 555の極意【電子書籍】[ 増田智明 ]

価格: 2,527円
(2016/09/29 14:32時点 )

感想:0件


楽天市場

2016年3月 7日 (月)

VB.NET:SpreadシートのPDF出力と表示を行う方法

SPREADには、シートのそのままをPDFに出力する機能が備わっています。 「SheetView」クラスの「PrintInfo」のPDF出力の指示を行えば、「SheetView」の印刷メソッドでPDF出力ができます。

以下のソースですが、「Button1_Click」の前までは以前のソースを踏襲していまして、 単に単一行選択表示で1000行3カラムのテストデータを表示しています。

「Button1_Click」の中で、PDFファイルへの出力処理を行っています。 「ActiveSheet.PrintInfo」の「PrintToPdf」をTrueに設定し、「PdfFileName」にPDF出力ファイル名を設定しています。 その後、SPREADコントロールの「PrintSheet」メソッドで「ActiveSheet」の印刷処理を行います。

ここで注意点があります。「PrintSheet」メソッドの直後でのPDFファイルの表示処理がコメントになっていますが、 コメント部分を実行に戻して処理すると、「AcrobatReader」は起動するのですがPDFファイルが見つからないとエラーになります。 「PrintSheet」メソッドの直後ではタイミング的に、まだPDFファイルの出力が終了していないので、エラーになる様です。

そこで解決方法として、「PrintSheet」メソッドの終了時点で「AcrobatReader」を起動することになります。 ちょうど「PrintMessageBox」イベントがそれに当たります。引数の「e」の「BeginPrinting」が「False」になった時が 「PrintSheet」が終わったことを通知してくれますので、そのタイミングで「AcrobatReader」起動の関数をコールします。


下図は、プログラムが起動しした時の表示です。

Pdf1


下図は、「Button1」をクリックした時の表示です。

Pdf2

■関連記事
VB.NET:SpreadでのEnter時にセルを右移動させる方法
VB.NET:Spreadでフォーカスを持っていない時にセル枠を表示しない設定
VB.NET:Spreadのヘッダカラム及び、通常のカラムの連結
VB.NET:Spreadのシートへの簡単な一覧データの設定について
VB.NET:Spreadのシートのセルにボタン、テキスト、チェックボックスのセルタイプの設定
VB.NET:Spreadのセルのボタンクリック時のイベント処理
VB.NET:Spreadのセルへのデータ設定の描画速度アップ
VB.NET:Spreadのセルのチップウインドウで別に設定された文字列を表示する
VB.NET:Spreadでデータ一覧表示を簡単に行う方法について
VB.NET:Spreadデータ一覧表示での行選択処理(CellDoubleClickイベント , KeyDownイベント)
VB.NET:Spreadデータ一覧表示での行選択処理(CellDoubleClickイベント , KeyDownイベント)その2
VB.NET:Spreadデータ一覧表示での自動ソート実行時に複数のソート条件を指定する方法について
VB.NET:Spreadで異なるSPREADコントロール間でシートデータのコピーを行う方法
VB.NET:SpreadでのCSV出力とCSV入力を使って、異なるSPREADコントロール間でシートデータのコピーを行う方法
VB.NET:2個のSpread間での[Enter]キー、矢印キーなどでフォーカス移動を行う方法
VB.NET:Spreadの数値セルタイプを使ってデータメンテナンスのプログラムに使う方法
VB.NET:Spreadのテキストセルでバイト数入力制限を掛ける方法
VB.NET:Spreadのチェックボックス型セルにはCheckChangedイベントを、ボタン型セルにはClickイベントの発生方法

Visual Basic 2013逆引き大全 555の極意【電子書籍】[ 増田智明 ]

価格: 2,527円
(2016/09/29 14:32時点 )

感想:0件


デル株式会社


楽天市場

2016年3月 5日 (土)

VB.NET:SpreadでのCSV出力とCSV入力を使って、異なるSPREADコントロール間でシートデータのコピーを行う方法

前回は、異なるSPREADのシート間でのコピーを、クリップボードを使う方法と、XML文字列を使う方法で行いましたが、 今回はCSVファイルへの出力と入力を使って行います。

ソースのほとんどは「異なるSPREADのシート間でのコピー」のものと同じなので、 「Button1」クリックでの処理が異なる部分のみ以下に示します。

コピー元のActiveSheetの「SaveTextFile」メソッドを使うことで”test.csv”にCSV出力します。 その後、コピー先のActiveSheetの「LoadTextFile」メソッドで”test.csv”をCSV入力します。


下図は、「Button1」クリック後の表示です。

Copy3

■関連記事
VB.NET:SpreadでのEnter時にセルを右移動させる方法
VB.NET:Spreadでフォーカスを持っていない時にセル枠を表示しない設定
VB.NET:Spreadのヘッダカラム及び、通常のカラムの連結
VB.NET:Spreadのシートへの簡単な一覧データの設定について
VB.NET:Spreadのシートのセルにボタン、テキスト、チェックボックスのセルタイプの設定
VB.NET:Spreadのセルのボタンクリック時のイベント処理
VB.NET:Spreadのセルへのデータ設定の描画速度アップ
VB.NET:Spreadのセルのチップウインドウで別に設定された文字列を表示する
VB.NET:Spreadでデータ一覧表示を簡単に行う方法について
VB.NET:Spreadデータ一覧表示での行選択処理(CellDoubleClickイベント , KeyDownイベント)
VB.NET:Spreadデータ一覧表示での行選択処理(CellDoubleClickイベント , KeyDownイベント)その2
VB.NET:Spreadデータ一覧表示での自動ソート実行時に複数のソート条件を指定する方法について
VB.NET:Spreadで異なるSPREADコントロール間でシートデータのコピーを行う方法
VB.NET:SpreadシートのPDF出力と表示を行う方法
VB.NET:2個のSpread間での[Enter]キー、矢印キーなどでフォーカス移動を行う方法
VB.NET:Spreadの数値セルタイプを使ってデータメンテナンスのプログラムに使う方法
VB.NET:Spreadのテキストセルでバイト数入力制限を掛ける方法
VB.NET:Spreadのチェックボックス型セルにはCheckChangedイベントを、ボタン型セルにはClickイベントの発生方法

デル株式会社

楽天市場

VB.NET:Spreadで異なるSPREADコントロール間でシートデータのコピーを行う方法

異なるSPREADのシート間でのコピーを行う方法が2種類あります。 一つはクリップボードを使う方法と、XML文字列を使う方法です。

■クリップボードを使う方法
コピー元のActiveSheetの「ClipboardCopy」メソッドを使うことで、指定された範囲のセルをクリップボードにコピーします。 その後、コピー先のActiveSheetの行・列の数を合わせておいて、「ClipboardPaste」メソッドで貼付を行います。 以下のソースでは、「Button1_Click」の処理です。

■XML文字列を使う方法
コピー元のシートを「GetObjectXml」メソッドにてシリアライズ化しXML文字列化します。 その後、コピー先のシートに「SetObjectXml」メソッドにてXML文字列を逆シリアライズ化してやります。 以下のソースでは、「Button2_Click」の処理です。
尚、ここではやっていませんが、数式を含むシートの場合には、シートの追加後にLoadFormulasメソッドを呼び出すことで数式が有効になるそうです。


下図は、プログラムが起動した時の表示です。

Copy1


下図は、「Button2」をクリック後の表示です。「Button1」と「Button2」では若干結果が異なります。 「Button1」では行選択状態はコピーされず、左上のセルがアクティブになります。 「Button2」は行選択状態もコピーされる様です。

Copy2

■関連記事
VB.NET:SpreadでのEnter時にセルを右移動させる方法
VB.NET:Spreadでフォーカスを持っていない時にセル枠を表示しない設定
VB.NET:Spreadのヘッダカラム及び、通常のカラムの連結
VB.NET:Spreadのシートへの簡単な一覧データの設定について
VB.NET:Spreadのシートのセルにボタン、テキスト、チェックボックスのセルタイプの設定
VB.NET:Spreadのセルのボタンクリック時のイベント処理
VB.NET:Spreadのセルへのデータ設定の描画速度アップ
VB.NET:Spreadのセルのチップウインドウで別に設定された文字列を表示する
VB.NET:Spreadでデータ一覧表示を簡単に行う方法について
VB.NET:Spreadデータ一覧表示での行選択処理(CellDoubleClickイベント , KeyDownイベント)
VB.NET:Spreadデータ一覧表示での行選択処理(CellDoubleClickイベント , KeyDownイベント)その2
VB.NET:Spreadデータ一覧表示での自動ソート実行時に複数のソート条件を指定する方法について
VB.NET:SpreadでのCSV出力とCSV入力を使って、異なるSPREADコントロール間でシートデータのコピーを行う方法
VB.NET:SpreadシートのPDF出力と表示を行う方法
VB.NET:2個のSpread間での[Enter]キー、矢印キーなどでフォーカス移動を行う方法
VB.NET:Spreadの数値セルタイプを使ってデータメンテナンスのプログラムに使う方法
VB.NET:Spreadのテキストセルでバイト数入力制限を掛ける方法
VB.NET:Spreadのチェックボックス型セルにはCheckChangedイベントを、ボタン型セルにはClickイベントの発生方法


デル株式会社


楽天市場

2016年3月 4日 (金)

VB.NET:Spreadデータ一覧表示での自動ソート実行時に複数のソート条件を指定する方法について

SPREADを使ってデータの一覧を表示し、ソート処理を追加するのは比較的簡単に行えます。

アクティブシートの設定で各カラムの「AllowAutoSort」プロパティを「True」にすればソートが可能になります。 以下のソースを動作させた最初の表示が以下の図になります。

Sort1


各カラムのヘッダにソートのインジケータが表示されるので、 そのマークをクリックすることで自動でソート処理がなされます。


但し、このままでは少し不満な点が残ります。 下図は、2カラム目でソートをさせた時の結果の表示です。

Sort2


2カラム目のみがソート条件になっているので、1カラム目と3カラム目がうまいこと順番にならない様です。 この現象を解消するために、列ヘッダクリックによるソート開始時イベントで以下の様にし、ソート条件を複数に指定します。

このイベント処理をソースに追加すると下図の様な表示になります。

Sort3

■関連記事
VB.NET:SpreadでのEnter時にセルを右移動させる方法
VB.NET:Spreadでフォーカスを持っていない時にセル枠を表示しない設定
VB.NET:Spreadのヘッダカラム及び、通常のカラムの連結
VB.NET:Spreadのシートへの簡単な一覧データの設定について
VB.NET:Spreadのシートのセルにボタン、テキスト、チェックボックスのセルタイプの設定
VB.NET:Spreadのセルのボタンクリック時のイベント処理
VB.NET:Spreadのセルへのデータ設定の描画速度アップ
VB.NET:Spreadのセルのチップウインドウで別に設定された文字列を表示する
VB.NET:Spreadでデータ一覧表示を簡単に行う方法について
VB.NET:Spreadデータ一覧表示での行選択処理(CellDoubleClickイベント , KeyDownイベント)
VB.NET:Spreadデータ一覧表示での行選択処理(CellDoubleClickイベント , KeyDownイベント)その2
VB.NET:Spreadで異なるSPREADコントロール間でシートデータのコピーを行う方法
VB.NET:SpreadでのCSV出力とCSV入力を使って、異なるSPREADコントロール間でシートデータのコピーを行う方法
VB.NET:SpreadシートのPDF出力と表示を行う方法
VB.NET:2個のSpread間での[Enter]キー、矢印キーなどでフォーカス移動を行う方法
VB.NET:Spreadの数値セルタイプを使ってデータメンテナンスのプログラムに使う方法
VB.NET:Spreadのテキストセルでバイト数入力制限を掛ける方法
VB.NET:Spreadのチェックボックス型セルにはCheckChangedイベントを、ボタン型セルにはClickイベントの発生方法


デル株式会社


楽天市場

VB.NET:Spreadデータ一覧表示での行選択処理(CellDoubleClickイベント , KeyDownイベント)その2

前回は、SPREADを使ってデータの一覧を表示し、セルダブルクリック(CellDoubleClick)もしくはキーダウン(KeyDown)イベント時に メッセージボックスを表示するという簡単な処理を行いました。

今回は少し進んで、セルダブルクリック及びキーダウンイベント時に、別フォームを作成し表示させてみます。 別フォームには3個のラベルを貼って、データ一覧の各カラムの内容を表示します。

フォームロード時にSPREADの初期化などは前回までと同様ですが、データ表示用の関数(DisplayOneData)を新規に作成し 行番号を引数で渡すことで別フォーム(Form2)を生成後、その行番号の各カラム値を3個のラベルに設定しています。 別フォームは「Show」メソッドで表示しています。


下図は、フォーム表示後、2行目をダブルクリックしてForm2を表示した時の表示です。
しかし、実際の動作としては、Form1でダブルクリック後、Form2が表示されるのですが、 フォーカスは依然としてForm1にあり、Form2はForm1の下に表示されます。 (キーダウン時の方は、Form2はForm1の上に表示されます)

Select11_2


この現象を避けるには、ダブルクリック時処理を以下の様にし、データ表示のフォーム表示メソッドを「ShowDialog」に変更することです。


もう一つ解決策がありまして、フォームの表示メソッドを「Show」のままで行う方法です。
ダブルクリック時にダブルクリックが在った証拠フラグをONし、 マウスアップ時にダブルクリックフラグがONならば、データ表示を行う様にすることです。 (マウスアップ時には、Form1からフォーカスが無くなる様です。)

一覧データ表示移行の部分を、以下のソースの様にします。

■関連記事
VB.NET:SpreadでのEnter時にセルを右移動させる方法
VB.NET:Spreadでフォーカスを持っていない時にセル枠を表示しない設定
VB.NET:Spreadのヘッダカラム及び、通常のカラムの連結
VB.NET:Spreadのシートへの簡単な一覧データの設定について
VB.NET:Spreadのシートのセルにボタン、テキスト、チェックボックスのセルタイプの設定
VB.NET:Spreadのセルのボタンクリック時のイベント処理
VB.NET:Spreadのセルへのデータ設定の描画速度アップ
VB.NET:Spreadのセルのチップウインドウで別に設定された文字列を表示する
VB.NET:Spreadでデータ一覧表示を簡単に行う方法について
VB.NET:Spreadデータ一覧表示での行選択処理(CellDoubleClickイベント , KeyDownイベント)
VB.NET:Spreadデータ一覧表示での自動ソート実行時に複数のソート条件を指定する方法について
VB.NET:Spreadで異なるSPREADコントロール間でシートデータのコピーを行う方法
VB.NET:SpreadでのCSV出力とCSV入力を使って、異なるSPREADコントロール間でシートデータのコピーを行う方法
VB.NET:SpreadシートのPDF出力と表示を行う方法
VB.NET:2個のSpread間での[Enter]キー、矢印キーなどでフォーカス移動を行う方法
VB.NET:Spreadの数値セルタイプを使ってデータメンテナンスのプログラムに使う方法
VB.NET:Spreadのテキストセルでバイト数入力制限を掛ける方法
VB.NET:Spreadのチェックボックス型セルにはCheckChangedイベントを、ボタン型セルにはClickイベントの発生方法


デル株式会社


楽天市場