[PR]生年月日で2010年運命占い:初回無料!貴女の悩みを占い師に相談

~katsuhiko メッセージボード

back 551-600

601-650

651-700


650 Re^10: キーアサイン(Re^2: 1行ずつのスクロールについて) コメント数:  0件
  本田勝彦  | 2000/07/31 (月) 00:53
 http://member.nifty.ne.jp/~katsuhiko
> うまく行きました。ばっちりです。

いかったいかった(^^)

> 中村の里で、勉強し直してくるかな(^^; VCLのキーイベントの受け渡し
> は難しいわー。

ですね。Forms.pas, Controls.pas を読んでて、おつむがスタックオーバー
フローした思い出があります。中村さんのホームページを見た時はたまげ
ましたです。はい。



649 Re: TEditor 1.72 コメント数:  0件
  本田勝彦  | 2000/07/31 (月) 00:48
 http://member.nifty.ne.jp/~katsuhiko
> LeftBar,Ruler共に良い感じです。ありがとうございました。

どもです(^^)




648 [EOF]の怪 コメント数:  4件
  ゆうきひろ  | 2000/07/30 (日) 18:14
 http://www.remus.dti.ne.jp/~kinpotwn/mozart/Nami2000.htm
私は未熟な↓
プログラマー[EOF]

 上記のようなテキストの末端が[EOF]になっているとき[EOF]のある行を選択
状態にすると、"[EOF]"が、"["だけになってしまうときがあります。
 これはもちろん私のまずいコ−ディングのせいなのですが、何が原因かさっ
ぱりわかりません。ま、実害はないんですけど。
 何か思い当たることはないでしょうか(^^;)。



647 Re^9: キーアサイン(Re^2: 1行ずつのスクロールについて) コメント数:  1件
  K2  | 2000/07/29 (土) 11:12
 http://web.kyoto-inet.or.jp/people/koyabu/
K2です。

> > > CN_KEYDOWN ではどうでっしゃろ?試してませんが(^^;
> >
> > やってみましょう。またご報告します(いらんか?(^^;)
>
> 今後の励みになるので、お手間で無ければ宜しくお願い致します。m(_ _)m

うまく行きました。ばっちりです。
中村の里で、勉強し直してくるかな(^^; VCLのキーイベントの受け渡し
は難しいわー。




646 TEditor 1.72 コメント数:  1件
  kmth   | 2000/07/28 (金) 03:15
こんにちは、kmthです。

LeftBar,Ruler共に良い感じです。ありがとうございました。




645 Re^8: キーアサイン(Re^2: 1行ずつのスクロールについて) コメント数:  2件
  本田勝彦  | 2000/07/28 (金) 01:17
 http://member.nifty.ne.jp/~katsuhiko
> > CN_KEYDOWN ではどうでっしゃろ?試してませんが(^^;
>
> やってみましょう。またご報告します(いらんか?(^^;)

今後の励みになるので、お手間で無ければ宜しくお願い致します。m(_ _)m

> 集合型が31個までというのならわかるのですが……
> 最初に書かれていた列挙型なら、32Bitで43兆個程度定義できるような気がします。

あ゛・・・過去ログを検証しました。仰せの通り、私の勘違いです(^^;
すんません。



644 Re^7: キーアサイン(Re^2: 1行ずつのスクロールについて) コメント数:  3件
  K2  | 2000/07/27 (木) 09:26
 http://web.kyoto-inet.or.jp/people/koyabu/
K2です。

> CN_KEYDOWN ではどうでっしゃろ?試してませんが(^^;

やってみましょう。またご報告します(いらんか?(^^;)

> > ところで、列挙型(でいいんでしたっけ?)って、31個まででしたっけ。
> > 31個では足りなくなる可能性が高いと思います(^^;
>
> 以前 nifty:FDELPHI で32 ビット中の1ビットを1個として・・・そんな話が
> あったような気がします。
>
> const
> cmd_NectChar = 1; // 以下延々 Cのようぢゃ(^^;

集合型が31個までというのならわかるのですが……
最初に書かれていた列挙型なら、32Bitで43兆個程度定義できるような気がします。
もちろんconstで定義してもいいですよね。



643 Re^7: Lines.Textへの代入で コメント数:  0件
  本田勝彦  | 2000/07/27 (木) 00:00
 http://member.nifty.ne.jp/~katsuhiko
>  直っていました。

いかったです。他にも何ぞ不具合がありましたら宜しくお願いします。



642 Re^6: キーアサイン(Re^2: 1行ずつのスクロールについて) コメント数:  4件
  本田勝彦  |  2000/07/26 (水) 23:58
 http://member.nifty.ne.jp/~katsuhiko
> ということで、WMKEYDOWNの処理は使えないのでやっかいです。

CN_KEYDOWN ではどうでっしゃろ?試してませんが(^^;

> ところで、列挙型(でいいんでしたっけ?)って、31個まででしたっけ。
> 31個では足りなくなる可能性が高いと思います(^^;

以前 nifty:FDELPHI で32 ビット中の1ビットを1個として・・・そんな話が
あったような気がします。

const
cmd_NectChar = 1; // 以下延々 Cのようぢゃ(^^;



641 Re^6: Lines.Textへの代入で コメント数:  1件
  清明  | 2000/07/26 (水) 18:20
> ご指摘のエラーは今公開中の ver 1.72 で直っていると思いますので
> お試し下さいまし。

 直っていました。



640 Re^5: キーアサイン(Re^2: 1行ずつのスクロールについて) コメント数:  5件
  K2  | 2000/07/26 (水) 12:22
 http://web.kyoto-inet.or.jp/people/koyabu/
K2です。

> キーリピートはフラグで持ってる訳ですから、プロパティにしてしまえば簡単に
> 参照出来ると思いますが、いかがでしょう? WM_KEYDOWN って、TEditor の場合
> inherited; してから仕事をしているので、KeyDown や メニューの方が先に処理
> されるという部分をクリアする必要はありますが。

僕も最初はそう思っていたのですが、TActionでキーを拾うと、WMKEYDOWNには
イベントが来ないのです。この辺はメニューにショートカットを設定した場合
によく似ています。
ということで、WMKEYDOWNの処理は使えないのでやっかいです。

> 例えば TEditorCommand = (ecNextLine, ecNextChar, ecPrevChar .....);
> (31個で足りるだろうか^^;)なんてのを考えて、
> procedure TEditor.CommandProcess(ACommand: TEditorCommand);
> begin
> case ACommand of
> .............
>
> なんてのはダメっすか?

TEditor本体のキーアサインをカスタマイズするなら、それで十分だし、
きれいですね。いいんじゃないでしょうか。
ところで、列挙型(でいいんでしたっけ?)って、31個まででしたっけ。
31個では足りなくなる可能性が高いと思います(^^;



639 Re^5: Lines.Textへの代入で コメント数:  2件
  本田勝彦  |  2000/07/26 (水) 00:35
 http://member.nifty.ne.jp/~katsuhiko
> D5です。

いいですね。D5。私は飼ってないんです(;_;)
ご指摘のエラーは今公開中の ver 1.72 で直っていると思いますので
お試し下さいまし。



638 Re^3: Lineを1以上にしたときの複数行選択で... コメント数:  0件
  本田勝彦  |  2000/07/26 (水) 00:32
 http://member.nifty.ne.jp/~katsuhiko
> でもやっぱり隙間が空くとちょっとカッコ悪いような
> 気がしますので、ちょっと期待していますですぅ。

私が長年愛用していた MIFES も隙間が空くタイプで、個人的には違和感は
無いのですが(^^; でも、アンダーラインの隙間はさすがに気持ち悪くて
埋めるような仕様にはなってるんですよね(^^;;;

あんまり期待しないでおいて下さい。(^^;;;;;;



637 Re^4: キーアサイン(Re^2: 1行ずつのスクロールについて) コメント数:  6件
  本田勝彦  |  2000/07/26 (水) 00:29
 http://member.nifty.ne.jp/~katsuhiko
キーリピートはフラグで持ってる訳ですから、プロパティにしてしまえば簡単に
参照出来ると思いますが、いかがでしょう? WM_KEYDOWN って、TEditor の場合
inherited; してから仕事をしているので、KeyDown や メニューの方が先に処理
されるという部分をクリアする必要はありますが。

例えば TEditorCommand = (ecNextLine, ecNextChar, ecPrevChar .....);
(31個で足りるだろうか^^;)なんてのを考えて、
procedure TEditor.CommandProcess(ACommand: TEditorCommand);
begin
case ACommand of
.............

なんてのはダメっすか?

TAction はその概念すら持ち合わせていないのでパスさして下さい(^^;;;;



636 Re^3: キーアサイン(Re^2: 1行ずつのスクロールについて) コメント数:  7件
  K2  | 2000/07/25 (火) 09:14
 http://web.kyoto-inet.or.jp/people/koyabu/
(続き)
 WMKEYDOWN から procedure を分離するにあたって、procedure の
中で SHIFT キーの状態を取得する必要があります。これは割と簡単
にできますが、問題はキーリピートです。どうやってキーリピート
を検知して動作を加速するかはなかなか難しい。現在は先送りです。
 TAction でキーの処理をやってしまえば、Alt キーなどもメニュー
に奪われることがないので、理想的です。ただ、WMKEYDOWN で直に
処理を行うのに比べたら、たぶん実行速度は遅くなってるでしょう
ね。
 後は、TAction の Enable をどうやって制御するか、TMenuItem
との接続とキーアサインをどう結びつけるかなどの問題が残ってい
ます。



635 Re^2: キーアサイン(Re^2: 1行ずつのスクロールについて) コメント数:  8件
  K2  | 2000/07/25 (火) 09:13
 http://web.kyoto-inet.or.jp/people/koyabu/
 K2です。
 現在、K2Editor の経験を元に、新しい HEditor 改造コンポを作っ
ています。元にした HEditor は 1.7X です。

 で、キーカスタマイズは全面的に TAction に頼ることにして、
HEditor の WMKEYDOWN ハンドラの中身を、すべて TAction の
OnExecute に代入できる procedure の形(NotifyEvent)にしまし
た。メインルーチンの方で、TAction を動的に作成し、HEditor に
新設したこれらの procedure に接続することで、キーアサインを実
現します。これによって、本体側の機能のキーアサインとも親和性
がよくなって、扱いやすくなると考えています。
(続く)



634 Re^2: Lineを1以上にしたときの複数行選択で... コメント数:  1件
  雄介  | 2000/07/25 (火) 06:45
 http://member.nifty.ne.jp/HQJ00672/
> 今のところありませんです。ソースコードのかなりの部分を書き直さないと
> 実現できません。すんません。

お返事ありがとうございます。とりあえず諦めます。

でもやっぱり隙間が空くとちょっとカッコ悪いような
気がしますので、ちょっと期待していますですぅ。




633 Re^2: 提案が2点ほど コメント数:  0件
  ほしけん  | 2000/07/23 (日) 08:28
 http://www.hosiken.w3.to/
> いっそ出さないとか(^^;
バグみたいな感じなのかなと思って書き込んだのですが、
仕様ならそれでいいです(^^; (ちょっとアレかなと思っただけですので)

> 8と10の最小公倍数である必要はあると思いますが、
あちゃー、そうですか(^^;
せっかく教えていただきましたが、やめておきます(^^;



632 Re: Lineを1以上にしたときの複数行選択で... コメント数:  2件
  本田勝彦  |  2000/07/23 (日) 00:04
 http://member.nifty.ne.jp/~katsuhiko
> Lineを1以上に設定すると、複数行選択したときに 選択行間の
> 下地に隙間が空くんですが、隙間が空かないようにする方法は
> ありますでしょうか?

今のところありませんです。ソースコードのかなりの部分を書き直さないと
実現できません。すんません。




631 Lineを1以上にしたときの複数行選択で... コメント数:  3件
  雄介  | 2000/07/22 (土) 08:37
 http://member.nifty.ne.jp/HQJ00672/
雄介と申します。素晴らしいTEditorをありがとうございます。

Lineを1以上に設定すると、複数行選択したときに 選択行間の
下地に隙間が空くんですが、隙間が空かないようにする方法は
ありますでしょうか?

よろしくお願い致します。

雄介 HQJ00672@nifty.ne.jp




630 Re^3: TEditor 1.71 SetWordWrap でエラー コメント数:  0件
  パンタグラフ  | 2000/07/21 (金) 09:24
> 改版をアップロード致しましたので、お試し下さいまし。
> 何度もすんませんです。m(_ _)m

いえいえ、とんでもないです。
夜遅くまで済みません。
いまから落として試してみます。



629 Re^4: Lines.Textへの代入で コメント数:  3件
  清明  | 2000/07/21 (金) 08:49
> D5ですか?
>
> D4とD5で TStringList.Clear の実装が変わったりしているのかしらん?

 最近PCを変更したため開発環境がD5のみとなってしまったため
D5です。



628 Re^2: TEditor 1.71 SetWordWrap でエラー コメント数:  1件
  本田勝彦  |  2000/07/21 (金) 02:21
 http://member.nifty.ne.jp/~katsuhiko
判明致しましたです。TEditorScreenStrings.InitBrackets メソッドのループで、
Count - 1 を越える場合が有りました。清明さんご指摘のエラーもつじつまが合う
ので、同じところに原因があったのではないかと思います。

皆さんご報告ありがとうございます。m(_ _)m
改版をアップロード致しましたので、お試し下さいまし。
何度もすんませんです。m(_ _)m



627 Re: TEditor 1.71 SetWordWrap でエラー コメント数:  2件
  ANZ!  | 2000/07/20 (木) 14:27
パンタグラフ(fumika)さん:

こちらで自作のプログラムのTEditor1.71に差替えたところ、ファイルを読み込ん
で編集し保存しようとしたところSaveメソッド呼び出すと同様に「インデックス
の範囲が越えています(99)」というメッセージが出ます。()内はそのファイルの
行数のようです。WordWrapは特にいじっていません。




626 TEditor 1.71 SetWordWrap でエラー コメント数:  3件
  パンタグラフ  | 2000/07/20 (木) 14:10
パンタグラフ(fumika)です。

TEditor1.71に載せかえたところ、文書を読み込んでから、
WordWrap を変更した際に「インデックスが範囲を超えてます」
エラーが出る場合があります。

呼び出し履歴を見ると
TEditor.SetWordWrap(True);
TEditorScreenStrings.SetWordWrap(True);
TEditorScreenStrings.InitBrackets;
TEditorStringList.SetBrackets(42, -1);

となっていて、SetBrackets 内でエラーとなります。
初期状態だとエラーにならないのですが、1行でも
スクロールした状態で WordWrap を変更するとエラーとなります。





625 Re^3: Lines.Textへの代入で コメント数:  4件
  本田勝彦  |  2000/07/19 (水) 23:30
 http://member.nifty.ne.jp/~katsuhiko
サンプルコードありがとうございました。TAwkStr は私も現在お勉強中なので
試して見ましたが、エラーは再現できませんでした。
D5ですか?

D4とD5で TStringList.Clear の実装が変わったりしているのかしらん?



624 Re: 余談(Re^2: 1行ずつのスクロールについて) コメント数:  9件
  本田勝彦  |  2000/07/19 (水) 23:27
 http://member.nifty.ne.jp/~katsuhiko
ご意見どうもです。

WMKeyDown, WMChar は ver 0.10 の頃から進化の無い部分なので
そのウチなんとかしたいと思います。

TEditor が命令セットを用意していて、ユーザーはキーとその命令セットの
関係を調節するといった方法でどうでしょう?



623 Re: 訂正 コメント数:  0件
  本田勝彦  |  2000/07/19 (水) 23:23
 http://member.nifty.ne.jp/~katsuhiko
これも SetString のせいかもしれません。

ver 1.71 の HEditor.pas 11,530行目

Result := Buf; となっているのを

Result := Copy(S, Parser.SourcePos + 1, Length(Buf));

としてお試し頂けますでしょうか?



622 Re^3: 1行ずつのスクロールについて コメント数:  0件
  本田勝彦  |  2000/07/19 (水) 23:18
 http://member.nifty.ne.jp/~katsuhiko
> できれば秀丸みたいにミリ秒指定できるといいかも〜

今の私には無理なようで(^^;




621 Re^2: Lines.Textへの代入で コメント数:  5件
  清明  | 2000/07/18 (火) 18:37
どうも
DrawLineの処理で以下のようなことをやっているぐらいです。
AWK1はBlackMonkeyさんのTAwkコンポーネントです。
ただ、Lines.Textに代入している段階ではまだフォームをShowしていません。

procedure TForm2.Editor1DrawLine(Sender: TObject; LineStr: String; X, Y,
Index: Integer; ARect: TRect; Selected: Boolean);
var
Xp: Integer;
i1,i2,i3,ll:integer;
ss :string;
begin
AWK1.RegExp := Form1.sSearch;
AWK1.UseFuzzyCharDic := Form1.CheckBox3.Checked;
ss := Editor1.ExpandTab(LineStr);
i3 := 0;
ll := AWK1.Match(ss,i1,i2);
while (Length(ss) > 0) and (ll <> 0) do
begin
Xp := X + (i3 + i1 - 1) * Editor1.ColWidth;
Editor1.Canvas.Font.Style := [fsBold];
Editor1.Canvas.Font.Color := clRed;
Editor1.Canvas.Brush.Style := bsSolid;
Editor1.DrawTextRect(ARect, Xp, Y, copy(ss,i1,i2), ETO_CLIPPED);
i3 := i3 + i1 + i2 - 1;
Delete(ss,1,i1+i2-1);
ll := AWK1.Match(ss,i1,i2);
end;
end;



620 ありがとうございました コメント数:  0件
  しなもん  | 2000/07/18 (火) 15:21
 http://www.geocities.co.jp/SiliconValley-Bay/7635/
> サンプルプロジェクトの Editor6 にも書いたのですが、ver 1.70 から
> LeftMargin, TopMargin メソッドが実装されています。んでこれらが
> Leftbar, Ruler の Visible に対応した値を返して来ますので、今回の場合
>
> Margin.Left の部分を LeftMargin に書き換えて頂ければ大丈夫です。
> たぶん(^^;

ありがとうございました。

Margin.Left の部分を LeftMargin に書き換えたら、
すんなり、うまく行きました。(たぶん、これで、いいんだと思う(^^;)






619 Re^3: TEditor 1.71, 1.64 コメント数:  0件
  てらお  | 2000/07/18 (火) 09:42
 http://www2s.biglobe.ne.jp/~t-susumu/toclip/
てらおです。

> 原因がわかりました。ver 1.70, 1.63 から TEditorParser の仕様を変えたの
> ですが、(受け取った文字列をコピーしないでそのままパースする)TokenString
> の返す値が今回のようなネストしたパースを行うと不正になるようです。
> Delphi の SetString がおかしい気もしますが。
>
> で、解決方法ですが、
> ・
> ・
> ・

解決しました!v(^^)v
う〜ん、快適快適。(^.^)
ありがとうございました〜



618 余談(Re^2: 1行ずつのスクロールについて) コメント数:  10件
  K2  | 2000/07/18 (火) 09:12
 http://web.kyoto-inet.or.jp/people/koyabu/
K2です。ちょっと余談です。

> K2さんの言われるキーカスタマイズ機能ってこういうことなのかなぁ?

キーカスタマイズというのは、すべての動作をユーザーが好きなキーに
割り当てることのできる機能です。
んで、現在のHEditorでは、WMKeyDownとWMCharで、キーに対して固定的に
動作を定義してありますが、これでは、たとえ外部でキーカスタマイズ機能を
搭載しても、完璧なものにはなりません。WMKeyDownやWMCharをvirtualにして、
外部でoverrideするにも、現在のWMKeyDown、WMCharハンドラの内容が濃いので、
無駄が多いっす。
ということは、キーカスタマイズをするには、WMKeyDownやWMCharのハンドラを
完璧に書き換える必要があるんす。また、ハンドラ内の機能は独立で外部から
呼びたいものも多いです。本当は、機能をメソッド化して、ハンドラ内は必要
最小限のコードだけにしてもらえると、比較的改造が簡単になります。

理想的なキーカスタマイズの実装は、僕もまだまだ決め手がないです。D4から
追加されたActionのShortCutはかなり使えますが、書き換えるのに時間が
かかるのと、ShortCutを一個しか定義できないのが悩みどころです。



617 訂正 コメント数:  1件
  ゆうきひろ  | 2000/07/18 (火) 08:00
 http://www.remus.dti.ne.jp/~kinpotwn/mozart/Nami2000.htm
>  関連づけられたソフトは正常に起動しますが、その後の処理がおかしくなときが 拙作の例では何回かクリックしてソフトの起動を繰り返し、TreeViewの項目をク
> リックすると「インデックスの範囲を超えています」が頻発します。
>  Ver1.61では見られなかった現象です。

関連づけられたソフトは正常に起動するが、その後の処理がおかしくなるときがあります。拙作の例では何回かクリックしてソフトの起動を繰り返し、TreeViewの項目をクリックすると「インデックスの範囲を超えています」が頻発します。
 Ver1.61では見られなかった現象です。



616 昨夜削除したけど(^^;) コメント数:  2件
  ゆうきひろ  | 2000/07/18 (火) 07:57
 http://www.remus.dti.ne.jp/~kinpotwn/mozart/Nami2000.htm
 Ver1.71に差し替えましたが・・・
 漠然とした指摘で申し訳ないのですが TokenStringBracketFromCaret を使用したコードの部分で不安定になることがあります。
//jpg に関連づけられたソフトを起動する例
S := TEditor1.TokenStringBracketFromCaret;
//S := <file@N:\zpg\jpn\なみ\Nami21.jpg>
dmy := Copy(S,1,6);
if dmy = '<file@' then
begin
Delete(S,1,6); // <file@ を抜く
Delete(S,Length(S),1); // > を抜く
end;
ShellExecute(Handle, 'OPEN', PChar(S), '', '', SW_SHOW);
 関連づけられたソフトは正常に起動しますが、その後の処理がおかしくなときが 拙作の例では何回かクリックしてソフトの起動を繰り返し、TreeViewの項目をク
リックすると「インデックスの範囲を超えています」が頻発します。
 Ver1.61では見られなかった現象です。



615 Re^2: 1行ずつのスクロールについて コメント数:  1件
  えくせる  | 2000/07/18 (火) 02:45
 http://hp.vector.co.jp/authors/VA014299/
そうでしたか,すみません.
ぽちっ・ぽちっという間隔で押してても再現してしまうのでぎょっとします.
できれば秀丸みたいにミリ秒指定できるといいかも〜



614 Re: 1行ずつのスクロールについて コメント数:  13件
  本田勝彦  |  2000/07/18 (火) 01:35
 http://member.nifty.ne.jp/~katsuhiko
> 下矢印キーで1行ずつスクロールしながら読んでいると
> たまに1行多くスクロールされてしまいます.
> 確認お願いします.

キーリピート状態での上下の矢印キーによるスクロールは2行になってます。
速さを演出するための小技なんですがね(^^;

気に入らない場合は、WMKeyDown 内の VK_UP, VK_DOWN のところで、
IncRow := 2; となってるのを1にして下さい。

K2さんの言われるキーカスタマイズ機能ってこういうことなのかなぁ?




613 Re: Lines.Textへの代入で コメント数:  6件
  本田勝彦  |  2000/07/18 (火) 01:29
 http://member.nifty.ne.jp/~katsuhiko
お久しぶりです。

> メインフォームでデータを読込サブフォームのTEditorに対して
> Form2.Editor1.Lines.Text := s;
> といようにデータを渡している場所で、「インデックスの範囲を超えています」
> というエラーが頻発するようになりました。

ウチでは再現出来ませんでしたが、Col, Row の変化によるイベントハンドラ
はどんなあんばいになってますでしょうか?よろしかったらお聞かせ頂けると
有り難いです。RowToLines メソッドは、インデックスのエラー処理を行って
いないので怪しいといえば怪しいのですが(^^;




612 Re: 提案が2点ほど コメント数:  1件
  本田勝彦  |  2000/07/18 (火) 01:24
 http://member.nifty.ne.jp/~katsuhiko
> こんにちは、ルーラー・行表示表示の実装お疲れ様でした。
> ううむ、バッチリです。(^^)v 自分で実装せずに待っていた甲斐がありました(^^;

どもども(^^)

> もし折り返しが設定されている場合は、横スクロールバーの長さを、その折り返し字数に
> 合わせて調整する(というか横スクロール自体を制限する)というのはどうでしょうか。

いっそ出さないとか(^^;

> あと、ルーラーについても、折り返し点以降の分は描画しないというのはどうかなと思うのですが。

procedure TEditor.DrawRulerBases; の中で、MaxLineCharacter を判別
している部分を希望の数値に置き換えるとそのようになると思います。
8と10の最小公倍数である必要はあると思いますが、試してみて下さい。(^^)



611 Re^2: TEditor 1.71, 1.64 コメント数:  1件
  本田勝彦  |  2000/07/18 (火) 01:15
 http://member.nifty.ne.jp/~katsuhiko
> うむ〜、直っていませんでした…(T.T)

原因がわかりました。ver 1.70, 1.63 から TEditorParser の仕様を変えたの
ですが、(受け取った文字列をコピーしないでそのままパースする)TokenString
の返す値が今回のようなネストしたパースを行うと不正になるようです。
Delphi の SetString がおかしい気もしますが。

で、解決方法ですが、

if Parser.Token = toBracket then
begin
Parser2 := TEditorParser.CreateWithEditor(Parser.TokenString, Editor1, InvalidBracketIndex);
try

となっているところを
var
S: String;
............
if Parser.Token = toBracket then
begin
S := Parser.TokenString; // こぴーする
Parser2 := TEditorParser.CreateWithEditor(S, Editor1, InvalidBracketIndex); // こぴーした S をパースさせる
try

とすることで、解決出来そうですので、お試し下さいまし。





610 Re: 半角スペース、全角スペース、TABの表示について コメント数:  1件
  本田勝彦  |  2000/07/18 (火) 01:09
 http://member.nifty.ne.jp/~katsuhiko
> Editor1.Leftbar.Visible=True の時と、Falseの時で、
> コードをどのように変えたらいいのか、
> 教えてほしいのです。

サンプルプロジェクトの Editor6 にも書いたのですが、ver 1.70 から
LeftMargin, TopMargin メソッドが実装されています。んでこれらが
Leftbar, Ruler の Visible に対応した値を返して来ますので、今回の場合

Margin.Left の部分を LeftMargin に書き換えて頂ければ大丈夫です。
たぶん(^^;




609 1行ずつのスクロールについて コメント数:  14件
  えくせる  | 2000/07/17 (月) 20:11
 http://hp.vector.co.jp/authors/VA014299/
下矢印キーで1行ずつスクロールしながら読んでいると
たまに1行多くスクロールされてしまいます.
確認お願いします.



608 Lines.Textへの代入で コメント数:  7件
  清明  | 2000/07/17 (月) 19:13
どうも、お世話になっております。
V171に変えたところ
メインフォームでデータを読込サブフォームのTEditorに対して
Form2.Editor1.Lines.Text := s;
といようにデータを渡している場所で、「インデックスの範囲を超えています」
というエラーが頻発するようになりました。
良く原因がつかめなかったので、
Form2.Editor1.Lines.Clear;
Form2.Editor1.Lines.Text := s;
のように、代入前にクリアするようにしたところエラーが出なく
なりました。

 一応ご報告しておきます。




607 提案が2点ほど コメント数:  2件
  ほしけん  | 2000/07/17 (月) 15:58
 http://www.hosiken.w3.to/
こんにちは、ルーラー・行表示表示の実装お疲れ様でした。
ううむ、バッチリです。(^^)v 自分で実装せずに待っていた甲斐がありました(^^;

ところで、Q&Aに横スクロールバーのことについて
> 文字列長に横スクロールバーを合わせるためには、文字列に変更がある毎に、全行スキャンと最大値取得が必要になるので、やっていません。
と書かれていますが、
もし折り返しが設定されている場合は、横スクロールバーの長さを、その折り返し字数に
合わせて調整する(というか横スクロール自体を制限する)というのはどうでしょうか。
折り返し80桁なのに1000桁まで横スクロールするのはちょっと変な感じですので(^^;
あと、ルーラーについても、折り返し点以降の分は描画しないというのはどうかなと思うのですが。
(あえてこうしているのであれば、それで良いと思いますが(^^;))



606 Re: TEditor 1.71, 1.64 コメント数:  2件
  てらお  | 2000/07/17 (月) 12:02
 http://www2s.biglobe.ne.jp/~t-susumu/toclip/
てらおです。

> てらおさんご指摘のバグも直っていると良いのですが・・・

うむ〜、直っていませんでした…(T.T)



605 半角スペース、全角スペース、TABの表示について コメント数:  2件
  しなもん  | 2000/07/17 (月) 04:17
 http://www.geocities.co.jp/SiliconValley-Bay/7635/
こんにちわ、本田さん。
半角スペース、全角スペース、TABの表示について、お聞きしたいのですが、

今まで、サンプルのUnit2.pasにあった、コードを真似して、
半角スペース、全角スペース、TAB を表示していたんですが、

行番号が表示されている時って、コード変えないと、
正常に表示させませんよね。

Editor1.Leftbar.Visible=True の時と、Falseの時で、
コードをどのように変えたらいいのか、
教えてほしいのです。

自分で、適当に Xの値を増やしてみたんですが、
なんか、おかしい(・_・?)


宜しく御願いします。






604 Re^3: TEditor ver 1.63 安定版 コメント数:  0件
  DEKO   | 2000/07/17 (月) 02:15
 http://homepage1.nifty.com/ht_deko/
>内容は同じになってますが、改良によるバグまで貰ってましたです。
>直しましたので、も一度見てやって下さいまし。m(_ _)m
 今度はver1.64でやってみました(^^; ...OKのようです。

#ver1.70/1.63のバグは拙作エディタで1.64にパッチを充ててる時に
#初めて気付きました...(^^;



603 Re^2: TEditor ver 1.63 安定版 コメント数:  1件
  本田勝彦  |  2000/07/17 (月) 00:42
 http://member.nifty.ne.jp/~katsuhiko
> あう。ver1.70からLeftBarとRuler外して使っちゃいました(^^;

内容は同じになってますが、改良によるバグまで貰ってましたです。
直しましたので、も一度見てやって下さいまし。m(_ _)m



602 Re: toString の表示がおかしい コメント数:  0件
  本田勝彦  |  2000/07/17 (月) 00:39
 http://member.nifty.ne.jp/~katsuhiko
> <TABLE BORDER="0" CELLPADDING="0" CELLSPACING="0" WIDTH="100%">
>
> と表示されるハズが…
>
> <TABLE BORDER="0" CELLPADDING="0" CELLSPACING="0" WIDTH="100L">
>
> と、WIDTH の値の 100% が 100L になってしまいます。

すんまっしぇんm(_ _)m
TEditorScreenStrings.InitBrackets, TEditorScreen.Update に
バグがありました。修正版を公開致しましたので、もう一度おためし
頂けませんでしょうか?



601 TEditor 1.71, 1.64 コメント数:  3件
  本田勝彦  |  2000/07/17 (月) 00:36
 http://member.nifty.ne.jp/~katsuhiko
を公開致しました。

View.Brackets 関連の描画に致命的なバグが発見されました。
修正版の 1.71, 1.64 になります。お手数をお掛け致しますが、
お試し下さい。

てらおさんご指摘のバグも直っていると良いのですが・・・




[PR]就職、仕事にも県民性が出る?:無料カンタン占いで日払いもアップ