教えてください。
str:string;
str:='123;456;789;0;12;11111;222222222;333333333';
;区切りデータです。
123
456
789
0
12
11111
222222222
333333333
上記のように編集し参照したいのですが
TStringListの使用法を教えてください。
よろしくお願いいたします。
>上記のように編集し参照したいのですが
>TStringListの使用法を教えてください。
>よろしくお願いいたします。
方法1
・文字列を1文字ずつ検索し、“;”の場所が見つかったら、検索を開始した位置から
“;”の場所が見つかった位置の手前までの文字列を、StringListに追加する。
・文字列の最後まで↑を繰り返す。
方法2
procedure TForm1.Button9Click(Sender: TObject);
var
sl: TStringList;
wk: String;
str: String;
begin
str:='123;456;789;0;12;11111;222222222;333333333';
sl := TStringList.Create;
try
wk := str;
wk := stringReplace(wk, '"', '""', [rfReplaceAll]);
wk := stringReplace(wk, ';', '","', [rfReplaceAll]);
wk := '"' + wk + '"';
sl.CommaText := wk;
finally
sl.Free;
end;
end;
こんにちわ
StringReplace関数で、セミコロンを
カンマに置換し、
[TStringList].CommaText := [String];
で挿入すればどうでしょうか?
で、
[TStringList].Countなどを
用いればいろいろ操作ができると思います。
CommaText よりも
Delimiter := ';';
DelimitedText := '123;456;789;0;12;11111;222222222;333333333';
の方がスマートかと?
> DelimitedText := '123;456;789;0;12;11111;222222222;333333333';
バージョンが書いてないのですが、DelimitedTextは、D6から追加されたようです。
ありがとうございます。
VER6です。
Delimiter := ';';
DelimitedText := '123;456;789;0;12;11111;222222222;333333333';
でうまくできました。
追伸
[TStringList].Count/5
とか計算したいのですが...
extendedとintegerの型変換はできますか?
算術演算子
計算ルーチン
少しは調べなさい
StringList1.Count div 5
でいいかな?
ツイート | ![]() |