但し、
class function Join(const Separator: string; const Values: IEnumerable): string; overload; static;
詳細はプログラム中のコメントに記述しました。
以下、プログラム
program Project3; {$APPTYPE CONSOLE} {$R *.res} uses System.SysUtils, System.Variants; var s : string; a,b : single; s1,S2: string; elm : TArray; //sh : TStringHelper; begin try { TODO -oUser -cConsole メイン : ここにコードを記述してください } //sh : TStringHelper //オーバーロードの1つ目 //オープン配列を使用した形です。 writeln('overload1:オープン配列'); s := s.Join(',',['ミリー','ハイネ']); write('OK:'); writeln(s); writeln; s1 := '2.17'; s2 := '9.19'; s := s.Join(',',[s1,s2]); write('OK:'); writeln(s); writeln; //文字列以外の型だとうまく出力できないようです。 //空文字が出力されます。 a := 2.17; b := 9.19; s := s.Join(',',[a,b]); write('NG'); writeln(s); writeln; //オーバーロードの2つ目 //文字列配列の結合開始位置(0基数)と数を指定 //この例では、ニーナ,ベルト・サタンと表示します。 //文字列配列作成の為にとりあえず分割 s := 'ドッペ,パックン,ニーナ,ベルト・サタン,キノッピー'; elm := s.Split([',']); writeln('overload2:開始位置と数を指定'); writeln('元の文字列配列'); for s1 in elm do begin writeln(s1); end; writeln('0基数で2番目の文字列から2個の文字列を結合'); s := s.Join(',',elm,2,2); writeln(s); writeln; readln; except on E: Exception do Writeln(E.ClassName, ': ', E.Message); end; end.
実行結果は
です。
0 件のコメント:
コメントを投稿