トップページ⇒tech
982コメント347KB

Pascal の初心者用の質問・相談所

■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさんNGNG
Pascal の初心者用の質問・相談所
コンソールのみ。GUI は扱いません。
「Cをやったけど難しいので、やっぱりPascalからぼちぼちやるぅ」という人向け。

コンパイラダウンロード
http://www.vector.co.jp/vpack/filearea/win95/prog/pascal/index.html

ちなみにDelphiは
「モナーの *やさしい* Delphi質問スレ」
http://pc.2ch.net/test/read.cgi/tech/1003113413/
0082デフォルトの名無しさんNGNG
>>81
>pascalとcならpascalがシンプル

どっちもどっちなんじゃ?
この二つじゃ。
0083デフォルトの名無しさんNGNG
>82 制御文や演算子の数ではpascalがシンプルだし
  文字列や配列の扱いは マシンから見たらcがシンプルだけど人から見たらpascalがシンプル
0084デフォルトの名無しさんNGNG
>>83
制御構造だと
Pascal場合
if
case
for
while
repeat..until

Cの場合
if
for
switch
while
do..while

同じようなもんでしょ。

演算子はCの場合、配列とかポインタ関連もすべて演算子の
カテゴリに入ってるから仕様書をみると数が多いように見えるけど
実際に使用すると、Pascalに比べてとくに複雑と感じないし。
008583NGNG
シンプルが簡素な意味だとしたら
 Cのfor文は簡素じゃないでしょ?
 while文にしてもpascalは論理型しか書けないけど cは数じゃない?
 コンパイラ側から見たら 全部が数ってのはシンプルかもしれないけど
 型が区別されてる方が人間から見たらシンプルだと思うんだけどなあ

それと cのreturn は文だけど pascalのexitは手続きで予約語じゃないとか

まあ似たようなもんだけどさ
0086デフォルトの名無しさんNGNG
>>85
たとえばPascalのforだったら、私は使いはじめのころはどうして
順序型しかつかえないのか、どうしてグローバル変数は使えないのか、
疑問に思いましたし、
ずいぶん慣れてからも to と downto の使い分けで、ケアレスミスを
してました。

PascalとCがどちらがシンプルかってのは、まあ主観の問題ですね。
実際に問題、大差ないと思います。
0087デフォルトの名無しさんNGNG
だれか簡潔に説明してください。

FreePascalのマニュアルみていたら「Graphユニット」があって線を引いたり
円を描いたりできるみたいです。これってTurboPascalから引き継がれたユニット
だと思う。

問題は「Graphユニットの初期化」ってやつ。
基礎的なことが分かりません。なぜ、このユニットだけは初期化という作業が
必要なのですか?またサンプルコードをみても「何でこんな常套句が必要なのか
わからない」といったコードがあります。そもそも初期化って何????
それから「グラフポートをOpenしたらCloseせよ」って何?

文字色を変えたりするのは「Crtユニット」を使うわけで、そちらはサンプルを
見てもだいたい意味が分かるのですが・・・。
0088デフォルトの名無しさんNGNG
1. そういうものだ。気にするな。
2. 昔はハードウェア毎に異なる(デバイス)ドライバを,アプリケーション毎に読み込んでいたから。
DOS はグラフィックボードの管理はしないのだ。
3. 古いアーキテクチャで作られた物が,現代の人にとって易しいとは限らない。
古けりゃ簡単,ってことなら古文/漢文で苦しむ人はいないよな。
0089デフォルトの名無しさんNGNG
ハード屋さんとかマシン語の得意な人にはCの方がやさしいし
BASICから入った人には文字列でつまずかないだけでもPascalの方がやさしい
・・・と思う
009087NGNG
Graphユニットのサンプルをコピペしてdev-Pascalにてコンパイルしました。
エラーがでます。integerで宣言されるinitGraphで使用する変数を、shortintで
宣言するとエラーが消えてサンプルアプリができました。あとは少しずつ
手続きや関数を書き足して調べてみます。
0091デフォルトの名無しさんNGNG
FreePascalってのは起動時コンソールプログラムしか作れないのですか?

>>83 TurboPascal系はレジスタ渡しで関数呼べるのでPascalのほうがマシンよりでは?
0092デフォルトの名無しさんNGNG
>>87
なんでファイルをいちいちOpenしたりCloseしたりしなくてはならないのですか?
なんでFindFirstしたらFindCloseしないといけないのとか。
なんでAllocしたらFreeしないといけないのとか。

と似たようなものですな(w
0093アライグマPascalNGNG
>91
Windowプログラムもつくれますよ。
0094デフォルトの名無しさんNGNG
おい!>>2と>>4!!
貴様ら!!!!逝ってよしです。

ていうか、ム板にそんなもの貼ってうれしいんですか。
0095デフォルトの名無しさんNGNG
http://community.borland.com/article/images/20803/tp55.zip
ここから Turbo Pascal 5.5 がダウンロードできます。
割れではないです。
0096デフォルトの名無しさんNGNG
ところで今のDelphiのObjectPascalと、
Turbo Pascal 5.5 との互換性がどれぐらいあるのか、
誰か説明できる人いないかな?
0097デフォルトの名無しさんNGNG
ダウンロードしたけど、インストールの途中で先に進めません(死
0098デフォルトの名無しさんNGNG
>>96
Object PascalはTPのほぼスーパーセット。
ライブラリは除く。
0099デフォルトの名無しさんNGNG
>94
何これ?
0100デフォルトの名無しさんNGNG
インストールの途中で先に進めなくなるけど、シカトして、TPフォルダの中のEXEを実行したら、ちゃんとインストールされてました!
コンパイル&実行までできました!
あとはTurbo Pascalの本買ってこよ。
Pascal そのものの本はあんまりないけど、Turbo Pascal の本はいっぱいあるし。
010191NGNG
>>93 そうなんですか。実行ファイルにcigwinがいるとかいわなそうだし
テンプレートそろえてエディターがRADのものがあれば
FreePascalのほうがdelphiよりよさそうですね、
要は一般的なサンプルが少なくて古典的なものばかりだということなんでしょうか
GUIアプリでGLUTあたりをかますものであれば大体なんでもできそう
0102デフォルトの名無しさんNGNG
エディターがRAD ってのがなんか無理めな話しのような・・・

Delphiは 実行時型情報と
 DLL にコンパイルして設計時にも動作するコンポーネントという概念
 それをサポートするツールが組み合わさってRADになってるんだから
0103デフォルトの名無しさんNGNG
いったい何をどう評価すればFreePascal>>>Delphiになるんだ??
0104アライグマPascalNGNG
>101
くどいけど、Win32環境でのプログラミングならDev-Pascalを使った方が、
素のFreePascalを使うよりFreePascal&統合開発環境である関係上多少使いやすい
とおもいます。

GUIのためにGTKをつかうひな形が用意されているのですが、GTKをまったく
知らないので私は使いこなせない状況です。
0105デフォルトの名無しさんNGNG
FreePascalってなんて読んでる?俺はフリッパー
0106デフォルトの名無しさんNGNG
Turbo Pascal の本はなんでめちゃめちゃ高いのが多いんだ。
0107デフォルトの名無しさんNGNG
>>105
俺はフリパ。
同じく、FreeBSDはフリビ、
でもFreeDOSはそのままフリードス。

0108デフォルトの名無しさんNGNG
アマゾンでTurbo Pascal の本を探した。
みんな7か6対応の本ばっかりで、5対応の本があんまりない。
漏れがダウンロードしたのは5だから、できれば5の本がいい。
それとも、7と5であんまり変わってないなら、7の本を買おうと思うが、そのへんどうなんでしょう。
0109デフォルトの名無しさんNGNG
オーム社「TURBO Pascal プログラミング」間野浩太郎監修、内田智史著 \3,600
は4までが対象だけど、これでは古すぎるかな
0110デフォルトの名無しさんNGNG
5.5からオブジェクト指向を搭載、って書いてあるので、たぶん、4と5.5はだいぶ違うと予想されるのですよ。
5.5と7の違いがよくわからん。
0111デフォルトの名無しさんNGNG
今調べたら、
「TURBO PASCAL 5.5 OOP GUIDE」BORLAND刊」
というのを見つけた。そうだ。ボーランドの本を使えばいいのだ。
まだ売ってるのかわからんが。
0112デフォルトの名無しさんNGNG
>>108
オブジェクト指向を使わないのなら、TP4-7は大して変わらないと思われ。
0113デフォルトの名無しさんNGNG
>>112
ありがとう。そんなら、7の本を買う。
0114デフォルトの名無しさんNGNG
古本屋いけ。
0115デフォルトの名無しさんNGNG
パスカルの本買いたいけど、なんであんないバカ高いんだろ。
言語がフリーでも意味ないじゃん。

『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
0116デフォルトの名無しさんNGNG
>パスカルの本買いたいけど、なんであんないバカ高いんだろ。
これだけ読んで、
高いといっても5000から6000円程度だろ
とレスを付けようとして続きをみてびっくり。
それぞれ1000ページくらいの大作なのだろう。
0117デフォルトの名無しさんNGNG
>>115
無理にメリケンの本を買おうとするから高いのであって
ニポーンの本で我慢(?)すればそこまで高くはないよ
0118デフォルトの名無しさんNGNG
じゃなくて、洋古書は売れないと高くなるの。
どの本も大昔の書籍だってこと、わかっているのかな?
なぜ Delphi ではなく TurboPascal を求める?
0119デフォルトの名無しさんNGNG
だってDelphiなんて、GUIだとか余計なことがイパーイついてて本質が見えないじゃないか。
0120デフォルトの名無しさんNGNG
>>119
自分で制限可能だよ。
まあやろうとしてることはコイツらと変わらんが

Delphiで小さな実行ファイルを作ろう
http://pc.2ch.net/test/read.cgi/tech/1009080085/
0121デフォルトの名無しさんNGNG
だからといって古いソフトを持ち出さなくても...
弘法筆を選ばず。本質が見える人は GUI がついていても道を見失うことはない。
初心者であれば手軽に手に入る,最新の道具で入門をしなされ。

0122デフォルトの名無しさんNGNG
TurboPascalの入門というかPascalをテーマにしたHPを作りたいのですがいいですか?
0123デフォルトの名無しさんNGNG
ようするに Delphiでも新規作成で その他->コンソールアプリケーションを選べば
 VCLによらない素のpascalで遊べます

コンソールが不要な SDK方式でのGUI を作りたければ、
 コンソールアプリを選んだ後 {$APPTYPE CONSOLE} を自分で削除すればいいのです
0124デフォルトの名無しさんNGNG
TP5.5は、統合環境がWin9xのDOSプロンプトでは動かないよね。
つまりデバッガを使いたければDOSモードへ行かねばならない。
これからPascalを始めようとする人には、あまり向いていないと思うよ。
0125デフォルトの名無しさんNGNG
>>122
作るのは貴方の勝手です。ご自由に・・・
0126デフォルトの名無しさんNGNG
>87
ふむふむ、確かにFreePascalでもGraphユニットやCtrユニットが用意されているね。
Turboとの互換を考慮してとおもうけど。
GraphDeviceあたりの型を、エラーを参考にShortInt型に書き換えるだけで、きちんと
グラフィックが描ける。英語版のTP5.5をゲットしてDosプロンプトで動かすより、
こちらの方が簡単みたい。
>122
私もTPやFPをネタにコツコツとHPを作ってみようと思っています。
0127デフォルトの名無しさんNGNG
>>124
ガセ。正しく環境を作れば動く。
DPMI 関連の資料をよく読んで。
0128デフォルトの名無しさんNGNG
C:>US
C:>TP
:
:
C:>JP
C:>EXIT
0129デフォルトの名無しさんNGNG
>128
USモードじゃ日本語つかえんぞゴラァ!
0130デフォルトの名無しさんNGNG
え?TP5.5 って、US のミュージアムから落とした物のこと?
じゃしょうがない。US モードにするしかないだろ。
0131ふむふむ(納得)NGNG
英語版のTP5.5でも日本語はつかえるけど、GraphやCrtユニットは日本語対応じゃ
ないので、日本語文字列はWriteLnなどの手続きでコンソール上に出力することしかできない。
0132124NGNG
>>127
今まで知らなかった。ご指摘ありがとう。
DOSプロンプトのプロパティで「必要に応じてMS-DOSモードを実行」を外したら動いた。

>>131
DirectVideo := False;
とすれば、Crtユニットによるテキスト出力がBIOS経由になるから、
DOS/V BIOSのおかげで、Writelnで日本語文字が出力できるようになるよ。
GraphユニットのOutTextでの日本語出力は、無理そうだね。
0133デフォルトの名無しさんNGNG
昔のPascalなんてコンパイル速度が速いだけしか取り柄が無いよ
0134デフォルトの名無しさんNGNG
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 を押せば実行出来ます
0135ふむふむ(納得)NGNG
>132
ふむふむ、自分はまだGraphユニットとCrtユニットを完全に理解していなかった
ようです。サンプルコードを希望します。

自分はPC-9800シリーズ用のTP6プロフェッショナル版をもっていますが、
引っ越しのどさくさでソフトはあれど、マニュアルをすべて無くしてしまったのです。
TP6のマニュアルに書かれていたクラスの概念はとても分かりやすかっただけに、
すご〜〜〜〜く、残念です。

だれかGraphユニットとCrtユニットの詳しい解説をサンプルを使って説明して
くれませんか!!
0136デフォルトの名無しさんNGNG
さて、>>134の方法で作成した場合、ソースは dprの拡張子となっています。

Delphi IDEを使わない方法を説明します。

まず メモ帳でも好きなエディタでも、 ファイル名.pas としてファイルを作成し
begin
writeln('こんにちは');
end.
と3行入力し、保存して下さい。
コマンドラインから
 DCC32 -CC ファイル名.pas として改行すれば
ファイル名.exeが作成されます
0137デフォルトの名無しさんNGNG
uses を使わない場合に使えるのは system unit の関数だけです

uses SysUtils ;が 追加された状態では、abort; Ansi/Unicode文字列処理や時間などの関数が追加されます



0138デフォルトの名無しさんNGNG
コンソールアプリであっても、グラフィック画面を扱いたくなります
Windowsの場合、コンソールにグラフィックを表示する事は出来ません。
そこで、別窓を出してグラフィックを出すか
あるいは、BMPファイルを作成して後でビュアーで見るという方法が簡単です

Delphiのフォーム機能をグラフィック画面としてコンソールアプリから使う方法を説明します

0139デフォルトの名無しさんNGNG
まずは、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.

実行すると、コンソールと同時にタイトルがこんにちは となった フォームが表示された筈です
このフォームはクリックに応答しませんし、他の窓に隠れると再表示もされません
が、とりあえずこれで遊ぶには十分に便利な筈です

0140124NGNG
>>135
>TP6のマニュアルに書かれていたクラスの概念はとても分かりやすかっただけに、
おお、同意。なんか執筆者のすごい熱意が感じられる文章だった。

Crtユニットを使って日本語を出力する例。
TP5.5、Win95のDOSプロンプトにて確認しました。JPモードで実行して下さい。

program test;
uses Crt;
begin
  DirectVideo := False;
  GotoXY(30,10);
  TextColor(Red);
  Write('こんにちは');
end.

2バイト目が'のコード番号と一致するような日本語文字を文字列中に入れる場合には注意。
コンパイラがその'を文字列の終わりと認識するのを防ぐため、'を一つ追加してやる必要がある。
0141デフォルトの名無しさんNGNG
ターボパスカルって、いまC#作ってる人と同じ人が作ったの?
0142動物アイゴー協会NGNG
あらいぐまパスカルとかパトラッシュ思い出すんだけど。
0143デフォルトの名無しさんNGNG
さて、>>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} も取り去って大丈夫です
0144デフォルトの名無しさんNGNG
>>139 の方法がなぜ良くないかをまず説明します

 Windowsでは複数の窓があるように見せていますが、実際の表示デバイスはせいぜい1つです
 他の窓に隠された部分が また表示されるのは、アプリケーションが努力しなければなりません
 その為の仕掛けをメッセージループと呼びます
 窓はメッセージを受信する仕掛けをもち、再描画しろというメッセージにしたがって画面を自分で
 描くわけです。
また、キーボードが押された、マウスが押されたもメッセージにより処理されます。
Delphiでは application.ProcessMessages; で明示的にそのメッセージループを呼び出す事も
出来ます。コンソールアプリでapplication.ProcessMessages;を定期的に呼び出せば、作成した
フォームはマウスを受け付ける事が出来るようになります。が、それをしても >>139のように描画
処理をベタに書いたのでは 他の窓に隠れると2度と表示出来ない事にかわりはありません。
この部分をイベント駆動にしなければならないのです。
 それがフォームにある OnPaintイベントです。




0145デフォルトの名無しさんNGNG
>>143 のコードを説明しょうと思いましたが、
 Delphi6のIDE上で F1を押せば知りたい情報は殆ど出て来る筈です

bmp.PixelFormat:= pf1bit; はモノクロビットマップを作るという意味になります
その他の多色形式はヘルプを見て下さい


ShellExecuteは 作成した temp.bmpをそのパソコンに設定された方法で
  開くためのAPIです

円以外のグラフィック描画命令は TCanvas でヘルプを見て下さい
線の色の設定や線の太さは Canvas.Pen で設定します
面の 〜 は Canvas.Brush で行います
文字の〜は Canvas.Fontで行います
0146デフォルトの名無しさんNGNG
なんかものすごく丁寧に説明されてる方がおられるようですが、
ひょっとして穂積○平さん?
0147ふむふむ(納得)NGNG
>140
サンキュー

今、FreePascalでGraphユニットを使って日本語をなんとかグラフィックと
混在表示できないか検証中です。やっぱ、outTextでは文字化けしますね。
(Win2000のコンソール画面で検証)
0148デフォルトの名無しさんNGNG
人のやる事にああだこうだは言いたくないけど、今更DOSアプリの研究してどうすんの?
それはもうコンソールアプリじゃないよ
そこらへんやりこむにはインラインアセンブラ使うしかなくなるしさあ

pascalの勉強ならDelphi6パーソナルで始めたらいいじゃない
0149デフォルトの名無しさんNGNG
>>148
禿同。
コンソールアプリでもない機種依存アプリでしかない。Windows が動かないほど
古いマシンでの話ならともかく Win の DOS-BOX で動かそうとしているようだから
意図がわからない。

本質的なプログラムをしたいなら、Graph がどうこうとか言ってる場合じゃないとおもうが。
0150ふむふむ(納得)NGNG
>148
>149

私も含めてTPやFPを使っている人は、これで飯を食っているわけじゃないとおもいますけどね。
ただ、知的好奇心を満たすため、また昔を懐かしみたいがために、前記のツールでコツコツとコードを書いて
遊んでいるとおもいます。

>148
私はアセンブリ言語はサパーリわかりませんので、インラインアセンブラは未体験ですけど、
使いこなせたらおもしろそうですね。
>148
我が家には486・33MHzマシンもペン150MHzマシンもあります。再利用を考え中です。
FPですが、LinuxやDOS、OS/2、旧バージョンはアミーガでも稼働できるそうなので、
ツールになれたらそれらのOSでも楽しめそうです。(私はOS/2も持っています)
個人的にはBeOS(瀕死状態ですが)、今後発表される予定のFreeBeOSにFPが移植されたら
有り難いのですが・・・・。
0151デフォルトの名無しさんNGNG
昔の書籍のリストを実行させたいのなら、意味がある。
0152148NGNG
棘の道だなと思うけど、それが好きなんだと言われたらしょうがない話しだからもう言わない

ワンダーウイッチ開発をTPで出来るように環境を整えるとかの方向なら面白いとは思うんだけど・・・
0153デフォルトの名無しさんNGNG
>>150
486の33Mを生かしたいなら kylixやればいいのに
486では開発出来ないだろうけど、作った実行ファイルは実行出来るだろうに
0154ネタsageNGNG
>>142
♪神サマありがと〜お、ボクにともだちをくれ〜て〜〜〜。
♪パスカルに〜あわせてくれて、パスカルに〜あわせてくれて
♪パスカルに〜あわせてくれて、パスカ〜ルにあわせてく〜れ〜〜て〜〜
0155デフォルトの名無しさんNGNG
2ch だしぃ... どれが誰だかわからないけど

>119 :デフォルトの名無しさん :02/02/02 00:00
>だってDelphiなんて、GUIだとか余計なことがイパーイついてて本質が見えないじゃないか。

ってのがあるから、「Graph/CRT でごそごそやるくらいなら Delphi つかったら?」
といっているの。いまどき SVGA どまりのグラフィクスでもないでしょ?
0156ふむふむ(納得)NGNG
>154
♪ごめんね素直じゃなくって。夢の中なら言える。
♪思考回路はショート寸前。あなたに会いたいよ。

 「美少女戦士セーラー・パスカル」
                  ヘジに替わってデバッグよ!

>153
   kylixはFreeBSDでは動かないのではないかと思います。
   私はlinuxよりFreeBSD派です。(ごめんなさい)  
   それより486でlinuxやFreeBSDを使うということはXはあきらめろ
   ということになりそうです。
0157デフォルトの名無しさんNGNG
で、結局、何をしたいのか?
0158デフォルトの名無しさんNGNG
>>157
Delphi以外でPascalの勉強だろ?
0159ふむふむ(納得)NGNG
ちがうってば

DelphiでもTPでもFPでも、とにかく手持ちの処理系を使った
Pascalの学習さ。
0160デフォルトの名無しさんNGNG
Graph ユニットや CRT ユニットの使い方を学ぶのが Pascal の学習か?と聞いているんだよ。
0161デフォルトの名無しさんNGNG
それは一つの手段でしょ.
なんでそんなに突っかかるのか小一時間(略
0162デフォルトの名無しさんNGNG
Pascalは、処理系を作るのが学習です。
0163デフォルトの名無しさんNGNG
>140
win2000のコンソール画面(JPモード)では文字化けします。
対策はやっぱり、旧Winと文字コードの取り扱いがちがうから無理でしょうか?
0164ヒロシNGNG
⊂(□ー□⊂⌒`つ≡≡≡≡≡≡<ヒロシ(164)ゲト!!!
0165アライグマPascalNGNG
今、PascalプログラミングのHPを作っています。
昔のTurboPascalを思い出す懐かしいやつです。
今年の8月頃Openの予定です。
0166424NGNG
なんかフリーのSRPG作成ツール無い?
(SRC以外で)
ガチャポン戦士3作りたくなった
0167424NGNG
pascal板かここ・・・
すいません、逝ってきます。
0168デフォルトの名無しさんNGNG
「PASCAL でガチャポン戦士をつくるうっっ!!」
この壮大な計画を遂行するため、424は立ち上がった、、、
歴史は動き始めた、、、
0169424NGNG
ツールが見つかりません。
逝ってきます。
0170アライグマPascalNGNG
今ちょこちょこっとHPをつくっています。実はOpenしたのですが、まだ
コンテンツが激貧なのでURLは秘密です。古いPascalの簡単なサンプルを
公開・保存する場にしたいと思っています。
0171デフォルトの名無しさんNGNG
確か、フランスのボーランドサイトから、仏語版のTP7がダウンできるはず(FREE)
 NECRT.TPU という、CRT互換unitをダウンすれば、日本語だって出力可能

おいらは統合環境は使わないから、これで問題なし
0172デフォルトの名無しさんNGNG
>>170
楽しみにしているぞゴルァ。

>>171
フランスのBorlandからわけのわからないメールが届くようになるという
諸刃の剣。
0173アライグマPascalNGNG
たいへん。Dev-PascalのURLが使えなくなりました。移動したのか?
それともなくなったのか?
0174アライグマPascalNGNG
復活したもようですね。
0175デフォルトの名無しさんNGNG
>>145
「ヘルプを見て下さい」ばかりだと、このスレ意味なしだと思いません?

コンソールアプリにこだわりながら、なおかつ、TCanvas を論じている
こと自体に無理があるのでは?
0176アライグマPascalNGNG
本家からFreePascalをダウンロードして、エディタはCPadあたりを
利用して以下のソースをコンパイル。

program test;
uses Graph;
var
GraphDriver:smallint;
begin
GraphDriver := Detect;
InitGraph(GraphDriver,30012,'');
SetColor(4);
circle(300,200,100);
readln();
CloseGraph;

end.

画面に赤い円が表示されたら成功。(懐かしいでしょ)
0177デフォルトの名無しさんNGNG
赤い玉が出てくるの?
0178デフォルトの名無しさんNGNG
>>5
いまさらなつっこみで悪いんだが・・・

absolute変数があったり、
「Mem[****] := ****」とか「Port[**] := **」なんてことができたり
inline手続きがあったりするので
PascalはCよりもっと危険なのでは?

Cじゃメモリの番地を直接指定して書き込みするなんてことはできない
ポインタを介して間接的なやりかたでやらねばならないぶん、
Pascalよりも安全性はほんの少し高いとも言えないか?

Delphiはともかく、DOS時代のTurbo Pascalなんて、
ハードウェアを直接いじるような目的で使われることが多かったし、
実際、procedureの中身はアセンブラソースをasmとendで括っただけなんていう
ほとんど高級アセンブラ的なPascalの使い方をしてるソフトが
数多くまかり通ってたものだが
0179デフォルトの名無しさんNGNG
>178
>PascalはCよりもっと危険なのでは?
なんでやねん。
危険なのは(言語を問わず)ハードを直接操作することでしょ。
高級なことやりたいんなら危険専用の命令である
inline/absolute/asm使わなければそれで十分安全性を確保できる。

それに対してCは高級・低級ともにポインタ使わざるを得ないから
高級な目的で書かれたコードですら安全とはいいかねる。
0180デフォルトの名無しさんNGNG
178 の理屈だと

XXX 言語はインラインアセンブラがあるから、特権命令も記述できるので
一行でハングアップするコードがかける。危険!

ということもできそうだが、さすがにこれには同意しまい?
0181アライグマPascalNGNG
したらばBBSでもおねがいしましたが、みなさん、昔のBASICゲームプログラムの
ソースをもっていませんか?ベーマガに載っていた、1画面プログラムみたいなものです。
音やスプライト機能はできないと思いますが、なんとかPascalで書き直してみたいと
思っています。ここにソースをアップしてみんなで考えたら、勉強のネタとして
おもしろいと思います。
0182デフォルトの名無しさんNGNG
1 COLOR15,1,1:SCREEN5,1,0:R=RND(-14):FOR
I=0TO212:P=PEEK(I+800):PSET(P,I),IMOD3+2
:NEXT:FORI=0TO7:VPOKE30721+I,255:VPOKE30
736+I,24:NEXT:OPEN"GRP:"AS1:SOUND6,18
2 DEFFNS=RND(1)*175+25:DEFFNR=(INT(RND(1
)*10)-5)/10:C=FNR:D=FNR:G=FNS:H=FNS:Y=99
3 LINE(E,200)-(E+20,212),1,BF:FORI=2TO4:
COLOR=(I,0,I*2-2,I*2-1):CIRCLE(G-I,H-I),
(6-I)*2,I:PAINT(G-I,H-I),I:NEXT:LINE(G,2
00)-(G+20,212),5,BF:SOUND7,183:X=120:E=G
4 S=STICK(0):A=(S>5ANDV>-8)-(S>1ANDS<5AN
DV<8):B=((S=8ORS=1ORS=2)ANDW>-8)-(S>3AND
S<7ANDW<8):V=V+A+C:W=W+B+D:X=X-V:Y=Y-W
5 VDP(24)=(Y+149)MOD255:PUTSPRITE0,(X,Y)
,10,0:PUTSPRITE2,(X,Y+B*9),ABS(B)*9,2
6 PUTSPRITE1,(X+A*14,Y+8),ABS(A)*9,1:IFP
OINT(X+8,Y+18)=5THENN=N+1:BEEP:GOTO2
7 SOUND8,-(S>0)*13-(S/2=S\2)*2:IFX>4ANDX
<238ANDY>-10ANDY<194THEN4ELSEFORI=0TO50
8 D=RND(1)*31:SOUND6,D:SOUND8,15:VDP(24)
=ABS((Y+D\3+144)MOD256):NEXT:Y=Y+(Y<0)*Y
9 PSET(80,99):PRINT#1,"GAME OVER";N+1
10 SOUND8,0:FORI=0TO255STEP.5:Y=Y+I:Y=Y+
(Y>255)*Y:VDP(24)=Y:NEXT:POKE-869,1:RUN
■ このスレッドは過去ログ倉庫に格納されています