mikeo_410


ソースコード表示枠生成プログラム(DIVFrame)

1.概要

Visual Studio の編集中のソースコードをホームページに貼り付けるときに使います。
Visual Studio のエディタからクリップボードにコピーすると、カラー情報もコピーされることに気が付きました。ハイライティング(構文強調)されたまま、ホームページに貼り付けることができます。

www.vector.co.jp/soft/winnt/prog/se465453.html

必要な箇所をコピーして、このプログラムに貼り付けます。
「HTMLをクリップボードへ」で、HTML化したテキストがクリップボードに入ります。

FCKeditor で、ホームページを書いていますが、WYSIWYG なビジュアルのまま貼り付けられます。

2.入力となるデータ

たいていのテキストエディタがハイライティングをしますが、この色情報はほとんど使えません。
Visual Studio との差は、RTF形式でクリップボードに格納するかどうかです。
Visual Studio は、Text と RTF の両方の形式でクリップボードに格納します。
このプログラムは、クリップボードのRTF形式のデータを使って、HTMLを作ります。

このプログラムの入力を受け付ける表示部分(貼り付ける部分)は、RichTextBoxなので、ファイルや図形も貼れますが無視します。必ずRTFのテキストを貼り付けてください。

3.出力となるデータ

このプログラムは、Text と Html の両方の形式で、クリップボードへHTMLを出力します。内容は同じです。
FCKeditor は、Html 形式のデータがあれば優先して受付け、編集しているHTMLにほぼ無変換で追加しているものと思います。
同じ内容でも、Texit 形式の場合は、アンパーサンドを&am; に置き換えるなど、キー入力と同じように処理するものと考えられます。

4.DIVタグによる枠

スペースや改行を保持してHTMLに貼り付ける場合、PREタグを使います。しかし、PREタグ内でも、アンパーサンドやクオートなどの文字は、&や"などに置き換えることが必要です。
また、改行、復帰文字は、データベースに格納する場合、互換性に問題があります。
そこで、DIVタグを使うことにしました。リストとして行を維持し、 でスペースを維持します。
枠は、背景色とその枠で現します。

ブラウザで表示した場合のコピーも、見た目の通りコピーされ、& がコピーされると言ったようなことはありません。
また、IE7では、行番号もコピーされないのでそのままコピーして利用できます。
FireFoxで試したところ行番号がコピーされてしまいますが。

5.枠のスタイル

 最初は、以下のようなDIVタグの属性が表示されます。

  1. background-color: #ffead6; border: 1px dotted tan; white-space: nowrap;overflow:auto; width:320; height:200; "

background-color: #ffead6; border: 1px dotted tan;  は、枠に必要です。
white-space: nowrap; は、行を維持するために必要です。

実際には、別途cssファイルで定義をして、ここでは、class="クラス名" のように設定することになると思います。

この入力フィールドのコンボボックスは履歴になっており、書き換えても元の文字列も残っており、選択肢に表示されます。

6.プレビュー用のcss

プレビュー時には、preview.css を参照するようになっています。
preview.cssの内容は以下のようになっています。

  1. body{margin:0px; font-family:'MS ゴシック', 'Osaka', sans-serif; font-size: x-small; line-height:130%; padding:0px; margin:0px;}

 プレビュー時に参照するcssファイルは、DIVFrame.ini で設定されています。

  1.  日本語(ASCII文字以外を)を含む場合は、UTF-8(BOMなし)で保存してください。
  2. このファイルがない場合は、前述の定義を追加してプレビューします。

 

 

 

 


田園都市線 不動産 千葉 不動産 朝霞市 不動産 荒川区 不動産 リフォーム