無節操なリファレンス Delphi編
ふむ、Borlandのページにもまとめてあるのね:
http://www.borland.co.jp/tips/delphi/dh002/dh_27.html
VBの命令との対比があって、わかりやすい。どうのこうのいって、VBのコマンド理解してるんだな(苦笑)
http://homepage2.nifty.com/boheme/delphi/vbtodel/delvb.html
現在:40件の説明が無造作にならべられてます。
配列Xを0〜Nまで定義 | x : array [0..N] of
変数型; 値を代入するときは、まとめて記載して x : array [0..N] of 変数型=(A1,A2,A3,A4・・・); とする手もある。 |
変数代入 | 変数名:=値 通常は、 |
変数の型定義 | var 変数名:形 |
文字列 | 型としては、Stringになる(あたりまえ)。シングルクォートで囲む ダブルクォートだとエラーでます。 |
関数1(procedure) | Procedure フォーム名.コンポーネント名
イベントの種類(引数) procedure は、日本語訳すると、手続きという意味で、関数と言ってしまうと、御幣があるんだとさ。 functionは返り値をもつ・・・のかな?たしかそうだとおもう。 procedure
関数名();をprivate(または、public)宣言の中で行う。 private ってなってるところですな。で、メイン(?)に、procedure
フォーム名.関数名()を書いてBegin〜End;の中にかく。呼び出しは関数名()と書けばよし。 |
文字→数値 | 数値変数=StrToInt(文字変数か文字列) |
数値→文字 | 文字変数=IntToStr(数値変数か、数) |
各コンポーネントのプロパティ変更 | コンポーネント名.プロパティ=値 例:コンポーネント名.width=横幅 コンポーネント名.Color=色 |
警告窓 | showmessage('文字列'ないし、文字変数) |
条件分岐 | IF文の使い方は、ちょっとクセがありますね。気をつけるのは、ELSEの前・・・つまり、IF文の処理の最後のENDには、セミコロンはつけないということです。ELSEがない場合は、つけます変なの(ただし、真・偽のときの処理が一つしかない場合、Begin〜Endは省略可能になります)。 IF A=0 THEN
等式は、==でなく=になる。 |
16進数表記 | あたまに$をつける |
with.・・・do | 特定のコンポーネントに対して、処理を行うときに、endまでの処理において、コンポーネント名を省略する(の?)。複数もOK。以下参考(http://hp.vector.co.jp/authors/VA015850/program/dtips16.html)Form2.Flag.Flag1 := Form3.CheckBox1.Checked; Form2.Flag.Flag2 := Form3.CheckBox2.Checked; Form2.Flag.Flag3 := Form3.CheckBox3.Checked; Form2.Flag.Flag4 := Form3.CheckBox4.Checked; Form2.Flag.Flag5 := Form3.CheckBox5.Checked; ↓ with Form2.Flag, Form3 do begin Flag1 := CheckBox1.Checked; Flag2 := CheckBox2.Checked; Flag3 := CheckBox3.Checked; Flag4 := CheckBox4.Checked; Flag5 := CheckBox5.Checked; end; 現段階で複数利用は未使用(情報のみ) |
TMemoコンポーネント | コンポーネント名.Lines[行数]で配列みたいに考えることができる |
コンポーネントに書かれたものの保存 | コンポーネント名.SaveToFile('ファイル名') |
ファイルを読みこんでコンポーネントに与える | コンポーネント名.LoadToFile(’ファイル名’) |
乱数 | Form作成時(Createの中で)randomize;関数を用いる。 で、乱数の発生をホントの乱数にする 変数=random(最大値)で、乱数発生 |
変数のスコープ | Implementation内で定義→Private Interface内で定義→Public 関数内で定義する場合、beginの前にかく。 |
構造体 | AのB(C,D,E)のデータ Type 以上のように構造体Aについて設定できる。 |
クラス | 構造体内部に関数をもつようになったもの。意味不明?ごめん、説明できない。 |
ComboBox | の参照位置 変数:=コンポーネント名.ItemsIndex; 数値扱いなので、showmessageで確認するときは、IntToStrで文字化する。 なお、コンボボックスの内容・・・HTMLだとOPTIONにあたる個所はプロパティの中のItemsをクリックすると、エディタが出てくる。 今参照させてるOPTIONの番号を確認するのは、簡単にできるんだけど・・・番号を確認するときは、 数値変数:=ComboBox名.ItemIndex; また、参照されてる文字を調べたければ 文字変数:=ComboBox名.Items[ComboBox名.ItemIndex] でOK.。つまり、ComboBox.Items[番号]は、配列のように参照できる、ということですね。多分、ListBoxも同様にできると思う。HTMLでいえば、SELECTでSIZE指定して縦幅を増やすようなかんじですね。 |
Edit | の値は、Textをとる。Labelだと、Captionでしたねぇ。 |
close | その窓を閉じる命令です。 |
関数内での変数定義 | procedureとbeginの間に、定義する。関数内でつかうFOR文のループ変数も定義する。忘れずに |
関数から出る | ←この書き方でわかるかな?多分、Exit;でいいんだと思う。 |
画像参照(ファイルから) | If OpenPictureDialog1.Execute then Image1.Picture.LoadFromFile(OpenPictureDialog1.FileName); OpenPictureDialog1というインスペクトが存在するときに、Image1という画像インスペクトの上に表示するときは以上の書き方になる。 |
CHECKBOXとRADIOBOX | まぁ、Checkedがtrueか、falseをとるわけだ。問題はRadio.boxの場合。同じグループで、一つと選ぶわけだから。そういうときは、RadioGroupeというコンポーネントがあるんで、それを表示して、その上に、RadioBoxをのせてあげる・・・のですね、多分。 |
ポップアップメニュー | ポップアップメニューは右クリックの処理です。FORM上に配置しても実行されない非表示のコンポーネントの一つです。メニューを設定するような感覚でやってください。メニューと共有することが多いので、その場合、同じ関数を実行するようにイベントを選んでください。 |
スクロールバー | スクロールバーで数値入力するってヤツありますね。これ、スクロールバーのコンポーネントで、MaxとMinを指定してあげます。で、それぞれの値を知りたいときは、 数値変数:=ScrollBar1.Position;でOK こいつ、3つ用意して、色を作りたいとき、たとえば、Panel1の色を編かさせるなら Panerl1.Color:=RGB(ScrollBar1.Position, ScrollBar2.Position, ScrollBar3.Position); なんて具合。動いてすぐに変化させるなら、イベントのところをonChangeで指定して関数書くよろし。ただ、色の指定が、Blue,Green、Redの順なんですねぇ〜 |
SPLIT・・・つか文字列を適当な文字で分けて配列にいれる。 | これがわからんと、データ保存できんやん(−−;というわけで、探そう! http://homepage1.nifty.com/bmonkey/delphi/delphi.html コンポーネントでは、Splitができるものも存在する。また、以下にあげるのは、ココで見つけた。ぶうかさん自作の関数。他にも一年生Home Pageさんの自作関数であるこれもほぼ同様の働きをもつ。 カンマ区切りの文字列から指定番目の文字列を切り取る ■ソース function CutData(Src:
String; Num: Integer): String; |
コントロール・・・コンポーネントを一括して、配列として認識する | http://www.asahi-net.or.jp/~HA3T-NKMR/tips002.htm ここ参照。JSで、FORMをNAMEで参照する場合と、配列で参照する場合が、ある。後者を使う方が、添え字を用いれて楽なわけ。上記URLの文章は自分なりにあとでまとめる。 |
文字列の置き換え | 現段階で未使用(情報のみ) Delphi4から、文字列の置換を行なう「StringReplace」という関数が追加されました。 StringReplace(対象文字列 , 置き換え前の文字列 , 置き換え後の文字列 , オプションフラグ) オプションフラグは文字列全体を対象とさせるrfReplaceAllと、
英大文字小文字を無視して置換するrfIgnoreCaseを指定します。 例) |
色変数(笑)を文字にする | ColorToString |
16進数変換 | IntToHex |
文字列の挿入 |
|
文字の長さ |
|
文字列から、指定文字を探し出す |
|
関数(function) | 関数は、必ず、その関数を使うメインプログラムよりも前で、定義しなくてはなりません。
function は、処理の結果を、返すことのできる関数です。結果は、Result に、代入します。以下、書式です。
それでは、実際の例です。
|
集合型、レコード型 | レコード型は構造体のところでも説明済み。 http://isweb21.infoseek.co.jp/computer/wblue/prog/c2_03.htm わかりやすいと思う。後日まとめます。 |
[Q]共有イベントでどのボタン(コントロール)から呼ばれたかを調べるには? | http://www2.biglobe.ne.jp/~sakai/gensfaq2.htm#a001 ふうん、タグプロパティってこういうときにつかうんだね。ある関数Aにおいて、複数のイベントからよびだされたとき、どのイベントから呼び出されたか?(Bというボタン、Cというボタン、Dというコンボボックスのセレクト)・・・それら複数のイベントから呼び出されたときに、Aの関数内で、これは、ここからきたやつだな?ってかんじで見分けるのに、Tagを使うそうです、はい。 |
CSVファイルのインポート、アウトプット | カンマ区切りの・・・のところで、利用させていただいた、ぶうかさん自作の関数でデータベース用の自作関数をオープンソースで公開してくださってます。ありがたや〜ありがたや〜。 |
|
|||
|