忍者ブログ
暇人おやじの暇なつぶやき
[1] [2] [3] [4] [5] [6] [7] [8] [9]
×

[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という形式が一番よかったのに、、と思う今日この頃なのだ



忍者ブログ [PR]
カレンダー
08 2024/09 10
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
フリーエリア
最新CM
最新TB
プロフィール
HN:
忍者 シオ才
性別:
非公開
バーコード
ブログ内検索