|
/*========================================================*/ <<<あゆしゃのC言語プログラミング>>> /*========================================================*/ 第417回 SOM4 木構造の作成 発行 2004年1月26日(月曜日) 発行数 約3200 {magclick} /*========================================================*/ はじめに ( 決り文句 ) /*========================================================*/ ・このメールマガジンはまぐまぐさんから発行しています。 ・ジャンルは、マルチメディアのプログラム、C言語です。 ・このメールマガジンは、横60文字で作成しています。 また、インデントはすべて半角スペース4つで構成しています。 ・ここで扱うプログラムは、C言語と半光年以内のものです。 ・登録解除は、まぐまぐさんのホームページでお願いします。 ・まぐまぐさんのバックナンバー(下欄参照)を活用して下さい。 ・ここは私の復習の場です。内容は約1ヶ月内外に私が勉強した 内容になっています。最新の技術があれば、へたれもあります。 ・わかりやすさを優先させる為、たまに嘘があるかもしれません。 /*========================================================*/ ご挨拶 /*========================================================*/ こんにちは。あゆしゃです。 先日、相互紹介依頼が来ました。 ★☆★☆★ 新求職・求人サービス![アクティブウェブ] ★☆★☆★ 日本初の本格的求職広告でお仕事探しを応援しています!! ◇匿名・無料◇ ホームページ、メルマガに加え、求人企業向け新着メールにもご掲載します。 画期的新サービスとして新聞・雑誌で多数紹介、お喜びの声も続々!求人多数 メルマガも好評発行中です→■ http://www.aweb.ne.jp/job/jobpn.htm ■ 求人ですか。 求人といえば、現在プログラマが枯渇しているのですよ。 プログラムを扱える人間が、企業を始め、人材派遣会社にさえ、 いなくなってしまっているのです。 緊急事態が続いています。 急遽、このお話を次回にお送りしましょうか。 笑い話ですので。・・・第3者からしてみれば。 {magclick} /*========================================================*/ 今回のお題 << SOM4 木構造の作成 >> /*========================================================*/ 前回、木構造とデータ構造を切り離して、IDで癒着(ゆちゃく: お互いに深い関係であること。へぇ)させようともくろみましたが 木構造が変にマニアックになってしまったので修正しようと考えま した。 /*========================================================*/ 木構造をクラスとして、データ構造と独立させるのはいいと 思いますが、癒着の方法に問題がありました。 どうしようかと考えていたとき、継承を思い出しました。 ・・・最近のお仕事では普通の C ばっかりだったので、これを さっぱりと忘れていました。 /*========================================================*/ とりあえず、ものを見てください。 実行イメージ http://ayusya.hp.infoseek.co.jp/Image/SOM01.jpg 実行ファイルダウンロード http://ayusya.hp.infoseek.co.jp/Download/SOMonitor01Exe.zip プロジェクトファイルダウンロード(VC7.0) http://ayusya.hp.infoseek.co.jp/Download/SOMonitor01.zip ソースを見るだけなら、VC6.0やメモ帳でも問題ないでしょう。 /*========================================================*/ 一定間隔でインターネットからHTMLを受信して、それを解析し、 内部データに保存しています。 ここでやっていることは、メールアドレス収集プログラムと同じ ようなものです。 データの管理については、CTree クラスを作成し、これを基底 として CItem クラスと CShop クラスを作成しました。 検索のところをなるべくスマートに作りたかったのですが・・・ あまりきれいにはなりませんでした。 まぁ、配列の上限を考えないだけ、マシという感じです。 ブラックボックスとして、忘れましょう。。。 /*========================================================*/ ダイアログの上部にあるテキストボックスに、お店の名前を 入れます。 例では、「あゆしゃ屋」が入力されています。私のお店の名前 です。 このテキストボックスの内容を変更したときに、イベントを 受けて、データを検索に行きます。 データが発見できたら、それをリストコントロールに表示 します。 例では、私のお店の棚は4つであり、それぞれ、 設計図 8000円 相場9600円 残3 需要80% チタン 20円 相場19円 残734 需要64% 鋼 20円 相場20円 残960 需要79% スチール 40円 相場40円 残664 需要44% ということが分かります。 これが分かって何が面白いかというと、在庫が売り切れていない かとか、提示している値段が他のお店よりも低いとか、そういう ことです。 例では、売り切れているものはありませんが、チタンの値段が 相場より高くなってしまっています。きっと他のお店が安売りして いるためでしょう。修正が必要です。 ・・・といったことが、ブラウザなしで分かるのです。 ダイアログのタイマーが1秒ごとに、データが更新されていないか をチェックしに行きます。これでリアルタイムにデータが変わるの です。 ただし、スレッドは全体のデータを調べ上げますので、目的の お店のデータを取得するまでには少し時間がかかります。 {magclick} /*========================================================*/ さいごに /*========================================================*/ あとは、 ・お店の一覧表を表示する ・アイテムの一覧を表示する ・お店の情報を記録として保存し、それを統計する といった楽しみが残っています。 それ以外にも、読み込むだけ読み込んで、捨ててしまっている ページが多いので、その解析処理を入れることも大事ですね。 {magclick} /*========================================================*/ 次回予告 /*========================================================*/ 次回は1月28日(水曜日)に、第418回を送ります。 お題は「中部の事情」 予告どおり、求人についてお話します。 お楽しみに! /*========================================================*/ 最後の決り文句 /*========================================================*/ このメールマガジンは、まぐまぐさんから発行しています。 このメールマガジンを解除したい場合は、まぐまぐさんをご利用 ください。このメルマガのまぐまぐアイディーは最後にあります。 このメールマガジンには広告が挿入されます。 このメールマガジンの内容に文面の引用はありません。 めーらっくすの場合はめーらっくすの利用方に従ってください。 このメールマガジンの内容の、転用、流用、宣伝、リンク、 当事者は笑い事では・・・ なんて大歓迎です。 {magclick} /*========================================================*/ /*========================================================*/ 発行者 あゆしゃ まぐまぐアイディー 0000020674 まぐまぐバックナンバー http://jazz.tegami.com/backnumber/frame.cgi?id=0000020674 あゆしゃの世界 http://ayusya.hp.infoseek.co.jp/ 登録と解除 http://www.mag2.com/m/0000020674.htm ご意見・ご感想・ご質問メール mailto:ayusya@flamenco.plala.or.jp めーらっくす <<過去ログがタイトル別になっています>> http://www.mailux.com/mm_dsp.php?mm_id=MM3E1AEE285AB4F |