■ 質問はここへ ■

前へ 次へ
No. 233投稿者: ぎょう日付: 2001/09/15 21:53:38
題名 : 初心者です

たくきさんの本を購入し、今日から使い始めた初心者です。

全く基本的なことですが、QXで作成した文書をテキストファイルで保存しようとしても、テキストファイルになりません。これはいったいどういうことでしょうか。とほほ。だれか教えてください。

No. 234 (233へのコメント)投稿者: ふたみ HP日付: 2001/09/15 22:29:07
題名 : Re:初心者です

>QXで作成した文書をテキストファイルで保存しようとしても、
>テキストファイルになりません。

標準の状態では、テキストファイルとして保存するために「.txt」と拡張子を
付ける必要があります。
これを「特に指定しない場合はTXTとして保存する」ようにするための設定が、
ここの21番フォーラム「FAQ集」内、No.20の発言にあります。
http://0ban.com/forum/read.cgi?f=21&t=0&no=20&c=1

No. 235 (233へのコメント)投稿者: かぶねこ HP日付: 2001/09/15 22:37:45
題名 : Re:初心者です

まず、QXで作成した文書はすべてテキストファイルです。

「テキストファイル」というのは、「バイナリファイル」と対立する概念で、す
べてのテキストエディタ、ワードプロセッサ、メーラーなどで読めます(たいて
い保存のほうもできます。) 拡張子がなんであれ、ファイルの内容が「テキス
ト」であればテキストファイルです。

いっぽう、ウィンドウズでは「拡張子による関連づけ」というのをやります。特
定の拡張子は特定のアプリケーションと1対1でペアにしてしまう方式です。こ
の方式でいうテキストファイルは txt という拡張子がついたファイル、という
ことになります。

ですからファイルを作成して、保存の時にファイル名を指定するときに、「.txt」
とつければ、この意味でのテキストファイルになります。また、これを自動化す
るためには、「共通設定」−「開く」の「デフォルト拡張子」のところに、
「txt」と設定してください。拡張子をじぶんで指定しなかったときに自動的に
txt という拡張子がつくようになります。

いっぽう、QXは拡張子により15種類の書式(編集ウィンドウの見た目や見出
し、箇条書き文字の指定)を自動で読み込みます。HTML ファイルをはじめ、い
ろいろな拡張子を使い分けるほうが、テキストエディタを便利に使えます。

うちのサイトのQXページでこのへんも少し解説してます。参考になれば。
http://homepage1.nifty.com/kabuneko/qx/qxintro1.htm

No. 236 (234へのコメント)投稿者: かぶねこ HP日付: 2001/09/15 22:42:27
題名 : Re^2:初心者です

ふたみ さん、すばやい的確なレス、ありがとうございました。

テキストファイルは txt がついたもの、と割り切ったほうがわかり
やすいかもしれませんね。その後のことは、また考えるとして。

No. 237投稿者: Boogie日付: 2001/09/20 07:59:21
題名 : アンダーライン作成マクロ

QXユーザーズ・マクロ・ヘルプにある,まんぼう さんの「簡易アンダーライン作成マクロ」が欲しいのですが見付けられません。

文字列を選択して,マクロを実行するとその文字列の下に「^^^^^^^^^^^」が入力されるだけで結構ですので,どなたかマクロを作っていただけないでしょうか。

宜しくお願いします。

No. 238 (237へのコメント)投稿者: かぶねこ HP日付: 2001/09/20 14:26:34
題名 : Re:アンダーライン作成マクロ

まんぼう さんのサイトからQXマクロのコーナーがなくなったみたいですねえ。
こんなんでいいでしょうか。テスト不足かもしれません。あと1行長さなどは環
境にあわせて変更してください。

'すぐ下に1行追加でアンダーライン 2001/09/20 Kabuneko

proc main
if @hwnd = 0 then exit proc
if @Select = 0 then exit proc
dim m, n
'選択文字列のバイト数を取得
m = lenb(@TextSelect$)
'選択された文字列が長すぎるか1行が長すぎるとき中止
if m > 80 or lenb(@TextCr$(@Line)) > 80 then exit proc
@UndoBlock = 1
'行のなかでの選択開始位置を取得
n = instrb(@TextCr$(@Line),@TextSelect$)
@Select = 0
@MoveEndLine
@CharReturn2
@Insert space$(n-1)
@Insert string$(m,`~`)
@UndoBlock = 0
end proc

No. 239 (238へのコメント)投稿者: かぶねこ HP日付: 2001/09/20 14:29:09
題名 : Re^2:アンダーライン作成マクロ

追加です。アンダーラインに使う文字(半角限定)はこの行を好みに
合わせてください。

> @Insert string$(m,`~`)

`~` を `^` に、などです。

No. 240 (239へのコメント)投稿者: かぶねこ HP日付: 2001/09/20 14:55:03
題名 : Re^3:アンダーライン作成マクロ

選択状態が対応範囲外のときの処理とか、いちおう少し行儀よくして
みました。こっちを使ってください。(最初からちゃんと条件分岐が
考えられれば、何度も書き込まずにすむんですが、なかなか。)

'すぐ下に1行追加でアンダーライン 2001/09/20 Kabuneko

proc main
if @hwnd = 0 then exit proc
'1行が長すぎるとき中止
if lenb(@TextCr$(@Line)) > 80 then
print "ERROR: 1行が長すぎます"
exit proc
end if
'未選択または改行をまたいでいるときは中止
if @TextSelect$ = "" then
print "ERROR: 1行以内で選択してから実行してください"
exit proc
end if
dim m, n
'選択文字列のバイト数を取得
m = lenb(@TextSelect$)
@UndoBlock = 1
'行のなかでの選択開始位置を取得
n = instrb(@TextCr$(@Line),@TextSelect$)
@Select = 0
@MoveEndLine
@CharReturn2
@Insert space$(n-1)
@Insert string$(m,`^`)
@UndoBlock = 0
end proc

No. 241 (240へのコメント)投稿者: Boogie日付: 2001/09/20 18:01:55
題名 : Re^4:アンダーライン作成マクロ

かぶねこ さん,マクロありがとうございます。

ちょっと,まごつきました。実は,タブを多用しておりまして。
スペースに変換してから実行すると完璧です。

そうですよね,タブが入ると正確な位置を取得できないですものね。
て,本当はよく解っていない。σ(^_^;)?
でも,私の場合,スペースを連打するのが面倒なのでタブを使っているだけで,
全然,問題ありません。

No. 242 (241へのコメント)投稿者: かぶねこ HP日付: 2001/09/20 18:58:10
題名 : Re^5:アンダーライン作成マクロ

>そうですよね,タブが入ると正確な位置を取得できないですものね。

カーソルの x 位置なら簡単に取得できるんですが、選択文字列の場合、カーソ
ル位置はそのうちの前だったり後ろだったりします。

タブに対応する方法もたぶんありますが、面倒でマクロも長くなりそうです。タ
ブ幅が書式依存なので、アンダーラインをテキストでつけるにはスペースのほう
が安心かと思います。

タブをスペースに変換するには BlockToSpace 機能を選択時の右クリックメニュ
ーに追加すると便利ですよ。QXフォルダの QXWKEY.INI (これがキー定義ファ
イル)の Popup "編集" のところに

	"タブをスペースへ"		BlockToSpace
	"スペースをタブへ"		BlockToTab

を追加してQXを再起動します。Boogie さんはすでにご存知かもしれませんが、
ここを読んでいるかもしれない他のかたへの情報としても書いておきます。

ともかく、マクロが役に立ったようでよかったです。

次へ
現在の既読番号は 0  既読を


メールアドレスを表示するにはURLの後ろに &m=bb6a9a3f をつけてください。
ユーザー フォーラム一覧

http://www2k.biglobe.ne.jp/~araken/
http://0ban.com/araken/