Indexへ
(13160)//【13143】→(13144)
------------------------
【タイトル】コピーペーストの些細な願い
【記事番号】 13143 (*)
【 日時 】08/06/09 17:04
【 発言者 】紫陽花

他のAPからJwwへの話ですが、折角のクリップボードなんだから
テキストデータぐらいはペースト出来たら良いなぁと思いませんか?
文字入力枠は一行だし、文読はエディタで手間が掛かるし・・・

Jwwから他のAPへは、txtは渡せるようだし。
ささやかな希望という事で。


Indexへ
(13143)←【13144】→(13147)
------------------------
【タイトル】Re(1):コピーペーストの些細な願い
【記事番号】 13144 (13143)
【 日時 】08/06/09 17:35
【 発言者 】kubo

▼紫陽花さん:
>他のAPからJwwへの話ですが、折角のクリップボードなんだから
>テキストデータぐらいはペースト出来たら良いなぁと思いませんか?
>文字入力枠は一行だし、文読はエディタで手間が掛かるし・・・
>
>Jwwから他のAPへは、txtは渡せるようだし。
>ささやかな希望という事で。


文字コマンドの画面上部の「貼付」で、複数行の文字列の ペースト ができます。

文字の大きさ、文字の基点、行間を設定して、
 (行間は必ず「貼付」を左クリック後に設定)
貼り付けたい位置にクリックして下さい。

思いと違っていたらごめんなさい。


Indexへ
(13144)←【13147】→(13149)
------------------------
【タイトル】Re(2):コピーペーストの些細な願い
【記事番号】 13147 (13144)
【 日時 】08/06/09 18:35
【 発言者 】[名前なし]

▼kuboさん:
>文字コマンドの画面上部の「貼付」で、複数行の文字列の ペースト ができます。
>
>文字の大きさ、文字の基点、行間を設定して、
> (行間は必ず「貼付」を左クリック後に設定)
>貼り付けたい位置にクリックして下さい。
>
>思いと違っていたらごめんなさい。


いえ、文字の入力枠が有りますよね、それを右クリックすると貼付が出ますが
今はそれで貼り付けてます。

autoモードで貼付を設定して、1アクションで他APから文字列貼付が出来たらなぁ・・
と思ったのです。


Indexへ
(13147)←【13149】→(13155)
------------------------
【タイトル】Re(3):コピーペーストの些細な願い
【記事番号】 13149 (13147)
【 日時 】08/06/09 19:00
【 発言者 】kubo

▼[名前なし]さん:
>autoモードで貼付を設定して、1アクションで他APから文字列貼付が出来たらなぁ・・
>と思ったのです。

は無理とは思いますが、

>いえ、文字の入力枠が有りますよね、それを右クリックすると貼付が出ますが
>今はそれで貼り付けてます。

よりは、簡単かと思います。
「文字」コマンドの画面上部の「文書」と「外部エディタ」の間の「貼付」のことですが。


Indexへ
(13149)←【13155】→(13156)
------------------------
【タイトル】Re(4):コピーペーストの些細な願い
【記事番号】 13155 (13149)
【 日時 】08/06/09 20:29
【 発言者 】紫陽花

▼kuboさん:
すみません、名前なしになったり返事が遅れたり重ね々ねの不手際で・・

>は無理とは思いますが、

^^;
無理は承知で、それをやろうとしている最中です。
jwwのクリップボードフォーマットが完全理解出来れば
他APから、クリップボードにjww形式で出力可能です。

唯、今回の話は少し視点が違って
txtデータぐらいは、jww側でも受取可能なぐらいの寛容さは・・・
欲しいかなぁと言う話だったのです。


Indexへ
(13155)←【13156】→(13161)
------------------------
【タイトル】Re(5):コピーペーストの些細な願い
【記事番号】 13156 (13155)
【 日時 】08/06/09 20:57
【 発言者 】Mos

文字コマンドの貼り付けでも可能だけれど、クリップボードの中身がテキストの場合は、普通の貼り付けコマンドでも貼り付いたら便利じゃないでしょうか、という話ですね?

それなら一票入れさせてください。


Indexへ
(13156)←【13161】→(13150)
------------------------
【タイトル】Re(6):コピーペーストの些細な願い
【記事番号】 13161 (13156)
【 日時 】08/06/09 23:41
【 発言者 】紫陽花

その通りです。
jw_win専用形式しか読み込めないのが寂しいという事でした。


Indexへ
(13161)←【13150】→(13152)
------------------------
【タイトル】Re(3):コピーペーストの些細な願い
【記事番号】 13150 (13147)
【 日時 】08/06/09 19:21
【 発言者 】コジマ

▼[名前なし]さん:
>いえ、文字の入力枠が有りますよね、それを右クリックすると貼付が出ますが
>今はそれで貼り付けてます。
>
>autoモードで貼付を設定して、1アクションで他APから文字列貼付が出来たらなぁ・・
>と思ったのです。

マウスの左ボタンを押して、真上にドラッグ(文字コマンドになる)
左ボタンを離して、コントロールバーの「貼付」をクリック。

1ドラッグ、1クリック。
クロックメニュー使いは、1アクション並に操作しますが。


Indexへ
(13150)←【13152】→(13154)
------------------------
【タイトル】Re(4):コピーペーストの些細な願い
【記事番号】 13152 (13150)
【 日時 】08/06/09 19:37
【 発言者 】紫陽花

▼コジマさん:
>左ボタンを離して、コントロールバーの「貼付」をクリック。

私はクロックメニュー使いですが、上記の動作で貼付出来ますか?


Indexへ
(13152)←【13154】→(13146)
------------------------
【タイトル】Re(5):コピーペーストの些細な願い
【記事番号】 13154 (13152)
【 日時 】08/06/09 20:00
【 発言者 】コジマ

▼紫陽花さん:
>▼コジマさん:
>>左ボタンを離して、コントロールバーの「貼付」をクリック。
>
>私はクロックメニュー使いですが、上記の動作で貼付出来ますか?

出来ます。
但し、「コピー」「貼付」ではなく
文字コマンドでの、コントロールバーの「貼付」ボタンです。

1ドラッグは、他のコマンドから文字コマンドへの移動手段です。

キーコマンド派は、Aボタンを押してコントロールバーの「貼付」ボタンをクリック。

私は、文字入力欄の右クリック(ポップアップメニュー)の「貼付」では
出来ません。


Indexへ
(13154)←【13146】→(13148)
------------------------
【タイトル】Re(1):コピーペーストの些細な願い
【記事番号】 13146 (13143)
【 日時 】08/06/09 18:07
【 発言者 】とんま 3世 NG-GGA03613@nifty.jp

紫陽花さん、こんにちは。 とんま 3世です。
>
>他のAPからJwwへの話ですが、折角のクリップボードなんだから
>テキストデータぐらいはペースト出来たら良いなぁと思いませんか?
>文字入力枠は一行だし、文読はエディタで手間が掛かるし・・・

ずーと前から出来ますよ。
私のjw_cad.jwfをみると

> version 0.50 (1999/08/15)
> ・文字コマンドに指定ファイルの文字読込・書込機能とクリップボードからの貼付機能を追加した。

>Jwwから他のAPへは、txtは渡せるようだし。

ということでもちろん逆も出来ます。

*.txtファイルならドロップも可です。

2008/6/9(月) とんま 3世/四国/伊予
By CMN 0.50fβ


Indexへ
(13146)←【13148】→(13151)
------------------------
【タイトル】Re(2):コピーペーストの些細な願い
【記事番号】 13148 (13146)
【 日時 】08/06/09 18:47
【 発言者 】紫陽花

▼とんま 3世さん:
>ずーと前から出来ますよ。
> version 0.50 (1999/08/15)

随分と古い話なんですね
でも少し誤解されているようなので・・、kuboさんへのレスでも書きましたが
(すみません、名前入れるの忘れてましたが私です)
文字入力コマンドの状態での話では無く、作画状態での貼付の事でした。


Indexへ
(13148)←【13151】→(13153)
------------------------
【タイトル】Re(3):コピーペーストの些細な願い
【記事番号】 13151 (13148)
【 日時 】08/06/09 19:32
【 発言者 】とんま 3世 NG-GGA03613@nafty.jp

紫陽花さん、こんにちは。 とんま 3世です。

>文字入力コマンドの状態での話では無く、作画状態での貼付の事でした。

私も最初どうして出来ないのか不思議でしたが
CADデータとTXTデータの構造が違い、CADデータを優先した
と勝手に解釈しています。

1アクション増えるだけで思考も必要なく、スムーズなので
特に不便はありません。

TXT貼付コマンドがあれば便利かもしれませんね。
ただし私はクロックには入れないでしょう。(^^;

2008/6/9(月) とんま 3世/四国/伊予
By CMN 0.50fβ


Indexへ
(13151)←【13153】→(13157)
------------------------
【タイトル】すみません誤解されそうなので、追記です
【記事番号】 13153 (13143)
【 日時 】08/06/09 19:59
【 発言者 】紫陽花

文字入力コマンド状態では無く、作画状態での貼付の事です。
文字入力コマンドの、一行入力枠を右クリックして貼付を選択する動作の事では有りません。

因みに、win32APIでSetClipboardDataにデータを送ってみましたが
今現在は、jwwに形式が不正で〜すと怒られている段階です。
勿論、フォーマット形式名・範囲座標・etcの構造体は定義してあるのですが
どうせ、文法ミスか定義違いだろうとは思います。
jwwのクリップボードフォーマットの形式が未公開だから・・・と
自分の未熟さを棚に上げての話です。


Indexへ
(13153)←【13157】→(13158)
------------------------
【タイトル】Re(1):すみません誤解されそうなので、追記です
【記事番号】 13157 (13153)
【 日時 】08/06/09 21:41
【 発言者 】kubo

▼紫陽花さん:
>文字入力コマンド状態では無く、作画状態での貼付の事です。
>文字入力コマンドの、一行入力枠を右クリックして貼付を選択する動作の事では有りません。

−−−−−Jw_cad のヘルプの作図>文字 の −−−−−−−−−

▼クリップボードの文字を図面に貼り付け

[文字]コマンドで、コントロールバー[貼付]は、クリップボードに文字データがない状態では薄字表示になっていて使用できない。クリップボードへ文字がコピーされると使用できるようになる。

【1】[コピー][移動]コマンドなどで、クリップボードに文字データを取込んでおく。

【2】[文字]コマンドを選択する。

【3】コントロールバー[貼付]を左クリック(L)する。

【4】文字を貼付ける位置を指示する(左クリック(L)で任意点、右クリック(R)で読取点)。
 複数行の文字列を貼付ける場合は最初の行の位置が指示した位置になり、行間は[行間]入力ボックスで指定した間隔になる。
 行間が無指定の場合は図面寸法5mmの間隔になる。

−−−−の機能のことをいっています。−−−−−−−−−−−−−

【1】[文字]コマンドを選択する。

【2】表示される「文字入力」ダイアログに文字を入力する。
 ・この時、Windowsのかな漢字変換機能は自動的にONになる。
 ・「文字入力」ダイアログがアクティブでない時は、左クリック(L)してから文字を入力する。
 ・「文字入力」ダイアログの文字入力部分の右端の▼を左クリック(L)すると、すでに入力した文字列のリストが表示されるので、選択すると入力できる。

【3】文字を入力し確定すると、文字枠の仮線がマウスに追従して移動するので、文字の作図位置を指示する(左クリック(L)で任意点、右クリック(R)で読取点)。

−−−−−のことではありません。−−−−−−−


Indexへ
(13157)←【13158】→(13162)
------------------------
【タイトル】Re(1):すみません誤解されそうなので、追記です
【記事番号】 13158 (13153)
【 日時 】08/06/09 21:42
【 発言者 】joker
【 リンク 】http://jwwfaq.undo.jp/



▼紫陽花さん:
>jwwのクリップボードフォーマットの形式が未公開だから・・・と
>自分の未熟さを棚に上げての話です。

Hirocom777さんのサイトで VB ですが
ソースが公開されていますので参考にされると良いかと思います。
私は 使ってないので詳しく知りませんが。
http://www.h7.dion.ne.jp/~hirocom/VBdeJW/


Indexへ
(13158)←【13162】→(13159)
------------------------
【タイトル】Re(2):すみません誤解されそうなので、追記です
【記事番号】 13162 (13158)
【 日時 】08/06/09 23:48
【 発言者 】紫陽花

▼jokerさん:
>Hirocom777さんのサイトで VB ですが

参考にさせて頂いてます。
唯、未公開であるが故なのか開発言語の差異を埋められていません。
本来はwindowsの共有メモリのはずなので、AP間の障壁を埋めるべく
設計されているだろう空間なので、txtデータぐらいはと言うささやかな願望です。


Indexへ
(13162)←【13159】→(13164)
------------------------
【タイトル】Re(1):コピーペーストの些細な願い
【記事番号】 13159 (13143)
【 日時 】08/06/09 21:51
【 発言者 】ban

▼紫陽花さん:
>他のAPからJwwへの話ですが、折角のクリップボードなんだから
>テキストデータぐらいはペースト出来たら良いなぁと思いませんか?
>文字入力枠は一行だし、文読はエディタで手間が掛かるし・・・
>
>Jwwから他のAPへは、txtは渡せるようだし。
>ささやかな希望という事で。

現在クリップボードのテキストデータは文字コマンドの『貼付』で可能です。

※以下ヘルプより引用

▼クリップボードの文字を図面に貼り付け

[文字]コマンドで、コントロールバー[貼付]は、クリップボードに文字データがない状態では薄字表示になっていて使用できない。クリップボードへ文字がコピーされると使用できるようになる。

【1】[コピー][移動]コマンドなどで、クリップボードに文字データを取込んでおく。

【2】[文字]コマンドを選択する。

【3】コントロールバー[貼付]を左クリック(L)する。

【4】文字を貼付ける位置を指示する(左クリック(L)で任意点、右クリック(R)で読取点)。
 複数行の文字列を貼付ける場合は最初の行の位置が指示した位置になり、行間は[行間]入力ボックスで指定した間隔になる。
 行間が無指定の場合は図面寸法5mmの間隔になる。


上記の通り、貼り付け時に文字サイズや行間を設定できます。
作者さんは文字サイズや行間を設定できるようにするために文字コマンド内に貼り付け機能を設置したと思います。

紫陽花さんの要望は文字コマンドの『貼付』以外にペーストにて貼り付けたいとのことでしょうか?
その場合、ペースト時に文字サイズや行間も設定する機能が必要ということでしょうか?


Indexへ
(13159)←【13164】→(13165)
------------------------
【タイトル】Re(2):コピーペーストの些細な願い
【記事番号】 13164 (13159)
【 日時 】08/06/10 07:20
【 発言者 】紫陽花

▼banさん:
すみません返信が遅れました。

>紫陽花さんの要望は文字コマンドの『貼付』以外にペーストにて貼り付けたいとのことでしょうか?

そういう事です。

>その場合、ペースト時に文字サイズや行間も設定する機能が必要ということでしょうか?

不要だと思います。
クリップボードフォーマットの"CF_TEXT"は自然な文字列ですので、加工の手間は
必要ないと思います。
書式レイアウトに拘るなら、"Jw_win"形式で貼付します。(未公開ですが)
敢えて言うなら、コピー全文にするか単一行にするかですが
操作的には単一行の方が好みです。


Indexへ
(13164)←【13165】→(13167)
------------------------
【タイトル】Re(3):コピーペーストの些細な願い
【記事番号】 13165 (13164)
【 日時 】08/06/10 09:18
【 発言者 】sugi

sugiです。みなさん、こんにちは。

クリップボードのデータを直接加工するほかに、座標ファイルを利
用する方法もあります。jwwのクリップボードフォーマットの形式
を解析する必要が無いので、この方が簡単かと思います。

以下はクリップボードのテキストの内容を貼り付ける外部変形です。
mswin版ruby を利用しています。導入についてはうしわたりさんの
ホームページを参考にしてください。
http://gravelroad.yh.land.to/category/2/subcatid/6

=== クリップボード貼付.bat (ここから) ===
@REM クリップボード貼付
@echo off
REM #jww
REM #cd
REM #h0
REM #e

move jwc_temp.txt jwc_temp.bak
ruby -Ks -x %~f0
if exist jwc_temp.txt goto END
start ruby -Ks -x %~f0 z
goto END

:COMENT
クリップボードのテキストを貼り付けます。

#! ruby -Ks

$stderr=open("error.log","w")

require 'win32ole'
require 'dl/win32'
require "win32/clipboard"
include Win32

def ztemp(cl)
wsh = WIN32OLE.new('WScript.Shell')
zfile='HKEY_CURRENT_USER\Software\Jw_cad\jw_win\Folder\ZFILE'
ztemp = wsh.RegRead zfile
ztemp=ztemp+"\\" unless /\\$/=~ ztemp
f=open(ztemp+"ZTEMP.txt","w")
open("jwc_temp.bak"){|t|
while line=t.gets
f.print line if /^hq/!~line
end}
f.puts "ch 0 0 10 0 \"" + cl
f.close
end

def get_window_text(hwnd)
buf = "\0" * 500
gWT = Win32API.new('user32','GetWindowTextA','LPI','I')
gWT.call(hwnd,buf, buf.size)
return buf.unpack("A*")[0]
end

def call_zahyo
shell = WIN32OLE.new("WScript.Shell")
shell.AppActivate("jw_win");sleep(0.2)

hw=Win32API.new("user32","GetForegroundWindow",[],"L").call

# 座標ファイルコマンド呼び出し
shell.Sendkeys("%AF");sleep(0.2)

# ボタン探し
user32 = DL.dlopen("user32")
ec= user32['EnumChildWindows', '0LPL']
enum_child_proc = DL.callback('IL'){|hwnd|
hw=hwnd if "ファイル読込"===get_window_text(hwnd);-1}
ec.call(hw,enum_child_proc, 0)
sleep 0.2

# 左クリックを送る
sm= Win32API.new("user32", "SendMessage",['L']*4,'L')
sleep 0.2
sm.call(hw,0x201,0,0) #0x201:WM_LBUTTONDOWN
sleep 0.2
sm.call(hw,0x202,0,0) #0x202:WM_LBUTTONUP
end

if ARGV.include?("z") #座標ファイル読み込み
call_zahyo
elsif cl=Clipboard.data
ztemp(cl)
else
open("jwc_temp.txt","w"){|f|
f.puts "he クリップボードが空です"}
end

__END__
:END
=== クリップボード貼付.bat (ここまで) ===

--
sugi


Indexへ
(13165)←【13167】→(13168)
------------------------
【タイトル】Re(4):コピーペーストの些細な願い
【記事番号】 13167 (13165)
【 日時 】08/06/10 10:32
【 発言者 】紫陽花

▼sugiさん:
情報有難う御座いました。

外部変形では既に作成済で、指示点の距離・面積等を測定し名称をかぶせて
返したりしています。(クリップボードは経由しませんが)
又そのうちに、面白いものを作ってみようと頑張ってます。


Indexへ
(13167)←【13168】→(13169)
------------------------
【タイトル】Re(5):コピーペーストの些細な願い
【記事番号】 13168 (13167)
【 日時 】08/06/10 11:03
【 発言者 】sugi

sugiです。紫陽花さん、こんにちは。

紫陽花さん wrote:
> 外部変形では既に作成済で、指示点の距離・面積等を測定し名称をかぶせて
> 返したりしています。(クリップボードは経由しませんが)
> 又そのうちに、面白いものを作ってみようと頑張ってます。

あれ、外したのかな。^^;;

外部変形が作成済みなら jw_win.jwf を編集してクロックメニュー
に外部変形を登録することができます。また、座標ファイルを経由
しているので文字の形を確認しながら貼り付けることができます。

クリップボードの文字列が複数行にまたがるときの処理が気に入ら
なかったので勝手にバージョンアップ。:-)

=== クリップボード貼付.bat (ここから) ===
@REM クリップボード貼付
@echo off
REM #jww
REM #cd
REM #h0
REM #e

move jwc_temp.txt jwc_temp.bak
ruby -Ks -x %~f0
if exist jwc_temp.txt goto END
start ruby -Ks -x %~f0 z
goto END

:COMENT
クリップボードのテキストを貼り付けます。

#! ruby -Ks

$stderr=open("error.log","w")

require 'win32ole'
require 'dl/win32'
require "win32/clipboard"
include Win32

def ztemp(cl)
wsh = WIN32OLE.new('WScript.Shell')
zfile='HKEY_CURRENT_USER\Software\Jw_cad\jw_win\Folder\ZFILE'
ztemp = wsh.RegRead zfile
ztemp=ztemp+"\\" unless /\\$/=~ ztemp
f=open(ztemp+"ZTEMP.txt","w")
hch,cn,ch=[],0,5
open("jwc_temp.bak"){|t|
while line=t.gets
f.print line if /^hq/!~line
hch=line.split.map{|e| e.to_f} if /^hch/=~line
if /^cn0/=~line
ch=line.split[2].to_f
elsif /^cn\d/=~line
ch=hch[line.split[0].tr("cn","").to_i]
end
end}
f.puts "bz"
cl.split("\r\n").each_with_index{|e,i|
f.puts "ch 0 #{i*(ch+1)*(-1)} 10 0 \"" + e}
f.close
end

def get_window_text(hwnd)
buf = "\0" * 500
gWT = Win32API.new('user32','GetWindowTextA','LPI','I')
gWT.call(hwnd,buf, buf.size)
return buf.unpack("A*")[0]
end

def call_zahyo
shell = WIN32OLE.new("WScript.Shell")
shell.AppActivate("jw_win");sleep(0.2)

hw=Win32API.new("user32","GetForegroundWindow",[],"L").call

# 座標ファイルコマンド呼び出し
shell.Sendkeys("%AF");sleep(0.2)

# ボタン探し
user32 = DL.dlopen("user32")
ec= user32['EnumChildWindows', '0LPL']
enum_child_proc = DL.callback('IL'){|hwnd|
hw=hwnd if "ファイル読込"===get_window_text(hwnd);-1}
ec.call(hw,enum_child_proc, 0)
sleep 0.2

# 左クリックを送る
sm= Win32API.new("user32", "SendMessage",['L']*4,'L')
sleep 0.2
sm.call(hw,0x201,0,0) #0x201:WM_LBUTTONDOWN
sleep 0.2
sm.call(hw,0x202,0,0) #0x202:WM_LBUTTONUP
end

if ARGV.include?("z") #座標ファイル読み込み
call_zahyo
elsif cl=Clipboard.data
ztemp(cl)
else
open("jwc_temp.txt","w"){|f|
f.puts "he クリップボードが空です"}
end

__END__
:END
=== クリップボード貼付.bat (ここまで) ===

--
sugi


Indexへ
(13168)←【13169】→(13170)
------------------------
【タイトル】Re(6):コピーペーストの些細な願い
【記事番号】 13169 (13168)
【 日時 】08/06/10 11:59
【 発言者 】紫陽花

▼sugiさん:
>あれ、外したのかな。^^;;

いえいえ外れていません、参考にさせて頂いてます。
ボタン探しのヒット率は興味深く読みました。

コンパイラもインタプリタもお腹いっぱい状態で、ruby・・・までと躊躇してるだけです。

それにしても
クリップボード貼り付けだと、汎用性も高いしメモリ渡しなのでと考えたのですが
アプローチ間違ったでしょうかねぇ・・・^^;

重ね々ねの情報を有難う御座います。


Indexへ
(13169)←【13170】→(13166)
------------------------
【タイトル】Re(7):コピーペーストの些細な願い
【記事番号】 13170 (13169)
【 日時 】08/06/10 12:32
【 発言者 】kisa

▼紫陽花さん:

私も一票入れます (^_^)/

コピーして貼付けはWindowsの標準操作だと思いますが、
Jw_cad標準装備でも文字列がワンドラッグ(AUTOモード使用者です)
で貼付け出来たら更に便利だと思います。

AFsoft さんが作成された txtclp2jww を使ってみて確信しました(^^;


Indexへ
(13170)←【13166】//(13171)
------------------------
【タイトル】ささやかな願いを纏めてみました
【記事番号】 13166 (13143)
【 日時 】08/06/10 10:23
【 発言者 】紫陽花

現在は、他APが出力したtxt形式のクリップボードからの貼付については
クロックメニューで↑に操作し文字コマンドを呼び出し、再度↑で文字貼付を選んでも
[図形がありません]と表示され貼付出来ませんが
コマンドラインに表示される貼付ボタンでは、貼付が可能な仕様のようですので。
(ctrl+Vで貼り付ける方が文字の形が確認出来るので、操作性は良いです)

文字貼付で貼付可能なようにして貰いたいと願っています。
欲を出して言えば、クロックメニューに文字貼付が登録出来たら嬉しいという事です。
というか・・・文字貼付は動作しているのかという疑問は有りますが。