トップページ⇒tech
1001コメント209KB

【躍進?】ActiveBasicその6【Ver5.0】

■ このスレッドは過去ログ倉庫に格納されています
0001名無しさん2007/02/08(木) 20:20:22
国産のBasic言語「ActiveBasic」を語るスレッドです。

TheText Proを購入した場合はProjecteEditorをPro版に拡張することが可能ですが、
それ以外の機能は無料で使用することが出来ます。

・公式サイト[activebasic.com]
http://www.activebasic.com/

・前スレ[★☆★ActiveBasic その5★☆★]
http://pc10.2ch.net/test/read.cgi/tech/1158838078/


・過去スレ
4 http://pc8.2ch.net/test/read.cgi/tech/1149674753/
3 http://pc8.2ch.net/test/read.cgi/tech/1134116980/
2 http://pc8.2ch.net/test/read.cgi/tech/1098007892/
1 http://pc5.2ch.net/test/read.cgi/tech/1050134395/
0153デフォルトの名無しさん2007/02/28(水) 15:51:51
>>152
俺にはまじめに誰だかわからない
0154デフォルトの名無しさん2007/02/28(水) 15:53:18
このスレで酉つける奴は一人しかいない
そう!奴の名は
0155デフォルトの名無しさん2007/02/28(水) 15:55:14
dim proca as *Function() As HWND
dim hwnd As HWND

proca = GetProcAddress( GetModuleHandle( "user32.dll" ), "GetDesktopWindow" )
hwnd = proca()
Print Hex$(hwnd)

こんなんでおk
引数があるなら
dim proca as *Function(a As Long,b As Long,c As Long...) As HWND

関数ポインタの戻り値を直にPrintすると怒られるんだが
これの理由はよくわかんね
0156デフォルトの名無しさん2007/02/28(水) 15:55:26
あー、なるほど。
0157デフォルトの名無しさん2007/02/28(水) 15:56:40
>>155
キャストが問題じゃね?
Str$(proca As DWord)
でなんとかならんか?
0158デフォルトの名無しさん2007/02/28(水) 15:57:02
一晩ぶりにスレが動いたと思ったらなんだこれはwww
0159デフォルトの名無しさん2007/02/28(水) 15:58:32
つーかこにたんって高校ないんか?まだ4時だが。
0160デフォルトの名無しさん2007/02/28(水) 15:59:31
こにたんも懲りないなあ
こういったところで暇人13世って言われると未だにいやがるの?
0161デフォルトの名無しさん2007/02/28(水) 16:00:09
名は体を現す
0162デフォルトの名無しさん2007/02/28(水) 16:00:17
ヒッキーだから
0163 ◆tAo.kQ2STk 2007/02/28(水) 16:02:01
>>159>>162その他
埼玉県は後期受験のシーズンで、高校に行けないんだ。

>>160
別にいやじゃないが
0164 ◆tAo.kQ2STk 2007/02/28(水) 16:06:35
最後の最後で、このスレの俺の発言で酉付けていないやつ集めてみようと思うんだが
面倒だからやらんかもしれない。
0165デフォルトの名無しさん2007/02/28(水) 16:07:35
そういうのは高校の古文のノートにでも書いておいてくれ
0166デフォルトの名無しさん2007/02/28(水) 16:13:20
賛成だが、なぜ古文
0167デフォルトの名無しさん2007/02/28(水) 17:13:42
ログだから
0168デフォルトの名無しさん2007/02/28(水) 19:50:37
もしかしてABってツールバーのツールバンド作れない?
0169デフォルトの名無しさん2007/02/28(水) 21:36:20
(ReBarのことを言ってるのかも知れんが)作れる
0170デフォルトの名無しさん2007/02/28(水) 23:08:19
>>143
クラスライブラリは.NET Frameworkを真似るという方針になった。
今までのStringはSystem.Stringに対応付けられたが、
それがUnicodeだったからABのもそうしようというのが最大の要因かと。
0171デフォルトの名無しさん2007/02/28(水) 23:32:22
VB6を真似ないのか
0172デフォルトの名無しさん2007/02/28(水) 23:43:23
VBのStringもUnicodeだという罠。
0173デフォルトの名無しさん2007/02/28(水) 23:49:49
>>170
いくら何でも.NETがそうだからって理由が一番ってのはないだろ。もしそうだったらライブラリ作ってるやつは馬鹿だな。.NET真似るだけまだましかもしれんが
0174デフォルトの名無しさん2007/02/28(水) 23:52:13
VB6互換モードでソース改変無しにコンパイルできれば
金取れる
0175デフォルトの名無しさん2007/03/01(木) 00:07:09
>>170
9x系を切り捨てる気かい?
0176デフォルトの名無しさん2007/03/01(木) 00:56:20
>>175
じゃない?
0177デフォルトの名無しさん2007/03/01(木) 03:25:54
http://www.activebasic.com/forum/viewtopic.php?p=7918#7918

おい…
0178デフォルトの名無しさん2007/03/01(木) 04:34:58
まさに厨房
0179デフォルトの名無しさん2007/03/01(木) 07:35:33
>>169
詳しく
0180デフォルトの名無しさん2007/03/01(木) 09:50:15
AB4でUnicodeプログラムは無理なのでしょうか。

Declare Function MessageBoxW Lib "user32" Alias "MessageBoxW" _
(hWnd As HWND, _
lpText As *WCHAR, _
lpCaption As *WCHAR, _
uType As DWord) As Long
MessageBoxW(0,"こんにちは","挨拶",MB_OK)

これを実行するとメッセージウィンドウに謎の文字列が大量出現してしまいます。
現時点では生成された実行ファイルをバイナリエディタで直接書き換える方法を取っていますが、正直面倒くさいです。

VB2005のように何も意識せずUnicodeが使えれば…でも.NETで作ると何故か批判されるので困っています。
0181デフォルトの名無しさん2007/03/01(木) 10:00:26
まあunicode文字列引数の所に
SHIFTJIS文字列指定してれば正常に動くわけは無い罠

どうしてもunicodeが良ければMultiByteToWideChar使え
http://msdn.microsoft.com/library/ja/default.asp?url=/library/ja/jpintl/html/_win32_multibytetowidechar.asp
0182デフォルトの名無しさん2007/03/01(木) 10:24:48
マニフェストってなに?
0183デフォルトの名無しさん2007/03/01(木) 10:58:36
簡単に言えば実行時にロードされるイメージ(主にDLL)を指定するXML文書

VisualStyle適用以外に使ってるの見たこと無いけど
0184デフォルトの名無しさん2007/03/01(木) 11:14:35
最近ではVC8の動的リンク版ランタイムが
manifest無しでは使えなくなったので、
以前よりは見かけるようになった気がする。
0185デフォルトの名無しさん2007/03/01(木) 11:37:51
>>181
ありがとうございます。
実際に試してみましたが、上手く動作しません。
GetLastErrorで拾うと「パラメータが間違っています。」となりますが、何処に原因があるのか判りません。

Declare Function MessageBoxW Lib "user32" Alias "MessageBoxW" _
(hWnd As HWND, _
lpText As *WCHAR, _
lpCaption As *WCHAR, _
uType As DWord) As Long

Const MB_PRECOMPOSED = 1

Dim AMes1 As BytePtr
Dim AMes2 As BytePtr
Dim WMes1 As *WCHAR
Dim WMes2 As *WCHAR

AMes1 = "こんにちは"
AMes2 = "挨拶"
MultiByteToWideChar(CP_THREAD_ACP, MB_PRECOMPOSED, AMes1, 10, WMes1, 5)
MultiByteToWideChar(CP_THREAD_ACP, MB_PRECOMPOSED, AMes2, 4, WMes2, 2)
MessageBoxW(0, WMes1, WMes2, MB_OK)
0186デフォルトの名無しさん2007/03/01(木) 11:55:55
ワイド文字を書き込む先のメモリが確保されていない。これぐらいやらないと。
Dim AMes1 As BytePtr
Dim AMes2 As BytePtr
Dim WMes1 As *WCHAR
Dim WMes2 As *WCHAR
Dim AMes1Size As Long
Dim AMes2Size As Long
Dim WMes1Size As Long
Dim WMes2Size As Long

AMes1 = "こんにちは"
AMes2 = "挨拶"
AMes1Size = lstrlen(AMes1) + 1
AMes2Size = lstrlen(AMes2) + 1
WMes1Size = MultiByteToWideChar(CP_THREAD_ACP, 0, AMes1, AMes1Size, 0, 0)
WMes2Size = MultiByteToWideChar(CP_THREAD_ACP, 0, AMes2, AMes2Size, 0, 0)
WMes1 = malloc(SizeOf (WCHAR) * WMes1Size)
WMes2 = malloc(SizeOf (WCHAR) * WMes2Size)
MultiByteToWideChar(CP_THREAD_ACP, 0, AMes1, AMes1Size, WMes1, WMes1Size)
MultiByteToWideChar(CP_THREAD_ACP, 0, AMes2, AMes2Size, WMes2, WMes2Size)

MessageBoxW(0, WMes1, WMes2, MB_OK)

free(WMes1)
free(WMes2)
0187デフォルトの名無しさん2007/03/01(木) 13:07:31
>>180
なぜか批判されるのは
仕事関係ですか?
0188デフォルトの名無しさん2007/03/01(木) 15:18:46
小西暇ならAB講座でも作れよ
0189 ◆tAo.kQ2STk 2007/03/01(木) 16:02:04
暇だが、面倒。
0190 ◆tAo.kQ2STk 2007/03/01(木) 16:03:48
後付けの理由だが、AB5の正式リリースが終わってないと正直何作っても勿体無い。
どっちにしろやる気が起きないだけなんだが。
0191デフォルトの名無しさん2007/03/02(金) 00:00:06
>>186
すみません、一人で悪戦苦闘していてレスが遅れました。
具体例を示していただきありがとうございます。
VB2005がVB関連の初体験のためメモリの確保と解放については殆ど無知でした(画像を扱った時だけ.NETでも明示的に解放してはいましたが)。

Unicodeでプログラムを書くにはそれ専用のクラスを自前で用意しないと厳しそうですね…。
AB5を待った方が良いのかも知れません。

>>187
中々新しい技術には移れないのが現実です…。
0192デフォルトの名無しさん2007/03/02(金) 06:27:08
てかABってそんなに仕様変更激しいの?
文法が全く違ったりするわけ?
0193デフォルトの名無しさん2007/03/02(金) 07:19:02
変更される以前に固まってないのだよw
0194デフォルトの名無しさん2007/03/02(金) 14:06:31
雨降って地固まる
で言う所の今は土砂降り状態って事。

デフォルトを参照型にって新規ユーザーの
敷居が高くならない?
0195デフォルトの名無しさん2007/03/02(金) 14:07:50
ぁ、よく考えたら使い方間違ってんな
恥ずかし・・・
0196デフォルトの名無しさん2007/03/02(金) 14:09:56
>>194
その土砂降りは何時止むのだろうか・・・
0197デフォルトの名無しさん2007/03/02(金) 16:02:53
>>196
ABは太平洋のど真ん中で土砂降りなんだな
0198デフォルトの名無しさん2007/03/02(金) 16:31:35
オーストラリアの大岩のあたりは雨も降らないし地も固まってないがな。
0199デフォルトの名無しさん2007/03/02(金) 19:38:09
もうわけわかんね
ABのコード書くうえで参考になる他の言語ってなによ
0200デフォルトの名無しさん2007/03/02(金) 19:54:35
プラットフォームWINAPI!
または海外のBASICコンパイラ類
0201デフォルトの名無しさん2007/03/02(金) 20:09:01
>>199
C/C++/C#ってとこじゃね?
最近はむしろBasicがないがしろ気味だね
0202デフォルトの名無しさん2007/03/02(金) 21:33:19
C言語とは似ても似つかない
0203デフォルトの名無しさん2007/03/02(金) 21:51:30
表面上の表記はそうかもしれんが、セマンティクスとしてはかなりC++に近い。
ABならではといったところが無い現状ではC++等からあえてABに乗り換えようとは考えにくい。
02042012007/03/02(金) 22:02:08
>>203
だよな
0205デフォルトの名無しさん2007/03/02(金) 23:20:52
ユーザーが望むActiveBasicと、
作者、開発陣が描くActiveBasicはかなりかけ離れている感じがする。
0206デフォルトの名無しさん2007/03/03(土) 00:23:42
作者のオナニー言語にナニを望んでるんだよ
0207デフォルトの名無しさん2007/03/03(土) 00:35:20
今日丸一日かけてAB4でUnicodeモジュールでも作ろうとしたが…正直時間の無駄だった。
RAD+エディタレベルで森鷗外とか♥とか書けない限り無駄なコードが増えて無駄な処理と無駄なメモリを消費するだけだ。

> まずはIf文の構造を見てみましょう。
> If 条件式 Then
> 条件が真の場合に実行するプログラム
> Else
> 条件が偽の場合に実行するプログラム
> End If
> この構造を見ていただければ、あまり込み入った解説はいりませんね。これ以外にも、If文の書き方は色々ありますが、ここでは省略しておきます(詳しくはヘルプファイルをご覧下さい)。

こんなやる気ゼロの解説で誰がABを学習してくれるって言うんだ?

Visual Basic 2005 Express Editionなら懇切丁寧なヘルプも付いていて全くプログラミングの経験がない人でもすんなりと入っていけるぞ。
Unicodeにも(.NET Framework使う言語は全て)初めから対応している。
同じクラスライブラリを使うからC#へのステップアップも比較的容易だしね。
0208デフォルトの名無しさん2007/03/03(土) 01:22:14
販売されてる製品で適当なヘルプだったら
クレームがつくんじゃないか?

要は「タダの対価」なんだろ
0209デフォルトの名無しさん2007/03/03(土) 01:33:08
>>208
VB2005EEは無償でも入手出来るよ。
ttp://www.microsoft.com/japan/msdn/vstudio/express/vbasic/

製品版との違いはより詳しいマニュアル本が付いているか否かで、無償版でも十分理解出来る。
まあサンプルプログラム自体は英語版そのままだし、クラスの概念は何回か読み&試す必要があると思うけど。
0210デフォルトの名無しさん2007/03/03(土) 03:36:16
仕様が固まる前に走り出したのがそもそもの原因な気がする。

「仕様書?俺の頭の中にあるからおk」ってのは企画倒れ要因の筆頭ですがな。
原因は開発陣と作者の性格の問題な気がするがね。

まあ結局オナヌーだから何するのも自由っちゃ自由なんだがね。
0211デフォルトの名無しさん2007/03/03(土) 04:11:36
なんだかんだ言って皆ABに期待してるんだね。www暇つぶし
0212デフォルトの名無しさん2007/03/03(土) 06:30:32
でも23歳でこれだけ作れるのも凄いんじゃね
0213デフォルトの名無しさん2007/03/03(土) 08:56:23
Sub Export

エラー出るんだけど
0214デフォルトの名無しさん2007/03/03(土) 09:10:23
Export Subのような気がする
0215デフォルトの名無しさん2007/03/03(土) 09:25:40
>>211
2.0xの頃からヲチしてるが、せっかくここまで作ってるんだから
ここで潰れるのは勿体無いよな〜というような感じ

そんな感じ
0216デフォルトの名無しさん2007/03/03(土) 10:17:25
貧乏性は貧乏を加速させます
物事の見極めができる目をもちましょう
0217デフォルトの名無しさん2007/03/03(土) 10:27:43
C++モドキよりもVer2.x 辺りのN88互換路線の方がまだ個性的だった希ガス

案外そっちの方が需要も多かったりするかも
0218デフォルトの名無しさん2007/03/03(土) 11:01:33
それは無いわ
0219デフォルトの名無しさん2007/03/03(土) 14:32:17
誰も>>207に乙って言ってやらないこの流れ方に笑えた
0220デフォルトの名無しさん2007/03/03(土) 14:35:34
普通ベーシックって1行ごとにどんな処理をしてるのか解説するのが当たり前だよな
ABは他の言語の仕様や用語を知ってる事が前提で解説をしてるから
訳が分からなくなる
0221デフォルトの名無しさん2007/03/03(土) 14:39:30
一行に魂を混めるBASICなんてのは今時のBASICではありません
0222デフォルトの名無しさん2007/03/03(土) 15:03:48
>>220
俺のベーシックの基本はマルチステートメントだから注釈はブロック単位ですが
0223デフォルトの名無しさん2007/03/03(土) 15:19:18
>>220
インクリメントごとに注釈されてたら読む気失せるが。
0224デフォルトの名無しさん2007/03/03(土) 16:56:21
まあ同じコードに何度も注釈されてたらうざいけど。
初めて出てくる文法にはそれくらいやらないと分かりにくいんじゃない。
0225デフォルトの名無しさん2007/03/03(土) 17:01:40
ブロックごとコードごとでなく
意味ごとによって注釈つけてる
0226デフォルトの名無しさん2007/03/03(土) 17:23:13
>>225
俺もそれが普通だと思っていたんだが、世界って広いな。
0227デフォルトの名無しさん2007/03/03(土) 17:39:18
ABの入門講座とか見ると
一つの命令ごとに注釈が入ってる
これは初心者にはありがたい

しかし一つ一つの注釈となると
初心者にはわからない用語が飛び出す
よって初心者向けでない

なんとなく覚えて
あとになってはっきりわかるってのは
よくあることと思う
0228デフォルトの名無しさん2007/03/03(土) 17:48:57
仮にもBASICならヘルプに力入れるのは当然
0229デフォルトの名無しさん2007/03/03(土) 18:14:12
Beginners All-purpose Symbolic Instruction Code
だったか?

限りなく後付けに見えるんだが。
0230デフォルトの名無しさん2007/03/03(土) 18:18:52
♪ △ ♪ 
 (゚ω゚)ノ ActiveBasic〜
~└( (♪
  ( ヽ ♪


  △♪
ヽ(゚ω゚) ActiveBasic〜
♪) )┘♪
 ノ > ♪
023127=131=2292007/03/03(土) 19:23:00
>>230
なんで俺が書き込んだ時にだけ現れるんだ?
0232デフォルトの名無しさん2007/03/03(土) 19:26:36
自演?
三回も同じ奴の後に現れるなんて
そうでもなければ
ブライダルかウェディングだろ
0233デフォルトの名無しさん2007/03/03(土) 19:57:07
オバケの救急車〜
0234デフォルトの名無しさん2007/03/03(土) 22:16:20
>>232
プログラム技術板の特性上、自演はありえないと思うぞ。
131と132の投稿された時刻を見れば気がつくと思うが。

30秒は間隔が必要だったよな?ニュー速と違って
0235デフォルトの名無しさん2007/03/03(土) 22:18:53
どうして141人もほぼ同時刻に見る事ができたんだ?
あの鯖、相当重かったように記憶しているんだが。
0236デフォルトの名無しさん2007/03/03(土) 22:33:52
141人sugeeee!
今15人なのに何が起きたのか
0237デフォルトの名無しさん2007/03/04(日) 18:49:20
沈黙sage
0238デフォルトの名無しさん2007/03/04(日) 19:43:09
なかなかβにならないねぇ
0239デフォルトの名無しさん2007/03/04(日) 19:59:29
>>234
じゃあ騙りかブライダルだな
0240デフォルトの名無しさん2007/03/04(日) 20:53:10
騙りって使い方おかしいだろ
0241デフォルトの名無しさん2007/03/04(日) 21:02:00
>>27>>131>>229
↑>>231が全部それは俺だ!ということにした
>>27の名を騙り
>>131の名を騙り
>>229の名を騙った
そう考えれば納得がイク
ドゥカー・イク
イヤンイクウ!
0242デフォルトの名無しさん2007/03/04(日) 21:04:52
もう何でもいいよ。
0243デフォルトの名無しさん2007/03/04(日) 21:28:51
IDEについて必要性がよくわからない要望が出てる件
2と3は分かる
0244デフォルトの名無しさん2007/03/04(日) 21:31:16
1はあっていいと俺は思う。
x64版バイナリは動作未確認で置いておくから、
欲しいやつは持って池みたいな配布ができる。

もっとも、x64の機械語を出力するコンパイラもx64プログラムだった気がするが。
0245デフォルトの名無しさん2007/03/04(日) 21:48:00
華麗にスルーされるのであった
0246デフォルトの名無しさん2007/03/04(日) 23:20:15
仕様提案で実際に実装された仕様ってどんなのがあるの?
0247デフォルトの名無しさん2007/03/04(日) 23:40:54
このスレの住人でwikiでも作ろうぜ。
0248デフォルトの名無しさん2007/03/04(日) 23:46:42
新機能のモナペディアでも使うのか?
ttp://ja.monapedia.org/wiki/
0249デフォルトの名無しさん2007/03/05(月) 00:09:50
>>246
http://www.activebasic.com/forum/viewtopic.php?t=716
・・・

ってこれしか見当たらないしww
0250デフォルトの名無しさん2007/03/05(月) 01:16:54
よりCらしくする提案だけ通った、ということか。
0251デフォルトの名無しさん2007/03/05(月) 01:19:55
どうでもいいような仕様提案が多すぎるだけだろ
0252デフォルトの名無しさん2007/03/05(月) 01:47:33
仕様提案より機能追加が重要だろ
■ このスレッドは過去ログ倉庫に格納されています