[Delphi]小ネタ備忘録
トップページへ
※あくまでも個人の意見です。ですので、正解とはいえません。
Q. Unix系のJan,Febといった文字列を1月,2月といった月数字に変換したい
var mont: TStringList; i_mm: Integer; //月文字→数値変換 mont := TStringList.Create; try mont.CommaText := 'Jan,Feb,Mar,Apr,May,Jun,Jul,Aug,Sep,Oct,Nov,Dec'; i_mm := mont.IndexOf(w_mm) +1; finally mont.Free; end; //月文字→数値変換
TStrings系
Assign = AddStrings
速度はAddStringsが早い可能性
Add = Append
個人的には Add の方が好み。
ちなみにAddの中身は
例 .Insert(ST.Count, S)
*Sは文字列
サンプル TStringListの.CommaTextの使用例
したかった事。
.CommaTextにセットした文字列から、特定の項目だけを引用したい。Copy関数よりラクに処理をしたい。
概要
・タブ区切りの文字列を.CommaTextプロパティにセット
・Showmessageで表示する
・セットした文字列から特定の項目をShowmessageで表示
procedure TF_MAIN.Button1Click(Sender: TObject); var w_values:TStrings; begin w_values := TStringList.Create; try w_values.CommaText := '2023/10/13 07:34 択捉島南東沖 5.0 震度1 2023/10/13 07:40'; showmessage( w_values.CommaText ); showmessage( w_values.Strings[2] ); finally w_values.Free; end; end;か
解説
・.CommaTextにタブで区切れた文字列’2023/10/13 07:34 択捉島南東沖 5.0 震度1 2023/10/13 07:40’をセット
・Showmessageで表示するとカンマ区切りに自動変換されています。
実行例
2023/10/13,07:34,択捉島南東沖,5.0,震度1,2023/10/13,07:40
・.Strings[2]で指定すると3番目の項目を表示(引用)できます。