HOME HELP 新規作成 新着記事 ツリー表示 スレッド表示 トピック表示 ファイル一覧 検索 過去ログ

■15088 / 親記事)  変数自体の文字列変換
  
□投稿者/ oyaji -(2025/08/25(Mon) 20:45:24)
    桐10s windows10 です 変数の&を取った文字列、たとえば &abc を abc に変換する方法はありますか

引用返信 [メール受信/OFF] 削除キー/
■15091 / ResNo.1)  Re[1]: 変数自体の文字列変換
□投稿者/ ONnoji -(2025/08/25(Mon) 22:47:10)
    2025/08/26(Tue) 01:24:33 編集(投稿者)

    > 桐10s windows10 です 変数の&を取った文字列、たとえば &abc を abc に変換する方法はありますか

    #文字置換( "&abc", "&", #u )

     または

    #文字置換( "&abc", "&", "" )

    でしょうね。

    ↑これって単なる文字置換ですが・・・?

    #sstr( "&abc", 2 ) ※ #sstr は #部分列 の別名

     または

    #部分列( "&abc", 2 )

    ↑これも単なる文字列から一部分の切り出しですが・・・??

    ちなみに、アンパサンド記号( & )は変数名をリテラル(直接)記述する場合に変数名に付ける接頭辞です。
         ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・

    従って、変数名自身は、アンパサンド記号( & )以降の文字列です。
        ・・・・・・・・・・・・・・・・・・・・・・・・・・

    例えば、#変数( )という関数で変数:abc を指定する場合には、

     &STR = #変数( "abc" )  /* 組み込み変数:&STR に 変数:&abc の値を代入する */

    または、

     &variableName = "abc"
     &STR = #変数( &variableName ) /* 組み込み変数:&STR に 変数:&abc の値を代入する */

    のようにします。

    p.s.

    > 桐10s windows10 です 変数の&を取った文字列、たとえば &abc を abc に変換する方法はありますか

    ちなみに、貴殿の質問の趣旨がよく判りません。

    変数名は変数を宣言した人自身が把握しているはずなので、Why(なぜ)???なんですけれど・・・ (@_@)

引用返信 [メール受信/OFF] 削除キー/
■15092 / ResNo.2)  Re[2]: 変数自体の文字列変換
□投稿者/ oyaji -(2025/08/26(Tue) 06:22:30)
    >変数名は変数を宣言した人自身が把握しているはずなので

    確かにそうでした。自身も整理できてない状態ですが、ざっくりと説明させていただくと

    [変数] [値]
    a
    b
    c

    のともに項目値が文字列で定義された表があり 以下の文字列を作り

    "変数宣言 文字列{"
    (loop)+"&"+[変数]+","
    "}"

    eval処理して処理の過程で変数宣言をやっていますが、それぞれの変数が示す位置を求めるのに 文字列に戻さないとできないな、というところでの質問でした。

    もう少し考える必要がありそうですね
引用返信 [メール受信/OFF] 削除キー/
■15093 / ResNo.3)  Re[3]: 変数自体の文字列変換
□投稿者/ ONnoji -(2025/08/26(Tue) 08:17:05)
    2025/08/26(Tue) 12:47:14 編集(投稿者)

    > >変数名は変数を宣言した人自身が把握しているはずなので
    > 確かにそうでした。自身も整理できてない状態ですが、ざっくりと説明させていただくと
    > [変数] [値]
    > a
    > b
    > c
    > のともに項目値が文字列で定義された表があり 以下の文字列を作り
    > "変数宣言 文字列{"
    > (loop)+"&"+[変数]+","
    > "}"
    > eval処理して処理の過程で変数宣言をやっていますが、それぞれの変数が示す位置を求めるのに 文字列に戻さないとできないな、というところでの質問でした。

    表(.tbx)の先頭行から終端行になるまで移動しながら、表の項目:[変数]の値を変数名にして、
                             ・・・・・・・・・・・・・・・・・・

    変数を宣言して項目:[値]の値を代入しているという事だとザックリと思われますが・・・???
                                ・・・・・・・・・・
    代案としては、

    1.新しく、長整数型の項目:[index]を用意して、

    2.変数を宣言する前に、#連番 で置換して通し番号を振っておきます。

    3.表(.tbx)のレコード数と同じ要素数の配列変数を宣言して、
      ・・・・・・・・・・・・・・・・・・・・・

    手続き定義開始 cmdTestClick( )
     変数宣言 自動,文字列{ &macro }
     変数宣言 自動,整数 { &dimMax }

     &dimMax = #総件数
     変数宣言 自動,文字列{ &変数名[ &dimMax ] }
     変数宣言 自動,文字列{ &variableName = "変数名" }

     置換 [index] = #連番
     ジャンプ 行番号 = 先頭行
     繰り返し ( .not #eof )

      &macro = "代入 &" + &variableName + "[" + #str( [index] ) + "] = [値]"
      トレース出力 _&macro

      コマンド &macro
      トレース出力 _[値], "  ", _&変数名[ [index] ]

      ジャンプ 行番号 = 次行
     繰り返し終了

    手続き定義終了

        :&macro : 代入 &変数名[1] = [値]
        :[値] : 1  &変数名[ [index] ] : 1
        :&macro : 代入 &変数名[2] = [値]
        :[値] : 2  &変数名[ [index] ] : 2
        :&macro : 代入 &変数名[3] = [値]
        :[値] : 3  &変数名[ [index] ] : 3
        :&macro : 代入 &変数名[4] = [値]
        :[値] : 4  &変数名[ [index] ] : 4
        :&macro : 代入 &変数名[5] = [値]
        :[値] : 5  &変数名[ [index] ] : 5

    とかねっ!。(^^ゞ

引用返信 [メール受信/OFF] 削除キー/
■15094 / ResNo.4)  Re[4]: 変数自体の文字列変換
□投稿者/ oyaji -(2025/08/26(Tue) 14:40:28)
    丁寧なご提案ありがとうございました。
    実はほかのフォームから直接得られたそれぞれの変数の値をつかって、その[変数]に一致した行でいろいろ操作をしたいと考えていたのですが、ご提案の方法で行が得られますね。

    というかご指摘のとおり、とても変な質問になっていたようで申し訳ありませんでした。
解決済み!
引用返信 [メール受信/OFF] 削除キー/



スレッド内ページ移動 / << 0 >>

このスレッドに書きこむ

Mode/  Pass/

HOME HELP 新規作成 新着記事 ツリー表示 スレッド表示 トピック表示 ファイル一覧 検索 過去ログ

- Child Tree -
- Antispam Version -