コロン前までのデータを読み込みたい

解決


MIU  2005-12-27 18:33:54  No: 129231

はじめまして。環境はVB6です。

下記のようなデータがcomboboxにあります。

1:みかん
11:すいか
3:りんご

これらのデータをコロン区切りで読み込みたいのです。
コロンが来るまで文字を切り取ってmdbに保存したいのです。
この場合ですと[1,11,3]のみ保存対象になります。
コロンのあとの文字は特に保存したりはしません。

For〜Next 文を使って作りたいのですがどうもうまくいきません。
よろしくおねがいします。


MIU  2005-12-27 18:36:11  No: 129232

説明不足でした。

コンボボックスからはひとつだけ選んで保存します。
「11:すいか」を選択したら「11」のみ保存したいのです。

Left関数などで2文字だけ切り取ろうとおもったのですがその場合ですと「3:
りんご」がコロンまではいって「3:」になってしまうのです・・・

どちらの場合でも対応できるようにしたいのです。


nameless  2005-12-27 18:41:49  No: 129233

instr関数


さくら  2005-12-27 18:46:32  No: 129234

何も支障がないのなら
Val()でやりますが・・・。


MIU  2005-12-27 19:09:40  No: 129235

すみません。For〜Next文で作れという指定なのでvalやInstrは使えないのです。せっかくのアドバイス申し訳ないです。


nameless  2005-12-27 19:19:18  No: 129236

>For〜Next文で作れという指定なのでvalやInstrは使えないのです。
なぜ、使えないのですか。


さくら  2005-12-27 19:22:31  No: 129237

いつもの課題でしょう!?
参考に↓
http://madia.world.coocan.jp/cgi-bin/VBBBS2/wwwlng.cgi?print+200512/05120112.txt


MIU  2005-12-27 19:29:45  No: 129238

気分を害されたら申し訳ありません。
自分の勉強のためにあえて面倒な方法でやってみようとおもったのです。
Val関数やinstr関数ならヘルプにも使い方が乗っているので自分のやりたいことを行えるのですが、For文でもできるのではないか?と思い質問したしだいです。

質問の仕方が悪かったみたいなのであとは自分でなんとかしてみます。
レス下さった方々ありがとうございました。


なな  2005-12-27 19:39:45  No: 129239

For 〜 Loopでやりたいならば

1.文字列の長さを調べる。
2.For文で、1文字目から、1で調べた長さまでを繰り返す。
3.1文字取り出す。
4.:か否かをチェック、:でなければ別の変数に追加
5.Loop

> Val関数やinstr関数ならヘルプにも使い方が乗っているので
> 自分のやりたいことを行えるのですが、
> For文でもできるのではないか?と思い質問したしだいです

まず、自分の勉強ならば、アプローチの仕方が不味いです。
For文でも出来るんじゃないかなぁ〜。
よし、聞いてみよう。

では、質問の仕方の勉強以外に他なりません。

For文でも出来るんじゃないかなぁ〜。
よし、試してみよう

というステップがないとね、


コボル  2005-12-27 20:02:15  No: 129240

>For〜Next文で作れという指定なのでvalやInstrは使えないのです。
For〜Nextをどこかで使えばいいのでは?
Dim ii  As Long
For ii = 0 To Combo1.ListCount - 1 Step 1
    List1.AddItem (Combo1.List(ii))
Next

ComboBoxからデータを取得する時とかに。


nameless  2005-12-27 22:07:47  No: 129241

>自分の勉強のためにあえて面倒な方法でやってみようとおもったのです。
自分の勉強のためなら、人に聞かない
1週間ぐらい考えるようには思いませんか。
私ならそうしますけど。


とんちゃん  2005-12-28 23:29:42  No: 129242

>自分の勉強のためにあえて面倒な方法でやってみようとおもったのです。
ならば一番最初に明記すべきです。


名無し  2005-12-29 04:05:23  No: 129243

>For〜Next文で作れという指定なので
と言っていたかと思えば
>For文でもできるのではないか?と思い
と言う。

明らかにおかしいですよ、と。


葉月α  2005-12-29 18:05:54  No: 129244

みなさん言ってる通りFor〜Nextでできますよね
:が何文字目かを調べておけばよし

Do Whileでもできる
:にぶつかるまで1文字ずつ読めばよし

あと配列用意してSplitを用いてセパレータを:に設定して
配列0番目とか

答えを知るだけならか〜んたん
プロセスを知ることが難しい・・・


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加