| back | 2701-2750 | 2751-2800 |
2801-2850 |
| 2800 | Re: EditorUndoObj | コメント数: 2件 |
| 本田勝彦 | 2004/01/15 (木) 19:11 | |
| 複数の TEditor を生成して、1個だけ見せておく。切替には BrigToFront
で 該当 TEditor を前へ持って来る。 というのが、一番簡単ですね。 | ||
| 2799 | EditorUndoObj | コメント数: 3件 |
| KJ | 2004/01/15 (木) 13:35 | |
| こんにちは。 現在エディタを作っていてタブなどを使って新しいインスタンスを作成せず、 1このエディタ(TEditor)で複数ファイルの編集を行っています。 ファイルの切り替え時に TEditor.Clear TEditor.Lines.SetText(PChar('新しいテキスト')); のように行っております。 Clear メソッドを呼び出すため EditorUndoObj もクリアされてしまって ファイルを戻した際に EditorUndoObj をもどそうとしてもできないので EditorUndoObj を変数に保持しておいて後で書きこもうとしたのですが 読み出し専用で書きこめないので困っております。 一時的にEditorUndoObjを保持して後からセットできるような方法はないでしょうか? 何か良い方法ある方よろしければアドバイスいただければ幸いです。 | ||
| 2798 | Re^3: Q&Aの「改行マーク以降を選択しないようにする」について | コメント数: 0件 |
| Yokka | 2004/01/12 (月) 13:55 | |
| Yokkaです。 > 実は、PaintRectSelectedではなく、PaintLineSelectedをいじって、希望の動作は実現できたのですが、 うそでした。 PaintLineSelectedだけでは、だめですね。 勉強します。 | ||
| 2797 | Re^2: Q&Aの「改行マーク以降を選択しないようにする」について | コメント数: 1件 |
| Yokka | 2004/01/12 (月) 10:58 | |
| Kmさん、こんにちは。 いつも、ありがとうございます。 > 過去ログ(2002/4/11)の[2234] 改行以降の領域描画 で話題になったのですが、 > 結論は[2241] Re^2: 改行以降の領域描画 > >PaintRectSelected を書き換えてご希望の動作を実現して下さい。 > > とのことです。 ありがとうございます。 過去ログを見つけられませんでした。 実は、PaintRectSelectedではなく、PaintLineSelectedをいじって、希望の動作は実現できたのですが、 TEditorを直接触らずに実現できるのであれば、その方がありがたいと思いまして・・・。 ご指導ありがとうございました。 | ||
| 2796 | Re: Q&Aの「改行マーク以降を選択しないようにする」について | コメント数: 2件 |
| Km | 2004/01/12 (月) 09:31 | |
| Yokkaさん、こんちは。 > 「TEditor Q&A」にある「改行マーク以降を選択しないようにする」の件です。 > Q&Aのまま、Form1のEditor1DrawLineに書きますと、普段は正常に表示されますが、 > 横スクロールが発生したときに、表示が乱れます。 > これは、TEditorのバージョンアップともに使用できなくなった古いサンプルと考えればよいのでしょうか? > また、現在のバージョンで、目的を実現する方法はありますでしょうか? 過去ログ(2002/4/11)の[2234] 改行以降の領域描画 で話題になったのですが、 結論は[2241] Re^2: 改行以降の領域描画 >PaintRectSelected を書き換えてご希望の動作を実現して下さい。 とのことです。 | ||
| 2795 | Q&Aの「改行マーク以降を選択しないようにする」について | コメント数: 3件 |
| Yokka | 2004/01/11 (日) 20:31 | |
| Yokkaです。 お世話になっております。 またもや、お教え願いたいことがあります。 「TEditor Q&A」にある「改行マーク以降を選択しないようにする」の件です。 Q&Aのまま、Form1のEditor1DrawLineに書きますと、普段は正常に表示されますが、 横スクロールが発生したときに、表示が乱れます。 これは、TEditorのバージョンアップともに使用できなくなった古いサンプルと考えればよいのでしょうか? また、現在のバージョンで、目的を実現する方法はありますでしょうか? どうぞ、よろしくお願い致します。 | ||
| 2794 | Re^2: taka36さんについて | コメント数: 0件 |
| るるとん@K | 2004/01/10 (土) 09:48 | |
| http://hp.vector.co.jp/authors/VA036010/ | ||
| > > taka36がさいごに書き込んだのはいつですか? > > Googleで~katsuhiko taka36 で検索したら、2000/3/12のようですけど、こんな情報何に使うのですか?ってプロフィール見てびっくり。わかっ! 2002/4/3 新しいエディタを開発開始 2002/5 約70%ほど完成 その後サイト更新、ソフト公開無し メール送信→エラーメール | ||
| 2793 | Re: taka36さんについて | コメント数: 1件 |
| Km | 2004/01/08 (木) 20:54 | |
| >
taka36がさいごに書き込んだのはいつですか? Googleで~katsuhiko taka36 で検索したら、2000/3/12のようですけど、こんな情報何に使うのですか?ってプロフィール見てびっくり。わかっ! | ||
| 2792 | taka36さんについて | コメント数: 2件 |
| るるとん@K | 2004/01/08 (木) 20:01 | |
| http://hp.vector.co.jp/authors/VA036010/ | ||
| taka36がさいごに書き込んだのはいつですか? | ||
| 2791 | Re^5: ページコントロールへのドッキングでEOSError | コメント数: 0件 |
| 本田勝彦 | 2004/01/07 (水) 23:25 | |
| > とコンパイラオプションでくくって下さい。実現部もね。 くくったモノを TEditor ver 2.48 としました。 | ||
| 2790 | Re^2: 公開 | コメント数: 0件 |
| 本田勝彦 | 2004/01/07 (水) 23:24 | |
| > TEditor ver
2.48のリンクが2.47になってます。 すいません。直しました。ご指摘に感謝。 | ||
| 2789 | Re: 公開 | コメント数: 1件 |
| Km | 2004/01/07 (水) 23:08 | |
| > TStringsPrinter ver3.3 > TEditor ver 2.48 > > 公開です。 TEditor ver 2.48のリンクが2.47になってます。 | ||
| 2788 | 公開 | コメント数: 2件 |
| 本田勝彦 | 2004/01/07 (水) 22:16 | |
| TStringsPrinter ver3.3 TEditor ver 2.48 公開です。 | ||
| 2787 | Re^4: ページコントロールへのドッキングでEOSError | コメント数: 1件 |
| 本田勝彦 | 2004/01/07 (水) 21:46 | |
| CreateWindowHandle の override
ですが、D2ではやってはいけないようです。 HViewEdit が開けなくなって焦りました。 D2をお使いの方は {$IFDEF COMP3_UP} procedure CreateWindowHandle(const Params: TCreateParams); override; {$ENDIF} とコンパイラオプションでくくって下さい。実現部もね。 | ||
| 2786 | Re^2: TStringsPrinter Ver3.3b3 | コメント数: 0件 |
| 本田勝彦 | 2004/01/07 (水) 13:02 | |
| ありがとうございます。今夜にも ver3.3
を公開したいと思います。 ExpandTab をコンポーネントエディタに取り入れなければ。と忘れないように 書いておこ。 | ||
| 2785 | Re: TStringsPrinter Ver3.3b3 | コメント数: 1件 |
| Km | 2004/01/07 (水) 06:50 | |
| 本田勝彦さん、こんにちは。 > ver 3.3 beta 3 公開しました。 > お試しあれ〜 さっそく試しました。上手く動いているようです。 タブがいっぱいあっても大丈夫見たいです。 | ||
| 2784 | Re^3: ページコントロールへのドッキングでEOSError | コメント数: 2件 |
| 本田勝彦 | 2004/01/06 (火) 23:52 | |
| 最近、過去ログの置き場所の tripod が infoseek
に統合されてしまい、 yahoo で検索しても出て来なくなりました。ご迷惑をお掛け致します。 困ったモンだわぁ。 | ||
| 2783 | TStringsPrinter Ver3.3b3 | コメント数: 2件 |
| 本田勝彦 | 2004/01/06 (火) 19:11 | |
| ver 3.3 beta 3
公開しました。 お試しあれ〜 | ||
| 2782 | Re^2: ページコントロールへのドッキングでEOSError | コメント数: 3件 |
| もも | 2004/01/06 (火) 18:09 | |
| >
CreateWindowHandleをoverrideしていないのが原因です。 > ver2.46でfixされています。 ありがとうございます!うまく行きました。 最近の履歴にあったのですね・・見つけられずに質問してしまい、申し訳ありませんでした。 今後とも宜しくお願い致します。 参照:『OS機能呼び出し失敗』[2003/09/28 (日) 23:57] | ||
| 2781 | Re^2: TStringsPrinter Ver3.3b2 | コメント数: 3件 |
| 本田勝彦 | 2004/01/06 (火) 13:24 | |
| うむ〜。書いた通りに動いていますね。(笑)直します。 | ||
| 2780 | Re: TStringsPrinter Ver3.3b2 | コメント数: 4件 |
| Km | 2004/01/06 (火) 06:51 | |
| > ver 3.3b2
公開です。例によって開発日誌のページです。 お疲れ様です。 折り返し位置にタブ文字がかかる場合、そこだけ背景色がかけてました。 →をタブ文字とすると、折り返しの手前のタブ文字から折り返しまでの背景色。 //→ → → → → → → < a | ||
| 2779 | TStringsPrinter Ver3.3b2 | コメント数: 5件 |
| 本田勝彦 | 2004/01/06 (火) 02:28 | |
| ver 3.3b2
公開です。例によって開発日誌のページです。 | ||
| 2778 | Re: ページコントロールへのドッキングでEOSError | コメント数: 4件 |
| にしの | nishino@overs.jp | 2004/01/05 (月) 23:39 | |
| > TEditor version
2.45 CreateWindowHandleをoverrideしていないのが原因です。 ver2.46でfixされています。 この件だけではないですが、バグが出た場合、できるだけ最新にしてみた方がよいですよ。 | ||
| 2777 | ページコントロールへのドッキングでEOSError | コメント数: 5件 |
| もも | 2004/01/05 (月) 21:48 | |
| TEditor version 2.45 Win2000 Del7Entで開発しております。 256KBより少し大きいサイズのデータを持つTEditがあり、そのTEditを含むフォームが、ページコントロールにドッキングする時に、 --------------------------- デバッガ例外が発生 --------------------------- プロジェクト Project1.exe が EOSError クラスの例外を生成しました。 'システムエラー。コード:6. ハンドルが無効です。' プロセスは停止しています。再開するにはステップ実行または実行を選択してください。 --------------------------- OK ヘルプ(H) --------------------------- というエラーになってしまいます。これは皆さんの環境でも同じでしょうか? どうやら、256KBあたりが境界で、それよりもデータが少ないとうまく行き、それ以上だと上記エラーになるようです。 | ||
| 2776 | Re: TStringsPrinter Ver3.3b | コメント数: 6件 |
| Km | 2004/01/05 (月) 00:47 | |
| > そうですね。> L
でも良いかもしれないです。ループの先頭で判別してるし。 > > L にすると旨く行きますか? はい、うまくいきます。 > いずれにしても、折り返し処理のロジックをもう一度考えて見ます。 お疲れ様です。。。 | ||
| 2775 | Re^2: TStringsPrinter Ver3.3b | コメント数: 7件 |
| 本田勝彦 | 2004/01/04 (日) 23:40 | |
| そうですね。> L でも良いかもしれないです。ループの先頭で判別してるし。 > L にすると旨く行きますか? いずれにしても、折り返し処理のロジックをもう一度考えて見ます。 | ||
| 2774 | Re: TStringsPrinter Ver3.3b | コメント数: 8件 |
| Km | 2004/01/04 (日) 23:13 | |
| >
あとついでですが、稚拙のMailFountainとTextFountainでは、引用行をとして > SourcePosが0の時のみ反応するようにしています。TEditor上は色付けは上手 > いくのですが、TStringsPrinterだとSymbolと認識されてしまいます。 > 直前の行が改行だけ場合はTStringsPrinterでも上手くいきます。 > 1604行目のParser.NewData(S, Data);で上手くパースされてないようなのです > がこれも1行文字列の取得と関係しているかも知れないです。 色々と試行錯誤してみたのですが、1633行目 if Parser.SourcePos + Parser.TokenLength >= L then begin // トークンの位置が、List[I] の文字列長を越えた場合 // 該当行 List[I] の文字列だけを描画するための処理 Buf := Copy(S, Parser.SourcePos + 1, L - Parser.SourcePos); DrawToken; Break; end の=が不要に思えるのですが、どうでしょうか。 | ||
| 2773 | Re: TStringsPrinter Ver3.3b | コメント数: 9件 |
| Km | 2004/01/04 (日) 18:30 | |
| > 自信無しな部分ですが、タブ文字をいっぱい含んだ文字列が折り返された時 > 2行目以降のタブの展開数が怪しいのです。 確かに何かおかしいですね。 動きを見ていると、折り返し位置(S[I]の長さ)が違うためじゃないですか? 画面上の折り返し位置(例えば31桁)にして、フォントサイズを大きく (MSゴシック32)して、画面上とプレビュー上の折り返し位置を合わせてみる とずれないようです。 > それと、これは TFountain の問題なのですが、コメントに背景色を指定し、 > 折り返しによって空白やタブが2行目以降の行頭にある場合の動作が変です。 こういう仕様かと思ってました。。。 あとついでですが、稚拙のMailFountainとTextFountainでは、引用行をとして SourcePosが0の時のみ反応するようにしています。TEditor上は色付けは上手 いくのですが、TStringsPrinterだとSymbolと認識されてしまいます。 直前の行が改行だけ場合はTStringsPrinterでも上手くいきます。 1604行目のParser.NewData(S, Data);で上手くパースされてないようなのです がこれも1行文字列の取得と関係しているかも知れないです。 | ||
| 2772 | Re^2: TStringsPrinter Ver3.3b | コメント数: 10件 |
| 本田勝彦 | 2004/01/04 (日) 13:31 | |
| ありがとうございます。 自信無しな部分ですが、タブ文字をいっぱい含んだ文字列が折り返された時 2行目以降のタブの展開数が怪しいのです。 それと、これは TFountain の問題なのですが、コメントに背景色を指定し、 折り返しによって空白やタブが2行目以降の行頭にある場合の動作が変です。 うむ〜 | ||
| 2771 | Re: TStringsPrinter Ver3.3b | コメント数: 11件 |
| Km | 2004/01/04 (日) 10:23 | |
| 本田勝彦さん、こんにちは。 > ver 3.3b を公開しました。ちょっと自信なしモードですが。 > 開発日誌のページに置きました。 早速試してみました。上手くいってます。 ちょっと長めのC++ファイルで、WinXPとWin2Kの両方で試したところ、 こちらも上手くプレビュー/印刷(PDF化)できてました。 #カラープリンタ持ってないのでAcrobatでPDF化してます。 | ||
| 2770 | Re^3: TStringsPrinter Ver3.2 | コメント数: 12件 |
| 本田勝彦 | 2004/01/04 (日) 04:22 | |
| ver 3.3b
を公開しました。ちょっと自信なしモードですが。 開発日誌のページに置きました。 | ||
| 2769 | Re^3: タブ→空白変換 | コメント数: 0件 |
| 本田勝彦 | 2004/01/04 (日) 01:45 | |
| 2倍速おめでとうございます。ハマり始めましたね。楽しんで下さい。 | ||
| 2768 | Re^2: タブ→空白変換 | コメント数: 1件 |
| いくぼ | 2004/01/04 (日) 01:24 | |
| 本田さん、コメントありがとうございます。 すこしでも速度を稼ぐために S := S + ExpandTab(Lines[I]) + #13 + #10 なんぞとアレンジしてみましたら、List の方が速かったです。 (2倍以上=当社比) ポピュラーな機能だと思うのですが、 エディタ作者の皆さんはどういうふうにされているのでしょうね。 | ||
| 2767 | Re: タブ→空白変換 | コメント数: 2件 |
| 本田勝彦 | 2004/01/03 (土) 17:20 | |
| 速いかどうかは試してみないとわかりませんが、 var I: Integer; List: TStringList; begin List := TStringList.Create; try for I := 0 to Editor1.Lines.Count - 1 do List.Add(Editor1.ExpandTab(Editor1.Lines[I])); Editor1.Lines.Text := List.Text; finally List.Free; end; end; と、私ならやりますね。 | ||
| 2766 | タブ→空白変換 | コメント数: 3件 |
| いくぼ | 2004/01/02 (金) 22:53 | |
| ExpandTab を使って「タブ→空白変換」をやろうとしたのですが、 with Editor1 do Lines := ExpandTab(Lines.Text); end; だと全テキストが1行とみなされるのか、思い通りの半角空白数に なりませんでした。 with Editor1 do begin for I := 0 to Lines.Count - 1 do begin Lines[I] := ExpandTab(Lines[I]); end; end; だと遅くなりますし。 どうするのが効率が良いのでしょうか。 | ||
| 2765 | Re^3: 矩形選択状態で編集する方法について | コメント数: 0件 |
| 本田勝彦 | 2004/01/02 (金) 09:33 | |
| 手本にした Delphi2
のコードエディタがそういう動作だったということ以外には理由はないのですが、そういう仕様です。 でもいじっていて、なるほどと思いながら実装した覚えはあります。 何に納得したのかは忘れてしまいましたが。 | ||
| 2764 | Re^2: 矩形選択状態で編集する方法について | コメント数: 1件 |
| ざぶ | 2004/01/01 (木) 23:49 | |
| 本田さんこんばんは > SelIndent メソッドの実装が参考になるとおもいますが、 おかげさまで大分コーディングできてきましたが 少し気になることがあります。 SelIndentって、通常選択状態のときは、スペースが増えた分 選択範囲が動きますが、 矩形選択状態のときは、スペースが増えた分選択範囲が動かないのですね。 | ||
| 2763 | Re^2: 矩形選択状態で編集する方法について | コメント数: 0件 |
| ざぶ | 2004/01/01 (木) 00:36 | |
| あけましておめでとうございます。 お返事ありがとうございます。 この動作については、サクラエディタを参考にしています。 まだ未確認ですが、WZeditorも同様の動作をすると思われます。 Enterや、Bsは通常選択状態と同じでよいと考えているので 若干楽なのですが、入力文字数が多くなり折り返しの文字数制限を 超えたときの動作の保障が難しそうです。 ちなみにサクラエディタは動作がおかしくなります。 > SelIndent メソッドの実装が参考になるとおもいますが、 > 選択領域を移動するのが面倒な感じがしますね。 を参考にしてみます。 変更するモジュールは TEditor.PutStringToLine なのかなとあたりをつけています。 | ||
| 2762 | Re: 矩形選択状態で編集する方法について | コメント数: 3件 |
| 本田勝彦 | 2003/12/31 (水) 23:23 | |
| SelIndent
メソッドの実装が参考になるとおもいますが、 選択領域を移動するのが面倒な感じがしますね。 矩形選択状態の SelText は、TStringList.Text にそのまま代入出来るので、 メニューから矩形選択領域の前に入れる文字列を入力させて処理する方法で あれば、実装は楽だと思います。 が、バックスペースや他の入力にも対応させるのはかんなり骨だと思いますよん。 | ||
| 2761 | 矩形選択状態で編集する方法について | コメント数: 4件 |
| ざぶ | 2003/12/31 (水) 20:26 | |
| ノーマル選択状態で文字入力を行うと、選択領域がクリアされた後に 文字が入力されると思います。 この動作を矩形選択状態のみ変えたいと考えています。 矩形選択状態で文字を入力した場合、矩形選択範囲の先頭に一律同じ文字を 入力したいのです。 たとえば aaa|aaaaa|aaa bbb|bbbbb|bbb ccc|ccccc|ccc ← '|'内は矩形選択領域 という状態で 123と入力した場合 aaa123|aaaaa|aaa bbb123|bbbbb|bbb ccc123|ccccc|ccc ← '|'内は矩形選択領域 という風に動作させたいと考えています。 そこで、HEditor.pasを見て考えているのですがよいアドバイス いただけないでしょうか? TEditor.WMChar TEditor.SetSelTextBox TEditor.SetSelTextBuf あたりが参考になると考えているのですが・・・ 矩形選択領域をドラッグ&ドロップできるということは そのあたりの関数を旨く使えるのではと思うのですが まだ関数の依存関係がよく解っていないもので・・・ よろしくお願いします。 | ||
| 2760 | Re^2: TStringsPrinter Ver3.2 | コメント数: 13件 |
| 本田勝彦 | 2003/12/31 (水) 13:24 | |
| win98se でも確認できました。 TextWidth はタブを考慮しないということですね。 メタファイルの描画領域に収まるように折り返し処理をしている部分も TextWidth だけで判別しているので、この部分も考慮する必要があることからも タブ文字の展開数をプロパティ化して ExpandTab する方法が有効であるように 思います。 考えて見ます。 | ||
| 2759 | Re: TStringsPrinter Ver3.2 | コメント数: 14件 |
| Km | 2003/12/31 (水) 01:07 | |
| ExpandTabのソースをコピーして来て少し手を加えてみました。 上手くいきそうなのですが、タブの桁数は8固定でしたっけ? プロパティなかったと思うけど見落としてたらごめんなさい。 タブの桁数を指定できるといいな。。。ExpandTab(Buf)を常に かませばできそうな気もするけど、どうでしょうか。 | ||
| 2758 | Re: TStringsPrinter Ver3.2 | コメント数: 15件 |
| Km | 2003/12/31 (水) 00:03 | |
| > この部分は TCanvas.TextWidth を利用しています。 > > XP では、GetTextExtentPoint32 Windows API の実装が変わって、 > タブ文字の扱いが変わったということかしらん? また調べてみたのですが、どうやらWin2Kでも同じでした。 Win2Kの場合aaaの背景も塗られているので気がつきませんでしたが、 タブを3つほど入れると領域が塗りつぶされてない事がわかりました。 | ||
| 2757 | Re^2: TStringsPrinter Ver3.2 | コメント数: 16件 |
| 本田勝彦 | 2003/12/30 (火) 23:00 | |
| この部分は TCanvas.TextWidth を利用しています。 XP では、GetTextExtentPoint32 Windows API の実装が変わって、 タブ文字の扱いが変わったということかしらん? | ||
| 2756 | Re: TStringsPrinter Ver3.2 | コメント数: 17件 |
| Km | 2003/12/30 (火) 14:41 | |
| 本田勝彦さん、こんにちは。年の瀬ですね。 > ver 3.2 公開しました。 今までタブ文字を使っていなかったので気が付かなかったのですが タブが入った場合の領域計算がずれてるようです。(XPのみ) 例えば以下の文字列を例とします。((タブ)はタブ文字) //(タブ)aaa Win2Kの場合、Commentの背景色をセットすると行全体が強調されてます。 //(タブ)aaa ^^^^^^^^^^^ WinXPの場合、途中までしか強調されてませんでした。 //(タブ)aaa ^^^^^^ 手が空いているときにでもよろしくお願いします。 | ||
| 2755 | Re^17: TStringsPrinter Ver3.1について | コメント数: 0件 |
| 本田勝彦 | 2003/12/27 (土) 19:27 | |
| リンクさせていただきました。 | ||
| 2754 | TStringsPrinter Ver3.2 | コメント数: 18件 |
| 本田勝彦 | 2003/12/27 (土) 19:23 | |
| ver 3.2 公開しました。 | ||
| 2753 | Re^3: TStringsPrinter Ver3.1について | コメント数: 19件 |
| 本田勝彦 | 2003/12/27 (土) 18:52 | |
| >
まだあまり使い込んではいませんが、XP、Meともに問題はありませんでした。 おぉいかったいかった。でわ、ver 3.2 を公開致したいと思います。 情報ありがとうございます。 | ||
| 2752 | Re^2: TStringsPrinter Ver3.1について | コメント数: 20件 |
| KNT | 2003/12/27 (土) 13:53 | |
| > がんばりました。開発日誌のページに stringsprinter32b.lzh
を置きました。 > stringsprinter.pas のみになりますが、XP 使いの方々にお試し頂ければ幸いです。 まだあまり使い込んではいませんが、XP、Meともに問題はありませんでした。 本田さん、Kmさん、にしのさん、ありがとうございました。 | ||
| 2751 | Re^16: TStringsPrinter Ver3.1について | コメント数: 1件 |
| にしの | 2003/12/26 (金) 12:04 | |
| http://www.overs.jp/software/ | ||
| > ウチにも引き延ばし機あります(フジのカラーステーション) > そうかぁ。そういう仕事に携わった方とお話していたとは思いませんでした。 > > リンクにさせてもらってよろしいですか? お願いしますm(_ _)m まだリンクページすら作っていないので恐縮ですが・・・。 冬休み中にサイト整備しますんで、そのときにリンクさせてもらいます。 | ||