忍者ブログ
http://who7s.blog.shinobi.jp/
×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

標準の描画では、ウィンドウが隠れたりした時、描画されていたものは消えてしまう。
またウィンドウが現れたときのために、再描画を指定しておく必要がある。
ここでは、Paintイベントではなく、ダブルバッファリング(?)を使った例をあげる。

例えば、ボタン(btn1)とピクチャーボックス(pbx1)が配置されているとして、ピクチャーボックスに描画をする場合、次のようなコードになる。

Private Sub btn1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn1.Click

	Dim g As Graphics = AutoGraphics(pbx1)
	//描画処理

End Sub

Public Function AutoGraphics(ByVal src As PictureBox) As Graphics

	If src.Image Is Nothing Then
		src.Image = New Bitmap(src.ClientRectangle.Width, src.ClientRectangle.Height)
	End If

	Return Graphics.FromImage(src.Image)

End Function 

ピクチャーボックスを引数として関数に渡し、その中でImageを生成している。
GraphicsとImageをつなげることで、ダブルバッファリング(?)を行い、再描画することで描画が消えてしまうことを防ぐ。

PR

C言語で、アプリを作成している時、キーボード入力が必要になることがある。
その際、Cの入門書などではscanf()がよく取り上げられるが、実際これを使ったプログラムというのは推奨されていない。
代替として、fgets()で読み取り、sscanf()で解釈させるという方法がある。
しかし、これでもたまにバッファにゴミが残ることがあり、掃除してやる必要があるが、Cでは具体的にストリームバッファをクリアする手段がない。
調べた結果、以下のようなコードで対処することで(完全でないながらも)回避できるようだ。

//一文字入力の場合
int input_key(void){
	char buf[BUF_LEN];
	int c, t;

	fgets(buf, 2, stdin);
	sscanf(buf, "%c", &t);
	if(strchr(buf, '\n') == NULL){
		while((c = getchar()) != '\n' && c != EOF);
	}
	return t;
}

これで良いかは、まだ不明なため、参考程度に。

変数や関数には分かりやすい名前を付けなければならない。
それは他者が読んだ時に理解させやすくするだけでなく、自分自身が後々に見直したときのためでもある。
ここでは、情報の世界でよく使われる単語や、使えそうな単語を列挙していく。

  1. Symbol : 記号
  2. Formula : 公式、論理式
  3. Grammar : 文法
  4. Initial : 初期 - 初期化(initialize)
  5. Terminal : 終端 - 非終端(non-terminal)
  6. Derivation : 導出、由来、起源
  7. Transition : 遷移
  8. Finite : 有限
  9. Configuration : 様相、構成
  10. Accept : 受理
  11. Reject : 拒否
  12. State : 状態
  13. Union, Sum : 和
  14. Intersection, Product : 積
  15. Difference : 差
  16. Complement : 補
  17. Artificial : 人工
  18. Propositional : 命題
  19. Syntax : 文法、構文
  20. Semantic : 意味論的な
近年ではWeb2.0という言葉が頻繁に叫ばれている。
Webのインフラはほぼ整い、これからはWebをどう応用し、どう活用していくかが求められる。
国も情報化を進め(e-japan構想)、情報という分野の重要性は高まるばかりだ。
独立行政法人である情報処理推進機構では、未踏ソフトウェア創造事業としていくつもの有望なプロジェクトが採択されている。

その中で私が一番注目しているものは、Social IMEというものだ。
http://www.social-ime.com/
これは、例えばWikipediaなどの、集合知をIME(Input Method Editer)、文章変換に応用する、というものである。
現在ベータバージョン11が最新版となっており、詳しくは上記URLを参照願いたい。

この試みは非常に面白い。
まさしくWeb2.0を体現する発想だ。
標準でOSに付属するIMEは、あくまで標準的な機能しかなく、最近の流行語や、よく使われる言葉など、時代に沿った変換はとても難しい。
しかし、このSocial IMEのように、人の変換した言葉を蓄積し、それによって改良していくことが出来れば、人が使えば使うほど賢く、そして、時流にあわせた変化が期待できる。
まだまだ発展途上であるので、少し様子を見ているが、これがベータから正式版になった暁には、私も導入したいと思う。

情報分野の進歩は目覚しい。
日々、面白い発想が世界中から溢れてくる。
それはとても刺激的だ。
私も負けないように、柔軟に成長していきたいものだ。
 標準でカテゴリーを備えているブログは数多くあるが、これを一つ(主カテゴリー)しか選べないのが実情だ。
 しかし、時には一つのカテゴリーに含めるには少し戸惑う記事内容の場合がある。
 例えば、このブログを見れば、プログラミングの記事を扱うが、その言語は多岐に渡り、さらに言語に関する記事であったり、アルゴリズムに関する記事であったりとその内容も様々である。
 もし、アルゴリズムの記事を書き、一つの言語でソースを書いたとして、それはどのカテゴリーに分類するか戸惑うことになるだろう。

 色々検索した結果、記事のソースにコメントとしてタグを記述し、メニューにこれを検索するコードを書くことで、擬似的にカテゴリー化することが可能のようだ。
(忍者ブログを対象とするが、応用が可能なブログも多いだろう。FC2等。)

1.
カテゴリー名を決めておく。
例えば、”_C_”であったり”_Java_”という感じ。

2.
記事作成の際、「ソース」をクリックして、HTMLタグで記述するエディタに変える。
そして、記事の最後尾にでも、
<!-- カテゴリー名 -->
とコメント形式で記述しておく。
例: <!-- _Java_ -->

3.
フリースペースでも元あるカテゴリーでも構わないから、HTMLが記述できるところに以下のように書く。
<a href="http://ブログ名.blog.shinobi.jp/Search/?search=カテゴリー名">カテゴリー名</a>
例: <a href="http://ブログ名.blog.shinobi.jp/Search/?search=_Java_">Java</a>

つまりは、記事に検索語を埋め込んで、これを検索する、という形。
だから、残念ながらカテゴリーに何件の記事があるかは表示させられないし、いくつものカテゴリーに属するならそれだけタグを埋め込む手間がかかる。
しかし、複数カテゴリーを扱うことができることは多くの利点もあるため、試す価値は十分だと思われる。
<< 前のページ 次のページ >>
[1]  [2]  [3]  [4]  [5]  [6
カレンダー
03 2017/04 05
S M T W T F S
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30
サブカテゴリー

[プログラミング]

アルゴリズム
C
Java
VisualBasic
PHP
HTML/CSS

最新コメント
プロフィール
HN:
Juan
性別:
男性
自己紹介:
社会人1年目。
システムエンジニア見習いとなるべく勉強中。
カスタマイズに特化したブラウザ Sleipnir。上級者のために。
Mozilla Firefox ブラウザ無料ダウンロード
カウンター
バーコード
BlogParts

Copyight© who7s All Rights Reserved.
Designed by who7s.
忍者ブログ [PR]