JWW専用掲示板
(現在 過去ログ65 を表示中)

HOME HELP 新規作成 新着記事 トピック表示 発言ランク ファイル一覧 検索 過去ログ

[ 最新記事及び返信フォームをトピックトップへ ]

■14193 / inTopicNo.1)  jww外部変形について
  
□投稿者/ pino 1回-(2003/11/02(Sun) 16:34:11)

    記事内容:[|] 

    お世話になります。
    外部変形のBATで以下のように記述したとします。

    rem #:2
    ・・・
    ・・・
    rem #c 日付 例:150625  :/_/E
    ・・・
    -----------------------------------
    :do2
    copy jwc_temp.txt test.txt > nul
    del jwc_temp.txt
    ・・・
    -----------------------------------

    JWWでbatを起動して、日付を入力した後、その日付をテキストに記入したいのですが、
    test.txtにはJWW上でキーボードから入力した文字は記述されません。
    別のテキストにその”日付”を書き込みたいので、”日付”を読み取りたいのですが、ど
    のようにスクリプトを書いたらよいのかわかりません。AWKを使ってスクリプトを作って
    いるのですが、

    if(ARGV[js]~/E/){hizuke = substr(ARGV[js],2)}

    として書き出せるかと思ったのですが、だめでした。
    キーボードから入力したものはどのファイルにどのように収まっているのでしょうか。

    説明も下手で大変恐縮ですが、どなたかに教えていただけたらとてもうれしいです。
    よろしく御願いします。
引用返信/返信 [メール受信/OFF] 削除キー/
■14194 / inTopicNo.2)  Re[1]: jww外部変形について
□投稿者/ 名無し 7回-(2003/11/02(Sun) 19:11:00)

    記事内容:[|] 

    作ったbatファイルを全て書き出すべきです

    batファイルで記述する
    REM #i
    REM #k
    REM #c
    REM #f
    による入力はそれぞれ半角スペースを区切りとして、一連の文字列でシステム側に
    渡される
    システム側では、半角スペースや半角カンマをデータの区切りとして順に
    %1〜%9に割り振る

    従って、REM #c や #f による文字入力で、打ち込んだ文字列中に半角スペースや
    半角カンマが含まれていると、そこでデータが分断されてしまう

    これを回避する方法としては、文字列を "" で囲ってしまう方法が有る

    REM #c *****:/_"/E


    jgawk -f*****.awk jwc_temp.txt %1" > temp.txt

    といった感じ、但しこの場合文字入力を省略すると、『"/E』の出力が無くなるので
    " の数が合わなくなり、バグる事になる

    出来るなら、#k や #i で入力の省略の有り得ない選択項目を先に持ってきて
    そこで『"』の付加をすると、#c の時の入力省略によるバグは無くなる
    この場合、先の#i or #k 出力以降 データの分断は行われないので、全てひっくる
    めて%1で引用される
    (1 か 2 か或いはそれ以上かは、batの作りに依存するので適当に読み替えてく
    れ)


引用返信/返信 [メール受信/OFF] 削除キー/
■14195 / inTopicNo.3)  Re[1]: jww外部変形について
□投稿者/ 名無し 8回-(2003/11/02(Sun) 19:35:37)

    記事内容:[|] 

    rem #c 日付 例:150625  :/_/E

    の場合 150625 と打ち込んで出力されるのは『/E150625』です
    if(ARGV[js]~/E/){hizuke = substr(ARGV[js],2)}
    だと、hizuke の内容は『E150625』です
    但し、文字列中に『E』が有ればマッチするので余り良い方法では有りません
    if(ARGV[js]~/^\/E/){hizuke = substr(ARGV[js],3)}
    とすると『/E』で始まる時のみマッチして、hizuke の内容は『150625』となります
    (E150625で良い場合 2 に戻して)

    awk の場合、jgawk の後に続く文字列は、オプション指定(-f とか -v とか)以外
    は読み込んで処理するファイルネームとして処理されます

    ARGV[]配列に、そのファイル名が代入されています
    これをオプション入力に利用する場合、ファイル名以外のARGV[]の内容は空字列に
    しておく必要が有ります
    (上の例では、空字列にしないと『/E150625』というファイルを探しにいき、見つ
    からないのでエラーになります

引用返信/返信 [メール受信/OFF] 削除キー/
■14196 / inTopicNo.4)  Re[1]: jww外部変形について
□投稿者/ 居残り君 1回-(2003/11/02(Sun) 20:15:42)

    記事内容:[|] 

    pino さん こんにちは。居残り君 でした。

    >JWWでbatを起動して、日付を入力した後、その日付をテキストに記入したいので
    すが、
    >test.txtにはJWW上でキーボードから入力した文字は記述されません。
    >別のテキストにその”日付”を書き込みたいので、”日付”を読み取りたいので
    すが

    他のテキストに書き出すだけらな、どうしてJWW上の外部変形の
    入力を経由するのでしょうか?
    pinoさんの目的がちょっと見えないので的外れなレスとなるかも
    しれませんが・・・

    #c で入力した文字列はバッチファイルの中で『 %1 』として以降
    扱うことができますね。

    @rem 日付入力
    @echo off
    rem #jw
    rem #cd
    rem #c 日付 例:150625  :/_
    echo %1 > test.txt
    del jwc_temp.txt
    rem #e

    こんな感じで作られたtest.txtには入力文字が書き出されます。
引用返信/返信 [メール受信/OFF] 削除キー/
■14213 / inTopicNo.5)  Re[2]: jww外部変形について
□投稿者/ pino 2回-(2003/11/03(Mon) 15:09:13)

    記事内容:[|] 

    皆様、迅速なお返事ありがとうございます。
    現在、3つのお返事を参考に、なおしています。
    ありがとうございます。大変助かります。
    またつまずいたらご教授いただきたいと思います。
    その時は、BATなども全て書き込み、失礼の無いようにやりたいとおもいますので
    よろしく御願いします。
引用返信/返信 [メール受信/OFF] 削除キー/



トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

Mode/  Pass/

HOME HELP 新規作成 新着記事 トピック表示 発言ランク ファイル一覧 検索 過去ログ

- Child Tree -