助けてください。・゚・(ノД`)・゚・。

ActiveBasicでのプログラミングでわからないこと、困ったことなどがあったら、ここで質問してみましょう(質問を行う場合は、過去ログやWeb上であらかじめ問題を整理するようにしましょう☆)。

質問の仕方

1 個までオプションを選択できます

 
 
投票結果を見る

メッセージ
作成者
伯羽
記事: 15
登録日時: 2005年10月11日(火) 23:44
お住まい: 埼玉県
連絡する:

#16 投稿記事 by 伯羽 »

何も出力されませんでした。なにがおかしいんでしょう。・゚・(ノД`)・゚・。

コード: 全て選択

Dim Expression[ELM(3)] = ["Angry", "Enjoy", "Sad"] As String
Dim RnS As Long

Sub Menu_SPEAKBTM_Click()
ShowWindow(hMenu,SW_HIDE)
ShowWindow(hMessage,SW_SHOW)
RANDOMIZE
RnS=Int(Rnd()*3+1)
SetDlgItemText(hMessage, MesBox, Expression[RnS])
End Sub
質問ばかりだからなんとか自己解決しようとがんばっているんですがヘルプの説明が自分的に足りなくて。。。
ほんとすみません。_|\○_
hira
記事: 203
登録日時: 2005年5月31日(火) 20:14
お住まい: 兵庫県
連絡する:

#17 投稿記事 by hira »

コード: 全て選択

Dim Expression[ELM(3)] = ["Angry", "Enjoy", "Sad"] As String
当方の環境では、このコードがエラーになりました。

コード: 全て選択

Dim Expression[ELM(3)] = [0, 1, 2] As Long
これはエラーにならないことから、String型は(仕様なのか未対応なのかは不明ですが)初期値の設定ができないものと思われます。
対策としては…地道に代入するしかないでしょうね(^^;
伯羽
記事: 15
登録日時: 2005年10月11日(火) 23:44
お住まい: 埼玉県
連絡する:

#18 投稿記事 by 伯羽 »

そういわれるとファイルから読み込んだほうがいいと思ったんですが
そっちのほうがめんどいんですよねぇ
ファイルの読込もできないですし(´A`)←が。
イグトランス
記事: 899
登録日時: 2005年5月31日(火) 17:59
お住まい: 東京都
連絡する:

#19 投稿記事 by イグトランス »

おっとこれは失礼しました。
さてBytePtrにすれば動くかと思いましたがだめでした。
BytePtr型でだめならもはやバグかと思いバグ報告に書いておきました。
konisi
記事: 893
登録日時: 2005年7月25日(月) 13:27
お住まい: 埼玉県東松山市
連絡する:

ちなみに

#20 投稿記事 by konisi »

ファイルの入出力のコードなら書けるので書いておきます。

指定バイトごとに読み出す場合(ここでは、変数XByteに指定バイト数を代入してあるとして書く。)

コード: 全て選択


'ファイルを開く
Open "a.txt" As #1
Field #1,XByte
'読み出し
Get #1,1,A$
Get #1,2,B$
    ・
    ・
    ・
'ファイルを閉じる
Close #1
一行ごとに読み出す場合(こっちの方が便利な場合も多い。)

コード: 全て選択


'ファイルを開く
Open "a.txt" For Input As #1
'読み出し
Input #1,A$
Input #1,B$
    ・
    ・
    ・
'ファイルを閉じる
Close #1
文字列をByte型に変換するにはMid$関数や何かとAsc関数を使うなり、何か別のもっと便利な関数を使うなり何とかしてください。

コードを見た人は気が付いたと思いますが、僕はN88系BASICのスタイルが未だに抜けません。
Website→http://web1.nazca.co.jp/himajinn13sei/top.html
ここ以外の場所では「暇人13世」というHNを主として使用。

に署名を書き換えて欲しいと言われたので暇だしやってみるテスト。
伯羽
記事: 15
登録日時: 2005年10月11日(火) 23:44
お住まい: 埼玉県
連絡する:

Re: ちなみに

#21 投稿記事 by 伯羽 »

んー 解決しないです、、、(´A`)
マティ
記事: 161
登録日時: 2005年8月23日(火) 00:15
お住まい: 沖縄県
連絡する:

#22 投稿記事 by マティ »

とりあえず、以下の形で初期化を行い、プログラムの論理エラーを取る事に専念した方が良いと思います。

コード: 全て選択


Dim Expression(2) As String

Expression(0) = "Angry"
Expression(1) = "Enjoy"
Expression(2) = "Sad"
論理エラーが取れたらファイルから、パラメータを取得出来るように改造します。

コード: 全て選択


Const MaxParam = 1000      'パラメータの上限
Dim Expression(MaxParam) As String,i As Long
'読み出し
Open "Expression.txt" For Input As #1
i=0 
While (Eof(1)=False)
    Input #1,Expression(i)
    i=i+1
    If(i>MaxParam)Then
        'エラー処理を書く
    End If
Wend
Close #1
実行ファイルと同じ場所に、Expression.txtを作成し、その内容を

コード: 全て選択

Angry
Enjoy
Sad
とします。

以上で、実行可能になると思います。
伯羽
記事: 15
登録日時: 2005年10月11日(火) 23:44
お住まい: 埼玉県
連絡する:

解決しました!

#23 投稿記事 by 伯羽 »

ちゃんと話してくれるようになりました!
助けて頂いた方々、ありがとうございました。
完成品はこちら
話すだけですが。。。
返信する