QBASIC
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
NGNGWindows98,Windows95 のCD-ROM の中に入ってます。
詳しくは以下のURL参照。
http://homepage2.nifty.com/kasayan/basic/qbasic.htm
http://www.geocities.co.jp/Milano/8000/qbasic/
詳しいページ
http://homepage2.nifty.com/kasayan/bindex.htm
http://www.geocities.co.jp/Milano/8000/qbasic/list.html
関連リンク
N88BASICなら俺に聞けスレ
http://pc.2ch.net/test/read.cgi/tech/1002050153/
MSX-BASICの奥義を伝授するスレ
http://pc.2ch.net/test/read.cgi/tech/1006624394/
ActiveBasicスレッド
http://pc.2ch.net/test/read.cgi/tech/1006083397/
N-BASICを思い出すスレ
http://pc.2ch.net/test/read.cgi/tech/1004643424/
REALbasicでプログラムごっこ
http://pc.2ch.net/test/read.cgi/tech/1003044439/
N60-BASICを思い出すスレ
http://pc.2ch.net/test/read.cgi/tech/1004975036/
RealBasicだけどどう?
http://pc.2ch.net/test/read.cgi/tech/997193486/
F-BASICに関するスレ
http://pc.2ch.net/test/read.cgi/tech/1008744379/
Blitz Basicってどうよ?
http://pc.2ch.net/test/read.cgi/tech/1007311614/
HSP9
http://pc.2ch.net/test/read.cgi/tech/1006444367/
Google Computers > Programming > Languages > BASIC
http://directory.google.com/Top/Computers/Programming/Languages/BASIC/
0002デフォルトの名無しさん
NGNG0003デフォルトの名無しさん
NGNG0004デフォルトの名無しさん
NGNGhttp://www.amazon.com/exec/obidos/tg/browse/-/3988/ref=br_bx_c_2_7/002-0036773-7796810
0005デフォルトの名無しさん
NGNGWIDTH 80,20
ってやるとエラーになるよ。
QBASICではWIDTH使えないの?
0006デフォルトの名無しさん
NGNG中毒になりそう。
0007デフォルトの名無しさん
NGNG0008デフォルトの名無しさん
NGNGもちろんわかっていってるとは思いますが、Quick BAsic のサブセット版のようなものがQBAISCです。
でもほとんどQuick Basicと同じと言っていいみたいです。
0009デフォルトの名無しさん
NGNG0010デフォルトの名無しさん
NGNG0011デフォルトの名無しさん
NGNGなめ�dのかい!
0012デフォルトの名無しさん
NGNG>>1のリンクの
http://www.geocities.co.jp/Milano/8000/qbasic/
のQBasic関数一覧によると WIDTH [桁数] [,行数] で使えるみたいだよ。
つーか LOCATEは y,x で指定するのに POINT は (x, y) で指定するのね。
なんかややこしい。
Quick Basicとの違いといえばQBASICではコンパイルできなくてインタプリタのみ
とかなんとかなんかの雑誌で見た気がする。あとは知らん。
日本語が使えないから日本語のコメント入れたい場合はメモ帳でプログラム打って.basで保存すればよい
とかいうのもなんかの雑誌で見た気がする。
0013デフォルトの名無しさん
NGNG0014デフォルトの名無しさん
NGNGWIDTH 40.20
とやったけど、なぜか
Ileegal function call
といわれてしまうのよ。
0015デフォルトの名無しさん
NGNG0016デフォルトの名無しさん
NGNG10 CLS
20 WIDTH 40,20
でも、同じエラーでした。
001712
NGNGちょっとまて。
今気付いたけどQBASICって行番号使えたっけ?
001912
NGNG今Googleとかでいろいろ調べていたところ、
N88BASIC for WinとQBASICとを比較しているサイトで
QBASICのリストでコメント文でWIDTHがはぶかれているのを見た。
結局使えない可能性が濃厚。
0020デフォルトの名無しさん
NGNG行番号が使えなくて困るようなことってある?
0022デフォルトの名無しさん
NGNG疑問が解けました。
0023デフォルトの名無しさん
NGNG0024デフォルトの名無しさん
NGNGそんなのBASICじゃない!!
0025デフォルトの名無しさん
NGNG基本的には上から下に流れていくんでしょ。
もしかして、
20 PRINT "A"
10 PRINT "B"
というコードで、
B
A
という出力にはならない、っていう意味?
0026デフォルトの名無しさん
NGNG今試してみたら、
A
B
になった。
002712
NGNGWIDTHと同じ Ileegal function call
ってエラーがでたよ。
そこで2〜3年前のベーマガやらいろいろ調べてみると
そこに載っていた全部のプログラムがSCREENを使っていた。
SCREEN モード, カラースイッチ, 書き込みページ, 表示ページ
で、このモードの部分を指定してやるとLINEを使うことができた。
どうやらモードの部分は1〜12まで指定できるらしい。数字が大きいほど解像度が上がる。
つーかこれってQuickBasicやN88Basicでは当たり前のことなの?
N88 for Winでは普通にいけたが…(つーか初めからモードが3しか指定できない)
ちょっと戸惑いそうだぞ…
つーかN88 for WinではLOCATEは0,0からだが、QBasicでは1,1かららしい。もう知らん。
ちなみにLOCATE 0,0とするとIleegal function callが出た。そういう系のエラーらしい。
0028デフォルトの名無しさん
NGNG調べてくれてありがとう。
感激しました。
「QBASICはSCREEN」
これを標語にして覚えます。
0029デフォルトの名無しさん
NGNG全部で641KBか。
ベーマガに、フライトシミュのコードがあるよ。
0030デフォルトの名無しさん
NGNG漏れは昔 (PC98の) QuickBASIC やってたけど、今更 QBasic はあんまり関心しねぇなぁ。
Borland C++ が無料で手に入る時代だよ?
まぁ、たしかに Win32 だとグラフィック扱うまでの敷居がとてつもなく高い事はたしかだけど。
茨の道を歩む覚悟がないと漏れのような中途半端に落ち着くこと確実。
あ、誰か ナツメから出てた QuickBASIC ハンドブック Vol.2 いる?
QBasic やるなら 関数リファレンスとしてスゲェ役に立つけど。
0031デフォルトの名無しさん
NGNG自己紹介ご苦労。
0032デフォルトの名無しさん
NGNGよくわかったね。
0033デフォルトの名無しさん
NGNGただし、桁は40と80だけで、行は25以上。
0034デフォルトの名無しさん
NGNGhttp://www.yamagame.com/MyWeb/QBASIC/QBasGame.html
0035デフォルトの名無しさん
NGNG今試したらできました。
教えてくれてありがとう。
0036デフォルトの名無しさん
NGNG>Cntl+Pause(Break) でプログラムを終了できる
というのがあった。これ重要でしょ。特に無限ループをすぐ作る私みたいな厨にとっては。
0037デフォルトの名無しさん
NGNGsum = 0
FOR i = 1 TO 100
sum = sum + .01
NEXT i
PRINT sum
END
このコードを実行すると、漏れのマシンでは
.9999993
になった。十進BASICでは、この欠点は改善されているようだが、日本語版しかないので、ソースをガイジンと共有できない。
どうしたものか。
0038デフォルトの名無しさん
NGNGここのFAQ笑えた。
Q. What is QBasic?
A. QBasic is a BASIC, in the same way as a racehorse with a broken leg is still a racehorse.
QBasic's limited features and inherent constraints make it beloved by 16 year-olds and others who don't know any better.
Like a racehorse with a broken leg, it should be shot.
0039デフォルトの名無しさん
NGNGBCD(Binary Coded Decimal)というライブラリーを使うと、浮動小数点の演算も正確にできるそうです。
で、質問なんですが、QBASIC 用の BCD ライブラリーってあるんですか?
0040デフォルトの名無しさん
NGNG0041デフォルトの名無しさん
NGNGどういう意味ですか?
QBasic は足の折れた競争馬みたいなもんだ。って事ですか?
0042デフォルトの名無しさん
NGNG今はフリーのコンパイラが何種類か手に入ると言っても、
FD1枚以下のサイズで統合環境を提供できるものは、なかなか無いだろう。
>39
BCD演算でも、桁落ち誤差は発生するよ。
倍精度以上の計算がしたかったら、それなりの言語を選ぶべき。
0043デフォルトの名無しさん
NGNGフロントに駆動をかけてくれる。
つまり、FRのスポーツ感はそのまんま。
パワードリフトなんかも、お茶の子さいさいなワケだ。
0044(4WD)&rlo;(DW4)&rle;
NGNGよくわからんが。
つぎのNSXは前輪が電動で動く4WDらしいぞ。
電子センターデフのアテーサよりいいかも。
0045デフォルトの名無しさん
NGNG言ってる事はよくわからんが、とにかくすごい自身だ
0046デフォルトの名無しさん
NGNGSHOT16ってゼビウスじゃん。
こんな小さいソースで、よく出来てるなあ。
花火みたいに爆発する敵(名前忘れた)もちゃんと出てくるし。
0047デフォルトの名無しさん
NGNGこれって例えば、
A=10/3=3.33333
3*A =>9.999999
になるとか、そういうことですか?
とりあえず、今は、
FOR i=1 TO 100
sum=sum+0.01
NEXT i
print sum
これできっかり1を出してくれるBASICの実装がほしいんです。
現在までの調査では、「十進BASIC」しか世界中探しても存在しないようです。
0048デフォルトの名無しさん
NGNG桁落ち誤差は、大きな数と小さな数を足した時に起きる。
0049デフォルトの名無しさん
NGNGF-BASIC for Win も、BCD演算できるよ。
あと、U-BASIC86とか、いろいろある。
どっちみち、0.01を100回足すことだけにこだわってるようじゃ、
計算誤差は避けられない。
0050デフォルトの名無しさん
NGNGMSX-BASICもBCDだったな。
実機を使わなくても、エミュでじゅうぶん実用的。
0051デフォルトの名無しさん
NGNG0052デフォルトの名無しさん
NGNGいままでコンピューターに過大な期待を抱きすぎていました。
コンピューターがあればなんでも計算できると思ってました。
いまでは、コンピューターは、単なる高価でまぬけな箱です。
数学の問題に取り組むには、コンピューターはあくまで補助道具、ニンゲンの頭が一番重要とわかりました。
0053デフォルトの名無しさん
NGNG今でも内蔵時計の精度は低いしね(笑)。
まあ、何とかとハサミは使いよう。
演算精度が気になるなら、それ用の言語を選択すればよろしい。
BASICは元々初心者のプログラミング教育用に作られたのだ。
0054デフォルトの名無しさん
NGNG「0.01を100回足す」
くらいなら公文式をやってる子なら6歳くらいでもできるのに、俺様の1GHZのマシンで間違った答えを出しやがることに謝罪と保証を要求したい気分になってるのであります。
0055デフォルトの名無しさん
NGNGパソコンの問題じゃなくて、大昔のBASICを使ってるから。
倍精度で計算すれば、かなりマシになる。
Dim sum As Double
0056デフォルトの名無しさん
NGNGマジレスすべきか迷ったけど、一応書いてみる。
人間の10進数で 1/3 や 1/9 を正確に表現できないよーに、
コンピュータの16進数では 1/10 や 1/100 を正確に表現できないんです。
0.3333333 を3回足しても 0.9999999 でそ。それと全く同じです。
0.1 とか 0.01 は16進数で書くと循環小数になるんで、仕方なく適当な桁で切り捨てやがります。
これが間違った答えが出る原因であります。
所詮、人間とコンピュータは相容れぬもの。
0057デフォルトの名無しさん
NGNG割り切れるから、非常に正確(笑)。
0058デフォルトの名無しさん
NGNGまあ、BASIC みたいに子供のおもちゃみたいな言語では仕方ないよ
有理数を型として持ってる言語を使えってことだな
0059デフォルトの名無しさん
NGNGつまり、
「型なし言語逝ってよし」
http://pc.2ch.net/test/read.cgi/tech/986355498/
ということなんですか?
0060デフォルトの名無しさん
NGNGそんなあなたにFortran(藁
0061デフォルトの名無しさん
NGNG(2)小数点の丸め誤差に悩まされることがないの?
(3)いろんな計算が正確にできるの?
0062デフォルトの名無しさん
NGNGそこのスレッドタイトルの「型」は変数の型であって、値の型ではないよ
実際問題、値の型がない言語なんてごく希だよ(無いわけじゃない)
0063デフォルトの名無しさん
NGNG10バイトだかの浮動小数点演算装置を内蔵してるのに、
なんで単精度実数が8ビット時代と同じ4バイトなんだ?
0064デフォルトの名無しさん
NGNG> 今でも内蔵時計の精度は低いしね(笑)。
( ´,_ゝ`)プッ
0065デフォルトの名無しさん
NGNG正直NT4.0マンセーな人にも使って欲しいと思う。
0066デフォルトの名無しさん
NGNGつーかGDIをカーネルモードで動かすのヤメレっつってんだよ!!
3.5はヨカタ
0067デフォルトの名無しさん
NGNGそろそろQBASICの話題に戻ってほしい。
0068デフォルトの名無しさん
NGNGクロック数は まったく関係ない。
Alpha21264は同クロックの21164より約2倍速い。
で21164は同 クロックのPentiumIIの約3倍。
PentiumIVがSSE2使ってもAlphaの方が はやいようん。
EV7で打ち止めだけど。
0069デフォルトの名無しさん
NGNGhttp://www.qbasic.com/tutorial.shtml
コンパイラやアセンブラ変換ツールまである。
0070デフォルトの名無しさん
NGNG0071デフォルトの名無しさん
NGNGQuickBasicの後継としてM$が開発してたみたい。
QuickBasic Extended とも呼ばれてた。
しかし、すぐVisualBasicに取って代わられた。
History of BASIC
http://www.phys.uu.nl/~bergmann/history.html
0072パケドラマニヤ
NGNGアプリ開発できるんじゃねーの。憶測で物を言ってるけど。
スクリーンモード0とかで日本語表示ができなくても、
スクリーンモード11とか12だったらDOS/V環境で日本語表示
できると思うんだよね。
いまさら試すのもなんだけどな。
0073デフォルトの名無しさん
NGNGやってみたいので、何かヒントください。
いちおうネットで調べた見たけど、そういう試みはまだなさそう。
0074デフォルトの名無しさん
NGNGコンパイラがあれば、日本語入ってても大丈夫なんだけど。
開発環境だと、ちょっと意味無し。
メモ帳で、以下のTEST.BASを作成。
SCREEN 12
PRINT "こんにちは、世界"
コマンドプロンプト(USと打たない状態)で、
QBASIC TEST.BAS と入力。
画面は表示されないが、[F5]を押す。
007574
NGNGQBASIC2 TEST.BASと入力。
007673
NGNGすごい! 「こんにちは、世界」が表示されました。
編集画面には戻れないし、DOS窓自体も強制終了ですけど。
0077デフォルトの名無しさん
NGNGHELPなんてサイズが同じですし。
昨日間違って、2のHELPをクリックしたら、
一番上に日本語のメニュー行が出てきて、驚きました。
QBASIC2は、もしかして日本語化を途中で断念した痕跡ですか?
007874
NGNGたまたま動かしてみたら、動いただけ。
いちおー画面が表示されてないだけで、[Alt]-F-X ってやると終了できる。
BCってプログラムがあれば、コンパイルできるんだけどねぇ。
そうすれば、普通のエディタで書いて、コンパイルして、
日本語を表示するプログラムが実行できるよ。
>>69 のところでコンパイラを探してみれば?
0079デフォルトの名無しさん
NGNGサイト丸ごと落としたら、9MBありました。
コンパイラは、FirstBASICとASICとMoonRockでした。
前の2つはシェアウェア、残りは類似ソースのコンパイラでした。
0080質問
NGNGここの説明を見てたら、
>The "numbers" category is further broken down into four areas. The
> regular type, called integers, require no symbol, or can be followed by a
> %. They can be in the range of -32767 to 32767. Integers are what you
> will be using most of the time. Another type of integer, long integers,
> have a range of -2 billion to 2 billion.
と書いてあります。
(1)Integer % -32767 to 32767
(2)long integers, & -2 billion to 2 billion
(3)short decimal !
(4)long decimal #
となるようですが、具体的な使い方がわかりません。
LET A = 0.0001!
という感じでつかうのでしょうか、それとも
LET A! = 0.0001
でしょうか。
0081仕様書無しさん
NGNGLET A! = 0.0001!
と書いておけば一番確実だけど。
それにしても懐かしいな〜 LET。
代入ステートメントがある言語なんて、ここ10年触ってない。
0082デフォルトの名無しさん
NGNG後ろに何も付いてなければ、数値は!扱いになります。
変数も宣言なしで使うと、!型になります。
つまり、!は付けても付けなくても同じです。
なお、LETは省略してもオッケーです。
008374
NGNGさすがにどこかに落ちていたりはしないようですね。
BorlandはTurboCppとか落とせるのに。
変数を宣言せずに使うと Integer 型になると思ってたが、
DEFINT A-Z と書いている場合だけだったか。
LET A = 0.0001
PRINT A
とやるとちゃんと 0.0001と表示されるね。
その時代は、WORK% とか X$ とか書きましたが、いまどきは使わないほうがいいです。
ちゃんと宣言してから使いましょう。
DIM iRdFile AS INTEGER
DIM nRow AS LONG
DIM shtTaxRate AS SHORT
DIM dblXPos AS DOUBLE
DIM sMessage AS STRING * 60
ただ、調子に乗って長い名前にしすぎるとメモリの無駄ですので。
0084デフォルトの名無しさん
NGNG整数ですむ場合は、整数のほうが速いし、メモリ食わないので、
たいてい最初に、DEFINT A-Zと書いてましたね。当時は。
0085仕様書無しさん
NGNGDr.D にそう奨められましたね。当時は。
0086デフォルトの名無しさん
NGNG変数名にまでメモリ効率を求めたあのころ・・・・まるで遠い昔のようだ。
無理な省略で自分でも使途がわからなくなったりしたな。
0087デフォルトの名無しさん
NGNGあとみんな収入がないのにコンピューター使ってたんだね。
漏れは27才だけど最近ようやくBASICをはじめたよ。
0088デフォルトの名無しさん
NGNG月刊マイコンBASICマガジンという雑誌の中に居た(今も居る)人デス。
0089デフォルトの名無しさん
NGNG聞いてみな。
0090デフォルトの名無しさん
NGNGワラタ
0091デフォルトの名無しさん
NGNG>Microsoftのコンパイラは、今ではごみ同然ですが、
>さすがにどこかに落ちていたりはしないようですね。
そうか?
海外じゃ結構おおっぴらにWebサイトに置いてたりするぞ。
頻繁にURLが変わってるけどな(w
0092デフォルトの名無しさん
NGNG0093デフォルトの名無しさん
NGNG何を言ってるんだ (`д´)ノ ゴルァ!!
「ローカル変数」という概念が導入されただけで感激モンだったんだ〜
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄∨ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
∧_∧
( ´Д⊂ヽ
⊂ ノ
人 Y
し (_)
009474
NGNGまあ、ワレズを探してまで、QBasicにこだわる事もないでしょう。
今、BC7\を圧縮してみたら、5MBもあったよ。
ところで、QBX.EXEとQBASIC.EXEってのは別物なの?
0095http:// cj3203940-a.shmki1.ky.home.ne.jp.2ch.net/
NGNG0096デフォルトの名無しさん
NGNGBC7をMXで公開してください。
0098よろしく>74さん
NGNGめぼしいのをいくつか紹介。
●ゲーム
perl3 …… パックマン、表示もサウンドも文句なし
oozes …… ロードランナー、カギの取り方がわからない
baldio …… スーパーマリオ、画面は小さい
●スクリーンセーバー系デモ
micro …… らせん構造、異常に速いと思ったらスクロール使用
puddle …… 渦
firework …… 花火
amobe …… 模様
●非実用系
txtreng …… 3Dカー・ドライブ、セーバーの迷路ライク、遅すぎ
windowsx …… ジョークソフト、OSもどき
zipファイルもbasと同数ぐらいあるので、ゆっくり見ていきます。
0099デフォルトの名無しさん
NGNGレビューありがとう。
次回も期待しております。
0100デフォルトの名無しさん
NGNG0101デフォルトの名無しさん
NGNG(1)最新はじめてのQUICK BASIC めざせ構造化!ここまできたBASIC 河西朝雄 技術評論社
(2)BASICでわかる数学 八鍬幸信 蝦名信秀
(3)QUICKBASIC入門 dれでもわかるプログラミング 林直つぐ 室井勝子 鈴木美枝子
(4)QUICK BASIC 中級プログラミング 小池慎一 森 博
内容はまだ読んでないから知らない。
010274
NGNG4冊も買うとは、やる気あるね。
全部はやらなくていいから、自分にあってそうな奴から、こつこつがんばれ。
ある程度感覚がつかめてきたら、C++なり、Javaなりも勉強してみよう。
あまり、BASICにはまりすぎると、多言語の習得が難しくなるので。
調べたけど、以下のようなラインアップだったみたい。
QBasic
インタープリタのみで、DOSやWindowsに付属している。
QuickBasic
コンパイラつき
BasicCompiler(PDS)
String型をHeapメモリー上に確保できる。その他の開発ツールも付属。
0103デフォルトの名無しさん
NGNG0104デフォルトの名無しさん
NGNGQBに限らず、BASICは全部そう。
0105お待ちしてます
NGNGPalm持ってないけど、エミュで。
とりあえず、98ノートにTurboCを入れよう。
010696=98=105
NGNGXファイル鑑賞中。
0107デフォルトの名無しさん
NGNGに
「構造化を使うことで、CやPASCALにも劣らないプログラムを作ることができます」
と書いてあるが、マジかよ(w
010874
NGNGごめん、名前欄見逃してた。今日の夜にして。
>>107
CもPASCALもBASICも構造化言語であることに変わりはないってこと。
ただし、オブジェクト指向に関しては
CにはC++が、PASCALにはObjectPASCALがあるのに、
BASICはVB.NETが出るまでは、ないってこと。
あと、Cをやるとメモリーの使われ方がイメージできるようになるから良いよ。
逆にそれがCの欠点でもあるのだけれど。
011096
NGNGどうも。検索開始しました。うまくめぐりあえるかな。
あ、ファイル名、暗号化しなくてもだいじょうぶですか?
TCはかじった経験あるんですが、C++で挫折しました。
いまはVBで遊んでます。
0111デフォルトの名無しさん
NGNG011296
NGNGたしかにコードの書き方とかは似てますね。
イベントドリブンな点は違いますけど。
検索ヒットしないので、メアド欄にMXのID入れておきました。
こちらからCのソースでも落としてください。
011374
NGNG文法や、基本の関数は同じ。
イベントドリブン(Mainだけでなく、Windowsから呼び出される関数がある)のと
Ver.4あたりから、クラスモジュールというオブジェクト指向風味の物が導入された。
0114デフォルトの名無しさん
NGNGちょっと見にくいかも。
0115デフォルトの名無しさん
NGNG配列をプロシージャーに引数として渡すとき、配列の先頭アドレスだけ渡す、みたいなことが書いてある。
Cでポインターに挫折してBASICに逃げてきて結局ポインターにでくわした漏れって、、、
0116デフォルトの名無しさん
NGNG必需じゃないんだからいいんじゃないの
0117デフォルトの名無しさん
NGNGプロシージャの引数は基本的にいわゆる参照渡しかと。
011896
NGNG先頭アドレスを渡すだけですね。
#昨日74さんからいただいたMS BASIC PDS7.1には、ユーザ定義型(Type)がありました。
ISAMもついてるし、かなり本格的です。
011974
NGNG今、マニュアル読んでるんだけど、
プロシージャの引数は、配列とユーザ定義型は、参照渡ししか出来ないって。
QBasicは初心者の学習用として、シンプルでいいかなと思ってたけど、
セグメントだのfar文字列だの出てきて、結構難しいなあ。
012096
NGNGじつは、QBasic、ほとんどいじったことないんですよ。
Z80 → N88 → TC → (ブランク) → VB です。素人ですし。
012174
NGNGVARPTR()ってのを使うと、オフセットアドレスが取得できますね。
QBasicだけじゃなく、VBでも使えた。
明日は、いろんな変数の配置のされ方を表示させてみようと思います。
0122デフォルトの名無しさん
NGNG6 + 2 * 3 - 4 / 2
がどういう順序で計算されるか、とかそういう説明。
このへんは、Scheme のほうがはるかにわかりやすい。
Scheme だったら、いちいち、優先順位なんかおぼえる必要は無い。
0123デフォルトの名無しさん
NGNG読んでたら、
「どしどしGOTOを使おう」
とか書いてあってちょっと萎え。
0124デフォルトの名無しさん
NGNG本当に買いたかったのは、これ。
Qbasic Programming for Dummies
http://s1.amazon.com/exec/varzea/ts/exchange-glance/Y02Y0017865Y0431196/qid=1011290185/sr=1-/ref=z_ret_b_oop_03/104-7263667-8639101
間違えて買ったのは、こっち。
Beginning Programming for Dummies
通販の場合は手にとって確認できない罠、、、
しかも今よーく確認したら、Qbasic Programming for Dummies の方は絶版になっていて、中古が1冊あるだけ。しかもその中古も
Will not Ship Internationally
http://s1.amazon.com/exec/varzea/ts/my-zshop-expanded-description/S1AXYAL1O19ZAN/103-0862124-3795824
とか書いてあるし。まじでアメリカに移住してぇ。USのみ販売の中古本を日本にいながら買う方法は無いのか?
0125デフォルトの名無しさん
NGNGいつの時代も、技術についていけなくて、
旧世代の技術マンセー!っていう人っているんだね。
今でも OO 理解できない人とかが、同じ事繰り返してるYO。
>>124
アメリカの便利屋(そんなのいるのか?)に頼むっていうのは?
多少高くつくかも知れないけど、どうしても欲しいなら。
あとはアメリカの知り合いに頼む、いなければアメリカに知り合いの
いる知り合いに頼む。
0126デフォルトの名無しさん
NGNG読んでるけど、自動車のファジィ速度制御とか、モデムでのファイルの送受信まで扱ってるな(w
0127デフォルトの名無しさん
NGNGいつの時代も、新しいモノ好きで、
新世代の技術マンセー!っていう人っているんだね。
新しいというだけで、自分のロジックまでよくなると思ってる(笑)。
012874
NGNG結局、古い技術も理解しなくてはならないという罠。
今日は寝ます。
0129デフォルトの名無しさん
NGNG「BASICでわかる数学」
は、QBASICをつかえばいいのに、なぜかGOKUBASICとかいう独自のBASICを使っているため、構造化ができない。
なので
「GOTO使え」
な方針になっている。ここは素直にQBASICを使えばよかった。変なところに独自仕様にこだわる日本人の悪いくせがもろにでているかんじ。
0131デフォルトの名無しさん
NGNGEXE作れるから、ほとんどQUICK BASICと変わらんな。
ただし、30日間のシェアウエアだから、30日経ったら、どうなるかわからんが。
0132デフォルトの名無しさん
NGNGの Eluza ちゃん チョーかわいい
0133デフォルトの名無しさん
NGNGINPUT A,B
C = A + B
PRINT C
を実行すると、
?
と出ますので、そこで、カンマで区切って、数字を2つ打ちます。
1,2
すると、その合計値が出ます。
3
0134デフォルトの名無しさん
NGNGきっと深い意味があるんだろうけど、俺には読み取れない。
0135デフォルトの名無しさん
NGNGアドレス渡ししかできないのですか?
呼び出し側の変数を、サブ側で、かってに変更されると、困ることもあります。
0136デフォルトの名無しさん
NGNG013774
NGNGうぬ、ByValキーワードが使えないみたい。
>>136 が正解みたいです。
DECLARE SUB test (i2 AS INTEGER)
DIM i AS INTEGER
CLS
i = 999
PRINT "A i="; i
CALL test((i))
PRINT "B i="; i
i = 999
PRINT "C i="; i
CALL test(i)
PRINT "D i="; i
SUB test (i2 AS INTEGER)
i2 = 123
END SUB
[結果]
A i=999
B i=999
C i=999
D i=123
0138デフォルトの名無しさん
NGNGたしかにその方法をつかえば、アドレス渡しも、値渡しも、自由自在ですね。
QBASICは、文字列処理も結構できるし、Cとくらべてもそんなに不便を感じることはありません。
あえて欠点をあげるとすれば、ポインターを使えない、UNIXで動かない、変数のタイプミスにきづきにい(タイプミスをすればそのまま新しい変数として宣言される)くらいでしょうか・
0139デフォルトの名無しさん
NGNG0140デフォルトの名無しさん
NGNG0141UNIX
NGNG0142デフォルトの名無しさん
NGNG「確かにDOSEMUでも動かせるけど、
UNIXでまでQBASIC使う意味はないのでは?
不確かだがUNIXにもBASICあっただろ」
って言いたいのでは?
0143デフォルトの名無しさん
NGNGなんで、たったの5,6行で、あれだけ複雑なことが記述できるのだろうか。
ちなみに、ハノイの塔を、頭の中で考えながら寝ると、ずーっと寝られなくなりません?
漏れは、ハノイの塔を頭でときはじめると、どんどん目がさえてきて、朝の4時くらいまで寝られなくなる。
もちろん、ふとんの中で、目を閉じて、イメージだけで解くんだけど。
最初はプレート3枚からはじめて、13枚くらいまでいく。
0144デフォルトの名無しさん
NGNG0145デフォルトの名無しさん
NGNGあれって実際にもその5,6行を再帰的にやるだけでしょが。
X枚のときにXm回でゴールするなら、
X+1枚の時は
1.Xm回で一番下以外を隣に移す。
2.1回で一番下をあいている塔に移す。
3.Xm回で一番した以外で出来ている塔を2.の塔に移す。
で2Xm+1回になるわけでしょ。それを再帰処理で計算してくだけ。
それぞれの枚数ごとにスタートからゴールまでずっと考えると
いうのは、数学的素養がない根性馬鹿しかやらんことだよ。
0146デフォルトの名無しさん
NGNG0147デフォルトの名無しさん
NGNGbwbasic、pbasic、yabasicのどれか。
0148デフォルトの名無しさん
NGNGhttp://fox.zero.ad.jp/~zak17295/spl/os1.lzh
0149デフォルトの名無しさん
NGNGどうも。いちおう検索結果を報告。
yabasic
http://www.yabasic.de/
bwbasic
http://www.dais.is.tohoku.ac.jp/~kabe/languages/bwbasic.html
ftp://ftp.tohoku.ac.jp/mirror/free-unix/BSD/FreeBSD/distfiles/bwbasic-2.10.tar.gz
pbasicはバイナリはあったけど、ドキュメントサイトが見つからなかったです。
0150デフォルトの名無しさん
NGNGBASICのくせに、けっこう難しいです。
015196
NGNGThe following QuickBasic keywords are not supported in QBasic:
ALIAS EVENT LOCAL SETMEM
BYVAL $INCLUDE SADD SIGNAL
CDECL Int86 Interrupt UEVENT
COMMAND$ Int86X InterruptX
qbasic.comで公開されてるソースの中には、QuickBasic用のも混じってます。
015296
NGNG486ノートで見ると、速度がバッチリ。立体的なうねりが見えます。
DNAというより、昇り竜でしょうか。
で、VBに移植してみたら、遅くてダメ。ずっと速い機種なのに。
やっぱり、ハードウェア・スクロールには、かないません。
裏画面に全部描いてからBitBltしたら、なんとかなりましたが…。
できればリアルタイムに描画したかった…。Cだと出来るんでしょうね。
-----------------------------------------------------------------
CLS
SCREEN 12
pi = 3.14159 / 2
FOR rot = 0 TO 3.14159 * 20 STEP .1
ax = 320 + 60 * COS(rot)
ay = 400 + 30 * SIN(rot)
FOR i = 1 TO 8
CIRCLE (ax + (90 - i * 10) * COS(rot), ay + (22 - i * 2) * SIN(rot)), 9 - i, i
CIRCLE (ax - (90 - i * 10) * COS(rot + pi), ay - (22 - i * 2) * SIN(rot + pi)), 9 - i, i
NEXT
LINE (ax, ay)-(ax + 80 * COS(rot), ay + 20 * SIN(rot)), 9
LINE (ax, ay)-(ax - 80 * COS(rot + pi), ay + -20 * SIN(rot + pi)), 9
LINE (ax + 80 * COS(rot), ay + 20 * SIN(rot))-(ax - 80 * COS(rot + pi), ay + -20 * SIN(rot + pi)), 9
PRINT ""
NEXT
0153デフォルトの名無しさん
NGNG実行してみました。
うなぎのホネみたいのが、うにょうにょ動いてたにょ!
0154デフォルトの名無しさん
NGNGまとめてくれて、ありがとう!
漏れ、QUICK BASIC の本で勉強してるから、こういうの、ありがたいんだよね。
さて、いまから、リカーシブ、グラフィックスのところを読みます。
内容は、
●コッホ曲線
●コッホ島
●クロスステッチ
の3つです。
0155デフォルトの名無しさん
NGNGランダムファイルとシーケンシャルファイルの読み書きだ。
これが終わったら、次に、もう一冊買ってある別の入門書を読みます。
0156デフォルトの名無しさん
NGNGうにょうにょをVBで再現することに成功しました。
いちおうリアルタイム描画。
>>154
151はQBヘルプの抜粋です。すいません。
おもしろそうな幾何図形を描く短いコードがあったら、紹介してください。
0157デフォルトの名無しさん
NGNG0158デフォルトの名無しさん
NGNG0159デフォルトの名無しさん
NGNG0160デフォルトの名無しさん
NGNG0161デフォルトの名無しさん
NGNG0162デフォルトの名無しさん
NGNG書評 書いてみたよ
0163デフォルトの名無しさん
NGNG0164デフォルトの名無しさん
NGNG0165デフォルトの名無しさん
NGNGInput時はエラーになり、Output時は0バイトのファイルが出来ると思う。
0166デフォルトの名無しさん
NGNG窓アプリは出来ないと思うけど、CGIは出来そう。
0167デフォルトの名無しさん
NGNGCLS
OPEN "girl.txt" FOR OUTPUT AS #1
PRINT " owari tai toki ha /,0 to ose"
INPUT "namae,nenrei"; namae$, toshi
WHILE namae$ <> "/"
WRITE #1, namae$, toshi
INPUT "namae,nenrei"; namae$, toshi
WEND
CLOSE #1
END
0168デフォルトの名無しさん
NGNGQuickBasicユーザが居てうれしい。
昔作ったゲームあるけど見る?
ソースきぼんならソースも出すよ。
いまは他の言語使ってるけどBASICにはBASICの良さがあるね。
統合環境はQuickBasicが一番好き。
河西 朝雄氏はどの本書いてもネタ変わってない気がする(藁
0169デフォルトの名無しさん
NGNGCLS
p$ = "Basic World !"
FOR k = 1 TO LEN(p$)
PRINT " "; RIGHT$(p$, k)
FOR i = 1 TO 100000: NEXT i
NEXT k
END
0170デフォルトの名無しさん
NGNGPLAY文だと、スピーカーから豪快に「ピーポーパー!」と音が出るので、近所迷惑です。
0171デフォルトの名無しさん
NGNGDelphi なんか目じゃねーな。
SCREEN 12
CLS
DO UNTIL a$ = "a"
LOCATE 15, 15
PRINT TIME$
a$ = INKEY$
LOOP
END
0172168
NGNGhttp://www.ac.wakwak.com/~mikage/web/lib/qb_lzh/bp400.lzh
http://www.ac.wakwak.com/~mikage/web/lib/qb_lzh/bp400s.lzh
QuickBasicで書いたのでPC-98で動かしてね。
i486DX2推奨。
力技で完成までこぎ着けたんで見るだけでも見てもらえれば嬉しいです。
0173デフォルトの名無しさん
NGNGサブルーチン名にピリオドが使えるなんて,初めて知ったよ.
力作ですね.98は無いので,動かせませんが.
0174デフォルトの名無しさん
NGNG0175168
NGNGピリオドで区切って意味的に分類しようとしてたのが見て取れてちょと懐かしい。
名前にピリオドが使えるのは確か先輩に教わった。
その先輩に出会わなかったら、今プログラム書いてないかも(´Д`;)
Anex86で動かしてみたけど、ウエイト関係0にして2Pまでが限界。
実際にi286-12MHzで開発してた時もあったけどまあこんなものだった。
BEEP音が若干変だけど一応動く。
0176デフォルトの名無しさん
NGNGいまQBasic By Exampleていう本読んでるけど、PRINTとCLSとLETとENDの4つ終わっただけで
Congratulations!! You are now QBasic programmer!!
とか20行くらい使ってベタボメ。
0177デフォルトの名無しさん
NGNG98ノートで動きました。
>175
N88-BASIC(86)でも、変数名にピリオドが使えました。
で、「構造体サポート」というジョークがありました(笑)。
0178デフォルトの名無しさん
NGNGCLS
INPUT a$
PRINT ASC(a$)
END
これでもう、文字コード一覧表とにらめっこする必要はありません!!
しかも、フリーで使えます!!!
0179デフォルトの名無しさん
NGNGそのコードだと、カーソルキーとかに使えない。
改良の余地があるな。
0180デフォルトの名無しさん
NGNG変数のタイプミスをしても、そのまま新しい変数宣言になってしまうので、タイプミスが発見できない。
これでは、あまりおおきなコードは書けない。
0181 (´ヘ`;)ハァ
NGNG0182デフォルトの名無しさん
NGNG0183デフォルトの名無しさん
NGNGどこの構造体のメンバーだろう、とソース中探し回ったがなかった。
よく考えたら、ピリオドを使ったnum.rec という名前の変数だった。
変数宣言が無いからわからなかった。
こういうところが困る。
0185デフォルトの名無しさん
NGNGSCREEN 12
CLS
PSET (0, 0)
c = 1
FOR i = 1 TO 450
PSET STEP(1, 1)
FOR j = 1 TO 50000: NEXT j
IF ((i MOD 10) = 0) THEN
IF c = 1 THEN
LOCATE 5, 30
PRINT "Missile is coming!"
c = -1
ELSE
LOCATE 5, 30
PRINT " "
c = 1
END IF
END IF
NEXT i
END
0186デフォルトの名無しさん
NGNGそこに18文字分の半角スペースを入れてください。
space$()使った方がよかったな。
0187デフォルトの名無しさん
NGNGSCREEN 12
CLS
RANDOMIZE TIMER
DO
x = INT(RND * 800) + 1
y = INT(RND * 600) + 1
PSET (x, y)
FOR i = 1 TO 1000
x = INT(RND * 800) + 1
y = INT(RND * 600) + 1
PRESET (x, y)
NEXT i
LOOP WHILE (INKEY$ = "")
END
0188デフォルトの名無しさん
NGNGSEED同じにしないと消えない気がするけど・・・。
0189デフォルトの名無しさん
NGNG毎回1000回消してりゃ、どれかは消えるだろうってことじゃねーの?
0190デフォルトの名無しさん
NGNGSCREEN 12
CLS
DO
FOR i = 0 TO 639
LINE (i, 0)-(639 - i, 479)
FOR j = 1 TO 2500: NEXT j
CLS
IF INKEY$ <> "" THEN
edc = 1
EXIT FOR
END IF
NEXT i
LOOP UNTIL edc = 1
END
0191デフォルトの名無しさん
NGNGSCREEN 12
CLS
sx = 0
sy = 0
lx = 639
ly = 439
FOR c = 1 TO 130
LINE (sx, sy)-(lx, ly), , B
sx = sx + 5
sy = sy + 5
lx = lx - 5
ly = ly - 5
LOCATE 1, 1
PRINT c
FOR i = 1 TO 100000: NEXT i
NEXT c
END
0192デフォルトの名無しさん
NGNGPRINT NOT 1
END
これで、結果が-2になるのですが、そういうもんなんですか?
0193デフォルトの名無しさん
NGNG↓
0x0001
↓
NOTでビット反転
↓
0xfffe
↓
10進数(2の補数形式)へ戻すと
↓
-2
つまり、そういうもの。
0194デフォルトの名無しさん
NGNG0195デフォルトの名無しさん
NGNG構造体メンバーに配列が使えるようになったのは確かVB2あたりからだった
ような気がする。QuickBASIC 4.5も初代VBもダメじゃなかったかな。
0196デフォルトの名無しさん
NGNGまぁオレは5031にしてたけど。
0197デフォルトの名無しさん
NGNG0198デフォルトの名無しさん
NGNGQuickBASIC用のサブルーチンをMASMで書いた事もあったなあ。
Windows DLLになってそういう事は全くしなくなったが。
ああQuickBASICじゃなくてQBASICか話題は。
そういやMS-DOS5.0のEDITコマンドは裏でQBASIC走らせてたよなあ。
エディタ機能の実体は同じだったって事か。
0199デフォルトの名無しさん
NGNGおGちゃん、ご飯はさっき食べたでしょ?
0200デフォルトの名無しさん
NGNG結局ちょっと気の利いたことやろうとすると何もできない中途半端な
BASICだよなあ。EXEも作れんし。BASICA(GW-BASIC)みたいなBLOAD
コマンドも駄目なんだっけ?
0201デフォルトの名無しさん
NGNGMSにしてはよく出来てると思ったら、そういうことだったのか。
0202デフォルトの名無しさん
NGNG0203デフォルトの名無しさん
NGNGhttp://www.symantec.com/region/jp/sarcj/data/w/w97m.celebrate.a.html
0204デフォルトの名無しさん
NGNGhttp://www2.airnet.ne.jp/sardine/langs/BASIC.html
0205デフォルトの名無しさん
NGNGThe revolutionary guide QBASIC
が届いたので読みたいが、Turbo Pascal の勉強が忙しくて読めないな。
0206デフォルトの名無しさん
NGNGLET b=2
LET c=a*b
PRINT a,b,c
LET b=b+1
PRINT a,b,c
LET c=a*b
PRINT a,b,c
END
これで、どういう出力結果になるか、という問題で、間違えちゃいました(w
変数が明示的に代入されるまでは、変化ないんですね。
0207デフォルトの名無しさん
NGNG0208デフォルトの名無しさん
NGNGこの3つひろってくればEXEがつくれる。
ていうか、QuickBASIC4.5(US)まるごと落ちてるし・・・
0209デフォルトの名無しさん
NGNG0210デフォルトの名無しさん
NGNGかなり前の書き込みなんで今も見てるか分かりませんが、
使ってる本の書名教えてもらえないでしょうか。
0211デフォルトの名無しさん
NGNGできれば日本語で・・・・ないよなぁ
0212デフォルトの名無しさん
NGNG日本語の本なのですが、あとからよく読みなおしてみるとあんまり良い本とは思えないので教えません(w
英語の本なら、The revolutionary guide QBASIC
ていうのがQBasicの本としては高度らしいです。
3dとかも載ってるみたいです。
私も持ってますがまだ読んでません。
もし、単にQBasicの入門書が欲しい、ということであれば、
QBasic by example
という本がとてもわかりやすいです。
おすすめです。
0213デフォルトの名無しさん
NGNGJButton btn1= new JButton("Button1");
JButton btn2= new JButton("Button2");
JButton btn3= new JButton("Button3");
JButton btn4= new JButton("Button4");
JButton btn5= new JButton("Button5");
JButton btn6= new JButton("Button6");
似たようなコードを6行も打つ場面です。
面倒くさくてイヤになりますよね。
そこで私はさっそくQBasicでこんなプログラムを作りました。
CLS
OPEN "javasrc.txt" FOR OUTPUT AS #1
FOR i = 1 TO 6
PRINT #1, USING "JButton btn#"; i;
PRINT #1, "= new JButton(" + CHR$(34);
PRINT #1, USING "Button#"; i;
PRINT #1, CHR$(34);
PRINT #1, ");"
NEXT i
PRINT "done"
END
実行すると javasrc.txt という名前のテキストファイルに
上記の6行のコードが出力されるので、あとはそれをエクスプローラーからメモ帳で開いてJava用のエディターにコピペすればオッケー。
普通はこういう作業はPerlでやるそうですが、私はまだPerlの本は5ページしか読んでないので、QBasicでちゃちゃっと作って見ました。
0214デフォルトの名無しさん
NGNG0215ごくきん
NGNGないのですが、どうしてもわからないので、知ってる方がいたら、教えてください。
QBasicでは、単純変数をグローバル変数にするのは説明に出てるのですが、
配列変数はそうならないのでしょうか?
0216( _。。)_ バタ。 ◆lUd9keO2
NGNG0217ごくきん
NGNG配列変数はどうやるか、でした。
シングルモジュールで動作していたものを無理やり、
マルチモジュールファイルにして、動かそうとしたら、サブのモジュール
ファイルに処理が移ったとたんに、配列変数が初期化されてるらしいのです。
(我ながら正しい説明になってるか?疑問だ?)どんなもんでしょう?
0218デフォルトの名無しさん
NGNG0219デフォルトの名無しさん
NGNGバッチファイル書けば?
0220デフォルトの名無しさん
NGNG1回も書いたこと無い、、、
0221デフォルトの名無しさん
NGNG0222デフォルトの名無しさん
NGNGC:\q\qbasic.com
と書いて上書き保存してダブルクリックしたらできました。
0223デフォルトの名無しさん
NGNG0224:
NGNG0225:
NGNGBas file name or number
って言われるんですよ〜
CLS
FOR i = 1 TO 400
OPEN "i.txt" FOR OUTPUT AS #i
CLOSE #i
NEXT i
END
0226デフォルトの名無しさん
NGNG「ポケコンBASICについて真面目に考える」
http://pc.2ch.net/test/read.cgi/tech/1022907518/
0227デフォルトの名無しさん
NGNG3〜4行目を以下のように変更してみれば?
OPEN MID$(STR$(i), 2) + ".txt" FOR OUTPUT AS #1
CLOSE #1
0228:
NGNGすごいです。言われたとおりにやったらできました。
でも、mid$の意味が理解できません。
0229デフォルトの名無しさん
NGNGSTR$で0以上の数値を文字列にすると1文字目にスペースが入るので、
MID$で2文字目以降を取り出してる。
そう考えると3行目は次のやり方でもいいと思う。(LTRIM$でスペースを削除しています。)
OPEN LTRIM$(STR$(i)) + ".txt" FOR OUTPUT AS #1
0230:
NGNG今度はよく理解できました。
ありがとうございます。まさにプロの仕事といった印象を受けました。
■ このスレッドは過去ログ倉庫に格納されています