【お知らせ】プログラミング記事の投稿はQiitaに移行しました。

C#

Windows Forms の PrintDialog

C#

64bit環境で Windows Forms の PrintDialog が表示されないという問題に遭遇しました。 C# - 64bit環境で印刷ダイアログ(System.Windows.Forms.PrintDialog.ShowDialog)が表示されない(35914)|teratail 結論から言えば .NET Framework 4.0 で修正されていま…

アクティブパターンをどう捉えるか

F# C#

F# Advent Calendar 2012 第16日目の参加記事です。 昨日 @kyon_mmさん SpecFlowについて 明日 @linerlockさん F#製のビルドツール, FAKEで遊ぶ 今年のF# Advent Calendarは実用がテーマです。私はアクティブパターンをなかなか実用できないでいましたが、よ…

Gtk#でファイルをドラッグ&ドロップ

Gtk#のウィジェットにファイルをドラッグ&ドロップで渡します。受け取る種類を指定しておくと、ドロップしたときにDragDataReceivedシグナルが発生します。ファイルは "text/uri-list" です。URIで渡されるため、ローカル名に変換が必要です。 using System…

Gdk#によるグラフィックス

本日のMonoDevelop勉強会の資料として、Gdk#でグラフィックスを表示して操作する手順をまとめました。 Gdk#によるグラフィックス

固定レイアウトとレイアウトマネージャ

10月13日(土)のMonoDevelop勉強会の資料として、固定レイアウトとレイアウトマネージャを比較しながら触る手順をまとめました。 固定レイアウトによるGUI レイアウトマネージャによるGUI

MonoDevelopでHello World!

MonoDevelopとGtk#の最初の一歩として、ハローワールドの作成手順をまとめました。 mdev-hello.docx

Gtk#でBrainf*ckのGUIシミュレータ

MonoDevelopの練習の一環としてBrainf*ckのGUIシミュレータの作成手順をまとめました。Gtk#とBrainf*ckの両方が一度に勉強できる内容となっています。 mdev-bf.docx

C#でJITからコールバック

C#でJITからコールバックさせてみました。PythonのコードをC#に移植したものです。 using System; using System.Runtime.InteropServices; class Program { [DllImport("kernel32.dll", SetLastError = true)] static extern IntPtr VirtualAlloc(IntPtr lpA…

C#でJIT

PythonでやったJITをC#に移植しました。32bit専用です。 using System; using System.Runtime.InteropServices; class Program { [DllImport("kernel32.dll", SetLastError = true)] static extern IntPtr VirtualAlloc(IntPtr lpAddress, int dwSize, int f…

MonoDevelopの衝撃

MonoDevelopを試しました。バージョンは2.8.8.4です。 http://monodevelop.com/ 予想以上にパワーアップしていて驚きました。 MonoなしにMicrosoft .NET上で動く。作成したGtk#アプリも同様。 ソリューションはVisual Studio互換。そのままVisual Studioで開…

C#で学ぶF#入門 完了報告

C# F#

id:n7shi:20110620で告知したC#で学ぶF#入門が無事に完了しました。ご参加の皆様、お疲れ様でした。 配布資料: cs2fs.pdf(全ページ), cs2fs.docx(1-11ページ), cs2fs-2.docx(問8・全問題の回答) Togetter まとめ: http://togetter.com/li/150031 私が…

C#で学ぶF#入門

C# F#

かなり先ですが、F#の入門勉強会を開催します。C#との比較に重点を置いて説明しますが、C#未経験の方でもお気軽にご参加ください。 2011年9月10日(土) 午後1時〜6時 マイ・スペース&ビジネスブース池袋西武横店 7号室 (東京都豊島区南池袋1-16-20 ぬかり…

判別共用体 (1)

F# C#

以前、C#からF#への変換によって、F#に触れるきっかけを作ろうとしました(id:n7shi:20090722, id:n7shi:20101226)。この方法だととりあえずF#で何か作れるようにはなりますが、F#特有の概念の理解にはあまり役に立ちません。ぜくるさんが判別共用体につい…

逆アセンブラ

PDP-11の命令について調査するため、Silverlightで逆アセンブラを作成しました。UNIX V6のa.outに対応しています。 実行 ⇒ http://7shi.net/v6/ ソース ⇒ https://bitbucket.org/7shi/v6/src/e49b87e118af Lions本では8進数に戸惑ったため、デフォルトの出力…

スキャンPDFモバイル向け調整ツール

スキャンで作成したPDFをモバイル用に調整するには、トリミングで余白を落として、コントラストを調整して、解像度を落とす必要があります。そのためのツールを作成しました。実行には.NET Framework 2.0が必要です。 ソース閲覧: https://bitbucket.org/7sh…

スキャン画像モバイル向け調整ツール

スキャンしたデータは保存用に高画質で残しておきたいですが、モバイルで見るにはオーバースペックです。トリミングやコントラスト調整なども考えると、単純に低画質で再スキャンすれば済むという問題でもありません。そこでトリミングやコントラスト調整の…

スキャンPDFからJPEG抽出 (2)

id:n7shi:20110208のPDF解析コードを利用して、id:n7shi:20110201のJPEG抽出ツールを自前のコードに置き換えました。実行には.NET Framework 2.0が必要です。 ソース閲覧: https://bitbucket.org/7shi/pdf2jpeg/src ダウンロード: https://bitbucket.org/7sh…

解析ツール

PDF関連のツールを作ろうと試行錯誤しています。仕様書とバイナリエディタとテキストエディタを見比べながら開発するのは効率が悪かったため、構造を抽出して表示するツールを作りました。実行には.NET Framework 2.0が必要です。 ソース閲覧: https://bitbu…

FlateDecodeと差分圧縮

PDFで/Filter /FlateDecodeが指定されているストリームはdeflate圧縮されています。.NETのDeflateStreamで展開しようとしてもエラーになりますが、最初の2バイトを飛ばすと読み込めます。 DeflateStream throws exception when inflating PDF streams /Decod…

アーカイブ

C#で任意の数のJPEGを埋め込んだPDFを生成してみました。id:n7shi:20110205に掲載したPDFを複数ページに拡張して出力しています。以下にコードを掲載します(パブリックドメイン)。コードから呼び出しているGetJpegSizeはid:n7shi:20110204に掲載しています…

画像サイズを取得

以前(id:n7shi:20090519)C言語で外部ライブラリなしにJPEGの画像サイズを取得しましたが、同じことをC#でもやってみました。イメージを展開せずサイズだけ知りたいときに便利かもしれません。パブリックドメインです。

数字を含んだ文字列の比較

C#

文字列をソートすると2より10の方が先に来てしまいます。数字を認識するようにIComparerを実装してみました。 https://gist.github.com/807274

スキャンPDFからJPEG抽出 (1)

【追記】自前コードに置き換えてパブリックドメイン化したものを公開しました。 ⇒ id:n7shi:20110209とりあえず高画質でスキャンしておいて、使うときに用途に応じて加工したいことがあります。そんなときにPDFを一気に変換するツールが欲しかったので自作し…

第2回 VC# Express開発勉強会 完了報告

id:n7shi:20101215で告知した第2回 VC# Express開発勉強会が無事に完了しました。ご参加の皆様、お疲れ様でした。私は第1回目の参加者の方々の成果品をSilverlightに移植していました(やっつけですが)。Windows MobileからSilverlightへの移植の延長線上に…

初級勉強会

※地震の影響による電力・交通事情を踏まえ、中止しました。まだ少し先ですが、Silverlightの初級勉強会を開催することになりました。初心者を対象としていますので、開発は初めてという方でもお気軽にご参加ください。 2011年3月19日(土) 午後1時〜6時 ア…

言語変換でいきなり実用を目指す

※このエントリは F# Advent Calendar jp 2010 第17回目の参加記事です。F#の話題を目にしても「何やら難しそうなコードが掲載されていて、自分には関係なさそうだ」と素通りしたことはないでしょうか?実は、私もそうでした。F#の本を入手してぱらぱら眺めて…

第2回 VC# Express開発勉強会

id:n7shi:20101120でVC# 2010 ExpressによるWM開発方法をご紹介しましたが、その手法を使った勉強会の第2回目を開催します。 2011年1月15日(土) 午後1時〜6時 喫茶室ルノアール 池袋パルコ横店 1号室 (東京都豊島区東池袋1-42-8 第一イン池袋ビル地下1階…

VC# 2010でのプロジェクト作成方法

Windows Mobile勉強会(id:n7shi:20101108)で使用した資料を公開します。 勉強会で発生した問題などを踏まえて、一部加筆修正しています。 VB.NETではmscorlibを差し替える設定が分からないため、同じ手法は使えません。 【追記】コメントでVB.NET 2008での…

VC# Express開発勉強会(日時決定)

id:n7shi:20101108で募集した勉強会の日時と会場が決定しました。 2010年11月20日(土) 午後1時〜6時 カフェ・ミヤマ高田馬場駅前店 3号室 詳細・参加登録 ⇒ http://atnd.org/events/9747 まだ人数に余裕がありますので、引き続き参加者募集中です。終了し…

VC# Express開発勉強会

id:n7shi:20090106でVC# ExpressによるWM開発方法をご紹介しましたが、その手法による勉強会を開催することになりました。説明だけではよく分からない方など、お気軽にご参加ください。 http://atnd.org/events/9747 どのくらい人数が集まるか分からないため…