fc2ブログ

09 « 1.2.3.4.5.6.7.8.9.10.11.12.13.14.15.16.17.18.19.20.21.22.23.24.25.26.27.28.29.30.31.» 11

不労所得で生活できるのか?

主にMT4関連のツールやEAを作ってます。 夢の自動集金マシン(?)は存在するのか・・・。

Visual Studio 2005 VB.net XREAのMySQL DBへWindows FormアプリケーションからSSH接続するの巻 

XREAのMySQLデータベースは外部からのアクセスが制限されている。

しかしSSHポートフォワーディングを利用する事で、

Windows Formアプリケーションからアクセスできるようだ。

とりあえずXREAの管理メニューからSSHホスト情報登録する。



テスト用にXREAにMySQLのDBを作成する。



テストデータはphpMyAdminで作るのでログインする。





データベースを選択する。





以下のテーブル作成SQLを実行する。

CREATE TABLE test (
id int,
name varchar(20),
ins date
);





以下のテストデータ作成SQLを実行する。

INSERT INTO test (id, name, ins) VALUES
(1, 'あいう', '2014-08-10'),
(2, 'xxx', '2014-08-15'),
(3, 'かきく', '2014-09-11'),
(2, 'さしす', '2014-08-31'),
(4, 'ハンカク', '2014-08-31');





SSH.NET Libraryのバイナリをダウンロードし、適当な場所に解凍する。



VB.netからMySQLのDBへのアクセスはConnector/Netを利用する。



Windowsフォームアプリケーションを新規作成し、リストボックスとデータグリッドビューを配置する。



参照設定でSSH.NET LibraryとConnector/Netを追加する。



フォームのコードに以下をコピペする。
※XREAサーバ、ftpアカウント、ユーザ名、パスワード等は◆要変更◆。



リストボックスのテーブル名を選択すると、テーブル内容がデータグリッドに表示される。



いつも応援ありがとうございます。m(__)m
スポンサーサイト



2014/10/30 Thu. 14:41 | trackback: -- | comment: -- | edit

Visual Studio 2005 VB.net StatusStripにプログレスバーを自力で描くの巻 

元々StatusStripにはプログレスバーを配置できるので

あんまり意味ないけど、Paintイベントで描画してみた。

実行するとこんな感じ。


フォームデザイナーでStatusStripとButtonを貼り付けて、

以下のコードをコピペ。



実行後Button1をクリックするとデモ開始。

ソースのダウンロードは→こちら←をクリック。

いつも応援ありがとうございます。m(__)m
2014/09/17 Wed. 11:18 | trackback: -- | comment: -- | edit

Visual Studio 2005 VB.net で縦倍角(?)フォントを使うの巻 

テキストボックスとデータグリッドビュー(表示のみ)で

縦倍角(?)フォントを使ってみた。

こんな感じ。


方針としては、CreateFontIndirectでフォント作成、

テキストボックスにはSendMessage、WM_SETFONTで設定。

データグリッドビューはCellPaintingイベントで自前描画。

フォームデザイナーでにテキストボックスとデータグリッドビューを貼り付けて、

以下のコードをコピペ。



ソースのダウンロードは→こちら←をクリック。

いつも応援ありがとうございます。m(__)m

2014/08/27 Wed. 13:52 | trackback: -- | comment: -- | edit

CreateObject("Scripting.FileSystemObject")オートメーションエラーで嵌まった 

環境はWindows7 pro x86 sp1。

vbやvbaでCreateObject("Scripting.FileSystemObject")を実行すると、

「オートメーションエラーです。ライブラリは登録されていません。」

とのエラー。

前々からエラーになるのは知っていたが、どうしても必要なオブジェクトではないので

だましだましコーディングで回避していた。

しかし、いつまでも放っておくのは気持ちが悪いので

真剣に解決策を模索してみた。

scrrun.dllのレジストリ登録がうまくいっていないのは知っていたが、

何度も試したregsvr32 scrrun.dllを再度実行。

「うまくいったよ」メッセージが出るがやっぱり現象は変わらない。

scrrun.dllの依存ファイルはMSVCRT.dll、ScrrnJP.dllの様だがどちらもSystem32に存在する。

regsvr32 /u scrrun.dllでレジストリ登録削除を試みると、

「dllUnRegisterServerがエラーコード0x8002801dを返した」とのエラーとなる。

検索しても、このエラーコードの意味はよくわからなかったが、レジストリがらみなのは間違いない。

別のXPマシンのエクセルvbaではCreateObject("Scripting.FileSystemObject")でエラーが発生しないので、

両方のマシンのレジストリをキーワード「scrrun.dll」で検索し、違いを探ることにする。

で結局、違いは、

[HKEY_CLASSES_ROOT\TypeLib\{420B2830-E718-11CF-893D-00A0C9054228}]
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\TypeLib\{420B2830-E718-11CF-893D-00A0C9054228}]

だった。

Windows7のほうは、[HKEY_CLASSES_ROOT\TypeLib\{420B2830-E718-11CF-893D-00A0C9054228}]は、

存在するが、中身は空っぽで、なおかつフルコントロール権限が無い。

また、[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\TypeLib\{420B2830-E718-11CF-893D-00A0C9054228}]は、

存在すらしない。

[HKEY_CLASSES_ROOT\TypeLib\{420B2830-E718-11CF-893D-00A0C9054228}]のアクセス権を

フルコントロールに設定し、XPからエクスポートしたレジストリ情報を取り込んで無事解決。

なおレジストリのアクセス権変更は、

変更するレジストリキーを右クリック→「アクセス許可」→「グループ名またはユーザ」でhogehogeを選んで

→「詳細設定」ボタン→「所有者」タブ→「所有者の変更」でhogehogeを選んで「OK」

→「hogehogeのアクセス許可」で「フルコントロール」にチェック→「OK」


2014/04/22 Tue. 14:52 | trackback: -- | comment: -- | edit