- ベストアンサー
文字列をそれぞれテキストに表示する方法(初心者)
質問:アスキーコードへの変換について VB6(初心者) で質問したものです。 回答してくださったかたありがとうございました。 また質問します、どうかよろしくおねがいします。 文字列を文字ごとに分けてそれぞれテキストやラベルに表示したいのですがどのようなプログラムになるのでしょうか? 例 mojiretu=ABC があるとしてAはtext1にBはtext2にCはtext3にそれぞれ 格納します。 text1.text=A text2.text=B text3.text=C mojiretuは変数文字列とします。 A、B、Cは変数ではなく普通の文字です。 テキストひとつに文字を全部いれるには mojiretu = ABC text1.text = mojiretu でいいと思うのですが、上の例がよくわかりません。 このことが書いてあるサイトでもいいのでどうか教えてくださいおねがいします。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
こんなんで、どうでしょう? mojiretu="ABC" text1.text=mid(mojiretu,1,1) ’Aを表示 text2.text=mid(mojiretu,2,1) ’Bを表示 text3.text=mid(mojiretu,3,1) ’Cを表示 text4.text=mid(mojiretu,1,2) 'ABを表示 text5.text=mid(mojiretu,2,2) 'BCを表示
その他の回答 (3)
- imogasi
- ベストアンサー率27% (4737/17069)
回答は出ているのだが、簡単に言えばMID関数を使えば良いのです。 http://www.accessclub.jp/supbeg/048.html VBの関数の一覧はぜひ目を通しておくこと。
お礼
回答ありがとうございます。 なぜか私のパソコンではこのサイトが見れませんでした。 mid関数は文字列から指定した文字数分を返すのですね。 私はおもにこのサイトを拝見してます。 http://homepage2.nifty.com/sak/ http://www.bcap.co.jp/hanafusa/VBHLP/HLPitiran.htm ほかにも良いサイトがあったら今度教えてください。
- takasebou
- ベストアンサー率42% (61/144)
以前にも回答したものです。 次のような方法があります。 mojiretu="ABC" for i = 1 to len(mojiretu) temp = mid$(i,1) select case temp case "A" text1.text = temp case "B" text2.text = temp case "C" text3.text = temp end select next 一文字ずつ切り取って、select case 文をつかってどのオブジェクトに出すか決めます。 あるいは textオブジェクトの index 項目に数字をいれるとオブジェクトを配列として扱えますので mojiretu="ABC" for i = 1 to len(mojiretu) temp = mid$(i,1) j = asc(temp) text(j).text = temp next というのもありかもしれません。(indexには A なら 32、Bなら 33とアスキーコードをいれる。 0 から始めて、A以降の文字しか入らないなら j = Asc(temp) - 32 という風にするのもあり)
お礼
回答ありがとうございます。 違う方法も詳しく教えてくれてありがとうございます。 caseを使う方法もあるんですね。
- ryou0607
- ベストアンサー率27% (71/261)
text1.text=mojiretu.Mid(0,1) text2.text=mojiretu.Mid(1,1) text3.text=mojiretu.Mid(2,1) で、できたような気がします。 引数のインデックスはずれているかも知れません。 VBの配列は1から始まってるとか、そんな記憶もわずかに^^;
お礼
回答ありがとうございます。 でも修飾子が不正です。って出ました。 これではないようです、すいません。
お礼
回答ありがとうございます。 おかげでmidの使い方がわかりました。 ありがとうございました。