• ベストアンサー

文字列をそれぞれテキストに表示する方法(初心者)

質問:アスキーコードへの変換について 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 でいいと思うのですが、上の例がよくわかりません。 このことが書いてあるサイトでもいいのでどうか教えてくださいおねがいします。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.2

こんなんで、どうでしょう? 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を表示

gosutero
質問者

お礼

回答ありがとうございます。 おかげでmidの使い方がわかりました。 ありがとうございました。

その他の回答 (3)

  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.4

回答は出ているのだが、簡単に言えばMID関数を使えば良いのです。 http://www.accessclub.jp/supbeg/048.html VBの関数の一覧はぜひ目を通しておくこと。

gosutero
質問者

お礼

回答ありがとうございます。 なぜか私のパソコンではこのサイトが見れませんでした。 mid関数は文字列から指定した文字数分を返すのですね。 私はおもにこのサイトを拝見してます。 http://homepage2.nifty.com/sak/ http://www.bcap.co.jp/hanafusa/VBHLP/HLPitiran.htm ほかにも良いサイトがあったら今度教えてください。

  • takasebou
  • ベストアンサー率42% (61/144)
回答No.3

以前にも回答したものです。 次のような方法があります。 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 という風にするのもあり)

gosutero
質問者

お礼

回答ありがとうございます。 違う方法も詳しく教えてくれてありがとうございます。 caseを使う方法もあるんですね。

  • ryou0607
  • ベストアンサー率27% (71/261)
回答No.1

text1.text=mojiretu.Mid(0,1) text2.text=mojiretu.Mid(1,1) text3.text=mojiretu.Mid(2,1) で、できたような気がします。 引数のインデックスはずれているかも知れません。 VBの配列は1から始まってるとか、そんな記憶もわずかに^^;

gosutero
質問者

お礼

回答ありがとうございます。 でも修飾子が不正です。って出ました。 これではないようです、すいません。

関連するQ&A

  • 文字列を配列に…。

    VBはまだ始めたばかりで本当に初歩的なことかもしれませんが分かる方がおられたら是非教えて下さい。 text1.textから取り込んだ文字列を”一文字ずつ”(Dim a(100) as stringで宣言した)配列に格納したいのですがどうしたらいいのでしょうか?? <例>text1.textに"abc"と入力しcommandbuttonを押すとa(0)に"a"がa(1)に"b"がa(2)に"c"が格納されるといったかんじです。 ちなみに今私がしたいのはtext1.textに、ある文字列を入れその文字列を文字コードに変換しそれを一文字分ずつ+1してまたそのコードを文字に直しtext2.textに出力するというものです(ようは簡単な暗号化ですね)。 私はAscとChrコマンドを利用して1文字ずつコードをずらしていこうと思っているのですが、他に良い方法などあるのでしょうか?? 本当に初心者でどのようにしらたよいのか分かりません…。 どなたか分かりやすく教えていただけませんでしょうか?? お願いします。

  • 文字列の括弧について(初心者)

    textに自分で入力した値を変数文字列として扱う場合に、括弧を使いたいのですが、 例 Dim A as string Dim B as string A = Text1.text B = "abc" としてコマンドボタンを押したときにAとBの値が同じ場合(Aがabc)は1をAとBの値が違うときは0を出力するプログラムを作ったのですが、これに追加で括弧()や[]をつけても1を出力するプログラムが作りたいのですが、よくわかりません。 Text1.textの値が(abc)か[abc]でも1を出力、 [ab]cやa(b)cでも1を出力、(abcやa)bc(やa(b(cのときは0を出力するプログラムが作りたいのです。 どうか教えてください。 おねがいします。

  • 入力された文字列を一文字ずつ配列に格納する方法

    例えばABCって文字列が入力されたら配列に data[0]="ABC" と格納するのではなく data[0]="A" data[1]="B" data[2]="C" と格納するにはどう書けばいいのでしょうか?

  • PHPの文字列をJavascriptの変数にする

    PHPの変数に格納された文字列を、直接Javascriptの変数の一部として格納しようと考えています。 例:) <script> var txt = "<?php echo $text; ?>"; </script> しかし、$textにダブルクォーテーションなどの文字が含まれていると、スクリプト全体が破綻します。今のところ、PHPの中で、問題を起こしそうな文字列を変換するように処理しています。 例:) $text = str_replace("\\", "\\\\", $text); $text = str_replace("\"", "\\\"", $text); $text = str_replace("\n", "\\n", $text); これよりもスマートな方法(たとえば用意されている関数を使うなど)がありますでしょうか。

    • ベストアンサー
    • PHP
  • テキストファイルの内容を文字列として格納する方法を教えてください。

    windows xp、visual C++でプログラムを作成している初心者なんですが、コンマ(,)で区切られたテキストファイルの一部分を文字列として取得する方法が知りたいです。たとえば"sample.text"というファイル名で、 "BAAE0001","0","8","1000100010001000" "BAAE0002","0","8","1000100010001010"  ・  ・  ・ と続いていくテキストなんですが、一行目のBAAE0001をa1に入れ、0をb1に入れ、8をc1に入れ、1000100010001000をd1に入れて、二行目以降もa1、b1…の数字の部分を1ずつ増やして同じように格納していくというふうにしたいです。わかる方、いい方法がある方がいましたらどうか教えてください。

  • CString型の文字列連結について

    質問させて頂きます。 開発環境はVC++.netです。 CString型の文字列連結について教えて頂きたく。 CString Test[_MAX_FNAME+1]; という変数にがあるとします。 Test変数のデータは Test[0]には"2" Test[1]には"1" が格納されてるとします。 Test変数のデータをCString Text1という変数に 以下のようなソースで文字列連結処理を行ったのですが、だめでした。 何がいけないのでしょうか? for(int i = 0; i <= 2; i++) { Text1 += Test[i]; } 実行結果は Text1には"2"が格納されたままでした。 実際はText1には、"2""1"となってほしい。 分かりにくい説明とは思いますが、 回答、ヒントなどを頂けますでしょうか 宜しくお願い致します。 それと、もしよかったら、Text1の格納データは "2","1"としたいので、カンマ区切りのやりかたなども ヒントを頂けたら幸いです。 以上です。 宜しくお願い致します。

  • printfの引数指定でなぜ文字列ポインタがOK?

    C言語初心者です。現在入門的書籍の1冊目を読んで勉強中です。VBAは経験あります。 printf関数について質問です。 引数の指定で通常  printf("書式文字列", 変数で値) のようにしていしますよね。  char a = 'A';  printf("%c", a); ←ここで変数aの値の「A」を渡している と理解しています。 上の例で、書式文字列を省略し、  printf(a); だとエラーがでます。 しかし、文字列の場合  char a[] = "ABC";  printf(a); はエラーにならず、「ABC」と出力されます。 さらに、ポインタを使用して  char a[] = "ABC";  char *b = a;  printf(b); もエラーにならず、上と同様に「ABC」と出力されます。 まず、この2つの例で、エラーとならず、書式文字列が省略できているのが不思議です。 これが書式文字列を省略しているわけではないとするならば、 「printf(a)」=「printf(b)」=「printf("ABC")」ということになりますが、 「printf(a)」のaも「printf(b)」のbも"ABC"の先頭のアドレスを示しているんですよね。 ということは、printf関数の引数の指定方法は  printf(書式文字列 または 文字列の先頭アドレス, 変数) というように考えられるのですが、認識があっているでしょうか? そもそも文字列について、VBAでは文字と文字列の区別はなにも意識せずに扱えたのでやや戸惑っているのですが、C言語では文字列の場合は宣言時に  char a[] のように宣言し、あとは先頭のアドレスで文字列を使っていくという感じなのでしょうか? 初心者なもので何が理解できていないのかもよくわからない状況で、質問がわかりづらいかもわかりませんが、よろしくお願いします。

  • 文字列を変数名として扱う方法

    vb6.0 か vb.net で文字列を変数名として扱うにはどうすればいいでしょうか? 例をあげると下記のようなことです。 -------------------- dim abc as string dim x as string abc = "テスト" x = "b" msgbox "a" & x & "c" -------------------- これをそのままvb6.0で実行すると"abc"という文字が表示されますが "abc"ではなく"テスト"と表示させたいのです。 つまり msgbox abc とした場合と同じようにしたいのですが可能でしょうか? ご存知の方教えてください。 よろしくお願いします。

  • 変数に格納している文字列の読み込み

    ある変数($text)にHTMLデータが格納されています。 その変数内の文字列を、1行ずつ読み込む方法はあるのでしょうか。 $textをファイルに変換して読み込むべきでしょうか。 ぞ存知の方、ご教授をお願いします。

    • ベストアンサー
    • PHP
  • VBA テキストボックス内の文字列を切り出したい

    フォームのテキストボックスに入力した文字列の一文字目だけを 切り出し、変数に格納したいのですが、 切り出す作業がどうしてもできません。 よろしくお願い致します。

専門家に質問してみよう