[Delphi] 個人的 逆引き関数リファレンス
トップページへ
※普段使用している関数だけなので数は少ないです
※逆引き、つまり「したいこと」から関数を探す一覧でリンク先はなるべく公式ですが、見つからない場合は諸先輩方のサイトです
※リンクの「記事」は当サイトの別記事です
→Delphi(楽天市場で探す ・ amazonで探す)メニューへ戻る
・改行:Windowsの改行はCRLFなので #13#10
・数字を文字列に→IntToStr
・文字列を数字に→StrToInt
・文字列を数字(整数)にできるかどうか?→TryStrToInt
→サンプル
・年月日、時刻の書式→FormatDateTime
今日の日付のもっとも簡単なサンプル
FormatDateTime('yyyy.m.d', Date())
・現在の日時→Now
・今日→Date
・バリアント型を文字列に→VarToStr
・バリアント型を日付に→VarToDateTime、記事
・文字列を日付型に→StrToDate
・日付の曜日を知りたい→DayOfWeek(ただしSun、日曜等ではなく数字)、記事
・TDateTime型を時・分・秒・ミリ秒に分解→DecodeTime、記事
・通貨の書式→FormatCurr
・文字の検索→AnsiPos
・文字列で円マークが指定した場所にあるか?→IsPathDelimiter
・最後にある区切り文字の位置→LastDelimiter
・チェックリストボックスの一括処理→TCheckListBox.CheckAll
e.g. 一括でチェックを入れる CK_LISTBOX.CheckAll(cbChecked);
一括でチェックをはずす CK_LISTBOX.CheckAll(cbUnchecked);
・大文字を小文字に変換→AnsiLowerCase
・小文字を大文字に変換→AnsiUpperCase
・文字列の置換→StringReplace
・全角か半角か?→ByteType
・パスからファイル名を取り出したい→ExtractFileName
・[便利] ファイル名の拡張子が知りたい→ExtractFileExt *ピリオドあり
・ファイルが存在するか?→FileExists
・フォルダ(ディレクトリ)が存在するか?→DirectoryExists
・パスからドライブ名とフォルダ名(ディレクトリ名)を取り出したい
最後の円マークなし→ExtractFileDir
最後の円マークあり→ExtractFilePath
Delphiのソースコメント(コメントアウト) 公式
一行だけコメント //
複数行のコメントその1 {}
複数行のコメントその2 (* *)
※個人的に {} は中程度までの範囲、 (* *) はより広い範囲で使っています。
算術演算
・切り上げ→Ceil
・奇数か?→Odd
・小数部の切り捨て→Trunc
条件分岐
繰り返し、ループ
→ループ処理のサンプル
出力するテキストファイルの文末の改行を除去したい
目的:Windows以外のOSやMySQLの向けにテキストファイルを出力するため、最後の改行を除去したい
サンプル画像
上・文末に改行がある
(空白行があるように見えます)
下・文末に改行がない
対処法:TMemo型で保存する、もしくはTStringList.LineBreak(公式)を空にして保存する。(あくまでも我流です)
サンプルソースの概要:※解説のためのソースなのでそのままでは動きません。
1 w_honbunの中に保存したい文字列を「行単位で」あらかじめセットしてあるため、必ず改行(#13#10)が入っている状態です。
2 保存の直前に -2 することで文末の改行(#13#10)を除去します。
3 AまたはBどちらかの方法で対処できます。
3-A Memo1に代入して保存すればそのまま文末に改行のないテキストファイルができます。
3-B TStringList型(ここでは w_tsm )の場合は「w_tsm.LineBreak := ”」と改行文字を空にしてから保存をすることで、文末に改行のないテキストファイルができます。
w_tsm: TStringList; Enc: TEncoding; w_honbun: String; begin 省略 w_honbun := Copy( w_honbun , 1, Length( w_honbun ) -2 ); Memo1.Lines.Text := w_honbun; Memo1.Lines.SaveToFile( '\sitemap.txt', Enc); w_tsm.LineBreak := ''; w_tsm.Text := w_honbun; w_tsm.SaveToFile( '\tsm-sitemap.txt', Enc); 省略
実行時のパラメータを参照する
コマンドラインで渡されたパラメータの数→ParamCount
パラメータをコマンドラインから取得→ParamStr
FormCreateイベントで処理を分岐する場合。
FormCreate(Sender: TObject)など var w_para: String; if ParamCount > 0 then begin w_para := ParamStr(1); 処理の分岐 end;
(ただしFormCreateの場合、ボタンの.SetFocusやラジオグループの.ItemIndexを処理することはできません。理由はフォームが表示される前だからです)
ExcelのVBAで自作プログラムを呼ぶ場合
Shell("Del phiで作った自作ソフト.exe opt2", vbNormalFocus)
VBAの実行時にパラメータ(ここでは opt2)を1つ指定し、Delphi製アプリがパラメータを受け取りアップロードする内容(ファイル数、アップロード先)を変更しています。
→Delphiメニューへ戻る