「Doslib」の版間の差分
| 39行目: | 39行目: | ||
<div class="mcol2">  | <div class="mcol2">  | ||
* CAD 系関数  | * CAD 系関数  | ||
** dos_acitorgb  | ** [[dos_acitorgb]]  | ||
** dos_rgbtoaci  | ** [[dos_rgbtoaci]]  | ||
** dos_hlstorgb  | ** [[dos_hlstorgb]]  | ||
** dos_rgbtohls  | ** [[dos_rgbtohls]]  | ||
* ディレクトリ系関数  | * ディレクトリ系関数  | ||
** dos_deltree  | ** [[dos_deltree]]  | ||
** dos_dir  | ** [[dos_dir]]  | ||
** dos_dirp  | ** [[dos_dirp]]  | ||
** dos_dirtree  | ** [[dos_dirtree]]  | ||
** dos_mkdir  | ** [[dos_mkdir]]  | ||
* ファイル系関数  | * ファイル系関数  | ||
** dos_copy  | ** [[dos_copy]]  | ||
** dos_encrypt  | ** [[dos_encrypt]]  | ||
** dos_fileex  | ** [[dos_fileex]]  | ||
** dos_getdir  | ** [[dos_getdir]]  | ||
** dos_getfilem  | ** [[dos_getfilem]]  | ||
* インターフェイス系関数  | * インターフェイス系関数  | ||
** dos_popupmenu  | ** [[dos_popupmenu]]  | ||
* 文字系関数  | * 文字系関数  | ||
** dos_strtokens  | ** [[dos_strtokens]]  | ||
** dos_strtrim  | ** [[dos_strtrim]]  | ||
** dos_strtrimleft  | ** [[dos_strtrimleft]]  | ||
** dos_strtrimright  | ** [[dos_strtrimright]]  | ||
* システム系関数  | * システム系関数  | ||
** dos_clipboard  | ** [[dos_clipboard]]  | ||
** dos_command  | ** [[dos_command]]  | ||
** dos_guidgen  | ** [[dos_guidgen]]  | ||
</div>  | </div>  | ||
2023年12月1日 (金) 19:05時点における版
DOSLib は、AutoCAD や BricsCAD に含まれている LISPプログラミング言語にない機能を提供する LISP 関数のライブラリ。(著作権:Robert McNeel & Associates, Dale Fugier)
(うちの GzLib もこれと同じような発想で始めたところがある) だいたいの内容は VL系関数で事足りるので、今となっては不要なものも結構ある。
- 元サイト: https://wiki.mcneel.com/doslib/home
 - オープンソース化されてる >> https://github.com/dalefugier/DOSLib
 - ドキュメントは github の wiki に >> https://github.com/dalefugier/DOSLib/wiki
 - BricsCAD では一部が標準的に組み込まれている。
 
DOSLib では、次のような LISP関数が使えるようになる。
- "ドライブ" - ドライブを確認し、ドライブを変更し、使用可能なディスク容量を確認します。
 - "パス" - パス仕様を操作します。
 - "フォルダ" - フォルダの作成、名前の変更、削除、選択、および変更。 特別なオペレーティングシステムフォルダを返します。
 - "ファイル" - ファイルのコピー、削除、移動、名前変更、および選択。 ディレクトリリストを取得し、ファイルの複数のインスタンスを検索して検索し、ファイル属性を変更します。
 - "印刷" - デフォルトのプリンタを取得および設定し、印刷ファイルをスプールします。
 - "構成" - Windowsスタイルの初期化(INI)ファイルを操作し、Windowsレジストリにアクセスします。
 - "プロセス" - オペレーティングシステムのコマンドまたは他のプログラムを実行します。
 - "インターフェイス" - ユーザーから文字列、整数、実数、リストを取得します。 Windowsメッセージボックス、進行状況メーター、およびスプラッシュ画面を表示します。
 - "文字列" - 文字列のトークン化、文字の抽出、文字の検索、文字の挿入、削除、置換、および文字のトリミング。
 - "数学" - 三角関数の計算、ベクトル操作、統計分析など。
 - "CAD" - すべてを保存し、開いているすべてのファイルを閉じます。 図面をプレビューし、外部参照を一覧表示します。
 - "システム" - システム情報の取得、リストの並べ替え、システムの日付と時刻の変更、キーボードの操作、サウンドの再生。
 
BricsCAD の実装
BricsCAD では、V15 より、DOSLib関数をネイティブ関数として実装し、既存の AutoLISPツールやアプリケーションがこの Lispインターフェースに基づいている場合の互換性を高めるとともに、Linux+Macへのアプリケーション移植をサポートするようになった。
DOSLib が提供する Lispインターフェース関数(dos_xxx)はかなり大きな量があるため、まずは要望の多い関数から始め、徐々に要望に応じて DOSLib の関数を追加していっている状況。( BricsCAD_における_AutoLISPの仕様追加・変更履歴を参照。)
ただし、McNeel の DOSLib をすべて置き換えることを目標とはしていないようで、Linux+Mac への移植を希望する Lisp開発者には、DOSLib関数の使用量を減らして VLE-関数や ExpressTools API関数を利用することが勧められている。 また、Windows 上で動作する Lisp アプリケーションの場合、DOSLib モジュールのロードを継続することが強く推奨されている。 これらの DOSLib関数は、現在、.NET Framework 2.0 として提供されている。
DOSLib for Linux + Mac でサポートされている関数
BricsCAD V22 時点
- CAD 系関数
 - ディレクトリ系関数
 - ファイル系関数
 - インターフェイス系関数
 - 文字系関数
 - システム系関数