火曜日, 1月 31, 2006

今日のコーディング

今日はC言語の日
time_tで取って来ているのであろう時刻データがどうやっても合わない。
ファイルに書き込まれている時間ってUTC?JSTどっち?
それとも元のソフトがBUGってるの???

月曜日, 1月 30, 2006

今日のお仕事・・・CRCエラーでディスクが読めず

先週の金曜日から風邪で倒れてたので、久々のお仕事。
お客さんから送られてきたCD-Rがほとんど読めず。
CRCエラー多発でほとんどだめジャン。

PCを2,3台渡り歩き、外付けのUSB接続CD-Rなども試したけど、駄目な物は駄目?

と思って家にもって帰ってきて読み込もうとチャレンジしてみたら、
なんとまぁ、数あるPCのうちの1台だが、何とか読めてしまった。
CD-Rメディアと焼いたドライブと、読み込むドライブのそれぞれの相性の問題なんだろうか?

今日はまったくコーディングなし。

木曜日, 1月 26, 2006

今日のお仕事

もうすぐ会社がお引越しするのがが、その前に書類2割削減といわれているため、キングファイル10冊程度を廃棄。
午後は、銀座に本社のある某メーカで打ち合わせ。
ほとんど声が出ないので、だんまりで押し通す(こら)
雑談ネタならいっぱいあったのに、喋れない&ボケられないのは辛いかも(^^ゞ

水曜日, 1月 25, 2006

今日は仕事してないか?

本日のお仕事。

某所のLinuxに遠隔でログイン。
DiskFullでデータが書き込みできなくなっているみたいなので対応。
通常のログは空き容量をチェックして、古いのから順に消すように作っていたが、
異常ログは消去しないでそのまま残しておく仕様。
ところが、異常が多発?(入力データのチャタリングの可能性大)で大量の異常ログが。
とりあえず消しておいたが、原因を取り除かないとまずいなぁ。。。
とりあえず、前日の異常ログはこっそり消去するようにシェルを書いてcronで実行するように細工。

今日いじったファイル。
/etc/crontab

火曜日, 1月 24, 2006

今日のコーディング(ダイアログの特定のテキストの文字色)

ダイアログのエディットコントロールの背景色を変えたら文字が見えなくなった。
で、ついでに背景色に合わせて文字の色も変えてみようって事で、コーディング。

WM_CTLCOLORメッセージを追加して、OnCtlColorハンドル内で以下のコードで対応

if( pWnd && pWnd->GetDlgCtrlID() == 変更したいコントロールのID
  pDC->SetTextColor(RGB(255,0,0));

月曜日, 1月 23, 2006

今日のコーディング(VBネットワーク)

VBでネットワークの切断を検知する部分を作成。
ちゃんとicmpを使う方法と、pingコマンドの返り文字列で判断するサンプルコードを見つけテスト。
人のサポートだから結構いい加減なもんだ(ぉぃ)

VCの方では、2度目の実行で値がちゃんとセットされないBUGに悩む。
いまだに原因がわからん。
テスト環境の方は、ftpサーバーの設定が間違っており、登録したユーザーから指定ディレクトリに
データが書き込めなかったことが、うまく動かなかった原因と判明。<だっさー

金曜日, 1月 20, 2006

今日のコーディング(タイトルバーのドキュメント名)

お仕事で改造中のWindowsアプリのMainFrameのタイトルバーに、こちらでは指定していない訳のわからないものが出ていたので調べてみたら、DocumentクラスのTitleが書かれていただけだったのね。
人様の書いたプログラムの改造って、どこで何を指定してるかわからないから書き込んでいるところを探していたら、何のことは無い、Windowsアプリの生成時に勝手につけられてただけだったのね。
Documentクラスで空白をSetTitleして消去っと。

VC++とVB.netで2本並行してプログラム書いてるから訳判らなくなってきている今日この頃。

かなりヤバイBUG発見?

人様が作ったソフトのBUG改修(回収ともいう)を依頼されているんだけど、
かなりヤバイBUGを発見してしまった。
依頼を受けた分以外にも波及しそうなので、見なかったことにしよう(ぉぃ)

いろんなソフトで共通で使ってるインクルードファイルの定義が・・・・・

水曜日, 1月 18, 2006

家の催促マシン起動せず(汗)

最近起動頻度が低くなってきているうちの催促(最速)マシンを久々に起動したら、WindowsXPのロゴから先へすすまん。
やっぱ今日は駄目だ。
寝る。

火曜日, 1月 17, 2006

今日もGPSのお話

今日もGPSのお話。
GPSのデータをパソコンで取り込むと、ほとんどの場合、NMEA-0183フォーマットのTEXTデータとして取り込むことになります。
この情報には、日付データ、時刻データや、受信している衛星の数と角度等があります。
GPS受信機により4個以上のGPS衛星からの距離を同時に知ることにより、いわゆる地図情報としての緯度、経度として自分の位置を決定することができます。GPS衛星からの距離は、GPS衛星から発信された時刻データをもとに、その電波が受信機に到達するまでに要した時間から求めることが出来ます。
いじょ。

月曜日, 1月 16, 2006

今日はGPSと地図ソフトの話

地図のデータは日本国内では日本測地系(TOKYO測地系)と世界測地系ってのがあって、
最近では、GPSの普及に伴ない、日本でも世界測地系が使われるようになってきております。
しかーし、最近でもPC用に販売されているソフトでGPS対応にもかかわらず、日本測地系のみの対応ってのもあります。
日本測地系の経緯度で表されている地点を,世界測地系の経緯度で表すと,東京付近では,経度が約-12秒,緯度が約+12秒変化します。これを距離に換算すると,北西方向へ約450mずれることに相当します。
こいつは、緯度、経度によって変化しますので、変換するには単純にずらせば良いってもんじゃないので、チト面倒。
何でこんな事を書いてるかっていうと、GPSアンテナをTOKYO測地系に設定したまま、北米でGPSデータを取得しちゃって、これを世界測地系に変換しなきゃならなくて大変だったってこと。
GPSと測地系でググッてみると変換式やら近似式なんか出てくるんで、それで変換してみたけどいまいち。

結局、米国で入手した地図ソフト(Microsoft Streets&Trips)で手動Mapマッチングさせる羽目に・・・ http://www.microsoft.com/streets/products.aspx

大変だぁ・・・

金曜日, 1月 13, 2006

今日はお仕事メモ(その2)

今日もVC++のTips

ダイアログのボタンの文字の色を変えてみる。

リソースエディタで、ボタンの種類を「オーナードロー」にする。
クラスにWindowsメッセージハンドラ(WM_DRAWITEM)を追加する。
クラスを選んで右クリックして、Windowsメッセージハンドラの追加を行う。
どこかで以下のボタン色RGBを定義しておいて、必要に応じてこのRGB値で色を制御する。

m_btn_text_color_R
m_btn_text_color_G
m_btn_text_color_B

void XXXXXXXX::OnDrawItem(int nIDCtl, LPDRAWITEMSTRUCT lpDrawItemStruct)
{
// TODO: この位置にメッセージ ハンドラ用のコードを追加するかまたはデフォルトの処理を呼び出してください
if( nIDCtl == IDC_BTN_NEXT ) {
CDC* pDC = CDC::FromHandle(lpDrawItemStruct->hDC);
UINT state = DFCS_BUTTONPUSH;
if ( lpDrawItemStruct->itemState & ODS_SELECTED ) state |= DFCS_PUSHED; // 凹む
pDC->DrawFrameControl(&lpDrawItemStruct->rcItem, DFC_BUTTON, state);
pDC->SetTextColor(RGB(m_btn_text_color_R, m_btn_text_color_G, m_btn_text_color_B));
CString caption;
GetDlgItem(nIDCtl)->GetWindowText(caption);
pDC->DrawText(caption,&lpDrawItemStruct->rcItem, DT_SINGLELINE | DT_CENTER | DT_VCENTER);
} else {
CDialog::OnDrawItem(nIDCtl, lpDrawItemStruct);
}
}

木曜日, 1月 12, 2006

今日はお仕事メモ(その1)

VC++のTipsメモ

ファイル名の分割
char drive[_MAX_DRIVE];
char dir[_MAX_DIR];
char fname[_MAX_FNAME];
char ext[_MAX_EXT];

_splitpath( a_filename, drive, dir, fname, ext );

a_filename:元のフルパスのファイル名
drive:ドライブ名
dir:ディレクトリパス名
fname:ファイル名
ext:拡張子

で、こんな風にして、拡張子の違うファイルをSAVEダイアログに表示させる。

m_paramCsvFileName.Format("%s",fname);

// TODO: この位置にコマンド ハンドラ用のコードを追加してください
CFileDialog saveParamDlg(FALSE, // ファイルを開く
"csv", // 拡張子
m_paramCsvFileName, // 初期ファイル
OFN_HIDEREADONLY|OFN_OVERWRITEPROMPT, // フラグ
"csvデータ(*.csv)|*.csv|全て(*.*)|*.*||", // フィルタ
NULL);
// 親ウインド
saveParamDlg.m_ofn.lpstrInitialDir = m_paramFilePath; // 初期ディレクトリ
saveParamDlg.m_ofn.lpstrTitle = "設定ファイルのCSV出力" ;

水曜日, 1月 11, 2006

だから言わんこっちゃない・・・

お客さんに提出する報告書のデータの件で一もめ。
海外で取得したGPSのデータをフォーマット変換して提出するんだけど、
この時刻データの件でちょっと問題。

元々GPSのデータでは時刻がUTC(GMT)なので、そのままデータを作ったんだけど、
打ち合わせの時に現地時刻に決まったから、時刻を直して欲しいって言われた。
おいら打ち合わせの時にそんな事聞いてないので、そんなの聞いてないから
客先に確認して欲しいと要求してみたんだが、打合せで決まったんだからと突っぱねられた。

で、別件のついでにお客さんにメールで確認したら、UTCにして欲しいとの回答・・・・

人に余計な仕事させておいて、間違ってたことの謝罪してこない奴は嫌いだ。

土曜日, 1月 07, 2006

こっちも更新中

年末から年始にかけてあっちこっちからトラブルの対応依頼が来ててんてこ舞いざんす。

水曜日, 1月 04, 2006

今日のDVD

交渉人真下正義
ニッポン無責任時代
ニッポン無責任野郎