(*´д`*)アハァ… VB初心者質問スレ Part23

このエントリーをはてなブックマークに追加
v(*´д`*)b アハァ…
ブビタンがどんな厨房疑問でもやさしく答えるブビ。
ブビタンは時に私であり、時には別の人ブビ。
関連スレは>>2ブビ。

  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
  Part15 http://pc3.2ch.net/tech/kako/1032/10327/1032706491.html
  Part16 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://pc2.2ch.net/tech/kako/1041/10418/1041879465.html
  Part21 http://pc2.2ch.net/test/read.cgi/tech/1044028945/
  Part22 http://pc2.2ch.net/test/read.cgi/tech/1046354784/

VB.net関連スレ
【老若】VB.net質問スレ【男女】 (Part2)
http://pc2.2ch.net/test/read.cgi/tech/1043629429/

心得
壱.質問する前に過去ログにも目を通してみる。
弐.質問する前に MSDN などで調べてみる。
参.VBScript もこのスレでOK。
四.インストーラーなどの質問もOK。
五.下ネタもたまにならOK。
六. ブビタン情報募集中。
>>1
スレ立て、おちゃかれ。
最悪のVBコードというスレはなぜ存在しないの?
すべてのVBコードは最悪だから。


といったら一番面白いかな?
>>1
心得
七.ぬるぽ
ちょー基本かもしれないけど教えてくらはい。
VBでADOとDataComboboxとMSHFlexGridコンポーネントを使った
プログラムを書いたのですが、
コンパイルしたExeを他のPC(VB入ってない)で実行しようとすると
なにやらocxが正しく認証されてないとか何とかメッセージが出て動かないのです。

VB6のDLLなどはモジュールと同じディレクトリに入れればいいと思うのですが
コンポーネントのocxはどうするれば実行できるのでしょう?
MSDNみてもいまい分からんのです…

ちなみにインストーラーは使えません
8デフォルトの名無しさん:03/03/16 02:35
あ、ちなみにWin2000+VB6SP5でつ。
>>7
インストーラー使え。
(*´д`*)アハァ…
>>7
regsvr32.exe hoge.ocx
だったっけかな? 手動でocxを登録しる。
regsvr32.exeはwindowsのsystemフォルダにあるはず。
>>9
契約上インストーラーの類は使えないんですよ…
リリースの時は手順書でいちいち支持しなきゃらない
>>11
おおサンクス!
これでテストできるッス

ついでに、このときのocxって開発環境で参照設定するときに
「場所」で表示されるファイルでいいんですよね…?
便乗質問。
DLLヘルとかおこさないように既存の環境を壊さずにどこまでやれる?
side-by-sideを使ってVB関連のDLLをアプリと同じフォルダに入れて・・・。
誰か手順を教えてちょ。
15デフォルトの名無しさん:03/03/16 07:02
おしえてください!

VB4を使ってるんですが、TEXTを2個と
コマンド1個を使ってTEXTの内容をコマンドでメール
送信のプログラムの書き方おしえてください!
宜しくおねがいします!
17デフォルトの名無しさん:03/03/16 10:09
>>16
サンクスコ
6.0持ってるんですが訳わかんねーよ。
どうしたら良いですか?
>>12
そんなとこ相手にVB使うな。それが間違ってる。
これも貼っとく

VB超初心者スレ
http://pc2.2ch.net/test/read.cgi/tech/1047222540/
今更だが、>>1が今回のように建てたいだけのヤシだと萎える。
HTML化チェックくらいしる、ボケが。
22デフォルトの名無しさん:03/03/17 01:38
>>14
それでいいよ。ほんで、DLLやらOCXやらが依存してるDLLやらOCXも、すべて
同じところに入れるようにする。

>>18
何がわかんねーの? とりあえず、手当たり次第にサンプルを作っていじって
していけば、だんだん理解できると思うよ。
23デフォルトの名無しさん:03/03/17 01:46
おまいらヘルブレスやれって!マジ面白いぞ!
1ヶ月は無料だし、やる価値あり!
http://www.netgame.co.jp/default.ngc
>>14
side-by-side ってXPしか使えんのでは? そう言う前提?
25デフォルトの名無しさん:03/03/17 10:25
常駐プログラムを終了させるAPIか何かありませんか?
たとえば、常駐秀丸を終わらせたり、ウィルススキャンツール
などを終わらせたりはできませんか
26デフォルトの名無しさん:03/03/17 10:34
>25

できる
API使う
27デフォルトの名無しさん:03/03/17 10:45
>>24
Side-By-Side は、98SE/2000以降で使えるよ

>>25
確実な方法はないね。WM_SYSCOMMAND、SC_CLOSEを送るってのが
一番きれいな作法。
28 ◆VyZKkSDatc :03/03/17 12:32
質問です。VB6SP5、WinXP

文字列が100涸ほどあります。
それぞれのサイズは1kBぐらいです。
で、変換ルールが255涸あります。
文字列100涸全てに対して、変換ルール255涸を全て適用したい。
とりあえず何も考えずにForで回してReplaceしてみたんですが
予想通り恐ろしい遅さです。
さすがにこのコードは非効率的過ぎると思うので
もうちょっとましなやり方ありませんでしょうか。
2928 ◆VyZKkSDatc :03/03/17 12:33
なんだろう「涸」って。
脳内で「個」にReplaceして下さい。
宜しくお願いします。
30デフォルトの名無しさん:03/03/17 12:44
>28
コードみせやがれこのやろう!
せめて変換ルールぐらい書かないとなんとも言えません。
>28
いくつかの部分にわけて、時間はかってみたら?
遅いのはReplace以外のところかもしらんぞ。
33デフォルトの名無しさん:03/03/17 13:59
>>28
メモリ上の再配置が毎回起きないように工夫すれば、
そのための時間は短縮できる。
34デフォルトの名無しさん:03/03/17 15:56
VC++6.0でDOSのプログラムを作る場合は
プロジェクトの種類は何を選べばいいのでしょうか?
>>34
すれ違いか誤爆か。
36デフォルトの名無しさん:03/03/17 16:21
Set recRS = dbDB.OpenRecordset(" SELECT * FROM ifile_Converter " & _
                 " WHERE Hoge1 = " & strString1 & _
                 " AND Hoge2 = " & strString2 & _
                 " AND Hoge3 = 完了;", dbOpenSnapshot)
直接VBとは関係のない話になってしまうのですが、上記のCSVファイルが
構文エラーになってしまいます。なぜなのでしょうか?
>>36
関係ないって分かってるならSQLスレ逝けよ
3836:03/03/17 16:23
"CSVファイル" は、単にCSVだと思ってください。書き違えました。
3936:03/03/17 16:24
SQLスレがあるとは知りませんでした。そっちへ移動します。
40デフォルトの名無しさん:03/03/17 16:36
>>36
Set recRS = dbDB.OpenRecordset(" SELECT * FROM ifile_Converter " & _
                 " WHERE Hoge1 = '" & strString1 & "'" & _
                 " AND Hoge2 = '" & strString2 & "'" & _
                 " AND Hoge3 = '完了';", dbOpenSnapshot)
4136:03/03/17 16:43
ありがとうございます。できました!!
(*´д`*)アハァ…
VBやっている女の子って可愛いよね
>>43
ヴェンチャー・ビジネス?
>>44
Virtual Boinize
46デフォルトの名無しさん:03/03/17 21:24
VB6の質問です。
>実行時エラー '459':
>オブジェクトまたはクラスがこのイベント セットをサポートしていません。

っていうエラーが出て困ってます。ヘルプによると、

>Implements ステートメントは、メソッドやプロパティをインプリメントしますが、
>イベントのインプリメントは自動的には行われません。

って書いてあるんですけど、解決方法ってあるんでしょうか…?
完璧はまってます〜ヽ( ´ー`)ノ
4746:03/03/17 21:55
補足。
クラスAを作成→ActiveX DLL化
クラスAをImplementsしたクラスBを作成→ActiveX DLL化
クラスBではあるタイミングでイベントを発生させる(RaiseEvent)

クラスBのDLLと同じようなDLLは複数ある
(要はクラスAをインターフェースとするプラグインDLLみたいなものを複数作る)

で、そのプラグインを使うプログラムでイベントを捕捉したいんだけど、
件のエラーが出てできないってなわけですヽ( ´ー`)ノ
48デフォルトの名無しさん:03/03/17 21:58
>>46
情報足りないと思うんで勝手に推測、補完するけど
インタフェースIをImplementsしたClass1、Class2があって、両方から
同じイベント(インタフェースIで定義)を発生させようとした場合、
Class1、Class2でインタフェースIのイベントの定義が出来ず(やり方あるの?)
また、Class1、Class2でインタフェースIのイベントを再定義したとしても、
WithEvents付きの変数に代入しようとすると「オブジェクトまたはクラスが
このイベント セットをサポートしていません」とでる問題?

俺も素直な解決法があるなら知りたい。「自動的」って書いてるから手動で
出来そうな感じなんだけど。


ちなみに俺は諦めて、イベントを使用する方法をやめて、
WithEvents付きの変数があるところ(フォーム)にインタフェースIEventを
Implementsさせ、インタフェースIでSetEventというメソッドを定義し、
WithEvents付きの変数に代入したあとで、SetEventを呼び出しフォーム自身を
Class1、Class2に渡しイベントを発生したいタイミングでClass1、Class2から
フォームのIEventメソッドを呼び出す方法(とその応用)で対応しました。
4948:03/03/17 21:59
>>47を読む前に書きました。
50デフォルトの名無しさん:03/03/17 22:10
起動中のアプリを列挙したいと思い、EnumWindowsをつかいました。
上手く全部のアプリのハンドルを取得できました。
ここから、タスクバーに表示されているアプリだけを抽出したいんですが、
どうすればいいですか。
51デフォルトの名無しさん:03/03/17 22:22
>>50
ツールウィンドウではないとか、オーナーがデスクトップだとか、非表示ではない
とか、いくつか条件があったはず。MSDNマガジンにサンプルなかったかな?
52ひきプロ:03/03/17 22:29
GetWindowTextLength(hWnd) > 0
かつ,
IsWindowVisible(hWnd) != FALSE
かつ,
GetParent(hWnd) == NULL
かつ,
(GetWindowLong(hWnd, GWL_STYLE) & WS_CAPTION) != 0
で列挙できるらしいです
http://n76cd-01p05.ppp11.odn.ad.jp/old/05550.html
5350:03/03/17 22:35
なるほど…そうやってコツコツ調べるしかないんですね。
やってみます。
ありがとうございましました。
5446:03/03/17 22:46
>>48
そそ、手動でできそうに書いてあるのがひっかかってるんですよ〜
誰かおせーて!!

だめだったら48さんの方法を考えてみるしかないかな〜ヽ( ´ー`)ノ
ありがとう〜>>48
55たぬき ◆Gz5HzWinNY :03/03/18 00:29
あの・・・
もしよろしければ・・・
ダブルクオーテーション内でダブルクオーテーションを
使う方法を教えていただけませんか?
("""こうしてもうまくいかない・゚・(ノД`)・゚・
"\""
>>56
それはCの話だね。

>>55
VBでは""""
58たぬき ◆Gz5HzWinNY :03/03/18 00:34
>>57
できましたぁ!!!
ほんとうにありがとうございます!!!
59デフォルトの名無しさん:03/03/18 02:11
VBからshell変数でEXCELを起動し、
xlsファイル内のマクロAuto_Openで各種変換処理をさせているのですが
どうしても一瞬、EXCELの画面が開いていしまいます。

画面に一切表示させずにxlsファイルのマクロを実行する方法ってないでしょうか?
(それはそれでウィルスっぽい挙動だけど)
>>59
vbHide だの vbMinimizedFocus だのはきかないのかな<試してない
>>59
Shellは絶対必要なの?
参照設定や、CreateObjectではダメなのかい?
それぞれの意味はGoogleやヘルプで。
Excelオブジェクトを操作するのって結構面倒だぞ(一応)
Excel開きぱなしでバッチ起動。終わると作業中だったシートもアボ〜ン。
なんてやったことあるなぁ(藁
63デフォルトの名無しさん:03/03/18 10:11
>>59
参照設定して

Dim xlApp As Excel.Application, xlBook As Workbook
Set xlApp = Excel.Application
Set xlBook = xlApp.Workbooks.Open(...)
表示するときは
xlApp.Visible = True
xlApp.ScreenUpdating = True 
ってしないと固まったようになる
65デフォルトの名無しさん:03/03/18 11:06
多分、すごく単純で基本的なことだと思うんですが、Accessのデータを
VBで利用し、data gridで表示しています。
使っているAccessデータの中にはYes/No型のデータがあるんですが、
これをVB上でチェックボックスとして表示することは出来ないのでしょう
か?

作りたいのはデータの中でチェックを付けたものだけcsvとして書き出す
プログラムが作りたいのですが、使うのがエクセルすらよく理解してい
ない上司が使うので、Accessでは無理だと(使えないと)思うんです。

過去ログなどを検索してみたんですが、分からなかったので知っている
方がいたら教えてください。
>>65
Booleanに1:1に投射してやれば良いだけでは?
6765:03/03/18 11:38
>>66
それはデータを1件ずつ表示するときですか?
一覧表(アクセスで言えば、データビューの様な感じ)で、例えば右端の
データをチェックボックスとして表示したい、という時にも利用できるんで
しょうか?
68デフォルトの名無しさん:03/03/18 11:46
VB6でSQL Server2000のデータを扱うにはどうすればいいのでしょうか?
今まではAccessを利用していて、それのやり方ならわかるのですが、
SQL Serverだと、そもそもどうやってDBに接続すればいいかすらわかりません。
ですから、DBを参照・追加・削除などのやり方もわかず困っています。。。
>>68
ピンポイントの質問ならともかく、そんな漠然とした質問を
一から教えるほどみんなヒマじゃないんだよ。
参考書嫁。
70たぬき ◆Gz5HzWinNY :03/03/18 11:55
あの・・・
ぐぐってもでなかったんでここで聞かせていただきます・・・・

コントロール配列にしたOption1を
Form_Lord時にCase 0にを選ぶようにするにはどうすればいいんですか?
(Option1(0)が選択された状態で起動させたいんです・・・
>>70
設計時にValueプロパティを設定しておいてはいけないの?
72たぬき ◆Gz5HzWinNY :03/03/18 12:05
>>71
ぁ・・・
できました・・・・
ありがとうございました!
(なんか恥ずかしい
73デフォルトの名無しさん:03/03/18 12:06
>>68
ADOを使っていたなら、基本的には一緒。OLEDBデータプロバイダを変更して、
あとはウィザードでやってみれ。

>>70
Form_Load イベントで、Option1(0).Value = True でいいんでない?
74たぬき ◆Gz5HzWinNY :03/03/18 12:11
>>73
w( ̄o ̄)w オオー!
そっちならば一時的にもOKですね
ありがとうございます〜!
75デフォルトの名無しさん:03/03/18 12:55
春がきたなぁ
>>75
最近、それしか言えない奴って結局論じる力が無いんだと思うようになった。

反論して相手を黙らせるだけの能力がないと。その負け惜しみ。
77デフォルトの名無しさん:03/03/18 13:38
>76

最近、それしか言えない奴って結局論じる力が無いんだと思うようになった。

反論して相手を黙らせるだけの能力がないと。その負け惜しみ。
春が来たなぁ。
79デフォルトの名無しさん:03/03/18 14:55
SHBrowseForFolderでフォルダ選択ダイアログを出しています。

よく、ドライバのインストール時なんかに同じように
ツリービューでフォルダを選択しますが、
この時、該当するドライバのinfファイルが無いフォルダを
指定してもOKボタンが使用不可の状態になっているものが
ありますよね。
これと同じように特定のファイルの入っていないフォルダを指定しても
OKを押させないようにしたいのですが、何というAPIを使えば良いのでしょうか。
よろしくお願いします。
>>79
色々メッセージが飛んできてる模様。
81デフォルトの名無しさん:03/03/18 15:12
春が来たなぁ。
82sine:03/03/18 15:13
/ヽァ/ヽァ(*´Д`*)/ヽァ/ヽァ…


分からないが、この時間は根気強く待て。
レスするな。
8480:03/03/18 15:20
>>83
了解。色々ソース見つけたけどレスしないことにするよ。
85デフォルトの名無しさん:03/03/18 16:27
中学の数学のまとめの問題をランダムで作成するプログラムを作っていて、
今分数同士の計算の問題を作っています。まず、ランダムで数値を決め、
それを分数に変換します。分数一つ表示させるために整数部分(帯分数用)、
分母、真ん中の線、分子用の4つのラベルを使用するのですが、他に良い方法は
ないでしょうか。答えは8択タイプなのでラベルだらけになってしまいます。
>>85
それをコンポーネント化すればどうでしょう?
コントロールグループとか無かったでしたっけ?
>>85
ActiveXコンポーネントに汁。ヘルプで勉強してね。
8885:03/03/18 17:59
お答えありがとうございました。やってみます。
中学の数学のまとめの問題をガンダムで作成するプログラムを作っていて、
今分数同士の計算の問題を作っています。まず、ガンダムで数値を決め、
それを分数に変換します。分数一つ表示させるために整数部分(シャア専用)、
分母、真ん中の線、分子用の4つのララアを使用するのですが、他に良い方法は
ないでしょうか。答えはNewタイプなのでララアだらけになってしまいます。
つれません
>>90
つれない返事だね
92初心もの:03/03/18 19:37
すいません。
全部平均するとこちらが設定したような数Nになるような乱数(乱数の個数も
こちらが設定)を発生するような方法というのはあるのでしょうか?
>>92
あります。詳しくはこちらへどうぞ。
アルゴリズムに関する質問、議論総合スレ
http://pc2.2ch.net/test/read.cgi/tech/1014783451/
>>89
>4つのララア

私は>>89を支持します。
やはり整数部分は3倍でしょうか。
答えが合って赤丸が貰えると3倍
97デフォルトの名無しさん:03/03/18 20:42
pictureの上にマウスのカーソルが来た時だけ絵を表示って感じにするにはどうしたらよろしいでしょうか?
真ん中の線なんて飾りです。
>>97
1) 簡単
MouseMoveイベントでPictureを切り替える。
Picture_MouseMoveで絵を表示させ
その他の所_MouseMoveで絵を消す

2) 面倒
Pictureの位置を画面上の絶対座標で取得しておいて
GetCursorPos使うかグローバルフックするかしてマウス位置に応じてPictureを切り変える。
10097:03/03/18 20:54
>>99
ありがとうございます、やってみます
>>98
偉い人には(略)
102デフォルトの名無しさん:03/03/18 21:09
>>97
キャプチャーかけたほうがいいかも。
Mouse_Move って結構取りこぼしがあるからね。
ユーザのインターネットエクスプローラのキャッシュフォルダのパスを取得したいですのでおねがいします。
VBと全く関係ないんだが、
ツールバーに使うのにちょうどいいアイコン(「開く」とか「上書き保存」とかに使うやつ)
を公開しているページはないですかね?
106デフォルトの名無しさん:03/03/18 21:24
>>105
死ね糞マルチ
107103:03/03/18 21:29
>>104さんありがとうございます。
等しくないならってVBだとなんでしたっけ?
マジで忘れてしまって、見つけられません。
助けてください。
>>108
>>108
<>
>>108
!=
>>108
if False Then
113108:03/03/18 21:35
>>109
できました。ありがとうございます。

>>110-111
ネタは結構
114108:03/03/18 21:35
絶対、!は入ってたなと勘違いしてたので見つけられなかったみたいです。
すいません、ありがとうございました。
>>113
いや、出来ないだろ・・・。
>>113=偽物
ワラタぞ。
117デフォルトの名無しさん:03/03/18 21:41
パズルゲームを作ろうと思うのですが、たとえばフリーセルでは問題の
数は、1-32000となってます。その32000という数の意味は何でしょうか?
乱数のシード値は、約3萬しかないんでしょうか?

それと、formに長方形でない画像(星型など)を置いて動かしたいのですが
可能でしょうか?

おねがいします。
0x7FFFに近い数
フリーセルって-1や-2も指定できるよね。絶対に勝てないけど。
120デフォルトの名無しさん:03/03/18 21:47
>>117
符合付き16ビット整数の最大値は?

星形の画像は可能。
それどころか星形のフォームも可能。
ようは背景を星形に透過させるだけ。
121117:03/03/18 21:51
>>120
どうもすみません。その透過について知りたいのですが、誰か簡単な方法を
教えていただけませんか?
>>120
>ようは背景を星形に透過させるだけ。

ここが一番聞きたいところだと思うのは気のせいか?
リージョンとかヒントを書いてるならまだしも・・・。
>>122
さりげないヒントかっこいい!
124デフォルトの名無しさん:03/03/18 22:03
>>105
VBのフォルダを探してみそ

>>117
フォーム上でいいなら、Imageを使うとか背景をフォームの色と同色で塗りつぶせば
いいんじゃない?
125117:03/03/18 22:08
>>124
できれば透過させたいんですけど・・・。まあ、いろいろやってみます、どうも。
126グリッド:03/03/18 22:12
グリッドコンピューティソグにOSXで参加できるものって何か有りますか?
OSXって何?VBに関係あるの?
128デフォルト:03/03/18 23:05
初心者の質問です。よろしくおねがいします。
MicrosoftのVisual Studio.netでVBのプログラムをしようとおもっています。
VB6.0とVB.netとでは全く違うといわれたのですがどういったところが違うんでしょうか?
>>128
お前さぁ、

インドとインドネシアとでは全く違うと言われたのですがどういったところが違うんでしょうか?

って質問に答えるのってだるいと思わない?

たとえが悪いか。

全然違うファイルのdiff取るのってバカらしいと思わない?
差分のつもりが本体よりファイルサイズ増えるぞと。
まず次の質問に答えてください。

VB6は知っているの?
BASICは知ってるの?
プログラミングはしたことはあるの?
>>130
>BASICは知ってるの?

これはどうでも良いと思われ。
132デフォルトの名無しさん:03/03/18 23:22
一定時間毎にバイナリー形式でファイルにデータを追加しつつ
落としたいのですが、どうすればよいのでしょうか?
どうしても上書きされてしまい、うまくいきません。
どなたかお助けください。
>>132
>落としたい
何を。どこから。
>>133
ぐぐれ
135132の翻訳結果:03/03/18 23:33
バイナリファイルをネットから取得し、
ファイルへ逐次保存してダウンロードしたいのですが
内容が追加書き込みにならず上書きされてしまい、手詰まりです。
おせーてエロい人
136デフォルトの名無しさん:03/03/18 23:34
>>128
DOSとWindows以上に違う

>>129
インドネシア=島のインド(笑

>>132
Append
>>135
appendとかないの?VBって。
コードを張ってみたらどうだい
139132:03/03/18 23:38
>>133
何をというとコンピュータ間でのシリアル通信のデータです。
バイト型の配列から取りだして一定間隔でバイナリー形式の
ファイルに保存、追加したいのですがうまくいかないのです。
system.io.bineryreaderクラスのwrite()プロパティで行け 
氏ね
142デフォルトの名無しさん:03/03/18 23:45
>>140
そりゃー無理。
>>140
本当にbineryですか?
>>140
>bineryreaderクラスのwrite()
お前なぁ・・・
では、SaveNetworkBinaryFilePreserveAsLocalFile() API で
氏ね
147132:03/03/19 00:12
コードといってもこれぐらいしかわからないのですが・・・
Binaryの部分をAppendにすると改行の入ったテキスト形式に
なってしまってどうにもならなくなってしまいました。

Open "test.bin" for Binary As #FileNum
For i=0 to 254
Put #FileNum , , bytArray(i)
Next i
Close #FileNum

やはりAPIを使わないと駄目なんでしょうか?
148Name_Not_Found A:03/03/19 00:14
>>130
VB6は知っているの?
BASICは知ってるの?
プログラミングはしたことはあるの?

全く知りません、プログラムしたことありません。
>>63
サンクス!
でも
参照設定自体ができないみたいで。・゚・(ノД`)・゚・。
メニューの参照設定から.xlsファイル選ぶのって間違ってるのかなぁ…
>>147
Seekしないと、先頭になるのでは
151デフォルトの名無しさん:03/03/19 00:49
>>149
参照設定するのは、Microsoft Excel x.x ってやつね。
152デフォルトの名無しさん:03/03/19 00:53
>>147
Open "test.bin" for Binary As #FileNum
Dim bytArray(254)
For i = 0 to 254
  bytArray(i) = i
Next i
Put #FileNum , , bytArray()
Close #FileNum
153152:03/03/19 00:55
型を書き忘れた。
Dim bytArray(254) As Byte
>>147
Dim FileNum As Integer
Dim testbin As Byte
Dim i As Long
FileNum = FreeFile
Open "test.bin" For Binary Access Read Write As #FileNum
Seek FileNum, LOF(FileNum) + 1
For i = 0 To 255
testbin = i
Put #FileNum, , testbin
Next i
Close #FileNum
'無駄なのもあるが。
155132:03/03/19 10:41
>150>152>154
皆さんのおかげでできました!!こうやって保存できるのですね。
大変勉強となりました。本当にありがとうございました。
156デフォルトの名無しさん:03/03/19 16:34
msFlexGridを使用しています。
コードで、特定の行を表示領域の一番上に持ってきたいのですが、
どうしたら良いのでしょうか。

例えば、100行目を領域の一番上に表示したい場合などです。
100行目を選択する方法は分かったのですが、
その部分までスクロールする方法が分かりません。

よろしくおながいします。
TopRow プロパティ (階層フレキシブル グリッド)

階層フレキシブル グリッド (MSHFlexGrid) コントロールの先頭に表示される行 (固定型の行を除く) を設定します。値の取得も可能です。このプロパティは、デザイン時には使用できません。

構文

object.TopRow [=number]

TopRow プロパティの構文の指定項目は次のとおりです。

指定項目 内容
object 「対象」一覧内のいずれかのオブジェクトを指すオブジェクト式です。
number 階層フレキシブル グリッド コントロールの先頭に表示される行を指定する長整数型 (Long) の値を指定します。
vbで作られたアプリからプログラムを読みたいんですが、ここにいるかたで読み方知ってる方いますか?
>>158
Open / Get / Close あたりかな?
サンクスです>157
161デフォルトの名無しさん:03/03/19 17:43
フォルダの中にあるファイル名だけを、
すべて配列変数に取り込みたいのですがどうしたらいでしょうか
162デフォルトの名無しさん:03/03/19 17:55
>161

まずはMSDNを見る
>>161
Dir
164デフォルトの名無しさん:03/03/19 17:59
inetコントロールでexecuteメソッドを使いURLを開いた場合。環境変数が
HTTP_USER_AGENT=Microsoft URL Control - 6.00.8862
HTTP_REFERER=""
になっていました。ここに値を入れる方法をご存知ありませんでしょうか。MSDNとgoogleで調べましたが、わかりませんでした。
USER_AGENTはたしかIEだとレジストリにかかれていたはずですが、VBの場合もレジストリにかかれているのでしょうか?
165164:03/03/19 18:05
requestHeadersがそれっぽいのですね・・・。
166164:03/03/19 18:45
複数のヘッダを指定する際の書式がわかりませんでした・・・。
どなたか教えていただけないでしょうか。
Dim strHeader As String
strHeader = "Content-Type: application/x-www-form-urlencoded" & vbCrLf & "HTTP-REFERER: http://www.xxx.co.jp" & vbCrLf
Inet1.Execute "http://apl.contents-web.com/heddertest.asp?qsdata=QueryString_OK", "GET", strHeader
167デフォルトの名無しさん:03/03/19 19:30
>>166
Inet1.Execute Url, Operation, Header, RequestHeaders
簡単なパケットフィルタを作りたいんですがどうすればいいんですか?
>>168
VBではつらそうだ。
vbでCD-Rを焼くソフトって作れるかい?
簡単なOSを作りたいんですがどうすればいいんですか?
172デフォルトの名無しさん:03/03/19 23:21
>>170
ちょっと厳しそう。XPだとAPIがあるらしいんだけど・・・

>>171
少なくともVBでは無理。タネンバウム先生の本でも読みましょう。
簡単なVBを作りたいんですがどうすればいいんですか?
難しいVBがあるということですか?
簡単なVC++を作りたいんですがどうすればいいんですか?
>>175
近くの20階建て以上のビルの屋上に行き、何も考えずに飛び降りてください。
簡単な20階建て以上のビルを作りたいんですがどうすればいいんですか?
>>171-177
ワロタ
>>177
LEGOでできます。

>>178
「ワロタ」の書き込みのために早起きかよ。
180164:03/03/20 09:12
>167
MSDNには
object.Execute [url[, operation[, data[, requestHeaders]]]]
と書いてありますが。
181デフォルトの名無しさん:03/03/20 09:29
そういえばLEGOにはOCXが付いてたような・・・(*´д`*)アハァ…
182bloom:03/03/20 09:45
(゚ε゚ )とるるううるうるうるる
184デフォルトの名無しさん:03/03/20 11:40
strGetFolder = Dir(strFolder, vbDirectory)
Do
    If Not (Or strGetFolder = strImageFolder & "." _
    Or strGetFolder = "." _
    Or strGetFolder = "..") Then
        MsgBox strGetFolder
    End If

    strGetFolder = Dir()
    If strGetFolder = "" Then
        Exit Do
    End If
Loop

上記のようにして、すべてのフォルダをメッセージボックスに表示したいのですが
「strGetFolder = Dir()」のところで「プロシージャの呼び出し、または引数が不正です。」
というエラーが出てしまってなにも表示されません。
ちなみにフォルダ名には「.」が含まれています。
どうしたらよいでしょうか?
185184:03/03/20 11:42
すいません。3行目は
If Not (strGetFolder = strImageFolder & "." _
の誤りです。
186デフォルトの名無しさん:03/03/20 11:42
184が早く死にますように。
184が早く死にますように。
184が早く死にますように。
184が早く死にますように。
187184:03/03/20 11:43
何度もすいません。
strGetFolder = Dir(strFolder, vbDirectory)
Do
    If Not (strGetFolder = "." _
    Or strGetFolder = "..") Then
        MsgBox strGetFolder
    End If

    strGetFolder = Dir()
    If strGetFolder = "" Then
        Exit Do
    End If
Loop

これでお願いします。失礼しました。。。
>>187
特にエラーはでなかったが?
>>187

strGetFolder = Dir(strFolder, vbDirectory)
Do While strGetFolder <> ""
  If Not (strGetFolder = "." Or strGetFolder = "..") Then
    MsgBox strGetFolder
  End If

  strGetFolder = Dir()
Loop

普通に書くとこうだな。
Dir の返り値が "" の時に Dir() を呼ぶとエラーになったっけかなぁ?
とりあえず、Doループに入る時点でDirの返り値が空かどうか確認しる。
>>189

> Do While strGetFolder <> ""



Do While Len(strGetFolder) <> 0

の方が少しだけ速いよ。(大した差じゃないけど、反復処理なので・・・)
191デフォルトの名無しさん:03/03/20 13:24
>190
10万分の1秒くらい速くなる?
<> 0 も省略したほうが速い?
でも、こういうのは最適化されないのかな?
>>191
省略するとかえって遅くなるよ。
do 10 I = 1, 100
II[I] = 0
10 CONTINUE



II dw 100 dup(0)

かな?
194デフォルトの名無しさん:03/03/20 13:37
Excel ファイルの標準モジュールの関数内で以下の文

i = Int(Application.WorksheetFunction.Find(" ", adr_1, 1))

1004 実行時エラー、.WorksheetFunction の Find プロパティが取得できません

が出るんですが何ででしょう?
195デフォルトの名無しさん:03/03/20 13:51
ウィンドウに合わせて、その中に入っているラベルや、Boxが大きくなったり小さくなったりしないのですが、
どうすれば良いのですか?
196デフォルトの名無しさん:03/03/20 13:54
フォームのイベント
197デフォルトの名無しさん:03/03/20 13:55
>>195
Form_Resize時に大きく(小さく)する処理を自分で書く
198デフォルトの名無しさん:03/03/20 14:02
191は純粋に聞いてるのか、無知に基づく煽りなのか、どっちなんだ。
>195
ドトネトを使う
200デフォルトの名無しさん:03/03/20 14:11
>192
ROM-BASICでは、<>0は省略したほうが速かったし、
ソースのサイズも節約できた。

>198
両方。
心はファジー。
VB6.0です。
まず何の事も分からない初心者です。
なんかお勧めの入門書なんてありますか?
>>201
「VB 入門 初心者」あたりをキーワードにぐぐってこい。
>>201
MSDNのプログラミングガイド。
今後の展開
>201 MSDNって何ですか

名無 VBのCDと一緒に無いか?

>201のVBが割れと判明

通報スマスタ
205164:03/03/20 14:29
>167

解決しますた。
単純ミスでした。
Inet1.Execute "http://apl.contents-web.com/heddertest.asp?qsdata=QueryString_OK","GET"

,  このコンマがたりなかった・・・(^▽^;)

, strHeader
>>205

> このコンマがたりなかった・・・(^▽^;)

「コンマ」を後ろから読んでごらん。
207194:03/03/20 14:53
自己解決しました
On Error 書けばいいんですねぇ・・・・・ナンデヤネン
>206

マンコ
マンコがたりなかった・・・
そうだ!俺にはマンコがたりないっ!
Q 項目と項目の間をマソコで区切った可変長形式のファイルを何と呼ぶか。
212デフォルトの名無しさん:03/03/20 19:48
シーエスベー
可変長=チンコ
このスレには性格の悪いヤツが何人もいるようだが
>>214
自虐イクナイ(・A・)
>214
自慰イクナイ(・A・)
>>208-216

大漁!(w
>>217
かわいそうに・・・よく頑張った。
戦争は良くない。
Q. イラクとアメリカの間をマソコで区切った可変長チンコのファイルを何と呼ぶか。
A.チンコ
222デフォルトの名無しさん:03/03/21 22:49
最近プログラミングに興味を持ち始めたんですが、何から始めたらいいのかわかりません…
主にWeb上でのアプリケーションを作成してみたいので、WebProg板にいったんですが、
初心者質問板が無かったので、ここで質問させていただきます。
まず、開発ソフトを買うに当たっていろいろ意見をみていましたが、
総合的に見てどれがよいのかが分かりません…よろしければアドバイスいただけませんか?
×初心者質問板→初心者質問スレ
>>222
まずは本屋にでも行ってきてください。
>>222
VB以外の話しはスレ違いなのでVB6を買って下さい。
うーん、というか我慢できん!消えろ!氏ね!
Excel97_VBAで質問です。
Excel_vbaからhttp経由でhtmlファイルと画像ファイルをhttpサーバに
アップしたいのですが、エクセルの環境がWin_Macどちらもありえるので
winsockコントロールが使えません(と思ってます)

で、僕の結論としてはファイルアップロード用CGIに直接ハイパーリンク
でデータをPostしちゃえばいいんじゃないかと。
実際にテキストなんかは簡単にPostできるのですが
画像なんかのバイナリファイルのデータをどうcgiに投げればいいのか
ちょっと見当がつきません。元のコードはこんな感じです

Dim strAddress As String
Dim strExtraInfo As String
Dim lngMethod As Long
Dim strHeaderInfo As String

strAddress = "http://www.xx.xxx.net/upload.cgi?"
strExtraInfo = "&fileName=xxx" & "&filedata=3673"
lngMethod = msoMethodPost
strHeaderInfo = "Content-Type: application/x-www-form-urlencoded" & vbCrLf & "Accept-Language: ja"
ActiveWorkbook.FollowHyperlink _
strAddress, , True, , strExtraInfo, lngMethod, strHeaderInfo
どなたか似たようなことをやった方がいらっしゃいましたらお知恵を貸してください
>>226
そもそもMAC ExcelってVBA動くんですか?
>>227
遅いですがそれなりに動きますよ
でもやっぱり使う人は少ないです。
>>226
クライアントのファイルをうpするんだったらCGIにパラメータで渡すなんて無理なんでないの?
>>229
>>229
自分の頭の中では
Openステートメントでバイナリとしてファイルを開く
getで内容を変数に入れる
getで得た変数をデータとしてファイル名と一緒にCGIにPostする
でいけるかなと思ったんです。
ただPostの段階でどのように記述すれば良いのかちょっと見当が
つかんといった状態です。

もしかして自分、変なこと言ってますか…。
232デフォルトの名無しさん:03/03/22 08:24
IEのメニューバーのお気に入りみたいにみたいに、
メニューの内容をドラッグ&ドロップできるようにするにはどうしたら良いのですか?
2331 ◆ExGQrDul2E :03/03/22 08:47
>>231
BASP21をインスコして、それのファイル転送メソッドを使ったら?
BASP21の公式ページに説明がかなり載ってるし。
>>233
ほほぅ、WINとMACの両方の環境にBASP21ねえ。流石ですな。
2351 ◆ExGQrDul2E :03/03/22 10:04
>>234
流石オレ
2361 ◆ExGQrDul2E :03/03/22 10:06
>>231
エクセルから頭を離して、マック用OutlookExpressオブジェクトのインスタンスを作ることを考えろ。
2371 ◆ExGQrDul2E :03/03/22 10:08
メール送信プログラムをつくってるのではなかったな。ききながしてくれ。
結局のところ、Windows用のインターネット用アプリはWindowsSocket使ってるっしょ。
2391 ◆ExGQrDul2E :03/03/22 10:25
>>238
オレも彼にはWindows用とMac用の2つのソフトを作った方がいいといいたいのだが。
>>231
バイナリをテキスト文字列にデコードしたり、それをエンコードする技もあるな。
それならフォーム送信でもクエリーストリングでもおくれる。
が、たしかPostには〜文字以内でないと送信できないという決まりがあったようなきがする。
>>239
>たしかPostには〜文字以内でないと送信できないという決まりがあったようなきがする。
GETじゃない?

じゃないとあぷろだ系が成立しない予感・・・ってあれは分割して送ってるんだっけか?
>>240
分割送信かどうかはまだ知らないけど、
GETは環境依存の制限(アパッチェやIISによって異なる)があり、
POSTは無制限とのこと。
242デフォルトの名無しさん:03/03/22 11:42
>>227
おれがマクでもらった唯一のウィルスは、Officeのマクロウィルスだったっぽい。
243デフォルトの名無しさん:03/03/22 11:44
>>222
WebアプリならVB系よりPHPとかPerl, Ruby, Python っちゅーフリーな方からい
けや
244デフォルトの名無しさん:03/03/22 15:29
配列を宣言、初期化するとき、簡単に書く方法があったら教えてください。
C言語ぐらい簡単に書ければよいのですが。
>>244
dim a(5) as integer;
(*´д`*)アハァ…
247デフォルトの名無しさん:03/03/22 15:51
>>244
VBでは配列は無条件で初期化される。
248デフォルトの名無しさん:03/03/22 15:52
コントロール配列を2次元配列にする方法を教えてください。
249デフォルトの名無しさん:03/03/22 16:31
>>244
ないです。VB.NET を使いましょう。

>>248
できません。一次元→二次元変換処理をかましましょう。
250244,248:03/03/22 17:09
>>245,>247,>>249
お答えありがとうございました。無いですが。
通常配列は名前を短くする、コントロールの方は/とModを使うしかないですね。
>通常配列は名前を短くする

252デフォルトの名無しさん:03/03/22 17:10
VBScript で質問です
IE で、認証ダイアログがポップアップするページにログインするには
どんな感じでやればよいのでしょうか?
ポップアップが、読み込み完了以前のイベントなのでどうしたものかと
思ってます。
253デフォルトの名無しさん:03/03/22 17:51
WinInetやWinsockでHTTPを使ってバイナリぢゃないデータを
GETしようと考えてるんですが、Execute->GetChunkの流れで
非同期にダウンロードしながらGetChunkされたデータをいぢりたいのです。
でも、Shift-jisに代表されるようなマルチバイトな文字セットの場合、
必ず文字の途中でブッタ切られる場合が存在しますよね。
そのまま無視して文字列型に突っ込むと、そのままUnicodeに変換されて
データの最後がヌルになってしまいます。(ヌルとは限らないかもしれないが)
すべての元凶は文字列をUnicodeで扱うString型にある訳ですが、スマートな対策方法はありませんか?
つまり、文字列が完成した状態でデータを受け取りたいのです。
一度バイナリファイルに書き込んでしまえばとりあえずは回避できますが、
その方法を取った場合、ダウンロードが完了するまで触れません。
バイト配列を利用すると、小回りが効かなくなってしまいますし。

ぁぁもうぬるぽ
バイト配列でいいじゃん。必要なときだけStringに入れろよ。
255デフォルトの名無しさん:03/03/22 19:25
>>247
MSって突然仕様変更したりするから、「現在の言語仕様を前提とする実装」は
避けた方が無難では?
>>255
で、それで何が書けるというのだ。
>>250
Property Get をつかって二次元配列っぽく見せるとみためがきれいかも
>>251
40個の要素の配列だと、Hairetu(0)="Isikawa" Hairetu(1)="Inoue"...と40個
書かないといけないでしょ。H(0)="Isikawa" H(1)="Inoue"...だと楽かなと
単純に思いました。CだとHairetu[][40]={"Isikawa","Inoue"...};と書けるので。
>>257
Googleでちょっと調べてみたのですが、それ以外も初めて見る単語がたくさんあり
分かりませんでした。ブランク後のVB暦数日なので。修行します。情報ありがとう
ございました。
>>258 このレベルでいいの?配列の初期値

'A1:配列の型がVariantで構わない場合
Sub a()
Dim a, i As Long

a = Array("0", "...", "39") '初期値の設定

For i = 0 To UBound(a)
Debug.Print i, a(i)
Next
End Sub

'A2:配列の型をStringにしたい場合
Sub a2()
Dim str(39) As String

DimArrStr str, Array( _
"0", "...", "39" )

Dim a
For Each a In str
Debug.Print a
Next
End Sub

Sub DimArrStr(str() As String, var As Variant)
Dim i As Long
For i = 0 To UBound(var)
str(i) = var(i)
Next
End Sub
>>259 訂正
Sub a2()
Dim str() As String
DimArrStr str, Array("0", "...", "39") '配列へ初期値を設定
Dim a
For Each a In str
Debug.Print a
Next
End Sub

Sub DimArrStr(str() As String, var As Variant)
Dim i As Long
ReDim str(UBound(var))
For i = 0 To UBound(var)
str(i) = var(i)
Next
End Sub
スレ違いかもしれませんが、VBからVCに移行したいと思っています。
理由はVBだと馬鹿にされるし限界を感じてきたからです。

以前VC++の本を4、5冊買って勉強したけどさっぱり解りませんでした。
でも今なら出来そうな気がします!
無理ですか?
>>261
無理。あきらめろ。
VBに慣れすぎていれば慣れすぎているほど、
他の言語をやってなければやってないほど無理ってことで。
最終的には根性。
>>261
>スレ違いかもしれませんが、
違っているわけではないと思う。

>VBからVCに移行したいと思っています。
がんばってください。

>理由はVBだと馬鹿にされるし
こんなんを理由にするような奴は使いもんにならん。

>限界を感じてきたからです。
あなたがVBの限界まで使いこなしているとは到底思えません。
あなた自身の限界です。

>以前VC++の本を4、5冊買って勉強したけどさっぱり解りませんでした。
アホすぎ。

>でも今なら出来そうな気がします!
そうですか、がんばってください。

>無理ですか?
大丈夫です。がんばってください。
ごもっとも
266デフォルトの名無しさん:03/03/23 12:49
>>261
>理由はVBだと馬鹿にされるし限界を感じてきたからです。

ひとそれぞれなんだろうけど、漏れはVB使いだからといって、人に馬鹿にされた
ことはないよ。むしろ、一目おかれていると思う。

まぁ、陰で何を言われてるかはわからないけどね。

あくまで言語なんてのは道具なんだから、重要なのは使い方でしょ。馬鹿なC/C++/Java
使いより、しっかりしたVB使いのほうがよっぽど使える場面もあるさ。

>>259-260
ありがとうございました。Debug、Print、UBoundが分からなかったのですが、Arrayは分かりました。
Privata Sub Form_Road()
classChara=Array("Isikawa","Inoue","Ueda","Enomoto")
Label1.Caption=classChara(1)
End Sub
ついでにお教えいただきたいのですが、2次元配列はどうすればよいのですか?
classChara(0)=Array("Isikawa","Inoue","Ueda","Enomoto")
classChara(1)=Array("Tarou","Zirou","Saburou","Sirou")
Label1.Caption=classChara(3)(2)
見たいにやったのですができませんでした。
>>267 これでいいのかな?
Private Sub a3()
Dim classChara(3, 1)
DimStrArr2 classChara, Array( _
"Isikawa", "Tarou", _
"Inoue", "Zirou", _
"Ueda", "Saburou", _
"Enomoto", "Sirou")

'確認
Dim i, j
For i = 0 To UBound(classChara, 1)
For j = 0 To UBound(classChara, 2)
Debug.Print "classChara("; i; ","; j; ")="; _
classChara(i, j)
Next
Next
End Sub

Sub DimStrArr2(str, var As Variant)
Dim iCol As Long, iRow As Long, i As Long
i = 0
For iRow = 0 To UBound(str, 1)
For iCol = 0 To UBound(str, 2)
str(iRow, iCol) = var(i)
i = i + 1
Next
Next
End Sub
>>267
あと、イミディエイトウィンドウを表示させて。
Ctrl+G か メニューから表示→イミディエイトウィンドウを選択。
それでdebug.printが出力されるから。
釣られまくりだな。
271261:03/03/23 15:08
手始めにウィンドウを作るだけのPGを作りましたが、全然解りません!
以前会社の面接で
『VBは誰でも使えるから…』
っていわれました。
やっぱり馬鹿はVBを使っていろって事ですね!
272デフォルトの名無しさん:03/03/23 15:24
VBでも何でも、馬鹿には使えません。
273デフォルトの名無しさん:03/03/23 15:31
VBは馬鹿でも使えます
274デフォルトの名無しさん:03/03/23 15:42
使うだけなら、VBでもVCでもJavaでもPerlでも、馬鹿でも使えます。
まぁ、アルゴリズムやオブジェクト指向等の考え方の類は
言語に関係ないんだから、VBだから簡単ってことにはならないね。
簡単って言ってる奴が馬鹿なだけでしょ。面接官レベル。
マジな話、VCに挫折した奴がVB使ってる事はよくあるね。
>オブジェクト指向等の考え方の類は言語に関係ない
お前VBしか使えないだろ?
>>277
おまえ素人だろ。
>>277
何が言いたいのかよくわからんが。

オブジェクト指向がオブジェクト指向言語以外では役に立たないとか言ってる奴は低脳。と言いたいのなら同意。
>> オブジェクト指向がオブジェクト指向言語以外では役に立たないとか言ってる奴は低脳。
低脳は>>277ですね?
【衝撃】なんと旧VBはOOP可能だった!【発覚】
http://pc.2ch.net/test/read.cgi/prog/1044381618/
>>281
藁た。
>>282
書いてあることに間違いは無いし、反論ももう無いんだけど。
まさか、本気でネタだと思っているの?
だとしたらあんたの技術力はものすごく低いことになるんだけど。
>>283
と、言うか君はもうちょっとユーモアを解しなさい。
VC使いだから、当然APIにも詳しくて、VBなんて余裕で使いこなせると
と思ってた。でも、中にはMFCがないと何もできないやつもいるんだね。
>>285
VCL使いはそれに依存したりはあんまりしないけどな。
287277:03/03/23 16:19
VBでオブジェクト指向使おうとする奴の方が頭悪そうだが(藁
288デフォルトの名無しさん:03/03/23 16:25
突然失礼します。
動画くん使いたいのですが、
VBあんまり理解できません。
認証(?)が必要になるそうでコマンドプロントから
打ち込んでみたりなんですけど
一気にインストールできたりしないんでしょうか??

当方XPホームエディションです★
>>288みたいなのがいい例だな。

VBユーザはバカばっかり。
290デフォルトの名無しさん:03/03/23 16:30
VBユーザだけならいいけど、VBしか使えない奴は死んでくれ
291デフォルトの名無しさん:03/03/23 16:30
>>289
VBまったく理解できてないです。
つーか意味がわかりません。
詳しいサイト見つからなくて・・・・
292デフォルトの名無しさん:03/03/23 16:33
VBすら理解できないとは・・・暖かくなったなぁ
つまり、ココまでの話を要約すると・・・・

  ∧_∧
 ( ´∀`)<ぬるぽ
294デフォルトの名無しさん:03/03/23 16:39
本とか買って勉強すべき??
動画くん使いたいくらいで手を出すべきできではない?
>>294
中途半端な気持ちでこの世界に入ると、VBしかできないアフォになる事が多々あるので、
手を出すべきではないかと思われます
>>294
その「動画くん」つーのは、http://hp.vector.co.jp/authors/VA022444/ ←これ?
これで何をしたいの?
297デフォルトの名無しさん:03/03/23 16:47
>>295
なるほど。
アホにアホに重ねて申し訳ないんですが
VB→アフォ
ほかにも賢いのがあるっツーことですね。
298デフォルトの名無しさん:03/03/23 16:48
やっぱ、VBしかしない人でもCくらいは理解して欲しいよね。
API使っててAPIが何か解って無い人多いし。
299デフォルトの名無しさん:03/03/23 16:48
>>296
MPGから静止画切り出したいんです。

動画くんはそれです。
300デフォルトの名無しさん:03/03/23 16:49
>>298
やっぱCが基本てこてですか??
>>やっぱ、VBしかしない人でもCくらいは理解して欲しいよね。
それが無理だからVB使ってるんだろ
つーか、使うだけならランタイム入れるだけじゃないの?藁
303デフォルトの名無しさん:03/03/23 16:55
認証登録がいるらしくて
いちおうプロントからできるってことなんで
やってみたりなんですけど
あってるか不安で
>>302
そう思う。

>>303
レジストリ云々の話なら、それは認証登録じゃないよ。レジストリにOCXを
登録するだけ。VBとは関係ない話だね。
305デフォルトの名無しさん:03/03/23 16:59
>>304
〜32ってやつを使って登録するんで間違ってないですか??
>>268
分かりませんでした。基本が全然できてないと思うので、理解できるように
勉強してきます。ありがとうございました。
>>305
板違いなんですけど

プロン「プ」トね
308デフォルトの名無しさん:03/03/23 17:19
すいません。

MCIWNDX.OCX
MCI32.OCX
MCIJP.dll
これ探してます

↑これも板違い??
309デフォルトの名無しさん:03/03/23 17:22
見つかりました
お世話様でした
結論としては…
       | | ガッ
  ( ・∀・) | |      
 と    ) | |   
   Y /ノ   
    / )  .人 
  _/し'  <  >_Λ∩
 (_フ彡  V`Д´)/
            / ←>>293
>>308
もちろん。
VB6.0ってXPで動作しますか?
313磯野:03/03/23 19:54
http://s1.buttobi.net/forest/index3.html
↑俺のHPパソコンのことなら俺に聞いて!
BBSに書いてくれれば何でも答えるよ
ヨロシク♪
>>312
しますよ。いくつか制限があるので、その点には注意する必要がありますけど。
>>314
できれば制限について教えてくれませんか?
ググろうと思ってもいいキーワードが思い浮かびません
>>315
Windows XP 上での Format 関数の動作について
http://support.microsoft.com/default.aspx?scid=kb;ja;418691

特定の操作を実行するとアプリケーションの応答が無くなる
http://support.microsoft.com/default.aspx?scid=kb;ja;436081

Windows XP で実行される Visual Basic IDE 内で COM+ アプリケーションをデバッグできない
http://support.microsoft.com/default.aspx?scid=kb;ja;312280

などなど。
317デフォルトの名無しさん:03/03/23 21:23
つうか、XPでVB6.0は動かさん方が無難だろ。
どうしてもってんなら、互換モードで動かした方がいいだろ。
>>317
なんで? 別に問題なく使えてるけど?
319デフォルトの名無しさん:03/03/23 21:54
VBにシグマ(Σ)という関数はありますか?
>>319
この業界では禁句です>○グマ
321デフォルトの名無しさん:03/03/23 22:26
Σあらっ!これは失礼…
…で そういう関数、ありますか?
322デフォルトの名無しさん:03/03/23 22:26
>>320
なぜ!?
323320:03/03/23 22:43
シグマプロジェクト でぐぐってみれ

ネタだけじゃまずいんで、
関数はないけど自分で作るのは難しくないと思うよ>>319
ParamArray とか Array あたりが便利かも。
324319:03/03/23 22:53
>>323
ありがとうございますぅ!
シグマプロジェクトは今やってる仕事が片付いたらゆっくり見てみます〜
シグマ関数?オマエ馬鹿だろ。
326319:03/03/23 23:48
ですね。はは…
こんなスレが・・・

【失業】VBってなくなるんだってよ【廃止】
http://live2.2ch.net/test/read.cgi/news/1048254896/
328デフォルトの名無しさん:03/03/24 00:15
PictureBoxにbitmapを表示させようとする時、bitmapが小さく表示される時、
PictureBoxに自動にサイズを合わせることはできますか?できるなら教えてください。
うーむ、わからん

ListViewコントロールのlvwReport形式で
列のプロパティを右揃えにすると、
FullRowSelectの描画に異常が出るのはバグ?

その列に何も入力されてないアイテムだと、
その列だけ非選択の白いまま残るんだが、しかも描画ゴミ残るし…
330329:03/03/24 00:19
誰か試してくれ
フォームにListViewだけ貼り付けて
これをコピペすればいいから
Private Sub Form_Load()
Dim i As Long
ListView1.FullRowSelect = True
ListView1.View = lvwReport
ListView1.ColumnHeaders.Add = "Left"
ListView1.ColumnHeaders(1).Alignment = lvwColumnLeft
ListView1.ColumnHeaders.Add = "Right"
ListView1.ColumnHeaders(2).Alignment = lvwColumnRight
ListView1.ColumnHeaders.Add = "Center"
ListView1.ColumnHeaders(3).Alignment = lvwColumnCenter
For i = 1 To 5
ListView1.ListItems.Add = "test" & CStr(i)
Next i
End Sub
>>328
自動ではできない。
ImageBoxならできる。
>>330
自分の環境でもなった。
#ItemClickイベントでListView1.Refreshしてやればゴミは消える。
333328:03/03/24 01:26
>>331
ImageBoxならできますね。ありがとうございました。
334329:03/03/24 01:53
>>332
おお、ありがとう
そうか、なってしまったか
ゴミの消し方までわざわざ、ありがとう

…でも、どうしよう(;´Д`)
SP5も当ててるし、こんな初歩的なバグなんて残ってないと思うが、
一体なんなんだ…
335デフォルトの名無しさん:03/03/24 08:23
>>334
MSにとっては仕様なんだよ。
あきらめろ。
336デフォルトの名無しさん:03/03/24 15:42
テキストコントロールの中に、20文字で何行も文章を入力していくと
文字の位置が段々ずれていくのは、なぜですか?
>>336
いまいちなのが言いたいのかよくわからないけどプロポーショナルフォントとかそういうことかな?
338336:03/03/24 15:53
>>337
今まで「プロポーショナルフォント」という用語を聞いた事が無かったんで
さっき検索して調べたら、やりたい事が見つかりました。
ありがとうございました。
さすが初心者
340デフォルトの名無しさん:03/03/24 19:04
「SQL Server」を使用して稼動しているPCが、
非常に重たい状態になりCPU使用も非常に大でした。
そこで「SQL Server」のエラーログを確認した所、
下記のような内容が含まれていました。
何か関係あるのでしょうか?
また現象が出た時点ではサービスパックはあてていません。
SP1、SP2をあてれば本現象は、解決するのでしょうか?
教えて下さい。

<エラーログ>
2003-03-13 02:16:42.07 ods エラー : 17826、レベル : 18、状態 : 1
2003-03-13 02:16:42.07 ods ListenOn 接続 PC-1' をセットアップできませんでした。。
2003-03-13 02:16:42.07 ods オペレーティング システム エラー : 1899。, エンドポイント マッパー データベースは作成できませんでした。
2003-03-13 02:16:42.07 spid1 Skipping startup of clean database id 4
2003-03-13 02:16:42.09 spid1 Skipping startup of clean database id 5
2003-03-13 02:16:42.17 spid1 復旧が完了しました。
341デフォルトの名無しさん:03/03/24 19:33
342デフォルトの名無しさん:03/03/24 20:31
ちゅうか、SQL鯖にSP当てなくても平気な>>340の根性の方が感動もんだわ。
あ〜ホント、凄い凄い(w
違法コピー天国韓国で猛威をふるったウイルスでつね。
344デフォルトの名無しさん:03/03/24 20:38
★男はココを見るべし★女と金とサンプルムービー★
↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓
http://www.pink-angel.jp/betu/linkvp2/linkvp.html
345デフォルトの名無しさん:03/03/24 22:15
PCからPCへ電話をかけて電話を着信したらポートを開いて
データ送信をしたいのですが、
MSCommを使用してVBでプログラムするとき
自動着信してポートを開く制御をかけるにはどのようにすればいいのでしょうか?
>>345
普通にハードウェア板の質問スレに誤爆しとるな。
http://pc3.2ch.net/test/read.cgi/hard/1044751800/949
347デフォルトの名無しさん:03/03/25 03:24
PictureBoxにcircle関数で円を書くことでピッチャーが投げるボールの起動を
シミュレーションしています。ボールがバッターに近づくにつれボールが大きくなり
変化や重力で中心を動かし、timerで0.01秒毎に表示していくのですが、
140kmのストレートが3秒ぐらいかかってしまいます。circle関数が遅いのだと
思うのですが。解決方法があるなら教えてください。
タイマーが0.01秒おきに来てるわけじゃないからねぇ。
試しにタイマじゃなくて、ForNextで円を書いてみて、1秒に何個書けるか
やってみては?
>>348
ぁ、n個を何秒で書けるか、か。どうでもいい事だけど修正
>>347
0.01秒ごとに描画させること自体が無理な事をやらせています。
まずは秒間15フレーム(0.66秒に一回描画)くらいに押さえておいて、
それ以上上げられるなら上げれば良いと思われ。

それと、描画はarc()とかのWindowsAPIを使ったほうが早い。
描画時期の制御はゲームのアルゴリズムでも研究するるんですな。
351おこじょん:03/03/25 10:34
質問ですが、witheventsでは配列は宣言できないみたいなので、複数の同じ
activex.exeを配列として呼び出してそちらから呼び出し元のイベントを
使いたい場合どうすればよろしいでしょうか?ご教授願います。
dim withevents sever() as class1
set sever(1) as new class1
set sever(2) as new class1
というような感じで呼び出して、みたいにやりたいのですが、無理っぽい
ので、他の方法ないでしょうか?
352デフォルトの名無しさん:03/03/25 10:38
winsockコントロールでwinsock1が受けたconnectionrequestイベント
でのrequestIDを他のwinsockコントロールのACCEPTメソッドに渡し
ても”記述子はソケットではありません”とか出てしまいます。
やはりCONNECTIONREQUESTイベントを受けたコントロールしか接続
することができないのでしょうか?
353デフォルトの名無しさん:03/03/25 10:41
WINSOCKで画像ファイルとか、EXEファイルとかを送るにはどうすれば
いい?親切な人おせーて!!(簡単なコードなんて書いてくれると
うれしい)
354デフォルトの名無しさん:03/03/25 10:45
前に書き込んだんですけど、時間がたってしまったので探しても見つか
りませんでした。なのでもう一度書かせて頂きます。
外部EXEから呼び出しもとの変数を扱うにはどうすればよろしいでしょう
か?(イベントの方は分かりました)
355デフォルトの名無しさん:03/03/25 10:48
WINSOCKでWINMXもどきを作ろうとトライした人いませんか?それから
そんなサイトを知っている人がいたら教えてください。
>>355
頭使ってMXがどういう仕組みか考えろ。と。
357デフォルトの名無しさん:03/03/25 11:09
VB6.0 SP5、Win2K SP3 で開発中なのですが、複数のフォームをプロジェクトに追
加してある状態 (たとえば Form1 と Form2) で、それらのフォームを表示したと
します (ここでは Form1 と 2 を両方 .Show したとします)。
この時、両方のフォームが別のアプリケーションのウィンドウの下に隠れている時
に片方を表に呼び出すと、両方のフォームが連動して表に出てきてしまいます。
これを連動しないようにしたいのですが、どなたか方法をご存知ではないでしょうか ?

ちなみに、SetWindowLong API で hWnd にフォームのウィンドウハンドル、nIndex
に GWL_HWNDPARENT を指定して親ウィンドウをデスクトップに変更してみたところ
希望する動作をするようにはなったのですが、フォームが挙動不審になってしまい
ました。(w
MSDN には SetWindowLong ではなく SetParent を使った方が良い、と書いてあり
ましたが、SetParent はフォームに対しては効かないようで・・・。

どなたか解決方法をご存知の方、ご回答をよろしくお願いいたします。長文スマソ。
358347:03/03/25 11:35
>>348-350
お答えありがとうございました。おっしゃるやり方でfor~nextで50回呼び出し
(140kmのストレートのかかる時間)それをgettickcountで計ると、0.01秒も
かかっていませんでした。円の描画の遅さが問題ではなさそうです。C言語で作った
ときは、半永久ループ繰り返し文の中でたえず時間関数を呼び出し、0.01秒たったら
描画し、18.44m進んだらループから抜けると言うやり方を使っていました。
VBでこのやり方はできますか?やってみたときに落ちてしまったので怖いのですが、
正しいやり方があるなら教えてください。また、他に良い方法があるなら教えてください。
>>351
配列とは別にWithevents宣言してイベントを受け取る。

'サンプルプル
Private Withevents A1 As Hoge
Private Withevents A2 As Hoge
Private Withevents A3 As Hoge
Private A(1 to 3) As Hoge
'-----
Set A(1) = new Hoge
Set A1 = A(1)


必要になったオブジェクトからだけイベントを受け取る

'サンプルツー
Private Withevents Ax As Hoge
Private A(1 to 3) As Hoge
'-----
'A(1)からイベントを受け取る必要がある
Set Ax = A(1)

360デフォルトの名無しさん:03/03/25 11:50
オブジェクトを動的に生成することは出来ないのでしょうか?

Dim oText_Box As TextBox
Set oText_Box = CreateObject("VB.TextBox")

のようなイメージで。
>>360
オブジェクトの動的生成じゃなくてコントロールの動的生成だよな?

VB6ではできる。
ControlsのAddメソッド。
362361:03/03/25 11:55
おっと、旧いバージョンでもLoadステートメントという手があるのを忘れてた。
363デフォルトの名無しさん:03/03/25 12:43
>>359
確かめる環境も調べる環境も無いので、間違えてたら本当にスマソ

配列宣言したオブジェクトはWithevents宣言したオブジェクトに入れられないんじゃなかったっけ。
昔、コントロールで失敗した記憶があるような気がする。
調べたい…。
364おこじょん:03/03/25 12:43
<<359
マジサンクスです。
365デフォルトの名無しさん:03/03/25 13:15
ステップ実行し、変数ウォッチすればわかる。。
366359:03/03/25 13:19
>>363
今確かめてみた、上の方法でいける。
というか確かめずにレスしてた漏れ。

もしかしてWitheventsと配列宣言を同時に使えないってことと混乱してる?

>>364
オブジェクトの寿命には注意してな。
367デフォルトの名無しさん:03/03/25 13:31
>>363
コントロールは違うみたい。
席立って調べてきた。

Private Withevents ctr as TextBox

Set ctr = txtHoge(0)

で、オブジェクトまたはクラスがこのイベントセットをサポートしていません。

配列になることによって、イベントはプロパティのメンバが変わるからなのか??
368スマソ:03/03/25 13:32
配列になることによって、イベントはプロパティのメンバが変わるからなのか??

配列になることによって、コントロールはプロパティのメンバが変わるからなのか??
369359:03/03/25 13:34
>>367
お、ありがと。
なるほど、コントロールと通常のオブジェクトで動作が違うんだ。
Tipsとして保存しておこう。
370デフォルトの名無しさん:03/03/25 15:02
クラスモジュールでメンバを公開するときはPublicよりFriendの方が良いのでしょうか。
その前に、おまえらFriend使ってますか?

トコロデ
  ( ・∀・)   | | ガッ
 と    )    | |
   Y /ノ    人
    / )    <  >__Λ∩
  _/し' //. V`Д´)/
 (_フ彡        /  ←>>253
371デフォルトの名無しさん:03/03/25 15:06
>>360
Controls.AddよりもLoadを使うほうが圧倒的に扱いやすい。

1. TextBox (Text1) をコントロール配列で作る
2. Text1(0) 以外は削除
3.
for i = 0 to 10
Load Me.Text1(Me.Text1.Ubound + 1)
next i

これだとイベント取るのも楽。
372デフォルトの名無しさん:03/03/25 15:09
msgboxで自動改行させない方法はありますか?
>>372
新しくフォームを作って自作。
>>370
当然使っているよ>Friend
基本的に外部プロジェクトに公開しないものは全部Friendにしてある。
Friend→Publicは簡単だけど逆は問題あるし。

気をつけないとImplementsではまるけど>Friend
375デフォルトの名無しさん:03/03/25 17:38
CPUの使用率とメモリの使用率を得る方法をキボンヌ
377デフォルトの名無しさん:03/03/25 17:41
<<354を教えて下さい。お願いします<(_ _)>
>>377
お前は>>と<<が同じに見えるのか?

何でか知らんがPC初心者板とかでこういう妙なミスする奴が・・・
>>377
前に参考になりそうなコードを書き込んだ覚えがあるんだけど(面倒で)探せない。
380デフォルトの名無しさん:03/03/25 18:18
>>376
ありがとう。だができればAPI関数で知りたい。
>>379
探す手間を省くために技評の「300」シリーズ全3巻(ガリバー著)、全部
買っちまったよ(w

自分にとって本当に必要(知りたい)な内容は全体の10〜15%程度なんだが、
MSDNで探すより簡単で手っ取り早い。
382デフォルトの名無しさん:03/03/25 18:27
ニュース速報板でVBは消滅してしまうと聞いたのですが本当でしょうか?
>>382
20点。
も少しおもしろいネタ考えて投稿しよーね。
384デフォルトの名無しさん:03/03/25 18:31
いや・・・本当ですよ
VB消滅ってスレッドがあったんで・・・・
385デフォルトの名無しさん:03/03/25 18:33
>>385
単純に.netになるからじゃないの。
VB6.0あたりは.netとは、互換性がないと聞くけど。。。
どうなんでしょう???


                  
   ふーん・・・         
                    
             ∫      _____
    ∧_∧   riii=       |┌──┐| ̄|-、
   (   ´_ゝ 「 ノ        ||>385||  | ]
   /   ⌒\/ /───┐  |└──┘| 」 /
  / ∧   \ / ̄ ̄ ̄ ̄`・、[ ̄ ̄ ̄ ̄] ̄ ̄|
  ( 二\   `'|          X|      |   OO
  〜〜ー⌒ ̄~〜〜--〜〜-〜"~~ ̄ ̄ ̄   ̄ ̄
>>386
ええ、言語仕様がかなりまともになっています。
一緒にバカなVBユーザも切り捨てソフトウェアの質を上げる作戦のようです。
>388

    /■\
   ( ´_ゝ`)___                          _
  ( ̄∪ ∪     )  /■\       _          / /
   ̄ ̄ ̄ ̄ ̄ / /  (´<_ ` )       \\  /■\ / /
     /■\ / /   ⊂⊂_ ⌒つっ      ̄ ( ´_ゝ`)/ ./
    (´<_ ` ) /   ( ̄ ̄ ̄ ̄ ̄ ̄)      ⊂    ⊃ /
     /   ⊃ /     ̄ ̄ ̄ || ̄ ̄        (_).  ) /
    (__ ⊃ /        ( ⌒ ヽ ミ      /\(_) /
       / /         ∪  ノ  ミ     \___/
        ̄            ∪∪   /■\
390デフォルトの名無しさん:03/03/25 18:51
ってことはVBはまだまだ大丈夫なんですね
ありがとうございました
391デフォルトの名無しさん:03/03/25 19:08
VBって書くのに何かソフト必要なんですか?
何処で手に入りますか?
>>391
VBエディタ。ベクターでダウンロードしてください。
393デフォルトの名無しさん:03/03/25 19:09
string変数に複数の項目を含む行を代入しています
sylk形式です。項目間をタブで区切り行末はリターンコードで表します
1行になってるデータを項目別の変数に代入したいんですがどうやればいいのかわかりません
>>393
いろいろやり方はあるだろうけど。

ポイントはタブだ。
>>391

(1) VCL
(2) .NET Framework
(3) J2EE

の3つが必須。
396デフォルトの名無しさん:03/03/25 19:15
コレクションを削除したいのですが、どの様にすればよいか教えてください。
397デフォルトの名無しさん:03/03/25 19:16
まちがえました。
コントロールの削除でした。

すみません。
>>397
サブクラス化して
WM_DELETE_CONTROL
を送ればOK。
399393:03/03/25 19:19
>394
レスありがとう
タブを認識したことを条件とすればいいんだろうけど
そこがよくわからないのです
400393:03/03/25 19:37
tipsにありますた。
splitだね
401デフォルトの名無しさん:03/03/25 19:57
>>396
LoadされたもんならUnloadするだけ
VBでOracleにアクセスするアプリケーション(oo4o)で、
OraDatabaseオブジェクトにNothingを代入したり、
参照したりするとたまにアプリがメモリアクセス違反で落ちます。
APIを誤用している箇所もありません。何か解決法はないでしょうか。
ちなみに環境はVB6.0SP5+Win2000で、クライアント、
サーバーはともにOracle8.1.7iです。
403377:03/03/26 10:25
404デフォルトの名無しさん:03/03/26 10:38
>402
おまいと同じ環境だが落ちないぞ。
バインド変数あたりの現象だろ?
405デフォルトの名無しさん:03/03/26 16:05
よろしくお願いします。

2000件のデータA(8ケタ)と、30000件のデータB(15ケタ)をマッチングさせる処理を
しているのですがCPUがテンパって固まります(セレ500Mhz)。
データ共に数値です。

まずデータBを全て動的変数に格納してから、
データAを一件づつ読み込んでLike演算子で配列の先頭からマッチングさせて、
コレをループさせているのですが
やはりこれでは効率が悪いでしょうか?
ニ分木検索で行ったほうがよいでしょうか。

アドバイスありましたらよろしくおながいします。
>>405
方法がわかっているなら試してみれば?

漏れなら、そんな処理は C++ の STL でやる。
407デフォルトの名無しさん:03/03/26 16:26
>>406
Σ(´д`;*)
ニ分木のアルゴリズム組む手間より、元のコードのままステップインで
F5を押しっぱなしにして放置したほうが早いもので・・・・・

とりあえずDoevents入れてみますた。
>>407
RDB使わないの?
409402:03/03/26 20:52
>>404
2箇所ほど
mOradatabase.OraParameters.Add "パラメータ名","",ORAPARM_INPUT,ORATYPE_NUMBER
となっているところがありましたが、それだけとは思えません。
あと考えられるのは初期値指定にVal関数を使っていることぐらいでしょうか。
質問させてください。
メッセージボックス関数などで
引数候補のvbOKOnlyとかが自動で表示されますが
あの機能を自作の関数につけることはできますか。
>>410
普通に可能。
412デフォルトの名無しさん:03/03/26 21:16
>>410
VB6.0以上?なら可能。列挙定数 ( Enum ...... End Enum )
はメンバ表示されるIDEの仕様。
列挙以外では、プロパティ、メソッド、コレクション(これも
プロパティの一種という扱いだが)も同様。
>>410
とりあえず
Dim hoge As VbMsgBoxStyle
hoge =
ってタイプしてみ。
コピペする場合は最後の「=」を打ち直すべし。
414デフォルトの名無しさん:03/03/26 22:47
WSHの正規表現に関しての質問です。

VBScriptで掲示板プログラムを書いてるのですが、2chで使用されている
>>405
のような番号指定をHREFでリンクを貼る方法が良くわかりません。
正規表現を使えば簡単?にできるような気がするので、ちょっと勉強して
みましたが、参考となるサンプルがあまりなく、四苦八苦しております。
自分の限界はここまでです。
+−−−−−−−−−−−−−−−−−−−+
set re = new regexp
strin = "テスト>>405です、>406これもOKに"
re.Pattern = "((>|>>)[-\d]+)"
re.Global = True
strout = re.Replace(strin, "<a href=""bbs.asp?id=$1"">$1</a>")
+−−−−−−−−−−−−−−−−−−−+

実際の求めたい出力文字列は
"テスト<A HREF="bbs.asp?id=405">>>405"</A>"です、 _
<A HREF="bbs.asp?id=406">>406</A>これもOKに"
です。

最初の$1の">"という文字を""に置換して消し、二つ目の$1の">"を>に置換
してタグのくくりと区別したいのですが、正規表現中にReplace関数を使うと
エラーでおこられるため使用できませんでした。できれば正規表現一発で
処理したいので、どなたかわかる方教えてください。
415デフォルトの名無しさん:03/03/27 00:18
>>410
412のいうとおり、Enumですな。Constよりはるかに使いやすい。
414です。
たびたびすみません。
&gt;がデコードされてしまうようなので以下のように読み替えお願いします。

実際の求めたい出力文字列は
"テスト<A HREF="bbs.asp?id=405">&gt;&gt;405"</A>"です、 _
<A HREF="bbs.asp?id=406">&gt;406</A>これもOKに"
です。
417デフォルトの名無しさん:03/03/27 03:52
質問です。

アイコンを作成するプログラムを作っているのですが、
SavePicture ImageList1.ListImages(1).ExtractIcon, "hoge.ico"
とやって保存するとどうしても汚くなってしまいます。
Form1.MouseIcon = ImageList1.ListImages(1).ExtractIcon
は問題無く美しいアイコンになるんですけど、、
どうすれば美しくアイコンを保存できるのでしょうか?

VisualBasic6.0です。
>>417
それだと、複数サイズを持つアイコンが作成できないから小さいサイズしか
持っていない時に大きなアイコン表示すると拡大されて表示してしまうのでは
(逆もそうですが。)
また、16色や256色も考慮されてますか?
419デフォルトの名無しさん:03/03/27 08:51
コンテナを使わずフォームに直接配置される多数のコントロールを一気に (高速に) 移動する方法って?
420184:03/03/27 09:10
ファイルを削除せずに、いったん
ゴミ箱に入れる方法はありませんか?
>>420
SHFileOperationかな?
422410:03/03/27 09:44
>>411
>>412
>>413
>>415
感謝!勉強になりますた。
SQLの抽出方法について教えてください。
VB関連の質問ですのでお願いします。

A,Bにはそれぞれ1,2,3の値が格納できるようになっており
Aには3
Bには1,3(1の条件に存在する3のデータ)
が入っています。

SQL文で定義したのですが抽出データが予想外のものになってしまいました。
ご指摘お願いします。

SQL = "SELECT * FROM TBL WHERE(((TBL.A)='3' ) OR ((TBL.B)='1' ) AND ((TBL.B)='3'))"
424423:03/03/27 10:16
条件の指定が間違っていました。

@のデータを出す作業(B=3)
Aのデータを出す作業(A=1,B=3)

上の2つは上手く抽出できたのですが、
@とAの合算データを出す作業
が難航しています。

SQL = "SELECT * FROM TBL WHERE(((TBL.A)='3' ) OR ((TBL.B)='1' ) AND ((TBL.B)='3'))"
´_`) .。o(どこらへんが「VB関連」なんだろう・・・

SQL教えてっ!! lt;3gt;
http://pc2.2ch.net/test/read.cgi/tech/1042208762/l4
thanks
427デフォルトの名無しさん:03/03/27 13:44
>>419
コンテナかFor Nextちゃう?
>>425
SQL≒VBだから
>428

                  |ヽ ∧ /|
               / |\/  | ./|/ヽ
               |= \◇ //|= |
               |  (´<_` ) |____ .|\ フーソ
                 ||ヽ .|   /ミ/  | .|ヽ'
               /ニ| ̄ lニl ̄ 彡/|_|
               |三|__ lニl__彡
                 _/ /___|  |
                / ニニ/ / ▽\
               / /__/  |ニl lニ|
              <__/  <___>
430419:03/03/27 14:05
>>427
ヤパーリそれっきゃないっすかね
大量のコントロールをスクロールさせつつその背景は透過にしたかったんだけどね
いろいろ試したけどスクロール中の描画がどれもイマイチで
まあ透過にすんのは諦めます
431427:03/03/27 14:10
>>428
リアルタイムでスクロールならVBだと厳しいんでは
432427:03/03/27 14:16
>>430 のまちがいだった

ところで、PictureBoxで画像がロードできないんですが、

1. 他のPC (Win2K) で走らせると問題ない
2. 画像フォーマットはJPG。BMPだとこの問題は起きない
3. ロードはされているみたい & AutoRedraw = True

1のために悩んでいます。どなたかわかる方いらっしゃいます?
>432

jpg読み込むDLLが無いんだろう
434427:03/03/27 14:51
あと、見えてたのがリサイズすると見えなくなったり
落ち着いてもう一度ソースを確認してみることをおすすめする
436419:03/03/27 15:05
>>432
AutoRedraw = False ではどう?
437VBちょー久しぶり:03/03/27 16:28
これから自分でも調べて見ますが、もしご存知の方がいらっしゃればアドバイスをお願いします。

フォーム=ユーザーインターフェースを持たないActiveX DLLを作成するときに、
(1)そのDLLのメソッドの引数に「ByRef」は指定できるのでしょうか?
(2)同じく、配列は指定できるのでしょうか?

……いえ、受け取った仕様書の引数定義に、何気にInput、Outputとか、型タイプにArrayとか書いてあったんで(^^;
もちろん、同じExeの中の関数だったら、ByRefすればいくらでも値のやり取りは出来るし、
配列も引数として宣言できるのは知っていますが、ActiveX DLLにするっつーことは、OLE(COM)を通すっつーことですよね?
「あれ? 本当に出来たっけ?」と思い、質問させてもらいました。何かご存知の方がいらっしゃればアドバイスいただければ幸いです。よろしくお願いいたします。


>>437
(1)できる
(2)できる
439417:03/03/27 17:16
レス遅れてすいません。

ExtractIconメソッドで変換したアイコンを保存するときに汚くなってしまうんです。
多分16色に自動で減色されてると思うんですけど、
Form1.MouseiconをExtractIconメソッドで変換したアイコンにするときは
きれいなアイコンなのですが、
それをsavepictureを使って保存すると、Form1.Mouseiconにセットしたアイコンよりも
ずいぶんと減色されて、荒くなってる気がします。
何でこんなに違いが出るんでしょうか?

アイコンを作るプログラムを作るにはAPIを使ったほうがいいんでしょうか?

だれかアドバイスお願いします。
440437:03/03/27 17:28
>>438
お返事どもです。早速やってみまつ
441デフォルトの名無しさん:03/03/27 17:47
Set recRS = mdbDB.OpenRecordset(" SELECT * " & _
                    " FROM Convert " & _
                    " WHERE ExecuteFlag = '正常終了';", dbOpenSnapshot)
上記のように指定したら、「オブジェクト変数またはWithブロック変数が設定されていません」
というエラーが出てしまいました。どこが間違っているか教えていただけないでしょうか
>441

あわわ、こんなことできるのか、
まじですげーな
mdbDBを調べろ
444おばかさん:03/03/27 21:26
RPGを作っています。

画面をちらつかせないように、表画面と裏画面に分けて
裏画面で生成した画像をBitBlt等を使って表画面に転送させ
ることを繰り返すようにしようと思っています。

そこでオブジェクトを、
表画面をFormオブジェクト、裏画面をPictureオブジェクトにしようかと
迷っているのですがどのオブジェクトを使えばメモリーを少なく使い、
なおかつ速く転送できるでしょうか?

宜しくおねがいします。
DirectXを使ったら
RPG = Report Program Generator

アクションでなければ PaintPicture でも良さそう・・・
447おばかさん:03/03/27 23:04
>>445
DirectXは今回はいちいちRuntimeを入れたりとややこしいので・・・
皆が遊べるようなゲームにしたい。

今問題となっているのは転送元と転送先のオブジェクトをどのように
すればいいのかわからないのです・・・

>>446
それじゃないYO!・゚・(ノД`)・゚・。
>>447
>いちいちRuntimeを入れたりとややこしいので・・・

DirectX入ってないのってドノーマルのWindows95とNT4位じゃないの?
449446:03/03/27 23:35
>>447
次の行を読んでくれなかったのね 。・゚・(ノД`)・゚・。
450おばかさん:03/03/27 23:54
>>448
う〜ん・・・
やっぱりDirectXで組んだほうがいいのかな・・・
画面構成の大きさは640x480です
32x32のアイコンを埋めて作ります。
ですがRPG製作のボス(部長)曰くかなり長いシナリオらしいので
それによるメモリー不足が心配です。
一昔前のパソコン使っている人結構おおいからな・・・
最終的にはPentium MMX 200MB,メモリ64MBで長時間動けばOK。

私もRPG製作は初めてなのでかなり迷っております。
9月の文化祭にて発表せねばならないのでかなりやヴぁいかもです・゚・(ノД`)・゚・。
2chの皆様どうぞ宜しくおねがいします(m_m)!

>>446
・゚・(ノД`)・゚・。
>>450
> ですがRPG製作のボス(部長)曰くかなり長いシナリオらしいので
> それによるメモリー不足が心配です。

 シナリオが長いのとメモリ不足と何の関係があるの?
452おばかさん:03/03/28 00:16
>>451
BitBltを使って転送などを繰り返しすると
メモリー不足になると書いてあったのですが・・・
>>452
はつみみです。
単なるコーディング側のバグか、ディスプレイドライバのバグじゃないの?
>>448
NT4 の GDI は DirectX を使っていると聞いたが。
455おばかさん:03/03/28 01:04
>>454
折れはDirectX 7しかまだ使えないです・・・
NT4等に搭載されているDirectXはバージョンが古いと思われ・・・
456おばかさん:03/03/28 01:12
すんません、やっぱり一人で考えます。
皆さんありがとう(´∀`)。
457デフォルトの名無しさん:03/03/28 01:41
ここでは.NETはスレ違いなんですよね。
>>455
贅沢を言わなければ、DirectX 3 でかなりのものが作れると聞いたが。
>>439
>多分16色に自動で減色されてると思うんですけど、
そのアイコンが16色だという確認はしましたか?
>ずいぶんと減色されて、荒くなってる気がします。
何を見て荒く見えていると判断しましたか?
APIというか、ICOファイルのフォーマットを調べて自分で書き出すのが一番かと。
460デフォルトの名無しさん:03/03/28 04:16
SRPGでマップを1週した時に、因数あり(参照渡し)、戻り値無しのプロシージャ(関数)
で処理しようと思っているのですが、
HandleMapLoop(y,x)
と書くとエラーになってしまいます。=を付けろと言うことらしいのですが、よく
分かりません。因数、戻り値が無い場合はエラーにならないのですが。
>>460
sub HandleMapLoop(y,x)

HandleMapLoop y,x
>>461
subじゃなくて
Call HandleMapLoop(y,x)
だった。回線切って寝よう。
>>450
まさか全フィールドのイメージを一括でビットマップ展開しようなんて考えてないよね?
って言うかマップチップの概念がないのか・・・最近の子は。
>>452
TransparentBltはメモリリークするけどそれのこと?

>>454
DirectX9入れるとGDI+はDirectX使うようになるらしい。
sqlserverからcsvにする方法を教えてくだはい
467460:03/03/28 12:27
>>461-462
できました。ありがとうございました。
>466

SQLの本を買ってください。
wwwwwwwwwwwwwwwwww
470デフォルトの名無しさん:03/03/28 12:36
ファイルを削除せずに、ごみ箱へ入れる方法を教えていただけないでしょうか
>470

移動
>>470
ごみ箱にコピーする
SHFileOperationを知らぬ輩がごろごろと。
>472
きえてねーよ(一応・・・)
>473

それつかわなければごみ箱つかえねーのかよ
態度でかい
>>474
しかもバカ。
477470:03/03/28 13:12
SHFileOperationを使ってごみ箱へ入れる方法がわかりました。
ありがとうございます。

しかしながらまた問題がありまして、ごみ箱に入れようとすると
'File.txt'をごみ箱に移してもよろしいですか といちいち聞かれてしまいます。
これは表示しないようにはできないのでしょうか?
>>477
静かにさせるフラグを立てる
adoを使ってcsvにできません 誰かおしえて
480470:03/03/28 13:59
自己解決しました。ありがとうございました。
>475

>476


うっせーよ禿
483デフォルトの名無しさん:03/03/28 14:45
for XML句を使って、

recordset.open "select * from table for XML AUTO",3,2,1
とすると、カーソルでは使えません。というエラーが出ました。

たしかに、ストアドや、直接(意味わからないが、クエリアナライザだとうまくいく)でなければなりません。と書いてました。
あとOPENXMLというのが使えるような気がするのですが・・・。
JAVAでかかれたサンプルを見つけたのですが、それによるとなにか専用のオブジェクトにopenqueryメソッドで代入しているようでした。
VBにもそういう感じのものがありませんでしょうか。
>475

>476

チンカスはママのオッパイでもすっておとなしくしてろや
>475

>476

もうおわりかー?禿が
>472


しかもばか
>473

態度でかい
487デフォルトの名無しさん:03/03/28 15:06
イラクの人はここ見てます
http://www.k-514.com
              ,.-、
           /.n l  /⌒ヽ
             | l l | ,' /7 ,'
        , '' ` ー ' '-' /
       /  、_,       `ヽ  
         l   , .-. 、`´    l
         ヽ  ヽ ̄フ     /
        丶、 ̄____,/
         /  ,. - 、  )
      (( ( n ([N],ハ_う
         ゝ)ノ  ̄   ヽ
            /   _   l ))
            〈__ノ´   `(_ノ
488デフォルトの名無しさん:03/03/28 15:20
VB.NETで複数のクラスで有効なグローバル変数を定義するにはどうするのでしょうか?
DIMって
publicとPrivateとかと違うの?

>488

VB.NETへ
>>489
分かりません。と書いた方が潔い。
>490

ばかですか?
>>491
ああ、さっきちょっとつつかれてぶちギレてた子か。大変だな。
>492

ばかですか? 
>492

(='m') ウププ アフォはっけーん
>492

今ごろかよ、おめーおっせーなー!
ちんたらしてんじゃねーよのろまが!
>>493-495

どうでも良いが自作自演バレバレだぞ。
                 | |
                 | |
                //
                //
            __//___    _∧∧∧∧_
            /:::::::://:::::::::::::::::::\  ヽ  祝  /
           / ̄// ̄ ̄ ̄ヽ:::::::|   )  !  (
      ヽ========//======-----)   ).  釣. (
         ヽ/^^//^^^ヽ::::::::::::::::::::|   )   り  (
          / //   /:::::::::::::::::::::|   )  板  (
         ヽ // /  ヽ::::::::::::::::::|   )  O  (
          // ⊂。⊃ //ヽ::::::::::::|   )  F  (
          //つ    ゞ 5):::::::::::/  <   F  (
     __ //||||||ゞ _  /::::::::::::::|   )  開  (
     \  .// )::://ヽ \ヽ::::::::::::/つ  )  .催  (
      \/ =ヽ ̄  ヽ   ̄ ̄ ̄ (  ) !! (
       /《@》\_/ \_____) ヽ/VVVヽ/
     ( ̄⊃=\/   /::::::::::::::::::::::::::::\
     (  ̄⊃ο/::::ヽ /::::::::::::::::/ ̄ ̄ヽ:ヽ
    (  ̄⊃/ /:::::::::::y:::::::::::::::::/     ヽ::|
    (_ ̄ ̄||\:::::::::::::::::::::::::::/      /::|
   (_    ||  \::::::::::::::::/      /:::::::| 釣り板第1回オフ会
   (___//   \:::::/      /:::::::::::::|テーマ:
    //   \     y      /::::::::::::::::/「反応の悪い
   //     \         /::::::::::::::::::/  魚の釣り方」
>496

小物がつれちゃった・・・どうしよう・・・・。
499483:03/03/28 16:44
で、
おまえら俺の質問にこたえろや!禿
>>498
リリースしろ

             }      ⊂ニ⊃
 _           〈                    ⊂⊃
  イ          ノ            /⌒ヽ
  └ _.-‐     厂       /⌒ヽ/     \   _    /⌒ヽ
  r'      ,-'       /   /        \/  \/
  |  ,、_ノ ̄      _,,-'                `ヽ
  | ̄                        . . .. .      . . ................
  |                 / ⌒ヽ
  |                   /    `〜^ヽ
  |   。           /        }
  | -_) ゚            /        ノ
  \.ヽn  ' '         /     ' ' (         (´・ω・`)  , ,
' ̄ " '' '       ( ´Дンノ   , ,    ’   ' '    (∩ ∩ )     , ,
   , ,    ' '   ( へ⌒        _      , ,      ' '
                      /、ィ._ ヽ
ヽヽヽぃヽヽヽヽぃヽぃヽヽヽヽヽぃヽ   {゚/  )ノ ヽヽヽぃヽヽヽヽヽぃヽヽヽヽ
-〜ー…‥―〜―---―----〜―-一― ソ -------―ー‥…〜‐--―--
   〜  〜   〜〜    〜〜  〜   〜    〜〜 〜    〜〜
〜    〜〜 〜    〜  〜  〜  〜〜    〜     〜〜  〜
502デフォルトの名無しさん:03/03/28 19:27
Text1.Text = CreateObject("Scripting.FileSystemObject").OpenTextFile("test.txt").ReadAll

これがテキストファイルを読み込む最小限のコード?
503アシュル ◆adhRKFl5jU :03/03/28 19:50
privateとpublicの違いも分からないひとはbakaです。
504デフォルトの名無しさん:03/03/28 19:56
SRPGでbmpのフィールドとキャラを重ねることはできますか(キャラの無い部分に
後ろのフィールドが見える)。思いついた方法で、そのままフィールドと同じ所に
代入する方法、Imageを2枚重ねてやる方法をやってみましたが、両方ダメでした。
方法があるなら、教えてください。
505デフォルトの名無しさん:03/03/28 20:01
VBでAcrobat PDFWriterを使ってPDFを生成するとき、
PDFファイルの保存ってダイアログを表示しないで
上書きでも有無を言わずに自動的にパッパと生成したいんですが
どうすればいいでしょうか?
>>504
ちっとは自分で調べろ
"透過" "VB" "画像"
悪いこと言わないからゲーム作る気があるならVC++覚えろと言ってみる。
>>505
板違い。PDFWriterの仕様です。
Acrobat Distillerという方法もある。
質問です。
CADや帳票設計などのソフトに不可欠な、
描画したラインをクリックして掴み移動させるという機能は
どのように実現すればいいのでしょうか?

アドバイスお願いいたします。
質問です。
現在、ログ管理ソフトを作っています。
一週間以上放置(変更が無いファイル)を消す仕掛けを作りたいのですが
タイムスタンプの簡単で確実な比較方法は無いでしょうか?
DateDiff
VB6.0(SP5)を使って印刷のプログラムを作成してるんですが
WORDのように、文字に網掛けや影抜きみたいな装飾文字を
印字したいと思い、色々としらべたのですが
OLEで使えるような機能を使う方法ってないんでしょうか?
良い方法があれば教えてください。
>>509
線などの図形を描画した座標を記憶しておく。
マウスボタンが押下されたときにその図形かどうかを判断して・・・

>>510
普通にタイムスタンプを調べては?
514439:03/03/29 02:52
>>459
アドバイスありがとうございます。

>そのアイコンが16色だという確認はしましたか?
確認してみたら、16色になってました。

>何を見て荒く見えていると判断しましたか?
すいません。荒くはなってませんでした。32,32のままです。
勘違いでした、すいません。

>ICOファイルのフォーマットを調べて自分で書き出すのが一番かと。
そうですか。SavePictureを使って保存すると16色に減色してしまうのは仕方ないことなんですかね。
がんばってICOファイルのフォーマットを勉強します。
アドバイスありがとうございました。
>>505
ついこの前、似たようなことやった。
俺が使った方法はTimerコントロールで一定時間ごとにEnumWindowsでウインドウを
列挙し対象のウインドウならSendMessageでそれっぽいメッセージを発生させる方法。
ただし一瞬画面に表示される。CBTフックを使えばもう少し綺麗にできるのかもしれないけど、
門外不出のツールなので、そこまで突っ込んでやっていない。
PDFWriterにそういう機能があるのならそっちを使ったほうがいい。
516たぬき ◆Gz5HzWinNY :03/03/29 11:57
またまた質問ですみません・・・
あの・・・
Webbrowser内のTEXTとかを編集する方法ってどうやるのですか?
ぐぐったんですがよくわからなくて・・・
(Command1をクリックするとWebbrowser内のText内を”ほげ”とする)
(見たいな感じのをお願いします・・・・)
>>505
その手があったか。
>>505
VS-VIEWもPDF出力できるよ
519デフォルトの名無しさん:03/03/29 14:15
>>516
Webbrowser内のTEXT って何を指してるのかな?
htmlソースのこと? Textエリアタグのこと?
>>516
コンポーネントの追加か参照設定で
Microsoft HTML Object Libraryにもチェックを入れる。
(入れなくてもできると思うけど)

WebBrowser1.DocumentでIHTMLDocumentとかIHTMLDocument2とか
そんな感じの型(色々使える)の変数に代入する。

たとえばIHTMLDocument2型の変数に代入した場合、body.innerHTMLメソッドで
(たぶん)body内のHTMLが取得できる。

たとえばIHTMLDocument3型の変数に代入した場合、getElementByIdメソッドで
指定したIDのエレメント(リンクとか。IHTMLElement型)を取得できる。
IHTMLElement型のClickメソッドで指定したエレメントをクリックできる。

あとはこの応用でできるはず。英語のヘルプもちゃんと見れよ。
521520:03/03/29 14:53
ついでに質問。WebBrowser使った場合ProxyってIEの設定しか使えんの?
WebBrowserコントロールからはあるプロキシ使って、
IEからは他のプロキシ使ったり、プロキシなしにしたいんだけど。
WebBrowserコントロールとIEは同時に使います。

プログラミングするんじゃなくツールとかでの解決策でもいいけど。
522デフォルトの名無しさん:03/03/29 21:19
旧スレより下がっている
523デフォルトの名無しさん:03/03/29 23:15
緊急!

2人で別々にプロジェクト作ったんだけど、どうやって結合するんですか?
AのプロジェクトからBのプロジェクトで作った画面を使いたいだけなんですが
動きません。お願いします。
>>523
クラスモジュールの仕組みを正しく理解していれば、
そんなことで悩む事などないよ。
>>524 と、いうことは・・・なんとなく解りました。やってみます。
526デフォルトの名無しさん:03/03/30 00:21
駄目でした。誰か助けて〜
527デフォルトの名無しさん :03/03/30 00:26
>>505
レジストリを触るんだよ。Acrobat SDKに載ってるよ。
PDF Writerは印刷ダイアログを出すかどうかレジストリのフラグを見て
判断するんだよ。印刷前にレジストリをクリアするんだよ。
以前VB-MLで回答したから覚えてる。
>>523
c:\>copy a.vbp + b.vbp c.vbp
529デフォルトの名無しさん:03/03/30 03:09
???
>>528
同意。
>>528
おぢさんは、copy /b (略)
の方がええと思うで。
532デフォルトの名無しさん:03/03/30 17:43
氏ね
WinXP(Home)SP1にVB6をインストールしようとしたら
Error while configing ODBC drivers!
(×) The configuration of the ODBC Microsoft Visual FoxPro Driver driver failed.
というダイアログが出てきて、セットアップに失敗します。
ぐぐっても関係ありそうな文書は見つからないし、さっぱりです。
カスタムセットアップでODBC関係のドライバ全てチェック入れてインストールしてもだめでした。
助けてください…。
534デフォルトの名無しさん:03/03/30 18:15
氏ね
535デフォルトの名無しさん:03/03/30 22:54
すみません、質問です。
VB6のリストビューを、プログラムでスクロールさせる方法を教えてください。
>>535
何がしたいの?
>>536
アイテムを追加したとき、
ユーザが動かさなくても最新のアイテムを見られるようにするためです
>>537
ListitemオブジェクトのEnsureVisibleメソッドを使え。

で、おれの質問。
IEでLinkにカーソルを合わせたときの手のカーソルってあるじゃないですか。
あれってシステムから貰ってこれないのでしょうか?

それとも、どこからか見つけてきてカスタムアイコンにして表示させるのでしょうか?
後者で行こうとしたんですが、見つからないので困ってます。
>>538
LoadCursorでIDC_HANDとかどうでしょう
>>538
解決しました
ありがとうございました
質問させてください。
現在、Drive&Dir&FileのListBoxでファイルを指定して
ファイル名を変えるツールを作成しています。
それだけではファイル選択が面倒なのでドラッグ&ドロップにも対応させたいのですが
FileListBoxに複数のファイルをドラッグ&ドロップする場合で行き詰まっています。

ListBoxなんかでは「List1.AddItem Data.Files(i)」でうまくいくのですが…
なにか解決方法はないでしょうか?

542541:03/03/31 09:26
現状では複数のファイルをドラッグ&ドロップしても
「File1.FileName = Data.Files(i)」のような処理しか思いつかないため
1つのファイルしか表示されません…

一応MSDNを見たのですがFileListBoxの項目でもピンとくるプロパティがなかったもので。
初心者質問します。
俳句を使って作成したいんですが
縦書きってできます?
hogehoge.udl(たとえば↓のような感じ)を使ってmdbにアクセスしてるんだが、
このudlファイルからmdbのフルパス(D:\がはは\foo.mdb)を取得したいんだがどうすればできるのよ?

[oledb]
; Everything after this line is an OLE DB initstring
Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\がはは\foo.mdb;Persist Security Info=False
>>541
Dim objFile As Variant
For Each objFile In Data.Files
[statements](ex. List1.AddItem objFile)
Next
546デフォルトの名無しさん:03/03/31 12:19
何度も書き込んで申し訳ないんだけど、呼び出されたactive.exeサーバ側
から呼び出し元の変数を扱う方法を教えてくれ!!マジでおねがい(泣)
547デフォルトの名無しさん:03/03/31 12:24
>>353を教えてほしいと思うような毎日
正直どうでもいい思うような毎日
549デフォルトの名無しさん:03/03/31 12:50
ごめんなさいマジで、な毎日


┌───────────────────
│あ、どうもスイマセン、お騒がせしますた・・・
└───v───────────────
     /⌒\ っ   /\
    /'⌒'ヽ \ っ/\  |
    (●.●) )/   |: | すぐ連れて逝きますんで・・・
     >冊/  ./     |: /
   /⌒   ミミ \   〆
   /   / |::|λ|    |
   |√7ミ   |::|  ト、   |
   |:/    V_ハ   |
  /| i         | ∧|∧
   и .i      N /⌒ ヽ) ←>547
    λヘ、| i .NV  |   | |
      V\W   ( 、 ∪
              || |
              ∪∪
>>546
詳しい話はどこよ。探せというのか。
>>547
httpやftpがどうやって送ってるか、調べてては?
552デフォルトの名無しさん:03/03/31 15:14
>>546
>>551
前回の書き込みもこんな感じ、そのまんまの内容、ぜひおしえて。
553デフォルトの名無しさん:03/03/31 15:17
本当はここに書くべき事じゃないと思うんだけど、書くべき所が思いつかな
いので、書いちゃいます。みなさん2chを何を使って見てます?(ビューア)
ちなみに、私はかちゅーしゃです。
554デフォルトの名無しさん:03/03/31 15:32
>>551
分かりました。トライしてみるっす
>552

まずはMSDNみろよ
556デフォルトの名無しさん:03/03/31 15:36
常駐プログラムの変わりに、スクリーンセーバーとしてクライアントの
ソフトを作って、一定時間いじらないとサーバに接続して処理を行うみた
いな事をやろうと思うのですが(setiもどき)、可能でしょうか?
>>556
可能です。
>553

まずはMSDNみろよ
559553:03/03/31 17:09
結局フォーマット→WinXP→VB6→VSSP5→WinXPSP1となりました。
お騒がせしますた
↑553じゃなくて>533です。
561デフォルトの名無しさん:03/03/31 17:21
VB6(SP5)でAPI等Microsoftが提供している機能だけで
JPGファイルをサイズ変換して保存ってできますか?
>561

できない
563デフォルトの名無しさん:03/03/31 17:32
>562
 製品にその機能を組み込むなら
 最適な方法ってなんだろう?
 できればフリーで
>563

フリーであるよDLL。
最適かどうかは自分で判断

Dim vret As Variant
vret = FileDateTime(Target)

if (???) then
kill Target
end if

タイムスタンプと現在の時刻を比較して、ファイルの削除を行いたいのですが
???の部分が分かりません。どなたかお願いします。
>565

vret = now とか?
567565:03/03/31 17:50
>>566
説明不足でした。
タイムスタンプと現在の時刻を比較して、一週間以上すぎていた場合は、削除です。

再度、宜しくお願いします。
>>561
SavePictureだとBMPでしか保存できない・・・か


>>565
DateDiff でしらべれ
569565:03/03/31 17:58
>>568
出来ました!
ありがとうございました。
>567

7日をあらわす値があったとおもう。

それをnowから引いた値と比較すればいいのだが・・・
571デフォルトの名無しさん:03/03/31 18:24
TabletPC で Jurnalファイルの編集・保存をVB6から行いたいのですが
サンプル等紹介しているサイトはあるでしょうか?
ウイルスくれ
>>563
http://www.ijg.org/
VCでDLLにすりゃVBで使えるんじゃない?
IJG の著作権表示はしなきゃいけないでしょうけど。
574おばかさん:03/03/31 19:56
やっぱり一人ではなかなかすすみそうにありません・・・
PictureオブジェクトをBitBltを使ってPictureコントロールに
転送する方法がわかりません。とりあえず検索してみたのですが
やはりでてこないです。どうか皆様この愚民の私をお助けいただけたら
幸いです。

とりあえずコード晒しときます・・・
Dim FileN As String
Dim PicFile As Picture

FileN = App.Path & "\image" & "\clouds\" & "clo1.bmp"

Set PicFile = LoadPicture(FileN)

BitBlt frmMain.PicBack.hDC, 0, 0, 640, 320, PicFile.Handle, 0, 0, vbSrcCopy
>574
AutoRedrawは?
>>574
PictureオブジェクトはhDCないからBitBltできなかったような気がする。
PaintPicture使え。
577デフォルトの名無しさん:03/03/31 21:13
>571 見たことない。
ENDNOTE(エンドノート)買ったほうが早い。
Jurnalのフォーマットは数百種類あるからVBで作るのはむずかしいかも
578おばかさん:03/03/31 22:02
>>576
BitBltでは駄目ですか・・
別の選択肢を探してきます。
皆さん本当に有難うございました。
>>578
なぜにBitbltとじゃないとダメなの?
PictureオブジェクトのHandleプロパティはHBITMAPで
Bitbltで必要なhDCは直接とれんから使い方(考え方)が間違ってる。
タイヤにガソリン入れて走らねぇっていってるようなもん。

>BitBlt frmMain.PicBack.hDC, 0, 0, 640, 320, PicFile.Handle, 0, 0, vbSrcCopy
frmMain.PicBack.PaintPicture PicFile,0,0,640,320,0,0,640,320,vbSrcCopy
これで表示されない?(ScaleModeは合わせてな)

どうしてもBitBltじゃないとダメという訳の分からない理由があるなら
HBITMAPからhDCを作ってそれを使えば?(HBITMAPからhDCってのも変な感じだがw)
でなくてはPictureオブジェクトが好きってことなら
Renderメソッドで描画したら?
速度がいるならDirectX使え。今じゃBitBlt使った所で劇的に速くはならん。
ADOでリモートRDBを更新する時って
RSオブジェクトにUPDATEするより
SQLをEXECUTEする方が早いんですか?

業務アプリの常識として(・∀・)どうなんでしょ?
581おばかさん:03/04/01 04:15
>>579

>frmMain.PicBack.PaintPicture PicFile,0,0,640,320,0,0,640,320,vbSrcCopy
>これで表示されない?(ScaleModeは合わせてな)
ちゃんと表示されました〜(´∀`)

BitBltを使えば早くなるかと思いましたけど
そんなに早くなりませんか・・・

やはりPaintPictureメソッドでがんばっていきます。
みなさん本当にありがとう・・・・゚・(ノД`)・゚・。 感謝。
絶対にいいものを作って見せますよ!
>>581
WinG使えば?
この前、会社の上司に残業時間中ゲームをやっていたら
叱られまして、、、。上司は就業時間にエロ画像ばっか
見ていてるくせに!!!
VB 6 でインターネットのログを監視したいのですが
簡単に出来ますか?教えて下さい!
>>583
で、上司に「あなたのPCに監視ソフトを仕込んでエロ画像を見ていたという
証拠を掴んだんです」と言うつもりですか?
はい
そのPCに触れるんなら、ブックマークなり履歴なりキャッシュなり、
証拠がいくらでも残ってるんだから、そこを見れば?
そんな事しなくてもキャッシュ調べれば明らかだろうに。
ケコーン
妻と別れてからにしてくれ。
上司がエロ画像を見てるところを後ろからデジカメで取る。これ最強。
エロ画像を見なくても合成でなんとでもなる罠
592デフォルトの名無しさん:03/04/01 10:22
テキストボックスに CreateUpDownControl でアップダウンを付けると
ユーザーコントロールでのみ UDS_ARROWKEYS が効かなくなるようだ
有効にする方法を教えてくれ
>>580
Recordsetを adUseClient (←これ、重要)で開き、1件ずつ更新するのが最速。
.MoveNextする際に、DoEventsするのを忘れずに!
>>580
自分で試せよ
>>593
ありがとごじゃます

>>594
ゴミ!氏ね!
つーか、MSDN入れねーとloop文とか
つかえねーのか…
597デフォルトの名無しさん:03/04/01 23:43
すいません。教えてください。
現在VBでプログラムをつくっているのですが、
処理が終わったあと、Outlook Expressで
VBで処理が終了したというメールをとばすことになりました。
MAPIControlsを使えばいいらしいのですが、使い方がどうしてもわかりません。
VBであれば他の方法でも問題ないので、知っていたらぜひお願いします。
598デフォルトの名無しさん:03/04/01 23:50
>>597
メールなんかDOS窓でも送れるぞ。
599597:03/04/02 00:02
VBでDOSを操作するわけですか。なるほど・・・
調べてみますです。
>>599
徒労になるだけだからやめとけ。
>>597
CDOのMessageオブジェクトでどう?割と簡単
602デフォルトの名無しさん:03/04/02 00:39
>>599
違うよ。メールの仕組みを理解しろってこと。
603504:03/04/02 01:29
>>506
透過できました。初心者なので、コードの方は分かりませんでしたが、
ペイント+Officeの方でやりました。ありがとうございました。
>>597
つまりメール送れればいいんでしょ。
ベクターにメール送信DLLあったぞ。漏れはそれを使った。
>>604
ライブラリ厨、カコ悪い。
>593

まじ!?
ストアド作って呼び出して方が速いんじゃ・・・
>>595 >>606

釣れた!(・∀・)

# 最近、漁獲量が少ないな・・・。
608606:03/04/02 10:33

┐(´-`)┌

# まぁここの住人がどうなろうとしったこっちゃないんで放置だな・・・。
>>607
># 最近、漁獲量が少ないな・・・。
おまえがアフォだという何よりの証拠だわな (W
ADODBを使ってデータベース一覧をコンボボックスに追加するにはどうすればよいのですか?
プロバイダはSQLSERVERなのですが無理でしょうか?
VBでVCで作ったDLLってどう使う?
612デフォルトの名無しさん:03/04/02 14:26
>>611
Declareして使う
>>610
ADO Ext を使えばできたような・・・うろ覚えスマソ。
>611
vbでおながいします
>610
「データベース一覧を取得する方法」をヘルプなりサンプルなりから探しましょう。
FileListBoxにドラッグ&ドロップで複数のファイルを取得して表示するには
どんなプロパティ使うのがいいんでしょうか?
617デフォルトの名無しさん:03/04/02 15:28
Delphiで、下のサイトのようなのを見つけたんですが、
ttp://home1.infonia.ne.jp/~delphian/delphi/

vbでも便利なコンポーネントがいろいろ置いてあるサイトってないでしょうか?
(できればフリーがいい)
>616

dataオブジェクト
>>617
海外ならいろいろあるよ。
>>618
即レスありがとうございます。
今のところループさせてData.Files(i)に詰め込んでるのですが
これをFileListBoxに表示させようとするところで詰まっています。

For i = 1 To Data.Files.Count
File1.FileName = Data.Files(i)
Next i
これだとリストには1つしか表示されないので…

ListBoxのAddItemのような感じの機能ってないでしょうか?
621 ◆jBELnCmi.6 :03/04/02 16:14
合法で一番安く買えるBASIC・VB開発ソフトはどれですか?
兄貴のXPマシン借りるしかないんですが Ver3.0〜、95、98マシン時代のソフトでも動きますか。
>>620
ListBoxつかえばいいじゃん。
623デフォルトの名無しさん:03/04/02 16:47
すみません。下記のプログラムのように
FOR分の途中でCで言うcontinueをしたいのですが
VBで出来ません。どのようにしたらよいのでしょうか?
下の文を実行しようとすると「対応するForがありません。」
と出てコンパイルできません。

for i = 0 to 10

if i = 5 then
Next i
end if

string = string & "aaa"

Next i
>>622
そんなこと言うなよ・・・
>>621
「Basic」でよければベクターにでもあるんじゃない?
626616&620:03/04/02 16:53
>>620
それもそうなのですが、
Drive&Dir&Fileの3つを使っているので…
627616&620:03/04/02 16:54
>>620じゃなくて>>622でした。。。
>>623
for i = 0 to 10

if i = 5 then
Goto hoge
end if

string = string & "aaa"
hoge:
Next i
'正しいやり方あるのかなぁ
629デフォルトの名無しさん:03/04/02 17:13
>>623
for i = 0 to 10
if i<>5 then
string = string & "aaa"
end if
Next i

630623:03/04/02 17:21
>>628
>>629

ありがとうございます。どちらでも出来ますね。

631デフォルトの名無しさん:03/04/02 17:46
>>610
「Database」ですか?テーブルやフィールド名、データ型等なら
わかりますが
>>610
master.sysdatabases.name
ぬるぽってなんですか?
634デフォルトの名無しさん:03/04/02 19:17
Recordsetオブジェクトにレコードがセットされているかどうか
調べる方法はありますか?
エラーを拾うしかないのでしょうか?

RecordCountは?
正確な件数は拾えないけど…
636デフォルトの名無しさん:03/04/02 19:31
VB5とVB6の違いを教えて下さい。
例えばVB6にできてVB5にできないこととか?
>>636
何故今ごろ?
638デフォルトの名無しさん:03/04/02 19:36
>>635
お返事ありがとうございます。

Dim RS as RecordSet

で宣言しただけなのでRecordCountも拾えないです。
参照するとエラーを起こします。
SETはまったくしてない状態です。
>636
VB6のヘルプに書いてある。
640デフォルトの名無しさん:03/04/02 19:48
636です
 金融機関に勤めています。システムはVB5です
 先日、PCにVB6を入れたら、怒られました。
 ちなみに、一部上場の企業です。
>>638
Newしてるかしていないかの判断?
If RS Is Nothing Then
とか?
>>640
こらこら。怒られるのは当たり前だろう。
VB6で編集してVB5にソースを持っていくつもりですか?
643デフォルトの名無しさん:03/04/02 20:00
>>638

If Not (RS Is Nothing) Then
' オブジェクトあります
If (RS.State And adStateOpen) = adStateOpen Then
' 開いています
If RS.EOF = False Or RS.BOF = False Then
' データあります
End If
End If
End If
>>640
終了。ご愁傷さま。
645638:03/04/02 22:34
>>641
>>643

ありがとうございます。

If RS.state = adStateOpen Then

が知りたかったです。

646デフォルトの名無しさん:03/04/02 23:18
厨な質問なのですが。

VBで時間計測のプログラムを作っています。
DATE型変数では1秒以下の表示が出来ないので

自分なりに必死に表示させようとしているわけですが。

これが上手く動きません。
一分になるかならないかのとこで表示が変に・・・

なんかいい方法ないもんでしょうか。
647デフォルトの名無しさん:03/04/02 23:28
>>645
厳密に言えば
If (RS.State And adStateOpen) = adStateOpen Then
の方がいいようです。(ビット演算知ってる?)
648デフォルトの名無しさん:03/04/02 23:37
>>646
timeGetSystemTime API
649デフォルトの名無しさん:03/04/02 23:48
>>646
逝ってよし
Private Enum BeforeOrAfter
Before
After
End Enum
Public Function ConvertMillisecondsToTime(Milliseconds As Long, Optional IncludeHours As Boolean) As String
Dim CurrentHSecs As Double, HSecs As Long, Mins As Long, Secs As Long, Hours As Double
CurrentHSecs = Int((Milliseconds / 10) + 0.5)
If IncludeHours Then
Hours = Int(CurrentHSecs / 360000)
CurrentHSecs = CurrentHSecs - (Hours * 360000)
End If

650デフォルトの名無しさん:03/04/02 23:49
>>646
逝ってよし
Mins = Int(CurrentHSecs / 6000)
CurrentHSecs = CurrentHSecs - (Mins * 6000)
Secs = Int((CurrentHSecs) / 100)
CurrentHSecs = CurrentHSecs - (Secs * 100)
HSecs = CurrentHSecs
ConvertMillisecondsToTime = FixLength(Mins, 2) & ":" & FixLength(Secs, 2) & ":" & FixLength(HSecs, 2)


If IncludeHours Then
ConvertMillisecondsToTime = FixLength(Hours, 2) & ":" & ConvertMillisecondsToTime
End If
End Function
Private Function FixLength(Number As Variant, Length As Integer, Optional CharacterPosition As BeforeOrAfter = Before, Optional Character As String = "0") As String
Dim i As Integer, StrNum As String
StrNum = CStr(Number)
FixLength = StrNum


For i = Len(StrNum) To Length - 1


If CharacterPosition = Before Then
FixLength = Character & FixLength
Else
FixLength = FixLength & Character
End If
Next i
End Function
651デフォルトの名無しさん:03/04/03 00:02
質問です。
VBでJavaのHashmapのような使い方が出来る関数は無いでしょうか?

膨大なhttpdのログから、どのアドレスに何件アクセスがあったのか
統計を取りたいのですが、毎回同じキーを捜してたら時間がかかると思いまして。
>>651
JavaのHashmapってどんなの?
653デフォルトの名無しさん:03/04/03 00:19
うーん、VBで表すなら・・・

Type Record
Key(10) as String
Value(10) as String
End Type

Dim test as Record

ってのがあったとして、データの1件目が"Sample1"って値なら、test.Key配列10件中の
どれかに"Sample1"ってのがあったらそれと同じ配列のValueに"1"を入れて
どのKeyにも"Sample1"ってのが無かったら、新規に"Sample1"ってキーを追加してそのValueに"1"を入れる。
これをJavaで書くとしたら、test.put("Sample1","1")ってな感じで1行。

って伝わるかな?ループ使えば可能なんだが、データ件数が膨大になったらかなり遅くなる。
JavaのHashMapだと、この処理が早い。
>>653
Dictionary オブジェクト なんていかが?
655653:03/04/03 00:33
>>654
うぉ、こんなのがあるんですね。
今MSDNで確認してみましたが、まさに希望通りのものっぽいです。
これ使ってみます。ありがとうございました。
質問です。
VBS,JavaScriptには関数ポインタなるものがありますが
VBSの例
<A ID=A1 href="about:blank">リンク</A>
<SCRIPT language=vbscript>
Sub window_onload
Set A1.onclick=GetRef("A1_onclick2")
End Sub
Sub A1_onclick2 '独自イベントハンドラ
window.event.returnvalue=false 'クリック操作の無効化
End Sub
Sub A1_onclick '本来のイベントハンドラ

End Sub
</script>

VB6にて、このGetRefに相当するテクはあるでしょうか?
この例のようにオブジェクト名が定義されていないで、動的に作成されたオブジェクトのイベント処理をしたい場合です
VBS、JavaScriptではできますが・・・
VBSの例:ドキュメント中の全てのAタグクリックを無効にする
Dim ObjTag,ObjCollection
Set ObjCollection=window.document.all.tags("a") 'Aタグコレクション
For Each ObjTag in ObjCollection
Set ObjTag.onclick=GetRef("CancelA")
Next
Function CancelA
CancelA=false
End Function
これと同等の事をVB6にて。。。
WithEventだったかな
658デフォルトの名無しさん:03/04/03 09:40
>>654
VBにHashがねーとおもってクラス作ったおれはバカだった,,
659617:03/04/03 09:42
>>619
ありがとうございます。
・・ということは、日本のサイトではないんですね・・。
660デフォルトの名無しさん:03/04/03 10:37
CollectionDefやTableDefについてるDefって何の略ですか?
デブと読め
662デフォルトの名無しさん:03/04/03 10:52
質問です。

object.DataSource = RS

という事でData report や Datagrid を利用していますが、
ここでRecordSetではなく変数(構造体の配列)などは利用できないのでしょうか?
テーブルから取得した内容を変数に保存して、その変数にレコードを随時追加し、
追加終了後、その変数をData reportなどのDataSourceとして利用したいのですが。
(編集用のテーブルを作ると遅くなるので)
みなさんどのようにしているのか知りたいです。

やった事ないが、MSDNには

DataSourceプロパティ
ADO Recordset オブジェクトなどのデータ ソースを指定するオブジェクト参照、
およびデータ ソースとして定義されたクラスまたはユーザー コントロールを
指定します

とあるから、自作クラスうまく使えば出来そう。
でも余分な複雑さを生みそうな気がするからやめたほうが・・・
編集用テーブルのDBをローカルに持つ等して対処する方がスマートっぽい。
664621 ◆jBELnCmi.6 :03/04/03 15:30
>>625
ありがとう。まさか無料とは
質問します。
チェックボックスの枠を大きくしたいんです。
サイズ変更しても枠の大きさだけは変わりません。
???
>>665
システム既定のサイズだからです。
(どっかをいじればWindows全体に影響があるけど変更できたキがする)


どうしてもそこだけ変更したいなら自分で描画しちゃいましょう。
667デフォルトの名無しさん:03/04/03 16:42
>>663
逆に、Recordsetをうまく使えば662の行ってることはできるよ。RSはデータベース
接続専用のクラスじゃないし。
668デフォルトの名無しさん:03/04/03 18:20
ある文字列の体裁を整えるために、足りない桁数はスペースで埋めたいと思っています。
しかし、どうもうまくいかないので、お知恵を拝借させてください。


abc - 41 - hoge
abcd - 55555 - wow
a - 100 - none
上記のデータそれぞれの桁を5桁ずつにして、それぞれのデータが縦に揃えたいのです。
Format$
670668:03/04/03 18:54
Format$("abc", Space(5)) & "-" & _
Format$("41", Space(5)) & "-" & _
Format$("hoge", Space(5))

ありがとうございます。
このようにしてみたのですが、やはりうまくいきません。
Space()を使ってスペースで埋められるかと思いましたがだめでした。
どうしたらよいでしょうか?
671デフォルトの名無しさん:03/04/03 18:59
>>670
"@@@@@"
>>670
Right$(space(5) & "abc", 5) & "-" & _
Right$(space(5) & "41", 5) & "-" & _
Right$(space(5) & "hoge", 5)

でいけるけど、桁あふれで情報が焼失する。
まあ、ヒントにでもしてけれ。
どのモジュールからでも使えるパブリック変数は標準モジュールに
Public i as integerと書きますが、
どのモジュールからでも使えるオブジェクトは標準モジュールに
Public Set fs = CreateObject("Scripting.FileSystemObject")
と書けばいいのでしょうか?
674デフォルトの名無しさん :03/04/03 21:23
>>673
ばか丸出し。認めろ。
>>673
何故、試さないの?
やる気が無く、結果さえ分かればいいっていう卑怯者なんだろ。
>>673

それであってるよ。
678673:03/04/03 21:37
>>674-677
Public Set fs = CreateObject("Scripting.FileSystemObject")
これはエラーがでました。
パブリックのオブジェクトの作成方法はあると思うのですが・・・
>>678
エラーが出てエラーメッセージを書かない。素人丸出しだな。
680673:03/04/03 21:49
>>679
エラーメッセージに関係なく答えを教えてくれるとうれしいです。
 
682デフォルトの名無しさん:03/04/03 21:54
>>673,>>678
それぐらいせめて一回で書けよ。自分じゃ分かってるつもりでも、内容聞くほうには
何が言いたいのか伝わらない。ちゃんと詳細をまとめて書け。

>>679のように指摘されてあたりまえ。
683673:03/04/03 22:00
>>682
だって、これはエラーメッセージの問題じゃないと思うんです。
Private Sub Command1_Click()
Set fs=〜
End Sub
通常はこのようにプライベートなサブプロシージャでオブジェクトを作成するけど、
これだとEnd Subのところでオブジェクトが自動的にSet fs=Nothingにされちゃうので、
だからパブリックなfsオブジェクトを作れたら
いろいろなプロシージャを実行するたびにいちいちfsを作る必要がなくなって楽だなあと。
>>683
えーい、うっとーしー。わたしゃみんなのように優しくないので答えのみ。
Public fs As Object
でいいだろうが。
SetはLoad時でもやっとれぃ
685673:03/04/03 22:04
>>684
ここからは自力でAs Objectというのを調べてみます。
ありがとうございます。
ここは上級者スレです。初心者おことわり。
1はスレタイトルをつけ間違えました。
>>683
別に「エラーコード」に限った話じゃなくて、聞き方の問題だと思う。
少なくともレスしたみんなが感じてること。
688デフォルトの名無しさん:03/04/03 22:05
>>673
ヒント:VB.NETだとそれで動くはず(w,マジレス

俺って優しいな。
>>685
いや、

xo.ASshole = True

の後にSetすればOKだと思うぞ。

VBの初心者は歓迎だし、質問や日本語の初心者に質問方法を
教えてくれるという親切なスレですが、何か?
>だって、これはエラーメッセージの問題じゃないと思うんです。
そりゃそうだ。あんたが問題なんだよ。他のPGと取り替えてみ。
692673:03/04/03 22:09
>>688
VB.NETすごいです〜
>>689
むずくて689の意味が理解できませんでした。
694デフォルトの名無しさん:03/04/03 22:11
>>690
初心者とそれ未満のバカは明確に区別、差別される。そういうことだ。
695673:03/04/03 22:12
>>690-691
わかりました。
>>673
質問以前。基本書を読み直せ。
そんな宣言がVBで通る訳ないだろ。
697673:03/04/03 22:15
>>693-694
なんにんかの人はわたしのつたない文だけで何がやりたいか理解してくれたようでやはりすごいです。
698673:03/04/03 22:16
>>696
まだプログラムの習慣みたいなのがわかってないのでもっと本とか読みます。
699673:03/04/03 22:16
もういいです。荒らします。




























700673 ◆EUrIm32/Zk :03/04/03 22:16
すいません偽者があらわれました。
70188:03/04/03 22:17
いいから、VB入門書の「宣言文」の項を読み直せ!
702673 ◆EUrIm32/Zk :03/04/03 22:18
>>701
わかりました。
703.i:03/04/03 23:04
印刷時 mmの値をピクセルに変換する方法を教えてください。。
>>703
プリンタの解像度に依るかと。
705.i:03/04/03 23:14
つまりは プリンタによって変わるので
プログラムで変換することは不可能ということでしょうか…?
>>705
何ピクセル動かすと何ミリ書かれるか、ということ?
ScaleModeでVbMillimetersつかっちゃまずいのかな?
>>684
> SetはLoad時でもやっとれぃ
Property Getを使えば初めて使うとき作成ってのもできるけどね。
参照設定をすればNewが使えるけど。
708.i:03/04/04 00:44
>>706さん

会社内で使ってる関数なんですが、ピクセルで渡してやらないといけない引数があるんです。
とりあえず呼び出し元のほうはミリメートルで統一しておきたいので。
TwipPerPixelsXとかいうあたりがカギらしいんですがよくわからなくて…
>>708
Dim pX, pY, mX, mY
Printer.ScaleMode = vbPixels
pX = Printer.ScaleWidth
pY = Printer.ScaleHeight
Printer.ScaleMode = vbMillimeters
mX = Printer.ScaleWidth
mY = Printer.ScaleHeight
'あとは計算で出るのでは?正しく出るかは検証しないとだめだけど。
フォームを2個使って、Form1からForm2を呼び出して処理が終わったらForm1に返して処理を続けるというのを作りたいんですが、Form1に

  Load Form2
  Form2.Show
  Form1.Visible = False

  MsgBox "終わりました"

  Exit Sub

'エラー処理
Error:
  MsgBox "エラーです"

と書いたんですが、実行するとForm2で"Form1.Visible = True”としてから返ってくると”終わりました”と表示されずに、”エラーです”とエラー処理が表示されます。
この場合、Form1から2に移った後、Form1の処理を停めておいてForm2から返ってきた後に"終わりました"と表示するにはどうしたらいいのでしょうか?
それとも、そもそもそういう事はやってはいけない事なんでしょうか?
ぜひぜひよろしくお願いしますm(__)m
Form2.Show vbModal
>>703
Printer.ScaleX , Printer.ScaleY
713デフォルトの名無しさん:03/04/04 09:09
>>673
そもそも変数やオブジェクトをPublicでやるのが大きな間違い
>>713
状況によってはそうとも言えない・・・

673のレベルでは必要ないと思うけど。
715デフォルトの名無しさん:03/04/04 09:15
>>684
おれはモジュール(フォーム)レベルのオブジェクトを作るのはForm_Loadより
Form_Initializeつかうんだけど、変かな。_Initializeの方がForm自体をオブ
ジェクトとして捉えるとしっくりくるんで。
716713:03/04/04 09:17
>>714
もちろん1個も作るなとはいわんよ。
717bloom:03/04/04 09:46
>>715
あなたの言っていることは正しいと思うけれど、VB使いはバ(略)が多いから、
理解できないと思うよ。
719デフォルトの名無しさん:03/04/04 10:09
質問です。

DataReportのコードの部分でDataSoruceの内容(値)を取得するには
どうしたらよいのでしょう?
720.i:03/04/04 10:17
>>709
>>712
ありがとうございます!
VBで四捨五入のロジックで、これが最適、ってのある?

俺は……。Format使ってる。
722デフォルトの名無しさん:03/04/04 11:03
>715
賛同者なのだが、.netではデフォルトではInitializeが無いと聞く。
ホントなのか?

>713-714
673が言っているオブジェクトの用途が見えないなぁ。
インスタンスはフォーム内だけでしか存在しないオブジェクトなのか、
どこからでも1つのインスタンスを参照できるオブジェクトなのか。
前者ならPublic宣言でNewしても良いだろうけど(Sub Main()でのクリエイトも)、
後者なら、フォーム内でPrivate宣言すべきだし。
723デフォルトの名無しさん:03/04/04 11:04
>721
WinXPで問題が生じます<Format
>>723
(・Д・)マジ!?
>>724
(TДT)マジ
>>722
あるよ。 Initialize・・・
>>723-725

それはバグではなく(MSの言うところの)「仕様変更」だ。
しかし、あまりに不評だったため?SP-1で元の仕様に戻った。

Format関数のより大きな問題は、数値演算より実行速度がはるかに遅いことだ。
大量のデータの処理や回数の多い反復処理(ループなど)には使わない方がよい。
そもそもFormatは表示形式を指定する関数なので、数値の丸め処理に使用するのは、
本来の趣旨から外れる。
>>728
そもそも浮動小数点数丸めるのって勇気いるしな。
>>721 >>723-725 >>727-729

っつー訳で、「5を加算して切り捨てる」実装が最強
という結論でよろしいですね。

(Yes / True / 「はい」)
IsNumericでTrueが返って来る全ての数値(符号有り、小数点有り、.5とか、5.とかも有り)を、
任意の桁で四捨五入したい、ってなると、普通に大変なんだけど。
ちょろり作るつもりで始めたら、なんかどっぷりはまったよ。
732デフォルトの名無しさん:03/04/04 12:13
>727
釣られようぞ。
って、えさがついてないんだが……。
734デフォルトの名無しさん:03/04/04 13:29
>>731
IsNumeric() は d や e を含む表現を許容してしまう。
>>731 >>734

IsNumeric関数は引数が「数値に変換可能なとき」Trueを返すとドキュメントに
書いてある。
だから、指数表現や16進文字列もTrueになる。
>>730
って、選択の余地なしですか、そうですか。
今、VBないからVBSなんだけど、IsNumeric("2F")はFalseだけど……?
ごめ、Call MsgBox(IsNumeric("&H2A"))
はTrueだった。
739デフォルトの名無しさん:03/04/04 14:03
すみません。DataReportでRptImageを使ってコードの方で画像の差し替え
を行いたいのですが以下のコードを書くとエラーが起きます。

report1.Sections("section1").Controls("Image1").Picture = LoadPicture(imgPath)

画像の差し替えは可能なのでしょうか?
つくった。おけ?

Option Explicit
Dim strInput
strInput = InputBox("数値を入れてほしい")
If MyIsNumeric(strInput) Then
MsgBox "OK"
Else
MsgBox "NO"
End If
Function MyIsNumeric(ByVal strVal)
Dim strChars
Dim intIndex
MyIsNumeric = False
If Not IsNumeric(strVal) Then
MsgBox "IsNumeric(""" & strVal & """) = " & IsNumeric(strVal)
Exit Function
End If
strChars = "1,2,3,4,5,6,7,8,9,0,-,+,."
For intIndex = 1 To Len(strVal)
If InStr(strChars, Mid(strVal, intIndex, 1)) <= 0 Then
MsgBox "数値に使用できない文字:" & Mid(strVal, intIndex, 1)
Exit Function
End If
Next
MyIsNumeric = True
End Function
741デフォルトの名無しさん:03/04/04 14:23
CSVファイルを一気にmdbファイルへ登録する方法はないですよね?
一行ずつ読んで、書き込むしかないのでしょうか。

なにか便利な方法があったらでいいのでお願いします。
>741
そのCSVへのリンクテーブルを作れば、あとは通常のテーブル
として扱えるのでSQL一発でおけ。
エラー処理とかやりにくくなるのがタマの傷。
>>741

【追加課題】

Oracel、SQL Server の場合の処理方法も調べて結果報告すること。
744デフォルトの名無しさん:03/04/04 15:00
app.path が「Program Files」などのロングファイルネームではなく、
「Progra~1」といった短いファイル名で返されてしまいます。

ロングファイル名で返してほしいのですが、そういうことはできませんか。
>>744
GetLongPathName(98以降)
FindFirstFileでごにょごにょ
>>744

APIを使わない方法としてはDir関数を使って1階層ずつ展開する方法あり。
ただし、\\ComputerName\.... で始まるUNCパスでエラーになった記憶がある。
気の済むまで入念に動作テストしてくれ。
>>746

FSOを使う方法もありそうだが・・・?
(生暖かいフォローきぼんぬ)
748744:03/04/04 15:25
>>745-746さんありがとうございます。

ちょっと私の言葉が足りなくて勘違いさせてしまったかもしれません。
App.Pathで取得したデータは、他のPCだとロングファイル名で帰ってきています。
おそらく設定か何かがあるのではないかと思ってカキコしました。
何とか解決できないでしょうか
749744:03/04/04 15:50
さらに調べてみたところ、特定のプログラムだけがショートファイル名を
吐き出すことがわかりました。

設定があるのでしょうか
750デフォルトの名無しさん:03/04/04 16:02
751デフォルトの名無しさん:03/04/04 19:16
VBとオブジェクト指向系言語の違いが分かりません。
というかVBはもしかしてオブジェクト指向なのですか?
>>751
まさか。買いかぶりすぎ。
>>751
一応中途半端なオブジェクト指向プログラミングはできます。
VBでも出来る程度のオブジェクト指向すら出来ないのが>>752らしいですよ。
>>715
この場合はInitializeでもいいと思うけど、
なんでもInitializeっての良くないこともあるよ。

Formは言うまでもなくユーザインタフェース。
ユーザインタフェースにかかわる処理はLoadに置くべき。

たとえば、フォームのCaptionなんかを変更する処理はLoadに書く。
もしInitializeに書いてしまうとInitialize時にフォームがロードされてしまう。
フォームおよびフォーム上のコントロールをさわった時点でフォームはロードされるからね。

こうなると、ロードはしないけどインスタンスだけを作成するという状態が作れなくなるし、
タイマーなんかも発動してしまう。意図的にこういう仕様にしたいなら別だけど。

基本はこうだけど実際は使い方にあわせて柔軟に変えるべき。
たとえばインスタンスは生成したままでロード→アンロード→ロードを
したときにどういう動きをしてほしいかを考えてみる。

(FileSystemObjectに関してはプロジェクト内で一つで十分だと思うから、
生存期間がプロジェクトが有効な限りなら標準モジュールでNew FileSystemObject、
もしくはProperty Getでやってる。)

>>718
もう少し突っ込んだこと書けないとVB使いよりバ(略)だと思われちゃうよ。
まぁ正しいと思うと言っている時点で(略)カ
755710:03/04/04 19:25
遅レスですいません。
>>711さん
お答え、ありがとうございますm(__)m
で、お恥ずかしい結果なんですが、
vbModal書いても"エラーです"が表示され、ひょっとしてとエラー処理の行を削って実行してみると、
Load Form2の行でデバッガが動きました。
Form2の処理書く前に試そうと、Form2のLoadの中でいきなりUnload Meしている為でした(^^ゞ
てっきりForm1の処理が勝手に進んでいるせいだと勘違いして悩んでました。
で、Form1にUnload Form2と書き解決しました。
vbModal教えて頂いたおかげでやっとアホやってた事に気付きました。
本当にありがとうございましたm(__)m
>>751
指向ってのは考え方。言語で指向が決まるわけじゃないので
やろうと思えばアセンブラやC言語でもオブジェクト指向はできる。
ただJava等オブジェクト指向という考え方を取り入れて作られた言語というのはある。
こういう言語はオブジェクト指向がしやすいような言語仕様になっている。

VBはオブジェクト指向に全面に取り入れたというわけではない。
どちらかといえばコンポーネント指向というべき。
しかし、オブジェクト指向がしやすい言語仕様がないわけじゃない。
アセンブラやC言語に比べればかなりオブジェクト指向がしやすい。

要するに対応度の問題。オブジェクト指向プログラミングはVBも含めて
どんな言語でもできるが、対応度が低いのでオブジェクト指向言語ではない。

ただ、勘違いしてもらっちゃ困るが、VBでオブジェクト指向プログラミングは
十分実用的なレベルでできる。研究レベルだと不足しているが。
>>756
>どちらかといえばコンポーネント指向というべき。
じゃあコンポーネント指向を謳ってるC#には継承とか多態とかないってことですか?
どこが実用的だ。
多態はVB6でもできるんだが・・・。
別にある言語がオブジェクト指向、コンポーネント指向両方できても問題ないだろ。
プログラマなら、マーケッティング上の言葉に惑わされず、
なにができるのかで考えてほしいよね。
760デフォルトの名無しさん:03/04/04 21:33
あの〜スミマセン!!
MassageBoxの出し方教えて下さい。
ガッコウの兄貴に指示されました。
コニチワ、マッサージボックスで出せなさいと。
どうすればいい?
>>760
ネタはよそでやれ。
762デフォルトの名無しさん:03/04/04 21:35
MsgBox "コニチワ"

763デフォルトの名無しさん:03/04/04 21:38
>>761
Fuck ME!!

>>762
Thanx!!
初心者です。
VBで、一定時間ごとに、画面をキャプチャするなんていうアプリを作れるのでしょうか?
>764
作れる。ではどうやって? なんて聞かないでくれよ?
2日くらいは検索して探してね。
766デフォルトの名無しさん:03/04/04 21:58
VB.netでつくったプログラムは.netフレームワークの入ったパソコンでしか動かないというのは本当ですか?
VB.netで、ランタイムやフレームワークなしでもふつうにどのウインドウズでも動くソフトを開発することはできますか?
>>766
VBに限らず、.net上で動くC++、Delphi、COBOL、J#は
.netがなければ動きません。
反対に言えば.netがあればどのOSでも動きます。
>>765
なるべく自分の力で作ってみたいと思ったので限界まで努力します。
だから、Giveupまで基本的にはどうやって?と聞かないつもりです。
VB.netでやろうと思ってるのですが、基礎を固めるためのお勧めHPとかを教えていただけないでしょうか。
>>768
ならば、VB.netのスレで聞く事だ。
770デフォルトの名無しさん:03/04/04 22:38
.netは軽いですか?
低スペックなパソコンでもインストールできますか?
ていうか、職場のみんなに仕事で使えるアプリを作って配布したいだけなんです。
.net自体があまりに重かったらだれも使ってくれないですよね。
>>770
> .netは軽いですか?
軽いです。
>>770
> .net自体があまりに重かったらだれも使ってくれないですよね。
使われるかどうかはアプリ次第です。
773デフォルトの名無しさん:03/04/05 05:31
かなり初歩的なのですが
LISTVIEWにて水平スクロールするように設定する方法ってありますか?
ありそうなんだけど見つからない・・・
>>771-772
いくら何でも惨い嘘だ。目的が、
> 職場のみんなに仕事で使えるアプリを作って配布したいだけなんです。
なんだから、.NET はダメだろ。
775773:03/04/05 06:34
フォームの拡大縮小に合わせてListViewの大きさを変えたいと思い
フォームリサイズイベントに
ListView1.Height = Form1.ScaleHeight
ListView1.Width = Form1.ScaleWidth
と、入力するとスクロールバーが表示されません。
これをしなければ大丈夫なのですが・・・
これって仕様ですか?
776773:03/04/05 06:35
あ・・・今気づいたのですが、ただ単に隠れていただけでした
ListView1.Height = Form1.ScaleHeight -100
ListView1.Width = Form1.ScaleWidth -100
とすれば見れました・・・・・・TT
>>774
頭おかしいんじゃない? 開発言語で使うかどうか決める奴なんていないよ。
>>777
これがVB厨って生き物ですか.....
>>778
頭がおかしい人には何も言っても話になりませんな。
どうせまともにレスする気無いでしょ。
>>779
自分のことを良く理解してますね。
>>780
なに? まともにレスする気あるの? じゃあ、まともにレスしてよ。
>>781
正直、VB厨に説明するのはめんどくさい。
普通の人相手なら、配布しづらいの一言で済む話。
783739:03/04/05 09:33
自己レスです。
report1.Sections("section1").Controls("Image1").Picture = LoadPicture(imgPath)

は出来ない見たいです。
DataReportって中途半端に出来てて、Microsoftなんでこんなの作ったんだろう
って改めて思いました。
784デフォルトの名無しさん:03/04/05 11:10
Win98のAPIだけで動くプログラムは、VB.NETでは作れないとなると、どの開発ツールで作るのがおすすめ?
厨なのでできるだけ初心者向きなのが良いです。
>>784
予算は?
>784
HSPならタダ。Borland C++ Compilerもタダ。
http://www.onionsoft.net/hsp/
http://www.borland.co.jp/cppbuilder/freecompiler/
>>784
オレはPealをやったことがある
788デフォルトの名無しさん:03/04/05 16:04
VB.NETの勉強の仕方について質問させてください。
VB.NETの本を2冊程買ってどんなコントロールがあるか知り、文法をいちおう押さえた段階です。
ですがここでつまってしまい、特にソフトを作れるわけでもありません。
ここからどう勉強すればいいでしょうか?
教えて下さい。
789デフォルトの名無しさん:03/04/05 16:33
790デフォルトの名無しさん:03/04/05 17:28
ListViewをlvwReportで表みたいに使っています。
これの強調したい行の背景色を変えたいのですが、どこのプロパティを弄ったらいいですか。
文字の色なら
Listview.ListItems(index).ForeColor = ほにゃらら
で出来たんですが。
>>782
ふっ。たかだか数十Mのライブラリ。ソフトウェア系の会社ならCDの一つぐらいあるだろうし、
中級クラスの回線があればダウンロードもあっという間だろうし、すでにはいっているかもしれんだろ。
社内配布用ならライブラリごとアプリにつけてCDで渡せばいいしLANでも十分問題ない。

自分の作ったソフトが使われない原因をライブラリのせいにするなんて笑止千万。
なにかを動かすのに他のライブラリをインストールするのが嫌ならLinuxなんて使ってられないな。

物事にはすべて利点と欠点がある。そのバランスで決めるもんだ。
欠点だけを見てやめるなんて素人もいいとこ。
事故が怖いから原子力発電所を無くしましょうといっているのと同じようなもの。
欠点があるのは当然なんだから、最終的に使うかどうかはどれだけの利点が
あるかで決まるってのが分からない?

まともに話す気があるのならVB厨と言った。他人をけなしているような言葉を
使わないでめんどくさいなどといわずにちゃんと自分の考えを説明することだ。
所詮、お前はVBとMSが嫌いなだけなんだよ。技術力など無い。ただのガキ。
>>788
【老若】VB.net質問スレ【男女】 (Part2)
http://pc2.2ch.net/test/read.cgi/tech/1043629429/
793788:03/04/05 19:36
>>792
ありがd。
とりあえずそのスレのリンクを読みあさってみます。
VBやるならPerlやったほうがまし
795766=770=784:03/04/05 19:46
>>785-787
タダだと難しいイメージがありますね。
初心者にサービス満点なツールなら有料でもいいです。
でも予算は一ヶ月分の小遣い3万円までで抑えたいとこですね。
VBなら初心者御用達って感じだったので最新の.netを検討してみた次第。
VBでも旧バージョンならWin98のAPIのみで動くソフト作れます?
でもせっかく教えていただいたのでHSPやBorlandC++コンパイラやPerlも試してみます。
レスありがとうございました。
>>795
> VBでも旧バージョンならWin98のAPIのみで動くソフト作れます?

少なくともVBのランタイムライブラリが必用になるけど。そういう意味じゃない?
797デフォルトの名無しさん:03/04/05 22:24
例えばラベルがオブジェクト配列になっていて
indexが 0〜nまであったとします。
ここでindexが1〜nまでのラベルをunloadしたいのですが
どんな方法がありますか?

VB6(SP5)です。
>>797
For Index = 1 to n
コマンドボタンクリックで、外付けのUSB CDドライブを
「取り外しても安全な状態にする」ことは出来ますか?
出来そうなら手法を教えて下さい。
VBでは無理っすか?
このスレにたびたび出てくるデータレポートはVB6.0の機能の一部なのでしょうか?
一回も使ったことないのですが、話題に出るので興味があります。
>>800

> VB6.0の機能の一部なのでしょうか?

その通り。
ただし、製品添付の「おまけ」程度の位置付けなので、機能は貧弱。
学校の課題ならともかく、売りモノを作るにはどうかと思う。
802デフォルトの名無しさん:03/04/06 11:45
>>797
(註)デザイン時に作ったControlはUnloadできないはず
動的にLoadしたControlだけUnloadできる
>>783
Set が抜けてる
804800:03/04/06 15:14
>>801
ありがとうございます。
身近にあったとはうれしいです。
805デフォルトの名無しさん:03/04/07 11:33
リストボックスに登録されているデータの
入れ替えをしたいのですがどうしたらいでしょうか。
例えば上から10番目と11番目のデータを入れ替えたりしたいです。
>>805
Dim str As String
str = List1.List(9)
List1.List(9) = List1.List(10)
List1.List(10) = str
807デフォルトの名無しさん:03/04/07 11:39
FileListBoxに表示するときに、拡張子って非表示にできますか?
いい方法があったら教えてください。
お願いします。 m(__)m

>>807
拡張子が表示されなかったら同じ名前がでてくるぞ。
>>807
必要性がわからん。
たぶん釣り
>>810
マジ!?


あああ!父さんにも釣られたことないのに!
812デフォルトの名無しさん:03/04/07 11:53
>>807
>>809
フォルダの中のテキストの拡張子だけを表示させたいだけなんです。
file1.pattern = "*.txt"
で、".txt"だけ取りたいんです。。。
>>807では
>拡張子って非表示にできますか
>>812では
>拡張子だけを表示させたいだけ

どっちやねん。
>>813
txtだけに絞り込んで拡張子非表示で表示させたいんでしょ?

>>812
ListBoxで作るしかないんじゃない? もしかしたらサブクラス化でも
できるかもしれないけど。
>>813 は言語理解力に異常が見られますので気をつけてください。
816デフォルトの名無しさん:03/04/07 12:06
>>813
間違えました。
テキストのファイルだけを表示させたいので、
そのテキストのファイル名だけ表示させたくて、
拡張子をなくしたいんです。
言ってる事がわかんなかったらごめんなさい。
>815

/(・。・) 了解!
>>816
>>814 が言ってるように、リストボックスを使うのがいいと思うよ。
>>806

strは予約語(関数名)だから、識別子には使えないはずだが?

# 動作確認せずに書いたのが見え見え(w
>>819
はぁ。釣りもここまで来ると情けない。
予約語と関数名は別物。動かしてみれば分かるのだが、
>>805が礼の一つも返さないことから自分でネタふって自己レスしてるのだろう。
やはり釣りか…。
お釣りは要りません、取っとい?% (qm2ュださい。
文字化けは要りません、死んでください。
824デフォルトの名無しさん:03/04/07 13:05
以前に Left(strHoge & Space(40), 40) というやり方で桁数を
そろえる方法を教わったのですが、strHoge に全角文字があると
桁がずれてしまいます。これはなんとかならないでしょうか?
>>824
全角半角の判定を行えばよい。

参考:
http://www.bcap.co.jp/hanafusa/VBHLP/mozi_cut.htm
こんな顔かい?

Hoge = StrConv(LeftB(StrConv(AString & Space(Width), vbFromUnicode), Width), vbUnicode)
多分こう

Hoge = "ぬるぽ"
828デフォルトの名無しさん:03/04/07 13:39
リストボックスからデータを削除する方法を教えてください。
現在は以下のようにしていますが、これだと空の行が残ってしまうのです。
よろしくお願いいたします。
For i = .ListIndex To .ListCount - 1
    .List(i) = .List(i + 1)
Next i

829828:03/04/07 13:41
こんなことしなくてもRemoveItemで消せるんですね。失礼しました。
830デフォルトの名無しさん:03/04/07 14:33
>>818
>>814
ありがとう♪
FileListBoxからListBoxに拡張子無しで移す事にしました。
参考になりました、ありがとうございます^^

Dim i As Integer
Dim strlen as Integer
File1.pattern = "*.txt"
For i = 0 To File1.ListCount - 1
strlen = Len(File1.List(i)) - 4
List1.AddItem Left(File1.List(i),strlen)
Next
っていう感じにちなみになりました。

本当にありがとうございました♪
>>827
ガッ
832デフォルトの名無しさん:03/04/08 13:36
null
間違ったと思ったら
すぐにクリーンクリーンインストーる。
だな!
仕事で初めてVB6やらされてる、へたれPGです。
フォームに Controls.add で動的にコントロールを追加したあと、
それを削除することは出来るのでしょうか?
フォームを閉じるまで削除できないのでしょうか。
unload
>>835
ありがとうございます。ああ、確かに、Unloadでコントロールが削除できるようなこと書いてありました。
フォーム専用かと思い込んでいました。
でも、以下のように書いたら
"このオブジェクトは、ロードまたはアンロードすることはできません。"361
です。なにか、大きく間違っていますでしょうか。

Private Sub Command1_Click()
Dim tmpLabel As Label
Set tmpLabel = Me.Controls.Add("VB.Label", "tmpLabelName")
tmpLabel.Visible = True
tmpLabel.Caption = "HOGE"
Err
Unload tmpLabel
End Sub
837デフォルトの名無しさん:03/04/08 16:17
FormにFileListBoxがあります。このFormにファイルをD&Dして、FileListBoxにD&Dしたファイルを選択した状態にしたいのですが、どうすればできるのでしょうか?

D&Dしたファイル名、パスまでは何とか取得できたのですが・・・。
838837:03/04/08 16:25
↑あ、WinXP+VB6SP5の環境でやってます。
nullポ
>>836
コントロール配列の先頭以外の要素しかUnloadできないっぽいので
あきらめました
>>837
SendMessage?
>>836 >>840
Me.Controls.Remove tmpLabel
Add⇔Removeでやってみたら成功
>>842
わー感謝
Removeかぁ・・・
あー、検索したらAddのドキュメントの最後に書いてあっる・・・。
844デフォルトの名無しさん:03/04/08 18:08
>>837
.Selected?
>>842
でも、ごちゃごちゃ、描画中だと、なぜか
"現在アンロードできません。"365
あー、VBって難しいなぁ・・・。
>>839
Gaっ
847デフォルトの名無しさん:03/04/08 23:38
listview同士でデータをやりとりする場合
サブアイテムも含めて送る簡単な方法ないですか?

選択されている項目をコピーする

j = 1
For i = 1 To ListViewDL.ListItems.Count
  If ListViewDL.ListItems(i).Selected Then
    Form3.ListViewBuff.ListItems.Add() = ListViewDL.ListItems(i)
    Form3.ListViewBuff.ListItems(j).SubItems(1) = ListViewDL.ListItems(i).SubItems(1)
    Form3.ListViewBuff.ListItems(j).SubItems(2) = ListViewDL.ListItems(i).SubItems(2)            
                ・
                ・
                 ・
                ・
  End If
Next
教えて君スマソ。
VB6.0でCRYSTL32.OCXの登録が出来ません
(HRESULT - 2147023739)と出る場合を教えてください。
ちなみに、VB4.0で作ったモジュールを今まで動かして
いたPCでVB6.0で作ったモジュールを動かそうとしています…。
>>848
あなたは どのような事をして 登録できないと 判断したのでしょうか
>>847
いや別にそれらを関数化しとけば無問題だろ。
処理速度が気になるっていう話なら別だけど。
851デフォルトの名無しさん:03/04/09 10:12
>>845
とっつきやすいけど、はまると何も出来なくなるね。
852デフォルトの名無しさん:03/04/09 10:29
よろしくです。
VBA(Excel2000)で、ひとつのブックの特定の列のセルのデータを連続して読み、
同一のデータごとに別のブックへと分割し、同じ場所へ保存する処理を行っています。
別のルーチンでいくつかのブックに分割が終わったあと、Workbooks.Countで生成されたブック数を調べ、
For 〜 Next文でループさせて保存させています。
保存するファイル名は、分割の基準となるセルの値をそのままつけています。

ですが、保存先に同一のファイル名があると、保存時にエラーになります(あたりまえですが)。
で、その場合は "セルの値(2)"とつけたいのですが、

例えば"セルの値(2)"がある場合は"セルの値(3)"、"セルの値(3)"がある場合は"セルの値(4)"、
というふうにファイル名をつけて保存するにはどうしたらいいのでしょうか。
エラートラップを使うのかな?(エラーナンバーで1024を吐いていたと思う)
とも思ったのですが、エラーオブジェクトの使い方もよく分かっていないので分かりません。
御教授お願いします。

コード(簡単にしてあります)
bookname as String
bookindex As Integer
boookindex=Workbooks.Count

For i =2 to bookindex
'ブックの特定のセルを読み、保存するファイル名を取得する
bookname=get_bookname(i)

Workbooks(i).SaveAs Filename:="C:\test\" & bookname, FileFormat:=xlExcel9795
Debug.Print "C:\test\" & bookname & "に保存"

Next i
853852:03/04/09 10:33
変数の綴り間違ってる上に、インデントも効いてない・・・・
スマソ。
dirでヘルプ見れ。
855デフォルトの名無しさん:03/04/09 11:26
>>850
レスサンクス、そうですか。見た目がブサイクに思えたので
もっと簡略化できると思ってました

>>851
C#も少しやってるのですが、簡単なことするなら
VBの方が圧倒的にわかりやすくて、作業も早いですね
でも、より複雑なことをしようとしたり、ファイル操作などやろうと
するもんならいきなり壁にぶち当たります
先々考えるとやっぱC言語の方がよさげなきがします
Win98SE + Office2000 の環境にて、Excelを使用して帳票出力を
行いたいのですが、
1.Rangeプロパティを参照しようとするところで、オートメーションエラーとなる。
2.そもそも、Excel.Applicationオブジェクトが生成できているか調べようとして、ブレーク入れて、ウォッチリストで見ようとしても、マウスカーソルをExcel.ApplicationオブジェクトにあわせただけでVBが落ちる。

という現象にあい、どう対処してよいかわかりません。試したことは、
以下の組み合わせで同様のプログラムを試しました。
Win98SE + Office97  ×
Win98SE + Ofiice2000 SR-1 ×
Win98SE + Ofiice2000 SP2 ×
Win98SE + Ofiice2000 SP3 ×
Win98SE + OfficeXP ○
上手くいったのは、OfficeXPとの組み合わせだけでした。
また、Excel.Applicationオブジェクトの作成方法として、

1.参照設定した上でNew Excel.Application
2.参照設定した上で、CreateObject
3.参照設定せずにCreateObject

と試してみましたが、いずれも同じ現象となり、オートメーションエラー
となってしまいます。
また、Win98SE にDCOM98をいれても現象は変わりませんでした。
どなたか、アドバイスをいただけないでしょうか、よろしくお願いします。

以下が、いろんな環境で試すときに使用したコードです。
Dim obj_Excel As Excel.Application
Dim obj_Book As Excel.Workbook

Set obj_Excel = New Excel.Application
Set obj_Book = obj_Excel.Workbooks.Open( "C:\hoge\Sample.xls")
obj_Book.ActiveSheet.Range("A1").Select
857かおりん祭り:03/04/09 11:30
http://www.saitama.gasuki.com/kaorin/

  〜oノノハヽo〜
     ( ^▽^)/⌒\                       , −-
     ((ニ[二=(  こんなのがございま−−==≡≡す♪  ))
   /∧=:||  \_/                       `ー‐‐'
     じ/___/
>>855
まぁ、問題になるほどひどい状況なんてそうそうあるわけじゃないし、
部分的にC言語を使うってこともできるから別に良いんじゃないかい?

あとリストビューはSubItemsを羅列するのがブサイクって言ってるのかい?
ループ使えば良いよ。こういうアルゴリズム的なことは言語が変わっても同じだから。
それは
859デフォルトの名無しさん:03/04/09 11:59
ユーザーコントロールの位置とサイズを 16383 ピクセルより大きくするには?
860デフォルトの名無しさん:03/04/09 12:00
何が出来るとVB上級者とみなされますか?
出来る人か出来ない人かの判断はどうしていますか?
VBでオブジェクト指向「指向」プログラミング。
しこーしこーワラタ。
オブジェクト指向ではない。(w
>>860
VB以外のツールでも開発ができる人。
そういう人ならVBでもスマートなプロミングができる。
864837:03/04/09 12:58
>>844
すんません、sendmessageでやってみたのですが、listindexが必ず0になってしまうのですが・・・。
これって、sendmmessageでD&Dしたファイルのindexをとって、filelistbox内にそのindexを選択させるという方法ですよね?

もしかしてまったく的外れですか?
865かおりん祭り:03/04/09 13:06
http://www.saitama.gasuki.com/kaorin/

  〜oノノハヽo〜
     ( ^▽^)/⌒\                       , −-
     ((ニ[二=(  こんなのがございま−−==≡≡す♪  ))
   /∧=:||  \_/                       `ー‐‐'
     じ/___/
>>862
オブジェクト指向ではないのは言語のほうだね。
プログラミング自体はどんな言語でも出来る。
867866:03/04/09 13:17
ちょっと修正
×プログラミング自体はどんな言語でも出来る。
○オブジェクト指向プログラミング自体はどんな言語でも出来る。
868デフォルトの名無しさん:03/04/09 13:21
>>860
コピペをしない人(わら
>>868 あんたレベル低すぎ(わら
>>860

与えられた要件に対して、「自分の実力で可能な実装」ではなく、
「要件に対する最適な実装」ができる人。
(結果として、VBでは不向きだから、VBを選択しない、という選択肢もアリ)


>>868
テンプレートを元にプロトタイプを起こすときのコピペはありでは?
(継承の手段としてのコピペが常態化しているようだと問題だが・・・)
871デフォルトの名無しさん:03/04/09 13:46
API使ったテキストボックスから行指定して文字列を取得する関数。
これであってる?

Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hWnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long
Private Declare Sub CopyMemory Lib "KERNEL32" Alias "RtlMoveMemory" (Destination As Any, Source As Any, ByVal Length As Long)
Private Const EM_GETLINE = &HC4
Private Const EM_LINEINDEX = &HBB
Private Const EM_LINELENGTH = &HC1
'VBでAPIを使ってEM_GETLINEで指定した行の文字列を取得するサンプル
Public Function GetLine(ByVal handle As Long, ByVal Index As Long) As String

  Dim LineText() As Byte
  Dim size As Long
  Dim pos As Long

  pos = SendMessage(handle, EM_LINEINDEX, Index, 0)
  size = SendMessage(handle, EM_LINELENGTH, pos, 0)
  If size = 0 Then
    GetLine = ""
  Else
    ReDim LineText((size - 1) + 1) '終端文字用に+1バイト
    CopyMemory LineText(0), size, 2
    size = SendMessage(handle, EM_GETLINE, Index, LineText(0))
    GetLine = StrConv(LeftB(LineText, size), vbUnicode)
  End If

End Function
872デフォルトの名無しさん:03/04/09 13:46
いやね、なんかときどき落ちてたのよ。メモリアクセスエラーで。
それも必ずじゃなくたまーに。数時間に一回くらい。
でもそれはバグがあったからだろうし、これ以外のとこかもしれない。
で、現在テスト中なんだが、時間かかるし、サンプル+あってるかな〜と思って。

  バグありコード(CopyMemoryの指定サイズ間違い。文字数0の時不正なアドレスに書き込み。)
  pos = SendMessage(hwnd, EM_LINEINDEX, Index, 0)
  size = SendMessage(hwnd, EM_LINELENGTH, pos, 0)
  ReDim LineText(size + 1)
  CopyMemory LineText(0), size, 4
  size = SendMessage(hwnd, EM_GETLINE, Index, LineText(0))
  GetLine = StrConv(LeftB(LineText, size), vbUnicode)

やっぱsize=0→CopyMemoryが原因でいいんかなぁ。

しかしEM_GETLINEって最大サイズを出力バッファで指定するなんて変わってるね。
おかげで、VBに限らずそこまでちゃんとやってるサンプルが少なくて困った。
873868:03/04/09 14:05
>>870
いやー、単純にDBにアクセスするだけのアプリで、「あとはコピペするだけです」
って平気で報告してくる年上の部下が目の前にいるもんで。
tabstripの各箇所の色を変更したいのですが
やり方を教えてください
VBで変数のアドレスを取得する方法ありますでしょうか。
addressofは関数のアドレスを取得するもののようで・・・。
876デフォルトの名無しさん:03/04/09 15:59
>>874
普通はできませんよね。 API で強制的に描画するしかないかもしれません。

>>875
それは BASIC ではできません。 メモリを破壊しないためにアドレス取得はできません。
>876

そうですか・・・。実は他アプリのリストビューの文字列を取得しようとsendmessageでLVM_GETITEMしているのですが、
LVITEM構造体に帰ってくる文字列を入れるための変数のアドレスを指定しないといけないようです。
VBではこのAPIは使用できないというとこになってしまうのでしょうか。
VarPtr ObjPtr StrPtr だっけか
879デフォルトの名無しさん:03/04/09 16:05
>>877
文字列なら、変数名を渡してあげるだけで、アドレスが渡りますよ。
>878
調べてみます
>879

ためしてみます
ありがとうございます
>878

調べたところ最適なページが見つかりました。
http://www02.so-net.ne.jp/~handa/deadend/c_vb.html
ほかにも有用な情報も載ってグッドですた。

>879

すいませんよくわかりませんでした。
変数をわたすのではなくて変数名を渡すというのはどうすればいいのか・・・。
もしかしてCのchar配列の事をことをいっておられるのでしょうか?
何がしたいのか俺にゃわからんが
http://www.google.co.jp/search?sourceid=navclient&hl=ja&q=sendmessage+LVM%5FGETITEM+vb

1件目見てみ。
>>881
LPTSTR pszText;
↑たぶんこれにアドレスを渡したいと思っているのではないかと思いますが、
String 型で定義された strBuffer のアドレスを渡したいなら
pszText = strBuffer
とします。 直接変数名を直接代入します。
もちろん、 pszText は LPTSTR 型ですが、 VB では String 型に定義します。
これでできない場合は、わかりません。 ごめんなさい... (--;
文字列型をDeclareしたプロシージャに渡すとByVal渡しの時に文字列の先頭アドレスを渡す っと。
MSDNとかDLLの作り方とかで検索したら情報がひっかかると思うよ。

今回のケースでは使えないと思うけどね。
885883:03/04/09 16:30
>>881
その URL で結構です。 それで実現できそうです。
その際、 pszText は Long 型ですね。
>>876
うそつけ

>>877
結構めんどいよ

>>878
通常はそれでおっけ。

>>879
通常はそれでおっけ。

>>880
がんがれ

>>881
いいね、そのサイト

>>882
一件目の奴では、外部アプリには使えない

>>883
String で定義すると、動的に確保できない

>>885
そうなる。VirtualAllocEx()をお忘れなく
>>886
氏ね
888859:03/04/09 16:50
WM_WINDOWPOSCHANGING を拾って値を変えるだけじゃだめなようだ
WM_WINDOWPOSCHANGED とかいろいろからむようだがよくわからん
頼むよ! >>859
ものすごく初歩の質問ですが、
Format("3D00072")ってのをLabelに書き出すと
「3E+72」ってなってしまうのは何でですか?
指数を表すのは「E」でわからなくはないのですが「D」は??
>>889
MSDN
データ型から
| メモ 浮動小数点数の値は、mmmEeee または mmmDeee と表すことができます。
| mmm は仮数を表し、eee は指数 (10 の乗数) を表します。
以下略
891877:03/04/09 18:11
みなさまありがとうございます。しかし苦戦中でうまくうごきません・・・。以下ソース一部
Dim str As String * 128
hWnd = 他アプリのリストビューハンドル
Pitem.iItem = 0
Pitem.iSubItem = 1
Pitem.mask = LVIF_TEXT
Pitem.pszText = StrPtr(str)
Pitem.cchTextMax = Len(str)
Form1.Cls
Form1.Print SendMessage(hWnd, LVM_GETITEM, 0, Pitem)
DoEvents
Form1.Print str

pszText はlong型です。sendmessageは0を返してきて、失敗しているようです。
strの中は・・・・・・・・・・・・・・・・・・・・・・・で埋まっていました。
ちなみにLVIF_TEXTをLVIF_STATEにすると1を返してくるので、ウィンドウハンドルが間違ってることはないようです。

virtualallocex()を調べると、やりたいことに近いURLが見つかったのですが・・VCで書かれてるのが・・・
http://techtips.belution.com/ja/vc/0001/

virtualallocex()を使ってないから失敗でしょうか?
>>891
[email protected] の過去ログ探してみ、そのものずばりが見つかる。
893877:03/04/09 19:24
>892

むぅそうですか。調べてみます。ありがとうございました
もうこのスレで最後かなw
次スレやるのかい?w
895889:03/04/10 09:44
>890
MSDNは調べたのですが、調べたりなかったようです。
ありがとうございました。
>894

どうしてあなたは必死なのですか
(Abs(1234567.45) / (10 ^ -1)) + 0.5 = 12345675
Int((Abs(1234567.45) / (10 ^ -1)) + 0.5) = 12345674

これ何、これ。

浮動小数点値で、一行目の12345675は、
限りなく12345675に近い、12345674.99999……ってことか?
これ、別にプログラム言語的にはOKの現象なのか?
そりゃあ、そうだろうって感じなのか?
えー。
>897

頭ダイジョウブ?
しんぐぉー&だぶぉー
クラスモジュールのプロパティを clsHoge.Item.Name のような階層構造で
持たせることは出来ますか?
コレクションを使ったりしてみたが挫折しました。
クラス自体を階層化しないと駄目なのかな?
>>900
クラスの階層化というかわからないけどオブジェクトをプロパティに持つクラスを作る。
ユーザ定義型だとPublicにできないし。
例えば
Property Get RecordSource() As ADO.RecordSet
みたいな感じか?
903デフォルトの名無しさん:03/04/10 12:54
>>900
そのとおりです。
904877:03/04/10 13:14
http://forums.belution.com/ja/vc/000/041/77.shtml
http://techtips.belution.com/ja/vc/0001/
この2つみてるとわかってきた。できそうだ。
 文字列変数の四則符号と数字を組み合わせて、
通常の計算をするのになにかうまい方法はないですか
plus="+"
a="2",b="3"
kai(数変数(この場合は5))= a plus b …??
>>905
WSH?
アフォやなぁ。。
>>905
ScriptControlでできます。
SingletonパターンをVBでやる方法教えてくらはい
>907

そうだよ
アッフォだよ〜
912877:03/04/10 15:23
トレースするとこのプロシジャーのend subでDLLが正しく呼び出せませんといわれた。DLLに渡す値の型がまちがっているということらしいが、苦悩(一部略)
Sub Main()
Dim hwnd As Long '子ウィンドウ
Dim Pitem As LVITEM
Dim lpMem As Long
Dim lngProcId As Long
Dim lngApiRet As Long
Dim hProcess As Long
Dim pSysShared As Long
Dim dwSize As Long
Dim dwNumberOfBytes As Long '書き込まれたバイト数
Dim pLocalShared As Long
pLocalShared = VarPtr(Pitem)
dwSize = 128
lpMem = VirtualAlloc(ByVal 0, dwSize, &H1000, &H4 Or &H200)
hwnd = FindWindowEx(hwndM, 0, vbNullString, "List1")
lngApiRet = GetWindowThreadProcessId(hwnd, lngProcId)
hProcess = OpenProcess(PROCESS_VM_OPERATION Or PROCESS_VM_READ Or PROCESS_VM_WRITE, False, lngProcId)
pSysShared = VirtualAllocEx(hProcess, vbNull, dwSize, MEM_RESERVE Or MEM_COMMIT, PAGE_READWRITE)
Pitem.iItem = 0
Pitem.iSubItem = 0
Pitem.mask = LVIF_TEXT
Pitem.pszText = pSysShared + 1
Pitem.cchTextMax = dwSize
WriteProcessMemory hProcess, pSysShared, pLocalShared, dwSize, dwNumberOfBytes
ReadProcessMemory hProcess, pSysShared, pLocalShared, dwSize, dwNumberOfBytes
Form1.Print pLocalShared + 1 <−−−−−−−−−−−−−−−−−−−−−−−−−−−−これは多分間違ってる・・・
VirtualFree pLocalShared, 0, MEM_RELEASE
VirtualFreeEx hProcess, pSysShared, 0, MEM_RELEASE
CloseHandle hProcess
End Sub
913909:03/04/10 16:22
>>911
VB.NETばっかりですけど。

>>912
宣言がなきゃ調べる気すらおきん。とりあえず、デバッグ実行で、どこのAPIがエラーに
なってるのか確認しなはれ。あと、戻り値もきちんと検査したほうがいいよ。
915911:03/04/10 16:33
>>913
そうなの?
916877:03/04/10 16:40
>914

F8押して実行した結果がend subでエラーが起きたということです。デバッグを選ぶと、
mainを呼び出した行が選択されます。キャンセルを押すとVCが立ち上がって、
VB6.EXEのOLEAUT32.dllのとある行?を示します。

したがってどのAPIがエラーになってるのかわからず・・・。
>>913
そう?検索したら見つかったけど?
ttp://www.ncfreak.com/magazine/No.003/vb_class.html
918デフォルトの名無しさん:03/04/10 16:47
くだらない(と思われる)質問で申し訳ないのですが…

Excel.Applicationを利用してExcelシートよりデータを抜き出して表示させているのですが、
Excelのセル内で改行されているセルのデータを抜き出すと、テキストボックス等に表示
させた際に改行されて表示されます。

この改行をコード内で削除したいのですが、何か方法はありますでしょうか?
セルのデータは、一度変数に読み込んでからテキストボックスに表示させています。

どなたかお知恵をお貸しください。お願いします!
>>918
こんなもんしか思いつかんかったが、
OutTxt = Join(Split(InTxt, vbCrLf), "")
>>919
replaceぐらい思いつけ。
921U ◆CZtFsGiu0c :03/04/10 17:53
>>919
ちなみにセル内の改行コードはLFだよ。
922918:03/04/10 18:07
>>919さん、>>920さん、Uさん
レス有難うございます。

>>919さんの方法と>>920さんの『replace』を試しましたが、上手く行きません。

あと、私の説明が一部間違っており、実際は
『テキストボックスには1行で表示されるのに、コピペもしくはファイル保存すると
複数行になってしまう』が現状です。
説明不足がありまして申し訳ございません。

なにか良い方法があれば再度お知恵をお貸しください。
よろしくお願いします。
>『replace』を試しましたが、上手く行きません。
多分、嘘。
誰かが答え書いてくれるの待ってると思われ。
>>923
ちょっと試してみた。特に問題なく動いている。
>>916
面倒だから、検証 & 説明はしない。ちょっと説明してわかるレベルでもなさそうだし。
VB-MLの過去ログ探せ、って言っただろ?

[VB-ML:30999] Re: ご報告: VirtualAllocを利用したListViewの操作

がそのものズバリだってばよ。
926918:03/04/10 18:52
>>924さん

すいません、方法を教えていただけないでしょうか?

Set AppExcel = New Excel.Application
hoge = AppExcel.Cells(1,1)
Debug.Print Replace(hoge, vbCrLf, "", , , vbTextCompare)

と言う感じでやったのですが上手く行きません。
また、VbCrLfをLFに変更してもダメでした…
927877:03/04/10 19:02
>925

そのとおりでした・・・。
ちなみに最初に教えていただいたあと調べたときに、この過去ログ開いて見ていたようです。
ところが同時にブラウザ広げてあちこち調べてたので、他サイトの記述とごっちゃになって、
VB-MLに書いてることはそのものずばりじゃないと勘違いしていたようです。
タイトルまで教えていただいてすごくたすかりました。
>>926
>>921さんの意見は無視でつか。
929918:03/04/10 19:08
>>928さん

いや、>>926にも書いてあるようにLFに変えてもダメだったんです…
それともやり方が間違っているのでしょうか?

まさかとは思うが…vbLf。
931918:03/04/10 19:33
>>930さん

出来ました!その『まさか』でした!
vbLfではなく、LFで指定していました…すいません…
おかげで先に進めそうです。
本当に有難うございました!!
>>931
Option Explicit しとけ。
933918:03/04/10 19:53
>>932さん

はい、そうします…(早速記述を追加しておきました。)
ご助言有難うございます!
>>933 自動でつくように設定できるよ。
このすれもたまにはまともに機能することがあるんだな。
バカな荒らしや煽り厨がこなければな。
休みの日は回答したいだけの知識ないヤシがタムロするからダメポ。
938デフォルトの名無しさん:03/04/11 00:45
質問があります。

VB6で、MSHFlexGridやADOオブジェクトなどを使って
とあるツールを作りました。
で、これを他のマシンにインストールしたいのですが、
VB6のディストリビューションウィザードを使うと
ツール本体数百kbyteに対して、13MB以上のcabファイルができてしまいます。
事情によりCDが使えないため、FDDでのインストールは現実的ではありません。
そこで、動作に必要なDLL,OCXのみを手動で組み込むように
したいのですが、プロジェクトの参照設定やコンポーネントでチェックされているものを
全てそろえると、余計なものまで入れてしまう気がしてなりません。

あるモジュールについて動作に必要十分なDLL,OCXを知るには
どうしたらよいでしょうか?
>>938
Visual Studio Installerを使う。
Pro版以上の正規ユーザーならMSから配布されてるはずだが。。。
単体製品ユーザーは知らんw
今でもMSDNでDLできるのかも知れないw
っていうか
VBのランタイム含めてんじゃないの?
今時CDが使えない環境なんてあるのかぁ。
ネットワーク経由じゃダメか?・・・ってCDが無いくらいだからそれも無理ポ?
942デフォルトの名無しさん:03/04/11 09:25
>>941
>今時CDが使えない環境なんてあるのかぁ。
逆にセキュリティーにうるさいところ(役所とかも)では、ポリシーでそういう
ふうに決まってるところもあるね。利用できないんじゃなく、利用させないって
いうことでしょう。
DOSの終わりの頃のゲームでは
インストールディスク17枚とかあったなぁ。
>>941
シリアルポートをクロスケーブルでつないで一晩かけるとか。
>>944
HDDをつなげかえるとか
デフォ設定から変に弄って「動かない!」とか悩むより
FD10枚でインストーラ作った方が安全だと思うが。
パラレル接続だと4Mbpsくらい出なかったっけ?
セキュリティにうるさいならフロッピーだけ使わすんじゃなくて、フロッピーも
取り外して、必要なときだけ監視の元で使用させるべきじゃないんだろうか。
つーか、データ盗難ならCDよりフロッピーの方が危険性高いのだが。
ウイルスはフロッピーからでも感染するし。
セキュリティの問題以外にも
工場用のPC(FC?)だとCD-ROMが付いてない事もあるね。
USBポートつかえ。
バイナリダンプして手で入力
本体だけ配布してユーザーからの罵声を解析。これ最強。
FlexGridのセル内文字の
特定の箇所の文字だけ色をつけることは出来ますでしょうか?
>>954
そうですか、わかりました。ありがとうございます
qsortを使いたいのですが、VB6ではどうやるのでしょうか?
 3重のfor文に配列の変数をそれぞれ割りあてましたが、
「for で指定された変数は既に使用されています」とでて、
計算できませんでした。同じ構文に変数が直接関係したら、
配列の変数は使えないのですか
クリスタルレポートを使った帳票印刷をしたいのですが
Win98で出力したものとWin2000で出力したものとでは
微妙に印刷位置に違いが出ます。

簡単に手直しとかできる原因なのでしょうか。
>>958
んなこたない。どっかで本当に使ってんだろ。
>>959
プリンタドライバが違うからじゃないのか。
普通に同じテキストファイルでも双方で打ち出してみて確認しる。
962859:03/04/11 15:07
皆さんお願いします >>859 >>888
963959:03/04/11 15:13
>>961
ありがとうございます。
今から試してみるです。
964デフォルトの名無しさん:03/04/11 15:15
DCount(expr, domain[, criteria])関数の
criteriaは複数の条件を指定できるのでしょうか?
>>965
ヘルプ嫁。
あと、なんでやってみない?
>>966
こわれたらこわいし・・・
968 :03/04/11 15:21
>>966
試しているけど、エラーで落ちる
どうしてエラーの内容を言わない人が多いんだろう
>>969
エラーメッセージが出ないから
971959:03/04/11 15:36
うーん、同じプリンタで同じ文書印刷しても
違うプリンタで同じ文書印刷しても
ズレっぷりは全く一緒ですね・・・
972859:03/04/11 15:39
スマソどうもできるようだ
Left プロパティ他が Move メソッド使わんと更新されんよう
お騒がせしますた
973 :03/04/11 15:46
>>969
エラーの検証を聞いている訳ではないので、
この場合は問題ないのでは…
>>971
意味不明。
結局、OS間のドライバの差ということでよろしいか。
975959:03/04/11 15:57
>>974
あ、それぞれ98と2000で印刷してみてってことですよ。

それで違うんだから、ドライバの差ということみたいです。
お騒がせしました。
976デフォルトの名無しさん:03/04/11 18:24
VB6です。
IEみたいに、MenuもCoolBarに乗せたいのですが、APIなどでポンと乗らないでしょうか。
メニューをCoolBarの上に自作しないと無理なのでしょうか。
M$のテクニカルサポートってすげー親切だな
数年前とは大違いだよ
つーか担当によって差があるんか?
978デフォルトの名無しさん:03/04/11 19:28
VB6です。

雛形になるHTMLなどのファイルを用意して、その中にプログラムで使われている
変数を入れた場合、どうすればその変数を有効にできるでしょうか?
読み込んだファイルを配列に1行ずつ入れるまではいいのですが、配列に読み込んだ
時点でただの文字列になってしまい、変数が変数名のまま出力されちゃうんです。

関数などの名前さえ教えて頂ければ、自分で調べるので教えてください。
979デフォルトの名無しさん:03/04/11 19:33
>>978
以下の意味がわからん
>その中にプログラムで使われている変数を入れた

単純にReplaceすればいいとちゃうんけ
>>978
もう少し具体的に書いてくれ
981978:03/04/11 19:46
どもです
例えばVBのソースで「Hensuu="教えて"」としたとき
HTMLファイルで<TITLE>Hensuu</TITLE>と記述した物を読み込むと
<TITLE>教えて</TITLE>に変換するような方法をお聞きしたいのです。

うまく説明できなくてスマソ
昨日も同じような質問あったなぁ。
983978:03/04/11 19:54
>>982
>>918あたりのやつですか?
早速「Replace」試してみます。
>>978
最低限だったら、Replace(読み込んだデータ,"Hensuu", Hensuu)とすれば
いいんだが、これだと置換前文字列をReplaceで指定しているわけで、
プログラムの変数名が置き換わることじゃなくなる。

だから置換前文字列と置換後文字列を組にした構造体(ユーザ定義型)を
配列にして繰り返した方がいいんじゃないかい?

あと、Replaceだと単純に文字列を変更するだけだから、
たとえばTITLE="タイトル"で<TITLE>TITLE</TITLE>だと
<タイトル>タイトル</タイトル>となってしまうわけで、
これを防ぎたいのなら一工夫することになる。
正規表現(Microsoft VBScript Regular Expressions)や
HTML解析(Microsoft HTML Object Library)なんか利用すれば楽にできるよ。
985978:03/04/11 20:18
>>984
..._〆(゚▽゚*)詳しく教えてくれてどうもです。方法さえ提示してもらえれば
何とか自力でいけると思います。>>894以外の皆さんもありがd
986デフォルトの名無しさん:03/04/12 19:32
次スレどこ?
>>986
よろ。
Excel97 のある原本ファイルがありまして、これを読みこんでデータを打ち込
んだ後保存します。で、この際に原本は上書きするとマズイので毎回「名前を
付けて保存」していますが、読み込んだ際に別のファイル名(例えば日付とか)
を割り当てるようなことは出来るでしょうか?
>>988
じゃ、ヒントだけ。
別途作ったブックAに、
原本をコピーしつつ名前を日付に変える→開く→ブックAを閉じるVBAを組んで
開くときに実行するように仕込む。

答え書くのはたやすいが、勉強にならないから、分からなければ勉強しる。
>>987
うちからじゃ立てられないんだYo-
>>990
馬鹿野郎!
うちからも建てられなかったんだよ、ちくしょう!
992デフォルトの名無しさん:03/04/12 21:18
テンプレート作ってもらえれば立てますよー。

たまにしか来ないんですが、聞きたいことがあるのでなくなってしまうと困るのです(vv;;。
>>992 頼んだ。

(*´д`*)アハァ… VB初心者質問スレ Part24

------------------

VBの質問スレです。
どんな厨房疑問でもやさしく答えます。

  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
  Part15 http://pc3.2ch.net/tech/kako/1032/10327/1032706491.html
  Part16 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://pc2.2ch.net/tech/kako/1041/10418/1041879465.html
  Part21 http://pc2.2ch.net/tech/kako/1044/10440/1044028945.html
  Part22 http://pc2.2ch.net/test/read.cgi/tech/1046354784/ (HTML化待ち)
  Part23 http://pc2.2ch.net/test/read.cgi/tech/1047743187/

VB.net関連スレ
【老若】VB.net質問スレ【男女】 (Part2)
http://pc2.2ch.net/test/read.cgi/tech/1043629429/

心得
壱.質問する前に過去ログにも目を通してみる。
弐.質問する前に MSDN などで調べてみる。
参.VBScript もこのスレでOK。
四.インストーラーなどの質問もOK。
五.下ネタもたまにならOK。
994デフォルトの名無しさん:03/04/12 21:39
任務完了しますた/(-_-)
http://pc2.2ch.net/test/read.cgi/tech/1050151126/
>>994
ありがとう&乙。


よーし埋めるか。
誰かセントリノAA貼ってくれい。
それでは最後に、
「あなたにとって、VBとは」
997デフォルトの名無しさん:03/04/12 21:46
        まもなくここは 乂1000取り合戦場乂 となります。

      \∧_ヘ     / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
 ,,、,、,,, / \〇ノゝ∩ < 1000取り合戦、いくぞゴルァ!!       ,,、,、,,,
    /三√ ゚Д゚) /   \____________  ,,、,、,,,
     /三/| ゚U゚|\      ,,、,、,,,                       ,,、,、,,,
 ,,、,、,,, U (:::::::::::)  ,,、,、,,,         \オーーーーーーーッ!!/
      //三/|三|\     ∧_∧∧_∧ ∧_∧∧_∧∧_∧∧_∧
      ∪  ∪       (    )    (     )   (    )    )
 ,,、,、,,,       ,,、,、,,,  ∧_∧∧_∧∧_∧ ∧_∧∧_∧∧_∧∧_∧
      ,,、,、,,,       (    )    (    )    (    )    (    )
998g:03/04/12 21:47
g
1000
1000v(*´д`*)b
10011001
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。