2009年7月23日 (木)

『プロダクティブ・プログラマ』と『Ruby逆引きレシピ』

を買ってみた。偶然どちらも島田浩二さんという方が関わっているタイトルだった。

『プロダクティブ・プログラマ』の方は予想外に面白かった。内容が組織論などじゃなく個人向けなのが趣味でプログラミングやってる自分向け。第1部は、読んでると自作のフリーウェアを作ったり改良したりしたくなる部分もあって、その意味でもモチベーションが強まってきたりする。

翔泳社の『Ruby逆引きレシピ』は、店頭で見て『Ruby逆引きハンドブック』よりも軽くて安くて内容にひねりがある(?)ように感じたので買ってみた。ただしボリュームは劣る。ハンドブックの方も楽天かAmazonのポイントがいくらか貯まったら買ってみるつもり。

でもその前に『コードの世界』読み切っちゃわないと(^^;)

| | コメント (0)

2009年6月24日 (水)

[Ruby] ドキュメント 「Windows XPにRubyとRuby-GNOME2をインストールする」を公開

WindowsでRuby-GNOME2(GTK+)プログラミングを行うための方法を説明した文書。

| | コメント (0)

2009年5月26日 (火)

【メモ】Wassr APIの画像投稿機能について

プログラミングメモ
Wassr APIの画像投稿機能について

| | コメント (0)

2009年5月23日 (土)

投稿専用Wassr/Twitterクライアント

をRubyとGTK+で作ってみました。使うにはRubyとRuby-GNOME2をインストールする必要があります。

詳しくはこちら

| | コメント (0)

2009年4月 9日 (木)

【メモ】 Rubyスクリプトから共有ライブラリの関数を呼び出す

DLモジュール

参考資料:
http://ttsky.net/ruby/ruby-dl-doc-ja/rbdl.pdf (立石孝彰さん)

| | コメント (0)

2008年11月 7日 (金)

【メモ】Windows XPにOne Click Ruby Installerとqtruby4とQtをインストールしてQtプログラミング(更新)

●Rubyをダウンロードしてインストール
http://rubyforge.org/projects/rubyinstaller/

●gemでqtruby4をインストール
sonotaさんのブログ記事などを参考に。

●Qtをダウンロードしてインストール
 (→ mingwm10.dllがあればこの作業は不要。追記を参照)
http://trolltech.com/downloads/opensource/appdev/windows-cppでコンパイラ付きオープンソース版のexeファイルをダウンロードして実行。
(ftp://ftp.trolltech.com/qt/source/qt-win-opensource-4.4.3-mingw.exeなど)

●環境変数PATHにQtインストールフォルダ直下のbinフォルダのパスを登録。
 (→ Qtをインストールしなければ不要。追記を参照)
例:c:\Qt\4.4.3\bin
(ユーザ環境変数、システム環境変数のどちらでもよい。環境変数をいじる時の注意についてはこちらを参照)

●Windows再起動

qtruby4でインストールされるファイルを見ると、Qtを別にインストールする必要はないんじゃないかと思うんですが、qtruby4だけではこちらのチュートリアルのサンプルスクリプトが動かなかったので、自分は仕方なく上記のようにしました。

(2008/12/21追記)
ネットで調べていたところ、qtruby4だけでスクリプトが動かないのは、mingwm10.dllというファイルがないことが原因なのではないかと思い当たり、英語ページをググって見つけてダウンロード、Rubyのbinフォルダにコピーし、再度サンプルスクリプトを実行してみると、ビンゴ。無事動きましたとさ。

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

2008年11月 1日 (土)

GTK+の参考書

最近Ruby + GTK+のプログラミングにはまってるので、Foundations of GTK+ Development(C言語用)を買ってみた。けっこう読みやすい。ネットにある程度日本語の情報もあるから、それを補完するものとして役に立ちそう。英語の文章はどうしてもモニタで読むにはきついところがあるし。巻末には、ウィジェットのプロパティ、シグナル、スタイル、ストックアイテム、GErrorタイプの一覧あり。

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

2008年9月28日 (日)

起動時のコマンドライン引数に検索キーワードを指定可能なhh.exe代替ソフト

(Ruby)プログラマにとって嬉しいソフトを見つけた。検索したいキーワードを引数に指定してchmビューワを起動することができるhhh.exeだ。

このソフトがあれば、chm形式のヘルプが用意されている言語でプログラミングをするモチベーションが増すのは間違いない。

動作としては、たとえば「c:\programs\hhh\hhh.exe c:\documents\ruby-refm-1.8.6.chm "array"」といったコマンドラインを実行すると、指定したヘルプをビューワで開き、キーワードタブをアクティブにして、入力欄に「array」と入力するところまでを自動でやってくれる。

自分が確認した限りでは、残念ながらヒットしたページを表示することまではやってくれないが、十分便利だ。

(2008/11/01追記: 上の取り消し線を引いた部分の記述は正確ではありませんでした。場合によってはヒットしたページを表示してくれます。すみません、訂正します。)

選択テキストを引数として取り込んだ上でコマンドラインを実行してくれる機能を持つエディタと組み合わせることで、日々のプログラミングライフがより快適になると思う。

キーワード対応版hh.exe

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

2008年8月 1日 (金)

オライリー『入門bash 第3版』のp.100の内容について

p.100の部分文字列展開演算子の使用例について。

「アルバム名」って何? どこにそんなデータがあるの? offsetの「8」って何?

一つ目のコード例の説明の「8文字目以降」って「9文字目以降」の間違いでは?

二つ目のコード例の「:0:7」って「:0:8」の間違いでは?

なんか支離滅裂。内容からして原著からのミスっぽいけど。

『入門bash 第3版』

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

2008年7月15日 (火)

RubyのARGFについてのメモ

Q.
ARGFはコマンドライン引数がない場合、$stdinにつながるということだが、オプション指定引数のみがある場合などはどうなるのか?

A.
ARGVにひとつでも引数が渡されていれば、それが有効なファイル名か否かにかかわらず、ARGFはeach_lineなどのメソッドが呼び出された時点で、($stdinから読み込むのではなく)引数をファイル名とみなしてデータを読み込もうとしてしまう。(有効なファイル名でなければ例外が発生)

従ってコマンドライン引数にファイル名でないものが含まれる可能性があり、それでもARGFを使いたい場合、ARGFにアクセスする前にARGVの内容をチェックして、オプション指定引数などの明らかにファイル名でないものは削除し、別に用意した変数に移しておく。

その後であれば、ARGFからデータの読み込みを行うことができる。(ARGVに引数が残っていればその名前のファイルから。そうでなければ$stdinから。)

(ruby 1.8.6 (2007-09-24 patchlevel 111) [i386-mswin32]で動作確認)

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

2008年6月29日 (日)

『初めてのRuby』を読んでみた

他言語でのプログラミング経験がある人のためのRuby入門書。著者によれば、「「Rubyリファレンスマニュアル」をよみこなせるだけの基礎知識を提供」している。仕様の説明とともにRubyらしい考え方の紹介がちりばめられた本。

以下、気が付いたこと、感想。

通常の同サイズのオライリー本よりも本文に使われているフォントのサイズが小さい。従ってページ単位で見てより多くの情報がつまっている。筆者の趣味なのか(本書は翻訳ではなく日本人の著者による書き下ろし)、それともレイアウトの都合なのかは分からない。自分は文字が小さい本は嫌いではないので、とりあえずこの本に関しては歓迎。(余談だが、この本の扉を開いたとき、違和感から以前文庫版『指輪物語』(旧版)を読んだときのことを思い出した。)

文章とその内容は、外国人によって書かれそれを翻訳した本でよくあるような(時には邦書にさえあるような)、あいまいorわかりにくいor冗長or無味乾燥なものではなく、ポイントを押さえたRubyの基礎知識がピントの合った文章で丁寧にしかもコンパクトに解説されている。

適度なページ数であるとともに、バージョン1.9対応の情報も含めRuby言語の特徴がとてもよくまとめられているので、ふとした時に気軽に手に取れるデスクトップリファレンスとしても使えそうな感じ。

『初めてのRuby』
『初めてのRuby』サポートページ

(2008/07/02追記)
改版の機会があったら、コラムの目次もぜひ付けるべき。自分のには手書きで追加するつもり。

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

2008年6月27日 (金)

(メモ)Windowsのファイル名に使えない文字

\ / : , ; * ? " < > |

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

2008年3月 3日 (月)

HSPサンプルスクリプト - 標準入力をパイプにリダイレクトして起動したコンソールアプリケーションに直接データを流し込む時の注意

標準入力をパイプにリダイレクトして起動したコンソールアプリケーションに直接データを流し込む時は、最後にヌル文字を書き込む必要があるので注意。

つづきを読む

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

2007年12月20日 (木)

オライリー・ジャパン、2008年カレンダープレゼントキャンペーン中

動物の表紙のプログラミング本でおなじみのオライリー・ジャパンが、直販サイトから書籍を購入した人に卓上カレンダーをプレゼントするキャンペーンを実施中とのこと。このキャンペーン、リアル書店でもやっているのを近所の書店で確認。

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

2007年7月28日 (土)

IronPython サンプルアプリケーション - 付箋紙風メモソフト

IronPythonで作成した、かろうじて付箋紙っぽいシンプルなメモソフトのソーススクリプト。

つづきを読む

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

2007年7月 9日 (月)

Windowsプログラミング Tips 「コンソールアプリケーションに設定される標準入出力ハンドルのデフォルト値」

コンソールアプリケーションが起動されるときにデフォルトで設定される標準入出力ハンドルの値について。

詳しくは「プログラミング工房」へ。

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

2006年12月18日 (月)

『Binary Hacks』サンプルPDF

『Binary Hacks』のサンプルPDFがオライリー・ジャパンのサイトで公開中。

http://www.oreilly.co.jp/

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

2006年11月26日 (日)

Ruby Tips 「クリップボードを利用する」

 外部ライブラリを利用してWindowsでクリップボードを操作する方法。

 詳しくはサイドバーリンクの「プログラミング工房」へ。

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

2006年11月11日 (土)

PowerShell 1.0 RC2でスクリプトファイルを実行可能にする方法

PowerShellコンソールで「Set-ExecutionPolicy RemoteSigned」を実行。

詳細はぐぐって下さい。実行は自己責任で。

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

2006年11月 9日 (木)

WideStudio/MWT Win32版バイナリパッケージ v3.96-1

WideStudio/MWT Home page

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

2006年10月30日 (月)

HSPプログラムコンテスト2006公式ページ更新

HSPプログラムコンテスト2006公式ページ更新。応募作品数は350を突破。

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

2006年10月 3日 (火)

WideStudio Win32版バイナリパッケージ v3.95-1

WideStudio/MWT Home page

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

2006年9月12日 (火)

Ruby公式サイトリニューアル

なんかかっこよくなってる(笑)

http://www.ruby-lang.org/ja/

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

2006年8月30日 (水)

HSP3 サンプル スクリプト 「月間カレンダーコントロール関連定数」

 ウィンドウズのコモンコントロール「月間カレンダーコントロール」関連の定数リスト。

 ソースはサイドバーリンクの『プログラミング工房』 - 「HSPの部屋」にあります。

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

注目の新刊 『プログラミングRuby 第2版』

 プログラミングRuby 第2版 言語編

 Dave Thomas (著) / オーム社 / 2006-08-26 / 434 ページ / ¥ 3,990

 プログラミングRuby 第2版 ライブラリ編

 416 ページ / ¥ 4,410

 ようやくの第2版。原書の発売時期とはかなりのタイムラグがあるが、やはり日本語版が出るというのは大きい。

 [ 内容紹介 ] : オーム社のサイトより引用

●定評があるRubyの解説書を、Ruby作者の監訳により日本語に翻訳

 Rubyは、まつもとゆきひろ氏によるオブジェクト指向プログラミング言語で、楽しく生産的なプログラミングを支援する。言語本来の強力さと使いやすさに加えて、アジャイル開発との相性の良さや、Webアプリケーション開発フレームワークRuby on Railsの圧倒的な人気などに後押しされて、今では日本だけでなく世界中で使われている。この企画はRubyの定番解説書を作者自身の監訳で翻訳発行するもの。

●このような方におすすめ

 Rubyでプログラムを書きたいと考えている人。具体的にはプログラマ、システム管理者、情報系の学生や研究者など(Webアプリケーションを作りたい人や、Ruby on Railsに興味がある人も含む)。

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

2006年8月26日 (土)

Ruby-mswin32 (ja) 1.8.5 公開

 Ruby 1.8.5のmswin32版が公開されました。

 Ruby-mswin32 (ja)

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

2006年8月20日 (日)

プログラミング工房に「Ruby関連サイト 検索」のページを追加

プログラミング工房に「Ruby関連サイト 検索」のページを追加。

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

2006年8月12日 (土)

Borlandの開発ツール名に「Turbo」が復活

 Borlandが“Turbo”ブランドを復活,YouTubeに広告を投稿 (ITpro)

 「Borland Developer Studio」を各言語ごとに分割したものになるそうです。

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

2006年8月10日 (木)

注目の新刊 『HSPファンブック』

 HSPファンブック

 おにたま (著) / 秀和システム / 2006-08 / 119 ページ / ¥ 1,155

 HSPのことだけでなくフリー言語開発者へのインタビューなども載っているそうです。

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

2006年7月26日 (水)

注目の新刊 『自分で作るLinux OS』

 自分で作るLinux OS

 日経Linux (編集) / 日経BP社 / 2006-07-19 / 196 ページ / ¥ 2,200

 自作ディストリビューションのブームが来る!?

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

2006年7月23日 (日)

HSP Ver3.1β5

Hot Soup Processor オフィシャルホームページ

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

2006年7月17日 (月)

注目の新刊 『逆引きHSP3 プログラミング事典 基本編』

 逆引きHSP3 プログラミング事典 基本編

 さくら・悠黒 喧史・うすあじ・おにたま (著) / 工学社 / 2006-07-21 / 208 ページ / ¥ 2,415

 2.55版の逆引き本はかなり使いでがあったのでこちらも期待できそうです。

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

2006年7月15日 (土)

「HSPプログラムコンテスト2006」ホームページ仮公開

 「HSPプログラムコンテスト2006」のホームページが仮オープンしました。コンテストの作品応募受付期間は8月1日~10月31日となっています。今年はどんな作品で勝負しますか?

 HSPプログラムコンテスト2006

 過去のコンテスト結果のページでは、技術的に優れたものからユニークな発想のものまでさまざまな作品が楽しめます。

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

2006年7月 8日 (土)

HSP Ver3.1β4

Hot Soup Processor オフィシャルホームページ

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

2006年7月 3日 (月)

O'ReillyのSafari Bookshelfサービス

 Safari Bookshelfとは、ユーザ登録を行って月ぎめの料金を払うと、O'Reillyをはじめサービスに参加している出版社のデジタルデータ化された書籍が一定の範囲内(料金コースによって条件が変わる)で読み放題になるというサービスです。

 システムとしては、例えば無料の14日間お試しコースの場合、ユーザはまず10スロットの容量がある「My本棚」を与えられます。スロットとはバーチャルな書籍が占有するスペースの単位で、登録されている多くの書籍は1スロットの容量を消費しますが、中には2スロットや1/2スロットの書籍もあります。

 ユーザは書籍リストの中から好きなものを選んでそれを「My本棚」に入れることで、初めてすべての内容を閲覧できるようになります。「My本棚」に入れていない書籍の場合、サンプル用のごく一部の内容しか見ることができないため、実質読むことができないのと同じです。システムのポイントは、料金コースによって「My本棚」の容量(スロット)が変わることと、一度「My本棚」に入れた書籍は丸30日間「My本棚」から出すことができないことです。

 料金コースは大きく分けて2つあり、Maxコースは「My本棚」に入れた書籍を自由に読めることに加え、1ヶ月につき5章分のPDFを基本料金だけでダウンロードできます(ちなみにこのPDFはダウンロード請求ごとに生成され、ダウンロードしたユーザの情報がしっかり埋め込まれます)。もう一つのBasicコースは基本料金内では「My本棚」に入れた書籍の閲覧のみ可能です。両コースともスロットの大きさを複数から選択でき、Maxコースは最低10スロット($19.99/月)から、Basicコースは最低5スロット($9.99/月)からとなっています。(年間契約による割引あり)

 このサービスは本家O'Reillyのサイトで提供されているものなので、対象の書籍は英語版(原書)のみですが、Basic/5スロットコースであれば少々高めの雑誌を講読する感覚で利用でき、お得なサービスだとは言えると思います。またO'Reilly以外の出版社も参加しており、リストをざっと眺めただけでも、「コード・コンプリート」、「達人プログラマー」、「リファクタリング」、「人月の神話」、「デス・マーチ」、「Code Reading」などリファレンスやチュートリアル形式以外のタイトルも非常に充実している印象です。

 Safari Books Online

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

2006年6月29日 (木)

WideStudio Win32版バイナリパッケージ v3.94-1

WideStudio/MWT Home page

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

2006年6月21日 (水)

HSP3 サンプル スクリプト 「名なしパイプと独自メッセージによるプロセス間通信(エディタと外部プログラムの連携)」

 このサンプルは、名なしパイプと独自のウィンドウメッセージを利用し、2つのアプリケーション間でテキストデータのやりとりを行う機能を記述したスクリプトです。動作確認はHSP3.1 beta3 / WinXP Pro SP2で行っています。

 サンプルの"editor.hsp"と"tool.hsp"は、それぞれランチャー機能付きのテキストエディタと、エディタから起動されてエディタとプロセス間通信をしながら小さな仕事を行うユーティリティを模して書かれています(サンプルなので構造はごくシンプルです)。ちょうどテキストエディタのTeraPadとTeraPadツールのような関係です。(このサンプルはTeraPadの仕組みを調べて書いたわけではありません)

 2つのソフトが行う処理の流れは以下のようになります。

 editor.exe起動(editor.hspを読み込みmesboxに表示。tool.exe起動用のbuttonを表示)(ユーザが操作)
  ↓
 mesbox内のテキストの一部または全体を選択(ユーザが操作)
  ↓
 editor.exeのウィンドウ上のボタンをクリックしてtool.exeを起動(ユーザが操作)
  ↓
 tool.exeがeditor.exeのウィンドウを検知したあと、editor.exeに対して
 mesbox内の選択テキストを送信するように要求する
  ↓
 editor.exeがtool.exeにデータを送る
  ↓
 tool.exeが受け取ったテキストを加工する
  ↓
 tool.exeがeditor.exeに対してデータを受け取る処理に入るように要求する
  ↓
 tool.exeが加工済みのテキストをeditor.exeに送り返す
  ↓
 editor.exeが受け取ったテキストをmesbox内の選択テキストと置き換える
  ↓
 終了

 "tool.exe"は"editor.exe"から起動され自分の仕事を完了すると自動的に終了します……


 続きはサイドバーリンクの「プログラミング工房」で。

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

2006年6月16日 (金)

注目の新刊 『カーニハン&リッチー『プログラミング言語C』を読む』

 カーニハン&リッチー『プログラミング言語C』を読む

小林 健一郎 (著) / 講談社 / 2006-06-09 / 244 ページ / ¥ 2,520

読んでみたいけど、ページ数のわりにちょっと高いな。

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

2006年5月29日 (月)

WideStudio Win32版バイナリパッケージ v3.93-2

WideStudio/MWT Home page

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

2006年5月20日 (土)

HSP3 サンプル スクリプト 「標準出力をパイプにリダイレクトしてコンソール・アプリケーションを実行し、その出力を変数で受け取る」

 HSP3からコンソール・アプリケーションを起動し、そのアプリが出力したデータを直接変数で受け取るサンプル スクリプト。

 詳しくはサイドバーリンクの「プログラミング工房」へ

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

2006年5月10日 (水)

WideStudio Win32版バイナリパッケージ v3.93-1

WideStudio/MWT Home page

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

2006年4月29日 (土)

HSP Ver3.1β3

Hot Soup Processor オフィシャルホームページ

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

2006年4月27日 (木)

WideStudio Tips : ウィンドウのサブクラス化によるメッセージ処理のカスタマイズ

 WideStudioはマルチプラットフォーム間で移植性の高いソースを書けることがひとつのウリですが、かゆいところに手が届く実用的なソフト作ろうとするとどうしてもプラットフォーム依存のコードを入れたくなってしまうことがあります。

 例えばWindowsの場合よくあるのは、WideStudioのデフォルトのメインウィンドウクラスでは扱えない(扱わない)ウィンドウメッセージを処理できるようにするためにウィンドウのサブクラス化を行いたいというケースです。

 Windowsでのウィンドウのサブクラス化とは、ウィンドウがメッセージを受け取ったときにメッセージ内容の識別とその結果に応じた処理を行うために呼び出される、ウィンドウプロシージャというコールバック関数を新しく定義したものに置き換える(再登録する)ことを意味します……

 詳しくはサイドバーリンクの「プログラミング工房」へ。

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

2006年4月 9日 (日)

WideStudio Tips : 汎用DLLを利用したアプリケーションを作る

 YUKIさんという方が公開されている文字コード変換のためのDLL、"jconvlib"に付属しているサンプルソースからコンソール・アプリケーションの実行ファイルをビルドする方法。

 詳しくはサイドバーリンクの「プログラミング工房」へ。

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

2006年4月 8日 (土)

ActiveBasic Ver4.24.00

フリーのBasicプログラミング環境 - Discoversoft

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

2006年4月 7日 (金)

WideStudio Win32版バイナリパッケージ v3.92-1

WideStudio/MWT Home page

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

2006年3月19日 (日)

HSP Ver3.1β2

HSPTV!

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

2006年3月18日 (土)

ActiveBasic Ver4.23.00

フリーのBasicプログラミング環境 - Discoversoft

| | コメント (0)

2006年3月10日 (金)

MSH(Microsoft Shell/Monad Shell)

Windowsの次期コマンドラインシェル。コマンドのパイプライン処理においてテキストだけでなく.NET Frameworkのオブジェクトを受け渡すことができるらしい。

ダウンロードページ
http://www.microsoft.com/downloads/details.aspx?FamilyID=239a1116-c0f5-4320-84fc-2ad625ebb910&DisplayLang=en
ドキュメント
http://windowssdk.msdn.microsoft.com/library/default.asp?url=/library/en-us/Monad_GettingStarted/html/e72d9b1b-c1c0-41f0-83e7-d230ff3f9144.asp
関係者インタビュー
http://channel9.msdn.com/ShowPost.aspx?PostID=26795#26795.

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

2006年2月13日 (月)

Ruby サンプル スクリプト 「ロリポップ・ウェブサーバのアクセスログを解析」

 私がもう一つのサイトを公開しているレンタルサーバのロリポップはデフォルトでアクセス解析機能が使え、これはこれで便利なのですが、かゆい所にも手が届くと言えるほど高機能ではありません。外部の無料サービスを利用すれば、ページに小さなバナーを表示したりするのと引き換えにいろいろなアクセス情報がゲットできるのは知りつつも、せっかく趣味でプログラミングをやっていて、Perlに匹敵するほどお手軽な文字列処理が可能なRubyに手を出したんだしと思い、試作品として、ログを解析して検索エンジンごとにどんなキーワードで自分のサイトのどのページに飛んできたかを調べるスクリプトを書いてみました。

 詳しくはサイドバーリンクの「プログラミング工房」へ

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

WideStudio(C/C++) サンプルアプリケーション : 標準入出力とクリップボードの間でテキストをコピー

 このサンプルは、標準入力がリダイレクトされていれば、そこからデータを取得してクリップボードに出力し、リダイレクトされていなければ、クリップボードのテキストを取得して標準出力に出力するコンソール・アプリです。

 詳しくはサイドバーリンクの「プログラミング工房」へ

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

HSP Ver3.1β1

HSPTV!

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

ActiveBasic Ver4.21.00 公開中

Discoversoft

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

2006年1月27日 (金)

ActiveBasic Ver4.20.00 公開中

Discoversoft

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

2006年1月22日 (日)

WideStudio Win32版バイナリパッケージ v3.90-16公開中

WideStudio/MWT Home page

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

2006年1月18日 (水)

HSP3 サンプル アプリケーション 「エディタで開いているスクリプト言語のソースを引数付きで実行」

 このソフトはランチャー機能付きのエディタと共に使うことで、Ruby、Perl、Python、Tcl/Tkなどのスクリプト言語でのプログラミング時に引数付きのデバッグ実行が簡単に行えます。

 詳しくはサイドバーリンクの「プログラミング工房」へ

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

HSP3 サンプル スクリプト 「Amazon E-Commerce Service(ECS)から取得したデータをXMLパーサー(MSXML)で解析する」

 リンク先のスクリプトは、HSP3のhspinet.dllの命令を使ってAmazon E-Commerce Service(以下ECS)にアクセスし、そこから取得したXML形式の商品データをCOMコンポーネントのMSXMLで解析するプログラムです。

 ECSとはオンラインショップのAmazonが提供しているAmazon Web Service(AWS)というサービスの一つで、登録ユーザはAmazonの商品データベースに自由にアクセスしたり、ショッピングカート機能を自分のウェブサイトに組み込んだりといった機能を無料で利用することができます。ユーザの多くはアマゾン・アソシエイト・プログラムと組み合わせる形で利用していると思われます。Amazon Web Service(AWS)のページはこちら

 リンク先のスクリプトでは、RESTと呼ばれるHTTP経由のアクセス方法でECSのデータベースから商品データをダウンロードし、一度ファイルに保存してからMSXMLによってXML形式のデータを解析、切り出した商品情報を使ってシンプルな内容のウェブページ(HTMLファイル)を生成しています。生成されるHTMLファイルの例はこちら

 詳しくはサイドバーリンクの「プログラミング工房」へ

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

Ruby Tips : Ruby/Tk環境を作る

 Windows環境でのRubyとTcl/Tkのインストールと、RubyからTkを利用するための設定について。

 詳しくはサイドバーリンクの「プログラミング工房」へ

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

2005年12月17日 (土)

HSP3 サンプル アプリケーション 「PC内のCOMコンポーネント情報ブラウザ」

 実行しているPC上で利用できる可能性のあるCOM(Win32OLE、ActiveX)コンポーネントのProgIDリスト、メソッド/プロパティリスト、メソッド/プロパティ仕様をブラウズするためのソフト。

 詳しくはサイドバーリンクの「プログラミング工房」へ

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

HSP3 サンプル アプリケーション 「指定された文字列を、標準入力から取得したテキストの各行末に追加、または各行末から削除」

 このソフトは標準入力がリダイレクトされていればそこからデータを取得して、指定された文字列を各行末に追加または各行末から削除し標準出力に出力します。

 詳しくはサイドバーリンクの「プログラミング工房」へ

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

2005年12月 4日 (日)

HSP3 サンプル スクリプト 「実行ファイルがGUIアプリかコンソール・アプリか調べる」

 Windowsで特定のパスにある実行ファイルがGUIアプリかコンソール・アプリかを見分けるには、実行ファイル自体に埋めこまれたサブシステムを表す値を参照する必要があります。

 通常のWindowsアプリの実行ファイルは、MS-DOS上で実行するためのプログラムとWindows上で実行するためのプログラムが合体した形式になっていて、サブシステムを表す値はWindows用プログラムのエリアに埋めこまれています。(最近のアプリではMS-DOS用のプログラムは中身のないダミーであることが多い)

 サブシステムの値の位置を特定するには、まずMS-DOS用のプログラムエリアに埋めこまれているWindows用プログラムエリアの開始位置(=PEシグネチャへのオフセット)を参照し、その開始位置にサブシステムを表すデータへのオフセット(固定値)を加えます。この位置にある2バイトのデータが目的の情報です。

 値が表す意味はリンク先のスクリプトのマクロにある通りです。例えばHSPで作成した実行ファイルをリンク先のスクリプトでチェックすると2か3になります。

 ちなみにWin32APIの"GetBinaryType"という関数はWin32/Win16/DOSの種別を判定できるだけで、HSPで作成した実行ファイルをチェックすると、"hsp3cl.hrt"を使うか否かに関わらず「Win32」と判定されます。

 詳しくはサイドバーリンクの「プログラミング工房」へ

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

2005年11月29日 (火)

HSP3 サンプル アプリケーション 「指定された文字列を、標準入力から取得したテキストの各行頭に追加、または各行頭から削除」

 このソフトは標準入力がリダイレクトされていればそこからデータを取得して、指定された文字列を各行頭に追加または各行頭から削除し標準出力に出力します。

 詳しくはサイドバーリンクの「プログラミング工房」へ

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

HSP3 サンプル アプリケーション 「標準入出力とクリップボードの間でテキストをコピー」

 このソフトは標準入力がリダイレクトされていれば、そこからデータを取得してクリップボードに出力し、リダイレクトされていなければ、クリップボードのテキストを取得して標準出力に出力します。

 詳しくはサイドバーリンクの「プログラミング工房」へ

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

HSP3 サンプル アプリケーション 「タスクトレイ アイコンとして表示されるデジタル時計」

 nakkaさんという方がアナログ版を公開されていますが、自分的にはデジタルの方が見やすいと思ったので作ってみました。

 詳しくはサイドバーリンクの「プログラミング工房」へ

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

HSP3 サンプル モジュール 「HSPのウィンドウを確実にアクティブにする」

 HSPのウィンドウをアクティブにするための標準命令としてはgselがありますが、ウィンドウを前面に移動することはできてもアクティブ化に失敗することがあります。

 このモジュールをインクルードしてactivate_mywin命令を使用することで確実にHSPのウィンドウをアクティブにすることができます。もしうまく行かない場合にはactivate_mywin命令を実行する直前か直後に"gsel ?,1"や"gsel ?,2"を実行するようにして下さい。

 詳しくは「プログラミング工房」へ

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

HSP3 サンプル モジュール 「ごみ箱を空にする」

 Windowsのごみ箱は、ファイル・フォルダ操作時のセーフティネットとして便利ではあるのですが、時々空にする操作が面倒です。設定で容量を小さくすることはできますが、それでもいっぱいになるまで放っておくとかなりの数になって、なんとなくハードディスクを無駄使いしているような気になってしまいます。かといって、ごみ箱を無効にしてしまうといざという時に後悔することになるのも確かです。

 このスクリプトはHSP3で簡単にごみ箱を空にする処理を行うためのモジュールです。メインのスクリプトの冒頭でモジュールをインクルードし、emptyrbin命令を引数なしで呼び出すだけで使えます。このモジュールを使って作った実行ファイルをWindowsの「スタートアップ」フォルダに入れておけば、パソコンを起動する度に自動でごみ箱を空にすることができ、パソコンの使い勝手がちょこっと良くなります。

 詳しくは「プログラミング工房」へ

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

HSP3 サンプル モジュール 「標準の警告音を鳴らす」

 モジュールファイルを#includeして、それより後ろの位置でbeep命令を呼び出すだけで使えます。毎回APIを登録しなおすよりは楽だと思います。(^^;)

 詳しくは「プログラミング工房」へ

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

HSP3 サンプル モジュール 「タスクトレイ アイコン操作」

 任意のウィンドウに描画した16*16ピクセルの画像をタスクトレイアイコンとして登録することができます。同時に登録できるアイコンの数は1つです。

 詳しくは「プログラミング工房」へ

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

HSP3 サンプル モジュール 「クリップボード操作(テキスト専用)」

 拡張プラグインhspext.dllを使わずにクリップボードを操作できます。

 詳しくは「プログラミング工房」へ

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

2005年11月27日 (日)

WideStudio Win32版バイナリパッケージ v3.90-14公開中

WideStudio/MWT Home page

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

2005年11月26日 (土)

HSP3 サンプル モジュール 「プロセスの実行優先度を設定する」

 Windowsでは同時に複数のプログラムを使うことができますが、これは実際にはWindowsの管理の下、非常に短いサイクルで、個々のプログラムにかわりばんこにCPUを使わせるようにすることで実現されています。

 そしてHSPで作れるような一般のプログラムは、普通はみな同じ時間だけCPUを使う許可を与えられますが、プログラムの種類によっては、必要な処理を行うのに他のプログラムより少ない時間しか必要ない場合もあります。

 そういう時に「自分がCPUを使う時間は他のプログラムよりも短くていいですよ」とWindowsに知らせることで、他のたくさんの仕事を行うプログラムにCPUを使う時間を譲ってあげることができます。これをHSPで実行するには下のリンク先のようなモジュールを使って自分の実行優先度を低くすればOKです。

 使い方は、モジュールをインクルードして"set_priority"命令を実行するだけです。このモジュールは主にプロセスの実行優先度を低くするためのものとして作っています。

 例えば、時計ソフトを作る場合、1秒に1回または1分に1回時間のチェックと表示の更新ができれば目的が達せられるので、スクリプトの最初の方で"set_priority IDLE_PRIORITY_CLASS,THREAD_PRIORITY_IDLE"などと実行して優先度を最低に設定することでCPUに極力負担をかけないソフトにすることができます。

 詳しくは「プログラミング工房」へ

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

HSP3 サンプル スクリプト 「ウィンドウ メッセージ定義マクロ」

 詳しくは「プログラミング工房」へ

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

HSP3 サンプル スクリプト 「クリップボード内のテキストに行番号を付加する」

 詳しくは「プログラミング工房」へ

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

2005年11月17日 (木)

HSP3 サンプル スクリプト 「mesboxを警告音(Beep)が出ないinputとして使う」

 HSP 2.61のinputオブジェクトはフォーカスがある時にEnterキーやTabキーを押しても警告音が鳴らないように作られていましたが、HSP 3.0(a)ではまだ警告音が鳴ってしまう現象は修正されていません。

 リンク先のソースははmesboxを使って警告音が鳴らないinputもどきを作るスクリプトです。ポイントはonkey命令を使ってEnterキーの押し下げを検知して、mesboxに改行が追加される前に一度中身のテキストをコピーしておき、await命令の所で改行が追加されたあとでそのテキストをmesboxに戻すことです。

 詳しくは「プログラミング工房」へ

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

HSP3 サンプル スクリプト 「仮想キーコード定義マクロ」

 Windows用キーボードのほぼすべてのキーコードをHSP3用のマクロにしたものです。Tatsuo Sugiharaさんの仮想キーコード表のページを元に作成しました。

 詳しくは「プログラミング工房」へ

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

HSP3 サンプル スクリプト 「標準出力をファイルにリダイレクトしてコンソール・アプリケーションを実行」

 スクリプト上で出力用ファイルとデータ受け渡し用のパイプを作成してコンソール・アプリを起動する処理のサンプルです。

 詳しくは「プログラミング工房」へ

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

2005年11月14日 (月)

HSP3 サンプル モジュール 「テキストの先頭または末尾から指定された文字列を削除」

 詳しくは「プログラミング工房」へ

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

HSP3 サンプル モジュール 「文字列中の改行コードを判別、変換、削除」

 とりあえずCRLF/CR/LFの3種類とも対応してますが、含まれる改行コードの形式が1種類に統一されているShift-JIS文字列でのみ動作確認済みです。

 詳しくは「プログラミング工房」へ

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

HSP3 サンプル モジュール 「RGB値をCOLORREF値に変換」

 RGB形式の色情報をWin32APIなどで使われる型の値に変換します。

 詳しくは「プログラミング工房」へ

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

2005年11月11日 (金)

WideStudio(C/C++) サンプルアプリケーション : 超シンプルなメモソフト

 詳しくは「プログラミング工房」へ

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

2005年10月29日 (土)

WideStudio Tips : 標準出入力のリダイレクトに対応したコンソール・アプリケーションを作る

 詳しくは「プログラミング工房」へ

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

2005年10月27日 (木)

WideStudio Tips : クリップボードを使う

 WideStudioではキーボード関連のクラスからクリップボードを操作します。

 詳しくは「プログラミング工房」へ

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

2005年10月11日 (火)

HSP3 サンプル アプリケーション 「Win32 API Browser」

 このソフトはHSP3付属のWin32 API定義ファイルから簡単に目的の定義を見つけてクリップボードにコピーするためのソフトです。HSP3付属のAPI定義ファイルをそのままインクルードするとオブジェクトファイルのサイズが無駄に膨らんでしまうため、必要な定義だけを簡単にコピペしたいと思い作りました。

 詳しくは「プログラミング工房」へ

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

2005年10月 6日 (木)

HSP3 サンプル アプリケーション 「HSP3用簡易コマンドライン コンパイラ」

 コマンドラインランチャーやコマンドラインランチャー機能付きのエディタなどからHSPスクリプトを実行/コンパイルしたり、スクリプトからの実行ファイル作成を行うためのソフトです。

 詳しくは「プログラミング工房」へ

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

2005年10月 5日 (水)

HSP3 サンプル スクリプト 「2つのコンソール・アプリをパイプでつないで実行」

リンク先はコマンドプロンプト(cmd.exe)で2つのコンソール・アプリをパイプ記号("|")でつないだコマンドラインを実行したときの動作を再現するスクリプトです。名無しパイプを利用しています。

 詳しくは「プログラミング工房」へ

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

2005年10月 4日 (火)

HSP3 サンプル アプリケーション 「標準入力から来たテキストデータ、またはコマンドライン引数に指定されたパスのテキストファイルの内容をそのまま標準出力に出力する」

 標準入力から来たテキストデータ、またはコマンドライン引数に指定されたパスのテキストファイルの内容をそのまま標準出力に出力するコンソール・アプリケーションです。シンプルなコンソール・アプリのサンプルになっています。

 詳しくは「プログラミング工房」へ

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

HSP3 サンプル モジュール 「標準入出力関連」

このモジュールは、コンソール・プログラムでは必須の機能であるがHSP3CLの標準機能ではカバーできない作業を引き受けます。主な命令・関数は以下の通りです。

●is_stdin_redirected 関数

 標準入力がキーボード以外にリダイレクトされているかをチェックできます。

●input2 命令

 私の環境ではHSP3CLでinput命令を実行した時に受け取るデータのサイズが大きいとシステムエラーが発生してスクリプトが強制終了してしまうことがあります。input ?,?,0 の代わりにinput2命令を使うことでデータのサイズを気にせずにすみます。

●mes2 命令

 出力データの末尾に改行コードが付加されてしまうmes命令では不都合な場合に使います。


 詳しくは「プログラミング工房」へ

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

2005年9月21日 (水)

HSP 3.0aテスト版更新

HSP 3.0のマイナーアップデートバージョンHSP 3.0aのテスト版が更新されました。

Hot Soup Processor オフィシャルホームページ

とりあえず、inputにフォーカスがあるときにEnterキーやTabキーを押すと警告音が鳴ってしまう現象が修正されているのは確認しました。 ← 2005/10/7訂正。左記の内容は誤りでした。すみません。

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

2005年9月11日 (日)

HSP 3.0a先行公開中

HSP 3.0のマイナーアップデートバージョンのHSP 3.0aのテスト版が公式サイトで公開されています。

Hot Soup Processor オフィシャルホームページ

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

2005年9月 8日 (木)

WideStudio Win32版バイナリパッケージ v3.90-12公開中

WideStudio/MWT Home page

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

2005年9月 5日 (月)

HSPでFindTextできず

chspedit_cap_1

HSP3で作成中のスクリプトエディタで[検索]コモンダイアログボックスを使おうとするも、FINDREPLACE構造体のサイズとメンバのアラインメントの情報が見つけられず挫折orz。しょうがないのでHSPのウィンドウで同じものを作る。

俺仕様エディタは、標準エディタでも使われているFootyとHSP3の組み合わせで作ってるんですが、案外楽に作れるなーという印象。HSP3はDLLとの連携やメッセージの取り扱いの部分でパワーアップしているので、FootyのようなDLLとのコンビネーションは結構強力な気がする。簡単に作れるということも含めて。

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

2005年8月20日 (土)

Let's HSPUPX! Ver. 1.7

Kpanさん作のHSP製実行ファイル圧縮ソフト「Let's HSPUPX!」のHSP 3.0対応版が公開されています。

Let's Emu! : 自作ソフト

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

2005年8月17日 (水)

cHspComp 0.3.1公開しました

HSP3のサンプルアプリケーションとしてHSP3用コンパイラcHspComp ver.0.3.1(ソースのみ)を公開しました。

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

2005年8月12日 (金)

WideStudio Win32版バイナリパッケージ v3.90-11公開中

WideStudio/MWT Home page

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

2005年8月 8日 (月)

NS Basic 2.0 コードサンプル 「サイコロ」


'指定された種類のサイコロを1つふって(ロール)、その結果を返す
Function droll(dtype as Integer) as Integer
   '指定されたサイコロが1~100でなければ0を返す
   If (dtype<1)Or(dtype>100) Then
      droll = 0
      Exit Function
   End If
    
   'サイコロの種類によってロール結果の最大桁数をセット
   Dim column as Integer   'ロール結果の最大桁数
   Dim roll as Integer     'ロール結果
   roll = 0
    
   If (dtype>=1)And(dtype<=9) Then
      column = 1
   ElseIf (dtype>=10)And(dtype<=99) Then
      column = 2
   ElseIf dtype=100 Then
      column = 3
   EndIf
    
   'ロール
   Do until (roll>=1)And(roll<=dtype)
      roll = val(mid(str(rand()),2,column))
   Loop
   droll = roll
End Function

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

2005年8月 2日 (火)

NS Basic/Palm 2.0をWindows XPで使う

ふと、久々にPalmプログラミングをやってみたくなり、Windows 98時代に購入したNS Basic/Palm 2.0をWindows XPにインストールしたが、NSBasic2.exeを起動すると変なエラーダイアログが表示され、メニューも機能しないためシリアルナンバーを入力できずと、なんだか挙動がおかしい。

もしやソフトが古過ぎてXPで動かせないのではと焦ったが、結局NSBasic2.exeのファイルプロパティダイアログを開き、[互換性]タブの[ディスプレイ設定]→[視覚テーマを無効にする]をチェックすることで正常に起動できた。

Windowsに一般ユーザが作成したスキンを入れているので、NSBasic2.exeがそれに対応できなかったのだろうか。それとも単にXPだったからなのか。

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

2005年8月 1日 (月)

HSP ver3.0公開中

新しくオープンした、HSPに関する情報を集めたポータルサイトHSPTV!にて公開されました。

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

2005年7月31日 (日)

超ローカルBOOK OFF情報

7/30現在、BOOK OFF多摩永山店に以下の書籍の在庫がありました。(在庫全体のごく一部)

『C++オブジェクトモデル』
トッパン - 1750円 - 1997年 1st ed
UNIXプログラミング環境
ASCII - 1900円 - 1997年 1st ed
たのしいRuby―Rubyではじめる気軽なプログラミング
Softbank - 1350円 - 2002年 1st ed

昨日初めてBOOK OFF町田中央通り店に行ってみましたが、コンピュータ書籍の在庫量が少なくがっかりしました。多摩永山店の方がぜんぜん多いです。

値段などは忘れましたが(定価の半額強程度)、町田中央通り店には以下の在庫がありました。(在庫全体のごく一部)

人月の神話―狼人間を撃つ銀の弾はない』×2
ソフトウェア職人気質―人を育て、システム開発を成功へと導くための重要キーワード

最近はBOOK OFFに行っても掘り出し物を見つけるのが難しくなりました(あくまで自分の好みから見てですが。また値段も全体的に上がっている)。昔は「意気込んで買ってはみたものの内容の高度さについていけないで投売りしたんだろうな~」(笑)と思われる定番のプログラミング関連本がごろごろしていたものですが、今では本棚にオーラがありません。みんな古本屋に売らずにAmazonのマーケットプレイスやネットオークションに出すようになったんでしょうね。

ちなみに上記2店で私が購入した書籍はこちら。

初めてのPython(旧版)』 (新版
Basicで作ろうPalmアプリケーション
amazonia アマゾン・ドット・コム成功の舞台裏 元トップエディターが語るアマゾンの軌跡

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

2005年7月28日 (木)

HSP ver3.0RC2公開中

Hot Soup Processor オフィシャルホームページ

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

2005年7月18日 (月)

HSP ver3.0RC1公開中

Hot Soup Processor オフィシャルホームページ

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

2005年7月12日 (火)

Python関連サイト

Python Japan User's Group

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

Activeなスクリプト言語

ActiveState - ActivePerl, ActiveTcl, ActivePython

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

2005年7月11日 (月)

コマンドプロンプト、バッチプログラミング関連サイト

コマンド ライン リファレンス
バッチ ファイルを使用する
DOSプロンプト活用相談室@FPCU本館 コメント・ツリー一覧
バッチもん研究所

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

Windows用実行ファイルの種類の識別

Windowsで特定のパスにあるexeファイルがGUIアプリかコンソール・アプリかを見分ける方法を模索中。Win32 APIの"GetBinaryType"でできるかと思ったのだが、これはWin32 / Win16 / DOSなどを見分けることしかできないらしい。例えばHSP3で作った実行ファイルは、"hsp3cl.hrt"を使うか否かに関係なく「Win32」と判定されるだけだ。

exeファイル自体には見分けるためのデータが埋め込まれているのは分かっているのだが、その位置をどうやって特定すればいいのかが分からない。

続きを読む "Windows用実行ファイルの種類の識別"

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

2005年7月 8日 (金)

WideStudio Win32版バイナリパッケージ v3.90-10公開中

WideStudio/MWT Home page

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

2005年6月28日 (火)

HSP ver3.0β11公開中

Hot Soup Processor オフィシャルホームページ

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

WideStudio Win32版バイナリパッケージ v3.90-9公開中

WideStudio/MWT Home page

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

2005年6月18日 (土)

HSP ver3.0β10公開中

Hot Soup Processor オフィシャルホームページ

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

2005年6月15日 (水)

WideStudio Win32版バイナリパッケージ v3.90-7公開中

WideStudio/MWT Home page

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

HSP ver3.0β9公開中

Hot Soup Processor オフィシャルホームページ

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

2005年5月26日 (木)

ActiveBasic Ver4.01公開中

Discoversoft

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

2005年5月22日 (日)

ActiveBasic Ver4.00.03公開中

Discoversoft

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

2005年5月10日 (火)

ActiveBasic Ver4.0正式版公開中

Discoversoft

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

WideStudio Win32版バイナリパッケージ v3.90-5公開中

WideStudio/MWT Home page

サイトがリニューアルされています。

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

2005年5月 5日 (木)

HSP ver3.0β8公開中

http://www.onionsoft.net/hsp/

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

2005年4月19日 (火)

WideStudio Win32版パッケージ v3.90-4公開中

WideStudio/MWT Home page

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

2005年4月16日 (土)

HSP ver3.0β7公開中

http://www.onionsoft.net/hsp/

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

2005年4月 1日 (金)

HSP ver3.0β6公開中

http://www.onionsoft.net/hsp/

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

2005年3月29日 (火)

ActiveBasic Ver4.0β7公開中

Discoversoft

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

2005年3月24日 (木)

さよならCodeWarrior

むか~しプログラミング初体験のためにMac版を買ったはいいが、結局まったくと言っていいほど使いこなせなかった、MetrowerksのCodeWarrior。4月いっぱいでDesktop向け製品の販売を終了するとのこと。

思い出といえば、C言語とプログラミングに挫折したトラウマしかないんだけど、そこはかとなくさびしい気もする。

Metrowerks Japan Home

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

WideStudio Win32版パッケージ ver.3.90-3 公開中

WideStudio/MWT Home page

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

2005年3月18日 (金)

コンソール・コマンドで関連付け情報取得

Windows XPのコンソール・コマンドで関連付け情報が取得できるのを今頃知った。

ピリオド付きの拡張子を引数にして"assoc"コマンドを実行すると、"(拡張子)=(ファイルタイプ名)"という文字列が得られ、このファイルタイプ名を引数にして"ftype"コマンドを実行すると、関連付けされているコマンドライン(実行ファイルパス)が得られる。

ランチャー作りに使えるかも。

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

2005年3月 8日 (火)

HSP3 お勉強メモ 一覧

この記事へのトラックバック一覧は「HSP3 お勉強メモ」のテーマごとの先頭記事一覧になってます。
(外部からのトラックバックが混ざってしまう可能性はあります)

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

2005年3月 7日 (月)

HSP3 お勉強メモ 「モジュール」 (2)

#modinit#modfunc命令を利用して作ったモジュールの使い方。

HSP3 お勉強メモ 「モジュール」」で書いたオブジェクト指向で言う「インスタンス」の作成にはnewmod命令を使う。第1引数に「インスタンス」(=#module命令で指定した変数)を格納する変数(モジュール変数と呼ぶ)を指定し、第2引数には利用するモジュール名を指定する。

/* newmod命令記述例 */
newmod modvar,modname

もともとnewmod命令の実行時にはモジュール変数に含まれる変数(=#module命令で指定した変数)はすべて整数の0で初期化されるが、モジュールに#modinit命令で定義された命令がある場合それも自動的に実行されるので、モジュールごとに自由に初期化を定義できる。この初期化命令に引数を渡したいときは、newmod命令の第3引数以降にそのまま指定することができる。

/* 初期化命令の引数も指定したnewmod命令記述例 */
newmod modvar,modname,p1,p2

複数の「インスタンス」を作成する場合は、別のモジュール変数を用意してもいいし、すでに使われているモジュール変数を指定してもいい。すでに使われているモジュール変数を指定するとそのモジュール変数は自動的に配列になる。

「インスタンス」を破棄するにはdelmod命令を使う。第1引数にモジュール変数を指定する。

/* delmod命令記述例 */
delmod modvar
/* 複数の「インスタンス」を格納している場合は要素のインデックスも指定する(0の場合は省略可) */
delmod modvar(1)

ただしdelmodしてもモジュール変数(の要素)自体が消滅するわけではなく、再度同じ変数に対してnewmodした時に使いまわされる。(配列の場合、要素は指定できない)

「インスタンス」作成時にモジュール変数を上書きしたい時や配列の要素を指定したい時には、newmod命令の代わりにsetmod命令を使う。初期化もnewmodの時と同様に行われる。

/* setmod命令記述例 */
setmod modvar(1),modname

モジュール変数(配列)の特定の要素が使用中かどうかを調べるにはmoduse関数を使う。

/* moduse関数使用例 */
if moduse(modvar(0))=0 : mes "modvar(0)は使用されていない"

moduseは関数なので式に含めることができる。

モジュール変数の使用中のすべての要素に対して処理を行うためのforeachというループ命令も追加されている。第1引数にモジュール変数を指定する。

/* foreach命令使用例(getxは#modfunc命令で定義された関数という前提) */
foreach modvar
    getx modvar(cnt)
    mes refstr
loop

ちなみに配列の現在の要素数はlength関数で調べることができる。

/* length関数使用例 */
mes "配列要素の最大="+length(modvar)

lengthも関数なので式に含めることができる。

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

HSP3 お勉強メモ 「モジュール」

HSP3になってモジュールは大幅に機能追加されたが、これはHSPでオブジェクト指向っぽいプログラミングをするための改良と言っていいと思う。実際作者のおにたまさんはマニュアルの中で「コンストラクタ」という単語も使っている。この改良によってモジュールをクラス的な物としても使えるようになった。(継承やらなんやらできないこともありますが)

具体的な機能変更・追加点としては、まず#module命令の引数にモジュール名に加え任意の数の変数を指定できるようになった。

/* #module命令記述例 */
#module modname x,y,z

ここにはオブジェクト指向で言うところの「インスタンス」ごとに個別の物として扱いたいデータ名を指定する。モジュール内ではこの名前で扱う。さらにこの変数は通常のモジュール内の変数とは異なり、HSP3で新しく追加された#modinit命令または#modfunc命令で定義したユーザ定義命令を経由してしかアクセスできない。

モジュール外のスクリプトで「インスタンス」を作成する際、同時にその「インスタンス」を初期化することもでき、モジュール内にそれ専用の命令を記述するための命令が#modinit#modinitで定義された命令は「インスタンス」作成時に自動的に一度だけ呼び出される。スクリプトから明示的に呼びだすことはできない。

あとモジュールの使用にからむ変更点として、ユーザ定義命令#deffunc#modfunc#modinit命令で定義される命令)の引数の指定方法とreturn命令の仕様、そしてローカル変数の追加がある。

ユーザ定義命令の引数は以下のようにデータタイプだけでなくユーザ定義命令内での名前も同時に指定するようになった。HSP2.xでのmref命令を使ってユーザ定義命令内で指定する方法はHSP3では非推奨となった。引数に指定できるデータタイプの数も増えている。

/* ユーザ定義命令の引数指定例 */
#deffunc afunc int p1,val p2

この方がスクリプトもすっきりしていいと思う。

return命令は、引数に変数を一つ指定するとその内容がシステム変数statあるいはrefstrに自動で代入されるようになった。どちらのシステム変数に代入されるかは引数に指定した変数のタイプによって決められる。これもスクリプトの簡略化に役立つ。

/* return命令の引数指定例 */
return x

ローカル変数は、ユーザ定義命令の定義で引数と併記する形で指定した変数について、ユーザ定義命令を実行するごとに生成・初期化・破棄が行われる機能。引数では通常データタイプを指定するところに"local"と記述するとローカル変数として扱われる。

/* ローカル変数の指定例 */
#deffunc afunc int p1,val p2,local tmp

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

2005年3月 6日 (日)

HSP ver3.0β5公開

http://www.onionsoft.net/hsp/

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

2005年2月23日 (水)

HSP ver3.0β4公開

http://www.onionsoft.net/hsp/

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

2005年2月22日 (火)

WideStudio v3.90-1公開

http://www.widestudio.org/

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

2005年2月17日 (木)

ActiveBasic Ver4.0β6公開

http://www.discover-soft.com/

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

2005年2月 3日 (木)

ActiveBasic Ver4.0β5(修正版)公開

http://www.discover-soft.com/

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

WideStudioがJavaに対応

http://www.widestudio.org/

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

2005年2月 2日 (水)

ActiveBasic Ver4.0β5公開

http://www.discover-soft.com/

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

2005年1月 8日 (土)

WinSock2プログラミング 改訂第2版

今日書店で江村豊さんのWinSockプログラミング本の新版が出ているのを発見。読みたいけど難しそうだし、気軽には手を出せない値段だな~(^^;)

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

2004年12月11日 (土)

HSP 3.0β3公開中

http://www.onionsoft.net/hsp/

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

2004年12月 4日 (土)

ActiveBasic Ver4.0β4公開中

http://www.discover-soft.com/

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

2004年11月24日 (水)

HSP 3.0β2公開中

http://www.onionsoft.net/hsp/

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

2004年11月22日 (月)

名前が大事

最近Perlを始めてみた。難しいという先入観を持っていたが、本腰入れて勉強し始めたらそうでもないと分かった。Perlはインタプリタでお手軽、文字列処理が得意、CGI・ネットワーク・Windows関連などの機能もライブラリが充実、オブジェクト指向もサポート、Tkと組み合わせることでGUIアプリもバッチリ、と自分にとってはまさに至れり尽くせりで今まで手をつけていなかったのが激しく後悔される。

続きを読む "名前が大事"

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