[リストへもどる]
一括表示

投稿時間:2003/03/20(Thu) 01:49
投稿者名:kaori
URL :
タイトル:
マウスで反転表示した文字列を変数に格納
またまたお世話になります。

テキストボックスに表示した文字列の一部をマウスで反転表示し、
そこだけを変数に格納する事って可能でしょうか。

カーソルが当たっている位置は取得できそうなのですが、選択部分っていうのは不可能でしょうか。
どなたか教えて下さい。無理なら無理ですよーっていう事だけでも。
よろしくお願いします。

投稿時間:2003/03/20(Thu) 01:52
投稿者名:魔界の仮面弁士
Eメール:
URL :
タイトル:
Re: マウスで反転表示した文字列を変数に格納
> テキストボックスに表示した文字列の一部をマウスで反転表示し、
> そこだけを変数に格納する事って可能でしょうか。

SelTextプロパティを使ってみるとか。

(……そういう事じゃないのかな?)

投稿時間:2003/03/22(Sat) 01:28
投稿者名:kaori
URL :
タイトル:
Re^2: マウスで反転表示した文字列を変数に格納
> SelTextプロパティを使ってみるとか。
>
> (……そういう事じゃないのかな?)

なるほど、なるほど。その通りです。
うまくいきました。魔界の仮面弁士さん、ありがとうございます。

ですが、・・・さらにお聞きしたい事があるのですが、今回ご質問したのは、
テキストファイルの内容を画面上のテキストボックスに表示して、選択した
部分を変更して、その内容をテキストファイルに反映するという意図があります。

選択した変数は別のテキストボックスに表示して、その内容を変更して、テキストファイルに
反映しようとしていますが、選択した部分だけを変更する方法が分かりません。

テキストファイルの特定の部分のみ変更する事はできるのでしょうか。
テキストボックスで文字を選択した時に行と桁の位置取得はできたので、
テキストファイルの、その位置が変更できればいいのですが、位置決めして
書き込みできればと思っているのですが。。。
そんな方法はあるのでしょうか?

どなたかお分かりでしたら、よろしくお願いします。

投稿時間:2003/03/22(Sat) 03:43
投稿者名:丸太
Eメール:
URL :
タイトル:
Re^3: マウスで反転表示した文字列を変数に格納
> ですが、・・・さらにお聞きしたい事があるのですが、今回ご質問したのは、
> テキストファイルの内容を画面上のテキストボックスに表示して、選択した
> 部分を変更して、その内容をテキストファイルに反映するという意図があります。
>
聞く内容が変わっているときは題名を変えて別のスレッドを立てた方が良いです。

> 選択した変数は別のテキストボックスに表示して、その内容を変更して、テキストファイルに
> 反映しようとしていますが、選択した部分だけを変更する方法が分かりません。
>
SelTextプロパティに値を設定すると、「選択した部分の変更」になります。
これでテキストボックスの内容を変えてしまうのが一番楽ですね。

> テキストファイルの特定の部分のみ変更する事はできるのでしょうか。
一般的なテキストファイルでは無理です。素直に全部書き込み直してください。
さっきの変更したテキストボックスの内容をそのまま書き込むだけなので、
むしろ楽です。

> テキストボックスで文字を選択した時に行と桁の位置取得はできたので、
> テキストファイルの、その位置が変更できればいいのですが、位置決めして
> 書き込みできればと思っているのですが。。。
> そんな方法はあるのでしょうか?
>
一つ勘違いされているようですが、テキストファイル自身にとって行とか桁とか
の位置という情報は何の役にも立ちません。
ファイルの中は文字が行毎に丁寧に並んでいるとか、そういうイメージではないので。
むしろ、改行の情報も含めて、すべてが横一直線に並んでいるイメージです。

そういうわけで、普通は行や桁などを勘案して位置を割り出してどうこうする、という
事はしません。

投稿時間:2003/03/22(Sat) 12:45
投稿者名:Lantern
Eメール:
URL :
タイトル:
Re^4: マウスで反転表示した文字列を変数に格納
変更部分のバイト位置を計算しているのであれば
バイナリモードで開いて、Seekステートでシークし
Putステートで書き換えればよいかと思います。

バイナリエディタをお持ちでしたら、一度テキスト
ファイルをバイナリで開いてみたらどうでしょう。
例えば、
あかさたな
123456789
123456789

とファイルにあれば、これは
  1 2 3 4 5 6 7 8 9 A B C D E F
00  82 A9 82 A9 82 B3 82 BD 82 C8 0D 0A 31 32 33 34
10  35 36 37 38 39 0D 0A 82 50 82 51 82 52 82 53 82
20  54 82 55 82 56 82 57 82 58 0D 0A

と保存されており、
Seek #ff, 2
Put #ff,,169

とすれば、
かかさたな
123456789
123456789

とファイルを変更できます。

投稿時間:2003/03/22(Sat) 12:50
投稿者名:Lantern
Eメール:
URL :
タイトル:
Re^5: マウスで反転表示した文字列を変数に格納
修正
>   1 2 3 4 5 6 7 8 9 A B C D E F
> 00  82 A9 82 A9 82 B3 82 BD 82 C8 0D 0A 31 32 33 34
> 10  35 36 37 38 39 0D 0A 82 50 82 51 82 52 82 53 82
> 20  54 82 55 82 56 82 57 82 58 0D 0A

  1 2 3 4 5 6 7 8 9 A B C D E F
00  82 A0 82 A9 82 B3 82 BD 82 C8 0D 0A 31 32 33 34
10  35 36 37 38 39 0D 0A 82 50 82 51 82 52 82 53 82
20  54 82 55 82 56 82 57 82 58 0D 0A

#変更したあとのファイルをコピーしちゃいました^^;
#0002がA9→A0

投稿時間:2003/03/22(Sat) 13:09
投稿者名:Lantern
Eメール:
URL :
タイトル:
Re^6: マウスで反転表示した文字列を変数に格納
すみません。
書き込んだ後、気が付きました^^;
変更部分のバイト数が変わるとダメです。

変更部分の文字列?の長さが変わるようでしたら
上記方法は使えません。
丸太さんの言われるように、全部書き込み直すしかないかと思います。

読み込んだときにStringの変数に全部取り込んでおき、
変更部分前後を、Left$、Right$で切り出して、
Left部 & 変更部 & Right部と連接して書き込むというのはどうでしょう。

投稿時間:2003/03/25(Tue) 20:45
投稿者名:kaori
URL :
タイトル:
Re^7: マウスで反転表示した文字列を変数に格納
ご返信ありがとうございます。

質問の内容が変わってしまったのに、ご回答して頂き、感謝しています。
今度からは別のスレッドに書くように注意します。すいませんでした。

おかげさまでテキストファイルについて位置などの情報が意味がない事も
分かり、思い通りのものが作れそうです。

また、何か分からないことがあった時はお願いいたします。