2017-01-01から1年間の記事一覧

効率化しない、しかし最速にするコツ (Dictionaryキャッシュ)

用途が、「入力」と「出力」の組み合わせ、という処理で、一度の起動のうちで、利用する組み合わせ1万パターン以下のケースでは、 「入力」から「出力」を割り出す処理は平易でわかりやすく記述して、記述レベルでは効率化しない。 C#ならDictionaryを利用…

iTextSharpのB4はISO B4。日本はJIS B4。プリンタが認識しない!

ということで、以下が修正後の値です。 float B4_width = 1031.74f; float B4_height = 728.4f; float B5_width = 728.4f; float B5_height = 517.92f; 以下は用紙の縦・横を考慮して、PageSize.B4.Rotate()相当にしたものです。 case "B4": case "B4縦": re…

C#でシンプルでわかりやすい遷移を書く

ポイントは1週間後にソースを見て、「何をしたい」記述となっているのかを瞬時に思い出せる・理解できるかどうかです。 具体的には private void test() { int caret_x = 10; bool caret_Hankaku = true; Func<string>get_caret_status=()=> { if(caret_x<0) return </string>…

C# yield return で多層フィルタリング

テキストファイルから読み込むのを例に、foreachで簡単に多層フィルタリングができるものの例です。 class values { public string string_1; public values(string in_string_1) { string_1 = in_string_1; } } static private void test_proc() { var IE_r…

ATOK手書き入力をESCキーで閉じる

閉じるボタンをマウスクリックするしか閉じる方法がないものですが、以下の様なスクリプトで閉じることができます。 $ESC:: ; 頭に$が必要です。(無限ループ防止のため) ifWinExist, ahk_class ATOK30TegakiPalette ; 「手書き入力」が起動していたケース …

AutoHotkeyで暗号化(AES)を扱うコツ

特に暗号化後のバイナリ値の扱いで躓いたので、以下のソースを参考にしてみてください。 また、漢字も平気ですがAutoHotkeyのソース上では全角のAはダメ文字だったりしますので、そこは注意してください。 ; AutoHotkeyでAES化して、暗号バイナリを 0xE8 な…

itextsharpを利用しやすくするコツは、簡易でいいのでclassを作っておく

印刷用の文書を生成するのに、DOCやDOCX等を生成して他のソフトに印刷させるよりも、PDFでファイル出力して、PDF印刷ソフト(他のソフト)で印刷させるか、PDF Direct Print対応プリンタなら、直接ファイルコピーをしてしまう、という方法があります。 連続…