#99 Article 453 Posted at 1992/09/17 17:15:33 by Mai (MAP2260) [Q.PASCSL]

Subject: Re:*17 まだ登録書も出してないパスカルの質問。 /452 ...... /433 /432

えーと、前にも書きましたように、デフォルト($M指定なし
では、TPで書かれたプログラムが、DOS上のフリーメモリを全て
(というのはちょっと正しくない表現ですが)ヒープメモリに割り当てるわけです。
ですから、$M指定の3番目をいじってやればいいわけです。
(デフォルトでは、32767,65536,655360かな?)
スタックは、TPのプログラムが使用するので、大き目に見ておいた方が
いいみたいです。
(TVisionとか使わなければ、16Kでも充分かも。


ファイルネームを渡したい、というのは、ワイルドカード*.ML1(ML1って
全然知らないんですがこれでいいんですよね?)と、FindFirst、
FindNextを使ってあてはまるファイル名を配列にでもほうりこんどけば
いいのではないかと思います。
フルパスファイル名=>ドライブ+ディレクトリ+ファイル名+拡張子みたいな
分解をやるのは、Str文びしばしで分解しないと駄目だと思いましたが。
TP for Winだと、FileSplitで一発なんですが。
ただ、実際問題として、フルパス名が分かれば十分だと思いますが・・・

あ、それともパス名は分かれてくるかな?
参考までに、私が作ったPRCGS画像メニュープログラムのファイル名検索部を
(一部ですが)次ぎに書いてみます。
(RCSファイルから切り出したから、多少狂ってるかも・・・)
 begin
     Attr:=AnyFile and not Directory;
     p:='*.PRC';
     FindFirst(p,Attr,S);
     if DosError<>0 then begin
                           writeln('Error.');
                           Halt(1);
                         end;
     i:=1;FileName[i]:=s.Name;
     ReadID(i);
     while (DosError = 0) and (i<MaxFile) do
        begin
           FindNext(S);
           if DosError=0 then begin
                                 inc(i);
                                 FileName[i]:=s.Name;
                                 ReadID(i);
                               end;
        end;
      FileNumber:=Pred(i);

 end;

なんか、これで見る限りちゃんとディレクトリ/パス/ファイル名/拡張子を
分けて判断するみたいですね。

P.S.マニュアルというか、ライブラリリファレンスには、FindFirst,FindNextとも
    出てます(^_^;)

Mai