プログラミング

2010年7月30日 (金)

(VBScript)クリップボード操作

参考URL
http://www.microsoft.com/japan/technet/scriptcenter/resources/qanda/dec04/hey1215.mspx
http://www.microsoft.com/japan/technet/scriptcenter/resources/qanda/feb05/hey0221.mspx

【サンプル】

<クリップボードにテキストをセット>
Set objIE = CreateObject("InternetExplorer.Application")
objIE.Navigate("about:blank")
objIE.document.parentwindow.clipboardData.SetData "text", "C:\Documents and Settings\All Users\スタート メニュー\プログラム\スタートアップ\PCViewRun.vbs"
objIE.Quit

<クリップボードからテキストを取得>
Set objIE = CreateObject("InternetExplorer.Application")
objIE.Navigate("about:blank")
strURL = objIE.document.parentwindow.clipboardData.GetData("text")
objIE.Quit

| | コメント (0) | トラックバック (0)

2010年7月29日 (木)

(バッチファイル)自分自身を削除する

Del /F "%~dp0%~nx0"

を記述する

| | コメント (0) | トラックバック (0)

2010年7月27日 (火)

(バッチファイル)プログレスバーもどき

SET /P X=★<NUL
を繰り返すことにより
★★★★と連続で表示される。

| | コメント (0) | トラックバック (0)

2010年6月 5日 (土)

ASP.NET2.0 AJAX化

ASP.NET2.0でVisualStudio2005を使用してあるシステムを開発しているのですが、AJAXには対応しておらず、毎回PostBackが発生するので画面がチラチラしてしょうがないです。
そこで色々調べていたところ、ASP.NET2.0でも拡張すればAJAXを導入出来るとのことです。
ですが、すでにVisualStudio2005は古くなっており、参考URLのようにはすんなりといきません。
いろいろと苦戦したのですが、ようやく使えるようになったのでメモを残しておきます。

Microsoft ASP.NET AJAX v1.0
http://www.microsoft.com/downloads/details.aspx?FamilyID=ca9d90fa-e8c9-42e3-aa19-08e2c027f5d6&displaylang=en

ASP.NET AJAX Control Toolkit
http://ajaxcontroltoolkit.codeplex.com/releases/view/11121

ASP.NET 2.0 AJAX Futures January CTP
http://www.microsoft.com/downloads/en/confirmation.aspx?familyId=4cb52ea3-9548-4064-8137-09b96af97617&displayLang=en

ここからダウンロード

セットアップ手順
1. ASPAJAXExtSetup.msiを起動。画面の指示に従う

2. ASPAJAXCTP.msiを起動。画面の指示に従う

3. AjaxControlToolkit.zipをC:\Program Files\AjaxControlToolkitフォルダを作成し解凍

4. AjaxControlExtenderフォルダ内のAjaxControlExtender.vsiを起動

5. VisualStudioを起動

6. ツールボックスのAJAX Extensionsタブ上で右クリックし[アイテムの選択]

7.  C:\Program Files\Microsoft ASP.NET\ASP.NET 2.0 AJAX Futures January CTP\v1.0.61025\Microsoft.Web.Preview.dllを追加

8. ツールボックス上で右クリックに[タブの追加]

9. 追加したタブにC:\Program Files\AjaxControlToolkit\SampleWebSite\Bin\AjaxControlToolkit.dllを追加

---<以下は、リモートで使用する場合>------------------------

1. C:\WINDOWS\assemblyにC:\Program Files\Microsoft ASP.NET\ASP.NET 2.0 AJAX Futures January CTP\v1.0.61025\Microsoft.Web.Preview.dllをコピー

2. C:\WINDOES\assemblyにC:\Program Files\AjaxControlToolkit\SampleWebSite\Bin\AjaxControlToolkit.dllをコピー

参考URL: http://cs.gogo-asp.net/blogs/naoki/archive/2006/10/23/ASP.NET-_2200_AJAX_2200_-_5EFF_-AJAX-Control-Toolkit-_7E306730A430F330B930C830FC30EB30573066307F30883046300230_.aspx

| | コメント (0) | トラックバック (0)

2010年5月17日 (月)

sqlplus(PL/SQL)でdbms_output.putlineの表示

PL/SQLをsqlplusより実行していると、dbms_output.putlineでデータを表示したいときがあります。
そのときによく忘れるのが、set serveroutput onをすることです。
これをしないと表示されませんので、気をつけましょう。

| | コメント (0) | トラックバック (0)

2010年5月15日 (土)

IS NOT NULLの回避方法

SQLを組んでいるとIS NOT NULLを使用する場面が出てきます。
IS NOT NULLを使用すると処理速度が遅くなると言われています。
そこで回避方法がないか調べてみました。

例) TBL_AからCLM_AのデータがNULLでないデータを抽出する

NOTを使う方法だと、こういうふうにかけます。

SELECT * FROM TBL_A A
WHERE A.CLM_A IS NOT NULL

これをNOTを使わずに書くには、こんな書き方があります。

SELECT * FROM TBL_A A
WHERE A.CLM_A = A.CLM_A

引用元:http://d.hatena.ne.jp/CAMUS/20051106/1131241412

こういう書き方をすると回避できるようです。

| | コメント (0) | トラックバック (0)

2010年4月23日 (金)

SQL/PLUSでPROCEDUREの中身を見る

select text from user_source where name='procedure名';

| | コメント (0) | トラックバック (0)

2010年4月 3日 (土)

SQLPLUSのメモ

sqlplusのコマンドをいくつか覚えたのでメモ。

項目 コマンド 説明
接続 sqlplus ユーザ名/パスワード 通常接続
sqlplus system/manager 全オブジェクトが見える
sqlplus sys/sys as sysdba データベースのシャットダウン等も出来る
バッファ list 現在のバッファを表示(実行したSQL文)
ed 現在のバッファを編集
del 現在のバッファの削除
run 現在のバッファの実行
save 現在のバッファをファイルに保存
get ファイルからバッファへ読み込む
環境変数 show all 設定されている環境変数を全て表示する
set linesize 1000 行のサイズを1000バイトにする
スキーマ desc テーブル名 スキーマの確認
行のフォーマット変更 column カラム名 format a20 指定したカラム名を20文字表示に変更(sqlplus終了まで有効)
行数を指定したSELECT文 select * from テーブル名 rownum < 行数 指定した行数より少ない件数を表示
文字コードの変更 export NLS_LANG= UTF8 = Japanese_Japan.UTF8
SJIS = Japanese_Japan.JA16SJIS
EUC = Japanese_Japan.JA16EUC


| | コメント (0) | トラックバック (0)

2010年3月23日 (火)

gdbデバッガーでCのプログラムをデバッグ

とあるCのプログラムをUbuntuに移植することになりました。
なかなかうまく動かずどこが原因か特定するためgdbを使用しました。

簡単な使用手順です。

まずはコンパイルするときに-gオプションでデバッグ情報を埋め込みます。

gcc -g test.c

といった感じに。
次にgdbを起動します。

gdb test

ここではtestという実行ファイルを読み込んで起動してますが、
gdbを起動したあとにfileコマンドで読み込んでも同じです。

gdb
file /home/aaa/test

まずはブレイクポイントの設定です。
設定例

break main
break 100

1つ目はmain関数にブレイクポイントを設定しました。
2つ目はソースの100行目にブレイクポイントを設定しました。

そうしましたらrunコマンドで実行です。

r

breakポイントで止まるので次のコマンドで進めていきます。

s  STEP実行
n  NEXT実行
c  continue

sは関数があればその関数の中に入っていきますし、nは関数の中には入りません。cは次のブレイクポイントまで実行します。
一度コマンドを入力したら続けてEnterを押せば同じコマンドを繰り替えしてくれます。

途中でソースが見たくなったらlistコマンドで表示できます。

list 200

ソースの200行目を中心として前後10行表示します。
Enterで先に送れます。

変数の内容が見たい場合はprintコマンドです。

p hensuu

変数の内容を常に追跡したい場合はdisplayコマンドです。

display hensuu

あとは、途中で画面をクリアしたくなったらshellコマンドからclearを実行します。

shell clear

途中でshellに入る場合はそのまま引数なしでshellコマンドを実行し、exitでgdbに戻れます。

あとはメモリの内容を表示したい場合はexamineコマンドです。

x アドレス

例: x/8xb 0xffff0011 、 アドレス0xffff0011の中をHEXで8個見せる

  • n 規定値1 、uで指示した単位    
  • f 表示形式、規定値は16進    
  • u メモリサイズの単位    
    • b バイト       
    • h 2バイト       
    • w 4バイト(規定値)       
    • g 8バイト    

これぐらい使えればいいんじゃないでしょうか。

参考URL
http://www.fireproject.jp/feature/gdb/
http://www.madlabo.com/mad/edat/GDB/index.htm#SEC23

| | コメント (0) | トラックバック (0)

2010年2月17日 (水)

○○を含まない正規表現

            正規表現である文字を含まないパターンのメモです。

1文字の場合・・・シングルクォーテーションを含まないパターン

[^']*

2文字の場合・・・シングルクォーテーションとアットマークを含まないパターン

(^((?!')(?!@).)*$)

単語となると複雑です。

http://www.kt.rim.or.jp/~kbk/regex/regex.html#NOTINCLUDED
ここを使用すると自動作成してくれます。

| | コメント (0) | トラックバック (0)