[[BORLAND C++ CWCC]]
RETURN
CWCC#02 CWCC Druft Sample
※ここで使用しているCWCCは、Version.0.1.5.Druft版です。
  • さて、Hello Worldは10行以下のプログラムか!?
    少々難航したが、CWCCの試作版は完成した。さて、問題は、HelloWorldのプログラムは、本当に10行以下で書ける様になったのだろうか?答えは、サンプルを見て貰えば分かる様に、かなり余裕をもって10行以内である。

    サンプルのユーザプログラム部分
    #include "cwcc.h"

    int CwccMain(char *argv)
    {
      CwccPrint("HelloWorld\n") ;
      return(1) ;
    }

    ユーザプログラム部分は小さいけど、ファイルを色々用意しなくちゃいけないみたいで、やっぱり扱い辛いじゃん!などとは言いっこ無しなのである。これについては、次項辺りで、ちょっとした試みを行う予定だが、これで解決するだろう。

    CWCCサンプル01


  • 拡張性が有るのか?
    Hello Worldを表示するまでは問題無いのである。問題は、CWCCを使えば、ここから拡張して、実用的なプログラムが書けるのか??という話になってくるのだが、CwccMainにて扱える関数は、標準関数であれば何でも使えるし、FILEだろうが、シリアルポートだろうが、ユーザ関数だろうが、自由に使える筈だし、勿論クラスも使用出来るので、とりあえず、「何とかなる」であろう。サンプルの方に、ちょっとした例を示してみたので、こちらを参照すれば、「何とかなる」の意味が分かるだろう。また、CWCCは現行試作版であり、今後、拡張を続けるつもりであるから、更に多彩な処理がシーケンシャルに書ける様になる筈である。

    CWCCサンプル02


    追記:サンプルで、windows.hをインクルードして、wsprintf()で実数(浮動小数点数,double等)を文字列に変換しようとしたら、変換出来なかったのである。%lfにしても、%fにしても駄目なのだ。もしや??と思って、他のWindowsアプリでも試したが、やっぱり駄目だったのだ…。この関数は、浮動小数点数を扱えないのだろうか??若しくは、フォーマットが違う??気が向いたら調査しよ!

  • CWCCの問題点
    試作版仕様書に今後の改版予定として挙がっている以外に、現状分かっている問題点と、課題を、列挙しておく。
    • まずはクラス化
      早めにクラス化しておかないと、拡張していくと収集が付かなくなりそうなのだ。これが第一課題だな。

    • エディットの更新タイミング(ドロップアウト処理)
      エディットに追加を繰り返していくと、そのうち溢れてしまうので、何らかのタイミングで、ドロップアウトの処理をしなければならない。

    • CwccPrint→CwccPrintf化
      検討中

    • CwccPrintの高速化
      現状、CwccPrintの処理で、スレッドを一時停止しているが、若干でも高速化を計るため、データをメールボックスから引き上げたら、スレッドを再開させる様にしたい。

    • CwccGetsで表示されるボックスの位置
      現状の仕様では、入力用ダイヤログが、コンソールの真上に表示されるので、コンソールが見辛い。
      →位置を変更で検討中

    • CwccGetsを連続で使用すると終了出来ない
      サンプル02の様に、連続で入力ダイヤログを表示させると、モーダルダイヤログを使用するので、メインのウインドウの方に処理が移らず、強制終了等が出来なくなる。
      →必ず、出口を造らなければならない。

    • ファイル等の後始末
      ファイルを開いている時に、スレッド側から強制終了された場合の処理が無い。
      本来は、ファイルクラスを使用して、強制的に、これを使用させるのが良いと思うが、 とりあえず、保護策として、スレッド終了時には、全てのファイルを閉じる処理を追加したい。

    • コンソールのフォントや色を変えたい
      →検討中

    • CwccYesNoBoxの追加
      YES/NOボタンを持つダイヤログ(MessageBox)の結果を取得したい。
      →検討中

    • 画面クリアボタンの追加及びCwccCls関数の追加
      →検討中
2002/05/01
HomeSweetHome2
Ozzy's Software