VB6.0用掲示板の過去のログ(No.1)−VBレスキュー(花ちゃん)
[記事リスト] [新規投稿] [新着記事] [ワード検索] [過去ログ] [管理用]

投稿日: 2002/12/03(Tue) 04:11
投稿者あずま
Eメール
URL
タイトルRe^2: 文字列を変数名として扱う事は出来ますか?

> 私の勘違いでしたら申し訳ありません
> 以下の様なことでしょうか?
>
> Private Type STX
>     ST_NUM As String
>     ST_NAME As String
>     ST_TEL  As String
> End Type
>
> Private ST_A As STX
>
> Public Function GetST(Para As String) As String
>     GetST = SelectST(Para)
> End Function
>
> Private Function SelectST(Para As String) As String
>     Dim Ret As String
>     Select Case Para
>         Case "ST_NUM": Ret = ST_A.ST_NUM
>         Case "ST_NAME": Ret = ST_A.ST_NAME
>         Case "ST_TEL": Ret = ST_A.ST_TEL
>     End Select
>     SelectST = Ret
> End Function
回答ありがとう御座います。
でもって、説明不足ですみません。
えーとですね、上記のSelect Caseの部分をなくしたいんですよ。
この場合、変数名の”ST_A.”という部分が共通してますし、
続くメンバ名(ST_NUMなど)は引数から来てますよね?
これをうまく繋ぐことが出来ないかなぁと思いまして。
理想としてはこんな感じです。

'// 初期化
ST_A.ST_NUM = 10

'// 呼び出し
Dim Num as String
Num = SelectST("ST_NUM")

Private Function SelectST(Para As String) As String
    Dim Ret As String
    Ret = "ST_A." + Para … @
    SelectST = Ret
End Function

単にこれだけですと@の部分には"ST_A.ST_NUM"の様な文字列が
入ってしまいます。この文字列を変数名(ST_A.ST_NUM)と認識させ、
ST_A.ST_NUMの値("10")をRet⇒Numに返したいのです。

プログラム的に無理があるのでしょうか…


- 関連一覧ツリー (★ をクリックするとツリー全体を一括表示します)

- 返信フォーム (この記事に返信する場合は下記フォームから投稿して下さい)

- Web Forum -