SQLの窓

2009年11月28日


コマンドプロンプト : 初期値を設定できる行入力

Inputline

ブラウザでダウンロード
いちおう、テンポラリフォルダにも結果を出力していますが、
以下のようにして使用します
@echo off
setlocal
cls

locate 5,3 && echo 社員コード
locate 5,5 && echo 氏名
locate 5,7 && echo 確認


:inputloop
locate 20,3
for /F %%i in ('inputline "0001"') do (
	set INP01=%%i
)

locate 20,5
for /F %%i in ('inputline "山田 太郎"') do (
	set INP02=%%i
)

locate 20,7
for /F %%i in ('inputline') do (
	if "%%i"=="q" (
		goto end
	)
)

goto inputloop 

:end 

echo %INP01%
echo %INP02%
▼ こういうのもありです
for /F %%i in ('inputline "%INP02%"') do (
	set INP02=%%i
)
Imports System.IO
Imports System.Text

Module MyModule

' ********************************************************
' * 実行
' ********************************************************
Sub Main()

	Dim argv As String()

	argv = System.Environment.GetCommandLineArgs()

	if argv.Length = 2 then
			System.Windows.Forms.SendKeys.SendWait(argv(1))
	end if

	' SHIFT_JIS 書き込み
	Dim WriteFile As StreamWriter = New StreamWriter( _
		Path.GetTempPath() & "\lightbox_input.txt", _
		False, Encoding.GetEncoding(932) _
	)

	Dim str As String = Console.ReadLine()

	WriteFile.Write( str )
	WriteFile.Close()
	WriteFile.Dispose()
	Console.WriteLine( str )

End Sub

End Module

関連する記事
コマンドプロンプト : 表示位置を指定できる locate.exe




posted by lightbox at 2009-11-28 23:30 | フリーソフト | このブログの読者になる | 更新情報をチェックする

コマンドプロンプト : 表示位置を指定できる locate.exe

ブラウザでダウンロード

Locate_1
Locate_1
Module MyModule

' ********************************************************
' * 実行
' ********************************************************
Sub Main()

	Dim argv As String()
	Dim Pos As String()
	Dim x As Integer
	Dim y As Integer

	argv = System.Environment.GetCommandLineArgs()

	if argv.Length = 2 then

		Pos = (argv(1)).Split(",")
		if Pos.Length <> 2 then
			y = 0
		end if
		Try
			x = Integer.Parse(Pos(0))
		Catch
			x = 0
		End Try
		Try
			y = Integer.Parse(Pos(1))
		Catch
			y = 0
		End Try

		Console.CursorLeft = x
		Console.CursorTop = y

	end if

End Sub

End Module

■プログラム名
表示位置指定

※ 指定した位置に表示位置を移動します

スペースで表示位置を調整する必要がなくなります

▼ test.bat
-------------------------------------------------
@echo off
cls

locate 0,0 && echo CALL
locate 0,1 && echo CLS
locate 0,2 && echo DIR

locate 5,20
pause

locate 5,0 && echo バッチ ファイル中から、別のバッチ ファイルを呼び出します。
locate 5,1 && echo 画面を消去します。
locate 5,2 && echo ディレクトリ中のファイルやサブディレクトリの一覧を表示します。
-------------------------------------------------


▼ 結果
-------------------------------------------------
CALL バッチ ファイル中から、別のバッチ ファイルを呼び出します。
CLS  画面を消去します。
DIR  ディレクトリ中のファイルやサブディレクトリの一覧を表示します。
-------------------------------------------------

■使用方法
locate n,n

n は 0 から始まります

■利用環境
Framework2.0 以上がインストールされている環境


■著作権その他

このプログラムはフリーです。どうぞ自由に御使用ください。
著作権は作者である私(lightbox)が保有しています。
また、本ソフトを運用した結果については、作者は一切責任を
負えせんのでご了承ください。




posted by lightbox at 2009-11-28 15:32 | フリーソフト | このブログの読者になる | 更新情報をチェックする

2009年11月27日


SSHサーバーにSFTPで繋がらない理由

サーバの .cshrc でエラーが発生していると繋がりません。エラーで無くとも、何かを表示していると、メッセージが too long と言われて接続が切断されます。

Sftp

上記サーバはwindowsサーバーですが、意図的にエラーにしています。
このメッセージの内容の確認方法は、まず、2206303074 を calc で 16進数に変換します

2206303074 => 83818362

これをキャラクタに変換すると原因の文字列になります。これは、明らかに SHIFT_JIS なので、%83%81%83%62
として urldecode します

結果 => メッ

※ 実際は、メッセージ表示 と表示しています

今回、ひさしぶりに vi を触ったので .cshrc の編集でタイプミスをしてしまって、.cshrc の 途中でエラーになっていました。通常の処理に支障の無い場所だったので気が付かなかったのですが、見事に FileZilla でエラーになりましたが、ログからは問題が解りませんでした。

ローカルの OpenSSH の sftp コマンドでは、パスワード入力後に即切断されるという現象となります。


タグ:トラブル sftp
posted by lightbox at 2009-11-27 12:39 | 記録 | このブログの読者になる | 更新情報をチェックする

2009年11月26日


PuTTY ごった煮版で SSH 接続


さくらインターネット : PuTTY ごった煮版で SSH 接続
元々の目的は、リンク先で書いたとおり、さくらインターネットに
Ruby のモジュールをインストールする為にまとめたものですが、
PuTTY はクライアントソフトなので、SSHサーバーさえどこかにあれば、
そのサーバーに直接接続してコマンドプロンプトから普通に処理が可能になります。

インターネット上で利用するには、いろいろセキュリティ上の設定
が必要になりますが、自宅の Windows マシンを出先で操作が可能に
なります。GUI を使わないので思ったよりずっと軽快に作業できるはずです。
( レンタルサーバなら Unix、サーバーが Windows ならコマンドプロンプト )

ローカルネットワークでももちろん利用できますので、
Windows にインストールして慣れておくとイザという時に役に立ちます。

▼ PuTTY から Windows の OpenSSH Server にログイン
Putty_windows


OpenSSH for Windows のインストールに関する情報


posted by lightbox at 2009-11-26 15:58 | 記録 | このブログの読者になる | 更新情報をチェックする

2009年11月22日


Flex3 : WEBに貼った MXML ベースの Papervision3D で、のローカルのPCにあるZIPファイル内DAEをその場でロードするサンプルです

Dae_in_zipfile_load2

これでマテリアルに関してはたいていにおいて網羅したので、
後はどういうコンテンツにしていくかです。ゲーム系とかパーツに
するには、もうちょい 3D データについて慣れる必要がありますが、
CPU パワーとライブラリ作る情熱のある人が揃えば、上の画像
(Google SketchUp のデータです)のような3D フィールド内で
紙芝居くらいすぐ簡単にできそうですね。

専門外なのでアニメーションが良く解りません・・・・

▼ Mouse Over すると、彼女に対するカメラ位置が変わります。
Ha2
ねぎミク Collada ファイルはこちらにあります

Papervision3Dソースの内情を言うと、そんなに完璧なものでは無く、
コンテンツに利用するには、それなりの橋渡しする知識がかなり必要
になります。Papervision3D レベルの処理はこの作者さんに任せて、
次の段階に進まないと、いつまでたっても楽しい事は起きそうにもありませんよね。

ビジネスベースの技術の進歩は完全にエンドユーザをほったらかし。
そりゃ、利益優先だもの仕方無いです。しかし、Microsoft や Adobe の都合なんかに
合わせていると不幸になります。間違い無く。


ダウンロードできるパッケージは、ビルド環境として SDK さえ別に
ダウンロードすればリビルドできますが、背景画像や初期画像なら、
images の中の画像を入れ替えれば雰囲気が変わります。


ソースコード解説はこれから順を追って作っていきます。
Flex は、ちゃんとした説明があればいたって簡単。
面白いものがいくらでも作れます。



関連する記事
Flex3 : Metasequoia 拡張クラス : ローカルの zip ファイルからメタセコイアデータをロードする




posted by lightbox at 2009-11-22 23:06 | Flex | このブログの読者になる | 更新情報をチェックする

2009年11月19日


Oracle : 固定長データのSQL*Loader のサンプル

INFILE のオプションで固定レコードである事を指定しています。固定レコードのデータは、C 言語で出力した事を想定して作成しています。位置指定かデータ型指定でデータの位置が計算されて処理されます。

FILLER は、データベース列と関連しない列を明示する為に使用します( COBOL と同様 )

位置指定は N:N と N-N は同等で、位置番号を示すのでレコードレイアウトがある場合に簡単に指定できます。
▼レコードレイアウト例



関連する記事

Oracle : SQL*Loader のサンプル


位置指定には他にも以下のようなものがあります
* : 直前の位置から始まる
+N : 終了位置直後の位置から現行のフィールドをオフセットする
          0  1  2  3  4  5  6  7  8  9  A  B  C  D  E  F
--------------------------------------------------------------------------
00000000 30 31 30 31 8E 52 93 63 8C 4E 00 00 00 00 00 00  0101山田君......
00000010 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00000020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00000030 00 00 00 00 00 00 FF B0 1E 04 00 32 30 30 39 2F  .......ー...2009/
00000040 30 31 2F 30 31                                   01/01
LOAD DATA
 INFILE '社員マスタ.dat' "FIX 69"

-- **************************************************
-- BADFILE  : 拒否レコード
-- **************************************************
 BADFILE 'lightbox.bad'
-- **************************************************
-- DISCARDFILE : 廃棄ファイル
-- **************************************************
 DISCARDFILE 'lightbox.dsc'
-- **************************************************
-- APPEND : 追加
-- REPLACE : 削除後追加( 削除トリガーが起動 )
-- TRUNCATE : TRUNCATE 後追加( 最大限のパフォーマンス )
-- **************************************************
 APPEND
 INTO TABLE "社員マスタ"
 WHEN "社員コード" != '0005'
-- **************************************************
-- ■ TRAILING NULLCOLS
-- 相対位置に指定した列がレコード中に存在しない場合
-- その列の値はNULLとして処理されます
-- **************************************************
 TRAILING NULLCOLS
--
--
--create table "社員マスタ2" (
--	"社員コード" VARCHAR2(4)
--	,"氏名" VARCHAR2(50)
--	,"フリガナ" VARCHAR2(50)
--	,"所属" VARCHAR2(4)
--	,"性別" NUMBER(15)
--	,"作成日" DATE
--	,"更新日" DATE
--	,"給与" NUMBER
--	,"手当" NUMBER
--	,"管理者" VARCHAR2(4)
--	,"生年月日" DATE
--)
--
--
(
"社員コード" CHAR(4)
,"氏名" POSITION(5:54) CHAR NULLIF "氏名"=BLANKS
,"不要部分定義" FILLER POSITION(55:55) CHAR
,"給与" POSITION(56-59) INTEGER(4) NULLIF "給与"=BLANKS
,"生年月日" POSITION(60-69) DATE "YYYY/MM/DD" NULLIF "生年月日"=BLANKS
)



▼ ログ

SQL*Loader: Release 10.2.0.1.0 - Production on 木 11月 19 15:46:04 2009

Copyright (c) 1982, 2005, Oracle.  All rights reserved.

制御ファイル:    syain.ctl
データファイル社員マスタ.dat
  ファイル処理オプション文字列: "FIX 69"
  不良ファイル:  lightbox.bad
  廃棄ファイル: lightbox.dsc
 (すべて廃棄できます)

ロード数: ALL
スキップ数: 0
許容エラー数: 50
バインド配列:    64行、最大256000バイト
継続文字:    指定なし
使用パス:      従来型

表"社員マスタ"、 ロード済 時 "社員コード" != 0X30303035(文字 '0005')
この表に対する有効な挿入オプション: APPEND
TRAILING NULLCOLSオプションは有効です。

   Column Name                  Position   Len  Term Encl Datatype
------------------------------ ---------- ----- ---- ---- ---------------------
"社員コード"                       FIRST    4        CHARACTER            
"氏名"                              5:54   50        CHARACTER            
    NULL if "氏名" = BLANKS
"不要部分定義"                     55:55    1        CHARACTER            
  (FILLERフィールド)
"給与"                             56:59    4        INTEGER              
    NULL if "給与" = BLANKS
"生年月日"                         60:69   10        DATE YYYY/MM/DD      
    NULL if "生年月日" = BLANKS


表"社員マスタ":
  1行のロードに成功しました。
  0行はデータ・エラーのためロードされませんでした。
  0行はWHEN句のエラーのためロードされませんでした。
  0行はすべてのフィールドがNULLのためロードされませんでした。

バインド配列に割り当てられた領域:     4736バイト(64行)
読取りバッファのバイト数:  1048576

スキップされた論理レコードの合計:           0
読み込まれた論理レコードの合計:             1
拒否された論理レコードの合計:               0
廃棄された論理レコードの合計:        0

実行開始木 11月 19 15:46:04 2009
実行終了木 11月 19 15:46:04 2009

実行時間:        00: 00: 00.17
CPU時間 :        00: 00: 00.10


関連する Oracle へのリンク

SQL*Loader : 制御ファイル・リファレンス
SQL*Loader : フィールド・リスト・リファレンス
Windows 限定



posted by lightbox at 2009-11-19 15:58 | Oracle : 環境 | このブログの読者になる | 更新情報をチェックする

2009年11月18日


Flex3 : Metasequoia 拡張クラス : ローカルの zip ファイルからメタセコイアデータをロードする


Metasequoia.as 拡張クラス ( ローカルの zip 書庫内のファイルをロードする )


例えば、メタセコイアのデータが miku01.mqo で、それのテクスチャ
が miku.jpg だった場合、miku01.mqo の中に miku.jpg の名前があり
ますが、本来同じ場所にファイルとして存在する必要がありますが、
二つのファイルを zip 書庫に固めてしまって、その zip ファイルを
読みだして使う・・・というクラスです。
( zip 内にフォルダは作成しないで下さい )


Metasequoia クラスを純粋に拡張したのでどこでも動くと思いますが、
何せできたてですし、今後の予定も詰まってるので他の環境での検証
は結構いいかげんになると思います。


実演は「WEB カメ くらぶ」で行っています。
WEB カメラとメタセコイアデータをお持ちの方はどうぞ

Shot_miku
※ このはちゅねデータは、ファイル保管庫@七葉というところにあります。
※ 作者さんありがとうございます。

▼ 吹き出し画像です






posted by lightbox at 2009-11-18 21:35 | Flex | このブログの読者になる | 更新情報をチェックする

2009年11月17日


MySQL : すぐ使える MySQL 5.14 パッケージ


MySQL5.14 販売管理データ登録済みセットのダウンロード
このあいだ、MySQL : 5.1.4 : インストール場所を一か所にまとめる というテストをしたので、
パッケージ化して他の PC で使える事を確認しました( XP と Vista )

C:\ にダウンロードしてそのまま解凍して、C:\mysql514 というディレクトリ
内に全てのファイルがある状態にして install.bat を実行するだけです。

後は、サービスを起動してアプリケーションからアクセスするだけです

簡易的な販売管理用テーブルが13、ビューが4つ登録されています


タグ:MySQL
posted by lightbox at 2009-11-17 14:16 | MySQL | このブログの読者になる | 更新情報をチェックする

2009年11月15日


Flex3 : AIR : SQLite のテーブル一覧

ローカルデータベースでの SQL のサポート
Flex3 では、SQLITE_MASTER はサポートされていないようですが、
スキーマ情報を取得する方法が用意されていますので、より便利になっています

まず、イベントを用意しておいて、loadSchema を実行します
// テーブル一覧の表示イベント
// ( loadSchema 後の処理 )
con.addEventListener(flash.events.SQLEvent.SCHEMA,
	function( e:flash.events.SQLEvent ):void {
		var rs:SQLSchemaResult = con.getSchemaResult();
		grid.dataProvider = rs.tables;
		con.close();
	}
)

try {
	var target:File = new File(dbpath.text);
}
catch (error:Error) {
	Alert.show("エラー:" + error.message,
	"",Alert.OK,null,alertCloseDbpath);
	return;
}

if ( !target.exists ) {
	Alert.show("DBが存在しません",
	"",Alert.OK,null,alertCloseDbpath);
	return;
}

var exe:SQLStatement = new SQLStatement();

try {
	con.open( target );
	// テーブルスキーマをロード
	con.loadSchema(SQLTableSchema);
}
catch (error:Error) {
	Alert.show("エラー:" + error.message,
	"",Alert.OK,null,alertCloseDbpath);
	return;
}

データの表示は単純に、DataGrid を定義しています

関連する記事
SQLite データベースの作成と スキーマ情報の取得と SELECT の結果を DataGrid へ一括ロード


タグ:Flex3 AIR sqlite3
posted by lightbox at 2009-11-15 18:54 | Flex | このブログの読者になる | 更新情報をチェックする

コマンドプロンプトで UTF-8 表示させる時に少しだけサポートするアプリケーション

プロパティでフォントをMS ゴシックに変更してから、
mode con:cols=140
chcp 65001
と実行すると、UTF-8 の日本語が一応正しく表示されますが、このモードは
バグがあって、日本語表示部分が欠落したりズレたりします。
その場合、コマンドプロンプトのウインドウのサイズを変更すると、
改善されるので、その処理をキーボードで行う為のものです

mode コマンドは必要ありませんが、改行するような長い出力は改善
されないので、できる限り横幅を取るためです
ブラウザでダウンロード
int APIENTRY _tWinMain(
	HINSTANCE hInstance,
	HINSTANCE hPrevInstance,
	LPTSTR lpCmdLine,
	int nCmdShow
)
{

	HWND hWnd = GetForegroundWindow();
	if ( IsZoomed( hWnd ) ) {
		ShowWindow(	hWnd, SW_RESTORE );
	}

	RECT rMe;

	GetWindowRect( hWnd, &rMe );

	SetWindowPos(
		hWnd,
		NULL,
		0,
		0,
		rMe.right-rMe.left-100,
		rMe.bottom-rMe.top,
		SWP_NOMOVE |
		SWP_NOZORDER 
	);

	SetWindowPos(
		hWnd,
		NULL,
		0,
		0,
		rMe.right-rMe.left,
		rMe.bottom-rMe.top,
		SWP_NOMOVE |
		SWP_NOZORDER 
	);

	return 0;

}




posted by lightbox at 2009-11-15 18:09 | コマンドプロンプト | このブログの読者になる | 更新情報をチェックする
Seesaa の各ページの表示について
Seesaa の 記事がたまに全く表示されない場合があります。その場合は、設定> 詳細設定> ブログ設定 で 最新の情報に更新の『実行ボタン』で記事やアーカイブが最新にビルドされます。

Seesaa のページで、アーカイブとタグページは要注意です。タグページはコンテンツが全く無い状態になりますし、アーカイブページも歯抜けページはコンテンツが存在しないのにページが表示されてしまいます。

また、カテゴリページもそういう意味では完全ではありません。『カテゴリID-番号』というフォーマットで表示されるページですが、実際存在するより大きな番号でも表示されてしまいます。

※ インデックスページのみ、実際の記事数を超えたページを指定しても最後のページが表示されるようです

対処としては、このようなヘルプ的な情報を固定でページの最後に表示するようにするといいでしょう。具体的には、メインの記事コンテンツの下に『自由形式』を追加し、アーカイブとカテゴリページでのみ表示するように設定し、コンテンツを用意するといいと思います。


※ エキスパートモードで表示しています

アーカイブとカテゴリページはこのように簡単に設定できますが、タグページは HTML 設定を直接変更して、以下の『タグページでのみ表示される内容』の記述方法で設定する必要があります

<% if:page_name eq 'archive' -%>
アーカイブページでのみ表示される内容
<% /if %>

<% if:page_name eq 'category' -%>
カテゴリページでのみ表示される内容
<% /if %>

<% if:page_name eq 'tag' -%>
タグページでのみ表示される内容
<% /if %>
この記述は、以下の場所で使用します


Windows
container 終わり

フリーフォントで簡単ロゴ作成
フリーフォントでボタン素材作成
フリーフォントで吹き出し画像作成
フリーフォントではんこ画像作成
ほぼ自由に利用できるフリーフォント
フリーフォントの書体見本とサンプル
画像を大きく見る為のウインドウを開くボタンの作成

Android SDK ポケットリファレンス
改訂版 Webデザイナーのための jQuery入門
今すぐ使えるかんたん ホームページ HTML&CSS入門
CSS ドロップシャドウの参考デモ
PHP正規表現チェッカー
Google Hosted Libraries
cdnjs
BUTTONS (CSS でボタン)
イラストAC
ぱくたそ
写真素材 足成
フリーフォント一覧
utf8 文字ツール
右サイド 終わり
base 終わり