レス用 HIDE_UP.TXT の書き方No.00323
山紫水明 さん 01/04/11 17:06
 
  こんにちは,山紫水明です!

秀Term + hidenet.hsc で秀ネットにアクセスしています。
コメントを書くとき,HIDE_UP.TXT にたとえば,

GO HIDESOFT
MES 2
RE 08345

と書きますが,時に題名を少し変更したいときがあります。新規の書き込みにする
とツリーがつながらなくなりますので。
 こういう場合,HIDE_UP.TXT はどう書けばいいでしょうか?
 あるいは,hidenet.hsc の修正が必要でしょうか?

       では, (^^)/~

[ ]
RE:00323 レス用 HIDE_UP.TXT の書き方No.00324
秀まるお2 さん 01/04/11 18:26
 
> と書きますが,時に題名を少し変更したいときがあります。新規の書き込みにする
> とツリーがつながらなくなりますので。

 telnet接続でコメント発言するときに題名を変更することは、一応表向きには出来
ないことになっていると思います。

 しかし、裏技で方法があります。

 例えば00001番発言にコメント発言する場合なら、新規発言ということで、題名に

  RE:00001 テストテストテスト

 に入れればいいです。こうすると新規発言であるにもかかわらず、00001番発言へ
のコメントとなり、題名は「テストテストテスト」となります。

 ということで、HIDE_UP.TXT側でどうするかって話になると、

    GO HIDESOFT
    MES 2
    SUB:RE:08345 テスト書き込み
     テストテストテスト
    /E

 のように書けばいいことになります。

[ ]
RE:00323 HIDE_UP.TXT 生成を便利に(1)No.00325
やすひさ さん 01/04/11 19:49
 
 山紫水明さん、こんにちは。

 秀まるお2さんに返答を頂いているようですが、
以前にHidenet.hscを修正したものをお教えします。
# 前に私が回答を頂いていてその後、密かに修正していました。

 勝手にタイトルを出してくれるのと、Nif.hscのようにヘッダなどを
追記できるようにもしています。(+αしていますが…。)
# 詳しくはスクリプトを参照してください。分からなければお教えします。(^^;

 Hidenet.hscの『CreateSpeechFile:』とHidenet_sub.hscを
修正または新規作成して下さい。(少し長くなるので各スクリプトで別発言にします。
)
# 殆ど Hidenet.hsc / Nif.hsc の記述を参考にして作成しました。(^^;

 少しでもお役に立てれば幸いですが…。

[ ]
RE:00323 HIDE_UP.TXT 生成を便利に(2)No.00326
やすひさ さん 01/04/11 19:49
 
〜〜Hidenet.hsc(発言用サブルーチンのみ)〜〜

CreateSpeechFile:
    readbuffer @@SpeechPos[1], #line
    if( part( #line, 0, 2 ) != "<<" or search( #line, ">>    " ) == "" )
        message #line
        message "フォーラム以外への発言はまだサポートしていません。m(_._)m"
        return;
    endif
    @output[0] = "GO " + part( search( #line, ">>    " ), 6, 100 );
    @output[1] = part( @SpeechTitle[2], 0, 6 );
    if( part( @output[1], 5, 1 ) == " " )
        @output[1] = part( @output[1], 0, 5 )
    endif
    if( @speechType == "new" )
        @output[2] = "SUB:"

        call Hidenet_sub.hsc:SetHeader 3
        ##cur_posY = value( #return )
        @output[##cur_posY    ] = ""
        @output[##cur_posY + 1] = " "
        call Hidenet_Sub.hsc:SetSign ##cur_posY + 2

        chdir upload
        if( not existfile( "HIDE_UP.TXT" ) )
            createfile "HIDE_UP.TXT"
            closefile "HIDE_UP.TXT"
        endif
        execeditor "HIDE_UP.TXT", @output, @@output, @@output - 2, 4
        restoredir
    else

        call Hidenet_sub.hsc:MesTitle 2
        call Hidenet_sub.hsc:SetResHeader 3
        ##cur_posY = value( #return )
        @output[##cur_posY    ] = ""
        @output[##cur_posY + 1] = " "
        call Hidenet_Sub.hsc:SetSign ##cur_posY + 2

        chdir upload
        if( not existfile( "HIDE_UP.TXT" ) )
            createfile "HIDE_UP.TXT"
            closefile "HIDE_UP.TXT"
        endif
        execeditor "HIDE_UP.TXT", @output, @@output, @@output - (##cur_posY
+ 1), 1
        restoredir
    endif
    return

[ ]
RE:00323 HIDE_UP.TXT 生成を便利に(3)No.00327
やすひさ さん 01/04/11 19:49
 
〜〜Hidenet_sub.hsc〜〜

SetHeader:              ;ヘッダをつける
    ##n = #1
    if( %HideHeader != "" )
        @output[##n] = %HideHeader
        call 特殊文字変換 @output[##n], #2
        @output[##n] = #return
        ##n = ##n + 1
    elseif( %HideHeaderFile != "" )
        openfile %HideHeaderFile
        if( no )
            message %HideHeaderFile + "のオープンに失敗しました。"
        else
            while(1)
                readfile %HideHeaderFile, @output[##n]
                if( no )
                    breakloop
                endif
                call 特殊文字変換 @output[##n], #2
                @output[##n] = #return
                ##n = ##n + 1
            endwhile
            closefile %HideHeaderFile
        endif
    endif
return ##n

SetResHeader:           ;レス用のヘッダをつける
    ##n = #1
    if( %HideResHeader != "" )
        @output[##n] = %HideResHeader
        call 特殊文字変換 @output[##n], #2
        @output[##n] = #return
        ##n = ##n + 1
    elseif( %HideResHeaderFile != "" )
        openfile %HideResHeaderFile
        if( no )
            message %HideResHeaderFile + "のオープンに失敗しました。"
        else
            while(1)
                readfile %HideResHeaderFile, @output[##n]
                if( no )
                    breakloop
                endif
                call 特殊文字変換 @output[##n], #2
                @output[##n] = #return
                ##n = ##n + 1
            endwhile
            closefile %HideResHeaderFile
        endif
    endif
return ##n

SetSign:                ;シグネチャ(署名)をつける
    ##n = #1
    if( %HideSign != "" )
        @output[##n] = %HideSign
        call 特殊文字変換 @output[##n], #2
        @output[##n] = #return
        ##n = ##n + 1
    elseif( %HideSignFile != "" )
        openfile %HideSignFile
        if( no )
            message %HideSignFile + "のオープンに失敗しました。"
        else
            while(1)
                readfile %HideSignFile, @output[##n]
                if( no )
                    breakloop
                endif
                call 特殊文字変換 @output[##n], #2
                @output[##n] = #return
                ##n = ##n + 1
            endwhile
            closefile %HideSignFile
        endif
    endif
    @output[##n] = "/E"
    @@output = ##n + 1
return

MesTitle:               ;元発言のタイトル取得
    ##n = #1
    readbuffer @@SpeechPos[3], #line
    if( part( #line, 3, 1 ) == "/" )                    ;合っているか確証な

        #res = part( #line, 0, 3 )
        #Mes_title = part( #line, 46, 255 )
        if( part( #Mes_title, 0, 3 ) == "RE:" )
            #Mes_title = part( #Mes_title, 7, 255 )
        endif
    else
        #res = part( #line, 0, 5 )                      ;確証済み
        #Mes_title = part( #line, 40, 255 )
        if( part( #Mes_title, 0, 3 ) == "RE:" )
            #Mes_title = part( #Mes_title, 9, 255 )
        endif
    endif

    @output[##n] = "RE:" + #res + " " + #Mes_title

return

GetMesHandle:           ;発言者のハンドルを取得
    readbuffer @@SpeechPos[3], #line
    if( part( #line, 3, 1 ) == "/" )
        #name = part( #line, 19, 21 )                   ;確証なし
    else
        #name = part( #line, 21, 19 )
    endif
    while( part( #name, length( #name ) - 1, 1 ) == " " )
        #name = dropback( #name, " " )
    endwhile

return #name

特殊文字変換:           ;特殊文字変換
    ;特殊文字の頭に使う文字(例:#MesNo)
    #SPC[0] = "#"
    ;特殊文字列
    #SPC[1] = "MesNo"
    #SPC[2] = "MesID"
    #SPC[3] = "MesHandle"
    #SPC[4] = "MesTitle"
    #SPC[5] = "RoomTitle"
    #SPC[6] = "RoomNo"
    #SPC[7] = "ForumGO"
    #SPC[8] = "ForumTitle"
    #SPC[9] = "PatioID"

    #line = #1
    while( ##i <= 9 )
        #Front = drop( #line, #SPC[0] + #SPC[##i] )
        if( ##i == 0 )
            #Henkan = #SPC[0]
        else
            checklabel "Get" + #SPC[##i]
            if( yes ) callvarlabel "Get" + #SPC[##i], #2
            #Henkan = #return
        endif
        #Back = part( search( #line, #SPC[0] + #SPC[##i] ), length( #SPC[0]
+ #SPC[##i] ), 255 )
        if( #line != #Front )
            #line = #Front + #Henkan + #Back
        endif
        ##i = ##i + 1
    endwhile
return #line


[ ]
RE:00327 HIDE_UP.TXT 生成を便利に(3)No.00328
やすひさ さん 01/04/11 20:09
 
 みなさん、こんにちは。(自己レス)
# 1行の文字数が多いところが改行されてしまいました。m(__)m

 サブルーチン『特殊文字変換:』に#SPC[?]というのがたくさんありますが、
現在は#SPC[3]しか有効ではありません。(^^;
# NIFTY(Nif_sub.hsc)から秀ネット(Hidenet_sub.hsc)に移行したときの残骸です。


 因みに『特殊文字変換:』について解説を。
シグネチャなどに#MesHandleという文字があれば元発言のハンドルに変換します。

[ ]
RE:00324 レス用 HIDE_UP.TXT の書き方No.00329
山紫水明 さん 01/04/11 21:53
 
 秀まるおさん,こんばんは。

》 telnet接続でコメント発言するときに題名を変更することは、一応表向きには
》出来ないことになっていると思います。

 道理で。秀ネットの解説や,hidenet.hsc の説明にはないはずですね。

》 しかし、裏技で方法があります。

 やっぱりあった(^^;

》 ということで、HIDE_UP.TXT側でどうするかって話になると、
》    GO HIDESOFT
》    MES 2
》    SUB:RE:08345 テスト書き込み
》     テストテストテスト
》    /E

 この「テスト書き込み」が元の題名ということですね。
 どうもありがとうございました。試してみます。

     では, (^^)/~
                                        山紫水明

[ ]
RE:00328 HIDE_UP.TXT 生成を便利に(3)No.00330
山紫水明 さん 01/04/11 21:53
 
 やすひささん,こんばんは。

》以前にHidenet.hscを修正したものをお教えします。
》# 前に私が回答を頂いていてその後、密かに修正していました。

 秘伝のご伝授ありがとうございます(^^;
 確かに題名変わっていますね。

》 勝手にタイトルを出してくれるのと、Nif.hscのようにヘッダなどを
》追記できるようにもしています。(+αしていますが…。)

 これがほしかったのです。Nif+hsc を使っているものですから。

》# 殆ど Hidenet.hsc / Nif.hsc の記述を参考にして作成しました。(^^;

 ちょっとは見てみたのですが,どうも根気がなくて。

》# 1行の文字数が多いところが改行されてしまいました。m(__)m

 これはすぐわかると思いますので,挑戦してみます。
 どうも,ありがとうございました。

     では, (^^)/~
                                        山紫水明

[ ]
RE:00330 HIDE_UP.TXT 生成を便利に…No.00331
やすひさ さん 01/04/12 01:20
 
 山紫水明さん、みなさん、こんにちは。

>  秘伝のご伝授ありがとうございます(^^;

 秘伝と言うわけでは…。(^^;
 別に公開する必要性もないと思っていただけですので、
こっそりと修正するにとどまっていただけです。

>  どうも,ありがとうございました。

 お役に立てて嬉しいです。なんとも心地いい気分です。
# 『アドバイスは初めて』といっても過言ではないです。(^^;

[ ]