2016年4月26日火曜日

「ハーバード大学の図書館の壁に 書かれている言葉」

「ハーバード大学の図書館の壁に書かれている言葉」

1. 今居眠りすれば、あなたは夢をみる。今学習すれば、あなたは夢が叶う。
2. あなたが無駄にした今日は、どれだけの人が願っても叶わなかった未来である。
3. 物事に取りかかるべき一番早い時は、あなたが「遅かった」と感じた瞬間である。
4. 今日やるほうが、明日やるよりも何倍も良い。
5. 勉強の苦しみは一瞬のものだが、勉強しなかった苦しみは一生続く。
6. 勉強するのに足りないのは時間ではない。努力だ。
7. 幸福には順位はないが、成功には順位がある。 
8. 学習は人生の全てではないが、人生の一部として続くものである。
9. 苦しみが避けられないのであれば、むしろそれを楽しめ。
10. 人より早く起き、人より努力して、初めて成功の味を真に噛みしめる事ができる。
11. 怠惰な人が成功する事は決してない、
真に成功を収める者は徹底した自己管理と忍耐力を備えた者である。
12. 時間は、一瞬で過ぎていく。
13. 今の涎は将来の涙となる。
14. 犬の様に学び、紳士の様に遊べ。 
15. 今日歩くのを止めれば、明日からは走るしかない。
16. 一番現実的な人は、自分の未来に投資する。
17. 教育の優劣が収入の優劣。
18. 過ぎ去った今日は二度と帰ってこない。
19. 今この瞬間も相手は読書をして力を身につけている。
20. 苦しんでこそはじめて進める。

2016年4月21日木曜日

XMPP C# Library Sharp.XMPP

XMPP C# Library で S22.XMPPを使用してたが
Sharp.XMPPが、S22.XMPPのFork版だった。

Sharp.XMPPがForkしたのは、S22.XMPPが更新されないからだそうな。
ライセンスは MIT

後、Clientに Chat(Windows Appに登録されている)

GitHubにソースが公開されていた。
ライセンスは MIT


2016年4月20日水曜日

c# OracleテーブルをCSVで出力

OracleテーブルをCSVで出力
C#で作成

using System;
using System.Configuration;
using System.Linq;
using System.Text;
using System.Windows;
using System.IO;
using Oracle.DataAccess.Client;

namespace Ora2CSV
{
    /// <summary>
    /// MainWindow.xaml の相互作用ロジック
    /// </summary>
    public partial class MainWindow : Window
    {
        public MainWindow() {
            InitializeComponent();
        }

        private void button_Click(object sender, RoutedEventArgs e) {
            using(var conn = new OracleConnection(ConfigurationManager.ConnectionStrings["LogisConnStr"].ToString())) {

                conn.Open();

                //データ取得
                var cmd = new OracleCommand();
                cmd.Connection = conn;
                cmd.CommandText = "SELECT * FROM " + txtTable.Text;

                var dr = cmd.ExecuteReader();
                var Enc = Encoding.GetEncoding("Shift-JIS");
                var wr = new StreamWriter(@"c:\temp\" + txtTable.Text + ".csv", false, Enc);

                string strRec = "";

                for (int i = 0; i < dr.FieldCount - 1; i++) {
                    strRec = strRec + @"""" + dr.GetName(i).ToString() + @"""" + ",";
                }

                //行末の[,]を削除
                strRec = strRec.Remove(strRec.Length - 1, 1);

                //ヘッダ1行出力
                wr.WriteLine(strRec);

                //データ行
                while(dr.Read()) {
                    strRec = "";

                    for (int i = 0; i < dr.FieldCount - 1; i++) {

                        string vName = dr.GetName(i);
                        string vType = dr.GetProviderSpecificFieldType(i).ToString();

                        if (dr.GetProviderSpecificFieldType(i).ToString() == "Oracle.DataAccess.Types.OracleDecimal") {
                            strRec = strRec + dr[i].ToString() + ",";
                        }
                        else {
                            strRec = strRec + @"""" + dr[i].ToString() + @"""" + ",";
                        }
                    }

                    //行末の[,]を削除
                    strRec = strRec.Remove(strRec.Length - 1, 1);

                    //データ1行出力
                    wr.WriteLine(strRec);
                }

                wr.Close();
                conn.Close();

                MessageBox.Show("Complete!");
            }
        }
    }
}

2016年4月18日月曜日

XMPP コンタクト一覧の取得

XMPP コンタクト一覧の取得

client.roster()


XMPP C# オープンソースライブラリが揃っている

XMPP
C# オープンソースライブラリが揃っている

nu-getで S22.XMPP ライセンスはMIT

気軽に社内IMが作成出来る

2016年4月14日木曜日

Telerik WPF RadGridViewのFilter DIstince の非表示

Telerik WPF RadGridViewのFilter DIstince の非表示

        private void GridView1_FilterOperatorsLoading(object sender, Telerik.Windows.Controls.GridView.FilterOperatorsLoadingEventArgs e) {

            //選択条件を削除
            e.AvailableOperators.Remove(Telerik.Windows.Data.FilterOperator.IsNull);
            e.AvailableOperators.Remove(Telerik.Windows.Data.FilterOperator.IsNotNull);

            e.AvailableOperators.Remove(Telerik.Windows.Data.FilterOperator.IsEmpty);
            e.AvailableOperators.Remove(Telerik.Windows.Data.FilterOperator.IsNotEmpty);

            //カラム内容の選択を非表示
            e.Column.ShowDistinctFilters = false;

        }

Telerik WPF RadGridView のFilterすべて初期化

Telerik WPF RadGridView のFilterすべて初期化

this.radGridView.FilterDescriptors.SuspendNotifications();
foreach (Telerik.Windows.Controls.GridViewColumn column in this.radGridView.Columns)
{
    column.ClearFilters();
}
this.radGridView.FilterDescriptors.ResumeNotifications();

2016年4月13日水曜日

社内用にメッセンジャーを構築

社内用にメッセンジャーを構築

今までは、社内用に、IP Messageを使用していた。

最近、ルーターをFortiGateの最新に変更したら、ルータのセキュリティーポリシーが
厳しくなって、ブロードキャストが無効になるそうな。

東京支店(同一サブネット内)は、再表示OKですが
各支店は別サブネットで構築しているので、IP Messangeの再表示されない状態になりました。

フリーでメッセンジャーってあるのかな~と調べたら
XMPPが有名ってことが判明、早速、構築してみました。

サーバは、openfire、クライアントはSparkで十分

javaで構築されているので、OS関係なし DBは、MySQLにすれば、無料で
メッセージシsテムが構築出来ました。

ソースおよびシステムを公開していることに感謝致します。


Pervasive(Btrieve) Error 46の対応

Pervasive(Btrieve) Error 46の対応

公式ページには
エラー 46    
 要求されたファイルへのアクセスは拒否されました。

ファイルをつかんでいるからが原因なら、Pervasiveサーバを再起動しましたが
サーバ再起動しても同じエラーが発生した。

Pervasiveのファイルバージョンが古いと発生するようです。
対象ファイルが Ver8、Pervasive Serverが v10でした。
対象ファイルを Ver 9.5にリビルドしたら、問題無し

これって、どこかにFAQを記述して欲しい