さて、TPaintBoxは、再描画されるとリセットされるのを忘れていました。
再描画されるイベントがあるので、
そこで書き直すという手はあるんですが、
リセットされないコンポーネントがあるので移行します。
PaintBoxを選択して・・・
Deleteキーを押す
TImageコンポーネントを貼り付けて
位置あわせ&257*257にリサイズ
これでコンポーネントは変えられました。
あとはコードです。
With使っといてよかったああああああああああああああああ
with PaintBox1.Canvas do begin
を
with Image1.Canvas do begin
に変えるだけです。
これで実行してボタン押して最小化して戻しても大丈夫。
TImageもTPaintBoxと同じくCanvasプロパティーを持っています。
Canvasプロパティーは、同じくTCanvasクラスですから、
摩り替わっても全く同じ動きをするわけですね。
オブジェクト指向の特徴です。助かった。。。
気を取り直して続きを書きましょう。
ボタンの処理には、あと一つ、
タイマーを開始する処理が必要ですが、
タイマーが完成してからつけましょう。
タイマーは、インターバルプロパティの値ミリ秒経過したら、
onTimerイベントを発生させます。
実は他のイベントは発生させません。
芸の無いやつ。超専門家。
まぁ当然、デフォルトイベントもonTimerになってるので、
コンポーネントのアイコンをダブルクリックしてください。
procedure TForm1.Timer1Timer(Sender: TObject);
begin
end;
こんなのが出ると思います。早速書いていきましょう。
まず変数宣言。
一番上の階層で変数宣言しても良かったのですが(実はグローバル変数っていう
たまには毎回 Labelのテキストから取得したりしてみましょうw
だからそのための変数やらが必要です。
procedure TForm1.Timer1Timer(Sender: TObject);
var
Goma:Integer;
Erai:Integer;
Pai:Single;
begin
end;
コンポーネントにつけた名前と被ってはいけないため、
ちょっと窮屈です。
Goma は 全てのゴマの数
Erai は 円の中のゴマの数
Pai は 暫定での円周率です。
Paiの型はSingle型となっています。
Single型は実数型の一つで、
なんと、小数が扱えます!
ええ てか整数型じゃ円周率「3」で確定やがな。
実数型はけっこう種類があって、
それぞれ「有効桁数」ってのが決まってます。
まぁ、Singleは一番安い奴です。
有効桁数7-8ですが、まぁ、3.14までは表せるからいいよね と。
コード部分はまたあとで
コンテンツ
最新の12件
2023-06-12
2021-02-15
2013-06-19
2012-07-14
2012-02-04
2012-01-06
2011-03-31
2010-08-26
2010-03-15
2009-10-21
2009-02-12
2008-11-18
メニュー編集
- counter: 788
- today: 2
- yesterday: 1
- online: 2