Menu

#622 背景画像の相対パス

None
closed
nobody
None
5
2013-07-06
2013-06-25
novice123
No

[r1883]で背景画像表示機能が追加されましたが、
実行ファイルのディレクトリが(1)のときに(2)を選択すると、(3)のような相対パスになるので、

(1)D:\down\svn\sakura\trunk2\sakura_2008\Debug_Unicode
(2)D:\down\svn\sakura\trunk2\sakura_2008\Debug_Unicode - コピー\sakura0415.jpg
(3)- コピー\sakura0415.jpg

SplitPath_FolderAndFileで分解して、終端文字まで比較するようにしました。

1 Attachments

Related

Commit: [r1883]

Discussion

  • Moca

    Moca - 2013-06-26

    それだと、サブディレクトリにファイルがあるとき
    D:\down\svn\sakura\trunk2\sakura_2008\Debug_Unicode\image\file.jpg
    のようなときにうまく動きません。
    SplitPath_FolderAndFileではなく最後に「\」を付加してそれを比較してはどうでしょうか

     
  • novice123

    novice123 - 2013-06-26

    実行ファイルのパスor設定ファイルのパスに「\」を付加して比較するようにしました。
    (1)を選択すると(2)のようになります。

    (1)D:\down\svn\sakura\trunk2\sakura_2008\Debug_Unicode\image\file.jpg
    (2)image\file.jpg

     
  • ds14050

    ds14050 - 2013-06-26

    GetRelPath関数単体で見ると実装がずさんです。あるいは名前が不適切。
    basedirの末尾にパスセパレータがない場合、返ってくる相対パスの先頭
    にセパレータが残りますし、このパッチが指摘した当初の問題点をそっく
    り再現もします。これでは単に一致するプリフィックスを削除する関数です。

    相対パスの問題はどちらも生じませんでした。

     
  • novice123

    novice123 - 2013-06-30

    更新しました。
    DoModal_GetOpenFileName()を使用する処理で相対パスが必要なときに使いやすいようにしましたが、相対パスに省略してくれるのは背景画像のところだけでした。
    同様にパスを取得する処理で相対パスに変換した方がよいのか、絶対パスのままがいいのかは判断が難しいです(対応する場合は別件になりますが)。

     
  • novice123

    novice123 - 2013-07-05

    [r3219]でcommitしました。

     

    Related

    Commit: [r3219]

  • Moca

    Moca - 2013-07-06
    • status: open --> closed
    • Group: -->
     

Log in to post a comment.