| 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 になります。お手数をお掛け致しますが、 お試し下さい。 てらおさんご指摘のバグも直っていると良いのですが・・・ | ||