2017-07-13 2 views
1

WizardForm.FilenameLabelの場合、WizardForm.FilenameLabelはファイルパスを含む文字列を自動的に切り捨て、先頭にドライブレターを含め、最大表示可能パスを先頭にパスのラベルのサイズに合わせて、ファイル名が常に表示されるようにします。 C:\...\LongFilePathNameWithMultipleSubDirectories\Filename.extInno Setupファイル名の文字列をFilenameLabelに合わせて短くします

私はLengthPosCopyExtractFileDrive文字列関数を見て、彼らが望む任意のインストールパスを選択することができるユーザーとして、私は仕事に苦労しています、ほとんど無限の数のパスとファイル名の可能性があることを与えていますファイル名を切り捨てずに、パスの最大長を表示する方法を説明します。

は、私は試合の数と私はどこにからCopy決定するために、各指標間のLengthを使用することができます意味し、見つかったすべての\、のためのインデックスを返しますPosのような機能が必要だと思うが、私はされていませんこれを行う方法を見つけることができます。

+0

したがって、 '...'が切り捨てられる前に、最大の文字数をパスに入れたいのですか? - これは本当に奇妙なことです - 使用されている特定のフォントを検討し、innoソースコードをダウンロードし、cmnfunc.pasのMinimizePathName()でGetTextWidth()でどのように動作するかを調べる必要があります。 –

+0

基本的に、ファイルを解凍するときに、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'を入力するだけでなく、可能なパスの最大量を表示することができます。 –

+1

http://www.jrsoftware.org/ishelp/index.php?topic=isxfunc_minimizepathnameのように? –

答えて

3

MinimizePathName()関数はスクリプト作成に使用できます。文字列&を受け取り、指定されたフォントのピクセル数に収まるように再フォーマットされた文字列を返します。

関連する問題