したらばTOP ■掲示板に戻る■ 全部 1-100 最新50 | |

過去の掲示板過去ログ を探しています。

1S.A:2004/02/18(水) 14:25
S.Aと申します。

F-BASICで掲示板過去ログ を探しています。
過去の投稿にRichTextBoxに関する記述があった記憶があります。

目的は標準では32KBの制限がありますので制限の範囲を広げる事が
出来ればと思っています。
もし掲示板過去ログ にRichTextBoxに関する記述がありましたら
教えて頂けないでしょうか。

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

備考
F-BASIC Ver6_3の集い場 掲示板過去ログ 2002-02-28〜2002-10-09.htm
では見あたりませんでした?

2TOKO:2004/02/18(水) 21:18
S.Aさん>
>>エディタ文字数制限の件について
でも同じようなレスがありましたね。
私もアチコチ見て回るほうですが、過去のF-Basic掲示板でRichTextBoxのレスが有ったか
どうか、記憶が定かでは有りません。もし有ったとしてもRichTextBox自体はVisualBasic
のOCXですので、それをF-Basicでどうこうという話ではないような気がしますが・・

3F橋:2004/02/19(木) 12:51
過去ログの件。お待たせして大変申し訳ございませんです
近日中に掲載可能と思われますのでよろしくお願いします

4S.A:2004/02/19(木) 14:36
投稿ありがとうございました。
RichTextBox自体はVisualBasicのOCXですが
もしかしたらAPIでF-Basic様に有るかと思いまして過去のF-Basic掲示板を探していました。
検索目的は容量の多いWevソースを読み込ませますと
標準の32KB越える所が表示されませんので今回の投稿としました。
32KB越えれは、色々な面で利用範囲が大幅に広がるのではないかと考えます。
今のVisualBasicNETは標準の32KBを意識せずに使用出来ると想像出来ますが。

5ニャン子:2004/02/19(木) 16:34
ニャン子です。

リッチエディットボックスですが、これはWin32APIの「CreateWindowEx」で
サポートされている標準クラスです。これには「RichEdit」クラスと
「RICHEDIT_CLASS」クラスの2種類があり、前者がVersion1.0、後者が
Version2.0です。

<A HREF="http://www.microsoft.com/japan/msdn/library/default.asp?url=/japan/msdn/library/ja/jpwinui/html/_win32_createwindow.asp&quot;&gt;詳しくはこちらを参照されてください</A>

ただ、通常のエディットボックス同様「SendMessage」で「WM_SETTEXT」
メッセージを用いテキストを送信する事は出来ますが、これは32KBまでの
制限により通常のエディットボックスと何ら変わりありません。

SDKでアクセスする方法を色々と見ていますがコールバック関数を用いる事は
避けられない様です。

なお、VBはOCXを使う事でWin32APIを意識せずリッチエディットコントロール
を利用する事は出来ますが、元々VBは拡張コントロールを全てOCXにする傾向
があります。これにはコールバックをイベント化する仕組みやOLEを使う必要が
あるからだと思われますが「USER32.DLL」がリッチエディットコントロールを
予約している事は間違い無い様です。

コールバックをF-Basicで使う場合は必然的にC言語を使わざるを得ないでしょう。
ただ、実験ではF-Basicでもコールバックが実現出来ない訳では無さそうなので
今度試してみたいと思います。

6S.A:2004/02/19(木) 20:44
投稿ありがとうございました。
詳細な説明をして頂きまして、お礼を申し上げます。
(自分では改善する力は有りませんが、説明は解りました)
最近は容量の大きいファイルが支流となってきていますので制限により使用範囲が限られて
きます。今後の事を考えF-BASICを使い続けられる様にする為には制限を意識する必要が
無い様に自由に出来ればと個人的に考えてます。

7ニャン子:2004/02/19(木) 22:25
ニャン子です。

試しにリッチエディットボックスを使ったサンプルを作ってみました。

危険:このサンプルはコールバックを使用しています。サンプル程度であれば
動きますが、テスト中も頻繁に回避不可能なエラーが発生していましたので
on errorで逃げています。

コールバック関数はF-Basicで使えないと富士通自身がマニュアルに書いて
いますが、何とか動くレベルで作っています。

サンプルプログラムはこちらです。
http://hp.vector.co.jp/authors/VA025808/Ritch.lzh

8S.A:2004/02/20(金) 10:56
サンプルプログラムを提供して頂きましてありがとうございました。
早速、サンプルプログラムを使用してみました。
制限を越えての読み書きはできるようになりました。
F-Basicでも出来ることが確認できました。
富士通のマニュアルではコールバック関数はF-Basicには使えないとあり
出来ない物と思っていただけに、それが可能となりましたので自分にとっては大きなものとなりました。
また、自作ソフトで見直すことも可能となりましたのでニャン子さんが提供して頂きましたサンプルプログラムで
大変感謝しております。
今後、何か有りましたら、ご指導して頂ければと願っています。
よろしくお願い致します。
本当にありがとうございました。

9S.A:2004/02/20(金) 11:33
追記
ニャン子 様
プロシージャ説明書及び関数一覧表
まで提供してくださいましてありがとうございました。
それにより大変調べやすくなります。また、
標準の32kと比べ569700バイトまで可能で有ることも解りました。
569kでありますので殆ど問題なく使用出来ます。
心より厚くお礼を申し上げます。

10ニャン子:2004/02/20(金) 17:09
ニャン子です。
S.Aさん、ありがとうございます。

ところで、色々試しましたが完全コンパイルを行うと全く動きません。
・・・残念

という事で、BorlandCで同じ様なものを作ってみました。どうしても静的リンクが
出来ないのでDLLとして作成しました。

関数のインタフェースは前回と多少異なりますのでサンプルをご参照ください。

サンプルはこちらからダウンロード出来ます。
http://hp.vector.co.jp/authors/VA025808/ritch2.lzh

作ってみた限りでは、コールバックを使う関数はやはりC言語が作りやすいという
実感がします。

11F橋:2004/02/20(金) 20:47
(過去ログは来週頭に掲載を予定しております。よろしくお願いします)

12S.A:2004/02/20(金) 21:25
ニャン子さん
幾度にも渡りご指導ありがとうございました。
丁度文字数、ライン数を考えいた所、
ritch2で新しい追加〔文字列を取得〕で文字数を得る事ができました。
文字数の求め方についてお聞きしたいのですが、
文字数をLEN(wk$)で求めましたが、chr$(&H0D)、chr$(&H0A)が
一文字数でカウントウされている様な感じがします?表示文字数が実際より少なくなります。
そこでinstr(N,wk$,chr$(&H0D)、chr$(&H0A))で個数を検索しましたが検索できませんでした。
私はまだ基本的な事が良く解っていませんので、
文字数、ライン数で、ご都合が良ければ、ご指導していただければと思っています。
よろしくお願い致します。
S.A


F橋様
わざわざ掲載予定をお知らせて頂きましてありがとうございました。
来週にも過去ログを活用させていただきますので、今後ともよろしくお願い致します。
ありがとうございました。
S.A

13ニャン子:2004/02/21(土) 09:07
ニャン子です。

文字数のご報告ありがとうございます。調べた結果ファイルからリッチエディット
へ転送するプログラムのファイルオープン方法がテキストモードになっていました。
これをBINARYに変更した所、正常な値となりました。
(原因、通常の改行コード0x0d,0x0dが0x0dとなっていた)

あと、リッチエディットの表示行数を取得する関数も追加しました。
関数名は下記の通りです。
declare function GetRitchTextLine Lib "Ritch" Alias "GetRitchTextLine" (Byval Hwnd&) as long

最新版は前回同様下記のアドレスとなります。
http://hp.vector.co.jp/authors/VA025808/ritch2.lzh

14ニャン子:2004/02/21(土) 09:11
訂正:(原因、通常の改行コード0x0d,0x0dが0x0dとなっていた)

正解:(原因、通常の改行コード0x0d,0x0aが0x0dとなっていた)

あと、表示行数を取得する例ですが関数の初期処理では
__declspec(dllexport) __stdcall DWORD GetRitchTextLine(HWND hWnd) {

EditStreamBuf.dwCookie = RITCH_READBUFLINE;
EditStreamBuf.pfnCallback = (EDITSTREAMCALLBACK)&EditStreamCallBack;

BufSize = 0;
SendMessage(hWnd, EM_STREAMOUT, SF_TEXT, (LONG)&EditStreamBuf);

return( BufSize );

}
としてます。この関数から呼び出されるコールバック関数は
LRESULT CALLBACK EditStreamCallBack(DWORD dwCookie, LPBYTE pbBuf, LONG cb, LONG *pcb) {
int i;
switch(dwCookie) {
・・・ 中略 ・・・・・
case RITCH_READBUFLINE :
for (i=0; i< cb; i++) {
if (pbBuf[i] == 0x0d) {
BufSize++;
}
}
*pcb = cb;
break;
}
return(0);
}
となっています。つまり、バッファの中にある0x0dを探しカウントアップする
だけです。

15S.A:2004/02/21(土) 11:48
ニャン子さん
最新版のritch2.lzhをダウンロード致しました。
問題なく使用させてもらいました。
ritch2からは制限が無くなっていました。
詳細な説明・ソフトのダウンロードなどをして下さいまして感謝しています。
ritchにつきましてはAPI等と違い全てを考えて作り上げていななければならないのかと
一番に感想を持ちました。自分はまだまだですがニャン子さんの様に
少しでも近づければと思っています。
色々とお願い致しまして大変お手数をお掛けしまして本当に申し訳なく感じています。
ありがとうございました。

16S.A:2004/02/21(土) 13:56
S.A と申します。
今回のリッチエディットとは直接関係ありませんが
確認のみでお聞きできればと思い再度投稿いたしました。
MAIFORMにEDITを設けそのEDIT内容量が標準の32KBの制限
を越えた場合に限りリッチエディットに切り替えます。
越えた場合にMAIFORMにリッチエディット表示ができましたが
編集と思いリッチエディット表示上にマウス又は入力しようとしますと
EDIT画面になります。あまりよく解りませんがデタッチ等色々
試して見ましたが解りませんでした。以上の事でF-BASIC
ではEDIT画面にならない様にする事は可能・不可能か
確認だけでもと思い再度投稿いたしました。
もし、ご都合が良ければ、可能・不可能かだけでも教えて頂きたく思います。
よろしくお願い致します。

17ニャン子:2004/02/22(日) 01:16
ニャン子です。
ファイルサイズが32KB以下か超過でエディットボックスとリッチエディットを
切り替えるプログラムのサンプルを追加しました。

サンプルのダウンロードは前回同様下記からダウンロードできます。
http://hp.vector.co.jp/authors/VA025808/ritch2.lzh

処理はMainForm.Subの「BUTTON1_ON()」関数で記述しています。
よろしければご参照ください。

18S.A:2004/02/22(日) 15:31
要望に応えて頂きましてありがとうございました。
以前から最大文字制限数に於いて課題でしたがニャン子さんのお陰で解決する事ができました。
以前F-BASICサポートに最大文字制限数の件で問い合わせした事があります。
同じ様に最大文字制限数についての問い合わせはよく有ると言っていました。
少し大きいホームページhtmlソースを読み込みますと最大文字制限数
をすぐ越えて使用できなくなる為、あきらめる他ありませんでした。
同じ様な使い方して問い合わせている人がいる事も実感しました。
解決出来た事で最大文字制限数を気にせず使用出来ますのでF-BASICのユーザにとっては
大きな朗報になると思っています。
現在のソフトの中身を変えず最大文字制限数を越えた場合にリッチエディットに切り替える
部分を追加する事が出来ますので特にソフト作成しなくて済みます。
F-BASICユーザにとっては大幅に改善できると思っています。
何度にも渡りサポートして頂きました上、申し訳ないのですが、現在でも十分満足していますが、
もし下記の2点の機能が有りますと編集に於いて効率が図れかと思っています。

・文字サイズがユーザで自由に設定
・EDITに有りますリッチエディットに於いてもマウスの右クリックでコピー、張り付け、削除、切り取り、全て選択

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

19F橋:2004/02/23(月) 20:27
大変お待たせして申し訳ございませんでした

↓過去ログ第2弾です
http://www.geocities.co.jp/SiliconValley-Sunnyvale/8635/klog02.txt

ファイルサイズが1Mbyte以上ありますので重いです。よろしくお願いします

通常のネットではCPUが200MHz程度で十分と言われておりますが
こういう巨大なページでIEの場合は(回線が太くても)かなり時間がかかりますのでご注意下さいです
(私の環境のCPU200MHz+IEだと…ローカルのページなのに3分たってもまだ開けず諦めましたです(笑

20<削除>:<削除>
<削除>

21S.A:2004/02/23(月) 23:32
F橋さん、ごめんなさい。
先ほど投稿しました中でF橋さんのさんの記述をしていませんでした。
本当に申し訳ありませんでした。もし可能でありましたら
再度送りしますのでNO20を入れ替えていただければと願います。


ご投稿して下さいましてありがとうございました。
早速、過去ログ第2弾をダウンロードさせていただきました。
お陰様で無事にダウンロードできました。
自分は簡単にダウンロードしましたが、F橋さんは大量のデータを整理それをダウンロード
までには大変だったと想像できます。過去ログはF-BASICの宝庫と思います。
今後、過去ログを利用させていただきますのでよろしくお願いいたします。
ご苦労様でした。

22F橋:2004/02/24(火) 20:09
>>21
S.Aさん>
遅くなってしまい申し訳ございません
レスの入れ替えの機能はありませんのでとりあえず>>20を削除させて頂きました

>過去ログはF-BASICの宝庫と思います。
管理人である私からはただの宝庫だけでは言い表せれないというか…
HPの管理人からは掲示板に書込があるだけで嬉しいものです
書込だけでなくあれだけの情報を自分のHPで皆さんが話し合って頂けた…本当に宝物です


…あ。先の過去ログ…F-BASICに全然関係のない…凄い話(アホな話)もありますのでご注意下さいませです(笑
(アホな話の筆頭が私だったりするです(笑))

23S.A:2004/02/25(水) 12:11
F橋さん
20レスを削除して頂きましてありがとうございました。
お手数をおかけしました。申し訳けありませんでした。
以前からF-BASIC掲示板を拝見しています。
それによりましてF-BASICの使用においては大変助けられていますので
本当に宝物です。ありがとうございました。
今後もよろしくお願い致します。

24芳博:2004/12/22(水) 22:16
前回通り 書き込もうと思ったら 出来ませんでした
別の機会にトライします


新着レスの表示


名前: E-mail(省略可)

※書き込む際の注意事項はこちら

※画像アップローダーはこちら

(画像を表示できるのは「画像リンクのサムネイル表示」がオンの掲示板に限ります)

掲示板管理者へ連絡 無料レンタル掲示板