VBプログラマ質問スレ(6.0以前) Part47
レス数が1000を超えています。これ以上書き込みはできません。
0001デフォルトの名無しさん
2006/03/03(金) 02:30:12質問者は使用しているOS、VBのバージョン、サービスパックのバージョン、
「何がしたくて、どうしたけど、どう困っているのか」を明確に書きましょう。
VB.NETは別物なので専門スレで、VBS、APIの質問もそれぞれのスレで。
VBAは、Officeアプリの操作以外ならばこのスレで質問しても大丈夫です。
○ 質問者の心得
一.質問する前に過去ログにも目を通してみる。
二.質問する前に MSDN などで調べてみる。
三.VBScript はこのスレでOK。
四.インストーラーなどの質問もOK。
五.荒らしは相手しない。
六.VB.NETの話題はできるだけひかえる。
七.質問は第三者にもわかりやすいよう簡潔かつ具体的に。
○ 回答者の心得
一.答えられない質問は無駄に罵倒せずスルー。
二.代用法を強制しない。
三.回答する上で必須ではない情報をむやみに聞き返さない。
四.荒らしは相手しない。
五.VB情報募集中。
六.VB.NETの話題はできるだけひかえる。
七.回答は質問者が理解できるよう具体的に。
MSDN Online Japan ホーム
http://www.microsoft.com/japan/msdn/default.asp
Visual Studio 6.0 Service Pack 6 正式リリース
http://msdn.microsoft.com/vstudio/downloads/updates/sp/vs6/sp6/default.aspx
http://www.google.co.jp/
※「まず自分で調べる」クセを身につけよう。
0002デフォルトの名無しさん
2006/03/03(金) 02:41:48Part 1 http://piza2.2ch.net/tech/kako/968/968328471.html
Part 2 http://piza2.2ch.net/tech/kako/990/990793224.html
Part 3 http://piza2.2ch.net/tech/kako/1000/10005/1000523122.html
Part 4 http://pc.2ch.net/tech/kako/1006/10069/1006922992.html
Part 5 http://pc.2ch.net/tech/kako/1010/10106/1010624646.html
Part 6 http://pc.2ch.net/tech/kako/1013/10138/1013844542.html
Part 7 http://pc.2ch.net/tech/kako/1015/10158/1015836357.html
Part 8 http://pc.2ch.net/tech/kako/1018/10187/1018794901.html
Part 9 http://pc.2ch.net/tech/kako/1020/10208/1020830472.html
Part10 http://pc.2ch.net/tech/kako/1022/10221/1022127528.html
Part11 http://pc.2ch.net/tech/kako/1024/10243/1024380249.html
Part12 http://pc3.2ch.net/tech/kako/1026/10266/1026642565.html
Part13 http://pc3.2ch.net/tech/kako/1029/10292/1029241786.html
Part14 http://pc3.2ch.net/tech/kako/1030/10309/1030947162.html
0003デフォルトの名無しさん
2006/03/03(金) 02:42:26Part16 http://pc3.2ch.net/tech/kako/1034/10343/1034302532.html
Part17 http://pc3.2ch.net/tech/kako/1036/10361/1036154952.html
Part18 http://pc3.2ch.net/tech/kako/1038/10381/1038103769.html
Part19 http://pc3.2ch.net/tech/kako/1039/10398/1039859691.html
Part20 http://pc5.2ch.net/tech/kako/1041/10418/1041879465.html
Part21 http://pc5.2ch.net/tech/kako/1044/10440/1044028945.html
Part22 http://pc5.2ch.net/tech/kako/1046/10463/1046354784.html
Part23 http://pc5.2ch.net/tech/kako/1047/10477/1047743187.html
Part24 http://pc5.2ch.net/tech/kako/1050/10501/1050151126.html
Part25 http://pc5.2ch.net/tech/kako/1052/10526/1052627913.html
Part26 http://pc5.2ch.net/tech/kako/1055/10551/1055145106.html
Part27 http://pc5.2ch.net/tech/kako/1058/10586/1058674927.html
Part28 http://pc5.2ch.net/tech/kako/1061/10612/1061296197.html
Part29 http://pc5.2ch.net/tech/kako/1065/10654/1065446334.html
0004デフォルトの名無しさん
2006/03/03(金) 02:43:11Part31 http://pc5.2ch.net/test/read.cgi/tech/1073732636/
Part32 http://pc5.2ch.net/test/read.cgi/tech/1077216109/
Part33 http://pc5.2ch.net/test/read.cgi/tech/1080606445/
Part34 http://pc5.2ch.net/test/read.cgi/tech/1084544243/
Part35 http://pc5.2ch.net/test/read.cgi/tech/1087519251/
Part36 http://pc5.2ch.net/test/read.cgi/tech/1092906058/
Part37 http://pc5.2ch.net/test/read.cgi/tech/1090286450/
Part38 http://pc5.2ch.net/test/read.cgi/tech/1095673000/
Part39 http://pc5.2ch.net/test/read.cgi/tech/1099737063/
Part40 http://pc5.2ch.net/test/read.cgi/tech/1106748775/
Part41 http://pc8.2ch.net/test/read.cgi/tech/1112414085/
Part42 http://pc8.2ch.net/test/read.cgi/tech/1116924129/
Part43 http://pc8.2ch.net/test/read.cgi/tech/1123952677/
Part44 http://pc8.2ch.net/test/read.cgi/tech/1130231657/
0005デフォルトの名無しさん
2006/03/03(金) 02:43:41Part46 http://pc8.2ch.net/test/read.cgi/tech/1138975113/
0006デフォルトの名無しさん
2006/03/03(金) 07:41:100007デフォルトの名無しさん
2006/03/04(土) 01:19:580008デフォルトの名無しさん
2006/03/04(土) 01:44:420009デフォルトの名無しさん
2006/03/04(土) 15:34:410010デフォルトの名無しさん
2006/03/04(土) 15:42:01キツマンだと一擦りで逝ってしまうぞ。
0011デフォルトの名無しさん
2006/03/05(日) 18:03:05コマンドボタンを押したように(クリックしたように)
アニメーションさせる方法ってありますか?
0012デフォルトの名無しさん
2006/03/05(日) 18:08:050013デフォルトの名無しさん
2006/03/05(日) 18:20:50Command1.SetFocus
SendKeys " ", True
0014デフォルトの名無しさん
2006/03/06(月) 18:19:04XPSP2にVB6のServicePack6を入れたいんですが
エラーが出て入れられません。
setupsp6.exeを叩くと
「C:\windows\system32\autoexec.ntファイルシステムは
MS-DOS及びMicrosoftWindowsアプリケーションを実行するのに
適していません。アプリケーションを終了するには[閉じる]を
選んでください。」
って出て、「閉じる」と「無視」が有るのですが、
無視を選んでも何も起きません。
WindowのCaptionには「16ビットWindowsサブシステム」と出ています。
原因と対処法を教えて頂けないでしょうか?
0015デフォルトの名無しさん
2006/03/06(月) 18:48:19可能性1:入手したSP6のパッケージが壊れている
対処方法;もう一度ダウンロードしなおす
可能性2:XPのシステムファイルが壊れている
対処方法:つ http://support.microsoft.com/default.aspx?scid=kb;ja;324767
0016デフォルトの名無しさん
2006/03/06(月) 19:14:05VB6はXP上では正しく動作しません。
0017デフォルトの名無しさん
2006/03/06(月) 19:22:02可能性1に関しては3回くらいダウンロードしなおしたので大丈夫かと思っています。
可能性2に関してですが、
http://support.microsoft.com/default.aspx?scid=kb;ja;314452
をやってみた所「NTVDM CPUは不正命令を検出しました。」
と言うエラーが出てきました。
これから可能性2に載せて頂いた対処法をやってみます。
>>16
マジッスカ(;´Д`)
001817
2006/03/06(月) 19:23:08sage忘れました・・・
0020デフォルトの名無しさん
2006/03/07(火) 03:31:20ttp://www.itmedia.co.jp/enterprise/articles/0603/06/news039.html
0021デフォルトの名無しさん
2006/03/07(火) 17:40:52IDEのバッファオーバーフローなんてどうでもいい
0022デフォルトの名無しさん
2006/03/07(火) 18:10:29確かに。
見つけた奴は何がしたいんだ?
0023デフォルトの名無しさん
2006/03/08(水) 15:36:42もはやローカルアプリだからセキュリティは不要なんて言い訳は通用しない。
0024デフォルトの名無しさん
2006/03/08(水) 15:41:350025デフォルトの名無しさん
2006/03/08(水) 20:54:210026デフォルトの名無しさん
2006/03/08(水) 21:09:05そういう文体、何て言うんだっけ?
反語?
0027デフォルトの名無しさん
2006/03/08(水) 23:14:57古典のテストだと、翻訳時に「いや無い」を付けないと誤答に
されやすいんだよね。「俺は反語を知っているぞ」というアピールのために
ちゃんと書いておかないと。
0028デフォルトの名無しさん
2006/03/09(木) 00:16:58ちぃ覚えた。
0029デフォルトの名無しさん
2006/03/09(木) 15:44:27timerのintervalは65000(1分少々)程度ですが、1〜120分程度
のtimerをすることはできませんか?
ちなみに、do loopで時間みといて、イベント発生させるとCPU負荷
が上がってしまいます。あまり、負荷を掛けない方法をお願いします。
0030デフォルトの名無しさん
2006/03/09(木) 15:51:131 スタート時間を記憶する
2 タイマーをほどよい頻度でON
3 タイマーイベントで記憶していたスタート時間と今の時間を
比べ指定の時間を超えたらガッテム
0031デフォルトの名無しさん
2006/03/09(木) 15:54:16最初に現在時間から必要な間隔を足した日時を求めて、
その日時に到達するまでタイマーを一定時間おきに発生させる。
その日時に到達したらタイマーを止め目的の処理を行う。
0032デフォルトの名無しさん
2006/03/09(木) 16:04:03Sleep(0) コールすればCPU負荷はないよ。
0033デフォルトの名無しさん
2006/03/09(木) 16:37:49それはタイムスライスをOSに返すだけだから、CPU使用率100%というのは変わらないはず。
0034デフォルトの名無しさん
2006/03/09(木) 16:49:41まあ基本は>>30-31と同じだけど、
1.イベントを起こしたい日時と現在の日時の差を求める。
2.差が65000を超えていたら、65000。それ未満の場合はその時間でIntervalの設定する。
3.イベントハンドラでイベントを起こしたい日時を超えていなければ1に戻る。超えていれば処理実行。
003529
2006/03/09(木) 23:36:48もう少し、timerが長ければなー
こんな用途はいくらでもあると思うのだが・・・
0036デフォルトの名無しさん
2006/03/09(木) 23:43:26カウントを自分でやればいいだけじゃん。
0037デフォルトの名無しさん
2006/03/10(金) 11:49:41タイマー1個で自分でカウントする?
0038デフォルトの名無しさん
2006/03/10(金) 11:50:52二個で二十分にはならないけどな
003929
2006/03/10(金) 14:33:221秒程度の誤差は気にしないので
こんな感じでしょうか?
Sub Command1_Click()
start = Round(Timer, 0)
Timer1.Interval = 1000
End Sub
Sub Timer1_Timer()
If (Round(Timer, 0) - start) >= Val(Text1.Text) Then
'----処理---- Debug.Print "OK"
start = Round(Timer, 0)
End If
End Sub
'-------------------
Global start As Double
0040デフォルトの名無しさん
2006/03/11(土) 13:41:15Sleep
DoEvents
timeGetTime
あたりを使えばかなり正確&低負荷なのつれくない?
timeGetTimeは計算がミリ秒になるから
0041デフォルトの名無しさん
2006/03/11(土) 14:18:11つくってから言え
0042デフォルトの名無しさん
2006/03/11(土) 14:55:22そんなに長時間のカウンタなんて無意味な様な。
0043デフォルトの名無しさん
2006/03/11(土) 16:46:15End sub
すんません。オブジェクトをサブルーチンに値渡ししたとき
受け取ったオブジェクトがForm1かどうか見分けたいのですが
どうすればいいのでしょうか
0044デフォルトの名無しさん
2006/03/11(土) 17:06:44普通にやればいいと思うよ
0045デフォルトの名無しさん
2006/03/11(土) 17:11:49if TypeName(obj) = "Form1" then
>>44
普通って何だ?
0046デフォルトの名無しさん
2006/03/11(土) 17:21:02ありがとうございましたー
0047デフォルトの名無しさん
2006/03/11(土) 22:50:08Form1オブジェクトなのか、
Form1クラスなのかによって
コードは変わるけどな
まあ、オブジェクトと書いてあるからオブジェクトなのだろうが。
あと、TypeNameよりは、えーっとなんだっけ?
Is? オブジェクトを直接比較したり、型を直接比較したほうがいいよ。
最近使ってないからわからん。
0048デフォルトの名無しさん
2006/03/11(土) 23:24:13VBA.Information.IsObject ?
0049デフォルトの名無しさん
2006/03/12(日) 05:35:25ですが、ActiveXのプロジェクト内に標準モジュールを追加して
そのモジュール内でコントロールのオブジェクトを指定すること
ができません。
とりあえずモジュール内でオブジェクトを生成してやれば行けるかな
と思い、モジュール内で
Dim hoge As TextBox
Set hoge = CreateObject("active.txt1")
activeはactiveXコントロール名
txt1はコントロール上のテキストボックス名
とコードを書いても実行すると、
実行時エラー'429';
ActiveXコンポーネントを作成できません。
というエラーがでます。
429についてMSDN等で調べて対処法を試してみたのですが、
解決しませんでした。
何かいい方法ありませんでしょうか?
0050デフォルトの名無しさん
2006/03/12(日) 09:05:05「コントロールのオブジェクトを指定する」てのが、何をしたいのか分からん・・・
しかも何故 CreateObject なのか・・・
0051デフォルトの名無しさん
2006/03/12(日) 12:13:29誰か持ってません?
0052デフォルトの名無しさん
2006/03/12(日) 13:46:06ttp://hyons.hp.infoseek.co.jp/cgi-bin/file.cgi?f=WALL101B.LZH
005349
2006/03/12(日) 22:36:01コントロールのオブジェクトってのは、作成中の自作ActiveXコントロール上に
配置したテキストボックス、コンボボックス等のコントロールの事です。
そのActiveXコントロール上に配置したコントロールが、ActiveXプロジェクト
内に追加した標準モジュールから「ActiveXコントロール.テキストボックス」
の様に指定ができなかったので、CreateObjectでオブジェクトを生成したら
ActiveXコントロール上のコントロールを操作できるかと思ったのでやって
みたのですが、>>49のエラーが出てできませんでした。
0054デフォルトの名無しさん
2006/03/12(日) 22:54:00テキストボックスはユーザーコントロール上に貼ったんでしょ?
UserControl1.txt1
じゃね???????????????
>>「ActiveXコントロール.テキストボックス」
テキストボックスを外部公開しないとこの様な記述は出来ない
って言うかテキストボックスをActiveX越しに呼び出す必要あるの?
0055デフォルトの名無しさん
2006/03/12(日) 22:55:09あのな。CreateObject で指定するのは「アプリケーション名.クラス名」。少なくとも、テキストボックスを
公開しておかなきゃ無理。
0056デフォルトの名無しさん
2006/03/12(日) 23:10:32ぐだぐだ長文なんか書かなくていいから、コピペですぐに
現象が再現する、必要最低最小限のコードを提示しろよ。
005749
2006/03/12(日) 23:36:06>テキストボックスはユーザーコントロール上に貼ったんでしょ?
はいそうです。
>UserControl1.txt1
モジュール上でそう記載すると「変数(UserControl1)が定義されていません」とでます。
>って言うかテキストボックスをActiveX越しに呼び出す必要あるの?
ユーザーコントロール内に関数を作っていってもいいのですが、どうせなら
関数の役割ごとの標準モジュールを作成していったほうがいいかなって
思ったので。
その標準モジュールから、作成中のユーザーコントロールに貼り付けたテキストボックスを、
指定したいんです。
>あのな。CreateObject で指定するのは「アプリケーション名.クラス名」。少なくとも、テキストボックスを
>公開しておかなきゃ無理。
すみません、プロパティやメソッドの公開の仕方はわかるのですが、コントロールの公開の仕方が
よくわかりません、よければ教えていただけないでしょうか?
005849
2006/03/12(日) 23:46:21標準モジュール内のコード:
Public Function Ftp_Connect() As Boolean
Dim nFlag As Long
If Not bActiveSession And hOpen <> 0 Then
If UserControl1.cmb1.Text = "" Then ←この部分でユーザーコントロールのコンボボックスのText値を指定したい
MsgBox "サーバが選択されていません!!"
Exit Function
End If
・
・(途中省略)
・
Ftp_Connect = True
End Function
0059デフォルトの名無しさん
2006/03/13(月) 00:44:40>>if TypeName(obj) = "Form1" then
こんな馬鹿かいるとは
Object型・インタフェースのインスタンス型を調べる時は
If TypeOf obj Is Project1.Form1 Then
だろ普通は...
006049
2006/03/13(月) 09:59:07Dim box As ComboBox
Set box = CreateObject("プロジェクト名.ユーザーコントロール.コントロール")
と指定してやると、
If box.Text = "" Then
の様に指定してやることができました。
レス下さった皆さんありがとうございました。
0061デフォルトの名無しさん
2006/03/13(月) 12:45:43JPEGファイルだけがアップできません。
ルーター辺りも疑ってみたのですが、Nextftpだと普通にアップできるし…。
どなたか同じ症状が出た方はいますか?
006261
2006/03/13(月) 13:10:11無効にしたら普通にアップロードできた。
けど、何でMSINETでJPEGファイルPUTするときだけ、
駄目になるんだろ??
ともかくVBは関係なさそです。
スレ汚しスマソ。
0063デフォルトの名無しさん
2006/03/13(月) 13:11:00>>56
0064デフォルトの名無しさん
2006/03/13(月) 13:57:46Nextftpはパッシブモードで通信してたんじゃないかい?
0065デフォルトの名無しさん
2006/03/13(月) 17:57:170066デフォルトの名無しさん
2006/03/13(月) 19:21:50ニッチ・・・
0067デフォルトの名無しさん
2006/03/13(月) 21:04:34KBD(VK_2, CLICK, 2)
KBD(VK_4, CLICK, 2)
KBD(VK_7, CLICK, 2)
wend
このようなプログラムを実行しようとしたのですが、
2行目の20文字目。Subプロシージャを呼び出すときカッコは使えません。
というエラーがでます。
どうしたらよいでしょうか
0068デフォルトの名無しさん
2006/03/13(月) 21:45:07CommonDialogを使用して、フロッピーディスクからファイルを開き、データを取得した後に
SHFormatDriveでフロッピーをフォーマットしようと思うのですが
フォーマットダイアログの開始ボタンを押すと「他のプログラムで使用している」という旨の
メッセージが出てフォーマットできません。
解決方法などありますでしょうか。
0069デフォルトの名無しさん
2006/03/13(月) 22:14:46Call KBD(VK_2, CLICK, 2)
0070デフォルトの名無しさん
2006/03/13(月) 22:15:31ちゃんとそのファイル閉じてる?
0071デフォルトの名無しさん
2006/03/13(月) 22:20:43http://www.forest.impress.co.jp/article/2005/05/10/unlocker.html
0072デフォルトの名無しさん
2006/03/13(月) 22:23:23ありがとうございます。
しかし次は型が一致しません ’KBD’ とエラーが表示されてしまいました
これはどのように対処したほうがよいでしょうか
よろしくお願いします。
0073デフォルトの名無しさん
2006/03/13(月) 22:26:03>>56
KBD VK_2, CLICK, 2
0074デフォルトの名無しさん
2006/03/13(月) 22:30:59Call KBD(VK_2, CLICK, 2)
Call KBD(VK_4, CLICK, 2)
Call KBD(VK_7, CLICK, 2)
wend
行 2
文字 1
コード 800A000D
0075デフォルトの名無しさん
2006/03/13(月) 22:52:54その質問よく出るよな 過去にも何人も質問してるけど誰もまともに答えて無いよ
・アレはテキストボックスでは無く テキストボックスの様に見える絵
ってのが結果
ttp://vivi.dyndns.org/tech/tech.phtml を読んでみ
わかんなかったら テキストボックス の vbCrLf を "↓" & vbCrLf にするw
0076pp
2006/03/13(月) 22:56:13当方PPTのデータをADOBEのソフトにコピペをするバッチ処理のツールを
作ろうと思っているのですがいつも15〜16ページ前後でメモリ不足で終了
してしまいます。どなたか知恵をかしてください。
0077デフォルトの名無しさん
2006/03/13(月) 23:59:42閉じてます。
>>71
試してみます。
ありがとうございました。もう少し調べてみます。
0078デフォルトの名無しさん
2006/03/14(火) 00:03:58それのどこを読めばいいのかわからんが、
> ・アレはテキストボックスでは無く テキストボックスの様に見える絵
> ってのが結果
アレとか結果って言葉の使い方がおかしいのはいいとして、
そういう実装もあるってだけでしょ?
オーナードローで改行の位置に絵を書くというやり方もあるだろうし。
0079デフォルトの名無しさん
2006/03/14(火) 00:04:39Excelとかでマクロ記録してクリップボードをクリアして、
そのVBAを参考にすればいいじゃん。
0080pp
2006/03/14(火) 00:19:10返答ありがとうございます。しかしながらクリップボードのクリアは、マクロには
書き込まれないみたいなのです…。
0081デフォルトの名無しさん
2006/03/14(火) 00:32:30テキストボックスは オーナードロー属性を持たないよ
サブクラス化してもやるんだったら描画捕まえるとかしか(精度低くていいんなら キーが入力された とか スクロールした時ので十分)
HTMLのハイライト表示やった事あるけど重しチラつくし使い物にならなかった
改行程度ならいけると思う
0082デフォルトの名無しさん
2006/03/14(火) 00:35:450083デフォルトの名無しさん
2006/03/14(火) 00:40:30コピーしてクリアしたら
Selection.Copy
Application.CutCopyMode = False
Selection.Clear
こうなった。
0084pp
2006/03/14(火) 00:50:57ありがとうございます、もう一度ためしてみます。
0085デフォルトの名無しさん
2006/03/14(火) 13:43:33テーブルAにdate型のJikanフィールドがあり、2006/01/01 12:12:12というデータが入っているとして、
select * from A where Jikan = '2006/01/01 12:12:12'
を実行すると
literal does not match format string というエラーが発生してしまいます。
抽出条件に日付・時刻を指定したいのですが、どうすればいいのでしょうか?
0086デフォルトの名無しさん
2006/03/14(火) 13:59:02select * from A where Jikan = ?
プレースフォルダにして日付時刻型のパラメータを指定。
または
select * from A where Jikan = TO_DATE('2006/01/01 12:12:12','YYYY/MM/DD HH24:MI:SS')
0087デフォルトの名無しさん
2006/03/14(火) 14:09:13おまいの作ったアプリのカレントフォルダがFDDのドライブになってるんでない?
CurDir で適当な場所に変更したらすんなり通るんじゃないかと
0088デフォルトの名無しさん
2006/03/15(水) 09:12:20コンパイルしたexeを起動したときに
「ランタイムが必要です。」とかメッセージを出して
ランタイムを配布しているサイトを開くといったようなことは
できないでしょうか?
ただランタイムエラーが発生するだけなのを放置するしかないでしょうか?
0089デフォルトの名無しさん
2006/03/15(水) 09:25:42そうじゃなければ、.netへ移行してノータッチデプロイなりクリックワンスなりで実現。
0090デフォルトの名無しさん
2006/03/15(水) 10:55:27ActiveXコントロールを作り、ディストリビューションウィザードで
インターネットパッケージを作ってみては?
VBランタイムもMSのサイトから自動的にインストールできるようになるよ。
ただ、インターネットパッケージはActiveXベースのプロジェクトでないと
使えないのが難点だけど。
0091デフォルトの名無しさん
2006/03/15(水) 11:05:11出来る。
009288
2006/03/15(水) 11:57:04ありがとうございます。
ちょっと考えたのですが
VCなどでVBのランタイムが入っているかどうかのチェックをする
アプリを作って、そこからVBのexeを起動するようにしてはどうかと
思ったのですが、そもそもVBのランタイムが入っているかどうかの
チェックのやりかたがわからないのですが、困ったものです。
0093デフォルトの名無しさん
2006/03/15(水) 12:07:120094デフォルトの名無しさん
2006/03/15(水) 12:47:20簡単にチェックするなら、
MSVBVM60.DLL / VB6JP.DLL
辺りの存在を見てみるとか。
009588
2006/03/15(水) 13:32:09ありがとうございます。
exeを秀丸で開いてdllとocxを検索してみたところ
VB6JP.DLL
MSVBVM60.DLL
MSWINSCK.OCX
MSCOMCTL.OCX
が必要みたいでしたので、これらをLoadLibrary()してみれば
よいかもしれません。
0096デフォルトの名無しさん
2006/03/15(水) 14:13:17いや下の2つは・・・
009788
2006/03/15(水) 14:23:12でもこれってバージョンとかどうなんでしょうね。
#include "stdafx.h"
#include <windows.h>
int main(int argc, char* argv[])
{
HINSTANCE h;
h = LoadLibrary("mswinsck.ocx");
if (h == NULL) {
printf("ng!");
} else {
printf("ok![%d]\n", h);
}
getchar();
return 0;
}
0098デフォルトの名無しさん
2006/03/15(水) 14:49:10そんな寒い方法で調べてないでディストリビューション ウィザード起動して
パッケージを選択、パッケージ形式を依存ファイルにしてDEPファイルを作れ
そのファイルの中身をメモ帳で見れば、何が必要なのかわかるよ
0100デフォルトの名無しさん
2006/03/15(水) 16:17:07GUIありなしに関わらずdllって作れますか?
0101デフォルトの名無しさん
2006/03/15(水) 16:24:55HTMLをテキストに変換する
http://win32lab.com/fsw/htox.html
0102デフォルトの名無しさん
2006/03/15(水) 17:29:16いや普通DLLにGUIはないが。
0103デフォルトの名無しさん
2006/03/15(水) 18:04:58ActiveXDLLなら作れるが、ネイティブなのはムリポ
0104デフォルトの名無しさん
2006/03/15(水) 18:18:15そうか
どうもです
0105デフォルトの名無しさん
2006/03/15(水) 18:22:51テンキーの 7 4 2 を半永久的に押し続けたいのですが
初心者なもので起動してもエラーばかりです。
どなたか作っていただけませんでしょうか
0106デフォルトの名無しさん
2006/03/15(水) 18:43:56「起動してもエラーばかり」って、どんなコードでどんなエラーが出るんだよ。
0107デフォルトの名無しさん
2006/03/15(水) 18:48:45「先日書き込んだ」って、アンカー付けろよ。
Option Explicit
Const VK_NUMPAD2 = &H62
Const VK_NUMPAD4 = &H64
Const VK_NUMPAD7 = &H67
Private Declare Sub keybd_event Lib "user32" (ByVal bVk As Byte, ByVal bScan As Byte, ByVal dwFlags&, ByVal dwExtraInfo&)
で
Do
Call keybd_event(VK_NUMPAD2, 1, 0&, 0&)
Call keybd_event(VK_NUMPAD4, 1, 0&, 0&)
Call keybd_event(VK_NUMPAD7, 1, 0&, 0&)
DoEvents
Loop
#さて、釣れるかな・・・
0108デフォルトの名無しさん
2006/03/15(水) 21:47:47ひとことよけい
0109デフォルトの名無しさん
2006/03/17(金) 09:52:39JPGとかPNGの画像を縮小する方法
教えてください〜
0110デフォルトの名無しさん
2006/03/17(金) 11:18:26一旦 Image コントロールにコピーして Stretch してから戻すとか。
0111デフォルトの名無しさん
2006/03/17(金) 18:13:08ばか、それじゃ押してないだろ、押し続けたいって言ってるんだよ。
USBにロボットアームをつないで指で247キーを押さなきゃダメに
決まってるだろ。早く教えてやれ。俺?しらねえよそんなの。
0112デフォルトの名無しさん
2006/03/17(金) 18:44:20二度と現われないからどうでもいいじゃん。
0113http://www.vector.co.jp/soft/win95/util/se072729.html
2006/03/18(土) 19:28:26TextSS のWindowsXP(Professional)64bit化おながいします
もしくは64bitにネイティブ対応したテキスト置換ソフトありますか?
0114デフォルトの名無しさん
2006/03/18(土) 19:35:06その TextSS はVBアプリの上 DLL類を必要とするから ネイティブ対応は簡単ではないよ
0115デフォルトの名無しさん
2006/03/18(土) 19:38:30スレ違い。
0116デフォルトの名無しさん
2006/03/18(土) 19:52:38時間帯によって文体が違うのな。今日一日で何回読んだか…超マルチ。嫌われただろうなぁ。
0117デフォルトの名無しさん
2006/03/20(月) 00:14:200118デフォルトの名無しさん
2006/03/20(月) 00:18:06黙れ乞食
0119デフォルトの名無しさん
2006/03/20(月) 00:33:28ググってみてもver4とか古いのしか対応していないやつばかりで
見つかりません。
前任者が仕様書も何も残さず突然出社しなくなって困っています。
ご存じの方がいらしたら教えてください。お願いします
0120デフォルトの名無しさん
2006/03/20(月) 00:37:22不自然な設定だなぁw
0121デフォルトの名無しさん
2006/03/20(月) 00:44:17常日頃からバックアップを取っておかなかったあなた自身の失策ですよ
>>118,120
わからないのなら、わからないと言える素直さを身に着けましょう。
0122デフォルトの名無しさん
2006/03/20(月) 00:45:10わかりません。
0123デフォルトの名無しさん
2006/03/20(月) 00:45:41わかりません。
0124デフォルトの名無しさん
2006/03/20(月) 00:46:12俺もわかりません。
0125デフォルトの名無しさん
2006/03/20(月) 00:46:42わからないのなら、わからないと言える素直さを身に着けましょう。
0126デフォルトの名無しさん
2006/03/20(月) 00:51:07まさかそいつの個人の持ち物のPCにしか入ってないなんて馬鹿な事はしてないだろうしな
ウイルス問題もあるし、会社の外に持ち出すなんて考えられないよな
0127デフォルトの名無しさん
2006/03/20(月) 00:51:56わからないのなら、わからないと言える素直さを身に着けましょう。
0128デフォルトの名無しさん
2006/03/20(月) 00:56:290129デフォルトの名無しさん
2006/03/20(月) 01:44:29実際の動きから作り直したほうが早いかも。
0130デフォルトの名無しさん
2006/03/20(月) 01:59:35わからないのなら、わからないと言える素直さを身に着けましょう。
0131デフォルトの名無しさん
2006/03/20(月) 09:15:36ある訳がない。
そんな人が書いたプログラムなんてろくでもないので、
最初っから設計し直した方が遥かに早くて高品質。
0132デフォルトの名無しさん
2006/03/20(月) 09:43:42ttp://www.visualbasiczone.com/products/semivbdecompiler/
0133デフォルトの名無しさん
2006/03/20(月) 16:38:170134133
2006/03/20(月) 16:40:090135デフォルトの名無しさん
2006/03/20(月) 17:38:31VB単体ではめんどくさいのでよそのDLLを使うといい
0136133
2006/03/20(月) 17:57:34早速ありが�d。
よそのDLL使う場合配布等面倒なんだよな。
できれば単独でやりたいけど、いろいろ探したがサンプルはなかなか落ちてないなあ。
GDIPlusとか使ったら簡単みたいだけど、これも環境によっては配布端末に入ってない可能性ありそうだし。
ああ、作んのマンドクセ('A`)
誰か、ソースくれ!
0137デフォルトの名無しさん
2006/03/20(月) 18:04:38Dll も Ocx も、その程度の機能のやつなら、
フリーで沢山ありそうだね。
0138デフォルトの名無しさん
2006/03/20(月) 18:12:46ここは学校の課題や仕事を、あなたの代わりにやってあげるためのスレではありません
速やかに消えてください
0139デフォルトの名無しさん
2006/03/20(月) 18:28:47配布自由のフリーなら、全然面倒じゃない。
0140デフォルトの名無しさん
2006/03/20(月) 18:50:47>>139
既に配布してるアプリの追加機能にするから、配布面倒な事情もあって。
まあ、いろいろとあってさ。
その辺はなんとかできなくもないけど、どっかにソースあったらその方がいいなと思って。。。
>>138
んなこたあわかっとるが、まんどくせえから親切な人をあてにして聞いてるんであって、
おまえが答えたくないなら答えんでもよろし。
俺が消える必要はないだろ。
ってか、fjにしても、2ch他BBSにしても、教えて厨、クレクレ厨に冷たい奴多いな!
答えたくないならスルーしとけばいいのに。
0141デフォルトの名無しさん
2006/03/20(月) 18:56:50おまえはホームラン級の馬鹿だな
言葉を選んで質問するだけで波風たたずに答えがかえってくるのに
0142デフォルトの名無しさん
2006/03/20(月) 18:59:52街中を肩で歩いてる奴に温かい声を掛けてくれるってよっぽどの所だと思うぞ
0143デフォルトの名無しさん
2006/03/20(月) 19:01:150144デフォルトの名無しさん
2006/03/20(月) 19:07:090145デフォルトの名無しさん
2006/03/20(月) 19:10:23馬鹿なもんは仕方なかろうもん。
波風立たせようとしてるわけじゃなくて、特に技術者関係(PGやソフト開発関連)のBBSとかでは、
『調べたの?』とか『ヘルプ読んだ?』とか、答えも教えてやらないくせに難癖つける奴が多いと思ったの。
そういう奴ってリアルに嫌な奴だと思うぜ?
一昔前なら、大手でもそんな奴多かったし、そういう先輩に嫌味も一杯言われたけど、
正直今時流行んないと思うのね。そういうの。
別に2ch、BBSに正解を求めてないし、教えたい人が教わりたい人に
つドゾー
tp://www.hogehogeuhauha.....
とか言って教えてやりゃいいじゃんか、と思うのだ。
今時の技術者には開発期間が短すぎて時間がないんだから、
知ってる奴は教える、知らない奴はスルー、一々つまらんレスで煽ったり、煽られたりしてる時間なんかないっての。
こんなだからSE、PGがすぐにやめてくんだよ。
楽しく仕事しよーぜ?
0146デフォルトの名無しさん
2006/03/20(月) 19:19:470147デフォルトの名無しさん
2006/03/20(月) 19:21:020148デフォルトの名無しさん
2006/03/20(月) 19:41:57「こどもか!」ってつっこみを繰り返すやつ。
0149デフォルトの名無しさん
2006/03/20(月) 19:46:390150デフォルトの名無しさん
2006/03/20(月) 19:52:43意味不明。
どのみち配布するんだから、何使おうが同じだろが。
>>145
皆がちゃんと親切に正解を教えてくれてるのに、聞く気ないじゃん全然。
0151デフォルトの名無しさん
2006/03/20(月) 19:59:24ここはVBプログラミングについて教えを請う場であって
作成依頼をする場所ではありません
ソース下さいは「教えを請う」こととは違います
わがまま放題したいなら、自分のサイトで掲示板を立ててやってください
0152デフォルトの名無しさん
2006/03/20(月) 20:03:51すでに回答もらったのに、
「それじゃ、まんどくせ、ソース書いてくれ」
って言ってきてるんだが、後輩がそういってきたら
お前なら、そいつの担当部分を実装してやるのか?
0153デフォルトの名無しさん
2006/03/20(月) 21:05:40fj は junet の頃から見てるけど、
お前の様な質問者は昔は皆無だった。
0154デフォルトの名無しさん
2006/03/20(月) 21:32:51どうすればいいのでしょうか?
ググってみて、SHGetSpecialFolderPathというAPIには辿り着いたんですが、
少々思っているディレクトリのパスとは違いましてorz
このAPIだとユーザ毎の各種特殊フォルダが取得できるみたいですが。
どなたかご教授くださいませ。
0155デフォルトの名無しさん
2006/03/20(月) 21:43:51CSIDL_PROGRAM_FILES と CSIDL_COMMON_PROGRAMS や
CSIDL_COMMON_DOCUMENTS じゃだめなわけ?
思ってるディレクトリって何よ
0156デフォルトの名無しさん
2006/03/20(月) 23:38:17つEnviron$("CommonProgramFiles")
0157デフォルトの名無しさん
2006/03/21(火) 00:19:30> fj は junet の頃から見てるけど、
> お前の様な質問者は昔は皆無だった。
昔は回答者も匿名で罵倒だけするような
モラルのかけらも無い奴じゃなかったからなw
0158デフォルトの名無しさん
2006/03/21(火) 01:49:440159デフォルトの名無しさん
2006/03/21(火) 04:57:43プロミスキャストモードで、パケットキャプチャしてます。
これを簡易的なFirewallに昇華させたくて相談です。
取得したパケットの中で自分が送信するパケットだけを
遮断させたくて、TCPヘッダを見て自分発だったらその
ときのソケットにSetsockopt()で、SO_LINGERをセットを
しようとすると、強制終了しちゃいます。
lRet = Setsockopt(s, SOL_SOCKET, SO_LINGER, Linger, Len(Linger))
3晩ググッて分からなかったので、とりあえずやってみた
のですが、いろいろ読んだり試していくうちに、自分でも
これはかなり常識的な手段では無いと感じています。。
やはり、かなりおバカな方法でしょうか?
プロミスキャストモード以外でパケットを見張る方法が、
他にありましたら、そこからシャットダウンが出来そうな
気もしますが、そんな感じで合ってますでしょうか?
また、Setsockopt()するソケットをWSADuplicateSocket()で
複製して、そいつにSO_LINGER,を与えて急いで送出すれば
受信側にRSTが届くのと同じ効果を与えられそうな気がしま
すが、これも有り得ない方法でしょうか?
VBだけでドライバ云々はスキル的に無理なので何とか
こんな感じで遮断を実現したいのですが、何か方法が
ありませんでしょうか?ご教授よろしくお願いします!
0160デフォルトの名無しさん
2006/03/21(火) 09:45:31まぁ匿名掲示板だしね。
0161デフォルトの名無しさん
2006/03/21(火) 09:46:20そういうOCXを買った方がいいんじゃないの。
0162デフォルトの名無しさん
2006/03/21(火) 09:47:35指定した座標クリックしたいのですが、
何か技法あったらご教授おねがいします。
0163デフォルトの名無しさん
2006/03/21(火) 10:32:12APIを使わない理由は何だ?
0164デフォルトの名無しさん
2006/03/21(火) 10:38:48「ウィンドウの有無は無視、アクティブ優先」の意味が不明。
0165デフォルトの名無しさん
2006/03/21(火) 10:59:37最前面のウィンドウをクリックしたいって事だろ
VBだけじゃ無理だな
0166デフォルトの名無しさん
2006/03/21(火) 11:13:58keybd_event で解決なのにね。
0167デフォルトの名無しさん
2006/03/21(火) 11:52:37冷たくないやつの方が珍しいと思うが。
0168デフォルトの名無しさん
2006/03/21(火) 20:45:24作成者を書き換える方法あります?
0169デフォルトの名無しさん
2006/03/21(火) 20:51:04VBのソースの日本語部分だけを抜き出して、エクセルにはきだしたいのですが、
これってプログラムくまなきゃ駄目なんでしょうか・・・
エディターとかで出来ないでしょうか?
0170デフォルトの名無しさん
2006/03/21(火) 21:14:22GREPして結果をエクセルに貼る
0171デフォルトの名無しさん
2006/03/21(火) 21:22:36エクセルVBAならありそう。
0172デフォルトの名無しさん
2006/03/21(火) 21:31:56返答ありがとうございます。
ただ文字列は不特定なので「日本語」の部分だけを抜き出したいんですよね。
0173デフォルトの名無しさん
2006/03/21(火) 21:37:31不特定の場所にある「日本語」という文字列を探せばいいわけだろ?
0174デフォルトの名無しさん
2006/03/21(火) 22:11:53エディタの正規表現で出来るじゃん。
0175デフォルトの名無しさん
2006/03/22(水) 18:46:14俺のエスパー能力で推察するに
Excelとか、ソースが存在しないプログラムを自分のプログラムから
操作したいと見た。
見たところで回答は浮かばないのでドロンします。
0176154
2006/03/22(水) 19:34:20Environ(4)で取得できました。
でもこれだと
CommonProgramFiles=C:\Program Files\Common Files
って返ってきてしまうんですが・・・
等記号の右辺を切り出して使用することにしました。
でもなぁ・・・
0177168
2006/03/22(水) 23:11:08どうもです。
ActiveWorkbook.BuiltinDocumentProperties("Author").Value = "hoge"
でできました。
0178デフォルトの名無しさん
2006/03/23(木) 00:03:05ちゃんと結果のコードを書き込むなんて素晴らしい人だ。
それでこそ、このスレのログがDBとなるね。
0179デフォルトの名無しさん
2006/03/23(木) 02:17:46>Environ(4)で取得できました。
俺の環境だと CLIENTNAME=Console が返ってくる
つか、なんでインデックスで取ろうとしてるんだよw
インデックスは普通列挙するときに使うもんだろ
もうちょっと、しっかりMSDN読んでこいよ
0180デフォルトの名無しさん
2006/03/23(木) 09:16:18>>156 にちゃんと Environ$("CommonProgramFiles") と
書いてあるのに、わざわざ 4 にしたのは何故か・・・
0181デフォルトの名無しさん
2006/03/23(木) 11:28:21PictureBoxの中にコントロールをまとめて、フレームっぽく使ってるのは、
なんか意味があるんでそか
0182デフォルトの名無しさん
2006/03/23(木) 11:32:38コードまで見ないとコンテナにFrameではなくPictureBoxを使った理由までは明確に断言できないけどね。
0183デフォルトの名無しさん
2006/03/23(木) 11:38:58コード見ると、まとめて可視/不可視、まとめて座標移動くらいしかしてないですね
フレームでもいいけど、たまたまこの人は絵箱が好きだった、ってだけのことなのかな
018488
2006/03/23(木) 11:54:400185デフォルトの名無しさん
2006/03/23(木) 12:10:48懐かしいテクニックだな。
0187デフォルトの名無しさん
2006/03/23(木) 15:56:30お前には >>156 が見えないのか?
それともわざと無視してるのか?
0188186
2006/03/24(金) 11:59:09だから、>>176の左辺って書いてるじゃん。
CommonProgramFiles=C:\Program Files\Common Files
の左辺つったら CommonProgramFiles だろ?
0189デフォルトの名無しさん
2006/03/24(金) 13:14:51>>180
0190デフォルトの名無しさん
2006/03/24(金) 15:28:47(?_?)
0191デフォルトの名無しさん
2006/03/24(金) 16:14:28キーボードにランプがついていると思うので、それを見れば状態がわかりますよ
光っていたらONです。
ttp://www.bcap.co.jp/hanafusa/VBHLP/specialkey.htm
0192190
2006/03/24(金) 17:43:53条件式として組み込みたいので
ブール型などで返すようなコードが
知りたいのです
0193デフォルトの名無しさん
2006/03/24(金) 17:47:43コードが書かれているリンクもおしえてるのに、なにが不満なんですか?
0194190
2006/03/24(金) 17:47:45リンクとんだら分かりました
ありがとでした
m(_ _)m
0195デフォルトの名無しさん
2006/03/25(土) 01:15:25多分XPのビジュアルスタイル対策だと思う
Frameの中にコントロールを置くとXP(ビジュアルスタイル適用)で真っ黒表示になるVB6のランタイムバグがある
0196デフォルトの名無しさん
2006/03/25(土) 02:18:010197デフォルトの名無しさん
2006/03/25(土) 02:26:43単なる装飾目的のこともあるよ。
ボタンとかをやたらPictureBoxの中に置いてみたりするやついるじゃん。
たまに。いない?いるんだってそれが。
0198デフォルトの名無しさん
2006/03/25(土) 15:19:270199デフォルトの名無しさん
2006/03/26(日) 00:55:010200デフォルトの名無しさん
2006/03/26(日) 03:27:36最近の高機能なマウスに、ブラウザのページ移動の機能なんかがついたボタンがありますが
フォーム上で、こういう特殊なマウスのボタンが押されたことを知る方法を教えてください
0201デフォルトの名無しさん
2006/03/26(日) 03:40:19spy++
サブクラス化
0202デフォルトの名無しさん
2006/03/27(月) 04:24:35変数 "rs!日付" はデータベースのレコードセットの日付/時刻型のフィールドです。
両方にelseをつけるとどちらもelseを通ります。なぜだか教えてください。
If rs!日付 <> Null Then
MsgBox ("Not Null")
End If
If rs!日付 = Null Then
MsgBox ("Null")
End If
0203デフォルトの名無しさん
2006/03/27(月) 07:03:28Nullとの比較はIsNull()を使うんだよ
0204デフォルトの名無しさん
2006/03/27(月) 13:23:49ありがとうございました。
IsNull() 調べてみました。
>重要 IsNull 関数を使用すると、式に Null 値が含まれているかどうかを
>調べることができます。If Var = Null や If Var <> Null のように他の
>状況では真 (True) と評価される式でも、偽 (False) になります。
>これは、Null 値を含む式はすべて式自体が Null 値となり、偽 (False)
>と評価されるためです。
なんでこんな仕様なんでしょう?
0205デフォルトの名無しさん
2006/03/27(月) 13:49:46仕様だから。
0206デフォルトの名無しさん
2006/03/27(月) 14:15:440207デフォルトの名無しさん
2006/03/27(月) 14:21:310208デフォルトの名無しさん
2006/03/27(月) 14:54:40レイアウトなどを全てVBから行って、印刷する場合なんですが
複数台のパソコンにインストールする場合、Excelのバージョンを
全て同じにしないと動かないもんですか?
0209デフォルトの名無しさん
2006/03/27(月) 15:00:12CreateObjectなら互換性ある範囲で動くと思うけど。
まあ、どっちにしても普通は避ける。
0210デフォルトの名無しさん
2006/03/27(月) 15:14:00逆だよ。
「VBから参照設定でExcelを指定して、セルへの値の貼り付け、
レイアウトなどを全てVBから行って、印刷する」必要があるから、
インストールする全てのPCを同じ設定にして下さい、と頼む。
0211208
2006/03/27(月) 17:06:10調べてみたら、レイトバインドでやる、というのが常道みたいですね
ありがとうございました
0212デフォルトの名無しさん
2006/03/27(月) 17:23:05いや、だからなるべくその状態にしないのが常道だよ。
同一コンパイルモジュールでの、複数Office対応は基本的に考えない。
極端な話、Officeのバージョン毎にEXEを分ける。
少なくとも、同一EXEであっても、全てのOfficeバージョンに対するテストは必須となる。
なので、当然見積もり時点でそれを考慮すべきであって・・・。
0213デフォルトの名無しさん
2006/03/27(月) 20:16:530214デフォルトの名無しさん
2006/03/27(月) 23:39:120215デフォルトの名無しさん
2006/03/28(火) 01:18:460216デフォルトの名無しさん
2006/03/28(火) 01:51:17外部のサーバに接続してIPをかえしてもらうのが一番正確かと
0217デフォルトの名無しさん
2006/03/28(火) 02:02:37UPnP対応のルータだったら、ルータに聞けば答えてくれるらしいが。
0218デフォルトの名無しさん
2006/03/28(火) 02:13:34外部のサーバーに対してどのように働きかければIPアドレスを返してくれるのですか?
その具体的な方法を教えてください
>>217
ルーターに聞くとは、具体的にどういう意味ですか?
またルーターではなく、モデム接続の場合は取得可能な方法がありますか?
0219デフォルトの名無しさん
2006/03/28(火) 02:32:09そのまえにどんな状況でIP知りたいんだ?闇雲にやったって遠回りだ
オレはこれから寝るから誰かあと頼む
0220215
2006/03/28(火) 04:07:44ありがとうございます
ルーターやモデム、無線LANなど、一般的なインターネット接続環境を対象にしています
ただ全ての環境で通用する方法でなくてもよいです
特定の環境でしか通用しない方法でもいいので、具体的なやり方を教えてください
0221デフォルトの名無しさん
2006/03/28(火) 11:36:15Dim Tmp$
With Inet1
.URL = "http://taruo.net/e/"
Tmp$ = .OpenURL
End With
Dim chBuf() As String
chBuf = Split(Tmp$, vbLf)
Dim i%
For i% = 0 To UBound(chBuf)
If InStr(chBuf(i%), "host=") <> 0 Then
Text1.Text = chBuf(i%)
Exit For
End If
Next i%
0222デフォルトの名無しさん
2006/03/28(火) 11:55:01特定の環境でさえ…と言うなら、まず特定の環境を定義してくれ。
じゃないと、決め打ちでいんじゃね?とか、答えちゃうぞ。
0223デフォルトの名無しさん
2006/03/28(火) 12:44:22決め打ちでいんじゃね?
0224215
2006/03/28(火) 13:41:44わかりました
YahooのADSL回線でレンタルのモデムを使用して接続した環境での取得方法を教えてください
最初の質問する段階から、環境によって取得方法が変わることすら知らなかったので
これだけでいいのか私には分かりませんので、まだ不確定な要素があれば指摘してください
0225デフォルトの名無しさん
2006/03/28(火) 14:07:55すなおにグローバルIPを取得するべき物じゃないの?
0226デフォルトの名無しさん
2006/03/28(火) 14:11:14何のためにそういうことをしたいのかがわからないから推測で書くけど、
外部からインターネット経由で自宅のPCにつなぎたいの?
確認くんとかDDNSで解決しないかな?
0227215
2006/03/28(火) 14:41:21>すなおにグローバルIPを取得するべき物じゃないの?
その素直な取得方法を教えてください
>>226
せっかくの提案ですが、代わりの方法は考えていません
私が知りたいのはあくまでも>>224条件下でのグローバルIPアドレスの取得方法です
0228デフォルトの名無しさん
2006/03/28(火) 14:42:31無線と有線では違うし。
0229デフォルトの名無しさん
2006/03/28(火) 14:44:38>>221 はあぼーんしてるのか?
0230215
2006/03/28(火) 15:14:28あ、定期リロードして一番下にスクロールしてたので、ちょうど隠れて見落としてました
>>221
ありがとうございます、参考にさせていただきます
ただ、その方法だと、特定サイトに依存した処理になってしまいますよね
出来れば、もう少し確実に取得できる方法を教えていただけると助かるのですが
0231デフォルトの名無しさん
2006/03/28(火) 15:22:05理由によってはグローバルIPが判らなくても別の方法があるかもしれないだろうに。
0232デフォルトの名無しさん
2006/03/28(火) 15:25:31一つが失敗したら切り替えてトライするしかない
0233デフォルトの名無しさん
2006/03/28(火) 15:29:36だ・か・ら。
他の人が書いてる様に、あぁいう方法しかない、って事が理解出来ないのか?
特定の環境下で可能な方法を聞いておきながら、特定のサイトに依存しては駄目
とは、我侭な事夥しい。
あのサイトと同じ事をするサーバを、お前自身で立ち上げてそれを使え。
0234デフォルトの名無しさん
2006/03/28(火) 15:33:010235215
2006/03/28(火) 15:46:04なるほど、ということは DiCE などのIPを取得する機能を持つアプリは
作者が自前のCGIを用意して、そこへアクセスして実現しているということですか?
>>233
>他の人が書いてる様に、あぁいう方法しかない、って事が理解出来ないのか?
すみません、どのレスのことでしょうか?
ああいう方法とは、どういう方法ですか?
>特定の環境下で可能な方法を聞いておきながら
違います、環境は一般的な接続環境ならなんでもいいんです
ただ、環境によって取得方法が変わるとのことなので
全ての環境で取得できる方法でなくても、どれか1つでいいので知りたいんです
そのために環境を指定しろとのことなので、言われるままに指定しただけです
0236デフォルトの名無しさん
2006/03/28(火) 15:52:040237デフォルトの名無しさん
2006/03/28(火) 16:13:47「全ての環境で取得できる方法」を、何人もの人が書いてくれてる件。
0238デフォルトの名無しさん
2006/03/28(火) 16:51:220239デフォルトの名無しさん
2006/03/28(火) 17:29:55作れないだろ。
0240デフォルトの名無しさん
2006/03/28(火) 17:34:180241デフォルトの名無しさん
2006/03/28(火) 18:05:14素直にグローバルIPを取得ってISPに申請をしてグローバルIPを割り当ててもらうのが筋だと思うが
そんな事よりもISPの利用規約ちゃんとよんどけよYahooがそうかどうかは知らないが
さすがにルータで複数接続禁止の所は減ったみたいだが、ダイアルアップや一般のPPPOE接続だと
P2Pソフトに拠るファイル共有や、サーバソフトを実行して外部にサービスを提供する事を禁止している所が多いぞ
0242デフォルトの名無しさん
2006/03/28(火) 22:20:18初心者を混乱させるのが好きな粘着さんにつかまったんだね。
ここのサンプルがあるみたい。
http://www5.airnet.ne.jp/init/vb/tips/network001.html
前提知識書いとくね。
まず自分には複数のIPが割り当てられることがある。
gethostbynameで自分のIPが分かるけど、プライベートIPの場合もある。
グローバルIPかどうかはIPの範囲で区別がつく。
http://ja.wikipedia.org/wiki/IP%E3%82%A2%E3%83%89%E3%83%AC%E3%82%B9
ADSLモデムとかの場合だとこれでわかるけど、間にルータとかはいっていると
ルータ自体にグローバルIPが割り当てられて、PCにはプライベートIPしか割り当てられない。
この場合は自分のグローバルIPは分からない(というか無い)
0243デフォルトの名無しさん
2006/03/28(火) 22:20:48知ってるなら、分かる場合、分からない場合、その理由とか説明すればいいのにね。
で、ルータの場合グローバルIPがわからなかったりと不便なのもあって、
比較的最近(結構たつか?)UPnPというのが出来た。UPnPに対応しているルータだと、
ルータに割り当てられているグローバルIPを問い合わせることが出来る。
ルータに対して、GetExternalIPAddress命令を送ればいいんだけど、やったこと無いんで詳しくは省略。
どうやらルータ内蔵のhttpサーバーに、GetExternalIPAddress命令を含めたXMLデータをPOSTすればいいみたいね。
普通にInetコントロールでhttpサーバーにアクセスする方法でいけそう。
XPなら、HNetCfg.NATUPnP コントロールでできるかもしれない。
あとは詳しい人よろしく。 といいたいけどこのスレには詳しい人はいないでしょうね。
0244デフォルトの名無しさん
2006/03/28(火) 22:45:26まともに答えてるだろ
中途半端はお前だ馬鹿
0245デフォルトの名無しさん
2006/03/28(火) 22:47:18イニTさんのサイトじゃん。懐かしいな。まだランエボ乗ってるのかな。
で、ルータなしの場合なんかを質問してる訳ないでしょ。
直結ならどうにでもなるんだし。
で、ルータに問い合わせればいい事なんて誰でも分かってるっての。( >>217 とか)
質問者がルータの型番とかも未だに秘密にするし、だからこそ、皆は
「サーバにIP返すCGIを仕込んでおいて」って書いてるのに。
0246デフォルトの名無しさん
2006/03/28(火) 22:54:18' WAN側(インターネット側)のIPアドレスをゲットするスクリプト
'-----------------------------------------------------------
'ルーターのIPアドレスを指定する
igdIp = "192.168.0.1"
'-----------------------------------------------------------
Set dom = CreateObject("MSXML2.DOMDocument")
dom.loadXML "<?xml version=""1.0""?><SOAP-ENV:Envelope →続く→
xmlns:SOAP-ENV=""http://schemas.xmlsoap.org/soap/envelope/"" →続く→
SOAP-ENV:encodingStyle=""http://schemas.xmlsoap.org/soap/encoding/""> →続く→
<SOAP-ENV:Body> <m:GetExternalIPAddress →続く→
xmlns:m=""urn:schemas-upnp-org:service:WANPPPConnection:1"">→続く→
</m:GetExternalIPAddress> </SOAP-ENV:Body>→続く→
</SOAP-ENV:Envelope>"
Set http = CreateObject("Msxml2.XMLHTTP")
http.open "POST","http://" & igdIp & "/upnp/service/WANPPPConnection",False
http.setRequestHeader "SOAPAction","urn:schemas-upnp-org:service:WANPPPConnection:1#GetExternalIPAddress"
http.send dom.xml
MsgBox http.responseXML.text
Set dom = Nothing
Set http = Nothing
0247デフォルトの名無しさん
2006/03/28(火) 22:55:34以下のようなsoapパケットを投げていました.
<?xml version="1.0"?>
<SOAP-ENV:Envelope
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/";
SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
<SOAP-ENV:Body>
<m:GetExternalIPAddress
xmlns:m="urn:schemas-upnp-org:service:WANPPPConnection:1"/>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
0248デフォルトの名無しさん
2006/03/28(火) 22:58:52SoapAction: urn:schemas-upnp-org:service:WANPPPConnection:1#GetExternalIPAddress
Host: 192.168.10.1
Content-Length: などのヘッダを適当に
<?xml version="1.0"?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
<SOAP-ENV:Body>
<m:GetExternalIPAddress xmlns:m="urn:schemas-upnp-org:service:WANPPPConnection:1"></m:GetExternalIPAddress>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
HTTP/1.0 200 OK
〜HTTPのヘッダが色々〜
<?xml version="1.0"?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
<SOAP-ENV:Body>
<m:GetExternalIPAddressResponse xmlns:m="urn:schemas-upnp-org:service:WANPPPConnection:1">
<NewExternalIPAddress>61.203.161.165</NewExternalIPAddress>
</m:GetExternalIPAddressResponse>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
0249デフォルトの名無しさん
2006/03/28(火) 23:08:52アップグレードしようとおもうのですが、再コンパイル程度で
のせかえれそうですか?あまり特殊なAPIは使ってないんですが
1000本を越えるソースがあるんでちょっと不安がありまして
0250デフォルトの名無しさん
2006/03/28(火) 23:12:07> で、ルータなしの場合なんかを質問してる訳ないでしょ。
おまえぜんぜんよんでねーのな。
>>224
> YahooのADSL回線でレンタルのモデムを使用して接続した環境での取得方法を教えてください
これでルータありだと思う奴はよっぽどひねくれている。
0251デフォルトの名無しさん
2006/03/28(火) 23:14:05ちゃんとソース元も書こうよ
http://www.bosuke.mine.nu/blog/archives/2004/04/upnp.php
0252デフォルトの名無しさん
2006/03/28(火) 23:44:34そんなに詳しく読んでるなら教えてやれよ。w
0253デフォルトの名無しさん
2006/03/29(水) 00:17:290254デフォルトの名無しさん
2006/03/29(水) 00:51:320255215
2006/03/29(水) 01:22:48>>241
忠告は分かりましたが、技術的な問題を聞いているに過ぎません
包丁の作り方を聞いたからといって、殺人の心配をされても困ります
>>242 >>243 >>246-248
有用な情報をありがとうございます
これだけ、とっかかりのキーワードが頂けましたので
細部のやり方についてはなんとか自分でも調べられそうです
なんとなく取得できる状況というのが見えてきたので考えをまとめたいのですが
まず、モデムに関しては >>242 のgethostbynameで分かる
ルーターの場合はUPnPという機能を持っているならXMLデータで問い合わせ
それらの方法でも無理ならば、IPアドレスを返すCGIにアクセスする
このような認識で概ね合ってるでしょうか?
>>245
取得に必要な条件で足りない要素があれば指摘してくださいとお願いしたはずです
ルーターの型番について1度も触れられていませんので秘密にしたと言われるのは心外です
また、私が元々知りたいことは >>220 にあるとおりです
0256デフォルトの名無しさん
2006/03/29(水) 01:37:40足りない事を指摘(>>228)してるのに無視してんじゃん。
0257デフォルトの名無しさん
2006/03/29(水) 01:38:470259デフォルトの名無しさん
2006/03/29(水) 02:00:09馬鹿かお前は!!
0260デフォルトの名無しさん
2006/03/29(水) 02:01:35お前も、そういう奴にいちいちレスすんな
粘着君は回答持ってないし、質問者をおちょくってるだけだからな
0261デフォルトの名無しさん
2006/03/29(水) 02:02:38自分で考えることをやめた若者増産
0262デフォルトの名無しさん
2006/03/29(水) 02:03:17つか最近こんなのばっかなの?
いや、俺は嬉しい。
アホが増えれば増える程儲かるからなwwwwwwwww
0263デフォルトの名無しさん
2006/03/29(水) 02:05:10掲示板利用してこれに答えないのは失礼だろう。
0264デフォルトの名無しさん
2006/03/29(水) 02:10:44なんでそんなに用途を聞きたがる?
それを聞いていったいどうしたいんだ?
0265デフォルトの名無しさん
2006/03/29(水) 02:14:49わからないの?用途に最善の方法を提示しようとしてるだけなのに。
0266デフォルトの名無しさん
2006/03/29(水) 02:16:56> まず、モデムに関しては >>242 のgethostbynameで分かる
> ルーターの場合はUPnPという機能を持っているならXMLデータで問い合わせ
> それらの方法でも無理ならば、IPアドレスを返すCGIにアクセスする
> このような認識で概ね合ってるでしょうか?
基本的にそれであってる。
最後のはCGIじゃなくても、インターネット越しに通信できる
相手がいれば、その他の方法でも出来る。
あと、DDNSについても調べておくといいかもしんない。
無料で自分だけのアドレスを持つことも出来る。
それを利用すれば、グローバルIPを知る必要も無いかもしれないし、
また、DDNSサーバーを利用して自分のグローバルIPを知ることも可能。
0267デフォルトの名無しさん
2006/03/29(水) 02:18:27ごめん。俺エスパーだから先に答えちゃったw
もう何も言うこと無いでしょ?
0268デフォルトの名無しさん
2006/03/29(水) 02:20:47アドレスっつーか、名前ね。
hoge.foo.jp みたいな。
0269デフォルトの名無しさん
2006/03/29(水) 02:26:52こんだけ答えが出てたのにそれかよ。
0270デフォルトの名無しさん
2006/03/29(水) 02:35:560271デフォルトの名無しさん
2006/03/29(水) 02:39:57情報出せばすぐ終わるのにいくらつついても出さないからな
0272デフォルトの名無しさん
2006/03/29(水) 02:43:470273215
2006/03/29(水) 02:53:33>基本的にそれであってる。
よかった!ありがとうございます
>最後のはCGIじゃなくても、インターネット越しに通信できる
>相手がいれば、その他の方法でも出来る。
これは要するに、あらかじめ決められた通信手段で応答するソフトを
待機させておくことが前提ということですよね?
そうすると、問い合わせる相手のグローバルIPが必要で・・・鶏と卵?
あ、その場合に DDNS があれば可能ということですかね、なるほど。
とりあえず大体理解出来たと思いますので、あとは実際に関数などを調べながら作ってみようと思います
ありがとうございました
0274デフォルトの名無しさん
2006/03/29(水) 03:00:090275デフォルトの名無しさん
2006/03/29(水) 03:20:57仕様は220とか224にあるだろ、しっかり読めよ
お前が知りたがってるのは単なる好奇心だろ
0276デフォルトの名無しさん
2006/03/29(水) 03:25:09おまえがよく読め…足りてなかったからこんなにダラダラ話が伸びたんだろ
0277デフォルトの名無しさん
2006/03/29(水) 03:28:44何が足りなのか言えばいいだろ、アホか
0278デフォルトの名無しさん
2006/03/29(水) 03:30:09よく読めよ
ああ、足りてないのはお前の頭か
情けない
0279デフォルトの名無しさん
2006/03/29(水) 08:32:36まぁ今時、逆ギレする質問者なんて珍しくもないが。
しかしコミュニケーション能力ゼロだな。
0280デフォルトの名無しさん
2006/03/29(水) 12:43:38VB5とVB6はソースコードレベルでは互換性があるけど、
変わったコントロールを使っているなら注意が必要。
VB6のコントロールに置き換えるか、VB5からコントロールを持ってくる必要がある。
0281デフォルトの名無しさん
2006/03/29(水) 13:54:46VMWareとか使って、VB5のままで運用するのは駄目なのかな。
0282デフォルトの名無しさん
2006/03/29(水) 14:12:420283デフォルトの名無しさん
2006/03/29(水) 14:25:02そうそう。
しかも1000本て。
0284デフォルトの名無しさん
2006/03/29(水) 20:42:47どうみても逆(?)切れしてるのは、回答者(回答してないけど)のほうです。
ありがとうございました。
0285デフォルトの名無しさん
2006/03/29(水) 21:14:27>>255
0286デフォルトの名無しさん
2006/03/30(木) 00:13:270287デフォルトの名無しさん
2006/03/30(木) 01:50:34UrlMkSetSessionOption使えばアプリが使用するPROXYが設定できるから
XMLHTTPにも反映されるような…
ぁま 試してないから分からんけどね
0288デフォルトの名無しさん
2006/03/30(木) 02:30:37ユーザーエージェントを変えるの。
これ使ってもIDEでは変更されてないことがある。
でもEXEにして実行するとちゃんと設定されている。
でもIDEでも変更されているときがある・・・?
IEコンポーネント読み込むタイミングとか
IDEで動かした場合実行ファイルがIDEのプロセスに
なっちゃうとかが関係してそう。
まあともかく、EXEにすればちゃんと動くので問題ないけど
混乱しないように情報提供です。
0289デフォルトの名無しさん
2006/03/30(木) 09:58:50粘着回答者のほうがキモイ
>>288
ちょっw中途半端に間違ってて余計に混乱するw
IDEでもEXEでもきちんと変更される
ただし、そのAPIで変更できるのはプロセス起動中に1度きり
要するにIDEだとVB6.EXEを再起動しなければ変化しなくなるってわけ
0290デフォルトの名無しさん
2006/03/30(木) 20:38:49同意。答えを知らないのに、偉そうに講釈たれるやつとか。
0291デフォルトの名無しさん
2006/03/30(木) 21:26:31自己紹介乙。
0292デフォルトの名無しさん
2006/03/30(木) 21:46:47分かる事は何でも回答しちゃうよ。
0293デフォルトの名無しさん
2006/03/31(金) 12:35:43chrb(&hF2)を指定すると、返ってくるのは、"o"(chr(6f)) になってしまうんです。
なんで?
0294デフォルトの名無しさん
2006/03/31(金) 14:18:16分かる事は何でも回答しちゃうよ。
0295デフォルトの名無しさん
2006/03/31(金) 14:26:57何がやりたいのか分からん。
「返ってくる」って何?
それらを何かの関数に渡してその戻り値が?
別に &HF2 のまま扱えばいいじゃん。
0296デフォルトの名無しさん
2006/03/31(金) 19:34:45その1000本をさらに.netに乗せかえる予定だったりしてな。
0297デフォルトの名無しさん
2006/03/32(土) 22:15:41対応させる方法はないでしょうか?
0298デフォルトの名無しさん
2006/03/32(土) 22:51:500299デフォルトの名無しさん
2006/03/32(土) 22:53:15主語が抜けておりまする!
解答不能にござる!
0300デフォルトの名無しさん
2006/03/32(土) 23:32:49EM_LIMITTEXTメッセージで入力制限を拡張する方法はやってみたのですが、
Text1.text = 64KB以上の文字列
として代入された場合は、64KBまでしか受け付けないんです。
代入と入力では制限の仕方が違うんでしょうね。
そこでクリップボード経由でWM_PASTEメッセージで貼り付けたんですが、
これはうまくいきました。
しかしクリップボードを汚さないスマートな方法があればいいのですが。。
何かないでしょうか。
0301300
2006/03/32(土) 23:46:38TextBoxに64KB以上の文字列をクリップボードなしで読み込ませる方法をお願いします。
0302デフォルトの名無しさん
2006/03/32(土) 23:52:51ない。
0303デフォルトの名無しさん
2006/04/02(日) 00:02:52マウスドライバをダウングレードする
0304300
2006/04/02(日) 00:05:29EM_SETHANDLE辺りをゴニョゴニョしたらなんか出来そうな気もするんですが。。
いまVBのサンプルソースとか探してます。
でもVB, TextBox, 64KBでググったら、どこのサイトでも
64KB制限を突破する方法はないからRichEdit使えって
断定的に書いてあるんですよね。
クリップボード経由ならできたのに・・・。
0305デフォルトの名無しさん
2006/04/02(日) 00:40:47そもそも、TextBox はそんな用途に使うコントロールじゃないし。
クリップボードで出来るならそうすればいいだけ。
0306デフォルトの名無しさん
2006/04/02(日) 00:48:38TextBoxの用途を勝手にお前の妄想で限定すんなよ
0307デフォルトの名無しさん
2006/04/02(日) 01:00:450308300
2006/04/02(日) 01:15:00クリップボード経由ではない方法を見つけました。
WM_SETTEXTメッセージで何の苦労もなくセットできました。
これは意外と知られていないことかもしれません。
0309デフォルトの名無しさん
2006/04/02(日) 01:16:52>>298を使ってるけど、俺のWinXP環境だと、まれに横スクロール専用に
なったり挙動不審なことがある。再起動で直るから困るほどじゃないけど。
試してないけどネット上でアドインを探すと出てきますよ。
ttp://search.yahoo.co.jp/search?p=VB6+%A5%A2%A5%C9%A5%A4%A5%F3+%A5%DB%A5%A4%A1%BC%A5%EB&fr=top_v2&tid=top_v2&search.x=1
0310デフォルトの名無しさん
2006/04/02(日) 01:52:249x系だとそれでも64KBまでだからな・・・最近は気にしないでいいのかも。
0311デフォルトの名無しさん
2006/04/02(日) 02:25:57このスレで聞かせてください。
struct KEYBOARDDATA
{
enum { BREAK = 1,
E0 = 2, E1 = 4,
TERMSRV_SET_LED = 8 };
enum { KEYBOARD_OVERRUN_MAKE_CODE = 0xFF };
USHORT UnitId;
USHORT MakeCode;
USHORT Flags;
USHORT Reserved;
ULONG ExtraInformation;
};
上記のようなC言語の構造体をいまVBに移植しているのですが、
まったくもってわけがわかりません!
まず第一にUSHORTって調べてみたら符号なし16bit整数とか書いてるし
VBには符号なし16bit整数の宣言なんてないはずだし・・・
VBに上記の構造体を移植するのは不可能なんでしょうか?
0312デフォルトの名無しさん
2006/04/02(日) 02:26:05主語がないから、IDE画面のスクロールとは限らんぞ
なんらかのVBのコントロールの話かもしれん
0313デフォルトの名無しさん
2006/04/02(日) 08:44:07VB標準のクリップボードでは駄目で、APIならいい、ってのが
サッパリ理解出来ん。
で、クリップボードの内部で同じ処理してるだけだと思うが。
0314デフォルトの名無しさん
2006/04/02(日) 08:45:25別に、ビット幅が16ビット、ってだけなんだから、Integer でいいじゃん。
それを符号なしで扱う方法なんて、何とでもなるし。
0315デフォルトの名無しさん
2006/04/02(日) 08:52:50クリップボードはユーザが意図して使うものであって、
プログラム処理の都合で勝手に内容を書き換えていいものではない。
それに、クリップボードのバッファを経由する分、無駄な処理になる。
0316デフォルトの名無しさん
2006/04/02(日) 10:41:35たとえばテキストファイルとかなのですが、書店の本などを見ても
1つのファイルを読み込む内容しか書いてないです。(私が見つけられないだけかも..)
すみませんが、どなたかご教授願います。
0317デフォルトの名無しさん
2006/04/02(日) 10:57:38だったら何故VBにクリップボードオブジェクトが実装されてるんだよ。
既にデータがあったら、退避して戻せばいいだけ。
API使ったって何処かのバッファは経由するだろうが。
枝葉末節に囚われて、正しく動作するコードが書けない奴の典型だな。
>>316
一つのファイルを読み込む処理を繰り返せばいいのでは。
0318デフォルトの名無しさん
2006/04/02(日) 11:24:02後でペーストするつもりでコピーしておいたものが、プログラムを実行したら
消えてた、って言うとイヤだし。オマエどこのEXCELだよ!とか
まぁ個人の好き嫌いっていうわけでもないけど、推奨はされないと思う>プログラムでクリップボード書き換え
それはそれとして、WM_SETTEXTでセットする方法は意外と知られていない
というよりは、普通にみんな知ってるけど64KB以上使おうという人があまり
いないからなのではないか、とか思った。
0319デフォルトの名無しさん
2006/04/02(日) 11:34:10>既にデータがあったら、退避して戻せばいいだけ。
底の浅い考えだな〜
クリップボードの履歴を取るソフトに影響する点は考えもつかない?
0320デフォルトの名無しさん
2006/04/02(日) 11:38:26レス有難うございます。
ですが本に載っているやり方は、決まったファイル名を
読み込む事は書いてあるのですが、フォルダ内にある色々なファイル名の
ファイルを取得するような事は、書いてない(見つけられない)のです。
このような事をする際は、どの様なコードを書けばよいのでしょうか?
0321デフォルトの名無しさん
2006/04/02(日) 11:48:46要するに君が分からないのは、複数のファイルを読み込む方法じゃなくて
特定のフォルダ内にあるファイル一覧を取得する方法を知りたいってことかい?
0322デフォルトの名無しさん
2006/04/02(日) 11:49:46だね。
しかし、テキストボックスに64k以上の文字列って、
一体どんなのなんだろう・・・
0323デフォルトの名無しさん
2006/04/02(日) 12:43:33複数のファイルを読み込みたいのです。
例えば、種類別に在庫数などを書いてあるファイル(テキストなど)を
特定のフォルダにあるもの全て読み込んで、在庫数を計算するなど
の事をやりたいのですが...
0324デフォルトの名無しさん
2006/04/02(日) 12:57:51やりたいことは分かってるって
その処理のうち分からない部分はどこなの?
一連の処理を全部作って欲しいってことじゃないっしょ?
0325デフォルトの名無しさん
2006/04/02(日) 13:07:45ネットで、DirやFileSystemObjectを使う方法がすぐ見つかる。
0326324
2006/04/02(日) 13:20:28ファイルの開き方とか読み込み方はデータ形式次第なんで自分で調べてくれ
Dim strFileName As String
strFileName = Dir("C:\Windows\*")
While Len(strFileName) > 0
strFileNameファイルを開く
If ファイルを開けたかどうか Then
strFileNameファイルの内容を読み込む
読み込んだデータを集計する
strFileNameファイルを閉じる
End If
strFileName = Dir '次のファイル名を取得
Wend
0327デフォルトの名無しさん
2006/04/02(日) 13:20:55ペーストで動いているのは多分 2000かXPだから
ちなみにTextBoxにメッセージを送る時はテキスト64Kまでしか扱えないようになっている
なぜならメモリーが64K以上扱えても Win32 APIが64Kまでを基準に設計されてるから(古いWindowsの名残)
(2000・XPでは仕様が変わって64K以上が扱えるようになってるけど推奨されていない)
だから64K以上のテキストを扱うときにはリッチテキストか市販されてるテキストコンポーネントを使うしかない
あとクリップボードのデータを無闇に入れ替えたりすると クリップボードを監視するソフトが誤作動を起こすよ
クリップボードはWindowsでデータを共有する為にある事を忘れるな
バッファに使うなんてとんでもない低脳バガ
0328デフォルトの名無しさん
2006/04/02(日) 13:24:48「一つのファイルを読み込む」方法が分かってんなら、
後はファイル名を変更するだけでしょうが。
0329デフォルトの名無しさん
2006/04/02(日) 16:21:06ひょっとしたらVBってのも仕様がVBAに似てるんですか?
0330デフォルトの名無しさん
2006/04/02(日) 16:44:08>EXCELでVBAを勉強してるんですがこれってC言語に似てますね
CとVBが似てるとは、結構変わった感覚の持ち主だね
このレベルで似てると思えるならJavaもDelphiもJavaScriptなんかも同じようなもんだなw
>ひょっとしたらVBってのも仕様がVBAに似てるんですか?
ものすごく砕けた言い方すると、VBAはVBの体験版
似てるというレベルじゃなくて、ほとんどそっくり
でもどうせ勉強するならC、C++にしといた方がいいぞ
これを身に付けておけば他の言語の習得は容易になるからね
VBやってると簡単すぎてバカになる、、、気がする
0331デフォルトの名無しさん
2006/04/02(日) 17:00:520332デフォルトの名無しさん
2006/04/02(日) 17:13:57クラスモジュール使ったこと無い事は分かったw
標準モジュールマンセーなのも分かったw
ってうか釣りレスだろ
0333デフォルトの名無しさん
2006/04/02(日) 17:17:54けどVBプログラマ>>332がなぜ嫌われているのか分かった気がします。
0334デフォルトの名無しさん
2006/04/02(日) 17:32:40初心者に対して見下すような態度を取る奴ほど実際は大した技術を持ってない
0335デフォルトの名無しさん
2006/04/02(日) 19:07:34もうページがなくなったのか探してもみつかりません。
どなたかWriteFileをつかってのCDドライブの開閉方法をおしえていただけませんでしょうか?
0336デフォルトの名無しさん
2006/04/02(日) 19:55:37ttp://www31.ocn.ne.jp/~heropa/vb31.htm
0337デフォルトの名無しさん
2006/04/03(月) 13:56:53ExcelのCell内に書かれた内容に変更があった場合のイベントの
検知方法を教えて欲しいです。
WorkSheet単位で内容の変更があった場合のイベントは
取得できるのですが、Cell単位で内容の変更があった場合の
内容の変更は検知できるのでしょうか?
0338デフォルトの名無しさん
2006/04/03(月) 15:15:25WorksheetのChangeイベント拾って、
そのTargetが目的のセルかどうかの判定をプロシージャ内で行う。
0339デフォルトの名無しさん
2006/04/03(月) 23:19:27データ型に数値を格納する際、オーバーフローというエラーが出てしまいます。
デバックしてみると、変数に「5.011456E+09」が格納されています。
これは指数表記で、5011456000のことでしょうか?
0340デフォルトの名無しさん
2006/04/03(月) 23:49:29いやそんな事より、そのエラーをどうにかしたいとは思わないのか?w
0341仕様を知らないままコンパイル通したって修正したとは言えんでしょ
2006/04/04(火) 01:33:31そうだよ
0342デフォルトの名無しさん
2006/04/04(火) 08:27:05それより今からVB6勉強してもしょうがなえだろ。
0343デフォルトの名無しさん
2006/04/04(火) 10:15:35このスレでいいですか
IMEでローマ字か英数かの状態を判別と設定をしたいんだけど
API使わないとダメかな
APIなんて手を着けたこともないので
どうしたらいいのか…(^_^;)
0344デフォルトの名無しさん
2006/04/04(火) 10:19:43Asciiで調べたらいいんじゃない?
0345デフォルトの名無しさん
2006/04/04(火) 10:22:25VB6でWake On Lan(マジックパケット)を使いたいが
送信するデータ構造が不明
AMDとかみてみたけど情報なさす・・・
出来ればサンプルとか、何でもいいので情報ほしいっす。
環境
WinXP-SP2
VB6 SP6
0346デフォルトの名無しさん
2006/04/04(火) 10:50:23Excel総合相談所 40(VBAの質問でも可。回答率バツグンの良スレ)
http://pc8.2ch.net/test/read.cgi/bsoft/1134006968/
0347デフォルトの名無しさん
2006/04/04(火) 10:50:59その程度のサンプルなら、WEB検索すれば幾らでもあるよ。
0348デフォルトの名無しさん
2006/04/04(火) 10:51:50VBと関係ないじゃん。
0349デフォルトの名無しさん
2006/04/04(火) 10:56:27VB6で作るから関係あるかな・・と思っただけっす
0350デフォルトの名無しさん
2006/04/04(火) 11:02:37ttp://www3.jpn.hp.com/CPO_TC/pc/doc/34602.pdf
ttp://adlib.rsch.tuis.ac.jp/~akira/unix/
ttp://bb.watch.impress.co.jp/column/shimizu/2003/09/16/
ttp://adlib.rsch.tuis.ac.jp/~akira/unix/WakeOnLan.txt
ttp://sdg.ex-group.jp/dll/MagicPacket-1_00.lzh
ttp://sdg.ex-group.jp/dll/MagicPacketSRC-1_00.lzh
ttp://sdg.ex-group.jp/dll/MagicPacket2-1_00.lzh
ttp://sdg.ex-group.jp/dll/MagicPacket2SRC-1_00.lzh
ttp://www.ex-group.jp/newpage/software00.html
ttp://www.vector.co.jp/soft/win95/net/se322082.html
マジックパケットって、「6個の FF(16進)のあとMACアドレスを16回以上繰り返した物」らしいね。
0351デフォルトの名無しさん
2006/04/04(火) 11:07:17そうそう、ソフトは結構見かけるのに
その仕様が見あたらなかったんですが・・・
なるほど、紹介してくれたページに
サンプルもみたいなので参考にやってみるっす
0352デフォルトの名無しさん
2006/04/04(火) 11:09:34>>350
情報ありがとです(´▽`)
スレ汚し
0353デフォルトの名無しさん
2006/04/04(火) 16:05:31そこのスレ、VBAの質問どころか丸投げすら許容してるし回答率もいいけど
VBAに関してはブックやシートなど直接エクセルに関わらない部分のVBA操作は
スレ違いってことになってるから、ブックやシートの操作以外の質問を誘導しても
結局向こうでスレ違い指摘されて戻ってくるだけだよ。
0354デフォルトの名無しさん
2006/04/04(火) 19:52:410355デフォルトの名無しさん
2006/04/04(火) 20:15:29プログラミングを始めるならVB6.0かJavaが一番良いと聞いたのもでお聞きしました。
僕はプログラムに関しての知識はゼロです。
0356デフォルトの名無しさん
2006/04/04(火) 20:19:43まぁあの3つの条件を満たしてないからね。
0357デフォルトの名無しさん
2006/04/04(火) 20:19:56あなたにはVB6.0がいいよ。
0358デフォルトの名無しさん
2006/04/04(火) 20:24:37そうですか。
ありがとうございました!
さっそく勉強して頑張ります!
それとVB6.0を覚えたあとVBNETに移行することも簡単ですよね?
0359デフォルトの名無しさん
2006/04/04(火) 20:29:17いいえ
VB6とVB.NETはまったく別の言語です
英語と中国語くらいの差があります。
0360デフォルトの名無しさん
2006/04/04(火) 20:32:33そうなんですか・・・
では、VB6.0とVB.NETのどちらから始めればいいのでしょうか?
VB6.0はもう手に入らないと聞いたのですが・・・
0361デフォルトの名無しさん
2006/04/04(火) 20:33:24手に入りますよ?誰がそんな事を言ったんですか?
0362デフォルトの名無しさん
2006/04/04(火) 20:37:18あの3つの条件って?
0363デフォルトの名無しさん
2006/04/04(火) 20:40:43えっ?そうなんですか?
それって無料で手に入ります?
>誰がそんな事を言ったんですか?
忘れましたが、どこかのサイトでそう書かれているのを見ました。
実は兄から誘われているんですよ・・・・手伝ってくれって。
でも困ったことに僕は中卒なんですよね・・・
しかもまったく知らない世界で小中と数学も一番苦手だったんですよね・・・
それで、本当はC#を覚えて兄の会社のHPをC#で2人で作成してソフトウエアの受注をしたいとかなんとか言ってました。
でも、独学だと厳しいです・・・何がなんだかさっぱりなのが正直なところ。
そこで一番簡単なプログラミング言語から勉強して、基礎知識を付けてからのほうがいいかなって思いまして。
0364デフォルトの名無しさん
2006/04/04(火) 20:46:03俺とお前と大五郎
0365デフォルトの名無しさん
2006/04/04(火) 20:49:17C# はそんなに難しい言語じゃないぞ。兄貴にサンプルプログラムをもらって、それを
改造するところからはじめてみ。
今なら、Express Edition が無料で手に入るし。
0366デフォルトの名無しさん
2006/04/04(火) 20:53:00ヒント:カプセル化、継承、ポリモーフィズム
0367デフォルトの名無しさん
2006/04/04(火) 20:59:37なんかすっげぇーやる気になってきました!
その言葉一生忘れませんよ!ありがとう!
俺の人生のターニングポイントになったって感じがする。
マジで感謝しています!ありがとうございました!
0368デフォルトの名無しさん
2006/04/04(火) 21:33:15もし職業訓練みたいなノリで将来それを仕事にするつもりで始めようとか
思ってるのなら止めておいた方がいいよ。
数学苦手でプログラマになろうなんて、身長150のガリガリ君が関取めざすようなもんだ。
貴重な人生無駄にしたいなら止めないけど。
まあ趣味のつもりなら好きにすればいいけど、
100%途中で投げることになるよ。
0369デフォルトの名無しさん
2006/04/04(火) 21:37:21数式が必要ならぐぐれば大抵みつかるし、得意な奴がほかにいるし
何の問題も無い
0370デフォルトの名無しさん
2006/04/04(火) 21:54:10でも、何の問題もなくプログラマから SE になれてる。
一部のアルゴリズムばりばり、3Dモデリングばりばり、みたいなプログラミングを
除いて、そうそう数学能力なんていらん罠。
0371デフォルトの名無しさん
2006/04/04(火) 22:00:240372デフォルトの名無しさん
2006/04/04(火) 22:02:51コンポーネント指向だからオブジェクト指向て解釈ででいいんでね?
0373デフォルトの名無しさん
2006/04/04(火) 22:03:450374デフォルトの名無しさん
2006/04/04(火) 22:09:400375デフォルトの名無しさん
2006/04/04(火) 22:28:550376デフォルトの名無しさん
2006/04/04(火) 22:31:120377デフォルトの名無しさん
2006/04/04(火) 22:50:330378デフォルトの名無しさん
2006/04/05(水) 01:00:59『1つのクラスから複数のインスタンスが生成できる事』だと思う
カプセル化も継承も大事だけど コレだけは絶対忘れないで欲しい っていうか慣れてくると忘れがち
VBは機能不足にしろオブジェクト指向であるとは言えるよ
オブジェクト指向の学習はJavaが一番良いね
.NET(C#もVBも)は 初心のうちはツール(VisualStudio・フレームワーク含む)覚えるのに精一杯になって
オブジェクト指向の学習にまで手が届かなくなるよ
0379デフォルトの名無しさん
2006/04/05(水) 01:48:16それポインタ本の前橋もそういってるけど違うと思うよ。
それはオブジェクト指向の特徴的な(他には見られない)部分ではあっても
最重要な部分ではない。
最大の恩恵は、それがヒトの思考パターンによりマッチするって点でしょう。
ヒトにとっては「A君の算数のテストの点数」って考えるほうが、「算数のテストの点数の
配列の中のx番目のデータ」って考えるより易しい。
ついでにA君に関するデータと、それを処理する関数を「同じところ」に
書ける様にした方が両者の関係がはっきりする。
要はそれだけのことでしょ。
0380デフォルトの名無しさん
2006/04/05(水) 08:18:31非常に困難、って事だと思う。
理解/習得すれば、>>379 「ヒトの思考パターンによりマッチする」
ので、設計/開発がやり易いのかもしれないが・・・
0381デフォルトの名無しさん
2006/04/05(水) 10:34:35VB6ならまずはForm1のインスタンスとかScreenオブジェクトとかで
感覚をつかむ練習をして、じゃあクラスモジュールで似たような
コーディングをしてみましょう、みたいな進み方をするといいと思われ。
Screen.Widthのことを
「『画面幅取得関数』じゃなくて『画面は幅を持ってる』んだよ」と説明するみたいな。
0382デフォルトの名無しさん
2006/04/05(水) 10:56:10消されるよね・・・
0383デフォルトの名無しさん
2006/04/05(水) 11:27:29> 消されるよね・・・
いいえ
0384デフォルトの名無しさん
2006/04/05(水) 16:08:48アドインのツールバーアイコン画像をクリップボード経由で読み込んでるからだね
アドインをことごとく無効にすれば解消されるかもしれんけど、
俺はクリップボード履歴取ってるからウザいけど許容範囲なんで放置
>>383
頭悪そうなレスだなw
0385デフォルトの名無しさん
2006/04/05(水) 17:05:33へぇ〜、そうなんだ、と思ってやってみたら、
別に消されなかった。
0386デフォルトの名無しさん
2006/04/05(水) 20:06:46どっか他のがロックしてたんじゃないの?
0387デフォルトの名無しさん
2006/04/05(水) 23:10:11xlSheet.HPageBreaks.Add xlSheet.Range("H30")やxlSheet.VPageBreaks.Add xlSheet.Range("H30")で改ページします。
でもエクセルを見てみると確かに太線で改ページ出来てるんですが、破線の自動改ページの線が残ったままになっていて
このまま印刷すると自動改ページの線の範囲が優先されてしまいます。
この自動改ページの線も同じ範囲にしてやりたいんですが方法がわかりません。
どうすればいいですか?
0388デフォルトの名無しさん
2006/04/05(水) 23:13:23他のからコピーされたクリップボードデータは消えない
数年前から気になっていたが そういう理由があったのか
0389デフォルトの名無しさん
2006/04/06(木) 00:14:03次VBを起動させた時にはまた無くなってるだが、何でだろ?
ちなみに他のPCのVBは出しておけばずっと表示されたままになってんだけど。
あとエディッタのスクロールがマウスのホイールで何故か出来ない。
VB以外のエディッタじゃちゃんとスクロールするのに。ほんとわけわからん…
0390デフォルトの名無しさん
2006/04/06(木) 00:29:01(>>382)VBを起動する時「VBのエディタでコピー
した内容に限って消える」ってどういう意味??
0391デフォルトの名無しさん
2006/04/06(木) 00:29:59エクセル上で出来るなら、それをマクロ記録するとか。
0392デフォルトの名無しさん
2006/04/06(木) 00:34:54スクロールに関しては、単にVBが
WM_MOUSEWHEEL に対応してないだけでは。
0393デフォルトの名無しさん
2006/04/06(木) 01:11:47Application.Caller.Addressを参照しようとすると
「実行時エラー424 オブジェクトが必要です」
というエラーが出ます。これはどういうことでしょうか?
Addressはどうして参照できないのでしょうか?
環境はExcell2000+VBAです
0394デフォルトの名無しさん
2006/04/06(木) 06:38:11とかで表示した時「OK」「キャンセル」どっちが選択されたのかはどうすれば判断できますか?
0395デフォルトの名無しさん
2006/04/06(木) 06:46:310396デフォルトの名無しさん
2006/04/06(木) 09:29:53Visual Basic 6.0 IDE でマウス ホイール イベントが機能しない
ttp://support.microsoft.com/default.aspx?scid=kb;ja;837910
0397デフォルトの名無しさん
2006/04/06(木) 09:48:48”オートメーションエラー”ってざっくり言って何のエラーなの?
0398デフォルトの名無しさん
2006/04/06(木) 10:08:020399デフォルトの名無しさん
2006/04/06(木) 10:14:41対処方法はありますでしょうか・・・?orz
0400デフォルトの名無しさん
2006/04/06(木) 11:11:32あんたは>>397と>>399の書き込みを客観的に見て、自分の状況が伝わってると思えるのか?
0401デフォルトの名無しさん
2006/04/06(木) 11:17:19方法1をやってみたけど、スクロールしない・・・_| ̄|○
0402デフォルトの名無しさん
2006/04/06(木) 11:18:05OLE オートメーションでエラーが
発生しない様にコードを書く。
0403デフォルトの名無しさん
2006/04/06(木) 11:59:38イミディエイトウィンドウで表示しようとしても化けててみえません。
回避方法ご存じないですか?
0404デフォルトの名無しさん
2006/04/06(木) 12:28:01ttp://www.vector.co.jp/soft/win95/util/se319935.html
0405sage
2006/04/06(木) 12:36:22ものすごいありがとうございました。
0406デフォルトの名無しさん
2006/04/06(木) 12:55:55どこでもホイール
あと、ロジクールのマウスドライバを入れてもOK。
0407デフォルトの名無しさん
2006/04/06(木) 14:32:13環境:VB6.0 Windows2000 SPREAD:Ver.7.0j
スプレッドシートのを3行を1行として扱うような感じでアクティブセルのフォーカスを結合させる方法を探しています。
ヘルプでいろいろ探したのですがそのようなプロパティは見当たりませんでした。
恐れ入りますが、ご存知の方にお答え頂けると幸いです。
0408デフォルトの名無しさん
2006/04/06(木) 14:43:25�d!
どこでもホイールでスクロール出来ました。
これは便利だ・・・
0409デフォルトの名無しさん
2006/04/06(木) 15:14:13それ、グレープシティの製品?
ならそっちで聞いた方がいいかも。
0410デフォルトの名無しさん
2006/04/06(木) 15:38:30派生して自作・・・って.netじゃなかったね。
とことんイベントに書き込むしかないんじゃないの?
0411デフォルトの名無しさん
2006/04/06(木) 23:39:49とか書いてるのを見るんだけど""とどう違うんですか?
0412デフォルトの名無しさん
2006/04/07(金) 01:01:27ttp://frog.raindrop.jp/knowledge/archives/000514.html
0413デフォルトの名無しさん
2006/04/07(金) 03:07:26Win32APIに渡す時は vbNullString は文字列としてのヌルポインタ(0アドレス)で "" は長さ0の文字列となる
0414デフォルトの名無しさん
2006/04/07(金) 08:27:480415デフォルトの名無しさん
2006/04/07(金) 09:23:02正しく説明してよ。
0416デフォルトの名無しさん
2006/04/07(金) 09:24:160417デフォルトの名無しさん
2006/04/07(金) 10:00:55>>415
0418デフォルトの名無しさん
2006/04/07(金) 10:02:16サーバー側にフォームをもつIISアプリケーションをつくりたいのですがうまくいきません。ご教授願います。
今の構成
[IISアプリ(ActiveX.DLL)] → [ブリッジソフト <データ受け渡し用>(ActiveX.EXE)] ← [サーバー側のモニタソフト]
モニタソフトを複数起動してブリッジソフトのデータは共有できるのですがIISアプリからは共有できません。
CreateObjectすると違うプロセスで起動しているようです。
コードです。------------
Dim objA As Actcom.clsBridge
Set objA = CreateObject("Actcom.clsBridge")
objA.ShowForm ブリッジソフトのフォームを表示
Set objA = Nothing
----------------------
0419デフォルトの名無しさん
2006/04/07(金) 10:23:24ActiveX.Exe なんて、マトモには動かないよ・・・
全く普及する事もなく、とっくに消えた技術だし・・・
0420デフォルトの名無しさん
2006/04/07(金) 11:12:01Excelスレのテンプレ読んだら「Excelの操作に関係ない部分はスレ違い」
とあったので…
0422デフォルトの名無しさん
2006/04/07(金) 11:30:31【2 Excelのバージョン 】 Excel2003
【3 検索キーワード 】 日本語かどうか判定
【4 レベル 】 初級(ポインタとか構造体とかサッパリ)
【5 目的 】 名字と名前を入力させ、セルに出力する
<現状>
試験的に名字を判定しています。現在の状況は、
半角数字、半角英字、一部の半角記号
全角数字、全角英字、一部の全角記号
が判定できています。
構文は超原始的です。てか、キレイに書けないorz
コードは次で↓
0423420
2006/04/07(金) 11:34:13( ⌒ ヽ 改行多すぎで貼れませんでした…
∪ ノ
U U
0424420(半分荒らしになりまつた)
2006/04/07(金) 11:43:24For L = 1 To H
If Mid(NM, L, 1) Like "[0-9]" Then
MsgBox "数字は入力できません"
GoTo A
ElseIf Mid(NM, L, 1) Like "[0-9]" Then
MsgBox "数字は入力できません"
GoTo A
ElseIf Mid(NM, L, 1) Like "[a-z]" Then
MsgBox "英字は入力できません"
GoTo A
・
・
・
ElseIf Mid(NM, L, 1) Like "[ ]" Then
MsgBox "スペースは入力できません"
GoTo A
ElseIf Mid(NM, L, 1) Like "[ ]" Then
MsgBox "スペースは入力できません"
GoTo A
End If
Next L
0425デフォルトの名無しさん
2006/04/07(金) 12:08:18かんたんコース :InStr関数を使う
発展コース :正規表現を使う
0426デフォルトの名無しさん
2006/04/07(金) 12:33:12ああスマンそれであってるねw
俺の勘違いだわ。
最近ほとんどVB使ってないもんでつい申し訳ない。
0427デフォルトの名無しさん
2006/04/07(金) 12:49:00表のヘッダ部分に月日を表示、そして各アイテム事に日程期間のガントチャートを描画する
フリーウェアでいえばhttp://www.gansuke.com/にある”がんすけ”のようなものを作りたいのです
がいい考えが受かびません。
市販のコントロールとしてはSpread2.5J、ChartBuilder5.0Jの開発ライセンスを持っているので
最初はできると思い作業を進めていったのですが・・・
どなたかいい知恵があればご教授お願いします。
0428デフォルトの名無しさん
2006/04/07(金) 12:55:27ありがとうございます
早速、修行します
0429デフォルトの名無しさん
2006/04/07(金) 13:01:00何聞きたいのかはっきりしろよ。
0430420
2006/04/07(金) 14:27:36無念!(><)
0431デフォルトの名無しさん
2006/04/07(金) 14:45:24Debug.Print """"
0432デフォルトの名無しさん
2006/04/07(金) 15:19:21日本語でおk。
0434デフォルトの名無しさん
2006/04/07(金) 16:09:22If NM Like "*[0-9]*" Then
0435デフォルトの名無しさん
2006/04/07(金) 16:51:26「日本語かどうか判定」が、いわゆる「全角」のアルファベットとかも弾くのなら
If (Text1.Text = StrConv(Text1.Text, vbLowerCase) And _
(Text1.Text = StrConv(Text1.Text, vbUpperCase))) Then
MsgBox "日本語です"
Else
MsgBox "日本語じゃないってばっちゃが言ってた"
End If
とか。
0437427
2006/04/08(土) 08:28:49> >>427
> 何聞きたいのかはっきりしろよ。
まず、日程のためのカレンダー表の作り方がわからないのです。
横軸を月日、縦軸を各プロジェクトのアイテム項目としたいのです。
EXCELなら簡単にできますがVBではどうやっていいものかわかりません。
0438デフォルトの名無しさん
2006/04/08(土) 09:22:04にした時に使用するバックバッファのサイズって変更できますか?
扱う画像がバックバッファに収まりきれずにAutoredrawエラーが発生します。
すいませんが、どなたかご教授願います。
0439デフォルトの名無しさん
2006/04/08(土) 10:30:18エクセル使えばいいじゃん。
つーか、VBは、その手のソフトを作るツールじゃないよ。
カレンダーを実装したいなら、そういうコントロールを
買って貼り付ける。
>>438
無理。
0440デフォルトの名無しさん
2006/04/08(土) 12:14:43つーかバッファのサイズを変更って発想が理解不能。
必要なバッファのサイズは当然描画領域の面積によって自動的に決まっちゃうんじゃないの?
脳味噌腐ってないか?w
何らかの理由で[ピクチャーボックスのサイズ] ≠[描画領域のサイズ] ってことなら
描画領域だけAutoredraw = Trueにした別のピクチャーボックス使えばいいんじゃないの。
0441デフォルトの名無しさん
2006/04/08(土) 12:29:27お前の脳味噌も半分腐ってるな
0442デフォルトの名無しさん
2006/04/08(土) 12:33:14具体的なことは何もいえないのかなw
0443デフォルトの名無しさん
2006/04/08(土) 13:38:55画像を真面目に扱いたいなら、「LEAD TOOLS」とか使った方がいいよ。
0444デフォルトの名無しさん
2006/04/08(土) 14:09:38御回答有難う御座います。
>つーかバッファのサイズを変更って発想が理解不能。
>必要なバッファのサイズは当然描画領域の面積によって自動的に決まっちゃうんじゃないの?
と言う事はメインメモリを増やせば改善されるということですか?
0445デフォルトの名無しさん
2006/04/08(土) 14:15:04>PictureBoxでautoredraw = true
>にした時に使用するバックバッファのサイズって変更できますか?
>扱う画像がバックバッファに収まりきれずにAutoredrawエラーが発生します。
>
>すいませんが、どなたかご教授願います。
×使用するバックバッファのサイズ
○使用するバックバッファサイズの上限
0446デフォルトの名無しさん
2006/04/08(土) 14:46:56メインメモリを増やしても無駄。
リソースの問題だから。
0447デフォルトの名無しさん
2006/04/08(土) 14:59:460448デフォルトの名無しさん
2006/04/08(土) 15:18:25実現したい処理内容を明確にしないと、ゴチャゴチャどうでもいいレスは付くが
問題の解決方法は得られないよ。
描画に関しては「すべからくこのようにすればいい」なんていう
銀の弾丸は存在しないからね。
0449何かを作りたい人
2006/04/08(土) 21:13:52コマンドをクリックするとプロジェクトを終了する方法は知っているのですが
Private Sub Command1_Click()
If Text1.Text = "Hello." Then Unload Me
If Text1.Text = "" Then Text1.Text = "Hello."
End Sub
とコマンドのところに打ち込んで
開始のボタンを押すと
hello.は表示されるんですが
もう一回コマンドをクリックすると終了されたように見えて実行中になっているのですが
なんでですか?
0450デフォルトの名無しさん
2006/04/08(土) 21:25:12'ココで Unload される
If Text1.Text = "Hello." Then Unload Me
'Unload されているのに Text1.Text = "" を比較しようとしているので
'FormはText1を見る為に再ロードされた
If Text1.Text = "" Then Text1.Text = "Hello."
でOK?
下のIfをElseIfにすればいいんでない?
0451デフォルトの名無しさん
2006/04/08(土) 23:14:32Select Caseにするとか、とにかくUnload後にText1を見に行かなきゃ
いいわけですね。
0452デフォルトの名無しさん
2006/04/08(土) 23:17:00Text1.Textが"Hello."じゃなかったらCancel=Trueとか。
ここまで書くとよけいなお世話か。
0453デフォルトの名無しさん
2006/04/08(土) 23:21:020454437
2006/04/09(日) 06:53:31> >>437
> エクセル使えばいいじゃん。
> つーか、VBは、その手のソフトを作るツールじゃないよ。
> カレンダーを実装したいなら、そういうコントロールを
> 買って貼り付ける。
そういうコントロールが市販されているメーカーがあればば知りたいのです。
グレープシティ社しか私は知らないので・・・
0455何かを作りたい人
2006/04/09(日) 07:59:17ありがとうございました
いいものが作れそうです
0456デフォルトの名無しさん
2006/04/09(日) 10:05:590457438
2006/04/09(日) 10:30:09開発OSと実行OSのデスクトップ・アプリケーション・ヒープサイズの
違いが問題となっている事が多いのでしょうか?
NT系であれば上記ヒープサイズは普通3Mbyte確保されているらしいですが、
どうもNT3.5だけ512kbyteに設定されているみたいです・・・・・・
0458438
2006/04/09(日) 10:36:30上限を変更できるようですが如何せん、上記ヒープは全てのプロセスに
マッピングされるようなので下手にサイズ変更するのは危険らしいです。
共用で使用しているPCならなおさらですね・・・・・・・
結局、扱う画像のサイズを落とすしかないのか・・・・
0459438
2006/04/09(日) 10:42:47リソース使用率を低下させるという策もあるようですが、
確実に解決できる策ではないですね・・・・・・・
0460デフォルトの名無しさん
2006/04/09(日) 10:47:32運用環境と全く同じ環境で開発&テストするのは、常識以前の話なんだが。
それに、2000でセットアップを作成してNT4にインストールなんかしたら、
NT4の環境が破壊される。
0461438
2006/04/09(日) 11:08:31にして、Scale関係のプロパティで拡大縮小表示をしたいのですが
実寸の数値が大きすぎてAutoRedrawエラーが発生してしまっています。
変更したい倍率にしてからPictureBoxに描画すれば良いのですが、
現状、データを整数値で管理している上、整数値でPictureBoxに
描画を行っている為、誤差が酷くなってしまうのです。
0462438
2006/04/09(日) 11:15:47整数値で描画をする処理は変更をしたくない状態です。
0463デフォルトの名無しさん
2006/04/09(日) 11:19:10そうですか。
0464デフォルトの名無しさん
2006/04/09(日) 11:27:48ヒント:日記は自分のブログで。
0465デフォルトの名無しさん
2006/04/09(日) 11:37:38まあ幼稚なガキのレスは無視するよろし。
しかし、君のレスにも問題あるだろ。
461で君が言っていることが正しいとすれば、(俺は正しくないと思うんだけど)
それってAutoRedrawと関係ないように聞こえるけど。
MSDNによると、VBのグラフィックメソッドの座標の引数は単精度、
つまりSingle型となっている。
実寸の数値が大きすぎて、というけど、Single型で足りない実寸って
どんな巨大なもの表現するつもりよ?
太陽の直径をmmで表現したってお釣りがくるはずなんだけど。
まず起こっている問題をもっと正確に分析すべきじゃないの?
0466デフォルトの名無しさん
2006/04/09(日) 22:59:53オブジェクト指向の考え方を両方とも似た文法で書くのですか
違うとしたらどこが違いますか
0467デフォルトの名無しさん
2006/04/09(日) 23:25:01言った奴に聞けよ
0468デフォルトの名無しさん
2006/04/10(月) 00:03:21オブジェクト指向は言語でやるものではない。
考え方や作り方であって書き方ではないのだよ。
0469デフォルトの名無しさん
2006/04/10(月) 00:11:09ディレクトリを表示する方法を教えて下さい。
0470デフォルトの名無しさん
2006/04/10(月) 02:15:25どのくらい一致していれば似たことになるのかわからないが、
違うとしたら似たところ以外が違う。
ってこんなふうに、あいまいな質問を皮肉っぽく馬鹿にしたレスを付けるから
スレが荒れるんだよな。
0471デフォルトの名無しさん
2006/04/10(月) 09:05:03FileListBox なら、Archive, System, Hidden, ReadOnly があるのにね。
0472デフォルトの名無しさん
2006/04/10(月) 15:53:24ORACLEにINSERT文で時間を挿入したいのですが、どうもうまくいきません。
例えば、テーブルAにdate1(DATE型)があるとして、
INSERT INTO A (date1) values(SYSDATE) はうまくいくのですが、
自分で好きな時間を挿入する場合はどうすればいいのでしょうか?
INSERT INTO A (to_char(date1,'YYYY/MM/DD HH24:MI:SS') values('2006/04/10 15:51:30')
は、だめでした。
0473デフォルトの名無しさん
2006/04/10(月) 15:59:47DB版いけ〜というところだが、一応答えておこう。
INSERT INTO A (date1) values(to_date('2006/04/10 15:51:30','YYYY/MM/DD HH24:MI:SS'))
0474デフォルトの名無しさん
2006/04/10(月) 16:10:12472です。
できました。
どうもありがとうございました。
0475466
2006/04/11(火) 19:52:460476デフォルトの名無しさん
2006/04/11(火) 20:11:22ヒント:適材適所
0477デフォルトの名無しさん
2006/04/12(水) 09:30:250478デフォルトの名無しさん
2006/04/12(水) 12:39:33ていうかOOP万能なんていう奴は聞いたこともないけどね。
0479デフォルトの名無しさん
2006/04/12(水) 13:00:412chにうようよいますが、万能と発言はしなくても一連の発言からそうとれる阿呆が。
0480デフォルトの名無しさん
2006/04/12(水) 13:18:01設計する人が優秀かどうか、だね。
0481407
2006/04/12(水) 18:29:28グレープシティの製品です。
ここ以外に質問できるところをご存知でしたら教えて頂きたいです。
スプレッドのスレは見つけたのですが人がいませんし
ほかのサイトで質問してもあまり返信がありません。
>>410
すみませんが派生して自作の意味がよくわかりません。
0482デフォルトの名無しさん
2006/04/12(水) 18:40:11>>407そのようなプロパティは見当たりません
↓
>>410とことんイベントに書き込むしかないんじゃないの?
答え出てるじゃんよ
0483デフォルトの名無しさん
2006/04/12(水) 18:58:41ここ以外って、グレープシティの製品なんだから、
グレープシティに聞けばいいじゃん。
メイルサポートやってなかったっけ?
0484デフォルトの名無しさん
2006/04/12(水) 19:08:23画面をハードコピーしたいのですが、
PrintFormだと画面上に表示されたものしか印刷できません。
スクロールバーの付いたテキストボックスなどのように、
画面上に表示しきれない内容をすべて印刷できる方法はありますか?
0485デフォルトの名無しさん
2006/04/12(水) 19:41:17ある。
0486デフォルトの名無しさん
2006/04/12(水) 19:48:09あるのですね。
それでは、貴方はそのやり方を説明できますか?
0487デフォルトの名無しさん
2006/04/12(水) 19:48:440488デフォルトの名無しさん
2006/04/12(水) 19:52:41できます。
0489デフォルトの名無しさん
2006/04/12(水) 19:53:26まあそれにしても、484はもう少し実現したいことを具体的に書かなきゃだめだよ。
テキストボックスなどのように、って何だよ。
テキストボックスの内容(要するにテキストだけど)を印刷したいのかい?
それならサンプルを見つけるのに苦労しないはずだと思うが。
0490デフォルトの名無しさん
2006/04/12(水) 19:53:59それをどうやって証明するのですか?
実際にやり方を説明しなければ証明できないと思いますが、
では証明(やり方を説明)してみてください。
0491デフォルトの名無しさん
2006/04/12(水) 19:55:58ん? 印刷したいのは、
> スクロールバーの付いたテキストボックスなどのように、
> 画面上に表示しきれない内容を
だろ?
「など」と書いてあることからテキストボックス以外も含まれるとわかると思うが?
0492デフォルトの名無しさん
2006/04/12(水) 19:58:41>>485みたいにイカレタ奴ばかりじゃなくて、
真面目に回答しようと思ってる奴だって少しはいるのに。
別に煽りでも何でもなくて、文字列を印刷する方法が分からないし、
サンプルも探せない、って本気で言ってるのならプログラミングなんて
やらない方がいいよ。見込みないから。
0493デフォルトの名無しさん
2006/04/12(水) 20:00:21スクロールバーのついたテキストボックスなどの
画面に表示しきれない内容だろう。
だれが文字列を印刷する方法がわからないといっているんだ?
0494デフォルトの名無しさん
2006/04/12(水) 20:02:17君も馬鹿だね。
じゃあスクロールバー付きの物を含むコントロールが複数存在するような
画面のハードコピーなんてどうやって実現するんだよ。
技術的な問題じゃないよ。
レイアウトはどう決めるの?
0495デフォルトの名無しさん
2006/04/12(水) 20:04:50ttp://upload.wikimedia.org/wikipedia/commons/3/32/Clitoris-Vivero-Becker.jpg
0496デフォルトの名無しさん
2006/04/12(水) 20:05:00分かってていってるのかな。
0497484
2006/04/12(水) 20:12:27私の質問の仕方が悪かったのか、ずいぶん荒れてしまったようです。
どうもスミマセンでした。
スクロールの付いたテキストボックスはフォーム上に1つだけです。
フォーム全体の印刷ができなくても、テキストボックスの内容だけ印刷できればいいです。
(本当はスプレッドシートを使用しているのですが、テキストボックスで印刷できれば後は自分で考えます。)
0498デフォルトの名無しさん
2006/04/12(水) 20:25:59だったら、それこそ「文字列の印刷」を調べればいいだけじゃん?
それとも「テキストボックスの中に文字列が書いてある画像」を
印刷したいなら、画像(ビットマップ)を印刷する方法になるかな。
0499デフォルトの名無しさん
2006/04/12(水) 20:29:17「テキストボックスの内容」なんて普通の文字列なんだから、
画像としてじゃなく、普通に印刷すればいいじゃん。
0500484
2006/04/12(水) 20:33:11>>499
484です。
スミマセン、また説明不足でした。
文字列を印刷したいのではなく、
テキストボックスをスクロールバーのEnabledプロパティがFalseになるまで
伸ばしてテキストボックス全体をハードコピーしたいのです。
(実際にはスプレッドシート全体をハードコピーしたい。)
0501デフォルトの名無しさん
2006/04/12(水) 21:01:06「スクロールバーのEnabledプロパティがFalseになるまで」の意味が不明だが、
文字列長が画面よりも長かったらどうすんの?
相変わらず仕様が分からん。
0502デフォルトの名無しさん
2006/04/13(木) 03:10:55>>テキストボックスをスクロールバーのEnabledプロパティがFalseになるまで伸ばして
テキストボックスに全て文字が見えるようにHeight・Widthを調整してから
テキストボックス全体をキャプりたいって言う事か
テキストボックスに表示されている文字の高さ・幅が分からなくて
テキストボックスを調整できず途方にくれているのか?
0503デフォルトの名無しさん
2006/04/13(木) 09:24:11フォームのアイコンなんですが
普通、下図のようなアイコンのはずですが、
なにかの拍子に上図のようなアイコンに変わっちゃいました・・・
どこを弄れば元に戻りますか?
0504デフォルトの名無しさん
2006/04/13(木) 09:29:460505デフォルトの名無しさん
2006/04/13(木) 09:46:29Form の Icon プロパティじゃなくて?
0506デフォルトの名無しさん
2006/04/13(木) 09:53:58フォームを追加した場合、初期のデフォルトでは「(なし)」にはなってない筈。
0507デフォルトの名無しさん
2006/04/13(木) 09:55:41Iconプロパティで
デフォルトでは(アイコン)となってるところをデリートすると(なし)になって、
アイコンが変わってしまうんですね
もとのアイコンにはどうやって戻したら・・・
0508デフォルトの名無しさん
2006/04/13(木) 10:27:39*.Frm をエディタで変更すればいい。
なしにしたら
Begin VB.Form Form1
Caption = "Form1"
ClientHeight = 9492
ClientLeft = 1344
ClientTop = 1380
ClientWidth = 5628
LinkTopic = "Form1"
ScaleHeight = 9492
ScaleWidth = 5628
End
って感じになってるので、
Begin VB.Form Form1
Caption = "Form1"
ClientHeight = 9492
ClientLeft = 1344
ClientTop = 1380
ClientWidth = 5628
Icon = "Form1.frx":0000 ← 追加
LinkTopic = "Form1"
ScaleHeight = 9492
ScaleWidth = 5628
End
にする。
0509デフォルトの名無しさん
2006/04/13(木) 10:33:31ありがとう!直りました
ただ、逆でしたが・・・
アイコンが(なし)のものに、
Icon = "Form1.frx":0000
があったので、この行を削除したら
標準に戻りました
0510デフォルトの名無しさん
2006/04/13(木) 11:00:55あぁそうそう間違えた。
0511デフォルトの名無しさん
2006/04/13(木) 13:41:56質問させてください
Altキー押しながら"I"を押す
コードって どうしたらいいですか?
0512デフォルトの名無しさん
2006/04/13(木) 14:28:48テキストp.52〜p.54に載っている順序配列のプログラム(orderedArray.java)を参考
に、ひな形プログラム中の次の各メソッドを完成させよ。完成すると、二分探索の様
子を表示しながら探索を実行してくれるようになる。
1-1:配列の内容を表示するメソッドを完成させよ。
・課題2
1-2:配列にランダムな値を大小順に代入して初期化するメソッドを完成させよ。
・課題3[記入内容非公開]
1-3:二分探索を実行するメソッドを完成させよ。
・課題4
1-4:mainメソッドを完成させ、ソート過程を表示しながら選択ソートを実行するよう
にせよ。
・課題5
1-5:作成したプログラムが正しく選択ソートを実行していることが分かる
実行結果を示し、正しく動作していることを説明せよ。
・課題6
1-6:考察・感想・デバッグ履歴を述べよ。
ひな形プログラムは以下↓のWebページに掲載してあります。
http://edu.kankyo-u.ac.jp/InfSys/class2006/Programming3/20060410/BinarySearch.java
余裕のある人は、配列の大きさによって二分探索にかかるステップ数の平均が
どのように変化するか、調べてみよ。
どうしても分からないので、よろしくお願いします。
0513デフォルトの名無しさん
2006/04/13(木) 14:37:14これは酷いなちょっとメールしておくか
0514デフォルトの名無しさん
2006/04/13(木) 17:41:06なにかマズイ部分ってありますか?
Public Function QueryToTextFile(dirPath As String, sql As String) As Variant
On Error GoTo On_Error_Connection
Dim connection As ADODB.connection
Set connection = New ADODB.connection
connection.ConnectionString = "Driver={Microsoft Text Driver (*.txt; *.csv)};DefaultDir=" & dirPath
connection.Open
On Error GoTo On_Error_Record_Set
Dim recSet As ADODB.Recordset
Set recSet = New ADODB.Recordset
recSet.ActiveConnection = connection
recSet.Open sql, , adOpenDynamic, adLockReadOnly
If recSet.EOF = False Then
QueryToTextFile = recSet.GetRows()
End If
recSet.Close
On_Error_Record_Set:
Set recSet = Nothing
connection.Close
On_Error_Connection:
Set connection = Nothing
End Function
0515デフォルトの名無しさん
2006/04/13(木) 17:49:060516デフォルトの名無しさん
2006/04/13(木) 18:35:39SendKeys "%i", True
0517デフォルトの名無しさん
2006/04/13(木) 18:36:38動かしてみればいいじゃん。
0518デフォルトの名無しさん
2006/04/13(木) 20:59:11の行でエラーになったり、ならなかったりと不安定で、
原因が謎なので、どこかおかしな記述でもあるのかなと思って。
0519デフォルトの名無しさん
2006/04/13(木) 22:00:44取り敢えずは、 Connection オブジェクトがあるんだから
Dim connection As ADODB.connection
↑変数名に使うのはやめるとか。
0520デフォルトの名無しさん
2006/04/13(木) 22:04:02まったく同じデータ&環境でエラーになったり、ならなかったりするの?
「どういうとき」に「どういうエラー」になって、
正常なときと「どう違う」のかを調べてから出直したら?
それってあんたしか調べようがないんだからさw
0521デフォルトの名無しさん
2006/04/13(木) 22:38:43とりあえず動作に関しては、それはまったく意味が無い。
0522デフォルトの名無しさん
2006/04/14(金) 01:13:11.NETだと扱えるClassがあるみたいなんですがVB6だとどうなんでしょうか・・・
外部DLL併用でもよいので知恵をかしてくださいませ。
0523デフォルトの名無しさん
2006/04/14(金) 09:38:40ttp://www.google.co.jp/url?sa=U&start=1&q=http://www005.upp.so-net.ne.jp/cyber-catseye/e2csv/exif2csv00.html&e=10001
0524デフォルトの名無しさん
2006/04/14(金) 10:25:05いわゆる"CheckedListBox"が別にあるのでしょうか?
0525デフォルトの名無しさん
2006/04/14(金) 10:37:170526デフォルトの名無しさん
2006/04/14(金) 10:38:09List1のプロパティ
Style
0=標準
1=チェックボックス
0527デフォルトの名無しさん
2006/04/14(金) 10:38:53ヒント:ListBox の Style プロパティ
0528デフォルトの名無しさん
2006/04/14(金) 10:45:20何の話だよ。
何故アンカーを付けん。
0529デフォルトの名無しさん
2006/04/14(金) 10:49:49514
0530デフォルトの名無しさん
2006/04/14(金) 10:52:430531デフォルトの名無しさん
2006/04/14(金) 11:13:33ありがとうございます。表示できました。
0532デフォルトの名無しさん
2006/04/14(金) 11:32:27DataGridのようにDataSourceにrecordsetを設定してその内容を表示したいと思います。
しかし、単純にList1.DataSource = recordsetとしても表示は更新されませんでした。
レコードセットから必要な情報を取り出して、それぞれAddItemしないといけないのでしょうか。
0533532
2006/04/14(金) 13:35:27rs.MoveFirst
Do Until rs.EOF
Me.List1.AddItem (rs.Fields(0) & " " & rs.Fields(1) & "...")
rs.MoveNext
Loop
0534デフォルトの名無しさん
2006/04/14(金) 14:13:27Microsoft Data Bound List Controls 6.0 (SP6)
Microsoft DataList Controls 6.0 (SP3) (OLEDB)
とか使った方がいいかも。
0535デフォルトの名無しさん
2006/04/14(金) 14:36:50レスありがとうございます。
一応試してみたのですが、その二つはチェックボックスを表示させる事ができないようです。
>>524と>>532をスマートな形で満たせるのはListBoxしかないのでしょうか。
0536デフォルトの名無しさん
2006/04/14(金) 14:37:46outlookのメール送信ページが起動されて自動的に〜〜〜〜〜〜〜の部分をあて先に入力できるようにしたいんですが
どうすればいいですかね?調べたんですがsmtpとかの送り方とかそういう難しいのしかみつからなかったんで
あて先自動出力だけでいいんですが。
2chの名前欄クリックでsageとかがあて先に入力なるような感じにしたいのです。
winXpPro VB6.0SP6
0537デフォルトの名無しさん
2006/04/14(金) 14:43:13文字中のクリックかな?
HTMLにしてWEBのコントロールで表示すれば?
0538デフォルトの名無しさん
2006/04/14(金) 14:46:35ShellExecuteでいいよ。
0539デフォルトの名無しさん
2006/04/14(金) 14:49:04ヒント:
ShellExecute(Me.hwnd,"open","mailto:[email protected]", vbNullChar,vbNullChar,SW_SHOWNORMAL)
0540デフォルトの名無しさん
2006/04/14(金) 15:24:15教えて頂いたのを元に検索してみたら無事成功しました
どうもありがとうございます。助かりました
0541デフォルトの名無しさん
2006/04/15(土) 00:19:53>523
このようなサイトがあるのですね。
今日は仕事でこの時間の帰宅なので明日以降内容を見てためしてみます。
ありがとうございました。
0542デフォルトの名無しさん
2006/04/15(土) 08:56:07Private Sub Command1_Click()
Dim X
For X = 1 To 100000 Step 1
If (X + 1) Mod 2 = 0 Then
If (X + 2) Mod 3 = 0 Then
If (X + 6) Mod 5 = 0 Then
If (X + 30) Mod 11 = 0 Then
If (X + 330) Mod 41 = 0 Then
MsgBox ("答えは「" & X & "」です!")
Exit Sub
End If
End If
End If
End If
End If
Next
MsgBox ("解無し")
End Sub
これって、もっとスマートな書き方は無いでしょうか?
0543デフォルトの名無しさん
2006/04/15(土) 10:00:17ヒント 関数。
0544デフォルトの名無しさん
2006/04/15(土) 10:11:40っつーか、google で検索すれば殆ど何でもあるぞ。
>>542
十分スマートで素直じゃん。
絶対にバグの入り込む余地がないし。
0545デフォルトの名無しさん
2006/04/15(土) 12:35:57上3つから X = 19 + 30n(n >= 0) までは簡単に出る。
0546デフォルトの名無しさん
2006/04/15(土) 12:49:29For X = 1 To 100000 Step 1
この時点で問題の要件を満足していない。
答えが必ず100000までの中にあると決めている。
0547デフォルトの名無しさん
2006/04/15(土) 13:00:28分からん。説明してよ。
0548デフォルトの名無しさん
2006/04/15(土) 13:31:22「ヒント」だとかさ。
馬鹿だからよくわからない、
しかし人様に偉そうに教えを垂れてはみたい、っていう幼稚な心象がミエミエ。
見てるこっちが恥ずかしいよw
0549デフォルトの名無しさん
2006/04/15(土) 13:34:31変に小細工するよりそれでいいと思う。
ただ、せめてネストの順序は逆にした方がいいね。
あえて小細工するならこんな感じか?
0550デフォルトの名無しさん
2006/04/15(土) 13:35:09Dim X As Long
For X = 1 To 100000
If MeetConditions(X) Then Exit For
Next
MsgBox ("答えは「" & X & "」です!")
End Sub
0551デフォルトの名無しさん
2006/04/15(土) 13:36:16MeetConditions = MeetConditionN(X, 1)
End Function
Private Function MeetConditionN(X As Long, N As Integer) As Boolean
Dim meet As Boolean
Select Case N
Case 1
meet = ((X + 330) Mod 41 = 0)
Case 2
meet = ((X + 30) Mod 11 = 0)
Case 3
meet = ((X + 6) Mod 5 = 0)
Case 4
meet = ((X + 2) Mod 3 = 0)
Case 5
meet = ((X + 1) Mod 2 = 0)
MeetConditionN = meet
Exit Function
End Select
If meet = False Then
MeetConditionN = False
Else
MeetConditionN = MeetConditionN(X, N + 1)
End If
End Function
0552デフォルトの名無しさん
2006/04/15(土) 13:38:34別の人がメンテするのも大変そうだ。
0553デフォルトの名無しさん
2006/04/15(土) 14:08:20Const Max = &H7FFFFFFF
Do
N = N + 1
If N > (Max) / 41 Then
MsgBox ("忙しいから又今度ね!")
Exit Sub
End If
If N Mod 1000 = 0 Then
DoEvents
End If
X = 41 * N - 330
If (X + 30) Mod 11 = 0 Then
If (X + 6) Mod 5 = 0 Then
If (X + 2) Mod 3 = 0 Then
If (X + 1) Mod 2 = 0 Then
MsgBox ("答えは「" & X & "」です!")
Exit Sub
End If
End If
End If
End If
Loop
0554デフォルトの名無しさん
2006/04/15(土) 14:13:50よくそんなんで人様に教えを垂れる気になれるなあ。。
0555デフォルトの名無しさん
2006/04/15(土) 14:32:47プロの、仕事としてコードを書くプログラマなら、>>542
が正解でしょうね。
0556デフォルトの名無しさん
2006/04/15(土) 15:39:410557デフォルトの名無しさん
2006/04/15(土) 15:47:13俺ならこう書く。
Private Sub Command1_Click()
Dim X As Long
For X = 1 To 100000 Step 1
If foo(X) = True Then
MsgBox ("答えは「" & X & "」です!")
Exit Sub
End If
Next
MsgBox ("解無し")
End Sub
Private Function foo(ByVal n As Long) As Boolean
foo = False
If (n + 1) Mod 2 <> 0 Then Exit Function
If (n + 2) Mod 3 <> 0 Then Exit Function
If (n + 6) Mod 5 <> 0 Then Exit Function
If (n + 30) Mod 11 <> 0 Then Exit Function
If (n + 330) Mod 41 <> 0 Then Exit Function
foo = True
End Function
0558デフォルトの名無しさん
2006/04/15(土) 15:57:26アルゴリズムの話。
0559デフォルトの名無しさん
2006/04/15(土) 16:32:21こんなのはどうですか?
Dim n As Variant
Dim i As Long, j As Long
Dim found As Boolean
n = Array(Array(1, 2), Array(2, 3), Array(6, 5), Array(30, 11), Array(330, 41))
For i = 1 To 100000
found = True
For j = LBound(n) To UBound(n)
If ((i + n(j)(0)) Mod n(j)(1)) <> 0 Then
found = False
Exit For
End If
Next
If found Then
MsgBox "答えは" & i & "。"
Exit For
End If
Next
If found = False Then
Debug.Print "答えはなし。"
End If
0560デフォルトの名無しさん
2006/04/15(土) 16:46:290561デフォルトの名無しさん
2006/04/15(土) 16:53:490562デフォルトの名無しさん
2006/04/15(土) 17:03:12ここに書き込むと全部先頭の空白が詰まっちゃうから
書き込まない。
0563デフォルトの名無しさん
2006/04/15(土) 17:26:290564デフォルトの名無しさん
2006/04/15(土) 19:59:48だから繰り返すけど、せめて条件判断の順序は逆にしないとね。
この手の問題は解析的に解いてしまってはそもそもプログラムの出番はない。
その点はそうなんだが、だからといって何の工夫もないのもね。
0565デフォルトの名無しさん
2006/04/15(土) 20:13:10解析的じゃない解き方って?
0566デフォルトの名無しさん
2006/04/15(土) 20:29:52例えば方程式の解をニュートン法を使って力技で求める方法に対して、
人間がやるように解くことを解析的っていうんだよ。
この問題でいったら、計算機使って小さな値から総当り的にチェックするんじゃなくて
算数的に理詰めで答えを出しちゃうことを言ってるわけ。
0567デフォルトの名無しさん
2006/04/15(土) 20:53:27ん?
誰が「算数的に理詰めで答えを出し」たの?
0568デフォルトの名無しさん
2006/04/15(土) 20:57:270569デフォルトの名無しさん
2006/04/15(土) 21:02:130570デフォルトの名無しさん
2006/04/15(土) 21:23:440571デフォルトの名無しさん
2006/04/15(土) 21:29:05ってやつを、button1の上にマウスを置いた時に表示させたいんだけど、どうしたら
いいの?
0572デフォルトの名無しさん
2006/04/15(土) 22:05:550573デフォルトの名無しさん
2006/04/15(土) 22:08:41ヒント:Command1.ToolTipText = "このボタンから始めます"
0574542
2006/04/15(土) 22:10:50ええと、算数的にというか、紙の上で計算してしまうほど工夫を凝らすのはやっぱり意味ないですよね。
せっかくパソコンとVBがあるんですから。その上で、自分が書いたものは、あまりにもそのまま過ぎる
感じがしたので、みなさんに質問させていただきました。
で、条件判断の順序を逆にするというのは納得です。あと思ったのは
「1 を加えると、 2 で割り切れる」っていうところからXは奇数に決められるので、
For文を使うなら Step 2 にしてもいいですよね。単純に処理が半分になる。
0575542
2006/04/15(土) 22:20:30最初「For X = 1 To 10000」としたものの、答えがそれ以上だったので書き換えたという
経緯があり、上限決めちゃダメかも、と。
でも>>553の「Const Max = &H7FFFFFFF」は知らなかったので勉強になりました。
上限にするならそこですね。
あとは、そうですね、>>557のようにFunctionプロシージャにして分けちゃうのもいいですね。
Trueを返す式があれば、上限をConst Max = &H7FFFFFFFにしてDo〜Loopでいくとか。
0576542
2006/04/15(土) 22:24:070577デフォルトの名無しさん
2006/04/15(土) 22:42:510579デフォルトの名無しさん
2006/04/15(土) 23:45:26君のおかげで、久し振りにココが活性化したよ。
0580デフォルトの名無しさん
2006/04/16(日) 10:28:311、解が無いかもしれない。
2、求める数値が非常に大きいかもしれない。
この2点を考えると、LoopやForで解く方法は好ましくない。
Select Caseは笑止。
0581デフォルトの名無しさん
2006/04/16(日) 10:33:34どうやって解けばいいの?
0582デフォルトの名無しさん
2006/04/16(日) 10:50:120583デフォルトの名無しさん
2006/04/16(日) 10:55:24知らん。
ここはVBのスレだ、数学のスレに行け。
0584デフォルトの名無しさん
2006/04/16(日) 10:57:49だから、「LoopやForで解く方法」以外のVBコードを示せと。
0585デフォルトの名無しさん
2006/04/16(日) 10:58:36どのレスがリカーシブコールだ、知らんのはおまえだろうw
0586デフォルトの名無しさん
2006/04/16(日) 11:05:45知らずによく批判できるもんだな。
まあ最初から批判が目的なんだろうけど。
そんなことしても、そこまでして人に相手にしてもらいたい自分がミジメになるだけだと
思うんだがね。
中高生だったら、そんなことしてると不幸になるぞ、細木和子みたいな言い草だが
18以上ならご愁傷様君の人生終わってるわ。
リカーシブコールってのは>>550-551のこと
0588デフォルトの名無しさん
2006/04/16(日) 11:18:49っ数子
0589デフォルトの名無しさん
2006/04/16(日) 11:19:210590デフォルトの名無しさん
2006/04/16(日) 11:23:430591デフォルトの名無しさん
2006/04/16(日) 11:32:50わけの分からん文言を並べてて、ごまかすのはやめろ。
おまえが書いた、
For X = 1 To 100000
これは、出題のどこから導き出したものだ。
しかし驚いた、単にCaseを切り替えるだけの為に、再帰を使うとは。
おまえの書いたコードの唯一の利点は、おまえ以外に用意にコードが
理解できないことだ、機密保持にはもってこいだなw
0592デフォルトの名無しさん
2006/04/16(日) 11:39:12っ容易
0593デフォルトの名無しさん
2006/04/16(日) 11:43:44そんなの問題でもなんでもないよ、悪いけど。
なぜなら「それで現に答えが出るから」。
誰も、「この」問題でなければそのようにはしないけど。
例えば、個別の条件判断の2のパラメータに任意の値を指定できるようにする、
というような問題ならforループで試行する数値の上限を決めうちするような
コードは書かない。
こんなの当たり前のことで、青筋立てて偉そうに言うようなことじゃないよ悪いけど。
0594デフォルトの名無しさん
2006/04/16(日) 12:39:19同意。
たぶん最近再帰を覚えたんで使ってみたかったんじゃないかな?
0595デフォルトの名無しさん
2006/04/16(日) 13:04:59ふーんそうかい、じゃあ再帰呼び出し(単に「再帰」じゃ意味をなさんよw)を使わず、
IFをネストしないようなコードを提示してみ?
>>557みたいな「ぶらさがり」を使って見た目だけネストがないように
見せかけるコードもなしね。
まあ各条件を個別に関数化するようなコードになるはずだが、
それが可読性や保守性の点からより望ましいといえるかね。
0596デフォルトの名無しさん
2006/04/16(日) 13:38:56「おまえ」て誰?
アンカー位付けてよ。
最近2chに来た人?
0597デフォルトの名無しさん
2006/04/16(日) 13:43:01>可読性や保守性の観点からすれば
再起よりはIFのネストのほうが良いと思う。
0598デフォルトの名無しさん
2006/04/16(日) 13:52:37それは最初からそういってるよw
0599デフォルトの名無しさん
2006/04/16(日) 14:19:15パフォーマンスが要求されて、初めてアルゴリズムを検討するな。俺なら。
0600デフォルトの名無しさん
2006/04/16(日) 14:19:330601デフォルトの名無しさん
2006/04/16(日) 14:47:34IFをネストしちゃいけないなんて誰が決めたんだ。
>>599
そこだな、数学というのはプロセスを重視する学問なんだ、
とりあえず答えが出ました、ではだめなんだな。
0602デフォルトの名無しさん
2006/04/16(日) 15:01:330603デフォルトの名無しさん
2006/04/16(日) 16:39:38> For X = 1 To 100000
> これは、出題のどこから導き出したものだ。
出題には条件を満たす最小の値と書いてあるから、
100000以内にあるだろうというめぼしを付けただけだろ。
なければ増やせばいいだけ。
0604デフォルトの名無しさん
2006/04/16(日) 16:42:03> この問題の一番難しい点は、
> 1、解が無いかもしれない。
> 2、求める数値が非常に大きいかもしれない。
> この2点を考えると、LoopやForで解く方法は好ましくない。
> Select Caseは笑止。
解が無いものをプログラムで説くことは出来んよな。
コンピュータが苦手な証明の問題。
完全に数学の問題だよ。すれ違い。
0605デフォルトの名無しさん
2006/04/16(日) 16:44:09そういうことはどうでもいいから、
お前が考えた答えを言ったら?
0606デフォルトの名無しさん
2006/04/16(日) 17:05:260607デフォルトの名無しさん
2006/04/16(日) 20:40:37そんなものは知らんといってるだろ。
考える気にもならん、数学の板に行け。
0608デフォルトの名無しさん
2006/04/16(日) 20:59:570609デフォルトの名無しさん
2006/04/16(日) 21:05:48んもー。ガッ。
0610デフォルトの名無しさん
2006/04/16(日) 21:44:10知らんなら中途半端に答えんな。
0611デフォルトの名無しさん
2006/04/16(日) 22:37:010612デフォルトの名無しさん
2006/04/16(日) 23:17:240613デフォルトの名無しさん
2006/04/16(日) 23:52:11っていうか、最初から「あえてする小細工」だと書いてあるのが読めないのかな
0614デフォルトの名無しさん
2006/04/16(日) 23:53:080615デフォルトの名無しさん
2006/04/17(月) 00:06:290616デフォルトの名無しさん
2006/04/17(月) 00:39:35頭悪そう。
0617デフォルトの名無しさん
2006/04/17(月) 02:03:59VS2003は環境設定に「標準に戻す」ボタンがついていたのですが…。
0618デフォルトの名無しさん
2006/04/17(月) 15:02:02何処を弄って変にしたの?
0619デフォルトの名無しさん
2006/04/18(火) 02:26:00そんなの聞いてどうするんだ?
変更箇所を何箇所も羅列してほしいのか?
そもそもそれがわからんから、標準に戻す方法なんだろ。
0620デフォルトの名無しさん
2006/04/18(火) 06:47:54そんな事はいいから、その方法を教えてやれよ。
0621デフォルトの名無しさん
2006/04/18(火) 07:05:16フォーム画面にアクセスのバーコードオブジェクトを用意しています。
printformで印刷はしましたが 読み取ってくれません。
もう少し綺麗に鮮明に印刷したいのですが方法はありますか?
あれば その方法をご指導いただけませんでしょうか?
VB単体で動かそうと思っているのですが無理な話でしょうか?
0622デフォルトの名無しさん
2006/04/18(火) 09:31:37定番だけど
ttp://support.microsoft.com/default.aspx?scid=kb;ja;161299
は?
0623デフォルトの名無しさん
2006/04/18(火) 09:33:04プリンタの印刷能力と、バーコードの仕様の問題でしょ?
機器メーカーのHPとかに、初歩的なバーコードの知識ってあるから見ておいたほうが良いよ。
細い線と太い線の比率、細い線の最低幅が決まっていて、
プリンタがその細さを出せないとか、ドライバ等の都合で比率を変えている場合はNG。
VBがどうこうじゃなくプリンタの問題。
まあ、あとそもそもでオブジェクトを大きめにはっつけて、大きめに印刷すれば?
あと、PrintFormはビットマップ経由だっけ?そんなことせずに付属のDataReportとかを使うとか。
もっと言えばMDB経由でACCESSのレポート機能使うとか。
0624デフォルトの名無しさん
2006/04/18(火) 16:25:17バーコードは画面に表示した時点でかなり潰れてる。
どんなに拡大しようが無理だった覚えがある。
直接プリンタオブジェクトに出力すること。
0625デフォルトの名無しさん
2006/04/18(火) 16:31:330626デフォルトの名無しさん
2006/04/18(火) 17:32:03あれは種類がかなり限定すぎるし、細かい設定が出来なかったよね。
チェックでじっととかスタートすとっぷびっととか。
0627デフォルトの名無しさん
2006/04/18(火) 17:45:230628デフォルトの名無しさん
2006/04/18(火) 20:07:23直接 プリンタオブジェクトって…
printer."バーコードオブジェクト"でおkですかね?
0629デフォルトの名無しさん
2006/04/19(水) 08:58:50それもなかなか欲しいのがなかったり・・・
RSSとか・・・使いたい帳票OCXに対応していなかったり。
0630デフォルトの名無しさん
2006/04/19(水) 09:03:17のですが、資料があまりありません。MSDNに資料があるでしょうか?
0631デフォルトの名無しさん
2006/04/19(水) 09:17:180632デフォルトの名無しさん
2006/04/19(水) 09:40:240633デフォルトの名無しさん
2006/04/19(水) 09:51:40印刷関数printReportを下記(*)のように書きました。
この関数は下記(**)のように呼び出しています。
このコードを動かしたところ、ループの始めの印刷はうまくいくのですが、
それ以降値の入っていないレポートが出力されてしまいます。
レポートを直接開いてプレビューを見ると、空のレポートにも値が存在していることが確認できます。
申し訳ありませんがご意見などいただけないでしょうか。
ちなみにクリスタルレポートのファイルとDBはADOでつないでいます。
0634633
2006/04/19(水) 09:52:14Public Sub printReport(slipID As String)
Dim filePath As String
filePath = "D:\hogehogeho\"
'クリスタルレポート設定
Dim cr10App As CRAXDRT.Application
Dim cr10Report As CRAXDRT.Report
Dim ExportOptions As CRAXDRT.ExportOptions
Set cr10App = New CRAXDRT.Application
Set cr10App = CreateObject("Crystalruntime.Application.10")
Set cr10Report = cr10App.OpenReport(filePath & "rptSlip3.rpt")
Set ExportOptions = cr10Report.ExportOptions
'出力先の指定
ExportOptions.DestinationType = crEDTDiskFile
'出力ファイル名の指定
ExportOptions.DiskFileName = filePath & slipID & ".pdf"
'出力形式の指定
ExportOptions.FormatType = crEFTPortableDocFormat
cr10Report.PrintOut False
cr10Report.Export False
Set cr10App = Nothing
Set cr10Report = Nothing
Set ExportOptions = Nothing
End Sub
0635633
2006/04/19(水) 09:53:10For i = 0 To XX
slipID = XXXX
Call slipPrinter.createOrderCombination(slipID)'データの準備
Call slipPrinter.printSlip(slipID)'印刷
Next
0636デフォルトの名無しさん
2006/04/19(水) 16:03:22エクセルにアクセスのバーコード機能(オブジェクト?)使って印刷したことある。
エクセルはライセンス必要だけど、アクセスはフリーの機能だけで使えた。
0637デフォルトの名無しさん
2006/04/19(水) 22:19:44ユニコード文字の入ったファイル名を扱うAPIなどはあるのでしょうか。
たとえばハート(Unicode:0x2665)は
dir関数だと「?」に変換されてしまいます。
ご教授願います。
0638デフォルトの名無しさん
2006/04/19(水) 22:36:11っStrConv
0639デフォルトの名無しさん
2006/04/19(水) 22:46:34うーん。strconvだとDir関数でファイル名を取得した後になりませんか?
dir関数で既にshift-jisに変換されているみたいなのですが
0640デフォルトの名無しさん
2006/04/19(水) 23:20:46ttp://www31.ocn.ne.jp/~heropa/vb15.htm
このページを見ながら頑張ってくだされ。
0641デフォルトの名無しさん
2006/04/19(水) 23:31:100642デフォルトの名無しさん
2006/04/19(水) 23:43:16「Windows APIのユニコードバージョンを使う方法」でうまくいきました。ありがとうございました。
>>641
あのね。「6.0以前」スレに質問してるんですけど。
0643デフォルトの名無しさん
2006/04/19(水) 23:50:19をぅ、へろぱ氏のサイトだ。w
0644デフォルトの名無しさん
2006/04/20(木) 00:09:26>>642
6.0以前スレに質問してるのはわかっているが、そんなことするんだったら6.0なんて
使わずにVB.NET使ってくれよ、って言いたかったんじゃないか?
回りくどいけど。
もう解決してるみたいだけど、別にVB.NETじゃなきゃできないわけでもないしなぁ。
0645デフォルトの名無しさん
2006/04/20(木) 00:38:36そのプロジェクトが持っている画面とかコントロールの種類を
各々を集計するために全てあわせて何種類のコントロールがあるか
算出したいので簡易的にそんなコントロール種類列挙方法があれば教えてください。
0646デフォルトの名無しさん
2006/04/20(木) 01:01:430647デフォルトの名無しさん
2006/04/20(木) 06:31:22grepで適当に抽出して解析スクリプト書いて集計
0648デフォルトの名無しさん
2006/04/20(木) 08:15:57Type *.Vbp | Sort | Uniq | Find "Object=" > Ocx.Txt
0649デフォルトの名無しさん
2006/04/20(木) 11:35:37TreeViewでの親NodeのKey指定に関してなんですが
Dim MainNode As Node
Dim OyaNode As Integer '親Nodeの番号
OyaNode = OyaNode + 1
With Me.TreeView
' ノードのソートを認めない
.Sorted = False
' ノードのラベルは編集できない
.LabelEdit = False
' Viewのラインとルート線の種類を定義
.LineStyle = tvwRootLines
' ルートノードを作る
Set MainNode = .Nodes.Add(, , OyaNode, "親Node1")
End With
' 2代目と3代目の子ノードを作る
With TreeView
' 息子ノードをフォルダアイコンで表す
.Nodes.Add OyaNode, tvwChild, , "子Node1"
End With
といった感じでKey指定を変数で行いたいのですが、この状態で実行すると「無効なキーです」
とエラーが出てしまいます。
ヘルプで調べたところ「Key名は1つのノードにつき一意でなければならない」とあったのですが
これは変数ではなく定数でないといけないということなのでしょうか?
0650デフォルトの名無しさん
2006/04/20(木) 13:16:00定数っつーか、一意のキー。
0651デフォルトの名無しさん
2006/04/22(土) 10:27:57どうしてUniqしてるのかわからないです
Uniqいらなくないですか?
0652デフォルトの名無しさん
2006/04/22(土) 10:39:03聞く前に、ありとなしでやって較べてみたの?
0653デフォルトの名無しさん
2006/04/22(土) 10:40:43タブブラウザぽいの作りたいんですが
タブでそれぞれページを表示するとこ
まではできたのですが、
(動的にWebBwroserコントロールを追加
していくことで)
タブごとにActiveXやjavascriptの設定を
いじるやり方がわかりません
レジストリの
HKEY_CURRENT_USER\SoftWare\Microsoft\
Windows\CurrentVersion\Internet Settings\
Zones\3
にIEのインターネットゾーンのセキュリティ設定
が書き込まれているみたいなので
これをいじろうと思ったのですが、どうやればよい
のかわかりません
sleipnirとかはどうやっているんだろう?
0654デフォルトの名無しさん
2006/04/22(土) 10:48:37レジストリを弄るのならAPIで。
0655648
2006/04/22(土) 10:50:35すまそ
私は最初の質問者じゃないんです
win2000pro,vb6.0sp6で
ためしにフォームにButtonとLabelを貼り付けて
プロジェクトを保存して、
できたvbpファイルをテキストエディタで開いて
みたんだけど
Object=なんていう行は一個もなかった
ThreadPerObjectならあったんだけどこれは違うよね
0656653
2006/04/22(土) 10:55:59ごめん質問の仕方が馬鹿だった
レジストリのいじりかたはわかってるんです
RegSetValueEx
とか使えばいいんだよね?
そうじゃなくて
例えばタブでIEが3つ表示されているときに
一つめはデフォルトセキュリティ設定で
二つめはActiveXだけ禁止で
三つめはjavascriptだけ禁止で
っていうふうにやりたいんだけど
これを実現する方法がわからないんです
0657デフォルトの名無しさん
2006/04/22(土) 11:41:03そりゃ標準以外のコントロール貼らないとある訳ないでしょ。
0659デフォルトの名無しさん
2006/04/22(土) 11:56:24VBPに残らないのはFRMを見るしかないね。
0660デフォルトの名無しさん
2006/04/22(土) 12:09:11Begin VB.Label
Begin VB.Shape
Begin VB.Line
Begin VB.OLE
Begin VB.Image
Begin VB.OLE
Begin VB.PictureBox
Begin VB.TextBox
Begin VB.Frame
Begin VB.CommandButton
Begin VB.CheckBox
Begin VB.OptionButton
Begin VB.ComboBox
Begin VB.ListBox
Begin VB.HScrollBar
Begin VB.VScrollBar
Begin VB.Timer
Begin VB.DriveListBox
Begin VB.DirListBox
Begin VB.FileListBox
Begin VB.Data
0661デフォルトの名無しさん
2006/04/22(土) 13:32:36要するに
>>645
の回答としては、簡単な方法は無い、と言うことかなあ。
>各々を集計するために全てあわせて何種類のコントロールがあるか
>算出したいので簡易的にそんなコントロール種類列挙方法があれば教えてください。
余計なお世話なんだけど、これって何に使うの?
Begin VB.Form Form1
・
Begin VB.Form Form2
・
たとえばこれは、Formのコントロールがあると数えるの、
それともFormを継承したコントロールが2つ有ると数えるの?
つまり、親のコントロールの種類を数えたいのか、派生したコントロールの
数まで数えたいのか、はたまた両方とも数えたいのか。
何に使うかによって、数え方が異なって来ると思うのだけど。
0662デフォルトの名無しさん
2006/04/22(土) 22:02:06>レジストリのいじりかたはわかってるんです
だったらやれよw
WebBrowser.ApplicationをIOleControlにキャストして
OnAmbientPropertyにDLCTL_NO_SCRIPTSを指定する
DLCTL_NO_SCRIPTS'スクリプトの実行拒否
DLCTL_NO_JAVA'Javaの実行拒否
DLCTL_NO_RUNACTIVEXCTLS 'AxtiveXの実行拒否
DLCTL_NO_DLACTIVEXCTLS 'AxtiveXのダウンロード拒否拒否
とかある
でもVBにはIOleControlインタフェースが定義されていないからVSでタイプライブラリで自作ね
ここ参考 http://msdn.microsoft.com/workshop/browser/hosting/wbcustomization.asp
0663デフォルトの名無しさん
2006/04/23(日) 21:24:47このツールをWinXPの制限ユーザモードで実行するとSQL発行の際にエラーが出てしまいます。
(手元に開発環境が無いので、エラーの内容がわかりません。)
ざっと検索してみたところWinXP+VB6.0において、
>なんらかのシステムファイルを参照するようなプログラムが「制限ユーザー」(Users)のとき、ロードできない。
というようなことがあるらしいのですが…。
http://72.14.203.104/search?q=cache:CREVGm9GOs4J:members.at.infoseek.co.jp/mythe_lune/contents_column/column030201.htm+xp+%E5%88%B6%E9%99%90%E3%83%A6%E3%83%BC%E3%82%B6+vb6&hl=ja&gl=jp&ct=clnk&cd=2&lr=lang_ja
今回の状況もそれに当てはまる可能性はあるのでしょうか。
ちなみに、同一PCのAdministrator権限で実行すると正常に動きます。
0664デフォルトの名無しさん
2006/04/23(日) 23:08:35そりゃ「制限」ユーザなんだから色々あるだろ。
そもそも、XPでVB6は駄目だけど。
0665デフォルトの名無しさん
2006/04/23(日) 23:37:11駄目ではないぞ。
0666デフォルトの名無しさん
2006/04/23(日) 23:57:53いや2000では何の問題もないのにXPでは動かない、って例が沢山。
って、一つあるだけでもう駄目なんだけどね。
0667デフォルトの名無しさん
2006/04/24(月) 00:08:11その例もださずに原因も推測せずに
なまいってんじゃねーよ
0668デフォルトの名無しさん
2006/04/24(月) 00:09:42VB以外でも同じことはあるけど?
0669デフォルトの名無しさん
2006/04/24(月) 00:38:28原因→VB6が世に出た時に、XPは存在しなかったから。
>>668
XPに対応してないんだな。
0670デフォルトの名無しさん
2006/04/24(月) 02:35:02MSはVB6自体はXPに対応していないと言ってるけど、VB6で作ったアプリはXPに対応しないとは言っていない
読む限りだと、アプリやコンポーネントの開発元が個別に動作確認してOKって言ったらOKだよって感じ
0671デフォルトの名無しさん
2006/04/24(月) 09:19:15趣味でやるのは全然構わないんだけど、
仕事でXP+VB6のシステムを提案するなんて事は、
少なくとも私には絶対に出来ない。
運用環境と同じ環境でテストしなければならないけど、
XPにVB6の開発環境なんて入れたら色々壊れるし。
例え「アプリやコンポーネントの開発元が個別に動作確認」しても、
VB6そのものがXP上で何一つテストされてないんだし。
まぁ、一通り動作確認して、その後不具合が出たら都度対応、
になるんでしょうな。
0672デフォルトの名無しさん
2006/04/24(月) 12:42:29XP環境でVB6のアプリの動作は問題ないですって。
Win2KやWin9xで問題がない程度には。
0673デフォルトの名無しさん
2006/04/24(月) 12:45:120674デフォルトの名無しさん
2006/04/24(月) 13:01:03問題ないってのが、業務で客に勧めるレベルじゃないからね。
自己責任だったら別に使うけど、客に入れるシステムじゃ責任もてないから使えないって言う。
MSが保証していないものを保証する>>672は度胸あるよ。
0675デフォルトの名無しさん
2006/04/24(月) 13:15:20客に勧める側なんだからコストに見合うと判断すれば勧めても良いだろ
別に調査の名目で金を取って問題点を致命的と報告して新規開発の案件に変えると言う手もある。
その辺は客との関係次第だよ
0676デフォルトの名無しさん
2006/04/24(月) 13:26:29金の問題じゃないんだけど。
何度も書くが、XPはVB6よりも後に出た。
つまり、XP上でVB6のシステムを構築したとして、
何らかの重大な不具合が出た場合、原因を調べて、
アプリのバグではなく、VB6かXPが悪かったとする。
そして、アプリ側では回避方法がない場合。
VB6のSPを出せとか、それに対するXPのパッチを
リリースしろとか、MSに言えるのか?
もしそれが、全国規模で展開した何万台ものPC上で
発生したらどうするつもりなの?
一応動作確認したとか2000等と同じ程度に動くとか、
そんなレベルでプロとして仕事してる?
客からは金取って納めてしまったんだから、MSが、
XP上でVB6は駄目だと言ってます、なんて言い訳が
通用する筈がない。
0677デフォルトの名無しさん
2006/04/24(月) 13:28:36お前さんの主張を要約すると結局金の問題だろ
0678デフォルトの名無しさん
2006/04/24(月) 13:29:57新規なら。
0679デフォルトの名無しさん
2006/04/24(月) 13:49:29まぁ確かにそれもそうだね。
0680デフォルトの名無しさん
2006/04/24(月) 14:14:22横レスだが、金の問題じゃない。
MSがサポート終了してるし、そもそも対応してないんだから、それを客に進める奴は根本的に何か間違ってる。
0681デフォルトの名無しさん
2006/04/24(月) 14:25:02対応してないとか嘘つくなよ
MSは元々ソフトウェアハウスが作ったアプリは個別に動作確認してくださいって言ってるだけだよ
それを言い出したら、XP上の.NET製のアプリでもMSは動作保証してくれて無いぞ
ただ、サポート切れてるから不慮の事態に対処できないとの免責事項無しでの契約は厳しいな
0682デフォルトの名無しさん
2006/04/24(月) 16:12:32VB6の「開発環境」は、XPに対応してない。
VB6で作成したアプリに関しては、その通り。
0683デフォルトの名無しさん
2006/04/24(月) 16:44:02つーか、98とかのOSの非サポートと一緒にスンナ馬鹿
0684デフォルトの名無しさん
2006/04/24(月) 17:09:570685デフォルトの名無しさん
2006/04/24(月) 18:07:140686デフォルトの名無しさん
2006/04/24(月) 18:13:05俺のまわりではC#使うほう人が多いようだが
0687デフォルトの名無しさん
2006/04/24(月) 18:31:55環境:WindowsXP SP2 & VB6
作ってるモノ:Winsockを使ったファイル送受信(バイナリデータ)
概要:
1 アプリ起動して最初の2,3回は送受信ともにうまく動く
2 2,3度ファイルを送受信しているうちに送受信するデータの1バイト目が抜ける現象が続けておきる(結果、総取得ファイルサイズは1バイト少なくなる)
3 自分が組んだプログラムが悪いのかと思いデバックやりまくりだが見つからず
4 Socket_DataArrivalイベントで最初の数バイトをファイルに落とす前に見てみたら、すでにその時点で1バイト落ちていた
0688デフォルトの名無しさん
2006/04/24(月) 18:36:52SP2のファイアウォールが入れてあるだけで他のセキュリティソフトは入ってません
どうかよろしこm(_ _)m
0689デフォルトの名無しさん
2006/04/24(月) 19:14:37やり方が間違ってるに1票・・・てか、手銃も解らないのに答えられるのか疑問
0690デフォルトの名無しさん
2006/04/24(月) 19:15:43手銃って何だよ(w
0691デフォルトの名無しさん
2006/04/24(月) 19:29:32・サーバにリクエストがやってくる
・データ受信用ソケットにaccept
・Data_Arrivalイベでデータ取得
と、フツーなやり方です
Private Sub DownloadSocket_DataArrival(ByVal bytesTotal As Long)
Dim Data() As Byte
DownloadSocket.GetData Data,vbByte
' ここのトコでData()配列の先頭見ると1バイト抜けてる
Winsockからデータを取り出す時点ですでに抜けてるから
ソケット自体かシステム的なものが原因と思うけど、そういうコトってある??
0692デフォルトの名無しさん
2006/04/24(月) 20:01:16XP上でVB6は動作保証されてないから、
そういう事もあるでしょうね。
まずWin2000で動かしてみては。
0693デフォルトの名無しさん
2006/04/24(月) 20:18:43OSのせいとは思えないがね。
適当なこというなよ。
0694デフォルトの名無しさん
2006/04/24(月) 21:17:58これ試してみそ
0695デフォルトの名無しさん
2006/04/24(月) 21:35:57自分のバグだと分かってるなら
「ソケット自体かシステム的なものが原因と思う」
って何なの?
0696687
2006/04/24(月) 21:48:51サンクス
でも、なんか無理っぽい
GetDataのオプションの組み合わせいろいろ試してみたけど、やっぱ先頭1バイトが抜けてくる。。。
.NET関連調べてきますorz
0697デフォルトの名無しさん
2006/04/24(月) 22:40:102000とか98(SE)で動かしてみた?
0698687
2006/04/24(月) 22:49:040699デフォルトの名無しさん
2006/04/24(月) 23:15:00っVMWare|VirtualPC
0700デフォルトの名無しさん
2006/04/25(火) 07:56:07InternetControlsっていうコンポーネントが標準でありますが
このコンポーネントを利用して現在、指定したURLのブラウザに
ある文書を取得するようなプログラムを作ってるのですが
同コンポーネントを利用して、配置されてるボタンやテキストボックスなどの
コントロールを取得したりボタンを押させるような処理を作る事は
できますでしょうか?代替の方法でももしありましたらアドバイスおねがいします
WIN2000、VB5でつくっています。
0701デフォルトの名無しさん
2006/04/25(火) 07:59:47自分のプログラムのバグの可能性99.9%.
0702デフォルトの名無しさん
2006/04/25(火) 10:01:21100%じゃないの。
0703デフォルトの名無しさん
2006/04/25(火) 11:09:54open "c:\test.txt" for output as #fp len = 32000
print #fp,chr(&h2020)
close #fp
とすると、test.txtには20の文字コード(半角スペース)が
出力されます。
chrが&h2020を20に変換してるようなんですが&h2020が
文字コードとして存在しないため20に変わっているんでしょうか。
&h2020を&h82a0("あ")に変更すると正しく"あ"が出力されます。
文字コード&h2020を直接ファイルに出力する方法はありますでしょうか?
0704デフォルトの名無しさん
2006/04/25(火) 11:19:38ヒント:四捨五入。
0705AMI
2006/04/25(火) 11:25:45早速ですが、質問させていただきます。
現在、Vb6.0+ACCESS2000を使用してシステム構築をしております。
そこで、ACCESSファイルにVBから接続をおこなっております
。
パスワードを設定してある、ACCESSファイルに、接続はできたのですが、
VB側から、ACCESSファイルにパスワードを設定、解除等できるのでしょうか?
ACCESSは、ツールから設定・解除ができるんですが、
VB側からその操作はできないのでしょうか?
よろしくお願いします。
0706デフォルトの名無しさん
2006/04/25(火) 11:56:07「chrが&h2020を20に変換してるようなんですが」って分かってるなら、
わざわざ変換しなけりゃいいじゃん。
0707デフォルトの名無しさん
2006/04/25(火) 11:57:12「ACCESSは、ツールから設定・解除ができる」のなら、
それをVBAで記録してみるとか。
0708デフォルトの名無しさん
2006/04/26(水) 01:01:48その辺の事はDeveloperEditionに付属のドキュメントに詳しく書いて有るからきちんと買って読みなさい
0709AMI
2006/04/26(水) 09:16:17>>708
ありがとうございました。
VBAを使う方法は、前回使用しておりましたので、
今回はVB側からそれの設定をしたいのです。
VB側からの操作はできるのでしょうか?
0710デフォルトの名無しさん
2006/04/26(水) 10:04:05・文字数無制限のテキストボックス
の作り方、または製品があれば教えてください。
0711デフォルトの名無しさん
2006/04/26(水) 10:11:19Microsoft RichTextBox Controlじゃダメ?
0713デフォルトの名無しさん
2006/04/26(水) 10:29:36そんなことは先に書け
0714デフォルトの名無しさん
2006/04/26(水) 10:34:26そのVBAをVBで実行すりゃいいだけだろ。
0715デフォルトの名無しさん
2006/04/26(水) 10:54:56「販売購買(作ったソフト名)が原因でNSVBVM60.DLLにエラーが発生しま
した。販売購買は終了します。
問題が解決しない場合は、コンピュータを再起動してください。」
とエラーメッセージが出るようになってしまいました。
NSVBVM60.DLLについて調べてみたのですが、出てくるエラーメッセ
ージは見つからないというのばかりのようです。
今回のような現象の場合はどう対処したらいいでしょうか?
0716デフォルトの名無しさん
2006/04/26(水) 11:24:24動作の遅さはハードの増強で解決するのが基本。
0717デフォルトの名無しさん
2006/04/26(水) 12:41:37そのソフトを作った人に聞いた方がいいよ。
あと、MSVBVM60.DLLだろ?
0718デフォルトの名無しさん
2006/04/26(水) 14:23:49MSVBVM60.DLLでした、失礼しました。
作った人も困ってしまったので、いっしょに調べていました。
0719デフォルトの名無しさん
2006/04/26(水) 14:41:22「エラーメッセージが出るようになってしまいました」って事は、
前は出なかったんでしょ。
「何をやったら」そうなったかを思い出せば解決。
0720デフォルトの名無しさん
2006/04/26(水) 14:55:45そうですね、早速お客さんの事務所まで行ってみます。
戻りましたらまた報告するつもりです。
0721720
2006/04/26(水) 17:07:44お客さんの事務所ではサーバーを置いて3台のクライアントでソフトを使っても
らっています。クライアントは2台がMeで1台は2000です。
使っているDBはOracleです。
>>715のエラーは特別別のソフトはいれていないのに最近になって毎日のように
出るようです。ただエラーが出るのはMeのマシンだけのような事を言っていたの
が気になります。2000にVB環境が入っているので、そこでexeを作っているので
すが、そういう部分も関係があるのでしょうか?
0722720
2006/04/26(水) 17:10:39パケット書込み機能に障害が発生しました」ともエラーが出ます。
こちらのエラーは再現することができました。連続でExeを起動・終了を繰り返
していると10回に1度くらいの割合で起こってしまいます。
この辺はOracleスレで質問した方がいいでしょうか?
0723デフォルトの名無しさん
2006/04/26(水) 18:36:07ORACLEスレに聞いても、サポートに聞けで終わりの類のエラーだよ。
なもんで、ORACLEに聞け。
0724デフォルトの名無しさん
2006/04/26(水) 19:50:25Meで動かすアプリを2000で開発したら駄目だって。
Meで動かすアプリは、Me上に開発環境を入れて、
其処で、開発&デバッグしてExe作成しないと。
でも、既に2000でセットアップ作成してMeにインストール
しちゃったんだよね。
それ、Meのシステムが完全に壊れました。再インストール。
0725デフォルトの名無しさん
2006/04/26(水) 22:02:16よろしくお願いいたします。
0726デフォルトの名無しさん
2006/04/26(水) 22:46:25timeGetTime関数
0727726
2006/04/26(水) 22:49:42ごめん。直接は取得できないみたいだから
スタートのところに
gettickcountとかいれておけばいいんじゃないでしょうか。
後はループで取得するようにすれば
Dim nt as long,ft as long
nt=gettickcount()
do
debug.print cstr(gettickcount()-nt)'CSTRいらないっけか
doevents
Loop
0728デフォルトの名無しさん
2006/04/26(水) 22:55:380729725
2006/04/26(水) 23:05:36すでに存在するWMA形式のファイルの時間です。
再生すると 00:01 / mm:ss 見たいに出ますよね?
そのmm:ssが知りたいのです。
0730デフォルトの名無しさん
2006/04/26(水) 23:28:58MediaDet.StreamLength で取得できるらしいけど、単位は秒。
0731デフォルトの名無しさん
2006/04/26(水) 23:34:20Dim grp As New FilgraphManager
grp.RenderFile FILENAME
Dim mp As IMediaPosition
Set mp = grp
Debug.Print mp.Duration
こんなんでどう?
0732デフォルトの名無しさん
2006/04/26(水) 23:34:45MMControl の Length とかじゃ駄目なの?
0733725
2006/04/26(水) 23:48:40>>731さん
明日試そうと思うのですが、ミリ秒で取れますか?
>>732さん
MMControlってWMA形式サポートしてますか?
0734デフォルトの名無しさん
2006/04/27(木) 00:36:240735デフォルトの名無しさん
2006/04/27(木) 09:03:40当然、自分の環境で確認してから書き込んだんだが?
0736デフォルトの名無しさん
2006/04/27(木) 12:42:53えっ
Me用と2000/XP用でマージモジュール分けて使ってないの?
0737デフォルトの名無しさん
2006/04/27(木) 18:01:07それをやると具体的にどんなファイルが分かれるんだ?
0738デフォルトの名無しさん
2006/04/27(木) 18:33:46Tabindexで各コントロールに順位を付け、Enterkeyやマウスで、あるコントロール以降に移動するときは(LostFocus内で)
入力チェックをしてひっかかれば自コントロールに戻り、以前のコントロールに移動するときはExitSubでチェックせずに
抜けるようにしています。
各コントロールにGotFocusしたときに、共通の変数でTabindex番号を取得して、LostFocus内で比較しているのですが…
通常、移動先コントロールのGotFocusイベントの後に移動元コントロールのLostFocusが起きていて、実際に同じForm内の
他のコントロールではうまく動作しています。
しかし、ある部分では全く同じ記述をしているにもかかわらず、LostFocusイベントが先に起こり、うまく動作しません。
(しかも、うまく動作しているのと同じプロパティと記述の方法で、コントロールの名前しか違いはありません)。
何か気をつける点はあるでしょうか。
…ネットで少し調べたところ、「GotFocusが最初に起こる」というのと「どちらが先に起こるのかは不安定」という記述があって
困ってしまいます。
0739738
2006/04/27(木) 19:11:26「DoEvents」 とプロシージャ内におまじないを書いたらちゃんと動きました。
一体何なんでしょうね。
0740725
2006/04/27(木) 21:24:16MSDNには秒単位と書いてあったので、少しどきどきでしたが、
ちゃんとミリ秒で取れました。
皆さんどうもありがとう。
0741デフォルトの名無しさん
2006/04/27(木) 21:33:38一つだけ言うなら、明確に順序が書かれているもの以外、イベントの
発生順序が同じになると言う保証はない。
だからイベントの発生順序に依存するロジックは危険。
0742デフォルトの名無しさん
2006/04/27(木) 21:46:240743デフォルトの名無しさん
2006/04/27(木) 22:14:29ほほぅ…調べてみまつ!
0744デフォルトの名無しさん
2006/04/27(木) 22:20:17Lost / Got Focus イベントにコードを書く奴が悪い。
0745デフォルトの名無しさん
2006/04/28(金) 02:32:46VBで以下のようなのはどうやって書くのですか?できないような気がする。Aの間にある + でひっかかる
A( i , j ){・・・ ;return A( i+1 , j )+A( i , j+1 );}
0746デフォルトの名無しさん
2006/04/28(金) 02:41:38Function A(i, j)
:
:
:
A = A(i + 1, j) + A(i, j+1)
End Function
0747745
2006/04/28(金) 02:42:380748デフォルトの名無しさん
2006/04/28(金) 03:06:49NumericUpDownのボタンで数値を入力する時に
現在の数値によって、上げ、下げ幅を変えるには
どうコードを書いたらいいでしょうか?
1〜100までは1ずつ増加、100からは5ずつ増加、というふうに
したいのです
0749デフォルトの名無しさん
2006/04/28(金) 03:55:48changeのイベントで100以下だったら1づつ、それ以外なら5って
加算減算(名前忘れた)プロパティを書き換える
0750デフォルトの名無しさん
2006/04/28(金) 08:54:42ありがとうございます、さっそくやってみます
ね、眠い・・・
0751デフォルトの名無しさん
2006/04/28(金) 10:47:15値を返す関数 →Function
値を返さない関数→Sub
どうしてもSubしか厭なら、ByRef 引数にでもしろ。
0752デフォルトの名無しさん
2006/04/28(金) 12:35:33そんな偉そうに気張って人様に垂れるようなレベルの話か
本当頭おかしいんじゃないかと思うよこういう奴w
0753デフォルトの名無しさん
2006/04/28(金) 13:15:26Sub にしなければならない理由は?
0754デフォルトの名無しさん
2006/04/28(金) 13:54:24そもそも、Subじゃ無理だし・・・
0756デフォルトの名無しさん
2006/04/29(土) 00:38:05俺が出来ない?
逆??
日本語でおk。
0757デフォルトの名無しさん
2006/04/29(土) 08:07:07変更したりしたいのですが
どこらへんをいじればいいでしょうか・・・・?
検索してみたんですがみつからん・・・
0758デフォルトの名無しさん
2006/04/29(土) 10:10:58本当に検索したの?
情報が有り過ぎて困る位なんだが。
ttp://msdn.microsoft.com/library/default.asp?url=/library/en-us/wmisdk/wmi/enablestatic_method_in_class_win32_networkadapterconfiguration.asp
とかWMI使うとかNetShコマンドとか、幾らでも方法はある。
0759デフォルトの名無しさん
2006/04/29(土) 10:56:08テキストファイルから該当する行の内容をとりだすコードを
書いてみたのですがレスポンスが異常に悪いのです。
Private Sub TextBox1_TextChanged(ByVal sender As Object, ByVal _
e As System.EventArgs) Handles TextBox1.TextChanged
Dim objFS, objTS As Object
Dim LineOfText As String
Dim i As Integer
objFS = CreateObject("Scripting.FileSystemObject")
objTS = objFS.OpenTextFile("test.txt", 1, )
If TextBox1.Text.Length = 4 Then
Do Until objTS.AtEndOfStream
LineOfText = objTS.ReadLine
If InStr(LineOfText, TextBox1.Text) <> 0 Then
Label2.Text = LineOfText
End If
Loop
objTS.close()
End If
End Sub
どなたかお知恵を貸してください
0760デフォルトの名無しさん
2006/04/29(土) 11:12:21> Label2.Text = LineOfText
のあとに Exit Do って入れるなあ。
見つかったらループする必要ないし。
0761デフォルトの名無しさん
2006/04/29(土) 11:31:05それ、.NETじゃないの?
その処理ならほとんどがFileSystemObjectに依存してるので
VB6以前でも.NETでも大差ないが、一応ここは6以前の専用スレね。
っこで質問したいなら、VB6の文法で書き直してから質問してちょ。
まあ、直すべきところは明白なので、VB6以前の文法で書いてくれりゃ教えるよ。
.NETもわかるけど、スレ違いを助長するようなことはしたくないし。
まあ、書き直すより.NETスレ行った方がいいと思うけどね。
0762759
2006/04/29(土) 18:15:48まだ、プログラミング初めて2日なもので.netとの違いすら
理解しておりません、
スレ汚し失礼しましたm(_ _)m
0763デフォルトの名無しさん
2006/04/30(日) 11:30:47Typeの内容を1命令でクリアする方法はありますか?
0764デフォルトの名無しさん
2006/04/30(日) 11:35:510765デフォルトの名無しさん
2006/04/30(日) 11:39:32大変失礼しました。
0766デフォルトの名無しさん
2006/04/30(日) 13:27:34また、実行環境もランタイムの配布は混在できるのでしょうか?
0767デフォルトの名無しさん
2006/04/30(日) 14:05:42過去ログで既出
過去ログか●持ってないなら、にくちゃんねるでも行って読んでこい。
0768デフォルトの名無しさん
2006/04/30(日) 14:14:21っZeroMemory
>>766
開発環境の共存は不可能。
ランタイムの共存は可能。
0769デフォルトの名無しさん
2006/04/30(日) 14:27:34ZeroMemoryでどうやるの?
0770デフォルトの名無しさん
2006/04/30(日) 14:58:30ヒント:Win32API
0771デフォルトの名無しさん
2006/04/30(日) 15:05:41馬鹿?
0772デフォルトの名無しさん
2006/04/30(日) 15:30:14馬鹿?
0773デフォルトの名無しさん
2006/04/30(日) 15:57:10m9(^Д^)プギャー
0774デフォルトの名無しさん
2006/04/30(日) 16:05:300775デフォルトの名無しさん
2006/05/01(月) 08:44:430776デフォルトの名無しさん
2006/05/01(月) 18:17:010777デフォルトの名無しさん
2006/05/01(月) 19:13:36馬鹿?
0778デフォルトの名無しさん
2006/05/01(月) 23:28:16Visual Basic チームは、Visual Basic 6.0 アプリケーションが WindowsR Vista? でも
"そのまま" 動作する互換性を提供することを表明します。」
Visual Basic チームは、Windows XP で実行できる Visual Basic 6.0 アプリケーションが
Windows Vista でも実行できるようにすることを目標としています。
また、Windows Vista で実行できる Visual Basic 6.0 の開発環境を提供するための取り組みも行っています。
このドキュメントで説明するように、Visual Basic 6.0 ランタイムは、Windows Vista のライフサイクルをとおして
サポートされます (メインストリーム サポートが 5 年、延長サポートが 5 年の合計 10 年になります)。
マイクロソフト プロダクト サポート ライフサイクルの詳細については、http://support.microsoft.com/gp/lifepolicy (英語) を参照してください。
マイクロソフトでは、ユーザーが Windows Vista で Visual Basic 6.0 アプリケーションを実行できるようにするため、
Windows Vista に Visual Basic 6.0 ランタイムの主要コンポーネントを同梱する予定です。
Visual Basic 6.0 ランタイムを使用するように記述されたアプリケーションが Windows XP と Windows Vista の両方で
同様に動作する互換性を確保するため、一連のアプリケーションを使用してテストを行いました。
Visual Basic 6.0 IDE は、延長サポートの一環として、2008 年 3 月まで Windows Vista でサポートされます。
Windows Vista チームと Visual Basic チームでは、Windows Vista で Visual Basic 6.0 IDE のテストを行い、
IDE が以前のオペレーティング システムと同様に機能するようにしています。
0779デフォルトの名無しさん
2006/05/01(月) 23:55:48OS:winXPsp2
VB6.0P6
課題が分かりません。
問題1
文字列→数値の変換は標準関数を使用していたが、変換関数を自分で作成せよ。
問題2
100個要素を持つ配列整数変数を宣言し、その中に1,2,3、・・・100の値を入れる
助けてください!
0780デフォルトの名無しさん
2006/05/01(月) 23:56:450781デフォルトの名無しさん
2006/05/02(火) 00:14:31回答1
一度ageたら直後にsageで書き込みしても全く意味はありません。
回答2
ここは課題には一切手を貸さない方針です。
(偶に、やっと自分にもわかる質問が来たとばかりに、浮かれて答え出す教えたがり君もいるけど)
消えてください!
0782デフォルトの名無しさん
2006/05/02(火) 00:33:04帰れ!
0783デフォルトの名無しさん
2006/05/02(火) 00:43:410784デフォルトの名無しさん
2006/05/02(火) 00:48:41確かに課題は手をつけないのには大いに賛成だが
消えては言いすぎじゃね?
0785デフォルトの名無しさん
2006/05/02(火) 02:04:51ヒント:>>779
0786デフォルトの名無しさん
2006/05/02(火) 02:17:36変な課題だな
以上
0787デフォルトの名無しさん
2006/05/02(火) 03:20:48問題1
public static int strToInt(String s)
throws NumberFormatException {
int r = 0;
for (int i = s.length() - 1; i >= 0; i--) {
char c = s.charAt(i);
if (c >= '0' && c <= '9') {
r += (c - '0') * Math.pow(10, (s.length() - 1 - i));
} else if (c == '-') {
r *= -1;
if (i > 0)
throw new NumberFormatException();
} else if (c == '+') {
if (i > 0)
throw new NumberFormatException();
} else {
throw new NumberFormatException();
}
}
return r;
}
問題2
int[] a = new int[100];
for (int i = 0; i < 100; i++)
a[i] = i + 1;
0788デフォルトの名無しさん
2006/05/02(火) 04:11:21先輩!
strToInt("-2147483648")としたら-2147483647って返ってきました。
0789デフォルトの名無しさん
2006/05/02(火) 04:15:540790デフォルトの名無しさん
2006/05/02(火) 09:23:571.10進数を知ってるなら出来る。
2.VBとは関係ないじゃん。
0791デフォルトの名無しさん
2006/05/02(火) 11:19:12例えば
a = a + 10とあった場合、
c = falseならaのままでいいんですが、
c = trueならaの部分をbに変えたいんです。
ただし、こういう状況が多いので二重には書きたくありません。
if c = false then
a = a + 10
else
b = b + 10
end if
のような書き方は効率が悪いので、もっと簡単な書き方がしたいのです。
どうかご教授お願いします。
0792デフォルトの名無しさん
2006/05/02(火) 11:44:41さすが黄金週。
0793デフォルトの名無しさん
2006/05/02(火) 12:29:12つ配列
0794デフォルトの名無しさん
2006/05/02(火) 12:36:03ヒントありがとうございます。
配列を使ってどのようにやるのかは分からないのですが、
すでに変数には配列が使われていても大丈夫でしょうか?
a(2) = a(2) + 10という感じです。
出来れば簡単な例文を書いていただければありがたいのですが・・・
0795デフォルトの名無しさん
2006/05/02(火) 12:40:48VBはデフォで参照渡しだから、演算部分を関数化すれば何も考えずにできるんじゃないの?
0796デフォルトの名無しさん
2006/05/02(火) 12:44:40非常にいいヒントをありがとうございます。
「関数が変数そのものを切り替えて返すことが出来るとすれば解決するはず」
と思っておりました。
そのヒントを元にググってみます。
0797デフォルトの名無しさん
2006/05/02(火) 12:49:32If c = True Then a = b
a = a + 10
だけじゃ駄目なん?
0798デフォルトの名無しさん
2006/05/02(火) 12:53:13その場限りであれば、それでもokなんですが、
プログラムを通して、aの値とbの値は常にその変数に
格納されている必要があるのです。
aの値はプレイヤー1の生命力
bの値はプレイヤー2の生命力
といった感じです。
0799デフォルトの名無しさん
2006/05/02(火) 13:03:00演算部分は関数内に記述することは出来ません。
演算はいろんなパターンがあって、メイン部分に書きたいのです。
関数内でTrueかFalseを判定し、
その結果によって変数を変化させることが出来ればいいのですが・・・
雰囲気としては
Sub s()
Dim a As Long
Dim b As Long
Dim c As Boolean
c = True
f = f + 10
End Sub
Function f
If (c = True) Then
f = a
Else
f = b
End If
End Function
こんな感じに考えてましたが、もちろんエラーになります・・・
0800デフォルトの名無しさん
2006/05/02(火) 13:09:410801デフォルトの名無しさん
2006/05/02(火) 13:12:27これはともかく、この手の質問って「小手先でどうこうする前に仕様とかもっと前の段階から
考え直さないといけないんじゃね?」とかいうのが多くないか?
0802793
2006/05/02(火) 13:14:51if c=True Then index = 0 else index = 1
x(index) = x(index) + 1
0803デフォルトの名無しさん
2006/05/02(火) 13:15:51まさにあなたの言うとおりです。
そしてそのヒントは確実に、
僕が今やろうとしていることを的確に捉えてます。
勉強してきます。
0804デフォルトの名無しさん
2006/05/02(火) 13:16:47Public Sub Main()
Dim a(1) As Long
Dim c As Boolean
Dim i As Integer
i = f(c)
a(i) = a(i) - 10
End Sub
Public Function f(c As Boolean)
If c Then
f = 0
Else
f = 1
End If
End Function
0805デフォルトの名無しさん
2006/05/02(火) 13:17:20神がかり的にすごい技ですね。
感動しました。
参考にさせていただきます。
0806デフォルトの名無しさん
2006/05/02(火) 13:18:28天才的ですね。
ありがとうございます。
0807デフォルトの名無しさん
2006/05/02(火) 13:23:13うほ!!!!!!!!!!!!!
神!!!!!!!!!!!!!!!!!!!!!!!!
0808デフォルトの名無しさん
2006/05/02(火) 13:32:52それの何処が「効率が悪い」んだか。
0809デフォルトの名無しさん
2006/05/02(火) 13:33:22ラベルを回転させたいのですがいい方法はありませんでしょうか?
通常→上下左右反転という流れにしたいのです。
ご教授宜しくお願い致します。
0810デフォルトの名無しさん
2006/05/02(火) 13:38:47そういうのが72通りありますのでソースを半分に縮めたかったのです。
あのような文を72通り書くのは効率悪いですよね。
0811デフォルトの名無しさん
2006/05/02(火) 13:52:54IIF使えば?
0812デフォルトの名無しさん
2006/05/02(火) 13:55:460813デフォルトの名無しさん
2006/05/02(火) 14:00:30IIfは代入する変数は同じで、値が違うときに使います。
代入する値は同じで、変数が違うときには使えません。
0814デフォルトの名無しさん
2006/05/02(火) 14:06:10お前、プログラミングには向いてないよ。
0815デフォルトの名無しさん
2006/05/02(火) 14:06:51ラベルコントロール自体を回転、って事?
それは無理。
0816デフォルトの名無しさん
2006/05/02(火) 14:14:15おまえにだけは言われたくないw
0817デフォルトの名無しさん
2006/05/02(火) 14:18:51そうですか?
今のプログラマはソースをより簡潔に、
短く分かりやすく書こうという努力はしないものですか?
0818デフォルトの名無しさん
2006/05/02(火) 14:33:07if c = false then
a = a + 10
else
b = b + 10
end if
の何処が「分かり難い」んだ?
0819デフォルトの名無しさん
2006/05/02(火) 14:45:56それと同じような行が延々と長くソースを想像してみてください。
まあ、そのような単純なソースを書くのが趣味ならいいです。
プログラマなら、もっと向上心を持ってほしいものですが。
0820デフォルトの名無しさん
2006/05/02(火) 14:46:26↓
延々と続く
0821デフォルトの名無しさん
2006/05/02(火) 14:56:43>>819
>>818はi++をi = i + 1と書かないと気が済まないタイプの超初心者だろ
そっとしといてやれ
っつーかスルー汁
0822デフォルトの名無しさん
2006/05/02(火) 15:00:19ソースの見た目の効率は悪いかもしれないけど、関数とかにするよりは
実際の効率(速度)は早い可能性もあるからなんとも言えない気が・・・
0823デフォルトの名無しさん
2006/05/02(火) 15:02:06でもあまりにも長いと可視性という面で見た目の効率も落ちる可能性もあるからなんとも言えない気が・・・
0824デフォルトの名無しさん
2006/05/02(火) 15:06:32まぁね、結局なにを求めるかで選択肢は色々だから・・・漏れはなら普通は可視性を選ぶ
0825デフォルトの名無しさん
2006/05/02(火) 15:21:57でも、ファミコンの時代なら?
0826デフォルトの名無しさん
2006/05/02(火) 15:24:59お前、プログラミングは趣味だけにしとけよ。
>>821
VB6にi++なんて書き方はない。
0827デフォルトの名無しさん
2006/05/02(火) 15:27:53だから・・・ケースバイケースだと
0828デフォルトの名無しさん
2006/05/02(火) 15:39:530829デフォルトの名無しさん
2006/05/02(火) 15:40:09まあ学生で勉強中の身だろうけど、糞コードをあまり公開しないでくれ。
切に願うよ。
0830デフォルトの名無しさん
2006/05/02(火) 15:41:56>>826
おまえがプログラミングは趣味だけにしとけよ。
おまえみたいな糞コード書く奴はマジ邪魔だし勘弁してくれマジで。
0831デフォルトの名無しさん
2006/05/02(火) 15:44:29GWだから優しく教えてあげるけど、
プログラムは動けばいいってものではないからね。
プロ目指すんだったら、そこのところを本当に肝に銘じておいてね。
立派なプログラマになってください。
0832デフォルトの名無しさん
2006/05/02(火) 15:47:46>>826をよく嫁。
VB6
↑↑
++
↑↑
分かったら1年ぐらいロムってろ。
0833デフォルトの名無しさん
2006/05/02(火) 15:47:490834デフォルトの名無しさん
2006/05/02(火) 15:48:32VB6
↑↑
++
↑↑
ってどういう意味?
0835826
2006/05/02(火) 15:50:11ゲバワロス!!1
0836sage
2006/05/02(火) 15:50:470837デフォルトの名無しさん
2006/05/02(火) 15:51:120838デフォルトの名無しさん
2006/05/02(火) 15:51:480839デフォルトの名無しさん
2006/05/02(火) 15:55:59>>791の質問に対するレスなんだけどね
変数に保持するよりも外部ファイルとかDBに保持したほうが
効率良いでしょ
0840デフォルトの名無しさん
2006/05/02(火) 15:57:130841デフォルトの名無しさん
2006/05/02(火) 16:01:25何だかよく分からないが、72通りもあるらしいぞ。
0842デフォルトの名無しさん
2006/05/02(火) 16:20:270843デフォルトの名無しさん
2006/05/02(火) 16:38:020844デフォルトの名無しさん
2006/05/02(火) 16:39:280845デフォルトの名無しさん
2006/05/02(火) 16:57:29代入先(左辺)のaも、変えたいんだろ
0846デフォルトの名無しさん
2006/05/02(火) 18:15:20パフォーマンスがハードで補えるならためらわずそれを進める。
自分しか分からないコードは全部自分に跳ね返ってくる
左辺のaも変えたコードを他の人が分かるとは思えない。
お前の72回の苦労が他人の無駄な労力を軽減できる。
0847デフォルトの名無しさん
2006/05/02(火) 18:45:55それは誰でもプログラマになれると言ってるようなもん。
0848デフォルトの名無しさん
2006/05/02(火) 18:50:15>>818 のままのIf文が72回続くならそのまま書けばいいと思うよ。
けど、Ifの条件文が無茶苦茶複雑かもしれないし、
分岐後の計算式が数十行に及ぶ複雑な物かもしれない。
そんなのが72回続いてみろ、それこそパスタ職人にゃ読めんだろ。
それどころかそんなの書く奴がパスタ職人だろ。
それなら、>>802や>>804のように配列つかって左辺も変えたほうが
よっぽど読みやすいだろ。
>>827の言うとおりケースバイケースなんだよ。
0849デフォルトの名無しさん
2006/05/02(火) 19:01:40大昔はいかに複雑に凝縮してソースをコンパクトにするかが勝負だったから。
0850795
2006/05/02(火) 19:07:33回答している連中も何を考えているのか。。。
たぶん、こういうこと(はっきりいってあんまり意味ないと思うけど…)
をやりたいんじゃないかと思って>>795のように書いたけど違うんだろうか?
0851795
2006/05/02(火) 19:08:57Private mB As Integer
Private mC As Integer
Private Enum eVariableID
a = 0
b = 1
c = 2
End Enum
Private Function ModifyMyMember(ID As eVariableID)
Select Case ID
Case eVariableID.a
Call Modify(mA)
Case eVariableID.b
Call Modify(mB)
Case eVariableID.c
Call Modify(mC)
End Select
End Function
Private Function Modify(ByRef Var As Integer)
Var = Var + 10
End Function
0852デフォルトの名無しさん
2006/05/02(火) 19:41:36それでも十分、僕の希望通りの動作をします。
大変ありがとうございました。
0853デフォルトの名無しさん
2006/05/02(火) 21:20:3772通りってのは>>791のような条件分岐が必要な項目が、72個あるという意味だとしたら、
>>793にあるように配列化して, cの値で配列を選択するようにしたらよくないっすか?
関数Modifyに対してcを (Boolean型ではなくIntegerなどで) 0か1で, ParamIDに72通りのうちの
どれなのかを指定すればいけそうだけど。
解釈が違ってたらすまん。でもいずれにしろ配列を巧く使うと条件分岐がいらなくなるもんだよ。
配列の初期化が必要だから、値がバラバラだと初期化がめんどくさくなることがあるけどね。
Option Explicit
Dim a(0 to 1, 0 to 71) As Integer
Private Function Modify(ByVal c As Integer, ByVal ParamID As Integer ) As Integer
a(c, ParamID) = a(c, ParamID) + 10 'もしインクリメントする値がバラバラならそれも配列にすればよい
'Modify = a(c, ParamID)
End Function
0854デフォルトの名無しさん
2006/05/02(火) 21:23:06はい簡潔w
0855デフォルトの名無しさん
2006/05/02(火) 22:01:22おっしゃる通りの内容で、既に配列化を完了させました。
今回のような配列の利用法は非常に勉強になるものでした。
まことにありがとうございました。
0856デフォルトの名無しさん
2006/05/02(火) 22:18:50仕事で書くコードなら、それがデフォだね。
ちょっと前に、何処かのサイトの算数クイズの話があったけど、
質問者が一番最初に提示したのが、仕事なコードとしては最も正しい。
VBを覚えたばっかりの新人さんでも、ちゃんとメンテ出来る。
0857デフォルトの名無しさん
2006/05/02(火) 22:22:16課題でVBでオセロ作成ってのがでたんですが期限がやばめです
過去ログどのあたりにあるでしょうか
0858デフォルトの名無しさん
2006/05/02(火) 22:24:54仕事で書くコードとやらは、
例えばスーパーマリオブラザーズみたいなプログラムを作る場合、
2 Player Gamesも作る必要があるので、
変数だけが違う全く同じコードを2回書くということ?
0859デフォルトの名無しさん
2006/05/02(火) 22:28:20どこをどう読めばそんな質問になるんだ(w
0860デフォルトの名無しさん
2006/05/02(火) 22:59:10仕事で書くコードは、
変数だけが違う全く同じコードを2回書いてる>>791のようなコードがデフォなんだろ?
0861デフォルトの名無しさん
2006/05/02(火) 23:33:02そんなログはない。
0862デフォルトの名無しさん
2006/05/02(火) 23:35:06あぁゴメン。ゲームプログラムの事は全く頭になかった。
ゲームだと、徹底的に最適化する必要があるのかもね。
0863デフォルトの名無しさん
2006/05/03(水) 00:13:17まぁ仕様にバグがあったらどうしようもないが。
0864デフォルトの名無しさん
2006/05/03(水) 00:14:350865デフォルトの名無しさん
2006/05/03(水) 00:50:29aとかbとか言う変数名を使ってる時点でダメ、ソースレビューで弾かれる
0866デフォルトの名無しさん
2006/05/03(水) 00:53:050867デフォルトの名無しさん
2006/05/03(水) 01:00:15ググレカス
0868デフォルトの名無しさん
2006/05/03(水) 01:01:18どう考えてもここで晒すコードの変数なんて、例えばの話だろw
0869デフォルトの名無しさん
2006/05/03(水) 01:22:07仕事で使われてる奴らのレベルだとこういうサンプル出すとその通りに変数つけてくる馬鹿が居るんだよ
0870デフォルトの名無しさん
2006/05/03(水) 01:55:260871デフォルトの名無しさん
2006/05/03(水) 09:41:22メンテした事がない連中が多いなここは。
まぁ、そんな時が来る迄は、呑気にアルゴリズムだの
効率だのを考えてればいいよ。
0872デフォルトの名無しさん
2006/05/03(水) 10:11:02最近そんなんばっかりだよ(@_@)
0873デフォルトの名無しさん
2006/05/03(水) 10:27:56まあ「スパゲティコードをメンテする悲惨な自分」に自己陶酔する
稲川淳二系のメンタリティの人なのかな。
もっとも稲川淳二はあくまでネタでやっていたわけで、ベタに自己陶酔してる彼とは
全然違うけどね。
スパゲティコードのメンテ経験があろうと無かろうと、
アルゴリズムや可読性の高いコードを書くことの重要性に変わりはない。
0874デフォルトの名無しさん
2006/05/03(水) 10:40:34愚痴を書くと書いたヤシは能力無しと決めつけるのか
0875デフォルトの名無しさん
2006/05/03(水) 12:03:07まともな仕様書なんてない状態でそれをメンテする人の事も考えてね。
素直に
>>791
if c = false then
a = a + 10
else
b = b + 10
end if
(↑可読性が高いコード)
みたく書いてくれりゃいいのに、効率が悪いだの簡潔に短くだの
向上心を持てだの、勘違いしてろくでもないコード書かないでね。
残された人はホント、大迷惑だから。
0876デフォルトの名無しさん
2006/05/03(水) 12:16:40まあ「策士策に溺れる」のは止めろって言いたいのはわかるしその通りだけど、
分岐してスイッチする対象の変数が多かった場合どうなの、
っていう791の言い分は正しいよ。
もっとも、モデリングが間違ってるからそんなコードを書かざるをえないんだ、
と想像するけどね。
0877デフォルトの名無しさん
2006/05/03(水) 12:31:16納期と工数をふまえてってこともあるからやっぱ、端的にケースバイケースだな
0878デフォルトの名無しさん
2006/05/03(水) 12:33:14もっと言わせてもらえば、理想で仕事なんか出来ないんだよ・・・
0879デフォルトの名無しさん
2006/05/03(水) 12:37:36普通、「後のことを考える」こと、つまり可読性のあるコードを書くことと
生産性は矛盾しないよ。
矛盾しない、というより、可読性のあるコードを書くことは明らかに生産性に寄与するよ。
0880デフォルトの名無しさん
2006/05/03(水) 12:56:20可読性もピンキリだし、それぞれの能力でも違いがあるから表現が難しいな。
でも、可読性のあるコードを書くことと生産性は矛盾することもある。
生産性の判断も人によるから・・・あぁ、また微妙な言い方しか書けない
0881デフォルトの名無しさん
2006/05/03(水) 12:59:390882デフォルトの名無しさん
2006/05/03(水) 13:00:580883デフォルトの名無しさん
2006/05/03(水) 13:25:310884デフォルトの名無しさん
2006/05/03(水) 13:46:41C言語なんだけど、「これが一番見易い」との事。
0885デフォルトの名無しさん
2006/05/03(水) 13:48:51if c = false then
a = a + 10
else
b = b + 10
end if
↑
要するに、これをもっと複雑にしたやつが72通りあるんだろ?
それなら配列化したほうが可読性も上がるな。
配列化すると可読性が下がるとか言ってる奴は、
そもそも配列という概念すら知らないのにプログラマ気取ってるアフォなんだろ。
0886デフォルトの名無しさん
2006/05/03(水) 13:57:51マルチステートメントの1行プログラムかw
>>885
確かに。
0887デフォルトの名無しさん
2006/05/03(水) 14:05:44「これをもっと複雑にしたやつが72通りある」ってのは違うんじゃないの。
根本的に、「やりたい事」と「やる方法」の区別が出来てないだけかと。
0888デフォルトの名無しさん
2006/05/03(水) 14:09:56まあそうかも知れんが、
「これをもっと複雑にしたやつが72通りある」と仮定した話として見てくれ。
0889デフォルトの名無しさん
2006/05/03(水) 14:18:27select case a(0)
case 1
b(1) = b(1) - 10
case 2
a(1) = a(1) + 10
case 3
b(1) = b(1) - 30
case 4
a(1) = a(2)
end select
else
select case b(0)
case 1
a(1) = a(1) - 10
case 2
b(1) = b(1) + 10
case 3
a(1) = a(1) - 30
case 4
b(1) = b(2)
end select
end if
こういう風なものが72通りある場合、
どう考えてもこれは可読性が低いだろ?
cがfalseの場合とtrueの場合で、aとbが入れ替わってるだけ。
それならa(0)とb(0)をx(index)、a(1)とb(1)をy(index)、a(2)とb(2)をz(index)にして、
ソースをほぼ半分にしたほうが可読性も高くなる。
0890デフォルトの名無しさん
2006/05/03(水) 14:22:32if c = false then
index = 0
indexR = 1
else
index = 1
indexR = 0
end if
select case x(index)
case 1
y(indexR) = y(indexR) - 10
case 2
y(index) = y(index) + 10
case 3
y(indexR) = y(indexR) - 30
case 4
y(index) = z(index)
end select
これだけで済む。
0891デフォルトの名無しさん
2006/05/03(水) 14:23:080892デフォルトの名無しさん
2006/05/03(水) 14:26:160893デフォルトの名無しさん
2006/05/03(水) 14:28:31よっしゃ!
そう見るぜッ!
0894デフォルトの名無しさん
2006/05/03(水) 14:29:14cの分岐によって変数が入れ替わってるだけの極端な例だ。
0895デフォルトの名無しさん
2006/05/03(水) 14:30:08可読性は下がったとしか思えんが。
まぁ、所詮「可読性」なんて女性の好みと同じで、100%主観だしな。
0896デフォルトの名無しさん
2006/05/03(水) 14:30:24記述がのコンパクトさと可読性は、確かに一致することが多いけど
いつも一致するとは限らない。
配列を使えば確かにコンパクトかつ可読性のあるコードが書ける場合があるのは確かだが、
例外なくそうだ、みたいに思い込むのはナイーブというか浅はか過ぎる。
条件によって選択される各変数が意味的に何の関連性もないとしたら、
そんな諸変数が配列になってるようなウンココードは俺は読みたくないね。
0897デフォルトの名無しさん
2006/05/03(水) 14:39:17もちろん配列は関連性がある。
今回、仮に下のようなものと考えることとしよう。
元々は
a(0) = プレイヤー1のキャラクター
a(1) = プレイヤー1のHP
a(2) = プレイヤー1の最大HP
b(0) = プレイヤー2のキャラクター
b(1) = プレイヤー2のHP
b(2) = プレイヤー2の最大HP
配列化したあとは
x(0) = プレイヤー1のキャラクター
x(1) = プレイヤー2のキャラクター
y(0) = プレイヤー1のHP
y(1) = プレイヤー2のHP
z(0) = プレイヤー1の最大HP
z(1) = プレイヤー2の最大HP
まあ変数名はここでは適当だが、妥当なものに脳内変換すると、
配列に関連性があることがわかる。
0898デフォルトの名無しさん
2006/05/03(水) 14:42:35「キャラクター」ってとこを「戦闘パターン」とでも読み替えてくれ。
0899デフォルトの名無しさん
2006/05/03(水) 14:43:290900デフォルトの名無しさん
2006/05/03(水) 14:45:22ドラクエのキャラクター鉛筆のような簡単なゲームと考えてくれればいい。
0901デフォルトの名無しさん
2006/05/03(水) 14:46:270902デフォルトの名無しさん
2006/05/03(水) 14:47:01だから、極端な例だよ。
0903デフォルトの名無しさん
2006/05/03(水) 14:55:580904デフォルトの名無しさん
2006/05/03(水) 15:28:530905デフォルトの名無しさん
2006/05/03(水) 15:43:32x,y,zなんて使わずにクラスにまとめろよ
0906デフォルトの名無しさん
2006/05/03(水) 15:56:52何回言ったらわかるんだ?
極端な例を出しただけであって、そんな意見を述べる必要はないんだよ。
0907デフォルトの名無しさん
2006/05/03(水) 16:01:33ヒント:「変数名はここでは適当」
0908デフォルトの名無しさん
2006/05/03(水) 16:07:13本当はクラスが使えないだけだろw
0909905
2006/05/03(水) 16:12:08変数名が問題じゃ無いんだ
別々の変数で管理しているのが問題なんだよ
0910デフォルトの名無しさん
2006/05/03(水) 16:12:12「俺はクラスという“高度な技術”が使えるんだぜ?すげーだろ?」
はいはいすごいね
0911905
2006/05/03(水) 16:16:46俺、>908の言ってる事間違ってないと思うぞ
>907はクラスを理解している反応じゃ無いだろう
0912デフォルトの名無しさん
2006/05/03(水) 16:35:26君は実に莫迦だな。AA略
0913デフォルトの名無しさん
2006/05/03(水) 16:40:230914デフォルトの名無しさん
2006/05/03(水) 16:56:46使えないやつに合わせるのが偉い。
つーか、こんなコード大して速度なんて変わらんて
0915デフォルトの名無しさん
2006/05/03(水) 16:58:51VB.NETがあるのに。
0916デフォルトの名無しさん
2006/05/03(水) 17:02:02VC++使う気はないの?
0917デフォルトの名無しさん
2006/05/03(水) 17:06:18ヒント:インタプリタ
0918デフォルトの名無しさん
2006/05/03(水) 17:40:510919905
2006/05/03(水) 17:47:340920デフォルトの名無しさん
2006/05/03(水) 17:55:090921デフォルトの名無しさん
2006/05/03(水) 17:58:44笑福亭小平
0922デフォルトの名無しさん
2006/05/03(水) 18:09:300923デフォルトの名無しさん
2006/05/03(水) 18:15:390924デフォルトの名無しさん
2006/05/03(水) 18:19:270925デフォルトの名無しさん
2006/05/03(水) 18:36:34お前は一体何処で働いてるんだ。
0926デフォルトの名無しさん
2006/05/03(水) 18:38:350927デフォルトの名無しさん
2006/05/03(水) 18:44:420928デフォルトの名無しさん
2006/05/03(水) 18:46:190929デフォルトの名無しさん
2006/05/03(水) 18:50:15企業ではどの案件が多い?
0930デフォルトの名無しさん
2006/05/03(水) 18:53:27魔法少女リリカルなのは 第13話「だからチャンスなの?」
0931デフォルトの名無しさん
2006/05/03(水) 18:56:050932デフォルトの名無しさん
2006/05/03(水) 18:58:09その辺と、.Netじゃね?
0933デフォルトの名無しさん
2006/05/03(水) 18:59:20納期に間に合わないって・・・
0934デフォルトの名無しさん
2006/05/03(水) 19:03:17VB指定って企業があるのよ(w
自社でメンテ出来るからって理由で(w
0935デフォルトの名無しさん
2006/05/03(水) 19:04:030936デフォルトの名無しさん
2006/05/03(水) 19:12:41って感じか?
0937デフォルトの名無しさん
2006/05/03(水) 19:33:18正しくはこう
どとねと >>>>> VB >>>>> 越えられない壁 >>>>> VC>>>>>Java
0938デフォルトの名無しさん
2006/05/03(水) 19:40:33VC++でDLLは作るけど。
0939デフォルトの名無しさん
2006/05/03(水) 19:45:01100%は言い過ぎ(w
0940デフォルトの名無しさん
2006/05/03(水) 19:51:380941デフォルトの名無しさん
2006/05/03(水) 20:05:08クライアント作ってた奴が居るのか・・・
0942デフォルトの名無しさん
2006/05/03(水) 20:16:36指定なきゃDelphiだがなにか問題でも(w
0943デフォルトの名無しさん
2006/05/03(水) 21:35:55びびったwwwww
どんだけVB信者多いんだよwwww
まさに厨だなwwwww
ありえんwwwwwwwwwwwwwwwww
VBがVCの足元にすら及ぶのか、冷静になって考えて見ろよwwwwwwwww
0944デフォルトの名無しさん
2006/05/03(水) 21:37:400945デフォルトの名無しさん
2006/05/03(水) 21:38:06そういう問題ではなくて、このスレにVC++が使えない(理解できない)奴が多いだけ。
だってここはVBスレだから。
VCが出来る奴がVBスレなんかにいるわけがない。
0946デフォルトの名無しさん
2006/05/03(水) 21:39:34ある意味入門用言語だからな
0947デフォルトの名無しさん
2006/05/03(水) 21:40:06若いな。
昔からVB厨は悔しさのあまりVC++を目の敵にするもんだ。
そんなことも知らないとは若すぎ。
0948デフォルトの名無しさん
2006/05/03(水) 21:40:50だなw
ある意味というか入門専用だしな。
0949デフォルトの名無しさん
2006/05/03(水) 21:46:55誤爆?
クライアント側はVC++を希望するけど、
開発側が対応できないからVBを推奨して丸めこんでるが正解だろ。
>>940の言葉を借りるなら99.999999999%がそう。
0950デフォルトの名無しさん
2006/05/03(水) 21:53:03>>937
ネタにマジレスするが
おまえらも分かってる通り正しくはこう
VC>>>Java>>>>>>>>>>>どとねと>>>>超えられない壁>>>>VB
0951デフォルトの名無しさん
2006/05/03(水) 21:54:17そのVB厨の巣であるこのスレに来てまで暴れる意味もわからん。
0952デフォルトの名無しさん
2006/05/03(水) 22:06:260953デフォルトの名無しさん
2006/05/03(水) 22:10:25まじレスすると、VBが簡単なのは、コントロールをフォームに貼る所迄、だよ。
それに、ここはVBスレなんだから、使わないなら来るなって。
0954デフォルトの名無しさん
2006/05/03(水) 22:12:23>VBが簡単なのは、コントロールをフォームに貼る所迄、だよ
m9(^Д^)プギャー!!
0955デフォルトの名無しさん
2006/05/03(水) 22:13:22おまえにとってはコントロールをフォームに貼るところ以降は難しいようだねw
自己紹介乙
0956デフォルトの名無しさん
2006/05/03(水) 22:15:29ん?VBが上級者向けとでも?
VC++と比較して考えてみろよ。
VC++と比較してインタープリタであること以外のメリットを述べてみろ。
0957デフォルトの名無しさん
2006/05/03(水) 22:17:26インタプリタであることもデメリットだろ
0958デフォルトの名無しさん
2006/05/03(水) 22:19:020959デフォルトの名無しさん
2006/05/03(水) 22:20:550960デフォルトの名無しさん
2006/05/03(水) 22:21:03あまり関係ないけど
環境に依存しすぎなので、業務用にはあまりお薦めできない。
それに、VBは連続使用を保証してなかったと思うのだが・・・今は違うのか?
よって、主観だけどテスト開発とか練習用って位置づけなんだけど
0961デフォルトの名無しさん
2006/05/03(水) 22:22:29それ以前に連続使用で問題があるという話を聞いたことが無いw
0962デフォルトの名無しさん
2006/05/03(水) 22:25:00まあ最近のは結構進化してて用途によっては実用にも耐えうるだろう。
でもよく考えてみろ。本当にVBという選択は正しいのか。
0963デフォルトの名無しさん
2006/05/03(水) 22:27:18会社でVBで組めと言われたら従う以外の選択肢はないんだから。
なんでVBで組んでるかとかいうことまで考えたことのあるようなデジタル土方はいないよ。
0964デフォルトの名無しさん
2006/05/03(水) 22:27:470965デフォルトの名無しさん
2006/05/03(水) 22:28:18> このスレにいるような
お前もこのスレにいる
0966デフォルトの名無しさん
2006/05/03(水) 22:29:23そりゃビギナー用途にしては万能なほうじゃね?
0967デフォルトの名無しさん
2006/05/03(水) 22:29:56まあ問題は聞いたことはないかも知れないけど、未保証ってのが・・・
0968デフォルトの名無しさん
2006/05/03(水) 22:30:13いるよ。
俺もデジタル土方だ。
仕方なく言われるままVBを使ってるんだ。
文句はあるまい。
0969デフォルトの名無しさん
2006/05/03(水) 22:31:020970デフォルトの名無しさん
2006/05/03(水) 22:31:52当たり前に保証されていることを、わざわざ保証されているとは言わんのだが・・・。
それとも未保証ってどこかに書いてあった?
0971デフォルトの名無しさん
2006/05/03(水) 22:32:33浅はかで、貧乏で、初心者なクライアントが全て悪い。
まあVBで依頼して満足できなくても自業自得だからいいんじゃね?
0972デフォルトの名無しさん
2006/05/03(水) 22:32:47自分で自分のことを言うのは文句ない。
ただ、自分がそうだからって、他人にもあてはめんなよw
0973デフォルトの名無しさん
2006/05/03(水) 22:33:39じゃあおまえは誇りを持ち、好んで自らVBを使ってるとでも?
0974デフォルトの名無しさん
2006/05/03(水) 22:34:09だが問題は、そんなに万能でもないということだ。
0975デフォルトの名無しさん
2006/05/03(水) 22:36:30言語なんてどれでもいい。ただ過去の資産があるから使っているだけですが?
0976デフォルトの名無しさん
2006/05/03(水) 22:37:41ヒント 名前が付けられた当時の時代背景
今の時代に名前の由来がどうとか言っても
的外れなだけだよ。
0977デフォルトの名無しさん
2006/05/03(水) 22:38:550978デフォルトの名無しさん
2006/05/03(水) 22:42:04・ランタイムが必要
・遅い
・マルチプラットフォーム性は皆無
他にもいろいろデメリットはあるだろうけど、
この3点がある時点で使う意味はない。
0979デフォルトの名無しさん
2006/05/03(水) 22:43:220980デフォルトの名無しさん
2006/05/03(水) 22:43:51イミディエイトウインドウから
作った関数をすぐに実行できること。
デバッグ中にブレークポイントで実行を停止し、
その場でコードを修正し、修正したコードで続きを実行できること。
デバッグに便利。
0981デフォルトの名無しさん
2006/05/03(水) 22:45:01飛ぶと目も当てられないけどな
0982デフォルトの名無しさん
2006/05/03(水) 22:45:58・完全なオブジェクト指向ではない
・ポインタ型がない
まあ唯一のメリットはインタプリタであることかな。
でもそれは開発テスト用途でのメリットであって、
実際に納品するものでは逆にデメリットになる。
0983デフォルトの名無しさん
2006/05/03(水) 22:46:040984デフォルトの名無しさん
2006/05/03(水) 22:46:48それも開発テスト用途としてのメリットだな。
0985デフォルトの名無しさん
2006/05/03(水) 22:46:57Javaもポインタ型無くて、VBと同じ参照だけだよ。
0986デフォルトの名無しさん
2006/05/03(水) 22:47:46そりゃ、生産性の高さとしてのメリットをあげたんだからねぇ。
事実でしょ?
0987デフォルトの名無しさん
2006/05/03(水) 22:48:49見つけられなかった、思い違いかも知れない
でも、たしかVBの欠点って使いはじめの最初のころに読んだか聞いたんだけどなぁ
0988デフォルトの名無しさん
2006/05/03(水) 22:48:54クオリティより生産性を重視するならVBか。
0989デフォルトの名無しさん
2006/05/03(水) 22:50:54どうせ管理ソフトとか機関ソフトの類だろ?
そんなのはVBでチャチャーっと作っちゃえばいいのよ。
エンドユーザ向けとか、パフォーマンス重視のソフトなら、
VBという選択肢はないけどな。
0990デフォルトの名無しさん
2006/05/03(水) 22:51:22スキルでなんとかする(w
0991デフォルトの名無しさん
2006/05/03(水) 22:52:47あとOOPが出来ない奴が多い。
ん?逆か?
スキルが低いからVBプログラマなのか。
0992デフォルトの名無しさん
2006/05/03(水) 22:53:36これはスキルの低いプログラマの絶対数が多いってことだ。
0993デフォルトの名無しさん
2006/05/03(水) 22:57:42スキルの高い奴はどんな言語にでも柔軟に対応できるのが当たり前。
0994デフォルトの名無しさん
2006/05/03(水) 23:02:15自分は業務pじゃなくてサンデーpですが、>>791ような場合、格納される個々の値の
管理を一括化でき、配列サイズの増加が可能で、なおかつコードがシンプルかつ
コンパクトになるというメリットがあると思って配列化しました。
あとは、コメント文で何故そういう風に書いたかという思想をちゃんと伝える必要は
感じますけど。
業務ではコメントって書かないもんなんですかね?コメント書くことを必須にしとけば
ずいぶん片付く問題に思えるんですが。考えが甘いっすか?まあプログラマもピンきりですしね。
0995デフォルトの名無しさん
2006/05/03(水) 23:05:040996デフォルトの名無しさん
2006/05/03(水) 23:07:160997デフォルトの名無しさん
2006/05/03(水) 23:07:230998デフォルトの名無しさん
2006/05/03(水) 23:13:18何で其処迄必死にVBを否定するんだ?
単なる適材適所だろ。
VBで作った方が良い物はVBで作ればいいし、VC++の方が
良ければVC++を使えばいいだけ。
勿論、Javaとかデルファイとかアセンブラとかも同じ事。
「VBのデメリット」だの「VC++には出来てVBには出来ない事」だの
を列挙して何の意味があるんだ?
池沼なのか?
0999デフォルトの名無しさん
2006/05/03(水) 23:16:321000791です。
2006/05/03(水) 23:16:3910011001
Over 1000Threadもう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。