喫茶XRAYトップページ


[1311] こんなことがありますか返信 削除
2007/7/15 (日) 13:52:13 ANDY
プログラムの中でフォルダを分別するのに
pos('\',フォルダ名)=0で\があるのをはねるように
下のですが、フォルダ名に\がないのに数値が出てきてしまって
処理が出来ない状態です。
原因がわからないので、FileExistsで特定のフォルダの中に
あるファイルで判定するようにしました。
プログラムをしていると、時々、このようなことがあります。


[1312] Re:こんなことがありますか返信 削除
2007/7/15 (日) 14:52:48 Mr.XRAY
▼ ANDYさん
> プログラムの中でフォルダを分別するのに
> pos('\',フォルダ名)=0で\があるのをはねるように


この\がないというのは主にデリミタ(ファイルやフォルダ名等の最後の文字)
の判定でやんすか?
フルパスだとほとんどありやすからね.


[1313] Re2:こんなことがありますか返信 削除
2007/7/16 (月) 10:21:41 ANDY
▼ Mr.XRAYさん
> この\がないというのは主にデリミタ(ファイルやフォルダ名等の最後の文字)
> の判定でやんすか?
> フルパスだとほとんどありやすからね.

最初ディレクトリだけを取り出すプログラムを作っていて
CDから起動したときに、Win98の時空っぽになっていたので
DirectoryListBoxをCreateしてCommaTextで取り出すように
して先のような処理の時にposを使って判別しようとしました。
CommaTextの中身はフルパスの\で区切っていましたので。
c:\○○\,○○\,フォルダ1,フォルダ2
プログラムって前に作ったのをこうすれば無駄がなくなると
思い一気に書き上げてテストすると意に反してうまく動作
しないことがあります。(どこかにミスがあるかもしれないかも)


[1316] Re3:こんなことがありますか返信 削除
2007/7/16 (月) 23:24:03 Mr.XRAY
▼ ANDYさん

毎度おなじみの亀レスですが。

> c:\○○\,○○\,フォルダ1,フォルダ2
> プログラムって前に作ったのをこうすれば無駄がなくなると
> 思い一気に書き上げてテストすると意に反してうまく動作
> しないことがあります。(どこかにミスがあるかもしれないかも)


この並びを作成する際か、CommaTextから取出す時なのですね。
おそらく。
ExcludeTrailingPathDelimitert関数や
IncludeTrailingPathDelimiterで
確実にデリミタを操作するとかでもダメか? 原因が不明だから
(上の関数はDelphi6からだったかも知れません)

INCM/CMT
Cyclamen v3.82