更新日付

最新投稿:大浦神社
投稿日:2026年4月13日
追記:吉備津彦神社
追記日:2026年5月7日
 火縄銃演武

2020年7月6日月曜日

親父殿

久々の投稿ですねw
親父(80歳)のネタでも。

まず、本年正月に孫(親父からするとひ孫)が生まれまして。
それもなんだかんだと大騒ぎだったのですがw

ひと段落して、妻とドライブ中に携帯から着信。
出てみると眼科病院から。
親父が白内障の手術を受けるから説明を聞きに来てと。
全く聞いていない話w
親父一人で行って話をしてたみたい。
で、親族にもというわけで電話が。
前もって言ってほしかったなぁ・・・

数日後、店の業態変更に合わせ整理等を親父とやっていたわけですが。
親父が寝床(別棟なのですが)から出てこない。
昼過ぎに『腹が痛いから、病院に連れて行け』と。
病院に行くと緊急入院。
膵臓炎らしい。かなり進行。年齢からも覚悟が必要・・・
もうね。真っ青。親族に電話などしてオイラ一人テンパってました。
最初に行った病院では対応できないから別の総合病院に。
なんとか危機を持ち堪えて2週間程度で退院。
もう別棟で気ままに生活してるのは辞めてもらいまして
今は完全に同居してます。

ホント、今年の前半はいろんな事が重なりました。
次女も嫁いで行きましたし。

2019年6月18日火曜日

コーディング基準

雑談でコーディング基準について。

PG開発会社毎でそれぞれコーディング基準があって、
まったく異なる(時には真逆)の基準だったりする。

オイラ的にはVB.NETの場合

IF A=B THEN C=1

ってのはちょっと気持ち悪くて

IF A=B THEN
    C=1
END IF

としたい所なんだけど、1行に書かないとNGになる基準もあるらしい。
確かに行数は増えるけどさ、修正しやすは後者だと思うんだよね。
まぁ昔のBASICだともっと省略してたけどw

まぁ元受けの基準に従うしかないのだけど、ちょっと愚痴ってみたw

2019年2月13日水曜日

C#からEXCEL読込(一括)

もう1年以上更新してなかったw

久しぶりに小ネタを。
アプリからEXCELファイルを読み込むってのは業務アプリ開発で
ありがちな依頼だったりする。

で、オイラもそんなC#開発依頼を受けて。

まず、参照設定にMicrosoft.Office.Interop.Excelを追加
(サードパーティ使用不可だからw)

以下、データ取得のソース
-----------------------------------------------------------------------------------------
            // データ格納エリア
            object[,] RangeDatas = null;
            Microsoft.Office.Interop.Excel.Application Exl = null;
            Microsoft.Office.Interop.Excel.Workbooks xlsBooks = null;
            Microsoft.Office.Interop.Excel.Workbook xlsBook = null;
            Microsoft.Office.Interop.Excel.Sheets xlsSheets = null;
            Microsoft.Office.Interop.Excel.Worksheet xlsSheet = null;
            Microsoft.Office.Interop.Excel.Range xlsRange = null;
            try
            {
                // EXCEL起動
                Exl = new Microsoft.Office.Interop.Excel.Application
                {
                    DisplayAlerts = false
                };
                try
                {
                    // Books指定
                    xlsBooks = Exl.Workbooks;
                    try
                    {
                        // Book読込
                        xlsBook = xlsBooks.Open(FILENAME);
                        try
                        {
                            //EXCEL Sheets
                            xlsSheets = xlsBook.Sheets;
                            try
                            {
                                //EXCEL Sheet(1シート目)
                                xlsSheet = xlsSheets[1] as Microsoft.Office.Interop.Excel.Worksheet;
                                try
                                {
                                    //使用セル
                                    xlsRange = xlsSheet.UsedRange;
                                    RangeDatas = xlsRange.Value;
                                }
                                catch { }
                                finally
                                {
                                    if (xlsRange != null)
                                    {
                                        System.Runtime.InteropServices.Marshal.ReleaseComObject(xlsRange);
                                    }
                                    xlsRange = null;
                                }
                            }
                            catch { }
                            finally
                            {
                                if (xlsSheet != null)
                                {
                                    System.Runtime.InteropServices.Marshal.ReleaseComObject(xlsSheet);
                                }
                                xlsSheet = null;
                            }
                        }
                        catch { }
                        finally
                        {
                            if (xlsSheets != null)
                            {
                                System.Runtime.InteropServices.Marshal.ReleaseComObject(xlsSheets);
                            }
                            xlsSheets = null;
                        }
                    }
                    catch { }
                    finally
                    {
                        if (xlsBook != null)
                        {
                            System.Runtime.InteropServices.Marshal.ReleaseComObject(xlsBook);
                        }
                        xlsBook = null;
                    }
                }
                catch { }
                finally
                {
                    if (xlsBooks != null)
                    {
                        System.Runtime.InteropServices.Marshal.ReleaseComObject(xlsBooks);
                    }
                    xlsBooks = null;
                }
            }
            catch { }
            finally
            {
                if (Exl != null)
                {
                    System.Runtime.InteropServices.Marshal.ReleaseComObject(Exl);
                }
                Exl = null;
            }

-----------------------------------------------------------------------------------------
使用したオブジェクトを明示的に開放してやらないと駄目なんで
めんどくさいけど仕方ない。
これでRangeDatasにEXCELセルのデータが入るのだけど・・・・

日付データとかは日付型で入るわけでもない。
EXCELに表示されている値を取り込みたいとなると
ループで各セルを回して.Textを取得する必要があるみたい。
(一括で取得する方法があれば良いけど・・・・)

2017年9月30日土曜日

ICD起動後の運転

9月にICD起動後の運転制限が1年から3ヶ月に短縮されたそうだ。

っていきなり3ヶ月かよwww

オイラ的には助かるのだが。。。。

自動運転付きとか制限を与えたほうが良い気もする。


2016年10月22日土曜日

久しぶりの投稿

いやいや、1年以上投稿してなかったなぁ。
去年末にICDがまた起動(朝、布団の中でドカンと)しまして・・・
また今年末まで運転はお預け。


仕事はぼちぼち。
この秋からSEのお手伝い。
無理を言って出社時間を遅らせてもらってます。
でも、車で行けないのは時間に縛られるのが辛いのと
運転で気分転換できないのもつらいなぁ。


また、技術的なネタも上げようかと思うけど
当分、COBOLでの作業だからねぇwww


COBOL,PL/I,JCLが読める人間なんて
50過ぎ初老のおっさんばっかり。