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/
331 名前:デフォルトの名無しさん [02/06/28 20:25] >330 使えたよ。 ただしVer.7までだけどね。 それとCarbonは駄目っぽ。
332 名前:デフォルトの名無しさん [02/06/28 20:28] 図書館でPASCALの本を探したら開架は全滅だった。 仕方ないから書庫から持ってきてもらった。 もう需要が無いんだね。 まだ出てから10年も経っていない本だって……
333 名前:デフォルトの名無しさん [02/06/28 20:52] Code worrierといえば、PocketStudioとか言う、DelphiライクなPalmの 開発環境があるみたいだね。 開発環境じゃなくて、Palmで動くPascalの処理系があるとうれしいかも。 Pascalの勉強用に。 でも、グラフィティでソースコード入力するのもちょっと面倒か。(w
334 名前:330 mailto:sage [02/06/30 04:12] >331 日本語版は最新が7みたいだからこれで逝けるわけですね。 Carbonはとりあえず必要ないです。 ありがとー
335 名前:デフォルトの名無しさん [02/07/01 11:46] >334 ビルドする時にBuild Allを選択すればCARBONも使えるようになります。(人に指摘されるまで気付かなかった)
336 名前:330 [02/07/02 02:47] フォローさんくすです。 で、CW7日本語版アカデミックをゲトして Pascal Pluginつっこんだら、とりあえず処理はできてる模様。 だけど、目的のコードはbuild出来ない罠。 実はNIH-ImageをソースからMakeしてるんだけど、 type mismach SFPutFile(〜) とか、いろいろとおこられるよヽ(`Д´)ノウワァァン!!
337 名前:デフォルトの名無しさん [02/07/02 03:10] >>330 1.62ならCWP2でMakeしたのを持ってる。たしかあれからファイルマネージャあたりは 激変したから、大変じゃない? でも褌EDITがウプデートされるくらいだからな...
338 名前:330 mailto:sage [02/07/02 03:31] でも真の目的はNIHimage(改)のbuildなのですよ。 とりあえず手始めにそのままのをやってみようかと。 そのまま使うだけなら配布されてますしね。 (´-`).。oO(古いCWをとりよせたほうが早いのかなぁ)
339 名前:337 [02/07/02 03:41] >>338 古いヘッダならADCのサイトにあるような。あ、けど合うのをさがすのがたいへんだね。
340 名前:330 mailto:sage [02/07/05 03:28] 入ってる(新しい)ヘッダをみながら、エラーが出る個所を無理矢理それっぽく直したら、 なんとかNIH-image(1.62)がmakeできたよ。一見ちゃんと動いてるみたいだけど、どうだろう。 PascalもCWもはじめてなんだけど、それ以前にMacの初心者なのが辛いトコロ。 AppleEventを効かすと刺さるんだけど、これって切っちゃっていいものなんだろうか… ところで、>>1 にGUI不可って書いてあることに今気づいたよ。 スレ違いスマソ。 親切な方、誘導きぼんぬ。
341 名前:デフォルトの名無しさん [02/07/13 08:17] age。 DAT落ちは阻止じゃ。
342 名前:デフォルトの名無しさん [02/07/16 22:46] >>341 んだ
343 名前:デフォルトの名無しさん mailto:sage [02/07/17 06:14] このスレでFreePascalの話題出てますか? え? ここ何処の板? 過去ログ読め? ショボーン
344 名前:デフォルトの名無しさん [02/07/20 00:29] 生きろ!
345 名前:デフォルトの名無しさん [02/07/30 20:46] PASCAL CENTRALにはFREEのPASCALコンパイラも置いてあるぞ!
346 名前:デフォルトの名無しさん mailto:age [02/08/17 20:54] AGE
347 名前:デフォルトの名無しさん [02/08/18 03:00] 何気なくパスカルのソースコードを検索してたらこんなのあったぞ。 home.planet.nl/~mike.wiering/mario/ TurboPascal5.5・6.0・7.0でスーパーマリオを作ってる。 まだソース見てないけど、ちょっと面白そうだ。
348 名前:デフォルトの名無しさん mailto:sage [02/08/18 05:01] Pascalが Philips’ Automatical Sequence Calcurator の略だったなんて初めて知ったよ
349 名前:デフォルトの名無しさん mailto:sage [02/08/18 05:11] >>347 ジャンプしながらファイアボールを撃つと、 フルスクリーンに関らずシステムメニューが出てしまう… このキー配列どうにかならないものか…
350 名前:デフォルトの名無しさん mailto:sage [02/08/18 05:16] >>349 ソースファイルあるんだから、変更できそうだけどな。 生憎TPがないや。本家に行ってDLしてこようかな。
351 名前:デフォルトの名無しさん [02/08/24 16:14] ObjectPascalの日本語で読める本って何か良いのある? このスレでリンクしてある「Object Pascal/Delphi(Kylix) プログラミング入門」 はDelphiでの使用に限定しているようなので汎用的なものを……
352 名前:デフォルトの名無しさん mailto:sage [02/08/25 19:22] >>351 Object Pasca lは Turbo Pascal/Delphi でしか使っていないのだから、汎用的と言っても意味ないと思う。 標準 Pascal ならあるけど、文字列型も分割コンパイルもない「教育言語」だから、今更覚える必要も無いとも思われ。
353 名前:デフォルトの名無しさん [02/09/04 18:40] CodeWarriorでもObjectPascalは使えます。 ボーランドがLinux用に出してるもう一つの製品でも使えるよ。
354 名前:デフォルトの名無しさん [02/09/04 19:21] それだけじゃない www.freepascal.org/ compatible with TP 7 as well as most versions of Delphi
355 名前:352 mailto:sage [02/09/06 20:51] >>353-354 あ、Kylix はそうでしたね。失念しておりました。 CodeWarrior と Freepascal は知りませんでした。私は最近の動向をよく分かっていない ようです(というか、Delphi で事足りているから、追いかける気がしないだけ)。 あと、標準化の中には「ISO Pascal」ってのもあったと言うことを思い出しました。Borland はこの規格の裁定に入っていないから、気にもしていないけど。 それはそうと、「Object Pascal というのは紛らわしいから?Delphi Language に変える」 という話もあるようだけど、Kylix もあるとしたら、なおさら紛らわしいような気もするんだけ ど...
356 名前:デフォルトの名無しさん [02/09/07 19:05] 誰かMetrowerksの Pascal Language Reference Pascal Library Reference Error Reference を持っている人居ない? ObjectPascalを使ってみようと思ってCodeWarriorCDを探してみたのですが見つからないのです。 Pascal Compilers Ref.pdfによるとCodeWarriorPro5のDocumentationフォルダの中にあるはずなんだけど、 いくら探してみ見つからないんです。 Sherlock2で検索かけてもPascal Compilers Ref.pdf以外は見つからなくて……。 Pro7にはPascalのDocumentなんて元から入っていないし……
357 名前:デフォルトの名無しさん [02/09/10 21:26] Metrowerksに問い合わせたらメール添付で送ってくれました。 原文の方しかないらしく、送って来たのは英語……。 しかも200頁超や300頁超でした。 はぁ、頑張って訳すか。
358 名前:アライグマPascal [02/09/19 08:16] 仕事が忙しくてネタがないのですが、(HPまだ作れていません) すみませんageます。
359 名前:デフォルトの名無しさん [02/09/20 21:49] レコード型の可変部がイマイチ良く分からん。 Var r : record case byte of 0 : ( i : Longint ); 1,9: ( a : extended); (1) : ( b :array[0..9] of byte ); end; とかくとき、 iやa,bなどは変数ということは分かるのだけれどその前に書く0や1,9がなんなのか良く分からない。
360 名前:デフォルトの名無しさん mailto:sage [02/09/20 22:08] Pascalは知らんが、Cでいう共用体(union)ってやつだな。 番号はどの構造をとるかっていう構造識別番号みたいな奴で、byte型なわけだ。 無名だから使ってないみたいだけど、定義の時は必ず適当に決めなきゃならんのかも?
361 名前:デルファイの名無しさん mailto:sage [02/09/20 22:11] Var r : record case TAG: byte of 0 : ( i : Longint ); 1,9: ( a : extended); (1) : ( b :array[0..9] of byte ); end; のように、タグフィールドを入れられるのですが、これは省略可能なのです。 この場合、TAGが0ならaとbにアクセスするとエラーになるPascal実装もあった…かな? (DelphiだとTAGは単なるメンバ以上の意味を持ちませんが)
362 名前:デフォルトの名無しさん [02/09/22 11:48] なるほど共用体か。(Cも少しやっていたので分かる) それで先頭のアドレスをそろえているのか。 持っているPASCAL入門の本は可変部の説明がなおざりだったんで何の事か良く分からなかったよ。
363 名前:デフォルトの名無しさん [02/09/22 21:56] function(関数)とprocedure(手続き)の違いは返り値の有無と考えても問題ない?
364 名前:デフォルトの名無しさん mailto:sage [02/09/22 22:19] 問題ないです。
365 名前:デフォルトの名無しさん [02/09/23 07:29] そいえばたまにわざわざダミーの返り値を使ってなんでもかんでもfunctionにしてるソースを見ることがあるな。 C出身者が書くとそうなりがちなのかも。
366 名前:デフォルトの名無しさん [02/09/23 07:57] >>365 Cにはvoidがある。 そんなソースを書くのはDQNだけ。
367 名前:デフォルトの名無しさん [02/09/23 11:32] 単にprocedure(手続き)を宣言するのが面倒臭かったのでは?
368 名前:デフォルトの名無しさん mailto:sage [02/09/23 11:38] >>367 > 単にprocedure(手続き)を宣言するのが面倒臭かったのでは? 意味わからん。function の方が面倒と思うが...。
369 名前:デフォルトの名無しさん mailto:sage [02/09/23 13:53] まさか・・・これを・・・? if A then B else C A && B || C
370 名前:デフォルトの名無しさん mailto:sage [02/09/23 22:53] コンポーネントパスカルをダウンロードしたけど、なにげによさげ でも英語できないから難しい。だれか邦訳してくれ言語リファレンス。
371 名前:デフォルトの名無しさん mailto:sage [02/09/23 22:55] www.fit.qut.edu.au/PLAS/ComponentPascal/
372 名前:デフォルトの名無しさん [02/10/05 15:00] 大分下がって来たので揚げ
373 名前:デフォルトの名無しさん [02/10/24 23:37] そろそろ保守
374 名前:デフォルトの名無しさん mailto:sage [02/10/25 00:34] Pascalの参考書探してる人は図書館いってみ。 TPとか、Pascalのがタマーにあったりしてうれしい。 あとは、大学に忍び込んで生協にあったりなかったり。
375 名前:デフォルトの名無しさん [02/10/26 16:03] {$ }で囲まれている部分は何をする為に付けられるもの? 確か{ }で囲まれた部分はコメント部分で、コンパイル時には無視される部分だと記憶しているのだけれど。 {$I PascalOverrides.p}や{$unused ( inCallRef, inUserData ) }などのようにコメントにしては不自然な気がしてならない。 他にも {$IFC UNDEFINED __TRANSLATION__} {$I Translation.p} {$ENDC} なんて記述がある。
376 名前:デフォルトの名無しさん mailto:sage [02/10/26 16:27] コンパイラに対する命令
377 名前:デフォルトの名無しさん mailto:sage [02/10/26 17:39] >>375 ヘルプ嫁。
378 名前:デフォルトの名無しさん [02/10/26 17:54] コマンドラインで指定するコンパイルオプションと同じ。 しかし、コマンドラインでオプションを指定するとそのソース全部に一括してそのオプションが適用されてしまう。 コンパイラ指令としてソース中に記述すれば部分的な適用もできるし、IFなどの制御構造を使った複雑な指定もできる。 例えば、コマンドラインで「 -$O+ 」と指定すると、それはそのプログラム全体が最適化オプションが適用されてしまうが、 ソース中に「 {$O+} 」と書いて指定すれば手続き一つだけについて最適化オプションを適用することもできる。
379 名前:375 [02/10/26 21:21] >376-378 コンパイラ疑似命令かぁ。 どうりでPASCAL入門の何所にも書かれていないわけだ。
380 名前:デフォルトの名無しさん mailto:age [02/10/27 02:14] 古本屋いけ。
381 名前:デフォルトの名無しさん [02/11/03 17:27] 四個の変数 a,b,c,dの最小値を求める IF文だけを用いたプログラムと 中間状態を用いたプログラムを書いてくれませんか?
382 名前:デフォルトの名無しさん mailto:sage [02/11/03 17:42] FUNCTION GetMinimum(a, b, c, d: Integer): Integer; BEGIN IF a < b THEN IF a < c THEN IF a < d THEN GetMinimum := a ELSE GetMinimum := d ELSE IF c < d THEN GetMinimum := c ELSE GetMinimum := d ELSE IF b < c THEN IF b < d THEN GetMinimum := b ELSE GetMinimum := d ELSE IF c < d THEN GetMinimum := c ELSE GetMinimum := d END;
383 名前:デフォルトの名無しさん mailto:sage [02/11/03 17:46] FUNCTION GetMinimum2(a, b, c, d: Integer): Integer; BEGIN IF a < b THEN b := a; IF c < d THEN d := c; IF a < d THEN GetMinimum := a ELSE GetMinimum := d END;
384 名前:381 [02/11/03 18:12] >>382 >>383 Pascalを習い始めたばかりなのです。 助かりました。有難うございました。
385 名前:デフォルトの名無しさん mailto:sage [02/11/12 17:45] 保守
386 名前:デフォルトの名無しさん [02/11/13 17:38] age
387 名前:デフォルトの名無しさん [02/11/24 21:46] function intersection(S1,S2:list):list; var s,p:list; begin interlist(S);p:=S1↑.next; while p≠nil do begin if search(p↑.item,S2)≠nil then insert(S,p↑.item); p:=p↑.next; end intersection:=S end と言うプログラムが本に載ってたんだけど、これってどういう手順で共通集合を出してるかわかんないです。 分かる人いたら、解説キボンヌ
388 名前:デフォルトの名無しさん mailto:sage [02/11/24 21:53] >>387 こりは Pascal 言語の形を借りたアルゴリズムの説明コードだから、説明してくれと 言われても、このコードを読んで。としかいえないような。 集合 (a,c,d,f) と (b,c,f,g) の共通部分を取得するときに、人間ならどうやるか。 ってことをそのまま実装しているだけだぞ。
389 名前:387 [02/11/24 22:31] >>388 begin以下がどのような手順によってS1,S2の共通部分を取得してるかわからないんス。 p:=S1↑.nextってとこはpにS1のどの値を代入?
390 名前:デフォルトの名無しさん mailto:sage [02/11/24 22:35] まずS1の先頭の要素をpに入れる。 pが指す値(item)と同じ値のがリストS2に在るかどうか調べる(search) もしなければ最後まで行ってしまうのでnilになる。 あったら、その値をSにくっつける。 以下、S1の末尾に行くまで繰り返す。 こんなところかな。
391 名前:387 [02/11/24 22:52] >>390 解説サンクスベリーマッチョです S1の先頭の要素をpに入れてから、ループになりますよね? ループの条件はpが空集合でないときで、ってやっていって、S1はいつ先頭の要素から、先頭の次の要素に変わってるのかが分からないです。
392 名前:デフォルトの名無しさん [02/11/24 23:07] データは線型リスト構造だよ。
393 名前:392 [02/11/24 23:30] 線型リストの1個の要素はこんな形式 【[データ本体][次の要素へのポインタ]】 これが一次元に繋がってるのが線型リスト。 [先頭をさすポインタ] ↓ →【[データ1][要素2へのポインタ]】 ↓ ←←←←←←←←←←←←← ↓ →【[データ2][要素3へのポインタ]】 ↓ ←←←←....←←←←← ↓ →【[データn][nil〔終端〕]】 知ってたらスマソ。
394 名前:デフォルトの名無しさん mailto:sage [02/11/24 23:32] その教科書のどこかにある list 型構造体の定義を見直してみてくれ。
395 名前:デフォルトの名無しさん mailto:sage [02/11/24 23:33] >>391 >ループの条件はpが空集合でないときで じゃなくて、pが指す先が存在するかどうかってこと。 392さんの図で指すものがなくなったらend
396 名前:392 [02/11/24 23:45] Pascalの集合型と混同してるのかな。このプログラムは集合型は関係ないよ。
397 名前:392 [02/11/25 00:17] ポインタ型の変数は>>393 の 【[データ本体][次の要素へのポインタ]】 みたいな構造体を指し示すタイプの変数だ。 もっと詳しくいえば、その構造体の存在するメモリ上のアドレスを保持している。 このタイプの変数は、その変数の後ろに「↑」をつけることによって そのレコードの内容にアクセスできる。 ※コーディング時には「↑」は「^」を使う。 ポインタ p が例えば2番目のレコードのアドレスを保持しているなら p^.item と書くことによって 2番目のレコードの item フィールドを参照しているのと同じ結果になる。 (整数が入っているなら writeln(p^.item); などと書ける。) p にはポインタ型の価を代入できる。 p := (3番目の要素のアドレス) みたいに代入すれば、今度は p^.item で3番目の要素の item フィールドを参照できる。 【[データ本体][次の要素へのポインタ]】 この構造体の[次の要素へのポインタ]というフィールドも、またポインタ型だ。 この値で p の値を更新すれば p := p^.next; p を使って次のレコードを参照できる。 こんなふうに使っていくのが線型リスト。(本読んだ方がいいと思うけど)
398 名前:デフォルトの名無しさん [02/11/25 18:53] どうしてPascalのポインタは↑なのにTurbo Pascalのポインタは^なんですか?
399 名前:デフォルトの名無しさん mailto:sage [02/11/25 19:56] 単に、キーボードと印刷の都合と思ふ
400 名前:398 [02/11/25 19:59] Turbo Pascalの^と標準Pascalの↑はどちらが一般的なんですか?
401 名前:399 mailto:sage [02/11/25 20:03] 同じ文字なんだけど、キーボード上に↑は無いので^を使ってるし、 印刷して^は見にくいので↑になっていると思ふ Pascalが生まれた頃は2バイト文字なんて一般的じゃ無かった筈だし
402 名前:398 [02/11/25 20:24] 普通のPascalの↑は、かな変換でのを使用していいってことですよね?
403 名前:デフォルトの名無しさん mailto:sage [02/11/25 21:22] アフ?
404 名前:デフォルトの名無しさん [02/11/25 21:23]
405 名前:387 [02/11/25 23:08] 皆さん解説蟻が鯛です。 とても分かりやすくて感謝してます。 function intersection(S1,S2:list):list; var s,p:list; begin interlist(S);p:=S1↑.next; while p≠nil do begin if search(p↑.item,S2)≠nil then insert(S,p↑.item); p:=p↑.next; end intersection:=S end において、pの必要性がわかりません。 p:=S1↑.next;の部分を消して、以下pをS1としても駄目なんでしょうか?
406 名前:デフォルトの名無しさん [02/11/26 00:01] >>405 言ってることよく分からんよ。
407 名前:デフォルトの名無しさん mailto:sage [02/11/26 00:09] S1, S2は引数にvarが指定されていないので、変更不能だと思いますが、それはさておき、 線形リストはリスト全体を保持しておくために先頭のレコードを指すポインタが必ず必要です。 この値を変更して途中のレコードを指すようにしてしまうと それ以前のレコードを参照する手段が完全に失われてしまいます。 S1 これなら全て参照可能 ↓ 【データ|next】→【データ|next】→【データ|next】→【データ|nil=終端】 S1を変更した場合 S1 ↓ 【データ|next】→【データ|next】→【データ|next】→【データ|nil=終端】 ↑ このレコードが参照不能になる disposeしない限りレコードはメモリ上に残っていますから 参照不能なメモリブロックがメモリ上に残るという まずい事態になります。(メモリリーク?) 線形リストの処理は 先頭を示すポインタはそのままに、 別なポインタ変数を用意して その値を変更して順次リストをたどっていきます。 で、405のような処理を書いた場合は 一度きりなら動くかも知れないが 以降、このリストを参照することができなくなる、というのが結論かな。
408 名前:補足 mailto:sage [02/11/26 00:11] 線形リストはレコードの追加、削除ができますが その場合でも常に全体を参照できる様、 例えば先頭にレコードを追加する場合は 変更後の先頭のレコードをさすようにポインタを変更します。 先頭のレコードを削除する場合は 次のレコードをさすようにポインタの値を変更します。 ところでプログラム中の4行目のp:=S1↑.next; は もしかしたら p := S1 ではないのかと。 S1の一番はじめのレコードが無視されているような気がします。
409 名前:デフォルトの名無しさん [02/11/26 00:38] >>408 つまり、pはS1の値を保持するためにあると言うことかな? >もしかしたら p := S1 ではないのかと。 確かにそんな気がします。 S1の先頭にダミーセルがあることにしてるのかなあ?
410 名前:407 & 408 mailto:sage [02/11/26 00:59] Pの役割はイメージ的には配列の要素を参照する時のインデックスみたいなものかと。 for i:=1 to 10 do if a[i] <= then xxxx; のiがP、aがS1とか。(かなり違うが) 価を自在に変えながらリスト中のレコードを次々と指し示していく役割をするポインタ(P)と 全体を保持しておくために常に先頭を指すポインタ(S1)は 役割が違うと考えた方がいいかも。(追加、削除を伴わない処理の場合)
411 名前:ああ [02/11/26 07:32] 恐らくばりばり既出ネタで恐縮なんですが、 今私は数学系の学部に在籍しておりまして、研究上アルゴリズムや素因数分解 等をコンピュータ上で行わなければならない必要性が出てきました。 時間の関係上、手っ取り早くそのような計算が自在にできるようになりたいのですが、 当方、残念ながらコンピュータはネットする程度でプログラムやC言語、UNIX等の知識は 限りなく0に近いです。。何からはじめればよろしいでしょうか。御指導願います。
412 名前:ああ mailto:sage [02/11/26 07:33] スンマソ、スレ違いでした。。。
413 名前:デフォルトの名無しさん mailto:sage [02/11/26 08:09] >>410 さんが言っているように、 pはいわゆるイテレータというやつで、 S1はリストの先頭を保持するという役割があるので たとえS1でpを代用できてもするべきじゃないです。
414 名前:デフォルトの名無しさん [02/11/27 21:52] Error: Incompatible type for arg no. 2: Got SHORTSTRING, expected LONGINT どなたかこのエラーメッセージのわかる方いらっしゃいますか?
415 名前:デフォルトの名無しさん mailto:sage [02/11/27 22:59] 引数の2個目はLONGINTが来るはずなのにSHORTSTRINGだよボケが
416 名前:デフォルトの名無しさん [02/12/03 23:46] 落ち阻止。
417 名前:デフォルトの名無しさん [02/12/07 17:08] リスト構造をもつ、ポインタ(pointer)型の変数を使用してデータ入力後絶対値に関して昇順に並べ替えたいのですがどうしてもうまくいきません。どうプログラムを書いたらいいでしょうか?
418 名前:デフォルトの名無しさん mailto:sage [02/12/07 17:13] >>417 よくわかりません。
419 名前:デフォルトの名無しさん [02/12/07 17:18] 簡単に言うとポインタを使って昇順の連結リストをつくりたいのですが。
420 名前:デフォルトの名無しさん [02/12/07 17:51] >419 中身を比較したのちポインタを書き換える。それだけ…… 基本情報処理の本のリストに関する部分を読めば直に分かる。
421 名前:デフォルトの名無しさん mailto:sage [02/12/08 01:09] >>419 対象をポインタで持っているのなら、ヒープソートなんかで木構造を一時作って、 それを再度リスト構造に戻すのが良いかも。 汎用的に作るのなら、ソート関数は作り込まず、外部のソート関数を呼び出すよ うにすればよいし。
422 名前: [02/12/08 20:48] コンソールアプリケーションである値を入力したら窓を閉じるにはどうしたらいいですか?
423 名前:デフォルトの名無しさん mailto:sage [02/12/08 20:56] コンソールアプリケーションに窓なぞない。
424 名前: [02/12/08 21:04] >>423 窓って言うか…何て言ったらいいんだろう? Delphiでコンソールアプリケーションを作って実行したらコマンドプロンプトが起動するじゃないですか。 それを閉じたいのですが無理なんでしょうか?
425 名前:デフォルトの名無しさん mailto:sage [02/12/08 21:12] exit(return)
426 名前:422 mailto:sage [02/12/08 21:21] >>425 exit(return)だったら実行できませんでしたがちょっと削ってexitにしたら閉じることができました。 ありがとうございました。
427 名前:デフォルトの名無しさん mailto:sage [02/12/08 22:29] >>462 ごめん、(return) はなんとなくノリで。 DOS 窓の終了と同じ雰囲気で。
428 名前:デフォルトの名無しさん [02/12/09 00:28] >424 DelphiはDelphi板で聞くのが良いよ。
429 名前:デフォルトの名無しさん mailto:sage [02/12/09 03:00] >>425-426 Exitは関数や手続きを抜けるだけじゃない? もちろんprogram .. begin .. end のレベルで実行すればプログラム自体を 抜けるけど。 どこでも即座に終了させたかったらHaltを使うべし。
430 名前:425 mailto:sage [02/12/09 18:03] >>429 ご指摘ありがとう。しばらくDelphi使ってないのでかなり忘れてました。
431 名前:デフォルトの名無しさん [02/12/31 17:01] 逆ポーランド記法をスタックをよういて実現したいのですが、プログラムがうまくかけません。 どなたか教えていただけないでしょうか?