フォルダがないときのフォルダ作成

解決


kokoa  2003-11-13 20:07:34  No: 5642

C++ Builder5を使用しております。下の部分でルートディレクトリを設定しております。フォルダがなかったら作成されていることはわかりますが、あまり詳しくわかりません。できれば、ご教授お願いいたします。
「if( value.SubString(value.Length(), 1) == "\\" )」以下からよくわかりません。

void __fastcall TFTCtrlServer::SetRootDirectory(AnsiString value)
{
  if( FRootDirectory != value ){
    if( !ComponentState.Contains(csLoading) && Active )
          throw Exception("実行中に変更できません");

        if( !DirectoryExists(value) )
          if( CreateFolders(value) ){
            //throw Exception("そのようなフォルダはない");

  if( value.SubString(value.Length(), 1) == "\\" )
              value.Delete(value.Length(),1);

          }else throw Exception("フォルダの作成に失敗しました");

        FRootDirectory = value;
    }
}


にしの  2003-11-13 20:30:57  No: 5643

「フォルダがないときのフォルダ作成」が解らないのでしょうか、それとも、if ... =="\\"のところが解らないのでしょうか。
前者であれば、ForceDirectories関数で済みますし、後者は、ディレクトリの指定に"C:\TEST\"などのとき、最期の"\"を削除するものだと思います。
# ただ、この削除は"C:\"の時に"C:"にされて困るかも


kokoa  2003-11-13 21:42:57  No: 5644

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

なるほど、ただ単に\を消しているだけだったんですね。
ちょっともう1つ気になったことがありますが、別のスレッドにさせていただきます。


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

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






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