[表示 : 全て 最新50 1-99 101- 201- 2chのread.cgiへ]
Update time : 06/03 14:56 / Filesize : 85 KB / Number-of Response : 296
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

VBプログラマ質問スレ(6.0以前) Part52



1 名前:デフォルトの名無しさん mailto:sage [2007/05/19(土) 17:33:37 ]
ここは Visual Basic 〜6.0 の質問スレです。
質問者は使用しているOS、VBのバージョン、サービスパックのバージョン、
「何がしたくて、どうしたけど、どう困っているのか」を明確に書きましょう。

VB.NETは別物なので専門スレで、VBA、APIの質問もそれぞれのスレで。

○ 質問者の心得
 一.質問する前にMSDNやGoogle、過去ログにも目を通してみる。
 二.VBScript、インストーラーなどはこのスレでOK。
 三.質問は第三者にもわかりやすいよう簡潔かつ具体的に。
 四.荒らしは相手しない。

○ 回答者の心得
 一.答えられない質問は無駄に罵倒せずスルー。無理するな。
 二.代用法を強制しない。
 三.回答する上で必須ではない情報をむやみに聞き返さない。
 四.荒らしは相手しない。
 五.VB情報募集中。
 六.回答は質問者が理解できるよう具体的に。

MSDN Online Japan ホーム
 www.microsoft.com/japan/msdn/default.asp
Visual Studio 6.0 Service Pack 6
 msdn.microsoft.com/vstudio/downloads/updates/sp/vs6/sp6/default.aspx
Google
 www.google.co.jp/

※「まず自分で調べる」クセを身につけよう。

41 名前:デフォルトの名無しさん mailto:sage [2007/05/24(木) 16:59:54 ]
自在にON/OFFはできませんよ

42 名前:yo1 [2007/05/24(木) 17:19:47 ]
>>41
そうですか残念です。
ありがとうございました。

43 名前:デフォルトの名無しさん [2007/05/24(木) 18:33:15 ]
810から805を
810-805と表記してある文があります。

810-805を
810.809.808.807.806.805に分けるには
どのような構文が考えられますか?

44 名前:デフォルトの名無しさん [2007/05/24(木) 18:47:06 ]
続けてすみません

先ほどの追加になるのですが
部屋番号が815.812.810-805.801のように入力されていた場合
部屋の数を数える方法があれば教えてください。

45 名前:デフォルトの名無しさん mailto:sage [2007/05/24(木) 19:35:06 ]
エレベーターで8階に上がって一部屋づつ数えればいいと思うよ

46 名前:デフォルトの名無しさん mailto:sage [2007/05/24(木) 19:55:26 ]
>>44
815.812.810-805.801
これで部屋数いくつなの?












っていうのが頭でわかればそれをプログラムにするだけだと思うヨ

47 名前:デフォルトの名無しさん [2007/05/24(木) 20:01:50 ]
>>43
色々方法はあるし、どういう感じなのかは分からないけど、
815.812.810-805.801がText1に入ってるとするね。

Dim str As String
Dim s() As String
str=Text1.Text
s=split(str,".")

これで配列Sには(815)(812)(810-805)(801)が入る。
それで配列を一つずつ"-"が入ってないかを調べて、入っていたら、
"-"で文を分解して…あとは考えて。
これが分からないと…VBはまだ早いのでは?

48 名前:デフォルトの名無しさん mailto:sage [2007/05/24(木) 22:26:41 ]
>>37
おまえツンデレさんだろ?w

49 名前:デフォルトの名無しさん mailto:sage [2007/05/24(木) 22:29:07 ]
810-805
これは同じ階だけだと仮定すっと
810-805 +1
だわなぁ・・・

しかしなんという素人作成部屋管理システム・・・



50 名前:43 [2007/05/24(木) 22:57:12 ]
ありがとうございました

51 名前:37 mailto:sage [2007/05/25(金) 00:57:02 ]
>>48
何よ、簡単に見つかるじゃない
もっとちゃんと調べなさいよ

ありがとうって、な…なによっ
あんたのためなんかじゃないんだからね!


52 名前:デフォルトの名無しさん [2007/05/25(金) 18:49:42 ]
エクセルの項目をVBに取り込みたいのですが
参考程度になるHPはありますでしょうか?

53 名前:デフォルトの名無しさん [2007/05/25(金) 18:58:21 ]
ググれば相当見つかる


54 名前:デフォルトの名無しさん mailto:sage [2007/05/26(土) 09:29:55 ]
エクセルがインストールされていない環境でも使えるようにするのは面倒だがね

55 名前:デフォルトの名無しさん mailto:sage [2007/05/26(土) 11:59:06 ]
>>54
俺その方法知らないんで良かったら・・・・

56 名前:デフォルトの名無しさん mailto:sage [2007/05/26(土) 13:30:20 ]
Excelを買ってもらえるよう説得する
これが面倒

57 名前:デフォルトの名無しさん [2007/05/26(土) 22:43:59 ]
DTPickerを二つ使って入力した日付の大小を比較したいのですが、
VBで日付の大小を比較するにはどうすればよいのでしょうか?
If DateValue(DTPicker(0).Value) > DateValue(DTPicker(1).Value) Then
のように比較しても値が上手く判定できません。
よろしくお願いします。


58 名前:デフォルトの名無しさん mailto:sage [2007/05/26(土) 23:20:08 ]
いったん1970年からの秒数に直して比較。
ただし2038年を過ぎるとバグる。

59 名前:デフォルトの名無しさん mailto:sage [2007/05/26(土) 23:28:08 ]
タイムシリアル化、といいたいんだろうけど
そんな小細工しなくても、ベタにやったって大した労力でもないだろう。

年、月、日(必要ならさらに時間、分、秒)と順に比較するだけじゃないか。



60 名前:デフォルトの名無しさん mailto:sage [2007/05/27(日) 01:29:13 ]
今現在日本はクリックで世界と戦っています。
日本は現在1位ですが、2位のハンガリーに詰められています。
どうやらハンガリーにはとてつもない、日本の技術の先を行くツールがあるのかもしれない。
 
そこで日本も新兵器を作ろうと思っています。
それには、皆さんの力が必要不可欠です。期限は2日、今月の30日にゲームは終了します。
 
皆さん、お願いします。
 
【日本VSハンガリー】一番クリックした国が優勝click80【超接戦】
wwwww.2ch.net/test/read.cgi/news4vip/1180180150/

ひたすらクリック
www.clickclickclick.com/default.asp

まとめサイト
www33.atwiki.jp/clickvip/


61 名前:デフォルトの名無しさん mailto:sage [2007/05/27(日) 01:39:52 ]
コピペ君って馬鹿だな、まで読んだ。

62 名前:デフォルトの名無しさん mailto:sage [2007/05/27(日) 10:29:29 ]
>>57
format$(Time1, "yyyymmddhhnnss")>format$(Time2, "yyyymmddhhnnss")

63 名前:デフォルトの名無しさん [2007/05/28(月) 10:58:21 ]
ファイル名の取得に関する質問です

strFileName = Left$(tOpenFileName.lpstrFile, InStr(tOpenFileName.lpstrFile, vbNullChar) - 1)

これでファイルの全体の名前は取得できますが、
ファイル名のみを取得する場合はどうしたらよいででしょうか?

64 名前:デフォルトの名無しさん [2007/05/28(月) 11:41:44 ]
素直にFilesystemObjectつかったほうがらくだと思うぞ?

ファイル名を取りたいなら一番右にあるパス区切り文字から右の文字取ればいいだけだろ

VB6ならInStrのリバースつかって最初にパス区切り文字が見付けられるし

65 名前:デフォルトの名無しさん mailto:sage [2007/05/28(月) 16:24:21 ]
コントロール配列の要素への参照をWithEventsに格納できない不具合に今更はまった
ドキュメントに記載されない糞仕様が他にもどれだけある事やら

66 名前:デフォルトの名無しさん [2007/05/30(水) 07:17:35 ]
capicomっていう暗号化のdllについて質問です。
VBSで使おうと思っています。
暗号方式AES128bitを指定して、パスワードを指定することができる
ことは確認しました。
ブロックモードをCBCにしてIVを指定したいのですが、マニュアルにそれらしき
プロパティが見つかりません。
設定方法ご存知でしたら教えてください。

67 名前:デフォルトの名無しさん [2007/05/30(水) 18:43:59 ]
ExcelのデータをFlexGridに読込みたいのですが、
Excelのデータは毎回変わり、何件あるのかは不定です。

Excelのデータの数に合わせて、グリッドの数も増やしたいのですが、

一度Excelのデータを全て読込み→
データの数を数える→
グリッドの数を調整する→
データを読込み→
Excelからグリッドへデータ入力
といった形しかないのでしょうか?

できれば
Excelのデータを1件読み→
グリッドを1件増やしデータ入力→
繰り返し
といった形にしたいのですが不可能でしょうか?

68 名前:デフォルトの名無しさん [2007/05/30(水) 19:08:03 ]
>>67
後者では行列を変更する回数が増えるのでパフォーマンスが悪くなると思う

前者の方法で大方いいと思うけど

×
一度Excelのデータを全て読込み→
データの数を数える→
グリッドの数を調整する→
データを読込み→
Excelからグリッドへデータ入力


一度Excelのデータを全て読込み、変数や、配列・コレクションに保持→
データの数を数える→
グリッドの数を調整する→
保持したデータからグリッドへデータ入力

これではダメかな?

69 名前:デフォルトの名無しさん [2007/05/30(水) 23:05:19 ]
>>65
クラスが書けない糞プログラマー乙。



70 名前:デフォルトの名無しさん [2007/05/31(木) 00:21:00 ]
VB6 SP6のMSフレキシブルグリッドで、ドラッグアンドドロップで
セルの内容を移動させたいのですが、実現方法がわかりません。
どうすればよいか、ご教授お願い致します。

71 名前:デフォルトの名無しさん [2007/05/31(木) 00:31:46 ]
>>69
循環参照になるのが気持ち悪いけど
デコレータクラスにコントロールの参照を持たせたて
フォームから冗長なコードを省きたかったんだが

ユーザーコントロールで似たような事ができるけど異なるプロジェクト間でのカット&ペーストに無駄手間がかかるから避けたい

72 名前:デフォルトの名無しさん mailto:sage [2007/05/31(木) 06:58:05 ]
VB5.0でサーバーが複数のクライアントから接続要求された時新たなWinsockを生成する方法がわかりません
1.管理テーブルから未接続の場所を探す
2.→未接続の場所をiに設定
Load Winsock2(i)
Winsock2(i).Accept rewuestID
3.管理テーブルの接続の場所にtrueを入れる

1 2 3 教えてください

73 名前:デフォルトの名無しさん mailto:sage [2007/05/31(木) 07:12:42 ]
>>72
とりあえずwinsockコントロールのバグな
support.microsoft.com/kb/171843/ja

で、質問(?)の方だけど
教えるも何も自分で納得してる日本語だと思うんだが、何か疑問に思うところがあるのか?

74 名前:デフォルトの名無しさん mailto:sage [2007/05/31(木) 07:17:57 ]
>>73
すいません1.2.3.の言葉をどうプログラムにすればいいかわからないんです

75 名前:デフォルトの名無しさん [2007/05/31(木) 08:59:42 ]
>>68
ありがとうございます

76 名前:デフォルトの名無しさん mailto:sage [2007/05/31(木) 09:34:51 ]
>>73
こんなバグあったんかー!!
どおりで・・・。orz

77 名前:デフォルトの名無しさん [2007/05/31(木) 11:01:39 ]
>>74
全部じゃねーかwwwwww
ところで それを管理テーブル抜きにして固定の2つ,3つほどのクライアントとのやり取りで実装は出来るの?
まずはそこから攻めていかなきゃいけないと思うんだけど


78 名前:nobodyさん [2007/06/01(金) 13:12:26 ]
久しぶりにVBでプログラムを組んでるのですが
DATAGridに標準でソート機能ってありませんでしたっけ?
HSHFLEXでしたっけ?
みなさんどうやってソート機能つけてます?
ご存知のかたいたらご教授願います。

79 名前:デフォルトの名無しさん mailto:sage [2007/06/01(金) 14:20:34 ]
ソートはな無いんじゃね?
連結元のrecordsetでソートしてやりゃおk



80 名前:nobodyさん [2007/06/01(金) 15:58:06 ]
昇降ボタン(Command)をつけてそこから、、DataGridいじるしかないですかね。
要するに、各列ごとにデータをソートしたいだけなんです。
webでいうとヤフーオークションみたいなイメージ。

81 名前:デフォルトの名無しさん [2007/06/01(金) 16:29:13 ]
ヘタにVBでソートするよりDBから指定されたカラムでソートしなおしたものをRSに取り込むのが早そうだな・・・
いや、ケースバイケースだけど 大量のデータならその方が早そうなきがする

と横槍

82 名前:nobodyさん [2007/06/01(金) 18:09:16 ]
結局▲▼のコマンドボタンつけてDBからソートしてもってきて
GRID表示させました。
どうもありがとん!

83 名前:デフォルトの名無しさん [2007/06/02(土) 16:29:35 ]
6.0にてマルチディスプレイ環境の
片方のディスプレイを使用不可にしたい
(画面のプロパティ→設定→windowsデスクトップをこのモニタ上で移動できるようにする(チェックをはずす)の操作)
のですが、可能でしょうか?

84 名前:デフォルトの名無しさん mailto:sage [2007/06/03(日) 11:51:56 ]
APIでそんなのあったっけ?
APIにあればいけるさ

85 名前:デフォルトの名無しさん mailto:sage [2007/06/04(月) 21:54:06 ]
ちょっと調べ物があって、古い参考書開いたら、
ランダムファイル処理のサンプル画面で、
「ZARD 永遠 5:13」
って出てきた。
歌手・曲名・演奏時間を1レコードとして扱う例だった。


少しせつなくなった。

86 名前:デフォルトの名無しさん mailto:sage [2007/06/04(月) 22:21:21 ]
visual basic 6.0でリストボックスに表示されている数値をクリックして選択したものだけの最大値を調べるプログラムを作りたいのですが全く方法がわかりません。
誰か教えて下さい。

87 名前:デフォルトの名無しさん mailto:sage [2007/06/04(月) 22:37:35 ]
>>86
リストボックスの1つだけを選択してその値をとることができるようにしてみよう
まずはそれからだ

88 名前:86 mailto:sage [2007/06/04(月) 22:51:21 ]
Private Sub List1_Click()
Dim i As Double
  List2.Clear
For i = 0 To List1.ListCount - 1
If List1.Selected(i) = True Then
List2.AddItem List1.List(i)
End If
Next i
End Sub
こんな感じでList2に加えていく事はできるんですけど、何か別の配列みたいなのに格納していきたいのですが…

89 名前:デフォルトの名無しさん mailto:sage [2007/06/04(月) 22:54:24 ]
86に便乗する形で質問したいのですがよろしいでしょうか?

86と似たようなプログラムを作っているのですが、listboxの要素を関数に渡す方法がわかりません。
選択した物を合計する等は作れたのですが、これを関数を用いて作れとお達しを受けまして。

とりあえずAverage(1,2,3)で2が出てくるような関数は作れたのですが、どうすればlistboxの中の不定数の要素を関数に引き渡すのかがわかりません。
このような質問の仕方で伝わるものかとも思いますが、先輩方の御知恵を拝借したく…

どうぞよろしくおねがいします。




90 名前:86 mailto:sage [2007/06/04(月) 22:57:04 ]
>>89
ああ私もそんな感じの物が作りたいんです。要素数が不定だからできないんですよね。

91 名前:89 mailto:sage [2007/06/04(月) 23:01:03 ]
>>90
配列変数を宣言してlistboxの値をloopで回して格納していって、それを直接関数に渡せばいけるんじゃ?
とかも考えましたがうまく動かず。

それ以前に配列に要素を足す方法すら合ってるのかが謎で。

私ごときにはお手上げです。





92 名前:86 mailto:sage [2007/06/04(月) 23:44:43 ]
>>91

> 配列変数を宣言してlistboxの値をloopで回して格納していって、それを直接関数に渡せばいけるんじゃ?
> とかも考えましたがうまく動かず。

ちなみにそれはどんな文ですか?


93 名前:デフォルトの名無しさん [2007/06/05(火) 00:33:11 ]


94 名前:デフォルトの名無しさん [2007/06/05(火) 01:02:26 ]
VB6はあまり配列が上手でないというか、使いやすいものではないと聞いたけど…。

選択した数値を文字列に変換して、カンマで区切って、最後にSplit関数で
配列にして、その関数に配列を渡して計算させるとか?


95 名前:デフォルトの名無しさん [2007/06/05(火) 01:15:20 ]
Collectionを使えばいいと思うけど…。
リストボックスの中は数値で、選択したものを配列(コレクション)に入れて
例えば、合計とかさせればいいんでしょ?

96 名前:デフォルトの名無しさん mailto:sage [2007/06/05(火) 01:26:21 ]
94と95は、どっちが86、89なんだ?

97 名前:86 [2007/06/05(火) 06:16:22 ]
どっちも私ではありません

98 名前:86 mailto:sage [2007/06/05(火) 06:46:27 ]
というか6.0ではCollectionどうやってつかうのかいまいち分からないんですけど

99 名前:デフォルトの名無しさん [2007/06/05(火) 08:48:32 ]
>>88
動的配列変数を宣言して、
ループの直前かもしくは中でReDim使って要素数足してけばおk



100 名前:デフォルトの名無しさん [2007/06/05(火) 09:38:09 ]
リストの選択要素の合計を求めるのだったらこんな感じかな?
横槍だけど。

Private Sub Command2_Click()
Dim a As Integer 
Dim b() As Integer '配列
Dim c As Integer  '要素数
Dim sum As Integer 

For a = 0 To List1.ListCount - 1
 If List1.Selected(a) = True Then

 ReDim Preserve b(c)
 b(c) = List1.List(a)
 c = c + 1
 End If
Next
sum = SumCalc(b) ’配列を渡して要素数の合計を返す
End Sub

Private Function SumCalc(ByRef b() As Integer) As Integer
Dim f As Integer
Dim sum As Integer

For f = 0 To UBound(b)
 sum = sum + b(f)
Next

SumCalc = sum
End Function

101 名前:デフォルトの名無しさん [2007/06/05(火) 09:55:08 ]
グリッドについての質問です。

グリッドのセルをクリックした時にその行がすべて選択状態(色が変わる状態)に
するにはどうしたらよいでしょうか?

102 名前:デフォルトの名無しさん mailto:sage [2007/06/05(火) 10:27:33 ]
グリッドにも色々種類がある訳だが。

103 名前:デフォルトの名無しさん [2007/06/05(火) 11:15:49 ]
>>101
エスパーレス
クリックしたRowの位置がわかるからFor文で

104 名前:86 [2007/06/05(火) 18:05:23 ]
>>100
ありがとうございました。何とかできそうなので参考にさせてもらいます。

105 名前:デフォルトの名無しさん mailto:sage [2007/06/06(水) 00:20:09 ]
6.0でコマンドボタンをクリックした時に、任意のキーを押す動作をさせることはできますか?
コマンドボタンをクリックしたらESCキーが押されて、それによってESCキーのキープレスイベントが起きてくれるような動作をさせたいのですが。


106 名前:デフォルトの名無しさん mailto:sage [2007/06/06(水) 00:25:17 ]
キーを送ればいいしイベントを呼んでもいいんじゃない?

107 名前:105 mailto:sage [2007/06/06(水) 00:33:33 ]
『キーを送る』が、まずよくわからず
コマンドボタンを押した時にkeyAsciiに任意の値を入れて、
それを何に渡せばいいのかがわからなかったのです。

あと、仮にESCキープレスの下に動作をを書いてあったとして
それをどう呼び出すのかもわかりません。

最近VB始めたもので何をどうすればいいのか。
コンピュータに日本語通じて欲しいです・・・

108 名前:デフォルトの名無しさん mailto:sage [2007/06/06(水) 00:39:49 ]
そのままなんだがな
キーを送る SendKeys
イベントを呼び出す Call Hoge_KeyPress(

109 名前:デフォルトの名無しさん mailto:sage [2007/06/06(水) 01:15:30 ]
>>108
頭固いな
自分自身にキー送る必要なんて、そもそもないだろ
キーダウンのイベントハンドラを呼びだせばいいじゃんw



110 名前:デフォルトの名無しさん mailto:sage [2007/06/06(水) 01:21:50 ]
>>109
何で俺に言うんだよ
質問に答えただけだろ

111 名前:デフォルトの名無しさん mailto:sage [2007/06/06(水) 01:37:21 ]
>>109
なにそのオナニー
そもそも、イベントが発生される以外で”呼び出される”のはイベントハンドラって言わないんじゃないの?
もっと別の言い方があるでしょ

で、元質問者にヒント
「コマンドボタンを押したら、コマンドボタンにフォーカスが移る」のを忘れないように。

112 名前:デフォルトの名無しさん [2007/06/06(水) 01:53:45 ]
>>111
別の言い方について詳しく

113 名前:デフォルトの名無しさん [2007/06/06(水) 10:08:38 ]
ハンドラじゃねぇってことだろw

114 名前:デフォルトの名無しさん [2007/06/06(水) 10:25:03 ]
ちょいとどこに質問したらいいかわからなくって聞きたいことがあるんですが、エクセルで画像を挿入したときにあらかじめ挿入する画像の原稿サイズで表示するんじゃなくてこっちで設定したサイズにして挿入する方法はありますか?
教えてください。すごくお願いします。

115 名前:デフォルトの名無しさん mailto:sage [2007/06/06(水) 10:36:27 ]
断る

116 名前:デフォルトの名無しさん [2007/06/06(水) 10:38:02 ]
>>114
モーグってサイト見ろ

117 名前:デフォルトの名無しさん [2007/06/06(水) 12:12:19 ]
>>116さん

いい情報をありがとうございました。

>>115は亀梨和也とアナルセックスをして死ねばいいのさ。

118 名前:デフォルトの名無しさん [2007/06/06(水) 12:49:58 ]
>>117
むしろお前がシネヨ?カス
せめてググってからこい 無能者が


119 名前:デフォルトの名無しさん [2007/06/06(水) 13:04:53 ]
>>118

m9(^Д^)カッコワルwwwww



120 名前:デフォルトの名無しさん [2007/06/06(水) 13:12:31 ]
Private Sub MSFlexGrid1_Click()
MSFlexGrid1.SelectionMode = flexSelectionByRow
End Sub

これでどこのセルをクリックしても行全体が反転されるはずなのですが
一番最初の行が反転されません。
一番最初の行も反転させるためにはどうしたらよいでしょうか?

121 名前:デフォルトの名無しさん [2007/06/06(水) 13:56:34 ]
一番最初がヘッダーの事だったら死なす

122 名前:デフォルトの名無しさん mailto:sage [2007/06/06(水) 14:13:28 ]
エスパーレス

(´・ω・`)つ【FocusRect】

123 名前:デフォルトの名無しさん [2007/06/06(水) 14:28:13 ]
>>122
ありがとうございます

.FocusRect = flexFocusNone
を追加すると

クリックしたときには綺麗に一行反転するのですが
クリックしていない状態でも
左上のセルが一つ反転してしまいます。

初期状態で反転させない方法はありますか?

124 名前:デフォルトの名無しさん mailto:sage [2007/06/06(水) 14:42:29 ]
>>123
その様子だと次々と出てきそうだから先に言っておくけど
MSFlexGridのプロパティと動作ぐらいは自分でテストしな

なぜ初期状態で反転してるか考えれば答えが出るでしょ

125 名前:デフォルトの名無しさん [2007/06/06(水) 21:01:53 ]
VB6.0で暗算を行なうシステムを作りたいんですが
全く初心者なため勝手が全然分からなくて、ネットで
調べてもそれらしきものが見当たりませんでした・・・
例えば、一つ計算式がでてきたら自分でその答えを入力し
正誤に関らず次の式が表示されまた答えを入力する・・・
というのを繰り返すようなものを作りたいのですが
もし可能ならばヒントでも頂けると助かります
よろしくお願いします

126 名前:デフォルトの名無しさん mailto:sage [2007/06/06(水) 21:14:18 ]
>>125
その与えられる数式を解析すれば行けるだろうけど
どのレベルまでを求めるかによると思うけどなぁ…・
単純な四則演算レベルならまぁ…・ 小数点とかはいると少し難しいんじゃないかな?

とりあえずどんな数式が出てきて どんな動きすればいいかを
自分の求めるレベルでサンプルを書き込んでみては?

いっちゃん簡単なので行けば
******
●+1=5
という数式があり ●には数字が入る
最終てきに
●=4という答えがほしい
*****
こんな感じで

127 名前:デフォルトの名無しさん mailto:sage [2007/06/07(木) 00:48:57 ]
>>125
時間がある人なら、とりあえずテキストエディタとか作ってみるといいんじゃない?
システムの設計の方法とか方針とか少しは見えてくると思うよ

逆に設計についてサッパリな状況なら何も作れないってことが分かるだろうし

128 名前:デフォルトの名無しさん [2007/06/07(木) 06:22:20 ]
Rnd関数か何かを使って任意の計算式を創出できるようにしたらいいかも。
VBの達人なら、この程度のプログラミングなど簡単すぎて興味も湧かないでしょうが、
いかに、短くてエレガントなコードを書くかには興味を持つかも知れん。

129 名前:デフォルトの名無しさん [2007/06/07(木) 09:47:53 ]
>>128
確かにアルゴリズムは考えるのが楽しい
が・・・・ある程度いったら飽きるんだよorz



130 名前:デフォルトの名無しさん [2007/06/07(木) 10:14:13 ]
ESCキーで終了させるにはどうしたらよいですか?

131 名前:デフォルトの名無しさん mailto:sage [2007/06/07(木) 10:15:39 ]
ほんの一瞬、「VBで暗算を行う」の意味がわからんかったわ。

132 名前:デフォルトの名無しさん mailto:sage [2007/06/07(木) 10:35:32 ]
>>130

よく知らんが
フォームにでもKey Pressのせて
if key asciiがEsc
End 'Unload me
end if

じゃだめですか

133 名前:デフォルトの名無しさん mailto:sage [2007/06/07(木) 10:51:55 ]
>>125
式作成部分だけ造ったが、こんな感じか?

134 名前:デフォルトの名無しさん mailto:sage [2007/06/07(木) 10:53:09 ]
張リ 忘レタ ヨー
ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/joyful.cgi?mode=thr&no=3606

135 名前:デフォルトの名無しさん [2007/06/07(木) 12:02:30 ]
>>133
おまっ・・・・Cかよwwww
式は自動作成なのかな?

俺が予想してるのはこんな流れ

前提:式のリストがある(いわゆる算数の穴埋め問題集的な)
X+2=5 Xを求めよ みたいな

流れ
1.式のリストから式を取得(あとはユーザが選択したりとか)

2.その式を分析して解を求めるような値を算出(方程式解くような感じで)
  (例だと:X=5-2 X=3)

1に戻る

136 名前:デフォルトの名無しさん [2007/06/07(木) 19:42:07 ]
>>135
予め式のリストが用意されてるんなら、
リストインデックスから解を出力すりゃいいだけじゃね?
解も配列で内部的に持っとけばいいだけだし。

137 名前:デフォルトの名無しさん [2007/06/07(木) 22:04:08 ]
>>135
>125を見た感じ、延々と繰り返すってことは、
有限な感じがするその前提は使えないんじゃね?


つか、式を自動生成する時ついでに、
内部的に解を求めとけばいい気がする。
暗算すんのはユーザなんだろ?
システム的にはただ淡々と計算してけばいいだけ。

悩む点は特に無さげ。

138 名前:125 [2007/06/08(金) 00:01:50 ]
遅くなってすいません
134をコピーしてみたんですが、エラーが出まくって上手くいきません
多分フォーム内に全部直接貼り付けただけで、変数を宣言する場所とか
が自分でよく分かってないからだと思いますが・・・
全く素人すぎてすいません・・・

139 名前:デフォルトの名無しさん mailto:sage [2007/06/08(金) 00:17:32 ]
>>138
Cでもいいわけか?
VBじゃなくって?

あのソースはVBではないぞ・・・・・



140 名前:125 [2007/06/08(金) 00:23:13 ]
>>139
そうなんですか?
自分はVB作りたいです
今日乱数を発生させてどうのこうのとかやってたけど
全く上手くいきませんでした・・・

141 名前:デフォルトの名無しさん [2007/06/08(金) 00:28:25 ]
Cを全く知らない俺が変換してみたw
Private Function fmotome(n As Integer) As Integer
Dim Res As Integer
Select Case n
Case 0
Res = 0
Case 1
Res = 1
Case Else
Res = fmotome(n - 1) + fmotome(n - 2)
End Select
fmotome = Res
End Function

Private Sub Form_Load()
Dim Temp As String
Temp = InputBox("Nの値を( ゚д゚)クレ", "数値入力")
If IsNumeric(Temp) = False Then
MsgBox "数値入れろ", "カス"
Unload Me
End If
Dim Res As Integer
Res = fmotome(CInt(Temp))
MsgBox "Fnの値は'" & CStr(Res) & "'"
End Sub

もすこしやりたいことを具体的におしえてはくれんか?
乱数を発生させるのは簡単だがそれを使ってどうするのか とかさ






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧](*・∀・)<85KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef