8

これについては、stackOverflow で多くの議論があると言うかもしれませんが、それらのほとんどは、私が必要としているものよりも複雑で、ほとんどが他の言語に関するものです。

このデータベースを使用する動的 Web サイトのヘルプ ページを埋めるためのコードを含む「ヘルプ」テーブルがある MySQL リモート データベースがあります。

速度とセキュリティを向上させるために、Web サイト自体ではなく、その Web サイトを管理する Delphi アプリケーションを作成することにしました。

TRichEditヘルプ テキストを作成し、配置、太字、斜体、下線付きのスタイルなどの単純なものを使用したいと考えています。写真やフォントは使いたくない。

そのリッチ スタイルのテキストを選択して HTMLに変換し、リモート データベースの BLOB フィールドに配置し、再度編集する場合はリッチ テキストに再変換する方法を教えてください。

4

3 に答える 3

7

本当に を使用して RTF コンテンツを生成したい場合は、TRichEdit生成されたネイティブ RTF を変換された HTML と一緒に保存する必要があります。使用している唯一の理由がTRichEdit、単純な書式設定機能を使用できるようにすることである場合は、ネイティブ HTML コンテンツを生成する HTML 編集コントロールを使用する方がよいでしょう。

どちらの方法を使用する場合でも、ユーザーがコンテンツを編集できるようにネイティブ形式を保存し、必要に応じて他の形式に変換することをお勧めします (双方向に変換するのではなく)。

を使用するTRichEditと、RTF コンテンツをコントロールの内外で簡単にストリーミングできますが、次の方法をお勧めTJvRichEditTRichEditます。

procedure GetRTFData(MS: TMemoryStream; RTF: TRichEdit);
begin
  MS.Clear;
  RTF.Lines.SaveToStream(MS);
  MS.Position := 0;
end;

procedure SetRTFData(MS: TMemoryStream; RTF: TRichEdit);
begin
  MS.Position := 0;
  RTF.StreamFormat := sfRichText;
  RTF.Lines.LoadFromStream(MS);
end;

RTF を HTML に手動で変換するのは簡単なことではありません。Unicode 文字に関する考慮事項、フォント スタイル、フォント コード、段落の書式設定、番号付きリスト、特殊な HTML 文字などがあります。単純な書式設定をサポートするだけでよい場合でも、ユーザーは、MSWord からコンテンツをコピーして、あらゆる種類の書式設定やフォント スタイルを使用してアプリに貼り付けるなど、変換の頭痛の種となる他の機能を使用することがよくあります。

JvRichEditToHtml. JvRichEditToHtmlユーザーがコピー/貼り付けを介して複雑なコンテンツを導入したり、キーボード ショートカットを使用してコンテンツをフォーマットしたりしない限り (例: 箇条書き = ctrl+shft+L、インデント = ctrl+M、等。)。

RTF でのオーサリングと HTML への変換の複雑さを回避したい場合は、Delphi 用の優れた HTML 編集コントロールもいくつかあります。

Google 検索結果 :: Delphi、HTML、エディタ、コンポーネント

スタック オーバーフロー :: Delphi、HTML、エディタ、コンポーネント

その豊富な機能のために使用TRichViewします。RTF の読み込み/作成、および HTML のエクスポートが可能です。ただし、無料ではありません。無料のものを探しているなら、TJvRichView良いJvRichEditToHtml選択肢です。

于 2012-08-14T16:15:18.197 に答える