1 名前:デフォルトの名無しさん [02/01/02 01:46] Pascal の初心者用の質問・相談所 コンソールのみ。GUI は扱いません。 「Cをやったけど難しいので、やっぱりPascalからぼちぼちやるぅ」という人向け。 コンパイラダウンロード www.vector.co.jp/vpack/filearea/win95/prog/pascal/index.html ちなみにDelphiは 「モナーの *やさしい* Delphi質問スレ」 pc.2ch.net/test/read.cgi/tech/1003113413/
47 名前:デフォルトの名無しさん [02/01/04 12:52] c->pascalで引っかかりやすいのは、型を一度typedefしてからじゃないと 使えない場合があること、例えば int** i; は type pint = ^Integer; var i: ^pint; としなくてはいけない。
48 名前:45 mailto:sage [02/01/04 12:55] >>46 でもDelphiしたいなら必要じゃ無いですか? 僕の場合Cも++も理解したとは言い難いですけど ^^;;;
49 名前:>45 mailto:sage [02/01/04 12:57] なんか36がmisleadしてるようだけど Delphiはコンソールアプリの開発をフルサポートしてるよ。 デバッガや文法の日本語のオンラインヘルプもあるし。 # 但しPascalとObject Pascalとの切り分けは一切ないけど。 >大学の生協とかに行けばいい本有るかな ^^ 大学の図書館に腐るほどあるでしょ。 いまどきあまり借りる人もいないだろうから入手は楽かも。 お勧めの良書は知らないけど、経験的にはずれも少なかったような。
50 名前:デフォルトの名無しさん mailto:sage [02/01/04 12:59] >>48 まあ、Dephiが使いたいからって人はわかるんだけどね。 1は、 >「Cをやったけど難しいので、やっぱりPascalからぼちぼちやるぅ」という人向け。 って言ってるだろ。 それがちょっと理解できない。 Cが難しいからPASCALをやってみても、PASCALにもCとは違った意味で難しい点があるんだから まずは我慢してCを続けるのが本筋。
51 名前:45 mailto:sage [02/01/04 13:10] なるほど、皆さん有難う。 >>50 は>>1 に対する突っ込みだったんですね それは同感です、どんな言語でも何処かで引っ掛かるのは同じですよね 良く分からないけど、今の学生さんって初めがJavaだったりするんだろうか ^^; >>49 有難う。 近所の大学に潜入してみます ^^;;
52 名前:デフォルトの名無しさん mailto:sage [02/01/04 13:17] #include <stdio.h> int main(void) { FILE *fp; fp = fopen("mona.txt","w"); if(fp == NULL){ printf("ファイルを開けねーぞ、ゴルア!\n"); return 1; }else{ printf("思いの丈をブチマいちゃる!\n"); } fputs(">>1 \n",fp); fputs("Pascalなんて糞言語。",fp); fputs("逝ってよし!\n",fp); fclose(fp); return 0; }
53 名前:デフォルトの名無しさん mailto:sage [02/01/04 13:18] >45 いや、あの、Delphi6パーソナル素直にやればいいと思うよ インストールしてDemosのサンプルアプリ順に触ればいいじゃない
54 名前:デフォルトの名無しさん mailto:sage [02/01/04 13:22] >>47 Turboなら i : ^type;で直接指定できたような記憶があるんですが。
55 名前:デフォルトの名無しさん mailto:sage [02/01/04 13:25] >54 いや i:^^type; の事を言ってるんだと思うよ
56 名前:デフォルトの名無しさん [02/01/04 15:00] delphi ならproがいいよ ソースがついてるから 追いかけたいユニットプロジェクトに追加しておけば トレースでどこまででも追いかけていける。 STL標準になったC++よりずっと理解し易いよ
57 名前:デフォルトの名無しさん [02/01/04 15:16] 岩波講座 ソフトウェア科学 アルゴリズムとデータ構造 石畑 清 に、 type list = ↑cell; cell = record element : datatype; next : list; end; の↑ってどーいう意味?
58 名前:デフォルトの名無しさん mailto:sage [02/01/04 15:17] delphi pro personalなんてのがあればだけどね pascalコンパイラごときに何万も払えないよ。
59 名前:デフォルトの名無しさん [02/01/04 15:23] >>57 ポインタ。 TurboPascalではこう書いてた。 type list = ^cell;
60 名前:デフォルトの名無しさん mailto:sage [02/01/04 15:42] PC−8001用のパスカルコンパイラは、よいものだた。 160x100のモノクロの画像2枚を切りかえるだけなのに、当時厨房だたおれは、家に帰ってから(以下略)
61 名前:アライグマPascal [02/01/04 21:32] >49 >>なんか36がmisleadしてるようだけど >>Delphiはコンソールアプリの開発をフルサポートしてるよ。 >>デバッガや文法の日本語のオンラインヘルプもあるし。 misleadの意味がわからないけど、スレッドの流れをおかしな方向へ 持っていっているという意味でしょうか? 自覚していないけど、もしそうならごめんなさい。 Delphiではコンソールアプリが開発できないと言ったということでしょうか? もしそれなら、私はそんなことは言っていません。 36で言いたかったことは、高度なGUIが必要としないなら、なにもDelphiを 使わなくても別のコンパイラで目的が達成することもできるということです。 486マシンであるとかRAMが8メガしかないといった化石パソコンでも、 言語学習マシンとして再利用することができるということです。
62 名前:アライグマPascal [02/01/04 21:51] 気分を害したらごめんなさい。 >50 >>>「Cをやったけど難しいので、やっぱりPascalからぼちぼちやるぅ」という人向け。 >って言ってるだろ。 >それがちょっと理解できない。 >Cが難しいからPASCALをやってみても、PASCALにもCとは違った意味で難しい点があるんだから >まずは我慢してCを続けるのが本筋。 「1」は、書いてある通りの思惑でスレッドを立てたのだから、それを そのまま受け止めてスレッドを展開すべきだと思う。 スレッド設定の理由そのものから批評すると、後のスレッドはどう展開 していくのか分からなくなると思います。 <この後、Cの学習についてスレッドを伸ばすわけにはいかないでしょうし> <学習する姿勢や心構えを論じるスレッドではなさそうですし・・・> Delphi云々を書かれている人が多数おられますが、「1」は >ちなみにDelphiは >「モナーの *やさしい* Delphi質問スレ」 というように別スレッドを参照して誘導しているので、それに 従うべきだと思います。
63 名前:デフォルトの名無しさん mailto:sage [02/01/04 22:18] >>61 >>35 はコンソールアプリしか書かないとしても、Delphi/Kylixがいいよ って言ってるのに >>36 でコンソールアプリで十分ならFreeコンパイラは価値がある (つまりコンソールアプリにはDelphiは向かないと読める)って言ってるのがmisleadなんでないの?
64 名前:もう1つ mailto:sage [02/01/04 22:22] 俺に言わせると、昔の文法を覚えて、簡単な例題をやってみるくらいじゃ、「言語学習」としてはサミシイ。
65 名前:アライグマPascal [02/01/04 22:41] >>>36 でコンソールアプリで十分ならFreeコンパイラは価値がある >> (つまりコンソールアプリにはDelphiは向かないと読める)って言ってるのがmisleadなんでないの? う〜ん。コンソールアプリにはDelphiは向かないというのなら、そのように書きますけど。 BBSではどうしても舌足らずな表現になりやすいので「裏読み」されやすい 表現は避けるようにしていたつもりですが・・・。 (仮に裏読みしてもそんな解釈になるのかしら???) >俺に言わせると、昔の文法を覚えて、簡単な例題をやってみるくらいじゃ、「言語学習」としてはサミシイ。 最初は簡単な例題かもしれないけど、いずれCで蓄積されたアルゴリズム集の Pascal移植に手を出すかもしれないじゃないですか(爆
66 名前:デフォルトの名無しさん mailto:sage [02/01/04 22:53] 63じゃないが、>>36 はそう読んでも不思議はないと思う。 つーか、実際そういう印象を受けた。
67 名前:デフォルトの名無しさん mailto:sage [02/01/04 23:25] Win95環境でもDCC32単独で使えば楽勝でしょう>>61
68 名前:67 mailto:sage [02/01/04 23:26] さらに言えば、Dcc32のコンパイル速度は爆速 コンパイルはFreePascalの半分以下で終わり 出来上がるサイズもずっと小さかったと思うよ
69 名前:デフォルトの名無しさん mailto:sage [02/01/05 01:09] コンソールアプリとDOSアプリを混同しているに1Byte.
70 名前:デフォルトの名無しさん mailto:sage [02/01/05 07:45] FreePascalはマルチプラットフォームであることを忘れているに、1Penis
71 名前:デフォルトの名無しさん mailto:sage [02/01/05 09:28] Pascal入門程度ならどのコンパイラ使ったって portableなコードしか書けないような...
72 名前:アライグマPascal mailto:sage [02/01/05 09:48] Dev-Pascalの独自仕様かもしれないけど、ディレクトリ(フォルダ)名が 全角文字だとコンパイルエラーがでるみたい。みなさん気をつけて。
73 名前:デフォルトの名無しさん [02/01/06 22:23] これなんとなくよさそう。 Bloodshed Dev-Pascal 1.9 download.cnet.com/downloads/0-4003375-100-3121652.html?tag=st.dl.10001-103-1.lst-5-1.3121652
74 名前:デフォルトの名無しさん [02/01/07 02:55] アマゾンでPASCALの良本一生懸命探したけど、あんまりないね。 Turbo PASCALとDelphiはいっぱいあるのだけど。 基本文法を解説してある入門書がほしいんだよな。
75 名前:デフォルトの名無しさん [02/01/07 06:51] 漏れも探してます。 標準関数(手続き)が載ったリファレンスが欲しい Delphi買ったので一通り変数型とかプリミティブなアルゴリズムなんかを コンソールでやろうと思うんだけど、関数が分からんからどうにも勝手が悪いです 近所の本屋さんには超初歩本しか無かったし 全部ShowMessageとInputBoxでやるのは悲しすぎる Del使いさんはどんな風にステップアプしましたか いきなりイベントごりごり書いたんだろうか
76 名前:デフォルトの名無しさん mailto:sage [02/01/07 07:02] >>75 >Del使いさんはどんな風にステップアプしましたか
77 名前:デフォルトの名無しさん mailto:sage [02/01/07 07:05] >>76 途中で送信してしまった。 で、漏れはTurbo Pascal 3.0当時に標準Pascal的なconsole baseの書き方を覚えた。 file型変数をAssignしてReset/Rewriteして云々、 表示はwriteln、入力はreadln...てな感じだよな。 今のDelphiでもconsole applicationにすれば使えるよね。
78 名前:デフォルトの名無しさん mailto:sage [02/01/07 07:19] おお〜 考えてるのはそんな感じです >>77 何かDCC32でIntToStrとかすると「ハァ??」って言われて鬱なんです Turbo時代の本を探して買えば良いんですね しかしネットはPascal本の情報少なすぎるです リファレンスみたいなの買えば当たり外れ無いのかなー
79 名前:デフォルトの名無しさん mailto:sage [02/01/07 08:14] >78 Delphi6ならヘルプ->ObjectPascal言語ガイド->標準ルーチンと入出力 を読めばよろしい IntToStrはSysUtilsユニットの関数であり、これらはVCLリファレンスにあります uses SysUtils; してる?
80 名前:デフォルトの名無しさん mailto:sage [02/01/07 11:23] ObjectPascalってKeyword多いなー OOダカラカ・・ Cの方がシンプルじゃん (ー_ー
81 名前:デフォルトの名無しさん mailto:sage [02/01/07 12:40] >80 そりゃそうでしょう。 pascalとcならpascalがシンプル DelphiとCならCがシンプル DelphiとC++ならDelphiがシンプル
82 名前:デフォルトの名無しさん mailto:sage [02/01/07 13:01] >>81 >pascalとcならpascalがシンプル どっちもどっちなんじゃ? この二つじゃ。
83 名前:デフォルトの名無しさん mailto:sage [02/01/07 13:33] >82 制御文や演算子の数ではpascalがシンプルだし 文字列や配列の扱いは マシンから見たらcがシンプルだけど人から見たらpascalがシンプル
84 名前:デフォルトの名無しさん mailto:sage [02/01/07 13:52] >>83 制御構造だと Pascal場合 if case for while repeat..until Cの場合 if for switch while do..while 同じようなもんでしょ。 演算子はCの場合、配列とかポインタ関連もすべて演算子の カテゴリに入ってるから仕様書をみると数が多いように見えるけど 実際に使用すると、Pascalに比べてとくに複雑と感じないし。
85 名前:83 mailto:sage [02/01/07 14:05] シンプルが簡素な意味だとしたら Cのfor文は簡素じゃないでしょ? while文にしてもpascalは論理型しか書けないけど cは数じゃない? コンパイラ側から見たら 全部が数ってのはシンプルかもしれないけど 型が区別されてる方が人間から見たらシンプルだと思うんだけどなあ それと cのreturn は文だけど pascalのexitは手続きで予約語じゃないとか まあ似たようなもんだけどさ
86 名前:デフォルトの名無しさん mailto:sage [02/01/07 14:27] >>85 たとえばPascalのforだったら、私は使いはじめのころはどうして 順序型しかつかえないのか、どうしてグローバル変数は使えないのか、 疑問に思いましたし、 ずいぶん慣れてからも to と downto の使い分けで、ケアレスミスを してました。 PascalとCがどちらがシンプルかってのは、まあ主観の問題ですね。 実際に問題、大差ないと思います。
87 名前:デフォルトの名無しさん [02/01/07 23:01] だれか簡潔に説明してください。 FreePascalのマニュアルみていたら「Graphユニット」があって線を引いたり 円を描いたりできるみたいです。これってTurboPascalから引き継がれたユニット だと思う。 問題は「Graphユニットの初期化」ってやつ。 基礎的なことが分かりません。なぜ、このユニットだけは初期化という作業が 必要なのですか?またサンプルコードをみても「何でこんな常套句が必要なのか わからない」といったコードがあります。そもそも初期化って何???? それから「グラフポートをOpenしたらCloseせよ」って何? 文字色を変えたりするのは「Crtユニット」を使うわけで、そちらはサンプルを 見てもだいたい意味が分かるのですが・・・。
88 名前:デフォルトの名無しさん mailto:sage [02/01/08 04:46] 1. そういうものだ。気にするな。 2. 昔はハードウェア毎に異なる(デバイス)ドライバを,アプリケーション毎に読み込んでいたから。 DOS はグラフィックボードの管理はしないのだ。 3. 古いアーキテクチャで作られた物が,現代の人にとって易しいとは限らない。 古けりゃ簡単,ってことなら古文/漢文で苦しむ人はいないよな。
89 名前:デフォルトの名無しさん mailto:sage [02/01/09 15:51] ハード屋さんとかマシン語の得意な人にはCの方がやさしいし BASICから入った人には文字列でつまずかないだけでもPascalの方がやさしい ・・・と思う
90 名前:87 [02/01/09 21:57] Graphユニットのサンプルをコピペしてdev-Pascalにてコンパイルしました。 エラーがでます。integerで宣言されるinitGraphで使用する変数を、shortintで 宣言するとエラーが消えてサンプルアプリができました。あとは少しずつ 手続きや関数を書き足して調べてみます。
91 名前:デフォルトの名無しさん [02/01/10 01:00] FreePascalってのは起動時コンソールプログラムしか作れないのですか? >>83 TurboPascal系はレジスタ渡しで関数呼べるのでPascalのほうがマシンよりでは?
92 名前:デフォルトの名無しさん mailto:sage [02/01/10 01:32] >>87 なんでファイルをいちいちOpenしたりCloseしたりしなくてはならないのですか? なんでFindFirstしたらFindCloseしないといけないのとか。 なんでAllocしたらFreeしないといけないのとか。 と似たようなものですな(w
93 名前:アライグマPascal mailto:sage [02/01/10 08:02] >91 Windowプログラムもつくれますよ。
94 名前:デフォルトの名無しさん [02/01/10 09:13] おい!>>2 と>>4 !! 貴様ら!!!!逝ってよしです。 ていうか、ム板にそんなもの貼ってうれしいんですか。
95 名前:デフォルトの名無しさん [02/01/19 03:15] community.borland.com/article/images/20803/tp55.zip ここから Turbo Pascal 5.5 がダウンロードできます。 割れではないです。
96 名前:デフォルトの名無しさん [02/01/19 03:26] ところで今のDelphiのObjectPascalと、 Turbo Pascal 5.5 との互換性がどれぐらいあるのか、 誰か説明できる人いないかな?
97 名前:デフォルトの名無しさん [02/01/19 03:27] ダウンロードしたけど、インストールの途中で先に進めません(死
98 名前:デフォルトの名無しさん mailto:sage [02/01/19 03:28] >>96 Object PascalはTPのほぼスーパーセット。 ライブラリは除く。
99 名前:デフォルトの名無しさん mailto:sage [02/01/19 03:30] >94 何これ?
100 名前:デフォルトの名無しさん [02/01/19 17:06] インストールの途中で先に進めなくなるけど、シカトして、TPフォルダの中のEXEを実行したら、ちゃんとインストールされてました! コンパイル&実行までできました! あとはTurbo Pascalの本買ってこよ。 Pascal そのものの本はあんまりないけど、Turbo Pascal の本はいっぱいあるし。
101 名前:91 [02/01/19 18:17] >>93 そうなんですか。実行ファイルにcigwinがいるとかいわなそうだし テンプレートそろえてエディターがRADのものがあれば FreePascalのほうがdelphiよりよさそうですね、 要は一般的なサンプルが少なくて古典的なものばかりだということなんでしょうか GUIアプリでGLUTあたりをかますものであれば大体なんでもできそう
102 名前:デフォルトの名無しさん mailto:sage [02/01/19 18:25] エディターがRAD ってのがなんか無理めな話しのような・・・ Delphiは 実行時型情報と DLL にコンパイルして設計時にも動作するコンポーネントという概念 それをサポートするツールが組み合わさってRADになってるんだから
103 名前:デフォルトの名無しさん mailto:sage [02/01/19 20:01] いったい何をどう評価すればFreePascal>>>Delphiになるんだ??
104 名前:アライグマPascal [02/01/19 23:13] >101 くどいけど、Win32環境でのプログラミングならDev-Pascalを使った方が、 素のFreePascalを使うよりFreePascal&統合開発環境である関係上多少使いやすい とおもいます。 GUIのためにGTKをつかうひな形が用意されているのですが、GTKをまったく 知らないので私は使いこなせない状況です。
105 名前:デフォルトの名無しさん mailto:sage [02/01/19 23:17] FreePascalってなんて読んでる?俺はフリッパー
106 名前:デフォルトの名無しさん [02/01/22 00:52] Turbo Pascal の本はなんでめちゃめちゃ高いのが多いんだ。
107 名前:デフォルトの名無しさん mailto:sage [02/01/31 15:13] >>105 俺はフリパ。 同じく、FreeBSDはフリビ、 でもFreeDOSはそのままフリードス。
108 名前:デフォルトの名無しさん [02/01/31 20:00] アマゾンでTurbo Pascal の本を探した。 みんな7か6対応の本ばっかりで、5対応の本があんまりない。 漏れがダウンロードしたのは5だから、できれば5の本がいい。 それとも、7と5であんまり変わってないなら、7の本を買おうと思うが、そのへんどうなんでしょう。
109 名前:デフォルトの名無しさん mailto:sage [02/01/31 21:02] オーム社「TURBO Pascal プログラミング」間野浩太郎監修、内田智史著 \3,600 は4までが対象だけど、これでは古すぎるかな
110 名前:デフォルトの名無しさん [02/01/31 21:05] 5.5からオブジェクト指向を搭載、って書いてあるので、たぶん、4と5.5はだいぶ違うと予想されるのですよ。 5.5と7の違いがよくわからん。
111 名前:デフォルトの名無しさん mailto:sage [02/01/31 21:15] 今調べたら、 「TURBO PASCAL 5.5 OOP GUIDE」BORLAND刊」 というのを見つけた。そうだ。ボーランドの本を使えばいいのだ。 まだ売ってるのかわからんが。
112 名前:デフォルトの名無しさん mailto:sage [02/01/31 21:47] >>108 オブジェクト指向を使わないのなら、TP4-7は大して変わらないと思われ。
113 名前:デフォルトの名無しさん [02/01/31 21:57] >>112 ありがとう。そんなら、7の本を買う。
114 名前:デフォルトの名無しさん mailto:sage [02/01/31 22:15] 古本屋いけ。
115 名前:デフォルトの名無しさん [02/01/31 23:45] パスカルの本買いたいけど、なんであんないバカ高いんだろ。 言語がフリーでも意味ないじゃん。 『Oh! Pascal!/Book and Pc/DOS Disk』 Doug Cooper (著); ペーパーバック 通常4〜14日以内に発送 価格: ¥9,093 『Turbo Pascal』 Elliot B. Koffman (著); ペーパーバック 通常4〜14日以内に発送 価格: ¥9,600 手数料: +¥960 『Using Turbo Pascal 6.0 - 7.0』 Julien Hennefeld (著); ペーパーバック 通常4〜14日以内に発送 価格: ¥10,260 手数料: +¥1,026 『Turbo Pascal』 Samuel L. Marateck (著); ペーパーバック 通常4〜14日以内に発送 価格: ¥14,467 『Turbo Pascal, an Introduction to the Art and Science of Programming (The Benjamin/Cummings Series in Structured Programming)』 Walter J. Savitch (著); ペーパーバック 通常4〜14日以内に発送 価格: ¥8,933 手数料: +¥894
116 名前:デフォルトの名無しさん mailto:sage [02/01/31 23:49] >パスカルの本買いたいけど、なんであんないバカ高いんだろ。 これだけ読んで、 高いといっても5000から6000円程度だろ とレスを付けようとして続きをみてびっくり。 それぞれ1000ページくらいの大作なのだろう。
117 名前:デフォルトの名無しさん mailto:sage [02/02/01 01:18] >>115 無理にメリケンの本を買おうとするから高いのであって ニポーンの本で我慢(?)すればそこまで高くはないよ
118 名前:デフォルトの名無しさん mailto:sage [02/02/01 04:17] じゃなくて、洋古書は売れないと高くなるの。 どの本も大昔の書籍だってこと、わかっているのかな? なぜ Delphi ではなく TurboPascal を求める?
119 名前:デフォルトの名無しさん [02/02/02 00:00] だってDelphiなんて、GUIだとか余計なことがイパーイついてて本質が見えないじゃないか。
120 名前:デフォルトの名無しさん mailto:sage [02/02/02 01:29] >>119 自分で制限可能だよ。 まあやろうとしてることはコイツらと変わらんが Delphiで小さな実行ファイルを作ろう pc.2ch.net/test/read.cgi/tech/1009080085/
121 名前:デフォルトの名無しさん mailto:sage [02/02/02 03:38] だからといって古いソフトを持ち出さなくても... 弘法筆を選ばず。本質が見える人は GUI がついていても道を見失うことはない。 初心者であれば手軽に手に入る,最新の道具で入門をしなされ。
122 名前:デフォルトの名無しさん mailto:sage [02/02/02 08:22] TurboPascalの入門というかPascalをテーマにしたHPを作りたいのですがいいですか?
123 名前:デフォルトの名無しさん mailto:sage [02/02/02 15:20] ようするに Delphiでも新規作成で その他->コンソールアプリケーションを選べば VCLによらない素のpascalで遊べます コンソールが不要な SDK方式でのGUI を作りたければ、 コンソールアプリを選んだ後 {$APPTYPE CONSOLE} を自分で削除すればいいのです
124 名前:デフォルトの名無しさん mailto:sage [02/02/02 23:30] TP5.5は、統合環境がWin9xのDOSプロンプトでは動かないよね。 つまりデバッガを使いたければDOSモードへ行かねばならない。 これからPascalを始めようとする人には、あまり向いていないと思うよ。
125 名前:デフォルトの名無しさん mailto:sage [02/02/03 00:25] >>122 作るのは貴方の勝手です。ご自由に・・・
126 名前:デフォルトの名無しさん [02/02/04 08:00] >87 ふむふむ、確かにFreePascalでもGraphユニットやCtrユニットが用意されているね。 Turboとの互換を考慮してとおもうけど。 GraphDeviceあたりの型を、エラーを参考にShortInt型に書き換えるだけで、きちんと グラフィックが描ける。英語版のTP5.5をゲットしてDosプロンプトで動かすより、 こちらの方が簡単みたい。 >122 私もTPやFPをネタにコツコツとHPを作ってみようと思っています。
127 名前:デフォルトの名無しさん mailto:sage [02/02/04 10:19] >>124 ガセ。正しく環境を作れば動く。 DPMI 関連の資料をよく読んで。
128 名前:デフォルトの名無しさん [02/02/04 12:21] C:>US C:>TP : : C:>JP C:>EXIT
129 名前:デフォルトの名無しさん [02/02/04 12:56] >128 USモードじゃ日本語つかえんぞゴラァ!
130 名前:デフォルトの名無しさん mailto:sage [02/02/04 13:13] え?TP5.5 って、US のミュージアムから落とした物のこと? じゃしょうがない。US モードにするしかないだろ。
131 名前:ふむふむ(納得) [02/02/04 13:48] 英語版のTP5.5でも日本語はつかえるけど、GraphやCrtユニットは日本語対応じゃ ないので、日本語文字列はWriteLnなどの手続きでコンソール上に出力することしかできない。
132 名前:124 [02/02/04 21:18] >>127 今まで知らなかった。ご指摘ありがとう。 DOSプロンプトのプロパティで「必要に応じてMS-DOSモードを実行」を外したら動いた。 >>131 DirectVideo := False; とすれば、Crtユニットによるテキスト出力がBIOS経由になるから、 DOS/V BIOSのおかげで、Writelnで日本語文字が出力できるようになるよ。 GraphユニットのOutTextでの日本語出力は、無理そうだね。
133 名前:デフォルトの名無しさん mailto:sage [02/02/04 21:21] 昔のPascalなんてコンパイル速度が速いだけしか取り柄が無いよ
134 名前:デフォルトの名無しさん mailto:sage [02/02/04 21:49] Delphi6パーソナルを使った pascalのスタート教室 1) FILE-> 新規作成->その他->コンソールアプリケーションを選びます すると program Project1; {$APPTYPE CONSOLE} uses SysUtils; begin { TODO -oUser -cConsole Main : この下にコードを記述してください } end. とソースが表示されます program Project1; uses SysUtils; はボーランドによる拡張ですから取り去ってかまいません {$APPTYPE CONSOLE} も取り去ってかまいませんが、代わりにコンパイルオプションでコンソール アプリである事を指示する必要があります 結局、最初に書くアプリは これでいいでしょう {$APPTYPE CONSOLE} begin writeln('こんにちは'); readln; end. この2行を入力した後、F9 を押せば実行出来ます
135 名前:ふむふむ(納得) [02/02/04 21:49] >132 ふむふむ、自分はまだGraphユニットとCrtユニットを完全に理解していなかった ようです。サンプルコードを希望します。 自分はPC-9800シリーズ用のTP6プロフェッショナル版をもっていますが、 引っ越しのどさくさでソフトはあれど、マニュアルをすべて無くしてしまったのです。 TP6のマニュアルに書かれていたクラスの概念はとても分かりやすかっただけに、 すご〜〜〜〜く、残念です。 だれかGraphユニットとCrtユニットの詳しい解説をサンプルを使って説明して くれませんか!!
136 名前:デフォルトの名無しさん mailto:sage [02/02/04 21:52] さて、>>134 の方法で作成した場合、ソースは dprの拡張子となっています。 Delphi IDEを使わない方法を説明します。 まず メモ帳でも好きなエディタでも、 ファイル名.pas としてファイルを作成し begin writeln('こんにちは'); end. と3行入力し、保存して下さい。 コマンドラインから DCC32 -CC ファイル名.pas として改行すれば ファイル名.exeが作成されます
137 名前:デフォルトの名無しさん mailto:sage [02/02/04 22:04] uses を使わない場合に使えるのは system unit の関数だけです uses SysUtils ;が 追加された状態では、abort; Ansi/Unicode文字列処理や時間などの関数が追加されます
138 名前:デフォルトの名無しさん mailto:sage [02/02/04 22:10] コンソールアプリであっても、グラフィック画面を扱いたくなります Windowsの場合、コンソールにグラフィックを表示する事は出来ません。 そこで、別窓を出してグラフィックを出すか あるいは、BMPファイルを作成して後でビュアーで見るという方法が簡単です Delphiのフォーム機能をグラフィック画面としてコンソールアプリから使う方法を説明します
139 名前:デフォルトの名無しさん mailto:sage [02/02/04 22:20] まずは、IDEからコンソールアプリを作成した直後 新規作成でフォームを作成して下さい そして以下のように入力して実行してみて下さい program Project1; {$APPTYPE CONSOLE} uses SysUtils, Forms,//<----この行を追加 Unit1 in 'Unit1.pas' {Form1}; begin Form1:= TForm1.Create(nil); //<<--この行以下を追加 Form1.Show; Form1.Canvas.Ellipse(20,20,100,100);//円の描画 Form1.Caption:= 'こんにちは'; readln; end. 実行すると、コンソールと同時にタイトルがこんにちは となった フォームが表示された筈です このフォームはクリックに応答しませんし、他の窓に隠れると再表示もされません が、とりあえずこれで遊ぶには十分に便利な筈です
140 名前:124 mailto:sage [02/02/04 22:42] >>135 >TP6のマニュアルに書かれていたクラスの概念はとても分かりやすかっただけに、 おお、同意。なんか執筆者のすごい熱意が感じられる文章だった。 Crtユニットを使って日本語を出力する例。 TP5.5、Win95のDOSプロンプトにて確認しました。JPモードで実行して下さい。 program test; uses Crt; begin DirectVideo := False; GotoXY(30,10); TextColor(Red); Write('こんにちは'); end. 2バイト目が'のコード番号と一致するような日本語文字を文字列中に入れる場合には注意。 コンパイラがその'を文字列の終わりと認識するのを防ぐため、'を一つ追加してやる必要がある。
141 名前:デフォルトの名無しさん [02/02/04 22:43] ターボパスカルって、いまC#作ってる人と同じ人が作ったの?
142 名前:動物アイゴー協会 mailto:sage [02/02/04 22:47] あらいぐまパスカルとかパトラッシュ思い出すんだけど。
143 名前:デフォルトの名無しさん mailto:sage [02/02/04 22:49] さて、>>139 の方法はあまりにも無理やりで作法としてよくありません。 そこで、コンソールアプリからBMPファイルを作成して表示させる方法を説明します まず、新規作成でコンソールアプリを新しく作った後 uses windows, //WindowsのAPIを使います ShellApi, //ShellExecuteを使う為に Graphics, //TBitMapを使う為に SysUtils; var bmp:TBitmap; begin bmp:=TBitmap.Create; with bmp do try Width :=100; Height:=100; PixelFormat:= pf1bit; Canvas.Ellipse(1,1,100,100);//円を描く Canvas.TextOut(5,5,'こんにちは'); SaveToFile('temp.bmp'); finally free;end; ShellExecute(0,'Open','temp.bmp',nil,nil,SW_SHOW); end. として実行してみて下さい このコードはコンソールを使用していませんから、コンソールアプリである必要もありませんから {$APPTYPE CONSOLE} も取り去って大丈夫です
144 名前:デフォルトの名無しさん mailto:sage [02/02/04 23:16] >>139 の方法がなぜ良くないかをまず説明します Windowsでは複数の窓があるように見せていますが、実際の表示デバイスはせいぜい1つです 他の窓に隠された部分が また表示されるのは、アプリケーションが努力しなければなりません その為の仕掛けをメッセージループと呼びます 窓はメッセージを受信する仕掛けをもち、再描画しろというメッセージにしたがって画面を自分で 描くわけです。 また、キーボードが押された、マウスが押されたもメッセージにより処理されます。 Delphiでは application.ProcessMessages; で明示的にそのメッセージループを呼び出す事も 出来ます。コンソールアプリでapplication.ProcessMessages;を定期的に呼び出せば、作成した フォームはマウスを受け付ける事が出来るようになります。が、それをしても >>139 のように描画 処理をベタに書いたのでは 他の窓に隠れると2度と表示出来ない事にかわりはありません。 この部分をイベント駆動にしなければならないのです。 それがフォームにある OnPaintイベントです。
145 名前:デフォルトの名無しさん mailto:sage [02/02/04 23:35] >>143 のコードを説明しょうと思いましたが、 Delphi6のIDE上で F1を押せば知りたい情報は殆ど出て来る筈です bmp.PixelFormat:= pf1bit; はモノクロビットマップを作るという意味になります その他の多色形式はヘルプを見て下さい ShellExecuteは 作成した temp.bmpをそのパソコンに設定された方法で 開くためのAPIです 円以外のグラフィック描画命令は TCanvas でヘルプを見て下さい 線の色の設定や線の太さは Canvas.Pen で設定します 面の 〜 は Canvas.Brush で行います 文字の〜は Canvas.Fontで行います
146 名前:デフォルトの名無しさん mailto:sage [02/02/05 00:40] なんかものすごく丁寧に説明されてる方がおられるようですが、 ひょっとして穂積○平さん?
147 名前:ふむふむ(納得) [02/02/05 07:56] >140 サンキュー 今、FreePascalでGraphユニットを使って日本語をなんとかグラフィックと 混在表示できないか検証中です。やっぱ、outTextでは文字化けしますね。 (Win2000のコンソール画面で検証)