program test; { Unicode対応RichEditクラスのサンプルプログラム 2011-11-11: ・ソースコードを少し整理。 2011-11-07: ・文字コードの自動判定に対応。  BOMなしのUTF-8&UTF-16とUTF-7、EUC、JISの読み込みに対応。 ・内部の改行コードをCR+LFからCRに変更。  CR+LFにすると大量のテキストで文字化けしてしまうのでデフォルトのCRに戻した。  文字列を取り出す時にCR+LFに変換しているのでクリップボードへのコピーは問題なし。  GetWindowText APIで取得した場合は改行コードはCRのままのはず。 2010-12-10: ・Unicodeのサロゲートペアに対応。  UTF8DecodeやUTF8Encodeはサロゲートペアがあると空文字になってしまうようなので  WideCharToMultiByte APIやMultiByteToWideChar APIを利用に変更。 ・本文のフォントを「MS ゴシック」から「MS UI Gothic」に変更。 2009-06-12: ・「切り取り」が「コピー」と同じ動作になっていた不具合を修正。 ・書込み禁止にした場合にメニューの「元に戻す」「やり直し」「切り取り」をDisable  にしていなかった不具合を修正。 ・「新規作成」、「開く」と「終了」で文書が変更されていたら確認ダイアログを出すよ  うにした。 ・ポップアップメニューに「選択範囲を下方検索」と「選択範囲を上方検索」を追加。 2009-04-24: ・F_Memoにフォーカスがない場合に検索をしても検索結果の行までスクロールしなかった  不具合を修正。  HideSelectionをFalseにするか検索する前にF_Memoにフォーカスを移すかしないといけ  ないようだ。 } //{$DEFINE DEBUG} uses {$IFDEF DEBUG} HeapChecker, {$ENDIF} Forms, main in 'main.pas' {Form1}; {$R *.res} begin {$IFDEF DEBUG} HeapChecker.OutputClassName := True; HeapChecker.DumpLeakMemory := True; {$ENDIF} Application.Initialize; Application.CreateForm(TForm1, Form1); Application.Run; end.