FC2ブログ

看板に偽りあり

インターネット完備!

のはずのホテルなんだが、

20080224_1


使えねーな(--#

---
深夜になって多少安定するのかと思ったんだが、

20080224_2


安定っていうのかこれ...
スポンサーサイト

C#で HULFT

ファイルの集配信ソリューションである、HULFT

ファイル転送 - HULFT - TCP/IP 企業内・企業間通信ミドルウェア

セゾン情報システムズの製品で、ファイルによるインタフェースで、システム間の差異を吸収してしまおう、というものである。
1990年代初めあたりから存在している古株で、他社でも同様のソリューションを出しているが、結構メジャーなものである。
(NECではちょっとしょぼいがNISMAILってのがある。)

んでこいつの配信要求APIに、utlsend / utlsendexってぇのがあって、中でもutlsendexではファイル以外に幾つか(50Byteが6個)のメッセージを渡せるようになっている。

マニュアルではこのAPIについて、
ダブルポインタを使用しているのでVBでは使用できない
とある。
が、C#ではなんとかならないこともないので、コード載せておく。(続き:READ MORE)

たぶん、自分では一生使わないような気がするし、他の人の需要も限りなく無さそうだが、HULFT自体の情報も少ないんでとりあえず。
(6とか51とかのマジックナンバは、HULFTのマニュアル参照の事)

続きを読む

C#で GetPrivateProfileSection

過去には十分な実績を誇った、WindowsのINIファイル(イニファイル)なんだが、レジストリの登場で敬遠されるようになり、現在はWin32APIに残骸を残すのみとなった。

んだが、業務系ではまだまだこの廃れたINIファイルを好む輩が多い。
・階層構造表現ができない
・文字コードが特定できない
という面もあるし、何より現在はXMLが使えるのでINIファイルに頼る事など無いんだが、
イニファイルに持たせればいいじゃん
と、簡単に言い放つ。

お前はそれを簡単にメモ帳で開くだろう、そして、簡単に日本語を書き込むんだろう!?
文字コードなんて考えもせずに。

現在のWindowsのメモ帳は(バグもあるけれど)多くの文字コードに対応しており、普通に新規作成で作成したテキストファイルは、UTF-8になる(よな確か)
SJISファイルの編集も可能だし、Unicode(LE/BE/BOM)の編集も可能だ。

しかし読み書きする側で通常は特別意識することはない。
困るのは(というより、実装が面倒なだけなんだが)、GetPrivateProfileSection
指定セクション内のkey=valueを全部取得してくれる関数で、keyが特定できない場合に重宝な関数だ。
この関数は、指定セクション内の記述を、
key=value[\0]key=value[\0]...
と、\0区切りの一つの文字列として返す。(コメント行も含めて)
なので、UTF-8やUnicodeとなると、面倒なんである(__;
んでまぁそれなりに書いて動かすと、文字コードに悩まされるんである。
これもちゃんとした処理の仕方が.Netにはあると思うんだが、探す時間も足りなくて。

コード載せておこうと思ったんだが、業務にも関わるんでちょい控え。

C#でファイルアクセス

C#でのファイルアクセスは、テキストファイルであれば、
System.IO.StreamReader(filename)
が使えるので、これで簡単に済ましちゃうのだけれど、ファイルアクセスに関する各種モードを設定したい時にはちゃんとしなければならない。んで、ヒントが出るのが邪魔をしてなかなか判り難い。
マルチスレッドの場合等、排他モードも設定するような場合は、
System.IO.FileStream fs = new System.IO.FileStream(filename
, System.IO.FileMode.Open
, System.IO.FileAccess.Read
, System.IO.FileShare.Write);
System.IO.StreamReader sr = new System.IO.StreamReader(fs);
のようにOpenしなければならないようだ。
Binaryの場合は、Stream.IO.StreamReaderの代わりに
System.IO.BinaryReader
を使う。書き込みの場合は、FileAccessをWriteにし、StreamWriter/BinaryWriterを使う。

読み込み操作は、
while ((string strLine = sr.Read()) != null) { ...
の様にMSのSampleには書いてあるけれど、System.IO.EndOfFileExceptionのcatchが不要なのかどうかがちょっと怪しいので、System.IO.Exceptionと区別して一応EndOfFileExceptionも置いておく。

とちと面倒な部分があるんだが、マルチスレッド時の排他処理としては、
System.Threading.InterLocked
が用意されているし、ファイル操作に関しては(それ以外のオブジェクトに対しても)
System.Threading.RederWriterLock
が用意されているので、使い方を把握してしまえば悩む事はなさそうだ。

それでもやっぱり、.Net広すぎ。
一つの項目に辿りつくまでに時間がかかるのは、現場での作業にはきっついぜぇ(--;

ちなみに、ToString()が実際どんだけの種類の例外を吐くのかについての記述がいまだに見つけられません。(__;

 

ウマウマ

なんかこういうのも忘れちゃうんで書いておこ。(^^;

なんなんだかとてつもなく大ヒット中(もう遅い?)なのがこの
ウッーウッーウマウマ(゚∀゚)

ニコニコ動画でももの凄い閲覧数。
曲元のCaramellというグループ自身のPVにまで登場する始末。
紹介ページも多数あるのだが、どれもYouTube、ニコ動埋め込みで激重なので、画像だけ貼っておく。

一番詳しくまとまっているのは、
うつせみ日記
2008-02-11■[雑記]「ウッーウッーウマウマ(゚∀゚)」の作者は誰か?

と、
ウッウッーウマウマ(゚∀゚) - behind the counter

これが問題の動画。
umauma1

"ぽぽたん"というアダルトPCゲームの、オープニングのほんの一瞬をループさせて曲を載せただけのものらしい。
そこそこウケはしたようだが、一気に加速したのが
umauma2

このアイドルマスター(?)版。
若干のアクセントが妙にくすぐる。

こういうのが出てくるといつも、「才能やセンスを無駄に浪費」とか言いたがる輩がいるんだが、
これはこれでオケ
だと思う。(^^

んなことやってる場合じゃねーんだが、なごみが無いと仕事もできません。(きっぱり)

ListViewの水平スクロールバーを非表示に

すぐ忘れちゃうんで書いておく

グリッド表示代わりに、ListViewをDetail表示にして、FullRowSelect状態で使う事が多くある。
んでもってデータが増えると縦スクロールバーが勝手に現れてくれるのが有難いんだが、縦スクロールバーがClient領域の内部に現れる事で、横スクロールバーが出ちゃったりする。

横スクロールが必要な場合はこれも有難い機能なんだが、必要の無い場合はちょっと苦労する。
縦スクロールが必要だが横スクロールバーが邪魔な場合、
  1. 縦スクロールバーが現れても横スクロールしないように余裕を持たせる。
  2. 縦スクロールバーが現れる(WM_NCCALCSIZE)時に桁幅をすかさず微調整
  3. スクロールバーを非表示にして外部スクロールバーで制御する

なんてことをしたもんなんだが、
縦スクロールバーが出ることで隠れる部分を無視できるような場合であれば、
---C#---
[DllImport("user32")]
public static extern int ShowScrollBar(IntPtr handle, int wBar, int bShow);
private void xxList_Layout(object sender, LayoutEventArgs e)
{
ShowScrollBar(xxList.Handle, 0, 0); //SB_HORZ, false
}
---

必要なListViewコントロールのLayoutイベントのハンドラを作って、ShowScrollBarを呼ぶだけで、割と綺麗に水平スクロールバーのみが消えてくれる。
(隅っこの方にちょこっと乱れが出るけれど気にしない気にしない)

サンプル画像は面倒なので割愛。

マウスパッド

MPD-EC25SS-BL

今日のブツはコレ。
SANWA SUPPLY MPD-EC25SS-BK

ワイヤレスのマウスを仕事場で使ってたんだが、ノートを下に敷いて使っているとメモが取れない。(^^;
なので、もしかして"ご自由にお持ちください"なんてのが無いかな、とヨドバシ覗いてみた。
残念ながら”ご自由に”は無かったので、よさげな上の写真のを300円程で購入。

ところがこれがまた残念なことに、使っているマウスとの相性が良くない。
つーか全然動かない。 orz
てことでしょうがなくまたノートを下に敷いての作業なのであります。

まぁマウスも古いしね、このパッドも子供が使うだろう。
300円なら叱られないし。(^^;

足りないもの

チミに足りないもの

某所つながりで。

チミに足りないものカード
pdragonの足りないものカード
by ふりーむ! 無料ゲーム/フリーゲーム

でもって、
チミに足りないものカード
f_yamakiの足りないものカード
by ふりーむ! 無料ゲーム/フリーゲーム

なんか激しく当たってる

eneloop

N-TG6SET

仕事中にワイヤレスマウスの電池が切れたのでヨドバシへ。

単四電池2本を買いにいったはずなのに、いつのまにか買っていたこれ。
eneloop:電池・スペーサー付充電器セット N-TG6SET

三洋電機 | eneloop(エネループ) ~暮らしを変える電池~

単三電池4本と単四電池2本、単一と単二のスペーサー(アダプタ)が2個ずつ、単三4本(単四4本)用の充電器、のセットでヨドバシで4,280円。

子供のWiiも困ってたし丁度いいかぁ、と買って帰ったんだが、奥さんの第一声。
「高いんじゃないの?」

うーん、そうは思ったんだけど必要だったし...
「必要なの?このケースみたいなのも?」

そ、それは別に、いや、なんか豪華だし、白くて格好いいし...
「充電器はあるでしょ?」

あるけど、あれは黒いから...

まー要らないっていえば要らないんだけど、並べてみるとほら、格好いいでしょやっぱり。
ちうかもう買っちまったんだし。(^^

SANTANA

SANTANA (1969)

YoutubeでWoodstock(1969)の映像を見っけてしまったので、このCDまた引っ張り出して聞いてみる。

「哀愁のヨーロッパ」以降、”泣き”が強調されるカルロス・サンタナなんだけれども、
Soul Sacrificeに代表されるように、初期のサンタナは吼えまくりんぐである。
Hope your feeling betterあたりまではまだ吼えてたと思うんだが、ラテンの血が泣いちゃぁもうあかんね。(^^;

それでもDire Straitsと同じように、歳とって味でてきたと言えばまぁなんとなく。
2003年?のグラミー賞はちょっと余計だとは思うけれど、個人的にはミシェル・ブランチとの
The Game Of Love
のまったり感は気に入ってるんだ。

まぁ今更Youtubeってのもアレなんだけども、Jeff Beck + Santana + ルカサーの軽井沢のうじゃうじゃってやつも見れたりしてちょっとゆっくり眠れそうな気分。

ニコニコ動画はWiiじゃ見れないんだが、Youtubeはしっかり見れる。
子供にSANTANA見せたが無反応。orz
それではと KISS 見せたがこれまた無反応。orz

なんだかなぁ、”ゆず”とか、”なんとかライダー”とかそういうのがええのんかい貴様らはぁ

次は Sex Pistols 探して見せたろかい

C#でお仕事

C#でのお仕事も大詰めを迎え...てる割にはまだ作ってない部分大杉なんだけれど、ごめんなさい。>関係各位

んで今回の仕事に関しちゃぁ、部類としちゃ失敗に入るかもしれん。

C#(.Net)での業務ってことで、今回はまず言語の学習から入ったわけなんだが、.Net広すぎ。

namespaceはC++で見慣れているとは言っても、ここまで厳しく義務付けられているわけでもなく、C++は所詮、Object指向プログラミング可能な言語ということであり、Object指向によるプログラミング言語ではなかった。
それがJavaやC#となると、Objectありきの構成になる。
これはつまり、Object間でのやりとりを念頭において設計/コーディングしなければならないということ。

と、ここまでは実はC++でもそう変わりない。
厳格ではないにしてもObject指向の意識を持ってないと、それこそ悲惨な目にあってしまうから。
また、Javaと概念的にそう違わない事もあって、構成自体は悩まないはずだったんだが。

じゃぁ一体何が一番困ったのかというと、Visual Studio
Windowsアプリなので当然、画面が出てくるわけなんだが、こいつの(昔で言えば)リソースエディタ。FormのデザインするGUIツール。
こいつがすぐエラーを吐きやがる!

実際の細かい部分はコーディングしてるので、デザインで触りたいのは、
  • コントロールの位置の調整
  • プロパティの変更
  • イベントの追加
程度なのに、こいつときたら、
コンストラクタからLoad時の処理まで走りやがる。
他のObjectの関連もあるので、該当Form単体で上がろうとすると、当然インスタンスが無かったりなんだり。んで真っ赤になって、「表示できません」とのたまう。
そうなってしまうとプロパティも表示してくれなくなる。

ってことで、"いぢってはいけません"とコメントされているDesigner.csをゴリゴリいぢらねばならんす。

とまぁこういう事態になるのは、きっと使い方がまずいのだろうと、コンストラクタでの記述を減らしたり何とかしようと試みたんだが、いや、コンストラクタでこれ記述できないってのはどうなのよ、とまたそこでしばし足踏み。
で、なんだかんだで進捗遅れてます。はい。(__;

そいで本来はいったいどうすべきだったのかっちうと、たぶんC#の思想としちゃあ、
多数のObject間での動作の連携はdelegateで実装する
ってことなんだろうと思う。ちうか思った。

C++からの移行組にとっては多重継承が使えない事への対処としての意味合いが強い”インタフェース”も、実はIndexerと組み合わせると強烈な抽象ツールであって、delegateとの(引数としての)相性もこれまた格別なんである。
だからC#でのスタートは、完全に、Objectからでなければならない。
実装しながらとか、そんな甘い考えで作れるのは入力->出力が単方向の単純アプリケーションくらいだろう。

この言語をもしCOBOLerが使うとしたら...ちょっと考えるのが恐ろしいので暖かくなってから考えることにする。

とまぁ今回はしょうがないんでこのまま力業で進めちゃうけれど、次回はなんとかうまく進められそうなので、またチャンスください。>関係各位

死刑

忙しさにかまけてニュースも見ていなかったら、あっという間に流されてしまったようだが、ここのところ立て続けに死刑執行がなされたようだ。

asahi.com 2008年02月02日の記事
3人に死刑執行、2カ月で再び 法相、異例のペース

現在、生存している(であろうと思われる)死刑確定者は百と余名。
1993年あたり以降の状況が下記から知れる。
死刑確定囚リスト

死刑廃止論者というわけでは無いんだが、この合法的な殺人行為の是非を21世紀の今さら問いたくもない。
それでも、じゃぁどうしたらいいのか、まで考えるには至らず。
それは、自分がもし死刑相当の凶悪な事をしでかしてしまった時、死んで終わりにしたいと思うかもしれないから。その時だけは死刑はあって貰いたい。

今のところ、凶悪犯罪と呼ばれるような事をする予定はないし、しばらくはそういう余裕も暇もないだろうから大丈夫だろうとは思うが。


罪を憎んで、という言葉がすっかり風化してしまった感があるが、被害者意識が重視される昨今では、公然と、「死刑」を要求する被害者(遺族含)も増えてきた。

法律自体が倫理を拠り所としているものなのだから、被害者に対しても倫理を要求すべきだろうと思うんだが、先の死刑執行を許可した鳩山弟は、「世論が」のような事を言ったようだ。


死刑確定囚リストを眺めてみると、背景を背負ったものらしきものや、薬によるもの、性的なもの、などなど事件の内容はバラバラで一括りにはできない。
が、それぞれの被害者が遺族にとって特別な人間であったのと同じように、加害者も誰かにとっての特別な人であったりする。

どちらの立場であったにせよ、特別な人間が居なくなるのは辛いもんだろうと。
それを「世論が」、って、「みんなが殺せというので」って言うなよ。


それでも今後も死刑は執行されるだろうし、死刑判決も出されて行くんだろう。
特別な人を奪われた人達、奪われる順番に怯える人達の事を思うと、

プログラマってのはお気楽やねぇ
と思えてきて、もう少し頑張れるような気がしてきちゃうのは、倫理的にどうなのよ>俺

深夜の用語解説

JK、JCで本当にアクセスが上がるのか実験実験。


JA
農業協同組合(全農)
JB
日本バスプロ協会
JC
日本青年会議所
JD
日本障害者協議会
JE
ジャニーズ・エンタテイメント(ジャニーズ事務所)
JF
漁業協同組合(全漁連)
JG
Johnny Griffin
JH
日本道路公団
JI
Ji
JJ
雑誌JJ
JK
JK フリップフロップ・サーキット
JL
ジョン・レノン
JM
ジョン万次郎
JN

JO

JP

JQ

JR

JS

JT

JU

JV

JW

JX

JY

JZ


だめだっ、燃え尽きますた。 orz
プロフィール

f_yamaki

Author:f_yamaki

アクセスカウンタ
最近の記事
最近のコメント
最近のトラックバック
月別アーカイブ
カテゴリー
ブロとも申請フォーム

この人とブロともになる

ブログ内検索
RSSフィード
リンク