文字列にカンマ編集をつけて表示するには?

解決


TAROU  2007-02-01 21:32:00  No: 24716

いつもお世話になってます。
テキストファイルから読み込んだデータに対してカンマを付けてデータを区切り、グリッドに表示をする処理をしようと試みています。

例えば、1レコードのデータが  '123456789'
と入っているとすると、1と2の間にカンマ、5と6の間にカンマを入れたいのです。Delimiterを使って区切り文字を指定すると思うのですが。。。
現状のソースを下に列挙いたします
var
 Strlist:TStringList;
 F:TextFile;
 i:integer;
 str:string;
begin
  try
    AssignFile(F,FileName);
    Reset(F);
//    StringGrid1.Rows.QuoteChar:=
//    StringGrid1.Rows.Delimiter:=
    i:=0;
    while not Eof(F) do begin
      Readln(F,str);                             
      StringGrid1.Rows[i].DelimitedText:=str;  
      Inc(i);                                           
    end;
  finally
    CloseFile(F);         
  end;
end;


えーと  2007-02-02 03:06:50  No: 24717

なにが分からないか、分からないのでとりあえず、文字列の決まった位置にカンマを
入れる例を示します。

procedure TForm1.Button1Click(Sender: TObject);
var
  s1, s2: string;
begin
  s1 := '123456789';
  s2 := s1[1] + ','+Copy(s1,2,4) + ','+Copy(s1, 6, Length(s1));
  Label1.Caption := s2;
end;


TAROU  2007-02-02 23:11:32  No: 24718

えーと様
回答ありがとうございました。
質問が的を得ていませんでしたね。。すいません。
やりたい事は、えーとさんが回答してくれたそのものです。
無事に解決することができました。
今後もよろしくお願いいたします。


orz  2007-02-03 02:52:17  No: 24719

最近 insert が好きになって・・・
procedure TForm1.Button1Click(Sender: TObject);
var
  s1: string;
begin
  s1 := '123456789';
  Insert(',', s1, 6);
  Insert(',', s1, 2);
  Label1.Caption := s1;
end;


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加