いつもお世話になってます。
テキストファイルから読み込んだデータに対してカンマを付けてデータを区切り、グリッドに表示をする処理をしようと試みています。
例えば、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;
なにが分からないか、分からないのでとりあえず、文字列の決まった位置にカンマを
入れる例を示します。
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;
えーと様
回答ありがとうございました。
質問が的を得ていませんでしたね。。すいません。
やりたい事は、えーとさんが回答してくれたそのものです。
無事に解決することができました。
今後もよろしくお願いいたします。
最近 insert が好きになって・・・
procedure TForm1.Button1Click(Sender: TObject);
var
s1: string;
begin
s1 := '123456789';
Insert(',', s1, 6);
Insert(',', s1, 2);
Label1.Caption := s1;
end;
ツイート | ![]() |