Mono
PPAのパッケージを更新 PPAリポジトリ ppa:kakurasan/stable ppa:kakurasan/unstable で公開しているパッケージは既にUbuntu 14.04向けの更新が完了している。パッケージの内容自体は基本的に前の13.10のときのものと同じで、変更点はrxvt-unicodeのバージョ…
バージョン1.4以上のopenBVEのアドオン管理について(バージョン1.4系時点) openBVEでは、バージョン1.4系(開発版では1.3.2)からアドオン管理機能が利用できるようになっている。 この機能は、openBVEで利用可能な追加の機能やデータをアプリケーション内で管…
概要 C言語で利用可能な多目的ユーティリティライブラリのGLibは(GTK+とともに)LGPLライセンスで公開されているが、使い方によってはLGPLライセンスでは都合が悪い場合もある(例:プロプライエタリなソフトウェア内への組み込み)。 Monoプロジェクトでは、こ…
この記事についてメールマガジンの系統は「自由テーマ」です。 「メールマガジン:Boo言語でカレンダーのデータを扱う」の続きとして、テキスト形式とHTML(ソース)形式の整形済みカレンダーを(標準出力へ)出力する処理についてをBoo言語を用いて扱っています…
この記事について 途中までの内容 この記事についてメールマガジンの系統は「自由テーマ」です。 Mono/.NETの基本クラスライブラリ(BCL)の中にはカレンダーのデータを扱うためのクラスが存在しますが、このクラスの使い方と任意の年・月の日付/曜日一覧を(和…
この記事について メールマガジンの系統は「自由テーマ」です。 「メールマガジン:LibreOfficeをBoo言語で制御する(メッセージダイアログの表示)」の続きとして、LibreOfficeをBoo言語で制御する上での簡単なメッセージダイアログの表示についての続きと簡単…
「Debian/Ubuntuにおけるbinfmt_miscに関するメモ(Ubuntu 11.04時点・前半)」の続き。 判別ツール(detector)について 前半の「update-binfmts --display」の出力を見ると、同じ「MZ」という内容のマジックが Mono/.NETアセンブリ(Monoから使用) Windowsの実…
この記事について メールマガジンの系統は「自由テーマ」です。 「メールマガジン:LibreOfficeをBoo言語で制御する(処理の流れ2,簡単な例)」の続きとして、LibreOfficeをBoo言語で制御するプログラムの中でメッセージダイアログ(メッセージボックス)を扱う上…
Debian/Ubuntuでは、「シェルから直接Windowsアプリケーションを起動できる「binfmt_misc」」で扱ったbinfmt_miscの管理が独自なツールで行われており、幾つかの種類においては自動的に(特に手動での作業をすることなく)扱いやすい設定になっていることが分…
この記事について メールマガジンの系統は「自由テーマ」です。 「メールマガジン:LibreOfficeをBoo言語で制御する(処理の流れ)」の続きとして、LibreOfficeをBoo言語で制御する上での処理の流れについての続きと簡単なコード例についてを扱っています。 既…
この記事について メールマガジンの系統は「自由テーマ」です。 「メールマガジン:LibreOfficeをBoo言語で制御する(使用する名前空間,データ型と型変換)」の続きとして、LibreOfficeをBoo言語で制御する上での処理の流れについて、途中までを扱っています。…
この記事について メールマガジンの系統は「自由テーマ」です。 「LibreOfficeをBoo言語で制御する(概要,必要なパッケージ,大まかな流れ,コンパイル)」の続きとして、実際のプログラムを記述する上での 使用する名前空間 Boo言語におけるLibreOfficeのデータ…
LibreOffice(やOpenOffice.org)では、内部の機能を色々な言語で制御できるようになっているが、Mono/.NETの言語(C#やBoo言語など)を用いて制御を行うこともできる。 ここでは、Boo言語(関連記事)を用いてLibreOffice(やOpenOffice.org)の簡単な制御を行うた…
「バージョン1.2.12系以上のopenBVEのユーザごとのデータ保存ディレクトリについてとシミュレータ開始後に正常にメインウィンドウに戻らない場合の対処(前半)」の続き。 本体のあるディレクトリ以下にデータを保存したい場合とシミュレータ開始後に正常にメ…
openBVEのバージョン1.2.12系(開発版は1.2.11系)からは設定ファイル群は各ユーザごとの設定ディレクトリに保存されるようになっている。これはMonoや.NET Frameworkの基本クラスライブラリにおけるSystem.Environment.SpecialFolder.ApplicationDataの値に基…
ここではBoo言語を用いた簡単なプログラム例として、端末への固定文字列の表示と空のGtk#のウィンドウ表示の例を扱う。 端末に固定文字列を表示する メモ 端末に文字列を表示するには組み込みのprint文かprint()関数(ともに末尾に改行が付く),もしくは基本…
Booについて Booは共通言語基盤(CLI)の実装(Monoや.NET Framework)上で(OSやアーキテクチャに依存せずに)動作するプログラムを記述するための言語名(Boo言語)であり、同言語で書かれたプログラムを扱うツール群でもある(ライブラリ含む)。ライセンスはBSDス…
Mono/.NET車両プラグインのサポートについて 本家BVE Trainsimで導入された車両プラグインはWin32専用のDLLという形をとっており、openBVEではWin32上でしかこれを利用できない。 この問題に対処するためopenBVEではMono/.NETアセンブリのDLLという形の保安…
GTK+とその多くの言語バインディング(例:PyGTK)では、描画エリア(GtkDrawingArea)への描画処理を記述する場合にはGTK+の下位ライブラリのGDKもしくは高い表現力を持つCairoライブラリを用いることになる(関連記事:前半 後半)。 しかし、Mono/.NET向けのGtk#…
「PyGObjectで gobject.GObjectクラスを継承してGObjectプロパティを用いる(後半)」ではPyGObjectでプロパティ値が変更されたときにGObjectのシグナルを用いてハンドラと関連付ける処理を扱ったが、ここではVala言語とC#言語の場合についてを扱う。 Vala Va…
プロパティについて C#言語とVala言語では、クラスの中でメンバ関数とメンバ変数の両方の性質を併せ持つプロパティというものが使用できる。 これはクラスのメンバをクラスの外から読み書きするときに クラスの中からはメンバ関数のように記述して クラスの…
「PyGTKで最近開いたファイルを記憶する」で最近使用したファイル一覧へファイルを追加するためのコードをPython(PyGTK)で記述したが、ここでは同じことをC#言語(Gtk#)とVala言語で書いてみた。 (2009/7/10)ボタンのラベルなどの微調整を行った。 C#(Gtk…
Vala言語はC#言語に近い文法を持つが、クラスを継承したときの親クラスのコンストラクタの呼び出しに関する挙動は異なる。 親クラスの引数なしコンストラクタはVala言語では自動的には呼ばれない 親クラスのコンストラクタを引数付きで呼ぶ Vala言語で親ク…
Vala言語と(影響を受けている)C#言語では、関数へ引数を渡すときに「ref」や「out」といったキーワードが手前に渡されることがある。 ref/outの効果 「ref」や「out」は関数を呼ぶ側で定義した変数を引数にして渡したときに、その内容を関数の中で操作した…
「GLibで連結リスト(リスト構造)にデータを追加する方向とその時間について」のテストをC#言語に移植してMono上で実行してみた。 メモ GLibのGTimerに相当する機能*1はC#ではSystem.Diagnostics.Stopwatchオブジェクトとなり、使い方も似ているが、経過時…
「Gtk#のコード作成上の覚え書き」のメモに加えて少しの追加メモを書いてから、「PyGTKでシステムトレイを使用してメニューを表示する」をGtk#に移植したものを貼り付ける。 メニュー項目の作成について 内蔵のストックアイコンを用いつつメニュー項目には…
「PyGTKでシステムトレイを使用してメニューを表示する」と同じ処理をGtk#で書いてみたのだが、そのコードを貼り付ける前に作成上の幾つかのメモを先に書いておくことにする。C#言語に関するものも含む。 C#におけるクラスの継承 クラス定義のとき、クラ…
NautilusなどのGUIファイルマネージャやbinfmt_misc(関連記事)ではファイルの種類に応じてそれを開いたときに、関連付けられたアプリケーションに引数としてそのファイルを渡すことができる。しかし、.exeファイルの場合 Wine上で動作するWindows向けの実行…
ここではMonoDevelopを用いて小さなGtk#*1アプリケーションを作成する上での作業についてメモしておく。コードはほとんどいじっていないので、C#言語についての内容はほとんどここでは扱っていない。VB.NETについては今後も扱う予定はない。 作成手順 Mono…
「Pythonにおけるクラスの静的メンバについて」で静的メンバについて扱ったが、Pythonはその扱い方は特殊な例に入ると思われる。 ここではそれと同じことをC#という言語で書いてみることにする。 なお、C#については初心者で全く詳しくないので、色々なテ…