~katsuhiko メッセージボード

back 1201-1250

1251-1300

1301-1350


1300 Re^2: TEditorFountain コメント数:  1件
  本田勝彦  |  2001/06/12 (火) 00:02
 http://member.nifty.ne.jp/~katsuhiko
StreamToComponent では、元のコンポは一旦破棄されて、ストリームから生成
された新しいコンポが、フォームによって入れ替えられる仕様なので、
View.EditorFountain に対して行うと、View.EditorFountain は破棄された
ままになり、再起不能になります。

また TEditor に接続された状態の TFountain に対して
ReadIni, ReadReg メソッドを実行すると、破棄されたことが通知されて
Notification の仕組みによって接続が切断されます。再接続することは
可能ですが。

実は、パンタグラフさんの書き込みを見て試したことによって判明しました。
感謝です。

次のバージョンでは、TStream.WriteComponent, ReadComponent を
使った実装にします。

TStoreComponent の拡張クラスにおいて、イベントハンドラの設定は
保存・復帰されなくなりますが、仕方無いですね。





1299 Re: TEditorFountain コメント数:  2件
  本田勝彦  |  2001/06/12 (火) 00:00
 http://member.nifty.ne.jp/~katsuhiko
さすが、パンタグラフさん、鋭い使い方を発想されますね。

> Editor1.View.EditorFountain.ReadIni
>
>でエラーになります。

該当ユニットの initialization 部に
RegisterClass(TEditorFountain); を書くと読めるようになります。

でも残念ながら幸せにはなれないと思います。
var
Ms: TMemoryStream;
begin
Ms := TMemoryStream.Create;
try
Ms.WriteComponent(Editor1.View.EditorFountain);
Ms.Position := 0;
IniWriteStream(
Ms, ChangeFileExt(Application.ExeName, '.ini'),
'editor', 'view.editorfountain'
);
finally
Ms.Free;
end;
end;

などとして下さい。理由は後述します。




1298 Re^4: TFountain コメント数:  0件
  本田勝彦  |  2001/06/11 (月) 23:43
 http://member.nifty.ne.jp/~katsuhiko
> 正規表現(/で囲まれた部分)ではタブ文字を直接使うことは
> ほとんどないでしょうから、これなら問題無いです。

それなら大丈夫ですね。

> 新しい関数はまだピンとこないので、次のバージョンが出た時に考えます。

Result := [toComment, toSingleQuotation, toDoubleQuotation];
を返すだけのメソッドです。新しいタブ文字を含むトークンを追加したときは
これを override してね、という仕様になります。

> あと、アイコンの作り方を教えて頂いてありがとうございました。
> 後で、試してみます。

結構ハマれますので、楽しんでください。(^^;

> 原因の一つはKylixのIDEの一部がWINEを使って
> 実装されているからだと思っています。 WINEは
> X Window System でWindows APIを使えるようにするためのものです。
> このライブラリはあまり最適化がはかられていないので、
> その影響をKylixのIDEが受けているのではと推測しています。

あ、そういう仕掛けなんですね。なるほど。



1297 Re^3: TFountain コメント数:  1件
  みずほちゃん  | 2001/06/11 (月) 07:30
 http://www.portnet.ne.jp/~mzh/
正規表現(/で囲まれた部分)ではタブ文字を直接使うことは
ほとんどないでしょうから、これなら問題無いです。
新しい関数はまだピンとこないので、次のバージョンが出た時に考えます。

あと、アイコンの作り方を教えて頂いてありがとうございました。
後で、試してみます。


他の投稿の話ですが、

>> ですね。MS-Windows に慣れた体ではきつい。Kylix 重いし。(T_T)
> 重いんですかぁ。Win 上のD5とかより重い?
私が使っていたのは正式版ではないですが、
WinのD4よりも起動がかなり遅かったです。

原因の一つはKylixのIDEの一部がWINEを使って
実装されているからだと思っています。 WINEは
X Window System でWindows APIを使えるようにするためのものです。
このライブラリはあまり最適化がはかられていないので、
その影響をKylixのIDEが受けているのではと推測しています。

もっともうちのマシン(CPU Cerelon 300A@450 メモリ192MB)では
起動した後は、速度に関して気になる所はありませんでした。

# もりきゅうさんはどういうマシンでKylixを動かしたんでしょう?



1296 TEditorFountain コメント数:  3件
  パンタグラフ  | 2001/06/11 (月) 02:17
 http://homepage1.nifty.com/cosmic/
TEditor2.10 の TEditorFountain で質問があります。

 Editor1.View.EditorFountain.WriteIni

で IniFile に保存は出来るのですが、

 Editor1.View.EditorFountain.ReadIni

でエラーになります。
Form 上に置いた THTMLFountain などは上記の方法で保存・復帰できています。
EditorFountain は Form 上にコンポーネント化されていないため
エラーとなってしまうようなのです。
TEditorProp を使えばよいのでしょうが、使いたくありません(^^;)
というか、独自の設定ダイアログを使っているので保存のためだけに
TEditorProp を使うのもどうかなと。

何かいい方法は無いでしょうか。




1295 Re^3: なんででしょう?heditor2.10インストールできない。 コメント数:  0件
  本田勝彦  |  2001/06/11 (月) 00:22
 http://member.nifty.ne.jp/~katsuhiko
たいした失礼致しました。
も少ししたら、TStringsPrinter も更新したいと思います。




1294 Re^3: COBOLFountain公開しました コメント数:  0件
  本田勝彦  |  2001/06/11 (月) 00:21
 http://member.nifty.ne.jp/~katsuhiko
> あと、別の発言にありました、.dcr と CreateFountainColor メソッド
> に対応したものを先ほどアップしました。
> これでコンポーネントパレット上で区別がつくと思います(^^;

\(^_^)/どうもです。早速に頂きます。



1293 Re^2: TFountain コメント数:  2件
  本田勝彦  |  2001/06/11 (月) 00:19
 http://member.nifty.ne.jp/~katsuhiko
> どのような時に不具合が出るんでしょうか?

InitBrackets などで扱うデータは生で、描画の際にパースするデータ
は、タブ文字が展開されているんです。で例えば

        /abc <- 折り返し
TAB.....def/

というトークンがあると、WrappedBytes には、5が入ります。
描画時のタブが展開された文字列にこれを摘要しようとすると

TAB.....def/
  ↑ ここまでを toSlashQuotation として扱ってしまうという問題です。

次のバージョンでは、WrappedBytes を0にして欲しいトークンの集合について
LastTokenBracket メソッドから問い合わせを受ける virtual メソッドを追加す
るようにしたいと思います。

> ところで、RubyFountainのアイコンは作らないと駄目ですか?

出来ましたらお願いしたいです。Delphi-IDE のメニューで、[ツール|イメー
ジエディタ]でエディタが起動しますので、heditreg.dcr を開いて弄り
倒して見て下さい。
・24ドット×24ドットの16色
・ビットマップの名前をクラス名にする
・保存するファイル名を
 ChangeFileExt(インストールするユニットファイル名, '.dcr') にする
という仕様を守ると、後は Delphi が良きに計らってくれます。



1292 Re^5: 行末に余計な改行 コメント数:  0件
  本田勝彦  |  2001/06/11 (月) 00:12
 http://member.nifty.ne.jp/~katsuhiko
そうか、そうですね。Text プロパティに代入してましたので、手抜きと言えば
手抜き(^^; EmptyStr, AnsiLastChar は初めて知りました。

私はたぶん

L := Length(Value);
if (L > 0) and (Value[L] in [#10, #13]) then

こんなふうに書きそうな(^^;

ExpandTabLength パクらせて頂きました(^^; 今全面見直しをやってます。
Length(StrToAttributes(ListStr(ARow)))
なんてのも発見してます(^^;



1291 Re^2: なんででしょう?heditor2.10インストールできない。 コメント数:  1件
  あきら  | 2001/06/10 (日) 19:21
> もしかしたら、TStringsPrinterもインストールしていませんか?

そのとおりです。気づかなかったです。コンパイルとおりました。
ご指摘ありがとうございました。



1290 Re^2: COBOLFountain公開しました コメント数:  1件
  KWX   | 2001/06/10 (日) 18:55
 http://homepage2.nifty.com/kwx/
> いや〜嬉しいなぁ。ホームページ作られたんですね。今日6月9日出来立て
> ホヤホヤぢゃないっすかぁ。お手数をお掛けいたしました。

いえいえ、始めは何処かに公開しようと思ってたんですが、
自分でページ作ってみるのも面白いかなと思いまして(^^)

> ダウンロードさせて頂きました。早速 TFountain リンクへ追加させて
> 頂きますです。

どもども。

あと、別の発言にありました、.dcr と CreateFountainColor メソッド
に対応したものを先ほどアップしました。
これでコンポーネントパレット上で区別がつくと思います(^^;

ではでは。



1289 Re^4: 行末に余計な改行 コメント数:  1件
  Km   | 2001/06/10 (日) 15:44
 http://homepage2.nifty.com/Km/
すみません。これだとValueが''の場合例外が発生しますね。
:
if (Value <> EmptyStr) and (AnsiLastChar(Value) <> #10) then
FEditor.FList.Rows[FEditor.ListCount - 1] := raEof;
:
これで大丈夫かな?



1288 Re: なんででしょう?heditor2.10インストールできない。 コメント数:  2件
  Km   | 2001/06/10 (日) 10:52
 http://homepage2.nifty.com/Km/
もしかしたら、TStringsPrinterもインストールしていませんか?
heClasses.pasがTStringsPrinterとTEditorでは同一ファイル名で
内容が異なるのために起きているのだと思います。TStringsPrinter
の方のheClasses.pasを削除すればOKだと思います。




1287 Re: TFountain コメント数:  3件
  みずほちゃん  | 2001/06/10 (日) 09:17
 http://www.portnet.ne.jp/~mzh/
> TFountain 拡張コンポの技術情報のページを作成しました。
> http://compodev.at.infoseek.co.jp/fountain.html
上の文章を読んでいてトークンの折り返しの事を考えていなかった
ことに気付いたので、RubyFountauin を修正して
Ver. 002 にしました。

あと、質問ですが、

>> #ユーザーの皆さんが、toBracket, toComment, toSingleQuotatio,
>> toDoubleQuotation 以外で、タブ文字を内包するトークンを
>> 取得出来るようなパーサーを書いた場合、このシステムは破綻します

SingleQuotatioinProcをコピーして作った
RubyFountainのSlashQuotationProcは上の記述に当てはまるのですが、
どのような時に不具合が出るんでしょうか?

> TFountain リンクのページも作りました。
> http://homepage3.nifty.com/~katsuhiko/fountainlink.html
リンクどうもです。

ところで、RubyFountainのアイコンは作らないと駄目ですか?

# 実はアイコンの作り方が分からないです(苦笑)



1286 なんででしょう?heditor2.10インストールできない。 コメント数:  3件
  あきら  | 2001/06/10 (日) 09:14
 http://www.ariaki.com/
hEditor 2.10 のインストールがなぜができません。助けてくださ〜い!
ソースみても自分ではいじりようがないや(汗)
環境はWin98+Delphi5です。以下がエラーメッセージです。

[エラー] heFountain.pas(179): 未定義の識別子 : 'TFileExtComponent'
[エラー] heFountain.pas(179): クラス型が必要です
[エラー] heFountain.pas(204): 静的メソッドはオーバーライドできません
[エラー] heFountain.pas(1213): 実パラメータが多すぎます
[エラー] heFountain.pas(1217): 未定義の識別子 : 'CreateSortedList'
[エラー] heFountain.pas(1233): 'TPersistent' と 'TFountain' には互換性がありません
[エラー] heFountain.pas(1239): 'TPersistent' と 'TFountain' には互換性がありません
[致命的エラー] EditorFountain.pas(25): 'heFountain.pas' ユニットはコンパイルできませんでした



1285 Re^3: 行末に余計な改行 コメント数:  2件
  Km   | 2001/06/10 (日) 05:22
 http://homepage2.nifty.com/Km/
本田さんこんにちは。
行末に入った余計な改行はTEditorStrings.SetTextStrに
「最後の文字が改行以外の場合、最終行の行属性をraEOFとする」
処理があった方が良いような気がします。ここではまずいですか?

procedure TEditorStrings.SetTextStr(const Value: String);
:
if (AnsiLastChar(Value) <> #10) then
FEditor.FList.Rows[FEditor.ListCount - 1] := raEof;
:



1284 TKeyMacro ver 1.2 コメント数:  0件
  本田勝彦  |  2001/06/10 (日) 02:03
 http://member.nifty.ne.jp/~katsuhiko
公開致しました。DR-X さんご指摘のバグを修正致しました。
マクロデータ保存・復帰のメソッドが実装されました。

テキストなので、順番を入れ替える程度の修正なら楽に出来ます。

DEKO さんアドバイスありがとうございました。



1283 Fountainer の皆様へ コメント数:  0件
  本田勝彦  |  2001/06/09 (土) 23:37
 http://member.nifty.ne.jp/~katsuhiko
TFountain 拡張コンポ作者の皆様こんにちは。(嬉しい^^)

出来ましたら .dcr も合わせて作成頂けると大変有り難いのですが、
よろしくお願い致します。heditreg.dcr には、デフォルトの
TFountain 用アイコンが入っていますので、選択コピーして
お使いいただけると有り難いです。

それから、CreateFountainColors メソッドの override ですが、
TFountain には、ベータ版には無かった CreateFountainColor メソッドが
追加されています。ですから

FHoge := CreateFountainColor;

とするだけで、FNotifyEventList への追加処理を行ってくれますので、
合わせてご利用下さいませ。

Fountainist の方がえぇですかね?



1282 Re^5: ばぐ コメント数:  0件
  本田勝彦  |  2001/06/09 (土) 23:33
 http://member.nifty.ne.jp/~katsuhiko
> おっけーですーーv(^^)vv(^^)v
> めちゃ調子良いですー♪

いかったいかった(^^)
今日は何と実り多い日なのだろう。




1281 Re: COBOLFountain公開しました コメント数:  2件
  本田勝彦  |  2001/06/09 (土) 23:31
 http://member.nifty.ne.jp/~katsuhiko
> 本田さん、こんにちは。
> TEditor2.10 の公開おめでとうございます。
> 以前話しにあった、COBOLFountain を公開しましたので、
> よろしかったら Fountain リンクに加えてやって下さいまし。

いや〜嬉しいなぁ。ホームページ作られたんですね。今日6月9日出来立て
ホヤホヤぢゃないっすかぁ。お手数をお掛けいたしました。

ダウンロードさせて頂きました。早速 TFountain リンクへ追加させて
頂きますです。

やったやった(^^)



1280 Re^4: ばぐ コメント数:  1件
  てらお  | 2001/06/09 (土) 18:20
 http://www2s.biglobe.ne.jp/~t-susumu/toclip/
てらおです。

> TEditor ver 2.10 の heditor.pas の6,682行目
>
> Inc(FImeCount); // WMChar メッセージハンドラでキャンセルする文字数
>
> というのをコメントアウトして試して頂けますでしょうか?

おっけーですーーv(^^)vv(^^)v
めちゃ調子良いですー♪



1279 COBOLFountain公開しました コメント数:  3件
  KWX   | 2001/06/09 (土) 18:09
 http://homepage2.nifty.com/kwx/
本田さん、こんにちは。
TEditor2.10 の公開おめでとうございます。
以前話しにあった、COBOLFountain を公開しましたので、
よろしかったら Fountain リンクに加えてやって下さいまし。

ではでは。



1278 Re^3: ばぐ コメント数:  2件
  本田勝彦  |  2001/06/09 (土) 17:21
TEditor ver 2.10 の heditor.pas の6,682行目

Inc(FImeCount); // WMChar メッセージハンドラでキャンセルする文字数

というのをコメントアウトして試して頂けますでしょうか?



1277 Re^2: ばぐ コメント数:  3件
  本田勝彦  |  2001/06/09 (土) 15:57
レポートありがとうございます。

> 例の IME の確定後の Enter が無視されてしまう件です。
> 私の環境 (W2K+IME2000) ですと二回に一回程度の割合で発生します。(T.T)
> # W2K+ATOK13 でも同様でした…
> # 今は WMImeComposition に戻して使ってます。(^^;
>
> で、もしや?と思い、Wn98+IME98 で試した所全く問題ないのですー

う〜む・・・Win2000 上の TMemo は Win98 のヤツとはメッセージの処理方法が
違うようですね。何か調査する方法を考えて見ます。



1276 Re: TKeyMacroについて コメント数:  0件
  本田勝彦  |  2001/06/09 (土) 15:51
> TKeyMacro コンポーネント のサンプルで Rec ボタンで記録して
> から Shift Ctrl P で連続再生していくと P が入力されて
> しまうようです。
>
> 対応できるようでしたら、お願いいたします。

hkeymacro.pas の341行目(ループ処理の最後の部分)に以下の1行を
挿入してください。

SetKeyboardState(OldKeyState);

これでご指摘の問題が解消出来ます。

> あと、このコンポ、記録したキーの内容をファイルにセーブした
> り、読み込んだりできるとかなり強力になると思うのですが、

こっちは今後の課題ということで(^^;



1275 Re: ばぐ コメント数:  4件
  てらお  | 2001/06/09 (土) 15:35
 http://www2s.biglobe.ne.jp/~t-susumu/toclip/
てらおです。

> TEditor 2.10 ですが、てらおさんご指摘の部分を改良し、オマケで
> ExpandTabLength メソッドも追加し、文字列処理が高速化されました。

ありがとうございますー♪
楽しみにしてますー♪

> まだ他にもありますでしょうか?

あります(^^;
例の IME の確定後の Enter が無視されてしまう件です。
私の環境 (W2K+IME2000) ですと二回に一回程度の割合で発生します。(T.T)
# W2K+ATOK13 でも同様でした…
# 今は WMImeComposition に戻して使ってます。(^^;

で、もしや?と思い、Wn98+IME98 で試した所全く問題ないのですー

ちなみに、TKeyMacroは全く使わない状態でです。
サンプルプロジェクトで確認しました。



1274 ばぐ コメント数:  5件
  本田勝彦  |  2001/06/09 (土) 14:20
TEditor 2.10 ですが、てらおさんご指摘の部分を改良し、オマケで
ExpandTabLength メソッドも追加し、文字列処理が高速化されました。

で、またまた1,000文字問題なのですが、「そこ」に改行マークや[EOF]
マークが表示されてしまうバグがありました。修正バージョンを近日中に
公開したいと思います。

あと、THTMLFountain で </H3> などの 3 が toTagElement にならんという
バグも見つけました。

まだ他にもありますでしょうか?
レポートお待ちしております。



1273 Re^3: TEditor2.10のStrToWrapListで… コメント数:  0件
  本田勝彦  |  2001/06/09 (土) 14:15
function TEditor.StrToAttributes(S: String): String;

の変数 L を設定しているところを以下のように変更して下さい。

var
L, I, B, T: Integer;
begin
Result := '';
I := 1;
B := FList.FWrapOption.FWrapByte;
T := FCaret.FTabSpaceCount;
if WordWrap then
L := Min(Length(S), B + B div 2)
else
L := Min(Length(S), MaxLineCharacter + 1);
while I <= L do

危なっかしい手抜きのような気もしますが、WrapByte 以上、又は
MaxLineCharacter + 1 以上のデータは使われていないことが保証
されますので、大丈夫です。たぶん(^^;



1272 TFountain コメント数:  4件
  本田勝彦  |  2001/06/09 (土) 04:05
 http://member.nifty.ne.jp/~katsuhiko
TFountain 拡張コンポの技術情報のページを作成しました。
http://compodev.at.infoseek.co.jp/fountain.html

TFountain リンクのページも作りました。
http://homepage3.nifty.com/~katsuhiko/fountainlink.html

寝よ。



1271 Re: OnDrawLineイベントの例で… コメント数:  0件
  本田勝彦  |  2001/06/09 (土) 00:54
 http://member.nifty.ne.jp/~katsuhiko
ようこそいらっしゃいませ。

> 文字列「Delphi」を明示化するとき
> ****************Del
> phi
> と折り返されると
> ****************Delphi
> phi

折り返されている場合は次の行文字列も取得した上で検索処理をしているの
ですよね。現在行の文字列長に見合った領域を TRect で用意しておいて、
その領域と ETO_CLIPPED オプションを DrawTextRect メソッドへ
渡すという方法でどうでしょう?

Km さんのホームページに検索文字列を強調表示してくれる拡張 TEditor が
ありますので、参考にされてはいかがでしょうか?

http://homepage2.nifty.com/Km/



1270 Re^2: 予定 コメント数:  0件
  本田勝彦  |  2001/06/09 (土) 00:42
 http://member.nifty.ne.jp/~katsuhiko
ようこそいらっしゃいまし。

> わお。待ち遠しいです。

今最終章を書いてます。今晩中には何とかなるかもしれません。

> さすが対抗勢力だ(笑)。> Perl

わはは。

> > Kylix への道のりは遠い・・・
>
> ですね。MS-Windows に慣れた体ではきつい。Kylix 重いし。(T_T)

重いんですかぁ。Win 上のD5とかより重い?



1269 Re^2: TEditor2.10のStrToWrapListで… コメント数:  1件
  本田勝彦  |  2001/06/09 (土) 00:39
 http://member.nifty.ne.jp/~katsuhiko
確認出来ました。49Kの1行ファイルで先頭の1文字を削除すると
セレロン533で12秒程気絶しますね。(^^;

何か方法を考えます。



1268 OnDrawLineイベントの例で… コメント数:  1件
  RH   | 2001/06/09 (土) 00:10
こんにちは、TEditor2.10公開おめでとうございます。早速色々と試させていただいています^^
その中で、v2.10付属のヘルプ「OnDrawLineイベント」のページにある「文字列の影付き描画」を参考に検索文字列の明示化を実装しようと思ったのですが、ヘルプのやり方ですと、折り返しがONの時に検索文字列内で折り返してしまうと、折り返した後の部分まで余計に描画されてしまい、正しく表示できないようです。
(例)
文字列「Delphi」を明示化するとき
****************Del
phi
と折り返されると
****************Delphi
phi
と表示されてしまいます。(この例でしたら予約語の方を利用すれば良いかと思いますが、実際には「Delphiの神託」のような文字列にも対応したいと思っていますので、OnDrawLineで実装するのが良いかと思っています。)
確か、以前のバージョンでは同様の方法で上手く表示されていたと思いますが…。自分でも色々とやってみたのですが、上手くいきません(x_x) もし何かヒントなどあればよろしくお願いします。

最後になりましたが、開発の方頑張ってください!!



1267 Re: 予定 コメント数:  1件
  もりきゅう  | 2001/06/08 (金) 20:36
 http://www.moriq.com/
> 現在、より多くの方に TFountain 拡張コンポを作成して頂くべく解説文書
> を作成しております。出来上がりましたら、プレーンテキスト、HTML で
> 公開したいと思います。

わお。待ち遠しいです。

> で、TPerlFountain と Linux のお勉強を同時進行でゆるゆるぼちぼちと
> 進めてまいりたいと思います。

さすが対抗勢力だ(笑)。> Perl

> Kylix への道のりは遠い・・・

ですね。MS-Windows に慣れた体ではきつい。Kylix 重いし。(T_T)



1266 Re: TEditor2.10のStrToWrapListで… コメント数:  2件
  てらお  | t-susumu@mvh.biglobe.ne.jp 2001/06/08 (金) 15:49
 http://www2s.biglobe.ne.jp/~t-susumu/toclip/
てらおです。

> System.Delete(Attr, 1, AttrArray.SourcePos);
>
> とするとかなり改善されます。
> これで問題あるでしょうか?

これは問題ありますねー(^^;;;

改善していただけると嬉しいです。



1265 TEditor2.10のStrToWrapListで… コメント数:  3件
  てらお  | 2001/06/08 (金) 11:33
 http://www2s.biglobe.ne.jp/~t-susumu/toclip/
お世話様です。てらおです。

TEditor2.10 で改善された
TEditorScreenStrings.StrToWrapList
TEditorScreenStrings.WrapCount
ですが、一行が長目のテキストですと処理が極端に遅くなりますー(T.T)

例えば、WordBreak=true で 50 KB程度の改行なしのテキストの先頭部を編集するとフリーズした?と思うくらい遅いですー(T.T)
#普通はこんな使い方しませんが…(f^^)

で、HEditor.pas の

2731行目 Attr := Client.StrToAttributes(Str);
2841行目 Attr := Client.StrToAttributes(S);



System.Delete(Attr, 1, AttrArray.SourcePos);

とするとかなり改善されます。
これで問題あるでしょうか?



1264 できました!! コメント数:  0件
  ほしけん  | 2001/06/08 (金) 10:10
 http://www.hosiken.Afis.To/
K2さん、本田さん、回答ありがとうございます。

ちょうど、自分で作った拡張コンポを使っていましたので、
テキストをセットしつつ、行末をraEOFにするprocedureを
新たに追加して、無事解決しました。

非常に参考になりました。ありがとうございます。m(__)m



1263 予定 コメント数:  2件
  本田勝彦  |  2001/06/07 (木) 23:42
 http://member.nifty.ne.jp/~katsuhiko
現在、より多くの方に TFountain 拡張コンポを作成して頂くべく解説文書
を作成しております。出来上がりましたら、プレーンテキスト、HTML で
公開したいと思います。

TEditor というか TFountainParser で予約語リストを
複数実装された場合への対処を施したモノを ver 2.11 として公開します。
Km さんが困ってらした TStringsPropertyEditor の部分も改善します。

その後 TKeyMacro の不具合に対処したいと思います。

で、TPerlFountain と Linux のお勉強を同時進行でゆるゆるぼちぼちと
進めてまいりたいと思います。

Kylix への道のりは遠い・・・



1262 Re^4: TKeyMacroについて コメント数:  0件
  本田勝彦  |  2001/06/07 (木) 23:31
 http://member.nifty.ne.jp/~katsuhiko
コーディングまでありがとうございます。試してみました。
文字列リストに取得したモノを ListBox に表示させたところ
期待しているメッセージ数とはちょっと違うような気配もありました。

もう少し調べて見ます。

例によって長〜〜い目でよしなに(^^;



1261 Re^5: Fountainの質問 コメント数:  0件
  本田勝彦  |  2001/06/07 (木) 23:28
 http://member.nifty.ne.jp/~katsuhiko
> TEditor ver 2.10の正式版公開おめでとうございます。
> それに合わせたというわけではありませんが、
> β版のRubyFountain出しました。
>
> http://www.portnet.ne.jp/~mzh/delphi/rbft.html
>
> からどうぞ。

\(^o^)/ 早速頂きに参上致します。

> 上のページからたどれるreadme.htmlがHTMLに変換したものです。
> CSSで色付けをしてます。

こちらも見せてね。

> まだ作成されていない主要なFountainとしてはJavaとPerlがありますね。
> 本田さんがPerlFountainを作成されるということですので、
> そちらの方も頑張ってください。

へい。ぼちぼちと進めたいと思います。

> # pythonとかVBとかのFountainを書く人も出てくるかも。

期待してます>みなさ〜ん



1260 Re^2: 行末に余計な改行 コメント数:  3件
  本田勝彦  |  2001/06/07 (木) 23:25
 http://member.nifty.ne.jp/~katsuhiko
> Editor.ScreenStrings.Rows[Editor.ListCount - 1] := raEof;

美しいですね。ver 2.04 から FList: TEditorScreenStrings は
protected ですので、拡張するなら

type
TEditorEx = class(TEditor)
public
property ScreenStrings read FList;
end;

そのままやるなら

type
TEditorEx = class(TEditor);

TEditorEx(Editor1).FList.Rows[ 以下略

と出来ると思います。



1259 Re^4: Fountainの質問 コメント数:  1件
  みずほちゃん  | 2001/06/07 (木) 21:31
 http://www.portnet.ne.jp/~mzh/
TEditor ver 2.10の正式版公開おめでとうございます。
それに合わせたというわけではありませんが、
β版のRubyFountain出しました。

http://www.portnet.ne.jp/~mzh/delphi/rbft.html

からどうぞ。

upする直前にメモリリークがあることを
発券した曰く付きのものなので、バグがあるかもしれません。
あと、TRubyFountain.InitFileExtListはテストしてないです。

# そう言えば、インストールの仕方も書いてないです。

> > コメントの部分だけをHTMLに変換することができます。
>
> ということは、ユニットをまるごと web ページに即アップロード出来ると。
> いいなぁ。
上のページからたどれるreadme.htmlがHTMLに変換したものです。
CSSで色付けをしてます。


まだ作成されていない主要なFountainとしてはJavaとPerlがありますね。
本田さんがPerlFountainを作成されるということですので、
そちらの方も頑張ってください。

# pythonとかVBとかのFountainを書く人も出てくるかも。



1258 Re: 行末に余計な改行 コメント数:  4件
  K2  | 2001/06/07 (木) 10:29
 http://web.kyoto-inet.or.jp/people/koyabu/
K2です。

> のように、このプロパティに文字列を直接代入すると、最後が改行コードで
> 無かった場合、勝手に改行コードが付加されてしまいます。

Textに直接代入するとそうなりますね。

> 私が作成しているソフトでは、読み込むのに今のところ
>
> TFileStreamで読み込み→Stringに格納→必要に応じて漢字コード変換→Lines.Textに格納

とされているなら、Stringの最後の文字が改行じゃない場合は、
TEditorの最終行の行属性をraEOFにするというのを追加しなければなりません。
うちでは、

Editor.ScreenStrings.Rows[Editor.ListCount - 1] := raEof;

としていますが、もしかしたらScreenStringsはprivateで外部からアクセス
できなかったかもしれません。うちではだいぶ改造してあるので。オリジナル
がどうだったかを調べるのは怠けました。

なお、これは1.6X系の情報です。最新版は見ていないのでどうなっているか
わかりませんm(__)m



1257 行末に余計な改行 コメント数:  5件
  ほしけん  | 2001/06/07 (木) 01:32
 http://www.hosiken.Afis.To/
こんにちは、いつもお世話になっています。

再近ふと気がついたのですが、
Editor1.Lines.Text := 'あいうえお';
のように、このプロパティに文字列を直接代入すると、最後が改行コードで
無かった場合、勝手に改行コードが付加されてしまいます。

私が作成しているソフトでは、読み込むのに今のところ

TFileStreamで読み込み→Stringに格納→必要に応じて漢字コード変換→Lines.Textに格納

という手順をとっているのですが、最後のLines.Textに格納する段階で
どうしても改行コードが付加されてしまい、その解決策が見つからず
かなり悩んでいます。

この場合、解決策はあるのでしょうか。分かる方、どなたかご教授ください。m(__)m



1256 Re^3: TKeyMacroについて コメント数:  1件
  DEKO   | 2001/06/06 (水) 22:08
 http://homepage1.nifty.com/ht_deko/
>OLD_SS := [];
>OLD_CC := 0;

 忘れて下さい(^^;



1255 Re^2: TKeyMacroについて コメント数:  2件
  DEKO   | 2001/06/06 (水) 22:07
 http://homepage1.nifty.com/ht_deko/
お久しぶりのDEKOです。

横槍ですが、こんなんでいかがでしょう?このままではMsgやKeyDataが保存されませんので、修正は必要ですが。

public
 procedure SaveToFile(FileName:String); virtual; // 保存

procedure TKeyMacro.SaveToFile(FileName:String);
var
 i:integer;
 SS :TShiftState;
 CC :Word;
 SL:TStringList;
begin
 OLD_SS := [];
 OLD_CC := 0;
 SL := TStringList.Create;
 try
  for i:=0 to FList.Count-1 do
   begin
    SS := [];
    if PKeyMacroData(FList.Items[I])^.Alt <> 0 then
     Include(SS,ssAlt);
    if PKeyMacroData(FList.Items[I])^.Ctrl <> 0 then
     Include(SS,ssCtrl);
    if PKeyMacroData(FList.Items[I])^.Shift <> 0 then
     Include(SS,ssShift);
    CC := PKeyMacroData(FList.Items[I])^.CharCode;
    SL.Add(ShortCutToText(ShortCut(CC,SS)));
   end;
   SL.SaveToFile(FileName);
 finally
  SL.Free;
 end;
end;

LoadFromFileはこの逆の手順でFlist(Object)を追加していけばOKです。



1254 TEditor ver 2.10 コメント数:  0件
  本田勝彦  |  2001/06/05 (火) 23:47
 http://member.nifty.ne.jp/~katsuhiko
お待たせしました。正規版 2.10 です。
よしなに〜(^^)/



1253 Re: TKeyMacroについて コメント数:  3件
  本田勝彦  |  2001/06/05 (火) 23:46
 http://member.nifty.ne.jp/~katsuhiko
> TKeyMacro コンポーネント のサンプルで Rec ボタンで記録して
> から Shift Ctrl P で連続再生していくと P が入力されて
> しまうようです。

確認出来ました。レポートありがとうございます。
・・・辛い(^^;; も少し工夫してみます。

> あと、このコンポ、記録したキーの内容をファイルにセーブした
> り、読み込んだりできるとかなり強力になると思うのですが、
> どうでしょうか。

おぉ早速来ましたね。うっちゃっておいた部分です(^^;
なんだかベタベタになりそうで嫌だったのですが、
どうせやるなら
VK_LEFT, Shift, Ctrl, Alt
みたいなテキストデータで保存・読み込み・編集も出来るとぐっどでしょ?

どうやって実装するんだ(^^;;;



1252 Re^3: Fountainの質問 コメント数:  2件
  本田勝彦  |  2001/06/05 (火) 23:41
 http://member.nifty.ne.jp/~katsuhiko
> > =begin, =end は初めて見るコメント方式でしたので、少し戸惑っています。
> あの形式にしておけば、RDtoolというのを使用して
> コメントの部分だけをHTMLに変換することができます。

ということは、ユニットをまるごと web ページに即アップロード出来ると。
いいなぁ。

> print '1行目
> 2行目
> 3行目'
>
> を解釈するので、今の形にしました。

これなら Brackets が○ですね。
楽しみにしています。 TFountain リンクのページを用意せねば。



1251 TKeyMacroについて コメント数:  5件
  DR-X   | 2001/06/05 (火) 16:31
本田さん、こんにちは。DR-X です。

TKeyMacro コンポーネント のサンプルで Rec ボタンで記録して
から Shift Ctrl P で連続再生していくと P が入力されて
しまうようです。

対応できるようでしたら、お願いいたします。

あと、このコンポ、記録したキーの内容をファイルにセーブした
り、読み込んだりできるとかなり強力になると思うのですが、
どうでしょうか。

ではでは。