ホームへ戻るData Base 桐 User Board過去ログ一覧検索プロパティほっ!
過去ログ No48


   書き込み数 : 2400件


<2400> RE:フォームから外れた時に発生するイベント/pokopon 2001年11月24日 土曜日 21時13分44秒
>[マウスインアウト]は使えますし、一応イベントは拾えています。
すいません。説明不足で。ファミリーで「マウスインアウト」を設定し、サブフォーム自体にファミリを設定しています。

上手くいっているかと思いきや・・・・、やっぱりマウスの動きに追随できていません。
すばやい動きでフォーム外にでると、&フラグの値が変化しません。一瞬でも拾ってくればと思ったのですが。
マウス移動と同じです。無理みたい。

も一つ発見。
サブフォームの中に別のフォームを入れて実験しましたが、このサブの中のフォームにあるレコードスクロールバー、下のフッタ部分において、このサブに「フォーカス」があたっていない時には、「マウスインアウト」のイベントが発生しません。
すなわち、サブの右、下では、フォーカスが当たっていない時にはイベントが発生していません。
フォーカスが当たっていれば、イベントが発生しているようです。

ということで、このサブフォーム方式も・・・・駄目みたい。 (^^ゞ

アックンさん>ゴメンナサイ (^^ゞ


(もともと、そんなすばやいマウス移動に追随したことを要求する方が間違っていますね。最後はタイマ?これだけは使いたくなかった。)

E-Mail

<2399> RE:フォームから外れた時に発生するイベント/pokopon 2001年11月24日 土曜日 20時34分46秒
アックンさん>こんばんは
ところで、
>フォームにタイトルバーやレコードスクロールバーがあると、マウス移動イベントでは対処できないです。
とは? どういう意味でしょうか?
1.マウスポインタの値が追随できない(スクロールバーがないと、完全に追随できる?)
2.スクロールバーの場所ではマウス移動イベントが利かない。
(多分2.とは思いますが)


>ぼくはフォームに&マウス位置[2]の値を他の変数に渡して、変数変更メソッドでリアルタイム表示してますけど。
すばやく(もの凄く早く)フォーム外にマウスを移動した場合、
&マウス位置[2]の値(変数に渡した後でも可)は、常にフォームの幅と一致していますか?
私の確認では、「変数管理」で最後に変更された&マウス位置[2]の値を調べても(代入された変数値)、
マウスの動かし方によって、一定の内容が得られず、この値を使って「フォーム外だ」とはいえないと判断しています。
アックンさんの方では「完全一致」が得られているのでしょうか?

>サブフォームは試してません。そちらで結果を試して、結果を教えてください。
[マウスインアウト]は使えますし、一応イベントは拾えています。
「フォーム外でのイベント」としては、余計なピクチャを貼り付けることなく、またそれを制御する必要もなく、一応は目的の状態は得られてはいます。
が・・・・・、
「できない事はないが」って感じでしょうか。でも、メイン&サブの関係でしょうか、イマイチ軽快さに欠けています。

E-Mail

<2398> re:2397 フォームから・・/アックン(=^・^=) 2001年11月24日 土曜日 19時10分22秒
それでしたら、ファミリ(たとえばピクチャ)にマウス移動イベントを設定して、
&マウス位置[2]の値を各ピクチャの大きさと比べてはどうでしょう。

ヘッダ・フッタ・明細部毎にピクチャを配置します。
明細部は、フォーム幅よりも若干小さい幅にして、空いたところにピクチャを配置してます。

> マウス移動でポインタを追いかけ、フォームサイズ以上になれば・・・・
> これも試しましたが、すばやいマウスの移動では、ポインタの値が追随できないようです。

ぼくはフォームに&マウス位置[2]の値を他の変数に渡して、変数変更メソッドでリアルタイム表示してますけど。

フォームにタイトルバーやレコードスクロールバーがあると、マウス移動イベントでは対処できないです。

サブフォームは試してません。そちらで結果を試して、結果を教えてください。
<2397> RE:フォームから外れた時に発生するイベント/pokopon 2001年11月24日 土曜日 11時02分09秒
アックンさん>こんにちは

>> 隠しオブジェクト(透明なもの、最背後に)をフォーム全体に貼り付け、これを使う事は可能でしょうけど、
>これでいいいんですよ。(^^)
>・ピクチャはフォームと同じ大きさにするわけですが、1個のピクチャだけでフォーム全体をカバーしきれな
>い場合は、ピクチャを複数配置して、ファミリにします。
>フォームよっては、隅々まで徹底的にカバーするために、縦横サイズが数ミリの小さな部品みたいなピクチャ
>まで作ってます。

この手法はいかすぱ様の作品で既に確認しています。
しかし、オブジェクトの境目(重ねて書いたとしても)でイベントが発生してしまいます。
もちろん他のオブジェクトをまたぐ時にも発生します。
>数ミリの小さな部品
これもちょっと・・・・(^^ゞ

単に「フォームから出た時に発生するイベント」として、もっと簡単に出来ないものかということです。
フォーム自体に「マウスインアウト」がないため問題なのですが。あるいは、フォーム全体にファミリを設定
できないなど。だから、面倒になるのですけど。

「サブフォーム」って手はどうでしょうか?
メインフォーム全体にサブを貼り付け、そこの中に、本物のフォームを表示させる。
サブの大きさは、メインのフォームサイズが変更となった時に(それこそフォーム外イベントで)サブそのもの
のサイズも変更するとか?
もちろん、その場合には、メインフォームの余計な表示を一切排除し、見た目は「メイン」と同じにすることになりますが。

う〜む、簡単そうで実は面倒ですね。

やっぱり「ないものねだり」ですかね。

E-Mail

<2396> re:2395 フォームからマウスが外れた時に発生するイベント/アックン(=^・^=) 2001年11月24日 土曜日 09時25分02秒
pokoponさん、こんにちは。

> 例えば、[マウスインアウト]がありますけど、これはフォームには使えません。
> 隠しオブジェクト(透明なもの、最背後に)をフォーム全体に貼り付け、これを使う事は可能でしょうけど、
>「フォームから外れた時に」となれば、どうか?

これでいいいんですよ。(^^)
先日、フォームをドラッグする話題があったとき、
いかすぱさんのメニュー(簡易乱茶)をここでダウンロードされたでしょう。
あれはこれでマウスカーソルの形状を変更しています。ぼくは下のようにしてます。

proc picファミリ::マウスインアウト(長整数 &フラグ,長整数 &明細番号)
if( &フラグ )
object &this.マウスポインタの種類 = "Finger.cur"
else
object &this.マウスポインタの種類 = "標準"
end
end

・このように、&フラグの戻り値で処理分けすればいいです。

・オブジェクトは「オブジェクトのリスト」の上方に配置します。

・背景色モードは透明にせず、好みの色、背景パターン、写真(JPG・GIF)などにしておき、
フォーム表示中に背景を別の柄に変更したりと、このような使い方をするためにピクチャにしているわけです。

・ピクチャはフォームと同じ大きさにするわけですが、1個のピクチャだけでフォーム全体をカバーしきれない場合は、
ピクチャを複数配置して、ファミリにします。
フォームよっては、隅々まで徹底的にカバーするために、縦横サイズが数ミリの小さな部品みたいなピクチャまで作ってます。
プラモデル感覚で作れば楽しいもんです。
(あまりに部品が小さすぎて、たまにそのへんに落としてなくしたり、ゴミだと思って捨てたりして、泣くこともありますけど(^^;。)

・他のフォームでも使える汎用にしたいときは、該当イベントをcmdにしておいて、ライブラリコマンドで読み込みます。
<2395> フォームから外れた時に発生するイベント/pokopon 2001年11月23日 金曜日 20時36分31秒
たまには桐に関する話題を!!
(最近、自分でよく考える前に、皆に提起する方が早かったりします (^^ゞ 年かな〜 )

フォームからマウスのカーソルが外れた時に発生するイベント・・・・これは存在しませんが、それに代わる手法として、どのようなものがあるのでしょうか?

例えば、[マウスインアウト]がありますけど、これはフォームには使えません。
隠しオブジェクト(透明なもの、最背後に)をフォーム全体に貼り付け、これを使う事は可能でしょうけど、「フォームから外れた時に」となれば、どうか?

逆に、フォーム上に各実にマウスが存在しているという事を調べる方法・・・・。
マウス移動でポインタを追いかけ、フォームサイズ以上になれば・・・・これも試しましたが、すばやいマウスの移動では、ポインタの値が追随できないようです。
また、「ポインタの移動量がない=フォームの外」としても、フォーム内でマウスが動かない時には(静止状態)効果がありませんし。

桐自体に「イベント」を仕掛けられないのか? 桐のワーク領域対して「イベントを発生」とか?

サブフォームに目的のフォームを表示させ、そのサブオームに対してイベントを発生?

などなど、思いつくまま書きましたが、もっと簡単な方法はないものでしょうか?
「フォームからマウスポインタが外れた時」を制御したいのですが、何かよい知恵はありませんでしょうか?(今回は?が多発しています)

ないものねだりはいけませんが、上手い方法はないものかと、皆さんにお聞きします。

E-Mail

<2394> Re:検索/hidetake 2001年11月21日 水曜日 22時33分06秒
ちょっと話題とはそれますが、検索に関すると言えば
検索を使うのだけれども、実際の検索は行わずデータ
を集計するのも非常に面白い手法だと思います。

例えば

検索 [科目コード]=#progn(#setq(&借方金額,&借方金額+#nvl([借方],0)) \
             ,#setq(&貸方金額,&貸方金額+#nvl([貸方],0)) \
             ,"____")
と言うように、絶対に一致しない値を返すようにして
検索する方法ですよね・・・

<2393> re:>2389 先頭の空白(再) /【多遊】 2001年11月21日 水曜日 22時12分59秒
> 確か「連続する半角スペースは1個の半角スペースに置き換わる」じゃなかった
>でしたっけ? これって別な問題だったかな。
ホームページにアップ(掲載?)されたものを、IEなどで、見るときは、たぶん
そうだと思いますが、掲示板の書き込みでは、途中でなにか連続の半角の処理(デコード)を
行ってるかもしれません。例えば改行を<br>に行うみたいな
私もあまりよくわかりません。
<2392> re:検索/【多遊】 2001年11月21日 水曜日 22時05分03秒
文字列項目で、「あいうえお」を、検索する場合
強制改行文字を設定してあれば、データの種類は、(強制改行文字="/"と仮定)

「あいうえお」「あ/いうえお」「あい/うえお」「あいう/えお」「あいうえ/お」と
いろいろなケースがあります。

会話処理で検索を行うときは、普通「あいうえお」で、行うと思いますが
上記の場合は、5回行わなくてはなりません。

まして、強制改行文字は、普段に使用されない文字が設定されてたり
表(tbl)ごとに異なったりする場合があります。そんなわけで

少しテストしてみました。・・・・
結果が、おもしろかったのでご紹介いたします。


その前に、(検索も絞り込みもたぶん同じと思いますが?)

数値項目で、検索→比較式で 2+3 など、入力すると
値が「2+3」を評価した、「5」が選択されます

文字列項目で、検索→比較式で 2+3 など、入力すると、項目値に 5 というのがあっても
「KD1618:比較できないデータ型の組合わせがあります」と表示されます
これを、「"2+3"」で、行うと、当然文字列としての「2+3」を探します。

問題は、上記「KD1618:比較できないデータ型の組合わせがあります」エラーにあります。
単に「2+3」で、検索すると計算の結果 5 と、なるため、文字列項目で、数値の検索は
出来ないよ、という意味です。

つまり、「計算式が評価(実行)されている」と、いう意味です。

だったら、その逆を利用して、計算式で行えば・・・・・・・・・・・
長い前置きになりましたが。

計算式を「#文字置換([],#強制改行文字,"")="あいうえお"」と、かけば
いいようです。

これで、途中に強制改行文字を含んだ場合も検索できるようです。

ぜひお試しください。

ps。もっといい方法もあるかと思います。ご存じのかたは、是非ご紹介ください

<2391> 検索/【多遊】 2001年11月20日 火曜日 23時03分05秒
ふと思ったのですが、表(tbl)に、強制改行文字が
設定されてる項目で、検索するときは?

ここの掲示板では、ごらんの通りに、悲しげさんはきれいに
右幅揃えで、かかれてますが、私は書き殴りです

こんなとき、単語の途中で改行が入ることもあると思いますが
問題は、何文字目に入るかわかりません、

このような場合、どのようにして検索されてますか。
<2390> Re>2388 /悲しげ 2001年11月20日 火曜日 21時56分05秒
ちゃうちゃう(^^;)

誤>もこれでは、有ってしかるべきスペースまで消えてしまいますけどね。ま、ieの限界なのでしょう。
                                   ↓↑
正>もこれでは、有ってしかるべきスペースまで消えてしまいますけどね。ま、ncの限界なのでしょう。
<2389> Re>2387 先頭の空白(再) /悲しげ 2001年11月20日 火曜日 21時53分11秒
確か「連続する半角スペースは1個の半角スペースに置き換わる」じゃなかった
でしたっけ? これって別な問題だったかな。
<2388> Re>2381 式入力もしくは吉報 /悲しげ 2001年11月20日 火曜日 21時50分28秒
だもっ、【多遊】さん

>>絞り込み→比較式の入力ボックス(またはその右[…]からの式入力ボックス)
>上記方法は、表示状態で、式入力ボックスが、表示されるますので、
>この方法がいいかなと試してみましたが、どの行へ貼り付けるか?というより
>どの行へも貼り付けできないようです。

あ、すいません、そのとおり。1行にはしてくれるけど、確かに「貼り付け」
まではできませんね。私の方の勘違いでした。
貼り付けまで含めると、cmd(kev)では、訂正モードで右クリック/関数(F)
の利用がお奨めですね。

あと、ncのコピペでの行頭スペースはちょっと違いまして、掲示板によって行
頭につく半角スペースの数は異なります。
だから、#部分列([],2)ではなく、強いて云えば、#trim([],1)となります。で
もこれでは、有ってしかるべきスペースまで消えてしまいますけどね。ま、ie
の限界なのでしょう。と云う訳で、しばしばncとieの両方を起動したりしてい
ます。コピペはie、ブックマークはncかなぁ。(^^;)
<2387> 先頭の空白(再)/【多遊】 2001年11月20日 火曜日 21時36分31秒
下記、貼り付けた結果が画面で反映されてません。再度行ってみます

>理由:いま現在一番新しい記事で試してみました。
>
>井戸端BBS
>_______>>ボタン3 1行目  開く     ”確認3.CMD”
>_______>>     2行目  閉じる
>_______>>
>_______>今気づいたのですが、どのボタンも順不動で2番目に押されたボタンで
>
>Data Base 桐 User Board
>___エクセルのデータを範囲指定して、桐の表に貼り付けたとき
>___一つの項目へ全部貼り付けされたことが何度かあります。
>___もちろんエディタへの貼り付けは、複数行になる内容です。
>
(先頭の半角スペースを半角_に置き替えしてみました)

<2386> 先頭の空白/【多遊】 2001年11月20日 火曜日 21時30分03秒
>別件ながら、ncからだとコピペ時に行頭スペースを拾ってしまう(ieならそ
>うはならないけど)。これは仕方ないんですかね?
まだ(と、いうより全然)わかりませんが、NCとIEの違いの他にも・・・?
あるのかもしれません。

理由:いま現在一番新しい記事で試してみました。

井戸端BBS
>>ボタン3 1行目  開く     ”確認3.CMD”
>>     2行目  閉じる
>>
>今気づいたのですが、どのボタンも順不動で2番目に押されたボタンで

Data Base 桐 User Board
エクセルのデータを範囲指定して、桐の表に貼り付けたとき
一つの項目へ全部貼り付けされたことが何度かあります。
もちろんエディタへの貼り付けは、複数行になる内容です。

上記は、引用記号">"を省略して、エデイタからそのまま貼り付けしています
先頭からの字下げ幅が異なってます。

これは、HTMLの表<table><td>などのブラウザの解釈がことなるのでしょう
・・・てことは、
>これは仕方ないんですかね?
ってことでしょうね。
<2385> 複数行を一行に/【多遊】 2001年11月20日 火曜日 21時07分40秒
いま、落ち着いて考えると、かなり以前から経験していましたネ
エクセルのデータを範囲指定して、桐の表に貼り付けたとき
一つの項目へ全部貼り付けされたことが何度かあります。
もちろんエディタへの貼り付けは、複数行になる内容です。

いまでもときどき失敗してます。コピーする方か、貼り付けする方の
範囲の指定の仕方だと思いますが、うまく行くときとそうでないときが
あります。いちいちcsvへ書き出すのも面倒くさいときは
試行錯誤でやってますが、きっとルールがあるのでしょう。

<2384> re:<2383>#文字置換では/【多遊】 2001年11月20日 火曜日 21時07分01秒
Ogoさん>ありがとうございます
>#部分列([],2) でいいのでは?
そうでした。どこかで、2000なる数字の記憶がありましたので・・・?

>#部分列( str , n1 , n2 )
>str の n1 文字目以降の文字数が n2 文字未満なら、n2 文字になるまで、
>後ろに半角の空白文字を補う。

<2383> <2382> #文字置換では/Ogo 2001年11月20日 火曜日 20時51分57秒

>でも、結局、#部分列([],2,2000)でとれますね。

この計算式、文末に膨大な量の半角スペースが付加されません?

# 確か以前につらい思いをした記憶が……

#部分列([],2) でいいのでは?

<2382> #文字置換では/【多遊】 2001年11月20日 火曜日 20時45分34秒
先日の話題で先頭に、例:"<>"をつける方法がありましたが、
これを日常の文章(一括やイベントでなく)や、新聞・書籍のテキストだったら
先頭の文字をどうして取り除くのか?・・・・・・・・と
考えてました。どんな文字を指定しても、文章のどこかにあるかも知れません
#文字置換([],"<>","")では、無理だな・・・・・

でも、結局、#部分列([],2,2000)でとれますね。
<2381> re: 式入力もしくは吉報/【多遊】 2001年11月20日 火曜日 20時44分57秒
>絞り込み→比較式の入力ボックス(またはその右[…]からの式入力ボックス)
上記方法は、表示状態で、式入力ボックスが、表示されるますので、
この方法がいいかなと試してみましたが、どの行へ貼り付けるか?というより
どの行へも貼り付けできないようです。
操作が違ったのかもしれませんが。
<2380> Re>2379 式入力もしくは吉報 /悲しげ 2001年11月20日 火曜日 15時43分37秒
なるほど〜
あと、一括処理なら次の場面でも可能なようです。
絞り込み→比較式の入力ボックス(またはその右[…]からの式入力ボックス)

別件ながら、ncからだとコピペ時に行頭スペースを拾ってしまう(ieならそ
うはならないけど)。これは仕方ないんですかね?
<2379> 式入力/【多遊】 2001年11月20日 火曜日 07時15分03秒
式入力・・・(下記方法の意味です)
定義画面で、コマンドが入力出来る状態(ファンクションキーが青になってる)で
マウス右クリックして、関数(F)をクリックください。
そのなかに張り付けをしてみてください
<2378> re>2375 計算式の貼り付けー2/【多遊】 2001年11月20日 火曜日 07時09分46秒
吉報
悲しげさんの言葉をヒントに試してみました。
一括でも1行貼り付け可能です
方法は・・・・・
一括の定義画面で、「式入力」を出してそこへ貼り付けると
1行になります。

こちらこそ驚きですね
<2377> re>2375 計算式の貼り付け/【多遊】 2001年11月20日 火曜日 07時05分43秒
悲しげさん>おはようございます。
言葉不足でしたね。表定義の項目計算式の場所という意味でした
幅田さんのBBSで、
>14079 Re:連番入ファイル名を並べ替える で、Ogoさんが紹介されてました
計算式(引用記号">"は、省略してます)

[Prefix]
#条件選択(#is数字(#ファイル名([ファイル名],2),0)>0,
 #部分列([ファイル名],1,#is数字(#ファイル名([ファイル名],2),0)-1),
  1,#ファイル名([ファイル名],2))

[連番]
#条件選択(#is数字(#ファイル名([ファイル名],2),0)>0,
 #数値(#部分列(#ファイル名([ファイル名],2),
   #is数字(#ファイル名([ファイル名],2),0))),
  1,0)

これを貼り付けたとき気が付いたのです。一括ではもし複数に分かれても
前の行の最後に"\"を追加すればいいから気にしてなかったのですが、
表の項目計算式は2行に分かれると全然異なる意味になってしまうので
いままでエディタを起動して1行にしてから貼り付けてました。
<2376> RE:シェル実行 &vbs/pokopon 2001年11月20日 火曜日 00時46分34秒
【多遊】さん>
>V8/SP6では無理です。
>少しショックでしたが、簡単な一括(イベント)では、動いてますよ。
>(もちろん利用者責任でと、いうことが条件付きです)

すいませんでした。こちらの思い違いでした。
http://www.fuku3.com/~habata/kbbs/kakov8/04743.htm
から「出来なくなった」という単語のみがサブリミナル効果で反復され、 & HTML HELPにものっておらず、 & 話題にものぼらず・・・・・
ということで「できない」という烙印を押していたようです。
(hidetakeさんにも指摘されました)

ところで、管理者責任でとなっていますが、具体的に不具合は出ているのでしょうか?
単に、プロセス番号=ハンドル番号?

>従って「プロセス終了」コマンド自体は生きているものの、
>その番号を通常の手段では知ることが不可能になりました。
>そして、この番号は NT のタスクマネージャで表示される PID でも無いようです。
>やっぱハンドル?

まあ、使えるのなら、使いましょう!!

E-Mail

<2375> Re>2371 計算式の貼り付け/悲しげ 2001年11月20日 火曜日 00時29分38秒
どもっ、【多遊】さん
#2371の意味が判らないです。
「改行がなくなってしまう」とは自動的に1行になると云うことでしょうか?
試しにnnとieの両方で桐のcmdにコピペしてみたのですが、全然そうはなりま
せんけど。(?_?)
<2374> re:<2373> #住所表示番号/【多遊】 2001年11月19日 月曜日 23時13分39秒
Ogoさん>こんばんは。
レスが付くとうれしいです。ところで、

>>連番2・・・#数値([ファイル名])
>*.MP3 ファイルはどうします?( #数値(#ファイル名([ファイル名],2)) か)
送信したあとに気が付きましたが、みなわかってくれるかなと・・・

>元ファイル名が S001.jpg の場合とか。
これは、今回あっくんの例だけを対象にしただけで、汎用は考えていませんでした。
ときどき、ファイル名に aaaa[1].gif みたいに,括弧をつけてるのも見かけてことが
ありますが、汎用にするためには、もっと細かい設定が必要なんでしょうね。

<2373> Re:<2372> #住所表示番号/Ogo 2001年11月19日 月曜日 22時34分58秒

>連番2・・・#数値([ファイル名])

*.MP3 ファイルはどうします?( #数値(#ファイル名([ファイル名],2)) か)

>PreFix2・・#文字置換(#ファイル名([ファイル名],2),#文字列([連番2]),"")

元ファイル名が S001.jpg の場合とか。

<2372> #住所表示番号/【多遊】 2001年11月19日 月曜日 22時06分51秒
は、そういう仕組みだったのか?
「どこからでも・自由にと」だけ、勘違いしておりました
5文字の制限は、まったく考えなかった。

しかし、別の意味であれは
連番2・・・#数値([ファイル名])
PreFix2・・#文字置換(#ファイル名([ファイル名],2),#文字列([連番2]),"")
でも、いけそう
<2371> 計算式の貼り付け/【多遊】 2001年11月19日 月曜日 21時58分33秒
掲示板に
#○○○○((△△△△△),・・・・・・・・・・・・・・・・
1,□□□□□□□□ )
の様に紹介される計算式。

エデイタに貼り付けると2行になってしまいます。
いままで、その改行を取り除くためにエディタを事前に起動しておき
1行にしてから、桐に貼り付けてましたが、そのまま貼り付けると
改行がなくなってしまうんですね?(知らなかった)

<2370> DOSコマンド/【多遊】 2001年11月19日 月曜日 21時49分34秒
意識したのは 2.1(2.11?) 〜 3.1 に、変わった頃だろうか?
リセットせずに、FTPの切り替えが出来たのを、非常に感激したのを
覚えてます。
しかし、コマンドの内容は当時のままで、DIR は /p /w しか、利用
したことがありません。
ファイル名の取得には、chkdsk /f /v (?)もう忘れたが、それで、テキストに
落とし桐で使用したこともあったような・・・・・

<2369> re:<2364>シェル実行/【多遊】 2001年11月19日 月曜日 21時49分07秒
pokoponさん>こんばんは

>V8/SP6では無理です。
少しショックでしたが、簡単な一括(イベント)では、動いてますよ。
(もちろん利用者責任でと、いうことが条件付きです)

例題は、「項目A・項目B・項目C」を、テキストエデイタで、編集する
内容ですが、うまく行ってます。ご紹介しておきますね。

−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
手続き定義開始 エディタ::マウス左クリック(長整数 &マウス位置[2],長整数 &明細番号,長整数 &フラグ,参照 長整数 &処理中止)

  絞り込み 行数=1
  印字開始 "作業テキスト.txt"
    印字 #文字置換([項目A],&強制改行,"\n")
    印字 &項目間区切文字
    印字 #文字置換([項目B],&強制改行,"\n")
    印字 &項目間区切文字
    印字 #文字置換([項目C],&強制改行,"\n")
  印字終了

  シェル実行 "作業テキスト.txt",&ok,プロセス番号=&ch
  プロセス終了 &ch
  メッセージボックス "テキスト張り付け確認","いま編集した内容にテキスト置換を\n\n行いますか",アイコン=?,ボタン指定=5,制御文字展開=する,&ok

  =====途中省略======

手続き定義終了
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−

意味が違うかもしれませんが、ご報告まで。

<2368> Re:シェル実行 &VBS/Ogo 2001年11月19日 月曜日 01時22分43秒

別に怒っているわけではないのだが…… (^^;;

もちろん、 VBS を使ってもいいのですよ。
同程度のことは私も DOS 時代からバッチファイルや
フリーソフト群を使って行なって来ていますし。

でも、通信環境を通じて相互乗り入れが極めて簡単に
なった現在、セキュリティーポリシーは汎用的な解が
ない。
要するに、 VBS を使うも使わないもユーザーの自覚
をもった判断を尊重したいと私は考えるのです。

自覚を持たぬであろう人にまで「便利だから」勧める
というのはどんなものかなぁ〜という程度のものです。
また、勧めるならば、その利便性と引き換えにリスク
もありますよ――と添えてほしいと思う程度の。

# とは言っても、 hidetake さんなんかは笑うだろう
# なぁ、プリインストールされて、本人の自覚がない
# まま既に活用されているのが現実なんだから(下記
# のダイヤルアップ VBS でも LOVELETTER ウィルス
# でも)

>二重のチェックでも駄目でしょうか?
>ダミーファイルができた事の確認と削除したことの確認で。

あゝなるほど。
元発言の内容を良く見ていませんでした。 _m(__)m_

<2367> RE:シェル実行 &vbs/pokopon 2001年11月19日 月曜日 00時18分18秒
Ogoさん>やっぱり怒られた!!

>ついでですが、これは「ダミーファイルが作成される前に」桐側で
>チェックルーチンに差し掛かったら、失敗に終わります。
二重のチェックでも駄目でしょうか?
ダミーファイルができた事の確認と削除したことの確認で。
下のスレッドの記述でダメな事もあるのでしょうか?その前に、VBS実行の前にダミーファイルが仮にあったときには、削除してからVBSの実行をする事を前提としてですけど。

>このファイルの存在を検知したら、処理終了と看做して、当該
>ファイルを削除した上で次のステップに進むようにしてます。
これが現実的か。桐側で削除すればよいですからね。削除しなければ、LOGとして確認できますし。


>全く怒る気はないけど、これを実行「させる」と言うことは
>そのマシンのユーザーのセキュリティレベルを落と「させる」
>という行為であるという自覚が欲しいなとは思います。

全くそのとおりで・・・・。返す言葉もありません。  m(__)m
自覚が足りなかったようです。WSHはローカルにおいて、自己の責任の元に使うスクリプトです。他人に実行を強要するようなことではありませんですね。
「お手軽なスクリプト」として紹介したつもりでしたけど、セキュリティ云々と言われれば危険な行為でした。

E-Mail

<2366> Re:シェル実行 &VBS/Ogo 2001年11月18日 日曜日 22時39分37秒
>どうしても、同期をはからなければならない場合には、
>VBSの先頭で、ダミーファイルを作成し、終わったら削除する。
>桐側でそれを監視し、「ダミーファイルそのものがなくなったら次の行へ行く」とか。

ついでですが、これは「ダミーファイルが作成される前に」桐側で
チェックルーチンに差し掛かったら、失敗に終わります。

そこで、私の ShellEx.exe ではその逆に、「処理が終わったら」

>このアプレットは、動作完了時(成功しても失敗しても)に
>必ず「$Finish.Txt」という名の「動作完了確認用」テキスト
>ファイルを同一フォルダに生成します

このファイルの存在を検知したら、処理終了と看做して、当該
ファイルを削除した上で次のステップに進むようにしてます。

<2365> Re:シェル実行 &VBS/Ogo 2001年11月18日 日曜日 22時30分29秒

>(あんまり書くとOgoさんにまた怒られそう!!)

全く怒る気はないけど、これを実行「させる」と言うことは
そのマシンのユーザーのセキュリティレベルを落と「させる」
という行為であるという自覚が欲しいなとは思います。
(例えば、 MS-IE で「インターネットゾーン」と「イントラ
ネットゾーン」でそれぞれセキュリティポリシーを変更できる
ようになっていますが、これを簡単に欺く方法もつい最近話題
になったばかりですよね――いくら MS がパッチや修正版をリ
リースしていても、これを適用していない人は極めて多いです。
当の MS でさえも)

また、 VBS は Windows 環境に依存するということももちろん
考慮すべきでしょうから、とても「汎用的な処理」としては
問題があろうかなとは思います(シェル実行 *.VBS とかでなく、
 システム "wscript.exe",&選択ファイル名,&実行リターン
程度なら私の機械でも動くはずですが)。

ということで、少なくとも私なら VBS や JAVA 関係に汎用的な
解決方法を見いだそうとはしないと思います。

VBS や wscript.exe が問題なのではなく、 MS-IE と MS-OutLook
(Express) のセキュリティポリシーこそが最大の問題なのです。

<2364> RE:シェル実行 &vbs/pokopon 2001年11月18日 日曜日 22時12分42秒
【多遊】さん>
>その中で、下記を見つけましたが、「プロセス終了」等をいれるといいかもしれませんね

V8/SP6では無理です。
#プロセス終了      kill /*桐 Ver8 sp4 #22 実質的に使用不能となる

HTML HELPを参照してみて下さい。

■構文
シェル実行   <ファイル名> ,起動フォルダ = <フォルダ名> ,<長整数型の変数名>  
とあるように、書式まで変わっているようです。
(まだ、上記の書式でつかえるのかな?? 確かめてはいませんけど)

VBSはWindows で「wscript.exe」という実行ファイルに関連付けられていて、そのため「.vbs」のファイルをクリックするだけで、実行できます。VBSファイルは単なるソースファイルで、実行ファイルではありません。
(ちなみにDOSモードで動かす場合には、「cscript.exe」が実行ファイル)

ですので、VBSが確実に終わったということは、桐側からはわかりません。(桐からは強制的に終わらせることさえができない??実行しっぱなし)

どうしても、同期をはからなければならない場合には、
VBSの先頭で、ダミーファイルを作成し、終わったら削除する。
桐側でそれを監視し、「ダミーファイルそのものがなくなったら次の行へ行く」とか。

'------------- ファイル変換スクリプト(WSH) ------------- 桐との同期タイプ
Const ForReading = 1,ForWriting = 2,ForAppending = 8 '定数の指定
Set Fs = WScript.CreateObject("Scripting.FileSystemObject")

sFile = "read.txt" ' 読み込みテキストファイル
sWord = "<>" ' 先頭付加文字
rFile = "result.txt" '結果書き込みファイル
dFile = "dummy.dat"  'ダミーファイル

Set oTs1 = Fs.OpenTextFile(dFile,ForWriting) 'ダミーファイル作成 空ファイル
oTs1.Close 'oTs1を閉じる

Set oTs1 = Fs.OpenTextFile(sFile,ForReading) 'ファイルを読み取りモードで開く
Set oTs2 = Fs.CreateTextFile(rFile,True) 'ファイルを作成する

Do Until oTs1.AtEndOfStream 'oTs1を末端まで読み込むまでループを繰り返す
sLine = oTs1.ReadLine '1行読み込む
oTs2.Write sWord & sLine & vbCrLf '先頭に文字を付加して書き込む
Loop

oTs1.Close 'oTs1を閉じる
oTs2.Close 'oTs2を閉じる

Fs.DeleteFile dFile  'ダミーファイル削除 実質的なVBS作業の終了を宣言!!??

MsgBox "変換結果を " & rFile & " に出力しました。"

'----------- END ---------------

桐側で

 シェル実行 &vbs

 繰り返し (#ファイル検索(&dFile,1)=#U)   /* まず、VBSが実行されているかどうかの確認(実行されれば、ファイルが存在する)

 繰り返し終了

 繰り返し (#ファイル検索(&dFile,1)<>#U)   /* VBSが終わったかどうかの確認(削除されれば、終わり)
                       /* ここの間にVBSは作業をしている。
 繰り返し終了

としておけば、同期がはかれると思います。ただ、ループ自体が「デッドロック」となっていますので、どうでしょうか?
(この手法はhidetakeさんからおそわりました)



(あんまり書くとOgoさんにまた怒られそう!!)

E-Mail

<2363> 拡張子/【多遊】 2001年11月18日 日曜日 21時06分51秒
>表 "jxw.tbl"  /*ところで.jxwって何でしたっけ?*/
「jxw」は、一太郎のV3時代の拡張子です。(それ以前はわかりません)
確か「jxw,atr,ctl」(だったかな?)の、3個を同時に作成されてて
そのうち、テキスト部分が 「jxw」の、拡張子のファイルに格納されてました。
そのころのファイルは、まだ、拡張子が重複してなかったので、ある程度
APとバージョンまでわかりましたね。

windows には、関連づけという機能がありますので、同じ拡張子はには、
同じ関連づけがされてますが、justsystem の、フォルダーのなかにも、
拡張子が「tbl」のファイルが入ってたりします。でも、当然桐では
開けません。

3文字以外も拡張子というのでしょうが、*.html *.shtml なども有効のようです
試しに、「******.txt」を「******.abcdefg」に変更してもエラーにはなりませんでした
windows は、250文字くらいの名前(フォルダー名込み?)が付けられますので

桐のファイルも、******.tbl9 とか ********.wfm9 とか、なったりして?

<2362> re:テキストの読み込み/【多遊】 2001年11月18日 日曜日 20時30分01秒
幅田さん>
無事、解決されてよかったですね。

ところで、今回は、桐で完結されたようですが
>vbsは、どこで勉強すればいいのかということもお聞きしたかったのですが
やはり他のこと(言語・ハード・ネットワーク他)を、ご存じの方は
もっと桐を有効に利用されてるのでしょうね。本当に勉強になりますね。
<2361> re:<2358> メール添付ファイル?/【多遊】 2001年11月18日 日曜日 20時28分49秒
Ogoさん>
>あのねぇ〜 (^^;;
このうしろに続く言葉が、なんとなくわかります。
どうもありがとうございます

幅田さんのBBSのコメントなど拝見していても、いつも最後の方の
>#・・・・・
>#・・・・・ も、
本当に参考になります。今後ともよろしくお願いいたします。

<2360> Re:テキストの読み込み/幅田 2001年11月18日 日曜日 19時30分09秒
私のとこのBBSにも書いたけど、バッチリ解決できました。
【多遊】さんにも、こちらでいろいろ検証いただきありがとうございました。

実は、pokoponさんにvbsでのやり方を教わったとき、
ファイル名がその都度変る場合はどうしたらいいのかと
たずねようとしてたんだけど、その先に
【多遊】さんに印字コマンドを使った方法を紹介いただきました。
vbsは、どこで勉強すればいいのかということもお聞きしたかったのですが、
それもこちらで紹介いただきました。

今日は午後から、近所のお寺の会合があり、出かけておりました。
お寺ではもちろん合掌に始まり、合掌に終わるのですが、
今回のテキスト読み込みの件でもみなさまがたにいろいろ教えていただき
感謝しております。  合掌


E-Mail  URL

<2359> Re:VBS/Ogo 2001年11月18日 日曜日 17時35分33秒

>バッチファイルの高級なもの・・・・と考えれば気が楽ですけど。
>その割に多機能で、ウイルスでも作れちゃうんじゃないですかね。

「ですかね」どころではありませんね。

http://www.ipa.go.jp/cgi-bin/security/virus/search/virus?vcl=vbs

<2358> Re:<2350> メール添付ファイル?/Ogo 2001年11月18日 日曜日 17時18分05秒

>専用フォルダーの中を、もう不要と思いつい先日削除してしまってました
>送信時に使用した添付ファイルは、メーラーのフォルダーには保存されず
>リンクみたいになってたようです。

あのねぇ〜 (^^;;

メールは自分自身にも BCC: 指定で送付するのが基本です。

もちろん、メールスレッドを全部保存するのも目的ですが、
送信・受信日時の確定データを保持するとか、自分が「送信」
した筈のメールが本当に送信されているかの確認のためには
必須と思っておいた方が良いです(Nifty などでは、メール
を先方が読んだか否かまで確認できていましたが、インター
ネットメールでは配信事故も多く、自分が送信したつもりで
も、送信されていなかったこともありえます――特に即時送
信を使っていない場合。自分自身に現実のメールを送信受信
することで、少なくとも自分のプロバイダ側からの発信まで
は正常に行なえていることが確認できるのです)。

MS-Outlook だの MS-Outlook Express だのを使っている人
が言うことなら聞き流せますが、ネスケ(メッセンジャー)
やベッキーを使っている人なら、メールソフト自身にも、
そのための設定がありますよ(メール作成時に、デフォルト
で自分自身を BCC: にセットする)。

Becky! 2 の場合は、「メールボックスの設定」「メール作成」
「常時付加」「BCC:」がこの設定です。

ネスケ(メッセンジャー)の場合は「設定」「メールとグループ」
「コピーとフォルダ」の中の「BCC:(B)」のチェックボックスです。


<2357> シェル実行 &vbs/【多遊】 2001年11月18日 日曜日 16時58分22秒
>使う際の注意事項としては、
>シェル実行 &vbs
>で「DOS窓」も出ずに動きますが、桐の一括(KEV)とは非同期で実行されます。
>ですので、同期させる(VBSがきちんと終わってから次の実行)ためには、それなりの工夫が必要です。
>(できているはずと思っているファイルが、VBSがまだ作るのが間に合わなく、終わっていない場合など)

検索してみましたらたくさん紹介されてました。(殆どがhidetakeさんです)

その中で、下記を見つけましたが、「プロセス終了」等をいれるといいかもしれませんね

>
> 過去ログ No.20
>bonito さんが喜ぶかも知れなひ? ヽ(^o^)丿
>
>シェル実行 "NOTEPAD.EXE" \
>     ,起動フォルダ="C:\" \
>     ,表示=通常 \
>     ,&実行リターン \
>     ,プロセス番号=&選択件数
>プロセス終了 &選択件数
>確認


http://www2u.biglobe.ne.jp/~s_tanaka/cgi-bin/bbs/bbs.cgi?function=logview_html&no=20#973
http://www2u.biglobe.ne.jp/~s_tanaka/cgi-bin/bbs/bbs.cgi?function=logview_html&no=20#989
<2356> RE:::テキストの読み込み/pokopon 2001年11月18日 日曜日 16時57分45秒
>参考URL:http://www.roy.hi-ho.ne.jp/mutaguchi/wsh/
>見てきました。いろいろ出来るようですね。
バッチファイルの高級なもの・・・・と考えれば気が楽ですけど。
その割に多機能で、ウイルスでも作れちゃうんじゃないですかね。
こちらの職場で、「ダイヤルアップが何故かダイヤルQ2へ」という方の対応をしている時、
Windowsフォルダを初め、あちこちにこのVBSが散在しておりました。
中身を見ると・・・・、ダイヤルアップ変更VBSでした。知らない間にダウンロードさせられ、実行されていたのですね。
ちなみに、それをクリックしてみると、見事にダイヤルQ2へ。
EXEファイルはローカルで実行して初めて効果を発しますけど、VBSはブラウザ上で、本人の意思とは関係なく実行させる事さえできます(セキュリティーがゆるければ)。
これは、幅田さんのBBSでOgoさんがご指摘のとおりです。
でも、使うと便利な事も多いので、私は使う事がしばしばです。
(コンパイラとかインストールしなくてもよですし、記述が全てテキストですので)


E-Mail

<2355> re:::テキストの読み込み/【多遊】 2001年11月18日 日曜日 16時32分48秒
pokoponさん>
>良いですよ〜〜 と 返事を出す前に、既に桐一括用のスクリプトに変わっている!!
>なんと、すばやい。 (^^ゞ
すみません。ちょっとおもしろかったので試してみたくなって。

ところで、
>参考URL:http://www.roy.hi-ho.ne.jp/mutaguchi/wsh/
見てきました。いろいろ出来るようですね。

でも、また1〜新しく覚えるのはつらいものがあります。
一応見てきた報告を下記へ

WSHで何ができるの?
・ファイル操作ができる
・ショートカットを作ることができる
・テキスト操作ができる
・テキストファイルの読み込み・書き込みができる
・計算ができる
・アプリケーションが実行できる
・レジストリの書き換えができる
・正規表現が利用できる
・ネットワークドライブ・プリンタの接続・切断ができる
・ActiveXコントロールを呼び出せる
・シェル(エクスプローラ)の操作ができる
・Internet Explorerの操作ができる
・ウィンドウにキーコードが送れる(WSH2.0)
・ファイルやフォルダをドラッグアンドドロップできる(WSH2.0)
・Active Directoryにアクセスできる
・WMIでシステムの一元的な管理ができる

でも、使えればの話ですね。

<2354> RE::テキストの読み込み/pokopon 2001年11月18日 日曜日 14時52分23秒
【多遊】さん>
>いいですね。私の所でも紹介させてくださいね。

良いですよ〜〜 と 返事を出す前に、既に桐一括用のスクリプトに変わっている!!
なんと、すばやい。 (^^ゞ

使う際の注意事項としては、
シェル実行 &vbs
で「DOS窓」も出ずに動きますが、桐の一括(KEV)とは非同期で実行されます。
ですので、同期させる(VBSがきちんと終わってから次の実行)ためには、それなりの工夫が必要です。
(できているはずと思っているファイルが、VBSがまだ作るのが間に合わなく、終わっていない場合など)

>パソコンの中を「*.vbs」で、検索しましたらいくつか入ってましたが
>いつ、またどのアプリが使うかは知りませんでした。
>こうして、何かの時に単独で使用するのですか?
Winに最初から入っているVBSには手をつけないほうが無難です。どのソフトで使うか、あるいは何をするスクリプトか不明ですので。

通常、桐にないコマンドを実行する場合に、バッチファイルを書き出し実行させる場合がありますけど、「DOS窓が出てくる」「自動で終わらない(DOS窓が閉じない)」などの問題がありますので、私は時々これを使います。IE4(だったかな?)以上なら、どのパソコンでも「只」でWSHエンジンが搭載されており、わざわざインストールしなくても使えますので。

例えば、
・ファイル属性の変更(桐コマンド、関数で、ファイル属性を知ることはできても、変更はできませんので)
・KEVファイル実行中のKEVファイル自身の.TBLファイルへのコピー(ファイル複写ではエラーとなりますので)
 この処理は確かhidetakeさんが幅田さんのBBSで紹介したとは思いますけど。
 (過去ログで見たことあります)

など、桐で使っているものが幾つかあります。

印字で書き出せは、簡単に使えますしね。

ところで、私はhidetakeさんとは違い?、最初から全てを作成しているのではありません。
たのHPからスクリプトを使いまわしているのが実情です。
参考URL:http://www.roy.hi-ho.ne.jp/mutaguchi/wsh/


ところで、
ちょっと、試させてください。全6文字(全角換算)
      全角
半角
    混合(全角先)
   混合(半角先)

失礼しました。

E-Mail

<2353> re:テキストの読み込み/【多遊】 2001年11月18日 日曜日 12時36分06秒
「ファイル入力」方式では、こんな感じでしょうか


変数宣言 整数{&i,&ok},文字{&読込名,&読込[1000]}
&読込名="D:\read.txt"

ファイル入力開始 &読込名,終了状態=&ok
繰り返し &i=1,1000
  ファイル入力 &読込[&i],行,終了状態=&ok
  ケース開始
    ケース(&ok=0)
      メッセージボックス "確認","読み込みエラー"
      終了
    ケース(&ok=-1)
      メッセージボックス "確認","読み込み終了"
      繰り返し中止
  ケース終了
繰り返し終了
ファイル入力終了
<2352> re:テキストの読み込み/【多遊】 2001年11月18日 日曜日 11時46分59秒
pokoponさんご紹介の

>「1行まるまる読み込んで」→「先頭に適当な文字列を追加して保存」と
>言う処理のためのスクリプト
を、桐の一括処理に書き直しました。
pokoponさんすみません。勝手に利用させていただきました。

−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
変数宣言 整数{&ok},文字{&vbs,&sFile,&rFile,&sWord}

  &vbs="henkan.vbs"
  &sFile="read.txt"
  &rFile="変換"+&sFile
  &sWord="<>"

印字開始 &vbs,終了状態=&ok
  *------------- ファイル変換スクリプト(WSH) -------------
  印字"Const ForReading = 1,ForWriting = 2,ForAppending = 8"                /* 定数の指定
  印字"Set Fs = WScript.CreateObject(""Scripting.FileSystemObject"")"
  印字
  印字"sFile = "+""""+&sFile+""""                                           /* 読み込みテキストファイル
  印字"sWord = "+""""+&sWord+""""                                           /* 先頭付加文字
  印字"rFile = "+""""+&rFile+""""                                           /* 結果書き込みファイル
  印字
  印字"Set oTs1 = Fs.OpenTextFile(sFile,ForReading)"                        /*ファイルを読み取りモードで開く
  印字"Set oTs2 = Fs.CreateTextFile(rFile,True)"                            /* ファイルを作成する
  印字
  印字"Do Until oTs1.AtEndOfStream"                                         /* oTs1を末端まで読み込むまでループを繰り返す
  印字"  sLine = oTs1.ReadLine"                                             /* 1行読み込む
  印字"  oTs2.Write sWord & sLine & vbCrLf"                                 /* 先頭に文字を付加して書き込む
  印字"Loop"
  印字
  印字"oTs1.Close"                                                          /* oTs1を閉じる
  印字"oTs2.Close"                                                          /* oTs2を閉じる
  印字
  印字"MsgBox ""変換結果を "" & rFile & "" に出力しました。"""
印字終了

 シェル実行 &vbs
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−

これを、手続きとして、変数の部分を入れ替えれば、対応可能ですね。
<2351> テキストの読み込み/【多遊】 2001年11月18日 日曜日 09時20分43秒
例:
123456,123456,123456,123456,123456,123456
"佐田 守弘","悲しげ","Ogo","hidetake","【多遊】","幅田 浩司"
98765,"佐田 守弘","悲しげ","Ogo","hidetake","【多遊】","幅田 浩司"

>エディタで、ctrl+A(すべて選択),ctrl+C(コピー)を行い
>桐表で、編集→形式を指定して貼り付け(テキスト)を行うと
>,や”はもちろん、先頭の空白まできれいに行くようです。

よくみると、先頭に ”がある2行目が、文字化けを起こしているようです。
>佐田 守弘""゜しげ""go""idetake""y多遊】""搏c 浩司

ちなみに、別のエディタや一太郎・ワードへ貼り付けると正常のようですが、
エクセルへの張り付けでは
>佐田 守弘,"悲しげ","Ogo","hidetake","【多遊】","幅田 浩司"
先頭の ”が、なくなってます。

ということは、いま手元にないので試せませんが、松風で読んでそれを
桐へ運ぶというのはどうだろうか?

作業的には大げさのようですが、数千の文章を移行するのに途中に
手作業が入るのはなんとも忍びがたい。

ところで、桐V8には、松風の文章を扱うコマンドはあったかな?
Copyright (C) 2000 CGI Arkadia All rights reserved.
Script written by Shintaro Wakayama.
BBS-TypeN Ver.2 Preview4
remodel advice by hidetake