ab.com コミュニティ
https://www.activebasic.com/forum/

ライブラリーの投稿場所
https://www.activebasic.com/forum/viewtopic.php?t=667
ページ 23

作成者:  konisi [ 2006年6月10日(土) 10:47 ]
記事の件名: 

「ウイルスプログラム」という言葉の語義・定義をしっかりしておかないと将来ややこしいことが起こりうるので
[定義]ウイルスプログラムとは何か。を建てたのでそちらで定義して欲しいです。

あいまいな概念って分かりにくいので^^;

作成者:  イグトランス [ 2006年6月11日(日) 17:07 ]
記事の件名: 

とりあえず,実践コードモジュールから使えそうなものを一覧にしてみました。
内容的には重複しているのもありますが,そのままにしています。 もし収録することになったら皆さんはきっと了承してくれると勝手に見込んでいます。
(当然私自身のものは良いです)

作成者:  RH- [ 2006年6月11日(日) 19:33 ]
記事の件名: 

>MH35さん
>-bにおいて「エラーしか出ない」というのは「明らかに直しようがない」という文言に置き換えてください。
そういう投稿を禁止というのはどうかと思います。どこからそう定義するかも難しいですし。

>イグトランスさん
>もし収録することになったら皆さんはきっと了承してくれると勝手に見込んでいます。
使えそうなものが多いですね。あと、ABのバージョン毎に分けないと駄目ですね。
しかし、登録ユーザー以外の方がされた投稿の収録は、連絡の取れないことが多く、
難しいような気がします。

作成者:  MH35 [ 2006年6月11日(日) 20:56 ]
記事の件名:  例えば

直しようのないとは
1.根本的にAB文法を理解していないで、しかもかつ、プログラムの体系をなしていないもの。
具体的には
oeutropew
ouoew
のようなプログラムを想定しています。よって、次のようなプログラムは対象ではありません。
Print "Hello World"
これを表示した後メッセージボックスを表示したい
End
2.AB文法は理解しているが、根本的にそのやり方が不可能というもの。
具体的には
クイックソートを再起呼び出しをせず呼び出す
のようなプログラムがあげられます。もちろん能率が悪くとも可能なら対象ではありません。例えば次のようなプログラムは対象ではありません。
Function S(i As Integer)
IF i=1
S=1
Exit Function
End If
S=S(i-1)+i
End Function

作成者:  C1000 [ 2006年6月11日(日) 21:27 ]
記事の件名: 

> しかし、登録ユーザー以外の方がされた投稿の収録は、連絡の取れないことが多く、難しいような気がします。

フォーラムの説明に「オープンソース形式で・・・」とあるので確認はいらないと思います。

作成者:  イグトランス [ 2006年6月11日(日) 23:19 ]
記事の件名: 

話はそれますがクイックソートは再帰なしにできますよ。
原理的に全ての再帰は再帰を使わずにできるはずです。
(別途スタックを用意するなどの技巧が必要なこともありますが)

作成者:  tak [ 2006年6月12日(月) 00:09 ]
記事の件名: 

そして非再帰クイックソートアルゴリズムこそが別途スタック要の好例だったりするわけですが。

作成者:  kuni [ 2006年6月12日(月) 00:23 ]
記事の件名:  クラスにまとめれば、いいのでしょうね。

実践コードモジュールって、かなり豊富なんですね。
それらのサンプルを使って、
<Object> <String> <TcpIp> <Ftp> <File> <Directory>
<Encode> <XML> <ODBC> などのクラスを作るのがよさそうですね。

それから、先々、GUIを設計できるABTK(Active Basic Tool Kit) クラスのようなものも
必要になるかもしれませんね。

作成者:  MH35 [ 2006年6月12日(月) 21:34 ]
記事の件名:  本当ですか?

確かクイックソートは再起呼び出しで部分配列を作って整列させていく方法だったと思いますが。

いずれにせよサンプルプログラムがめちゃくちゃだということに気がつきました。戻り値の型を指定していないという初歩的なミスです。

作成者:  イグトランス [ 2006年6月12日(月) 22:45 ]
記事の件名: 

クイックソートといえばソートロジック大会の中を探せば非再帰のものも見つかるのではないでしょうか。
そこになかったとしても(AB以外の言語になるでしょうが)検索すればすぐに見つかるでしょう。

再帰を非再帰にしていく話のとっかかりはここでどうでしょう。
http://d.hatena.ne.jp/yaneurao/20051007#p1
http://d.hatena.ne.jp/yaneurao/20051008#p1
http://d.hatena.ne.jp/yaneurao/20051025#p1
やねうらおさんを好きになれない人もいるとは思いますが,
これ以外にWeb上でこの話の解説がすぐに見付からなかったのでご容赦ください。

ABTKですが,GUI関連に手を付けるとなるとProjectEditorもついでにどうにかしたいと考えたくなります。
だから,個人的には後回しにしたくはないけどそうするしかないのかなと思っています。
#個人的にはそれよりも型総称(Generic)の方が先に欲しいですが。

作成者:  イグトランス [ 2006年6月13日(火) 14:28 ]
記事の件名: 

とりあえず,前回の一覧からどんなものがあるのか大雑把にまとめてもました。

1.文字列
 1. Unicode関係
 2. コマンドライン引数
 3. その他文字列処理
 4. クリップボード
2. グラフィック・ビットマップ関連
3. ウィンドウ関連
4. その他WinAPI関連
5. 数値関連
6. データ構造(キュー・スタック)
7. その他

あと、関数名・クラス名その他公開する識別子に共通する接頭辞(プレフィックス)を付けるべきでしょうか。
今度投票のためのトピックでも作ろうかと思います。

さて,何から手をつけましょうか。

作成者:  MH35 [ 2006年6月20日(火) 21:47 ]
記事の件名:  足りないものが

あと、古いバージョンの人が戸惑わないようなライブラリを作ったほうがいいと思います。

作成者:  konisi [ 2006年6月20日(火) 21:53 ]
記事の件名: 

AB4内で一部文法の追加があったので、AB413までとAB420からは分けたほうがいいと思います。

例えば、次のコードはAB413ではエラーになるけどAB420だと正常に通る。

Dim A As Long
A+=1

作成者:  イグトランス [ 2006年6月20日(火) 23:28 ]
記事の件名: 

その程度のことなら,a = a + 1と書くほうで統一することにしませんか?
ほかにもバージョンアップ履歴を見ていて気になったのは,次のとおりです。(文法の変化はこれが全てではありません)
Ver 4.20.00 - 件の複合代入演算子のほか,関数の多重定義
Ver 4.11.00 - 条件コンパイルのディレクティブ
Ver 4.03.00 - 複数行コメント
Ver 4.1β1 - キャスト演算子
Ver 4.01.02 - 引数への配列ポインタ

作成者:  C1000 [ 2006年6月21日(水) 19:14 ]
記事の件名: 

基本的に最新のABで動くようにしてそのほかのバージョンのときだけ[Ver2]とか書けばいいいと思います。

ページ 23 全ての表示時間は UTC+09:00 です
Powered by phpBB® Forum Software © phpBB Limited
https://www.phpbb.com/