コンソールプログラムでpublicな変数を使うには?

解決


もろもろ  2005-05-15 21:47:00  No: 14797

基礎的な質問で恐縮なのですが、
コンソールプログラムにおいてpublicな変数は利用できるのでしょうか?
また利用できるとしたら、どのようにすれば良いのでしょうか?
試行錯誤しているのですが、エラーが返されるばかりです。
申し訳ありませんが、どうぞよろしくお願いします。


Mr.XRAY  URL  2005-05-15 22:31:59  No: 14798

>publicな変数は利用できるのでしょうか?

コンソールのユニット全体で使用可能な変数ということでしたら,
例えば以下の様に  var で変数の定義をすれば使えます.

program Console1;
{$APPTYPE CONSOLE}

uses
  SysUtils;

var
   S: String;
   V: Integer;
begin
     Writeln('Hello World !! ');
     while True do begin
       Readln(S);
       //コンソール上で文字'A'を入力したら終了
       if S='A' then exit;
       Readln(V);
       //123を入力したら終了
       if V=123 then exit;
     end;
end.


りおりお  2005-05-15 22:40:35  No: 14799

> コンソールのユニット全体で使用可能な変数

ユニットファイルからプロジェクトファイルの変数を参照できましたっけ?

どのユニットファイルからも見えるようにするには、宣言だけのユニットファイル
を作って、それを uses に加えるといいです。


Mr.XRAY  URL  2005-05-15 23:11:39  No: 14800

> コンソールのユニット全体で使用可能な変数

失礼.間違えました.dprファイルの中の意味でした.

>ユニットファイルからプロジェクトファイルの変数を参照できましたっけ?

できませんね.


ほろほろ  2005-05-15 23:51:51  No: 14801

Mr.XRAYさん、りおりおさん

ご回答ありがとうございます。
何とかうまくできそうです。

申し訳ないのですが、もう一つお聞かせ願えますでしょうか?
コンソールプログラム内の一つの関数(function)から
別の関数を呼び出すことは可能でしょうか?
試してみたところ、
関数名が「未定義の識別子」というエラーが出てしまいました。

便乗質問で申し訳ないのですが、どうぞよろしくお願いします。


ころころ  2005-05-16 02:16:27  No: 14802

呼び出す関数は、呼び出す位置より前(上)に記述しましょう。


ほろほろ  2005-05-16 03:11:32  No: 14803

ころころさん

できました!
本当に助かりました。
いつもこの掲示板にはお世話になっています。
本当にありがとうございました。


もろもろ(ほろほろ)  2005-05-16 03:13:12  No: 14804

すみません、なんか途中で名前が変わってました。
もろもろ=ほろほろ
です。どうでもいいのですが、一応。


.  2005-05-16 06:40:22  No: 14805

forwardつけるといい
function a:? ; forward;

...
function a:? ;
begin
end


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加