お知らせ

電子会議

ライブラリ

パレット

Delphi FAQ検索

Delphi FAQ一覧

サンプル蔵





FDelphi FAQ
16番会議室「玉石混淆みんなで作るSample蔵」に寄せられたサンプル

"パス名・ファイル名を縮小表示する"




パス名やファイル名(その他なんでもですが)を縮小して
表示する関数です。(例: C:\Windows\Sys...\XXXX.EXE)
                                       ^^^
                                       ↑こんな感じに省略します
DELPHI標準の MinimizeName関数 がうまく使えなかったので(^^ゞ
自分で作りました。



function ReductionPathName(Path: string; MaxLength: Integer): string;

// Path: 元のパス名またはファイル名など
// MaxLength: 表示できる文字数の最大数(バイト数)

function ReductionPathName(Path: string; MaxLength: Integer): string;
begin
   Result := Path;
   // 最大バイト数以内ならそのまま返す
   if Length(AnsiString(Path)) <= MaxLength then 
      Exit;
   // 省略記号(...)の文字数分を引いておく
   MaxLength := MaxLength - 3;
   Result := Copy(Path, 1, Round(MaxLength / 2)) + '...' +
             Copy(Path, Length(AnsiString(Path)) + 1 - 
             (MaxLength - Round(MaxLength / 2)), 
             MaxLength - Round(MaxLength / 2));
end;

ほんとにこれでいいのか解りませんが,添削などありましたら
よろしくお願いします。

鯖雄 ( open@pluto.dti.ne.jp URL:http://www.pluto.dti.ne.jp/~open )
1999年3月27日 午後 3:35:05


Original document by 鯖雄            氏 ID:(BYA10307)


ここにあるドキュメントは NIFTY SERVEの Delphi Users' Forum の16番会議室「玉石混淆みんなで作るSample蔵」に投稿されたサンプルです。これらのサンプルはボーランド株式会社がサポートする公式のものではありません。また、必ずしも動作が検証されているものではありません。これらのサンプルを使用したことに起因するいかなる損害も投稿者、およびフォーラムスタッフはその責めを負いません。使用者のリスクの範疇でご使用下さい。

Copyright 1996-2002 Delphi Users' Forum