2014-08-01から1ヶ月間の記事一覧

円周率の定義

(define pi (* 2 (asin 1)))

今日のscheme

(string-length c) : 文字列cの長さを返す > (define cc "test") cc > (string-length cc) 4 (symbol->string a) : シンボルを文字列に変換する

ファイルの削除

> (remove "*.jpg")

二重のIF文

> (if (string=? aa "AA") (if (string=? bb "BB") (display cc) ) ) >

2つのdisplayを同時に実行する

if文で使える。 > (define aa "Hello") > (define bb " World!") > > (define (test) (display aa)(display bb) ) test > (test) Hello World! >

今日のscheme

let : 局所変数を定義 set! : 代入 map : リストに対して手続きを作用させた結果を返す cdr : 対の右側を取り出す memq : 記号がリストに含まれていないなら#f car : 対の左側を取り出す

今日のscheme

ファイル存在確認 (file-exist? "AAA") ---"AAA"というファイルが存在するか? #tか#fを返す。 文字列が含まれているか (substring? "aa" some-string) --- 文字列some-stringの中に"aa"が含まれているか? #tか#fを返す。 否定 (not #t) --- #fを返す。 (no…

今日のscheme

schemeに慣れなければ、いつまでも読めない。 define : 変数の定義。変数に値を関連付ける 例) > (define file-number 10) file-number > (display file-number) 10 string-append : 文字列の結合 例) > (define hoge1 "123") hoge1 > (define hoge2 "456"…

マルチスレッド実行のテスト

IronPythonでのマルチスレッド実行方法をテストする。GUI画面を起動するときのイベントループを別スレッドで実行するには、どうすればよいか?テストコードを以下のように書く。2つの画面を立ち上げただけだが...。Single Threaded Apartment (STA) threadと…

IronPythonの参考文献

最近読んでいる本。他にめぼしい本がない。IronPythonの世界 (Windows Script Programming)荒井 省三 ソフトバンク クリエイティブ 2007-03-28売り上げランキング : 176564Amazonで詳しく見る by G-ToolsIronPython in ActionMichael J. Foord Christian Mui…

ESCキーを押したときの挙動をボタンを押したときの挙動と結びつける

SharpDevelopのTips。画面上のCancelボタンを押すと画面が閉じるようにする。この処理をCancelボタンを押さずに、ESCキーを押したときにも実行されるようにする。まず、ボタン付きの画面を作成する。設置したボタンのDesign (Name)をbuttonCancelとした。こ…

メニュー項目にショートカットキーを設定する

IronPythonで作成するGUIについて、メニュー項目にショートカットキーを設定したい。 SharpDevelopのデザイン画面で、まずメニューを設置する。ここでは、ウィンドウを閉じるExit項目だけの簡単なものを作成した。メニュー項目Exitのプロパティを見ると、「M…

ウィンドウのサイズを変えたときのボタンの振る舞い

ウィンドウのサイズをマウスでいじるときに、配置されたコントロールの動きというか振る舞いを規定したい。それらはボタンのプロパティの中の「Layout」の「Anchor」で調整することができる。今の場合だと、このボタン(Button1)はウィンドウの左側と上側か…

コントロールにツールチップを表示する

マウスポインタを重ねたときに、ツールチップが表示されるようにする。 フォームデザイナを使用して設定を行う。まずボタンを二つ配置する。 これらボタンにマウスポインタを持っていくと、ツールチップを表示するようにしたい。Windowsフォームのツールボッ…

ツールボックスのWindowsフォームにあるTimerの設定方法

デザイナ画面でGUIの作成を行う場合に、WindowsフォームデザイナーのツールボックスにあるTimerをどのように設定したらよいか不明だったので、調べたことをまとめておく。 SharpDevelopを使った場合の具体的な操作を記述するが、同じ操作はVisual Studioにも…

import osに失敗する(SharpDevelopで実行すると)

SharpDevelopでIronPythonのコードを書くとき、なぜかosモジュールのインポートに失敗する。原因は不明。下のサンプルコードは、ボタンを押してファイルを選択する。選択されたファイルのファイル名だけがボタン上に表示される。os.path.basename()を使って…

メニュー項目にアイコンを表示する

メニュー項目にアイコンを表示するサンプルコード。 SharpDevelopのGUIにおいて、アイコンファイルを指定して自動的にコードを生成するとRunしてもエラーとなって表示できない。この現象はアイコンに限らず他の画像ファイルを表示するときにも同じことが起こ…

GUIからPDFファイルを開きたい

IronPythonで作ったGUI上のボタンを押すと、PDFファイルを開くようにしたい。PDFファイルを開くためにはどうすればいいのかというところがポイントになるが、Process.Startを使うと、指定した文書を関連づけられた外部プログラムで起動できるようなので、こ…

プログレスバーをマーキースタイルで実行する

処理にかかる時間が不明な場合、プログレスバーをマーキー(Marquee)スタイルで実行するのが自然だ。その処理をどう書くか?マーキースタイルのプログレスバーは表示を開始した時点から動き始める。止める方法が分からなかったので、処理を始めるときに表示し…

ウィンドウにアイコンを表示する

SharpDevelopで作成するWindows Form Applicationのウィンドウにアイコンを付加する。下のコードのように、一番最後の行を加えればよい。アイコンファイル(拡張子ico)は事前に用意しておく。 import System.Drawing import System.Windows.Forms from Syst…

画面上(のPictureBox)をクリックしたときの処理

ウィンドウ画面上をマウスでクリックしたときに、表示されている画像が90度回転されるような処理を実現する。 まず、PictureBoxを配置して画面全体を覆うようにする。ここに画像ファイルを貼り付ける。画像ファイルは外部ファイルとしてパスで指定する。Pict…

タブにファイルを表示する

指定したディレクトリにおいて拡張子がicoである画像ファイルを、タブを表すタブコントロールに表示するプログラム。 import System.Drawing import System.Windows.Forms import System.IO from System.Drawing import * from System.Windows.Forms import …

ツリービューの構成要素を変更する

ツリービューにノードを追加したり削除したり、子ノードを追加したり削除したりするサンプルを検討する。 参考にするのは、IronPythonのサンプルの中の、FMsynthというプログラムになる。基になるツリービューは、SharpDevelopのデザイン画面で作成した。ボ…

ツリービューの選択されたアイテムを判別

ツリービューを表示して、そこで選択されているアイテムを判別する。ツリービューは、SharpDevelopのデザイン画面でToolsから選んできて配置する。そのアイテムをクリックしたときに、アイテム名を表示するサンプルを書く。プログラムは以下の通り。sender.S…

システムトレイにアイコンを表示する

システムトレイにアイコンを表示するにはどうするか?IronPython-2.6-Samplesの中にあるチュートリアルWinFormsMapPointに方法が示されている。簡略化したサンプルコードを以下に示す。 import clr clr.AddReference("System.Windows.Forms") clr.AddReferen…