[delphi-users:5139] カレントドライブ変更について

10 views
Skip to first unread message

kuze

unread,
Apr 14, 2019, 9:21:01 AM4/14/19
to delphi...@freeml.com
皆様

久世です。

Windowsアプリの方で、また相談がありますので
お知恵をお借りできないでしょうか?

SetCurrentDir
ChDir
という関数の差がいまいちわからないのですが、どちらも同じ動作を
しているという認識です。
例えば、
C:\Windows
D:
C:
の順番で入力すると、最終的にカレントディレクトリは c:\になります。
しかし、コマンドプロンプトだと、
CD C:\Windows
D:
C:
の順番で入力すると、最終的にカレントディレクトリは
C:\Windows になります。

このように、現在のディレクトリは変えずに、ドライブだけを切り替える方法は
ないのでしょうか?

よろしくお願いいたします。
(Delphiとは直接関係のない質問になってしまっているかもしれません。)


MLホームページ: https://www.freeml.com/delphi-users

----------------------------------------------------------------------
スマホアプリ版で100万ダウンロード突破の
「キャプテン翼ZERO~決めろ!ミラクルシュート~」
HTML5ゲームプラットフォーム「ゲソてん byGMO」にて、
PCブラウザ版を好評配信中!
https://gesoten.com/games/genre/sports/tsubasa-zero
------------------------------------------------------[freeml byGMO]--

あなたの街のチラシがいつでも無料で見放題!
チラシをクリックしてチラシが拡大されたらポイントゲット♪
まずはかんたん登録♪ -ポイントタウン-
https://www.pointtown.com/ptu/rd.cgi?cid=8912
----------------------------------------------------------------------

Mr.XRAY

unread,
Apr 27, 2019, 9:17:45 PM4/27/19
to delphi...@freeml.com
[delphi-users:5139] カレントドライブ変更について へのレスです.

こんにちは.Mr.XRAY です.

> SetCurrentDir
> ChDir
> いう関数の差がいまいちわからないのですが、どちらも同じ動作を

ソースコードを眺めるといいかも知れません.

> 現在のディレクトリは変えずに、ドライブだけを切り替える方法は
> ないのでしょうか?

コマンドプロンプト (コマンドプロセッサ) のカレントディレクトリは
ドライブ単位です.
プロセスにおけるカレントディレクトリというのは 1 つだけです.
コマンドプロンプトと同じような動作を実現したいのであれば,
自分で関数等を作成して対応するしかないと思いますが...

# 個人的には使いたくない機能のような気もします (多分気のせいです)

kuze

unread,
Apr 28, 2019, 3:22:35 AM4/28/19
to delphi...@freeml.com
Mr.XRAYさん

久世です。

回答ありがとうございます。

> プロセスにおけるカレントディレクトリというのは 1 つだけです.

そうなのですね。
自力で、ドライブ毎にフォルダを管理するようにします。
ここ最近、Mr.XRAYさんのHPで多くのことを勉強させていただいております。
ありがとうございます。

今回の質問とは関係がないのですが、
「Emoji ( 絵文字 ) の描画」の記事で、

if CheckWin32Version(10, 0) then begin

の判定をしている部分があると思うのですが、
Windows8.1から、D2D1_DRAW_TEXT_OPTIONS_ENABLE_COLOR_FONTが使えるのではな
いでしょうか?
少し気になりました。

Mr.XRAY

unread,
Apr 28, 2019, 9:58:15 AM4/28/19
to delphi...@freeml.com
[delphi-users:5152] Re: カレントドライブ変更について へのレスです.

こんにちは.Mr.XRAY です.


> if CheckWin32Version(10, 0) then begin

あらっ,ありがとうございます.修正しておきました.
Windows 10 でテストしていたものですから.ウッカリ.
Reply all
Reply to author
Forward
0 new messages