WizardForm.FilenameLabel
の場合、WizardForm.FilenameLabel
はファイルパスを含む文字列を自動的に切り捨て、先頭にドライブレターを含め、最大表示可能パスを先頭にパスのラベルのサイズに合わせて、ファイル名が常に表示されるようにします。 C:\...\LongFilePathNameWithMultipleSubDirectories\Filename.ext
。Inno Setupファイル名の文字列をFilenameLabelに合わせて短くします
私はLength
、Pos
、Copy
とExtractFileDrive
文字列関数を見て、彼らが望む任意のインストールパスを選択することができるユーザーとして、私は仕事に苦労しています、ほとんど無限の数のパスとファイル名の可能性があることを与えていますファイル名を切り捨てずに、パスの最大長を表示する方法を説明します。
は、私は試合の数と私はどこにからCopy
決定するために、各指標間のLength
を使用することができます意味し、見つかったすべての\
、のためのインデックスを返しますPos
のような機能が必要だと思うが、私はされていませんこれを行う方法を見つけることができます。
したがって、 '...'が切り捨てられる前に、最大の文字数をパスに入れたいのですか? - これは本当に奇妙なことです - 使用されている特定のフォントを検討し、innoソースコードをダウンロードし、cmnfunc.pasのMinimizePathName()でGetTextWidth()でどのように動作するかを調べる必要があります。 –
基本的に、ファイルを解凍するときに、Inno Setupが 'FilenameLabel'の表示をエミュレートしたいのです。したがって、 'C:\ First Folder \ Second Folder \ Third Folder \ Filename.ext'が長すぎて' FilenameLabel'に収まらない場合、 'C:\ ... \ Second Folder \ Third Folder \ Filenameのように切り詰められます。 ext "または' C:\ ... \ Third Folder \ Filename.ext'を入力するだけでなく、可能なパスの最大量を表示することができます。 –
http://www.jrsoftware.org/ishelp/index.php?topic=isxfunc_minimizepathnameのように? –