~katsuhiko メッセージボード

back 1901-1950

1951-2000

2001-2050


2000 [要望]タブの文字数について コメント数:  3件
  DR-X   | 2002/01/27 (日) 06:37
本田さん、こんにちは。

タブの文字数なんですが、現在は2、4、6、8しか設定できないです
よね。これを自由に1〜64ぐらいまで設定できるようになりませんか。

これができると、たとえばタブ区切りのテーブルファイルを見ると
きなんかに、項目を揃えて見ることができて便利だと思います。

よろしくお願いします。



1999 MaxLineCharacter について コメント数:  5件
  DR-X   | 2002/01/27 (日) 06:36
本田さん、こんにちは。

あいかわらずTEditorに長い行を読み込ませようとがんばっている
のですが(^^;)、MaxLineCharactorを5000にして長い行を読み込ま
せるとなぜか暴走してしまう機種があります。OSは2000なのですが
OSごといってしまいます。

ExtTextOutをコメントアウトすると大丈夫だったりするので大きす
ぎる値を渡しているのが原因なのかなと思っています。

また、Win95/98ではExtTextOutは8192文字の制限があるそうなので
今の仕様ではそれ以上長い行は表示できません。

そこで長い行を処理するときは例えば200文字ずつExtTextOutに渡し
てやるとかっていうのはどうでしょうか。そうすれば大きな配列を
作らなくて済みますし。

ご検討お願いします。



1998 TOleddEditorをBCB5で使うには コメント数:  2件
  Km   | 2002/01/27 (日) 04:18
試行錯誤の結果、ようやくTOleddEditorをBCB5で使う方法がわかりましたので報告しておきます。
以前報告したように、BCBの場合、TOleddEditorを貼り付けてコンパイルするとTEnumFormatEtcでエラーが出ます。
これをなくすために、hOledd.pasのinterface部にあるTEnumFormatEtcクラスをimplementation部に移します。
アプリケーションのプロジェクトオプションのディレクトリ/条件タブの条件定義にNO_WIN32_LEAN_AND_MEANを追加。

これで動くはずです。

追加情報です。
BCB5で新規アプリケーションを作り、どこかのフォルダに保存する。
プロジェクトからUnit1.cppを削除する。
本田さんのUnit1.dfmとUnit1.pasをフォルダにコピーし、Unit1.pasを追加する。
プロジェクトオプションのフォームタブでForm1を自動生成の対象から外す。
新規作成でProject1タブを選択し、Form1を継承してフォームを作成する。
このフォームはUnit1のpascalフォームとは違ってBCBでコントロールを配置できます。

以上の結果は最初に書いた通り、試行錯誤によるものなので論理的に正しいかはわかりません。



1997 Re^8: FormViewEditorをC++Builderで表示する方法 コメント数:  6件
  Km   | 2002/01/27 (日) 03:39
FUUさん、本田さん、こんにちは。

>  TEditor FAQに書いてあるTEditorインストール法ですが、DsgnIntfを直接加えるのはあんまりよくなさそうですので、別の方法として…。

すみませんm(_ _)m、その情報は私からですね。

>  TEditor用のパッケージを作成した後、メニューの「プロジェクト」→「オプションソースの編集」でbprファイルを開きます。次に「<PFLAGS value= …」という行を探し、-LUvcl50 オプションを追加します。
>  詳しくは、BCB5のヘルプのキーワードで「dsgnintf.dcu」を調べてください

こんな方法があったのですね。知りませんでした。試したところばっちしでした(^^)。
とりあえず、ヘルプ用として詳細を書きます。(本田さんはBCB持ってないので)

BCB5でTEditorを使うには。
(1)パッケージにHeditreg.pasを追加する。
(2)メニューの[プロジェクト(P)|オプションソースの編集(P)]を選択。
(3)「PFLAGS」で検索し、-LUvcl50オプションを追加。
<PFLAGS value="-$YD -$W -$O- -v -JPHNE -M -LUvcl50"/>
(4)パッケージのRequiresにvclsmp50.bpiとvclx50.bpiを追加。
以上です。



1996 Re^7: FormViewEditorをC++Builderで表示する方法 コメント数:  7件
  FUU   | 2002/01/27 (日) 03:13
 http://homepage1.nifty.com/fuu/
 すいません、BCBでのTEditorの扱いについてもうちょっと補足(^^;

 TEditor FAQに書いてあるTEditorインストール法ですが、DsgnIntfを直接加えるのはあんまりよくなさそうですので、別の方法として…。
 TEditor用のパッケージを作成した後、メニューの「プロジェクト」→「オプションソースの編集」でbprファイルを開きます。次に「<PFLAGS value= …」という行を探し、-LUvcl50 オプションを追加します。
 詳しくは、BCB5のヘルプのキーワードで「dsgnintf.dcu」を調べてください(http://www.borland.co.jp/cppbuilder/devsupport/cb5new.htmlから入手できるヘルプにも記述があります)。こちらの方法だと、たぶんLearning版でもインストールできると思います。

 それと、BCBに限ったことではないですが、なるべくなら設計時パッケージと実行時パッケージに分けた方が良さそうな気もします。

 では失礼します。



1995 Re^6: FormViewEditorをC++Builderで表示する方法 コメント数:  8件
  FUU   | 2002/01/27 (日) 03:10
 http://homepage1.nifty.com/fuu/
…前の発言からの続き(^^;

 というわけで、次の方法を試してみてください>柳生さん

1.BCBのinclude\vclにあるSpin.hをコピーして、Spin.hppに名前を変える。
2.コピーしたSpin.hppを開き、24行目と25行目のクラス宣言をそれぞれ
class DELPHICLASS TSpinButton;
class DELPHICLASS TTimerSpeedButton;
 に変更(DELPHICLASSを追加する)。
3.30行目、48行目、114行目のクラス宣言をそれぞれ
class PASCALIMPLEMENTATION TTimerSpeedButton : public TSpeedButton
class PASCALIMPLEMENTATION TSpinButton : public TWinControl
class PASCALIMPLEMENTATION TSpinEdit : public TCustomEdit
 に変更(PASCALIMPLEMENTATIONを追加する)。
4.199行目の
template TTimeBtnState ;
 をコメントアウト
5.プロジェクトオプションの「パッケージ」で「実行時パッケージを使って構築」にチェック。パッケージにVclx50とvclsmp50を追加。

 これでおそらくEditEditor等も使えると思います。
 でも、スタティックリンクができなくなっちゃうんだなぁ…。



1994 Re^5: FormViewEditorをC++Builderで表示する方法 コメント数:  9件
  FUU   | 2002/01/27 (日) 03:09
 http://homepage1.nifty.com/fuu/
FUUです。
本田さんにはFDELPHIでお世話になってます。
BCBでうまくいかないって発言が多くてちょっと悔しいので(^^;

> > でもね(^^; TSpinEdit は TEditor のインストーラーが必要とするので
> > C++Builder にあると思うのですが。無いと TEditor のプロパティエディ

 ちょっと試してみたのですが、BCB5のSpin.hがおかしいことが諸悪の根元のようで。
 まずこのファイル、DelphiのTSpinEditのためのヘッダなので、拡張子が.hppでないといけないはずなのです。BCBのサンプルのCSpinには、CSpin.hが別にありますので。
 さらにファイルの中身も一部おかしいようです。class宣言にPASCALIMPLEMENTATIONがないし、最後に謎のtemplate宣言があるし…。
 もひとつおまけに、vclsmp50.libの中身が空なので、実行時パッケージを使わないとビルドできない…(--;

…文字数足りないので次の発言へ続きます(^^;



1993 Re: THTMLFountain について コメント数:  0件
  本田勝彦  |  2002/01/26 (土) 00:51
まず、TFountain コンポを接続すると、TEditor.View.Colors で有効なのは Select と Hit だけになります。

また、THtmlFountainParser は < > の中で取得されるトークンを特別扱いしていますが、それ意外のトークンはデフォのままです。つまり

> <FONT COLOR="#FB3965">UPX 圧縮について</FONT>

の「UPX 圧縮について」の語句は、今まで通り UPX, 圧縮、について、の三つのトークンとして扱われているので、ご希望の部分だけを別の色でという機能は持っていません。



1992 Re: Teditorに組み込まれている機能を使うには コメント数:  1件
  本田勝彦  |  2002/01/26 (土) 00:43
現在この仕組みを考え中なのですが、実装はまだだいぶ先になりそうです。
とりあえず Ctrl + → をコードで実現する場合は

keybd_event(VK_CONTROL, 0, 0, 0);
keybd_event(VK_RIGHT, 0, 0, 0);
keybd_event(VK_RIGHT, 0, KEYEVENTF_KEYUP, 0);
keybd_event(VK_CONTROL, 0, KEYEVENTF_KEYUP, 0);

で動作します。



1991 Teditorに組み込まれている機能を使うには コメント数:  2件
  けい  | 2002/01/23 (水) 20:56
初めて書き込みます。教えてください。
Teditor にあらかじめ組み込まれている機能、たとえば「カーソル右へ」
とか「左の単語へ」とか「タブ挿入」その他をプログラムから使うにはど
うすればいいのでしょうか。たとえば、^I でタブ挿入とか^K で前の
単語へとかする場合、新たにプログラムしなければならないのでしょうか。
何かヒントをいただければうれしいのですが。よろしく御願いします。



1990 THTMLFountain について コメント数:  1件
  ゆうきひろ  | 2002/01/23 (水) 20:37
 http://homepage2.nifty.com/ultla7/mozart/_start.htm
 タグ間にある文字列の色の変更はどうするのでしょうか? たとえば
<FONT COLOR="#FB3965">UPX 圧縮について</FONT>
の 'UPX 圧縮について' などです。
 TEditorParser.TokenToFountainColor、THTMLFountainParser.TokenToFountainColor をざっと見た限りでは、THTMLFountain を接続している TEditor の View.Colors.Ank.Color や View.Colors.DBCS.Color の影響をそのまま受けそうですけど、そうはならないですよね。いまだに TFountainParser クラスの仕組みがよくわかってない私(^O^;)。



1989 Re^4: FormViewEditorをC++Builderで表示する方法 コメント数:  10件
  柳生  | 2002/01/23 (水) 11:45
 http://www.netforce.co.jp/
> でもね(^^; TSpinEdit は TEditor のインストーラーが必要とするので C++Builder にあると思うのですが。無いと TEditor のプロパティエディタをインストール出来ないハズです。

TEditorはTEditor Q&Aに掲載されていました方法で正常にインストールできました。やはり、TSpinEditを探してプロジェクトに追加しないとダメのようですので探してみます。
貴重な時間を割いて頂いてありがとうございました。



1988 Re^3: FormViewEditorをC++Builderで表示する方法 コメント数:  11件
  本田勝彦  |  2002/01/23 (水) 04:04
> HViewEdt.pasをC++Builderのプロジェクトに追加しようとしたところ、”クラスTSpinEditが見当たらない”というエラーで追加できませんでした。

なるほど、そういう訳だったのですね。言葉が過ぎたようです。申し訳ありません。

でもね(^^; TSpinEdit は TEditor のインストーラーが必要とするので C++Builder にあると思うのですが。無いと TEditor のプロパティエディタをインストール出来ないハズです。



1987 Re^2: FormViewEditorをC++Builderで表示する方法 コメント数:  12件
  柳生  | 2002/01/22 (火) 12:03
 http://www.netforce.co.jp/
> C++Builder から Delphi ユニットを利用する方法についての記述が、マニュアルやオンラインヘルプにありませんか?
>
> 「マニュアル読んだんかなぁ」というレベルのご質問のように思われますが。

きついお言葉を頂きました。
当然オンラインヘルプは読みました。(ただし、いままではJAVA、VC++で開発、C++BuilderとDelphiは実質今月はじめたばかりで不慣れ。)

私の行ったことは
HViewEdt.pasをC++Builderのプロジェクトに追加しようとしたところ、”クラスTSpinEditが見当たらない”というエラーで追加できませんでした。VCLにもありません。そこで、http://www.delphi32.com/vcl/lists/sc_n_36.aspでTSpinEditをダウンロードしようとしましたが、発見することができませんでした。また、TSpinEditをプロジェクトに追加して本当にうまくいくのかという不安もありました。(弊社でDelphi経験者なし^^;)
という経緯でこの掲示板でお尋ねしたものです。



1986 Re: FormViewEditorをC++Builderで表示する方法 コメント数:  13件
  本田勝彦  |  2002/01/21 (月) 22:36
C++Builder で、サンプルの unit1.pas, unit1.dfm を開いて、メニュー項目にアタッチされているハンドラをご覧になることは出来ないのでしょうか?

HViewEdt.pas を uses 節に追加して、EditEditor 関数を呼び出すだけですよ?

C++Builder から Delphi ユニットを利用する方法についての記述が、マニュアルやオンラインヘルプにありませんか?

「マニュアル読んだんかなぁ」というレベルのご質問のように思われますが。



1985 Re: TOleddEditor の FileDropEvent コメント数:  0件
  本田勝彦  |  2002/01/21 (月) 22:31
> ファイル名を String か、複数ファイルも考慮して TStringList
> で渡してもらえるといいと思います。

個人的な趣向ですが、その場限りのオブジェクトはその場で破棄したいので、やるつもりはありません。

hOleddUtils.pas にある HandleToFileNames を利用する汎用ルーチンをこしらえて TStringList を返してもらうような作りにして下さい。(破棄の責任も含めて作ってね)

> あと、KeyState も TShiftStates 型で渡されてくる方が、
> 他の VCL のイベントと合っていると思うのですが。

この KeyState って TShiftStates と互換性があったんでしたっけ(^^;?




1984 FormViewEditorをC++Builderで表示する方法 コメント数:  14件
  柳生  | 2002/01/20 (日) 11:14
 http://www.netforce.co.jp/
C++Builder、Delphi、TEditorの3重苦で悩んでいる柳生です。

hedit236.lzhに同梱のsampleプログラムで表示メニューのカレント環境設定をクリックすると、FormViewEditorが表示されますが、このフォームをC++Builderで表示する方法がわかりません。

なお、C++BuilderのプログラムでTEditorのMarkプロパティで色指定はできます。

ちなみに以前のメールで検索ダイアログは、夜ゲイツさんのご回答により、
> if (!TFormSearch::Execute(__classid(TForm), FSearchValue, FSearchOptions)) return;
> Search();
で表示できました。

FormViewEditorをC++Builderで表示する方法について宜しくお願いします。



1983 TOleddEditor の FileDropEvent コメント数:  1件
  パンタグラフ  | 2002/01/19 (土) 21:00
 http://homepage1.nifty.com/cosmic/
TOleddEditor の FileDropEvent ですが、使う側からすると、
非常に使いづらいと思うのですが、私だけでせうか?

ファイル名を String か、複数ファイルも考慮して TStringList
で渡してもらえるといいと思います。

あと、KeyState も TShiftStates 型で渡されてくる方が、
他の VCL のイベントと合っていると思うのですが。

このあたりを改良していただけないでしょうか。



1982 Re^4: TStringsPrinterのTAB展開数 コメント数:  0件
  夜ゲイツ  | 2002/01/19 (土) 13:10
> 無いです(^^;
>
> TStringsPrinter は TEditor も、TabSpaceCount も知りませんので、TEditor の各行を ExpandTab したものを、別の TStringList に格納して、それを TStringsPrinter に渡せば実現出来ると思います。

了解しました。
無いと解ればよい事であって、探し方が悪いのかと思っていたんです。



1981 Re^3: TStringsPrinterのTAB展開数 コメント数:  1件
  本田勝彦  |  2002/01/19 (土) 09:29
> 書き方が悪かったんですが、TabSpaceCountプロパティに相当するものは無いのでしょうか?
> Tabの展開数は可変でないと困ると思うんです。

無いです(^^;

TStringsPrinter は TEditor も、TabSpaceCount も知りませんので、TEditor の各行を ExpandTab したものを、別の TStringList に格納して、それを TStringsPrinter に渡せば実現出来ると思います。




1980 Re^2: TStringsPrinterのTAB展開数 コメント数:  2件
  夜ゲイツ  | 2002/01/19 (土) 08:47
> > StrPrn18のTStringsPrinterの事なんですが、素のまま使っていて気づきません
> > でしたが、TABの展開(任意の空白)をやらないようなんですね。
>
> あれ〜?変ですね。ウチではタブが展開されます。
>
> 渡された TStrings の各行を表示幅に収まるように折り返し処理を行ってから、DrawText に DT_EXPANDTABS を渡しているので、展開されると思うのですが。

書き方が悪かったんですが、TabSpaceCountプロパティに相当するものは無いのでしょうか?
Tabの展開数は可変でないと困ると思うんです。



1979 Re: URL リンク文字列 コメント数:  0件
  本田勝彦  |  2002/01/19 (土) 03:27
>  以前からちょっと気になっていたのですが Delphi2 でコンパイルしたサンプルプログラムの HTML のページに、複数の URL リンク文字列を張り付け、それをダブルクリックして、サンプルプログラムに戻ったとき(クリックしないで)マウスを移動すると、はじめにクリックした位置から選択状態になることがあります。

ウチでもなります。

>  さほど気にならない症状ですし、Delphi5 でコンパイルすればまったく発生しないのですが、

ということで気にしないことにします。(^^;
D2, D5 でダブルクリックイベント発生のタイミングが変わっているのかもしれませんね。



1978 Re: TStringsPrinterのTAB展開数 コメント数:  3件
  本田勝彦  |  2002/01/19 (土) 03:25
> StrPrn18のTStringsPrinterの事なんですが、素のまま使っていて気づきません
> でしたが、TABの展開(任意の空白)をやらないようなんですね。

あれ〜?変ですね。ウチではタブが展開されます。

渡された TStrings の各行を表示幅に収まるように折り返し処理を行ってから、DrawText に DT_EXPANDTABS を渡しているので、展開されると思うのですが。



1977 Re^3: c++Builder5でSearchメソッドが機能しません(2) コメント数:  0件
  柳生  | 2002/01/17 (木) 13:33
 http://www.netforce.co.jp/
> 具体的には以下のプログラムで動いてます。
途中省略
> void __fastcall TNtEditDlg::FindFirstExecute(TObject *Sender)
> {
> if (!TFormSearch::Execute(__classid(TForm), FSearchValue, FSearchOptions)) return;
> Search();
> }
ありがとうございました。
include宣言の不備もありましたが、上記メソッドによりダイアログ表示、検索ができました。
初歩的なことであったかも知れませんが、C++BuilderとDelphiに不慣れですのでまったく見当がつきませんでした。
今後とも宜しくお願いします。




1976 Re^3: c++Builder5でSearchメソッドが機能しません(3) コメント数:  0件
  夜ゲイツ  | 2002/01/17 (木) 13:25
void __fastcall TNtEditDlg::FindNextExecute(TObject *Sender)
{
if (FSearchValue.Length()) {
FSearchOptions << sfrDown;
Search();
}
}

ちなみにTEditorはversion2.01ですが、ご参考になれば幸いです。

PS.この掲示板は投稿文字数の制約が苦しいです。



1975 Re^2: c++Builder5でSearchメソッドが機能しません(2) コメント数:  2件
  夜ゲイツ  | 2002/01/17 (木) 13:22
> C++BuilderでSearchメソッドを使用または検索ダイアログを表示するにはどうしたらよろしいでしょうか。

具体的には以下のプログラムで動いてます。
bool TNtEditDlg::Search(void)
{
TSearchInfo Info;

Info.Start = Editor->SelStart;
Info.Length = Editor->SelLength;

if (SearchText(Editor->Lines->Text.c_str(), Info, FSearchValue, FSearchOptions))
{
Editor->SelStart = Info.Start;
Editor->SelLength = Info.Length;
if (Editor->Row - Editor->TopRow > Editor->RowCount * 4 % 5)
Editor->TopRow = Editor->Row - Editor->RowCount % 3;
else
if (Editor->Row - Editor->TopRow < Editor->RowCount % 5)
Editor->TopRow = Editor->Row - Editor->RowCount % 3;
return(true);
}
else
Beep();
return(false);
}

void __fastcall TNtEditDlg::FindFirstExecute(TObject *Sender)
{
if (!TFormSearch::Execute(__classid(TForm), FSearchValue, FSearchOptions)) return;
Search();
}



1974 Re: c++Builder5でSearchメソッドが機能しません(1) コメント数:  3件
  夜ゲイツ  | 2002/01/17 (木) 13:18
こんにちは。
本田さんがお忙しい様なのと私の質問に専念して頂くために私がお答えします。

> コンポーネントを使って、色分けすることはできましたが、検索・置換で使用する
> Searchメソッドが機能しませんでした。

> そこでc++Builder5でHSchfm.pasをコンパイル、インクルードして
インクルードは4個宣言されていますか?
#include "HEditor.hpp"
#include "HtSearch.hpp"
#include "HReplfm.hpp"
#include "HSchfm.hpp"

Htsearch::TSearchOptions FSearchOptions; // 静的変数で宣言しないと動かないです。



1973 TStringsPrinterのTAB展開数 コメント数:  4件
  夜ゲイツ  | 2002/01/16 (水) 20:13
毎度お世話になります。

StrPrn18のTStringsPrinterの事なんですが、素のまま使っていて気づきません
でしたが、TABの展開(任意の空白)をやらないようなんですね。
今後対応する予定があるのでしょうか、無いのならどの部分を改造すれば良いのか
教えて下さい。

もし使い方が悪いのならごめんなさいです。



1972 URL リンク文字列 コメント数:  1件
  ゆうきひろ  | 2002/01/16 (水) 20:04
 http://homepage2.nifty.com/ultla7/mozart/_start.htm
 以前からちょっと気になっていたのですが Delphi2 でコンパイルしたサンプルプログラムの HTML のページに、複数の URL リンク文字列を張り付け、それをダブルクリックして、サンプルプログラムに戻ったとき(クリックしないで)マウスを移動すると、はじめにクリックした位置から選択状態になることがあります。
 TEditor の バージョンは 2.25 ですが、それ以前から見られた症状です。ひょっとしたら私の環境だけに限ってのことかもしれないと思ったのですが、最近所有する2台の PC を相次いで再インスツールした直後でも同じでした。ただ、Presario は 90%以上の割合で再現しますが、LaVie U はやや少なく 60%くらいでしょうか(これも不思議)。
 Compaq Presario 3574+Win98
 NEC LaVie U +Win98

 さほど気にならない症状ですし、Delphi5 でコンパイルすればまったく発生しないのですが、なんとなく気になります。同じような方、いらっしゃいませんか(今どき Delphi2 を使っているのは極端な少数派でしょうが……)。



1971 c++Builder5でSearchメソッドが機能しません コメント数:  4件
  柳生  | 2002/01/15 (火) 16:34
 http://www.netforce.co.jp/
ホームページでTEditorを見つけまして、c++Builder5でTEditorをインストール
しました。

コンポーネントを使って、色分けすることはできましたが、検索・置換で使用する
Searchメソッドが機能しませんでした。

//プログラム
dynamic_cast<TForm2*>(MDIChildren[0])->Editor1->Search(FSearchValue,FSearchOptions);
ShowMessage("PASS Search ");
//ここまで

上記のようにプログラムしましたが、何も実行しないで"Pass Search"へ抜けてしまいます。

そこでc++Builder5でHSchfm.pasをコンパイル、インクルードして

FormSearch->Execute(FSearchValue,FSearchOptions);
のようにして、検索ダイアログを出そうとしましたが、コンパイル時に
[C++ エラー] Aedit.cpp(132): E2034 'AnsiString' 型は 'TMetaClass *' 型に変換できない
というエラーになってしまいます。

C++BuilderでSearchメソッドを使用または検索ダイアログを表示するにはどうしたらよろしいでしょうか。



1970 Re^3: 折り返し時のDrawLine コメント数:  0件
  Km   | 2002/01/14 (月) 11:12
こんにちは。

> # TEditorEx使わせていただいてます。
> # 以下の変更をすることで、Delphi6でも使えるようになりました。
> * EditorExReg.pas
> 22行目の
> Classes, DsgnIntf;
> を、以下のように変更
> Class,
> {$IFDEF VER140}
> DesignIntf, DesignEditors;
> {$ELSE}
> Dsgnintf;
> {$ENDIF}
> # ご参考まで。

情報感謝です。



1969 Re^2: 折り返し時のDrawLine コメント数:  1件
  sakazuki   | 2002/01/14 (月) 10:11
 http://homepage2.nifty.com/sakazuki/rde.html
Kmさん。こんにちは。
> > 折り返し時に、OnDrawLineが渡すLineStrが、次行の文字列とつながったものとなっていますが、これは正常な動作でしょうか?
>
> 正常な動作です。
なるほど。

> > 正常な動作だとしたら、本来の文字列のみ抜き出すうまい方法があれば教えてください。
>
> ListStringですね。
ばっちり解決しました。ありがとうございました。

# TEditorEx使わせていただいてます。
# 以下の変更をすることで、Delphi6でも使えるようになりました。
* EditorExReg.pas
22行目の
Classes, DsgnIntf;
を、以下のように変更
Class,
{$IFDEF VER140}
DesignIntf, DesignEditors;
{$ELSE}
Dsgnintf;
{$ENDIF}
# ご参考まで。



1968 Re: 折り返し時のDrawLine コメント数:  2件
  Km   | 2002/01/14 (月) 10:00
> 折り返し時に、OnDrawLineが渡すLineStrが、次行の文字列とつながったものとなっていますが、これは正常な動作でしょうか?

正常な動作です。

> 正常な動作だとしたら、本来の文字列のみ抜き出すうまい方法があれば教えてください。

ListStringですね。



1967 折り返し時のDrawLine コメント数:  3件
  sakazuki   | 2002/01/14 (月) 03:34
 http://homepage2.nifty.com/sakazuki/rde.html
こんにちは。sakazukiです。
折り返し時に、OnDrawLineが渡すLineStrが、次行の文字列とつながったものとなっていますが、これは正常な動作でしょうか?

こんなかんじ<
で渡ってきま<
す。

(1行目)こんなかんじで渡ってきま
(2行目)で渡ってきます。
(3行目)す。

正常な動作だとしたら、本来の文字列のみ抜き出すうまい方法があれば教えてください。
よろしくおねがいします。



1966 Re^4: TOleddEditor ver 1.10 コメント数:  0件
  DEKO   | 2002/01/10 (木) 00:58
 http://homepage1.nifty.com/ht_deko/
>はよ〜 ver2.xx へ移行するのぢゃ。

 ははーっm(_ _)m でも、ver2.xxはやりたい事が多すぎて困ってしまいます。

#今年の課題にさせて頂きます。



1965 Re^3: TOleddEditor ver 1.10 コメント数:  1件
  本田勝彦  |  2002/01/09 (水) 22:49
> 安定版(ver1.69)でも動作しました。
>
> ・LeftMargin->Margin.Leftへ変更
> ・heverdef.incを最新版からコピー(^^;

雑談拝見致しました。ver 1.69 は忘れてました。いごいていかったいかった(^^)

はよ〜 ver2.xx へ移行するのぢゃ。




1964 Re: 感謝です。 コメント数:  0件
  本田勝彦  |  2002/01/09 (水) 22:47
遅くなりました。すんません。

> TEditorを使いたいがためにDelphiに改宗して1ヶ月ほどになります。MLEditというフリーウェアのDelphiへの書き換えが終わりつつあります。TEditorの優秀さにあらためて感激しています。基本的な機能をTEditorが持っていてくれるので、とってもシンプルなコーディングになりました。高機能かつ軽快ですね。自分のソフトが見違えるほどに良くなってとっても感謝しています。
> 私はC++にはもう戻らないでしょう。SMLもDelphiと同じアルゴル系の言語なので、こっちの方がしっくりきますね。ただ、APIへの型キャストには苦労しました。(しています。)

額に入れてボーランドへ進呈したくなるようなコメントですね。ありがとうございます。ホームページ拝見させて頂きました。リンクさせて下さいね。

これからも TEditor をよろしくお願い致します。



1963 Re^2: TOleddEditor ver 1.10 コメント数:  2件
  DEKO   | 2002/01/06 (日) 00:19
 http://homepage1.nifty.com/ht_deko/
安定版(ver1.69)でも動作しました。

・LeftMargin->Margin.Leftへ変更
・heverdef.incを最新版からコピー(^^;



1962 感謝です。 コメント数:  1件
  笹川賢一  | 2002/01/04 (金) 12:27
 http://www5a.biglobe.ne.jp/~sasagawa/MLEdit/
TEditorを使いたいがためにDelphiに改宗して1ヶ月ほどになります。MLEditというフリーウェアのDelphiへの書き換えが終わりつつあります。TEditorの優秀さにあらためて感激しています。基本的な機能をTEditorが持っていてくれるので、とってもシンプルなコーディングになりました。高機能かつ軽快ですね。自分のソフトが見違えるほどに良くなってとっても感謝しています。
私はC++にはもう戻らないでしょう。SMLもDelphiと同じアルゴル系の言語なので、こっちの方がしっくりきますね。ただ、APIへの型キャストには苦労しました。(しています。)



1961 Re^2: V2.36 Deleteキーに不具合? コメント数:  0件
  かとちん  | 2002/01/04 (金) 02:25
> heditor.pas の TEditorPopupMenu の実装部には、Delete キーをショートカットに割り当てるコードは無いっす(^^;

あ!
自分で昔いれといて,すっかり忘れてしまったという
とてつもなく恥ずかしいことをしてしまったようです。
しかもそれを確認なしに投げかけてしまいました...
大変に失礼しました。どうかご容赦を。m(_ _;)m



1960 Re: V2.36 Deleteキーに不具合? コメント数:  1件
  本田勝彦  |  2002/01/04 (金) 02:07
> Deleteキーが,ポップアップメニューのショートカットに
> なったようですが,領域選択状態にないと,Deleteキーが
> 効かなくなってしまいました。

> if AnsiPos('削除', Editor1.PopupMenu.Items[I].Caption) > 0 then

heditor.pas の TEditorPopupMenu の実装部には、Delete キーをショートカットに割り当てるコードは無いっす(^^;



1959 V2.36 Deleteキーに不具合? コメント数:  2件
  かとちん  | 2002/01/02 (水) 12:08
Deleteキーが,ポップアップメニューのショートカットに
なったようですが,領域選択状態にないと,Deleteキーが
効かなくなってしまいました。

TEditor.WMKey であれば,選択状態か否かでClearSelection
するか,普通にカーソル位置の文字削除が実行されていたのに,
メニューに追加されると,先に奪われてしまうので,
領域選択での削除しか実行できなくなっています。

仕方なく,
for I := 0 to Editor1.PopupMenu.Items.Count-1 do
begin
if AnsiPos('削除', Editor1.PopupMenu.Items[I].Caption) > 0 then
begin
Editor1.PopupMenu.Items[I].ShortCut := 0;
Break;
end;
end;
などと最初にやるようにしていますが,
可能であればポップアップメニューでの削除も,WMKeyDownでの
削除と同様にできませんでしょうか。
もし何らかの思想があって,現状のようになっているのでしたら
教えてください。



1958 Re: 画面分割時のちらつきについて コメント数:  0件
  本田勝彦  |  2001/12/29 (土) 20:35
> いつもお世話になっております。ともです。
> 画面を分割する時とか、またそれを解除する時に、一瞬画面が
> ちらつくのですが、これを止める方法はあるのでしょうか?
> よろしく、お願いします。

付属のサンプルで Parent を設定するタイミングを変えると少し改善されるかもしれません。

・新しいエディタの生成
・大きさを設定 Width, Height
・Parent を設定
・Align を設定

処理の順番については色々試して見て下さい。



1957 画面分割時のちらつきについて コメント数:  1件
  とも  | 2001/12/29 (土) 13:16
いつもお世話になっております。ともです。
画面を分割する時とか、またそれを解除する時に、一瞬画面が
ちらつくのですが、これを止める方法はあるのでしょうか?
よろしく、お願いします。



1956 ありがとうございます。 コメント数:  0件
  とも  | 2001/12/22 (土) 19:25
お名前がわからないので、Aさんでよろしいでしょうか。
どうもありがとうございます。うまくいきました。
特に enter でデータが消える件は、会社の秀丸やそのたの
エディターでも同じ現象なので、これはもう仕方ないのかと
半ばあきらめていましたので。
#9,とか#13を使うのですね。そうとは知らずに
Chr(13) とかコントールキーも VK_CONTROL を使って、何で
出来ないのかと、ずっと悩んでました。
これでスッキリしたので、今晩はぐっすり眠れそうです。
お世話になりました。ありがとうございます。



1955 Re: TOleddEditor ver 1.10 コメント数:  3件
  M&I  | 2001/12/22 (土) 13:20
 http://member.nifty.ne.jp/m-and-i/
> お試しあれ〜・・・

Word2000,Excel2000でもOKでした(^o^)/



1954 Re: また、教えてください コメント数:  1件
  A・・・  | 2001/12/22 (土) 12:15
> 1)範囲指定して、TAB キーとか ENTER をおすと、範囲指定されてる
>   データが消えますが、これを止めるにはどうすれば・・・・
procedure TForm1.EditorKeyPress(Sender: TObject; var Key: Char);
begin
if Editor.SelLength = 0 then Exit;
if (key = #9) or (key = #13) then
Key:= #16; { Shiftを押したことにしてしまう。:動作に影響がないKEY }
end;

> 2)範囲指定を、ESC キーでキャンセルしたいのですが・・・・
> 3)行削除の ShortCut で Ctrl + Enter を設定したいのですが・・・

procedure TForm1.EditorKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
var
c: Integer;
begin
if (Key = VK_ESCAPE) then
Editor.SelLength:= 0
else if (ssCtrl in Shift) and (Key = VK_RETURN) then begin
c:= Editor.Col;
Editor.DeleteRow(Editor.Row);
Editor.Col:= c;
end;
end;

これでどうでしょうか?
久しぶり〜〜〜 に出てきました(^^)



1953 また、教えてください コメント数:  2件
  とも  | 2001/12/21 (金) 21:30
いつもお世話になります。ともです。
また、教えてください。

1)範囲指定して、TAB キーとか ENTER をおすと、範囲指定されてる
  データが消えますが、これを止めるにはどうすれば・・・・

2)範囲指定を、ESC キーでキャンセルしたいのですが・・・・

3)行削除の ShortCut で Ctrl + Enter を設定したいのですが・・・

またまた、みなさんのお知恵を拝借したいのです。
よろしく、お願いします。



1952 TOleddEditor ver 1.10 コメント数:  4件
  本田勝彦  |  2001/12/21 (金) 02:00
公開です。インターフェースオブジェクトの生成破棄のタイミングを
CreateWnd, DestroyWnd のペアにしていたのが敗因だったようです。
Windows らしく WM_CREATE, WM_DESTROY で行うとメモリーリークは起きなくなりました。

お試しあれ〜・・・

最近激ジョブでし。



1951 Re^2: HTMLParserで コメント数:  0件
  本田勝彦  |  2001/12/21 (金) 01:58
> 特定のブロックのみ他のパーサに処理を委譲(委任?)
> でるような仕組みがつくれればいいんですよね。

むずいぴょん(^^; ひょっとしておもしろいかな?

自分が保持している文字列上のポインタをもいじり倒されて平気な奴を作らないと実現できませんねぇ。