お知らせ

電子会議

ライブラリ

パレット

Delphi FAQ検索

Delphi FAQ一覧

サンプル蔵





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

"偽均等割付関数"





「なに、均等割付しろだって?
ここはマスターから取ってきてるから出来る分けないでしょ。」
と言いたいところだが、そのセリフは最後に取っておこう。
よく考えると、出来なくはない。
どうして俺の客はこうも帳票にうるさいのばっかりなんだ。

使用法:
  xxx.Text := Kinto('なんでそこまでこだわるんですか', 50, ' ');


function Kinto(const Source: string; const Width: Integer;
  const Space: string): string;
var
  i: Integer;
  s: array of string;
  tmp: string;
begin
  SetLength(s, 0);
  for i := 1 to Length(Source) do
  begin
    case ByteType(Source, i) of
      mbTrailByte:
      begin
        SetLength(s, Length(s) + 1);
        s[Length(s) - 1] := Copy(Source, i - 1, 2);
      end;
      mbSingleByte:
      begin
        SetLength(s, Length(s) + 1);
        s[Length(s) - 1] := Copy(Source, i, 1);
      end;
    end;
  end;

  Result := Source;

  while Length(Result) < Width do
  begin
    for i := 0 to Length(s) - 2 do
      s[i] := s[i] + Space;

    tmp := '';
    for i := 0 to Length(s) - 1 do
      tmp := tmp + s[i];

    if Length(tmp) > Width then Break;
    Result := tmp;
  end;
end;


2001/07/24(Tue)  かつぼー(CQU00157)
 



Original document by かつぼー        氏 ID:(CQU00157)


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

Copyright 1996-2002 Delphi Users' Forum