ライブラリ


プログラミングに役立つライブラリを配布しています。
私が作るライブラリはほとんどC#でできたものが多いので、C#やVB.NET、C++/CLIなどの言語で動作します。

ライセンスは基本こちらが適応されます。

Object Animate

Contents1 概要2 サンプルソース2.1 1つのコントロールを動かす2.2 順番に動かす2.3 同時に動かす2.4 オプション3 ダウンロード 概要 Windows Forms Applicationでもコントロールをアニメーションで動かしたい!ということでライブラリ化してみました。 基本非同期で動作するものでスムーズな動作ができます。 また、JavascriptのjQueryのような感じにしたいので1行で一気に命令を書いてしまえるよう、工夫してみました。 サンプルソース 1つのコントロールを動かす panel1.Animate("Location", new Point(39, 24)).Execution() コントロールから直接Animateを発行することができます。 Animateを呼び出すだけではアニメーションは実行されません。必ず最後にExecutionを呼び出してあげてください。 順番に動かす AnimateQueue.Create() .AddAnimate(panel1, "Location", new Point(39, 24)) .NextAnimate(panel2, "Location", new Point(244, 23)) .Execution(); AnimateQueue.Create()を呼び出すことでインデント的にソースコードが綺麗になります。 キューにアニメーションを追加する場合はAddAnimate アニメーションが終わった後に次のアニメーションを指定する場合はNextAnimateを呼び出します。 同時に動かす AnimateQueue.Create() .AddAnimate(panel1, "Location", new Point(39, 24)) .AddAnimate(panel2, "Location", new Point(244, 23)) .Execution(); 順番に動かす場合はAddAnimateをズラズラっと追加していくだけです。 これで同時に動かすようにキューに追加できます。 オプション panel1.Animate("Location", new Point(39, 24), new AnimateOption() { Quority = 5, Speed = 500, }).Execution(); アニメーションにオプションを持たせることも可能です。 オプションは以下の通りです。 Query 1フレームにかける時間(ミリ秒)を指定します。小さければ小さいほど滑らかに動きます。 Speed アニメーションにかける時間(ミリ秒)を指定します。小さければ小さいほど早く動きます。 Type アニメーションの動きを変更することができます。 Cos(標準) / Sin/ Straight(等速) Async  trueの場合、ThreadPoolを使い非同期で実行します。 ただし、AddAdnimateやNextAnimateメソッド等は動きを変えるTypeプロパティしか設定することができません。 AnimateQueueに追加されているAnimateの場合、Animateを発行してからオプションを設定してもQuery/Speedプロパティはキューの設定に上書きされます。 AnimateQueue側のオプションを変更してください。 ダウンロード こちらから無料でダウンロードできます。 すべて自己責任でご使用ください。 逆コンパイル等は禁止です。ソースコードが必要な場合はご連絡ください。 ライブラリ単体での再配布は禁止致します。

Local HTTP Server Library

localhostのみアクセス可能な簡易HTTPサーバーのライブラリです。ファイヤーウォールも関係なく、簡単な機能として組み込む際に便利です。 使い方としては、Twitterとのアカウント連携する時、リダイレクト先をlocalhostにすれば自動的にアプリケーションに戻るなんてことも可能です。 リクエストはすべて非同期で返すようにしていますが、大きなファイルは苦手かもしれません。あくまで簡単な機能ということで利用してください。 使い方 サーバーを立て、可動させるにはこのコードのみで十分です。 using (WebServer server = new WebServer()) { server.Run(); // サーバーを立ててしたいこと // ... server.Stop(); } また、初期設定はこのようになっています。 URL http://localhost:80 ローカル側のファイルパス {アプリケーションのあるフォルダ}\httpdoc\ この設定はWebServer.Settingでいろいろ変更することができます。 機能的に80番ポート使うのはもっと高性能なサーバーであるべきです。20000番以上のポートを指定することをオススメします。 詳しいことはこちらに記載しています。 ローカルで使うWebサーバーを立てる https://yryr.me/programming/local-http-server.html ダウンロード ライセンスはこちらをご参照ください。
128px-Feed-icon.svg

SharoLib.Rss

.NET環境にてRSS/RDFを読み込み・解析をするためのライブラリです。 RSS/RDFについてはこちらのページにまとめています。 使い方 URLを渡すだけで取得・解析を行います。また、その際にRSSかRDFかの判定も行います。 string url = "https://yryr.me/feed"; using (RssReader rr = new RssReader(url)) { rr.Read(); // サイトについて var info = rr.Info; // アイテム var items = rr.Items; } 内部でStreamを利用しているため、使用後はDisposeをすることをオススメします。 ダウンロード バイナリのみ サンプル/バイナリ 手軽に確認できるようにするためにフィードはこのサイトのもののみです。 ライセンスはこちらに公開しています。 SharoLib ライブラリ スクリーンショット

DB Serializer

.NET環境(VB.NET/C#)でデータベースのテーブルへデータを追加・呼出が手軽に行えるようにしたライブラリです。 Contents1 サンプルソース1.1 シリアライズ1.2 デシリアライズ2  データベースの種類(Ver 1.1 <)3 ダウンロード3.1 最新3.2 リリースノート3.2.1 Ver 1.13.2.2 V1.0 サンプルソース シリアライズ [Serializable, DataContract, DBSerializable("datas")] public class DateData : DBSerialize.DBSerialize<DateData> { [DataMember, PrimaryKey, Autoincrement] public int ID { get; set; } [DataMember] public int Code { get; set; } [DataMember] public int Date { get; set; } [DataMember] public float End { get; set; } [DataMember] public float Start { get; set; } } DateData dd = new DateData() { Code = 1000, Date = 20141225, End = 100, Start = 100 }; dd.Add(db_connection); 新しく行を追加したい場合はAddメソッド、PrimaryKeyに指定したプロパティへ上書き保存する場合はSaveメソッドを使用します。 シリアライズするクラスには必ずSerializable属性を、対応するデータベースのテーブル名の指定はDBSerializableで行います。 シリアライズするメンバーにはDataMember属性をつけてください。また、DataMemberで指定したNameプロパティは無視されます。 デシリアライズ DateData.Load(db_connection); この一行で行えます。 LoadWhereメソッドを使用すれば条件付きでデータを列挙できます。 その際に指定する条件の文はSQL文のWHEREに指定する文字をそのまま指定してください。 例:id=10 や id > 10 and text like “%aa%” など また、string.Formatメソッドのように大カッコを使用した条件式も使用できます。 DateData.LoadWhere(db_connection, "ID={0}", 10);...

ある程度の機能があるもののみこちらに記載します。
簡単な機能しか持たないものはこちらに載せていないので上記のプログラミングカテゴリーから漁ってみてください。