暇人おやじの暇なつぶやき
× [PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。
もう2011年の7月に突入だ
今年は3月に東日本大震災が発生してから、月日の経つのがとても早く感じる 否、それは震災のせいではなく、自身が無職であるからかもしれない 昨年の11月以降、職を探してネットサーフィンの日々である しかし簡単にデータの山から見つけるのは困難だ たいてい月曜に更新される転職アルバイト情報を見て、応募し、面接となる 応募の際にはWeb応募や履歴書送付とう様々だが、かれこれ40通は履歴書を書いたかと思う 40を超えてからの転職はそう簡単ではない ましてや新しい分野にチャレンジするには相当な覚悟が必要であろう なので最近は前職をいかした仕事を探す毎日となる 早く見つけて収入を得ないと、自己破産が待ち構えているのかもしれないと思う今日この頃 みなさん、いかがお過ごしでしょうか(長い前文) さて、震災復興大臣さんの発言がはなはだ遺憾だ! なんだあの上から目線の物言いは! まぁもともと九州の土建屋の親分らしいが、ひどすぎる これで国会はまた空転だろうが、これも狙いなのかもしれないと菅チョクト、おそるべし計略 まぁ、かれは辞めるとは一言もいってなく、責任を若い人に引き継ぐとしか言ってないんだよね それも、震災の責任 だから、任期いっぱいは総理やると思う やめたところで、まともな人はいないからなぁ今の職業政治家には みんな金儲けしか頭にないでしょ この国は戦後復興はすばらしかったのに、あきらかにおかしい方向にいっちゃったよね そろそろ日本終わりにしても、過去散って行った人たちは文句はいわないんじゃないかな PR
■bool値はStringで判定か?
久しぶりのC++である そのためいろんな事を忘れているようだ 中でもif文による判定を行おうとしたところうまくいかない どうなるかというと、全てTrueになる コードはいたってシンプル bool ^ flg1 = true; if ( flg1) { Console::WriteLine("true"); } else { Console::WriteLine("False"); }; このコードのbool値であるflg1にfalseをセットしてもコンソールに表示されるのは true はて、判定がおかしいのかと思い様々HPを見るtも、構文はおかしくないようだ そこで色々と試行錯誤して判定部分のコードを次のコードにすることで意図した判定にたどり着いた if ( flg1->ToString () == flg1->TrueString) つまりこれは、flg1にセットされている文字列を比較しているわけだが、bool値ってfalseだったらifの判定はfalseを返すものではなかったか??? またif(flg1==true)という比較をいれてもエラーとなる 疑問の余地ありのC++である
■フォルダー監視とかって、フリーソフトを探したものだ
FileSystemWatcherってコンポーネントがアル これってめちゃくちゃ簡単にファイルやフォルダーの監視を行なってくれる 作成、削除、リネーム等々 恐ろしく簡単に監視ができる Public Class Form1 Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click FileSystemWatcher1.Path = TextBox1.Text FileSystemWatcher1.EnableRaisingEvents = True End Sub Private Sub FileSystemWatcher1_Changed(ByVal sender As System.Object, ByVal e As System.IO.FileSystemEventArgs) Handles FileSystemWatcher1.Changed MsgBox("Changed:" & e.Name) End Sub Private Sub FileSystemWatcher1_Created(ByVal sender As System.Object, ByVal e As System.IO.FileSystemEventArgs) Handles FileSystemWatcher1.Created MsgBox("Created:" & e.Name) End Sub Private Sub FileSystemWatcher1_Deleted(ByVal sender As System.Object, ByVal e As System.IO.FileSystemEventArgs) Handles FileSystemWatcher1.Deleted MsgBox("Deleted:" & e.Name) End Sub Private Sub FileSystemWatcher1_Renamed(ByVal sender As System.Object, ByVal e As System.IO.RenamedEventArgs) Handles FileSystemWatcher1.Renamed MsgBox("Renamed:" & e.Name) End Sub Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click FileSystemWatcher1.EnableRaisingEvents = False End Sub End Class
■デバッグモードとリリース
プログラムを開発しているときは何かとデータ確認のために変数の中身を表示したり、ファイルに書き出すなどしてどのような値が入っているのか見ることが多々ある debug.print というコマンドは簡単にこれを実現してくれるが、大量のデータの場合見るのが厄介だ そこでファイル出力となるわけだが しかし、このプログラムをリリースする時にはファイル出力のコードは削除しなければならない 各所にあればこれを削除するだけでも大変な労力を有する そこで、条件コンパイルを行なう 条件コンパイルは、例えばDebugモードの時にはコンパイルするが、Releaseモードではそのコード自体がコンパイルされない その為出来上がったプログラムの大きさに影響はない 次のコードは、フォームのロード中にその判定を行なっているものだ Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load #If DEBUG Then Label1.ForeColor = Color.Red Label1.Text = "現在はDebugモードで実行しています!" #Else Label1.ForeColor = Color.Blue Label1.Text = "現在はReleaseモードで実行しています!" #End If End Sub この「#」で始まっているIF文が条件コンパイルの一つ では、この条件はどこで設定するか? それは「ビルド」ニューの「構成マネージャ」から設定する ここで構成を変えればいいわけだ
■データの保守の重要性を知る
IISでSMTPを運用する場合にメールの中継を許可するか否の設定がある 中継を許可するとき、IISはそのメールが送信できなかった時には送信者に返信し BadMail(Drop?)フォルダにコピーする この仕組みは不明なメールを拾い上げることができるが、大量のスパムがあった場合 フォルダには大量のごみのやまとなり、フォルダを開くことさえ出来なくなる この影響はSMTP自身にも及び、時にメールの送信がout of memoryを引き起こす 自IISでメール送信などのシステムを組んでいる場合には注意が必要だ 注意といっても、1週間に一度フォルダを確認し、不明なメールがあれば消すことしか出来ない が、この保守を怠るとSMTP自体が機能しなくなる さて、大量にコピーされたゴミを削除するにはゴミ箱へ・・・ところがフォルダを開く途中で 反応がなくなるから困った 仕方ないDOS窓ひらいてERASEコマンドで削除と相成るのだ
■My.Settingでデータ保存 はどこに保存されるか?その2
My.Settingにはユーザーデータとアプリデータの2種類が存在する ユーザーデータの保存場所は、Local・・・というシステムドライブ上であった では、アプリデータはどこに保存されるか? これは、プログラム名.configファイルをアプリケーションと同じフォルダに置くことで利用することができる
■My.Settingでデータ保存 はどこに保存されるか?
まず、My.Settingの設定から見てみよう これを設定するには、ソリューションからMyProjectを開き、「設定」項目にて指定する 名前欄に設定したい項目名を、型、スコープ、値を指定する が、これらはアプリケーションレベルでの設定となる ユーザー設定を利用する場合の設定値は次の場所に保存される C:\Documents and Settings\ログインユーザー名\Local Settings\Application Data\会社名\アプリ名_Url_dwrkyg2yrbwddo43qxdwco2zxv5g4jqf\1.0.0.0 (青文字部分は予想というか修正) ファイル名はuser.config 場所の最終フォルダが1.0.0.0ということで、これはビルド名(AssemblyVersion)と考えられるので、ビルド(発行)を重ねるごとに、場所も変わるであろうことが予想つく そして、このファイルを消せば、設定内容は初期値が利用できるのだ それにしても C:\Documents and Settings が使われるということは、システムドライブ固定なのであろうか、レジストリよりはマシなのか・・・ プログラムのインストール、実行ではインストールフォルダを消せば綺麗にアンインストールできるのが一番シンプルで分かりやすいと思うので、これら設定ファイルもプログラムと同一フォルダのプログラム名.iniという形式が一番よかったのに、、と思う今日この頃なのだ |
カレンダー
カテゴリー
フリーエリア
最新CM
最新TB
ブログ内検索
|