08/04/10 20:49:33
>>173-174
それが、
0x12345678 のような 4桁以上の16進数だと型オーバーで変換が出来ません
MSDNのヘルプ見てもDouble型までが限界のようです
Long型のような8桁くらいの文字(16進)を数値に変換するのにはどうすればいいのかヘルプ見ながら悩んでます
176:デフォルトの名無しさん
08/04/10 20:59:50
>>175
どうせそんなレベルならVB6みたいな終わってる開発環境使う意味ないだろw
まあLongの型指定文字を調べてみることだね。
177:デフォルトの名無しさん
08/04/10 21:00:11
>>175
文字列右から4文字ずつ区切ってvalして、最後にシフトするのはどうですか?
178:デフォルトの名無しさん
08/04/10 21:18:11
>>176-177
CLngという型指定で変換出来ました
どうもありがとう
179:デフォルトの名無しさん
08/04/11 00:18:50
>>172
タスクマネージャーでメモリ使用量を確認していると、
各イベント(フォーム起動→終了→以下繰り返し等)を起動するたびに使用メモリが増加していきます。
循環参照の現象でしょうか?
180:デフォルトの名無しさん
08/04/11 00:51:38
>>179
循環参照って何のことだか理解してる?
>>172 に書いてある
>OnLoadでブレイクでも入れておけば分かるんじゃないかね
を実行してなさそうな文章なんだけどやったの?
181:デフォルトの名無しさん
08/04/11 03:06:23
プログラム板は当たりがきついな
182:デフォルトの名無しさん
08/04/11 03:09:23
>>179
> >>172
> タスクマネージャーでメモリ使用量を確認していると、
> 各イベント(フォーム起動→終了→以下繰り返し等)を起動するたびに使用メモリが増加していきます。
解放してないから
183:デフォルトの名無しさん
08/04/11 03:09:56
>>181
おしえてぐーなら優しいけどな
あと2ちゃんでも女子中学生にはやさしいよ
184:デフォルトの名無しさん
08/04/11 06:46:11
つ「Unload Me」
185:デフォルトの名無しさん
08/04/11 10:46:53
Using src As New FileStream(srcName, FileMode.Open, FileAccess.Read)
While True
readSize = src.Read(buf, 0, BUFSIZE) ' 読み込み
If readSize = 0 Then
MsgBox("HIT=" & hval)
Exit While ' コピー完了
End If
End While
End Using
このコードでファイル操作の処理をすると
読み込み開始から終了までのあいだフォーム全体が操作不能になります
読み込み処理中でもボタン等の操作を可能にするにはどうすればいいでしょうか?
中断ボタンを作ってあるのですが操作不能になって機能しません
186:デフォルトの名無しさん
08/04/11 14:44:14
Visual Basic Version 5.0 Control Creation Edition
スレリンク(tech板:18番)
ふと思ったんだが、↑これと↓これ組み合わせて.EXEファイルを作ることできるのだろうか?
Microsoft Visual C++ Toolkit 2003
スレリンク(tech板)
187:デフォルトの名無しさん
08/04/11 17:54:26
上でDLL (OCX)作って、下でそれを使うEXE作るってことは可能だろうね。
そもそもなぜ今更VC++ 2003?
事情がなければ2005でも2008でも使えばいいだろうに。
188:デフォルトの名無しさん
08/04/11 19:00:08
>>185
つ「DoEvents」
189:デフォルトの名無しさん
08/04/12 20:13:12
ComboBoxでリストから項目が選択してドロップダウン部分が消えた瞬間に任意のコードを実行したいのですが
DropDownClosedやSelectionChangeCommitted
その他のそれらしいイベントを設定しても
選択→ドロップダウンが消える→再度選択
としないとそのコードが実行されません
どのイベントを設定すればいいでしょうか?
190:デフォルトの名無しさん
08/04/13 10:23:58
Click
191:デフォルトの名無しさん
08/04/13 10:45:44
SAVEデータのようにバイナリデータとShift_JISの文字列が混在するファイルの
文字列部分を編集して書き戻したいのですが
Dim FreeNum as Integer
Dim Bin1() as Byte , Bin2() as Byte
Dim strRes as String
FreeNum=FreeFile
Open hoge.bin For Binary As #FreeNum
Get #FreeNum, , Bin1
Close #FreeNum
strRes = StrConv(Bin1,vbUnicode)
'本来ここでstrResを編集する
Bin2=StrConv(strRes,vbFromUnicode)
とした時にBin2はBin1を再現せず、バイナリデータの部分が変わってしまいます。
通常このような操作を行う場合はどのようにすれば良いのでしょうか?
お力を貸して下さい。
192:デフォルトの名無しさん
08/04/13 18:48:40
>>191
それはShiftJISにしたときのバイト数えて詰め物したりでかなり面倒くさい。
結局Cランタイムのfopen系の関数をラップしたActiveXを作ってそれで読み書きさせた。
193:デフォルトの名無しさん
08/04/13 19:14:58
リストボックスで選択した場所から下の項目を削除したいのですが
下のプログラムだとindexエラーが出てうまくいきません
For i = ListBox1.SelectedIndex To ListBox1.Items.Count - 1
ListBox1.Items.RemoveAt(i)
Next
どう対処すればいいでしょうか?
194:デフォルトの名無しさん
08/04/13 19:17:44
後ろから削っていくとか。
195:デフォルトの名無しさん
08/04/13 19:26:36
デバッグして確認したときそれぞれの値が
ListBox1.SelectedIndex=2
ListBox1.Items.Count=8 (項目数=3)
となっていて
その状態で>>193のFOR文を実行すると i の値が2,3,4,5,6,7 とステップして
ListBox1.Items.RemoveAt(i) で最後の項目まで問題なく削除出来ると思うのですが
どういう訳かエラーになります
196:デフォルトの名無しさん
08/04/13 19:28:34
>>195 修正
× (項目数=3)
○ (項目数=7)
197:デフォルトの名無しさん
08/04/13 19:33:24
どういう訳かも何も、たとえばRemoveAt(10)を実行した時点で
いままでItems(11)だった奴がItems(10)に繰り上がるわけだが
198:デフォルトの名無しさん
08/04/13 20:00:32
>>197
当たり前のことすら理解出来てない人に
答えを教えてくれてありがとうございます
無事ちゃんと動作するコードに出来ました
199:デフォルトの名無しさん
08/04/13 22:11:10
1年半後に登場するWindows7にはVB6ランタイムはサポートされますか?
200:デフォルトの名無しさん
08/04/13 22:59:27
知らんがな(´・ω・`)
201:デフォルトの名無しさん
08/04/14 17:37:40
VB6でPublicの構造体・変数の宣言可能な数(容量?)ってどの位か解りませんか?
202:デフォルトの名無しさん
08/04/15 12:38:32
VS2008のVBでラベルの背景を透明化するにはどうすればいいですか?
label1.BackColor = Color.Transparent
では出来なかったです
203:デフォルトの名無しさん
08/04/15 13:34:38
>>202
スレタイ読めますか?
204:デフォルトの名無しさん
08/04/15 23:42:02
>>201
そんなのあるんですか?
205:デフォルトの名無しさん
08/04/16 10:14:31
ループする処理の中にあるIF文をSelect文にしたら処理が倍以上かかるようになったんですが
これはどうしようもないことですか?
206:デフォルトの名無しさん
08/04/16 11:32:45
>>205
条件文がわからんから、「そんなもn」としか答えようが無い。
207:デフォルトの名無しさん
08/04/17 08:12:15
>>205
Selectを使うな。
Excelとのやりとりは速度が遅くなる。
Withを使うか、まとめて配列に代入してから配列を扱え。
208:デフォルトの名無しさん
08/04/17 19:13:52
>>204
よほどの事が無い限り、まず制限を超える事は無いと思いますが有りました。
(コンパイル時にメモリー不足と出る)
209:デフォルトの名無しさん
08/04/17 20:06:02
>>208
そりゃ単にメモリ増設すりゃ回避できるんじゃないか?
210:デフォルトの名無しさん
08/04/17 20:26:21
>>209
2GB以上アロケートできないとかないのかね?
211:デフォルトの名無しさん
08/04/17 22:35:50
ループ処理中に何かボタンおされたらループから抜けるプログラムを作りたいのですが
そのボタンのsubではない 違うSub内で
コントロール上のどのボタンが押されたのかを検出する方法ってありますか?
212:デフォルトの名無しさん
08/04/17 22:55:24
>>211
ループ処理の中でDoEventsと終了フラグのチェックを頻繁にやるしかない。
DoEventsを使うときは再入やら予定外の動作をはじくようにする必要がある。
213:デフォルトの名無しさん
08/04/18 12:23:30
昔、だれかが作ったソフトのメンテしてたら
フォームに貼り付けたコントロールの数がオーバーしてこれ以上追加できない
という状況になったときに、泣いたことはあるなw
214:デフォルトの名無しさん
08/04/18 14:24:41
メンテだと設計方針が間違っていようが、そのまま行かざるを得ないときもあるから辛いな
215:デフォルトの名無しさん
08/04/19 22:13:21
FileCopyでファイルコピーするとshift-jisで書き出したファイルがUTF-8になってしまうのですが
対象方はありますか?
216:デフォルトの名無しさん
08/04/21 21:51:25
VBからExcelに値を貼り付けてプレビュー表示をする処理にて
処理中は見えないようにするためVisibleをFalseにするのですが、
EXEファイルから起動するとVisibleをFalseにした段階で最背面に表示されてしますいます。
Visual Basicから起動するとプレビュー画面が最前面に表示されるのですが何故でしょう?
使っているコンポーネントはQuickPack、Farpoint SpreadSheet、InputMan Proです。
今まで別な環境で作った際はこんな現象になったことはありません。
同じコンポーネントを使っている方で克服した方はおりますか?
ちなみにSetWindowPos等使わないで済ませたいです。
途中ダイアログを表示したりメッセージボックスを表示させたりするので
Visual Basicで起動しているときと同じ用途で実現させたいのです。
ちょっと分かりにくいかも知れませんが宜しくお願い致します。
217:デフォルトの名無しさん
08/04/21 22:11:38
コピペ君って馬鹿だな、まで読んだ。
218:デフォルトの名無しさん
08/04/22 10:32:51
vb6の評価版使ってて、exeにできないんですが、
vb6.0安く売ってるところないですか?
219:デフォルトの名無しさん
08/04/22 12:38:09
>>218
なんで今時VB6?
220:デフォルトの名無しさん
08/04/22 12:56:29
>>219
だよねぇ。
Visual Basic 2008 Express がタダで手に入るこのご時世に。
221:デフォルトの名無しさん
08/04/22 15:26:39
ツールバーのアイコンを大きくしてメニュー名をアイコンの下に表示させたいのですが、
どうすればいいのでしょうか?
222:デフォルトの名無しさん
08/04/23 01:40:48
>>220
それってVB6のOCXの開発ライセンスキーが付いてる?
223:デフォルトの名無しさん
08/04/23 13:32:21
>>222
お前は何を言っているんだ
224:デフォルトの名無しさん
08/04/23 14:26:17
>>219
なんでVB(6.0以前)スレに居るの?
225:デフォルトの名無しさん
08/04/23 15:13:16
>>223
お前は何を聞いているんだ
226:デフォルトの名無しさん
08/04/23 18:07:06
VB6で立方メートルの単位(m3)のように右上に数字を乗せる方法はないでしょうか?
またはキーワードだけでも教えていただけないでしょうか?
227:デフォルトの名無しさん
08/04/23 19:43:53
>>226
ラベルで貼っちゃダメなの・・・?
228:デフォルトの名無しさん
08/04/23 20:01:01
>>227
通常はラベルで代用するものなのでしょうか?
229:デフォルトの名無しさん
08/04/23 20:22:32
ブラウザとかリッチエディットでそういう書式指定って方法も思いつく。
ほかにもUnicodeに対応していればm³や㎥って文字が使える。
230:デフォルトの名無しさん
08/04/23 22:17:56
brwWebBrowserで取得したものを
htmlかテキストにして文字変数に格納する方法ないですか?
231:デフォルトの名無しさん
08/04/23 23:18:41
>218
現在VB6を新規に入手する方法はMSDNに入るしかない。
>226
上付きの3はISO 8859-1/15の0xB3にあるが…UnicodeでもU+00B3だな。
232:230
08/04/23 23:29:47
Text1.Text = Inet1.OpenURL(brwWebBrowser.LocationURL)
で取得できましたが 文字バケのようになり日本語で表示されません。
フォントは明朝に設定したのですが。
233:230
08/04/24 00:41:02
RichTextBox1.Text = brwWebBrowser.Document.body.innertext
これで一応できましたが
普通のTextBoxは日本語ダメでしたっけ?
234:デフォルトの名無しさん
08/04/24 01:34:10
Text1.Text = brwWebBrowser.Document.body.innertext
235:デフォルトの名無しさん
08/04/24 10:25:48
VBのMAPIでメールを操作したいのですが
IDやPASSの設定はサンプルにのってるのですが
POP3等の設定がのっていません。
Outlookの設定に依存してるのでしょうか?
POP3設定のキーワードを教えてください。
236:230
08/04/24 13:46:15
Text = WebBrowser1.Document.body.innertext
これで数百行あるものを読み込むと200行ちょっとまでしかとれてないようですが・・・
行制限があるんでしょうか?
237:デフォルトの名無しさん
08/04/24 14:02:43
読み終わってからにしろよ早漏
238:230
08/04/24 14:33:54
なるほど。
239:デフォルトの名無しさん
08/04/25 10:12:47
指定ファイル(テキストやCSV)の行数を取得する良い方法はありますか?
Dim i As Integer = 0
Dim sr As New System.IO.StreamReader("C:\1.csv", System.Text.Encoding.Default)
Do Until sr.Peek() = -1
sr.ReadLine()
i+=1
Loop
sr.Close()
今のところこの方法しか思い浮かびません
もっと簡潔な方法があれば教えて下さい
240:デフォルトの名無しさん
08/04/25 10:31:59
何を指して良い方法と言っているのだ?
時間?効率?ソースの短さ?exeのバイト数?
241:デフォルトの名無しさん
08/04/25 10:38:24
>>240
私が思う良い方法とはコードの短さです
今のところ>>239以外には他に思いつかなくて
242:デフォルトの名無しさん
08/04/25 11:04:19
コードの短さか
そんなクソの役にもたたねえ事にこだわるな!
243:デフォルトの名無しさん
08/04/25 13:16:01
>>239
とりあえずスレチだと思うのだが。
それ.NETだろ?
まぁ行数取得ならFileSystemObjectだったかTextStreamだったか忘れたが
1行で取得する処理書くこと出来るよ。
ググってみ?
244:デフォルトの名無しさん
08/04/25 14:45:05
VB6(SP6)です
OutBufferCountがしっかり送信バッファの値を返す設定って、何かあるでしょか?
MSComm1.Output = txdatbuf$
Text1.Text = Format(MSComm1.OutBufferCount)
このよーなコードを書いて、送信開始時のバッファを確認してみても0のままだったりして困っておりまする。
送信そのものは成功しています。
MSComm1 は
DTREnable=False
EOFEnable=False
Handshaking=0
InputMode=0
OutBufferSize=512
RThreshold=1
SThreshold=0
RTSEnabled=False
になってオリマす
245:デフォルトの名無しさん
08/04/25 14:46:39
ログをファイルを出力しているのですが
最新の1000行のみに維持したいのですが
何か良い方法はありますでしょうか?
246:デフォルトの名無しさん
08/04/25 15:17:27
良い方法?
1000行固定というクソ仕様をやめてしまえ
247:デフォルトの名無しさん
08/04/25 15:23:28
全部読んで1行捨てて書き出して、最後に今のログ1行書いたら駄目なのか?
248:デフォルトの名無しさん
08/04/26 02:44:34
WebBrowserコントロールを使って
そのWebの書き込みテキストボックスから書き込みする方法ありますかね?
249:デフォルトの名無しさん
08/04/26 11:30:44
>247
内部バッファならともかく、ファイルでそれはないだろ。
250:デフォルトの名無しさん
08/04/26 11:59:13
>>249
ならどうしたらいいのか書けよカス
251:デフォルトの名無しさん
08/04/26 12:03:03
>250
>246
252:デフォルトの名無しさん
08/04/26 12:55:00
お前の能力では出来ないって事か
253:デフォルトの名無しさん
08/04/26 14:18:36
↑こんな奴がいるから糞ソフトが無くならんのだよな
254:デフォルトの名無しさん
08/04/26 15:53:23
↑その糞ソフトすら書く方法を知らないカス
255:デフォルトの名無しさん
08/04/26 16:03:32
何が問題なのか理解してないようだ
中国人の外注のほうがマシに思える
256:デフォルトの名無しさん
08/04/26 16:06:07
>>249
お前というやつは・・・。
いきなり上書きしたら、
書き込みの途中でエラーが出たら
ログが壊れるだろ・・・。
257:デフォルトの名無しさん
08/04/26 16:21:52
>>255
うむ
中国人に「最新の1000行のみに維持したい」って言えば
ちゃんと作ってくれるだろうな
258:デフォルトの名無しさん
08/04/26 23:45:53
TextStream使えば?
・ReadAll()で全行読み込み(なかなか高速)
・Sprit()で改行文字をKeyに配列化
・UBound(配列)>=999の場合は、配列にする前の文字列からInStrRevで改行文字探して見つかった位置-1までを取得
・先頭に新しいログ文字列追加
・で、書き出し
みたいな
259:デフォルトの名無しさん
08/04/26 23:49:36
>>256
書き込みの途中って?
例えばどんなエラーがある?
260:デフォルトの名無しさん
08/04/26 23:57:19
>>256じゃないが
エラーも出ずにファイルごとぶっ壊された経験なら多々あるなあ
ローテートの基準は行数にしないで日付や時間で新規ファイルに割って、
取得や表示時の処理で行数割りにすべきじゃねえの?
261:デフォルトの名無しさん
08/04/26 23:59:31
1000行程度でエラーになった経験は無いからなあ
262:デフォルトの名無しさん
08/04/27 00:01:07
壊れる事象が起こる原因が上書きなら、
新規作成→リネームでいい気がするが?
元のFileは消した状態で。
263:デフォルトの名無しさん
08/04/27 00:05:12
>>260
それはプログラマである質問者でなく、設計したアホに言えよって話にならね?
もしくはそう注文してくる客に。
そういう仕様だって言われりゃマはそう作るしかないんだし
だったら最善の策を考えた方が仕事も早く終わるだろ。
264:デフォルトの名無しさん
08/04/27 00:12:02
>>259
1. ディスクフル
2. 書き込みするデータを用意する際のエラー
3. メディアの部分的な破損
こんなところか?
265:デフォルトの名無しさん
08/04/27 00:25:26
ディスクフルは今回の場合関係なさそうじゃね?
メディアの破損については今回のファイル書き出し云々関係無い気がする。
書き込みデータ準備のエラーは具体的には何がある?
266:デフォルトの名無しさん
08/04/27 00:26:09
>>263
だな、激しく同意
反論できる状況でなけりゃ、結局そう作るしかないんだよな
267:デフォルトの名無しさん
08/04/27 00:31:47
>>266
大体さ、設計について話すってのは、ぶっちゃけスレチな気がするんだよ。
ここはVBプログラマ質問スレだろ?
プログラマからの質問に対して設計に文句言うのはおかしいと思うんだが
間違ってるか?
268:デフォルトの名無しさん
08/04/27 00:44:46
>>265
メディアが部分的に破損してて書き込み失敗したら、
上書きしてた場合はログが壊れて、
別ファイル作ってた場合は前のログは残る。
269:デフォルトの名無しさん
08/04/27 00:52:41
[方法その1(昔からある方法)]
サイクリックファイルという概念を使う。
詳しくはググれ。
[方法その2]
ログを全てオンメモリに持って、時々ファイルにflush。
プログラムが異常終了したときは、ログが失われる可能性がある。
270:デフォルトの名無しさん
08/04/27 00:59:42
ファイルの書き込みは実際にはセクタ単位で行われるから
サイクリックファイルって万が一破損した場合の影響範囲は
1セクタ分になんのかね。
271:デフォルトの名無しさん
08/04/27 06:57:18
>>267
設計に触れなくていいと言うなら間違っている
与えられた事しかできないのは下郎の仕事だよ
272:デフォルトの名無しさん
08/04/27 08:51:52
ログファイルの行数制限ってそれ程アホな仕様とは思えないんだが
273:デフォルトの名無しさん
08/04/27 09:05:46
馬鹿ですね。
274:デフォルトの名無しさん
08/04/27 11:10:24
>>271
そうでなくてスレチって意味だろ
275:デフォルトの名無しさん
08/04/27 15:05:31
フォームが非アクティブな時にクリップボードを監視して
文字があればフォーム上のテキストボックスにすぐ貼り付けるというプログラムを作っているのですが
FormのLostFocusで処理させるとクリップボードに文字をコピーしたあと
フォームをアクティブにしないとテキストボックスに内容が反映されません
どのイベントで処理すればいいでしょうか?
276:デフォルトの名無しさん
08/04/27 15:19:39
>>275
監視って言いながら1回しか見てないの?
Timer使って一定時間ごとにチェックするとかじゃなく?
277:デフォルトの名無しさん
08/04/27 20:49:19
>>272
うむ、組み込み系なら良くあること
278:デフォルトの名無しさん
08/04/27 22:19:51
1行500byteで、50メガ程のテキストファイルをADOを使ってmdbに突っ込んでるんですが、
テキストファイルの改行コードがlfなんで、LineInputじゃ取れないんで、
一度バイナリで取り込みcrlfに変換後、保存してLineInputってのもスマートじゃないし、
stringで全部読み込み、midって取るのも後半重くなるし~って事で、詰まってます。
何かいい方法はありませんでしょうか?
279:デフォルトの名無しさん
08/04/27 23:12:03
>>278
ADOのStreamオブジェクトを使うといいような気がする
280:デフォルトの名無しさん
08/04/28 10:48:11
>>249
1000行ぐらい内部バッファあけといて毎回読み書きしてもいいとおもたんだが
もしかして一般的には不毛な設計なのか?
281:デフォルトの名無しさん
08/04/28 14:06:24
無駄にHDDを劣化させることは無いだろ
単純なログにすれば何も問題ないのにCPUの無駄遣いするなよ
Vistaを筆頭に、重かったりメモリ食いまくったりするのが流行なのかもしれないがな
282:デフォルトの名無しさん
08/04/28 14:15:14
バカは黙ってろよ
283:デフォルトの名無しさん
08/04/28 14:54:46
車や電化製品でも、誰も使わない機能をつけるのがカッコイーんだよ。
自己満足の世界に口を出すなっつーの。
284:デフォルトの名無しさん
08/04/28 16:06:17
知的探求は必要
ソースをいかに短く書くか燃えなかった?
285:デフォルトの名無しさん
08/04/28 17:11:45
行固定のログファイルとか良くやるけどね
これだけ議論になるということは、あまりこういう仕様に直面したこと無いのか?
286:デフォルトの名無しさん
08/04/28 17:26:55
通信アプリなどのようにリクエストが多かったりするログで1000行固定はクソ仕様かもしれない
だが今回は1000行であり1起動で数回くらいの頻度だろ?騒ぐほどの事ではない
でも俺もクソ仕様だとおもう
287:デフォルトの名無しさん
08/04/29 11:12:32
VB6なんですが、
製作しているプログラムProgAではOpenでテキストファイル(1行のみ存在)
を開いてInputのRead Sharedで1秒毎に読んでは閉じます。参照しかしません。
別のプログラムProgBからそのテキストファイルは
1秒毎に更新されています。内部の仕様はわかりませんがProgBから
もしロックをかけて更新しているなら
同時にProgA側で開こうとすればエラーが出ると思います。
それは問題ありません。
ProgAでファイルを参照していてもProgBからそのファイルの更新さえ
できていれば、ProgAとしては問題ないのですが、
今の状態では不都合が生じるでしょうか?
ProgAでファイルを開いている状態(ブレークポイントでとめて)で
自分で作った外部アプリでファイルに更新をかけてみたのですが、
ファイルは普通に更新されたのですが、これで良いのかどうか。。。
288:デフォルトの名無しさん
08/04/29 17:01:25
プログレスバーの上にColor.Transparentを設定したラベルをおいて
ラベルの親コントロールをプログレスバーに再設定しても
どうやらプログレスバーがColor.Transparentをサポートしていないようで
ラベルの背景が半透明化されません
プログレスバーのようなColor.Transparentをサポートしないコントロール上で
背景を半透明にさせるにはどうすればいいですか?
289:デフォルトの名無しさん
08/04/30 01:43:37
文字をpadleft等で桁揃えして文字数が同じなのを確認して
コンボボックスのフォントをMSPゴシック、MS UIゴシック等の等角フォントにして
フォントが変更されたのも確認した後
それらの文字数が同じアイテムをコンボボックスに追加してリスト内のアイテムを確認すると
どうやってもズレて表示されてしまいます
解決法ってありますか?
290:デフォルトの名無しさん
08/04/30 02:01:53
>>289
> コンボボックスのフォントをMSPゴシック、MS UIゴシック等の等角フォントにして
上記は等角フォントではないよ。
MSゴシックを使ったら?
291:デフォルトの名無しさん
08/04/30 04:34:26
>>290
MSゴシックにしたら改善されました、ありがとうござます
フォントについて勘違いしてたみたいです
プログラミング以前の話に答えていただいて助かりました
292:デフォルトの名無しさん
08/04/30 09:44:45
Join関数を使わないでMidステートメント(関数ではない)で文字列を連結する場合、MidとMid$ではどちらがいいの?
速度を計っても差がわからない。
どっちも同じなのかな?
関数ならもちろんMid$が少し速いが。
293:デフォルトの名無しさん
08/04/30 12:34:02
そんな知識もない奴がいまさらVB使ってどうするのかなw
っていうか、mid$で文字列連結って意味不明な気がするが。
まあここでも散々既出だと思う(折れ自身複数回回答してるから)けど、
(っていうかググッてもすぐ回答が見つかるはずだとも思うが)
$付き: 返り値の型がString
$なし: 返り値の型がVariant
Variant返す関数の存在理由は良く知らないが、普通は使う必要ないんじゃないのかな。
294:デフォルトの名無しさん
08/04/30 13:21:40
>>293
Mid$で連結が意味不明なら答えるなよ。
わかる人はすぐ分る。
そもそもオマイは関数と勘違いしてるし。
俺より初心者みたいだなw
295:デフォルトの名無しさん
08/04/30 13:53:06
>そんな知識もない奴がいまさらVB使ってどうするのかなw
すぐこういう事を言い出す輩が多いな。
あとクソ仕様がどうとか。
学生か趣味でしか使わない奴らには一生理解できないんだろうけどね。
296:デフォルトの名無しさん
08/04/30 13:57:09
>>287です
簡潔でなかったので、簡潔に書きます。
テキストファイルAをあるアプリAで
OPENステートメントのRead Sharedで開いていた場合
別アプリBでファイルAを開いたり更新したりしようとすると
問題が生じるでしょうか?
297:デフォルトの名無しさん
08/04/30 18:35:54
誰か>>294の言ってる意味がわかる奴いる?w
俺は意味不明なこと言ってるとしか思えないが、
正直VBは年に1度触るか触らないかの状態なので自信もって否定はできない、と一応謙虚に言っておく。
ついでにまあどうでもいいが、「そんな知識もない奴がいまさらVB使ってどうする」
って指摘が不適切とは俺は思えないんだよねやっぱり。
初心者が今更VB使ってどうすんの。
まあそりゃ保守の需要とか学校の講義でたまたま使ってるとかあるのかもしれんが、
今更初心者にVBのコードを保守させる会社とか、今更VB6を使って教える学校ってのは如何なもんなのかねえw
298:デフォルトの名無しさん
08/04/30 18:51:23
いやいや。「お前が言うな」
299:デフォルトの名無しさん
08/04/30 19:04:12
>>297
恥ずかしい奴だな。
URLリンク(support.microsoft.com)
300:デフォルトの名無しさん
08/04/30 19:19:17
mid$で連結って、前スレあたりで話題になったよね
301:デフォルトの名無しさん
08/04/30 19:21:36
>>297はMidステートメントは使ったことないんだよきっと。
&演算子で連結することしか知らなかったりしてw
302:デフォルトの名無しさん
08/04/30 19:23:40
知らなかったのならググればよかったのにw
303:デフォルトの名無しさん
08/04/30 19:25:43
>>299
語るに落ちてるな。
サンプルコードをロクに理解せずにコピペして使ってるVB厨房の君自身をね。
そのサンプルコードの動作原理をちゃんと理解してる?w
理解してたら決して「Mid$で文字列を連結」などとは言わないよ。
そのコードでMid$が担ってる機能は「文字列の連結」じゃなくて「置換」だと思うけどね
304:デフォルトの名無しさん
08/04/30 19:30:40
>>303
では、件のURLの<title>がなぜそのようになっているか、説明してもらおうか。
305:デフォルトの名無しさん
08/04/30 19:32:16
>>303
なぁ、こんな所で戦っても、何も得るものないぞ?
匿名なんだからさ、おとなしく引きさがれよ。
306:デフォルトの名無しさん
08/04/30 19:33:35
人に突っ込む前になぜ"pseudo-concatenation"と書いてあるか考えた?
っていうかコード読め。読んで理解しろって。
人様に突っ込むのなんざその後だろうが。
307:デフォルトの名無しさん
08/04/30 19:36:44
>>303
とことん恥ずかしい奴だな。
お前は>>292の内容が全く理解も想像もできなかったんだろ?
「文字列連結」と「Mid」というキーワードで連想するものを初めから知ってたらな、
最初の発言で「それは置換だろ」と指摘しとけよ。
もっともそんなこと指摘しても、>>292の疑問には何の解決にもならんがな。
ちなみに、>>292の回答は、「自分で計測して速い方を使え」だ。同じだったら、好きな方でかまわん。
308:デフォルトの名無しさん
08/04/30 19:42:50
>>307
その回答もどうかと
そんな浅い事なら質問してないだろう。
309:デフォルトの名無しさん
08/04/30 19:43:03
顔真っ赤で反論考え中w
310:デフォルトの名無しさん
08/04/30 19:45:23
そもそもMid$ステートメントなんてないのかもね。
Join関数をJoin$と書いても動くのと同じじゃねーの?
311:デフォルトの名無しさん
08/04/30 19:45:43
>>308
内部実装を知りたいなら、プロセスにアタッチして逆アセンブルされてるのを
眺めたらわかるかもね。
俺は興味無いけど。
312:デフォルトの名無しさん
08/04/30 19:46:56
>>307
何をいってるんだコイツ。
俺はエスパーじゃない。
>>292の「Midステートメント(関数ではない)で文字列を連結」が>>299の
コードのことを指しているとして、そんなことが俺にわかるわけがない。
313:デフォルトの名無しさん
08/04/30 19:48:47
>>312
つ「知らないなら黙っとけ」
314:デフォルトの名無しさん
08/04/30 19:49:26
普通Midステートメントと文字列の連結といったらわかるぞ?
エスパーじゃないのはもともと分かってるw
315:デフォルトの名無しさん
08/04/30 19:53:43
>>312
わからないなら、何でレスしたんだ?
おとなしく黙っとけば恥もかかずに済んだものを。
316:デフォルトの名無しさん
08/04/30 19:58:20
VBは年に一度触るかどうかレベルの奴が、何でこのスレ巡回してんだよw
教えたがりもたいがいにしとけよw
317:デフォルトの名無しさん
08/04/30 21:23:09
これはひどい・・・
318:デフォルトの名無しさん
08/04/30 22:02:02
ここではよくあること
気にするな
319:デフォルトの名無しさん
08/05/02 20:16:42
>>292
この間未だにVB5で稼動してるシステムにVB6と互換性あるJoin関数やReplace関数作ったんだけど
そんときMidステートメント使ったのね。
最初はMidでやってたんだけど遅い気がしてMid$に変えたら早くなったよ。
VB5だからなのか、使ってるマシンが古いせいなのかは知らないけど、
Mid$の方が早いみたいだしMid$使ったらどうかな?
320:292
08/05/03 20:34:21
>>293以外のみんなありがとね。
こちら何度やっても差が出なくて困ってる。
おれも>319のようにMid$の方が速かったことがたしかあったけど、どうも最近再現しない。
>>310のJoin$みたいに、もしかしてつけなくていいものをつけてるとしたら馬鹿らしいし
>>319にはすまんけど付けないことにするかな?
321:デフォルトの名無しさん
08/05/03 22:23:53
>>320
URLリンク(officetanaka.net)
322:デフォルトの名無しさん
08/05/03 23:21:14
>>321
500万回でMidが5秒って、1回あたり1usじゃん。
+で文字列連結するのをMidに変えたときの恩恵に比べれば、差なんて無いも同じ。
・・・まぁ、俺は常にMid$つかうけどね。
323:292
08/05/03 23:44:10
>>321
あまりラベルの低いサイトにリンク張らないように。
それってMid$関数だろ?
俺が言ってるのは関数じゃなくてステートメント。
324:デフォルトの名無しさん
08/05/03 23:49:57
いいかげん、うざくなってきたな
325:デフォルトの名無しさん
08/05/04 00:11:16
うむ
326:319
08/05/04 11:33:59
>>320
まあそれはお好きにどうぞw
327:デフォルトの名無しさん
08/05/04 17:03:11
なんか以前論争になったときは「変なこという奴だな」と思いつつも黙っていたが、
VBのような言語(つまりCのような設計思想の言語とは違う、と言いたいんだが)で
「組み込み関数」と「ステートメント」を峻別することに意味なんてあるんか?w
確かにMSDNライブラリ(俺の手元にあるのは2001年10月のもの)を見ると、
たとえばMid$ならMid$に関して、「Midステートメント」と「Mid関数」の二つのエントリーがあるが、
二つの説明を見比べれば、「Midステートメント」の方は明らかに「Mid関数」の返り値の型の仕様ついて
詳細な説明をスキップするための便宜上のもの(はっきり言えば煙に巻いて誤魔化している)
に過ぎないように思われるが。
328:デフォルトの名無しさん
08/05/04 21:36:28
Dim s As String
s = "1234567890"
Mid$(s, 3) = "alpha"
Mid(s, 3) = "beta"
vb6でこーゆーコードをコンパイルして、逆汗したが、
結局両方とも同じように_vbaMidStmtBstr呼んでるだけだたよ。
329:デフォルトの名無しさん
08/05/05 05:46:33
ってことはMidで十分ってことだよな。
関数はMid$が常識だろうが。
330:デフォルトの名無しさん
08/05/05 09:28:20
フォーム タイトルバーのフォントサイズを変更するにはどうすればいいですか?
フォーム プロパティのフォントサイズを指定すると
置かれている各コントロールのフォントサイズは変わりますが
肝心なタイトルバーのフォントサイズが変更されません
331:デフォルトの名無しさん
08/05/05 12:55:21
画面のプロパティのデザインで決まっているので、個別のウィンドウで変更することはできません。
332:デフォルトの名無しさん
08/05/06 20:27:53
WebBrowser1でWebを読み込んで縦スクロールバーをコントロールする方法ないですか?
最初に一番下まで持っていきたいのですが。
333:デフォルトの名無しさん
08/05/07 12:10:56
Webを書き換えできる立場にいるなら<a name="hoge"></a>でアンカー付けて読み込む時にURL末尾に#hoge
Webは書き換えられないならフォーカスをIEコンポにしてSendKesとか・・・
334:デフォルトの名無しさん
08/05/07 15:17:49
>>333
できました ありがとうございます。
335:デフォルトの名無しさん
08/05/09 00:06:54
midの話題に便乗して質問
replace関数とmidステートメントの使い分けって
どういう風にしたらよろし?
あとreplace関数で下のようにInStr関数を使って開始位置を設定するのは意味がない?
strHoge = "...hoge"
strFuga = Replace (strHoge, "hoge", "fuga", InStr(strHoge, "fuga", vbBinaryCompare))
336:デフォルトの名無しさん
08/05/09 00:36:52
>>335
使い分けって全然別物じゃんw
っていうか、だからVBのような言語で関数とステートメントを「使い分け」ることこそ意味がないつーに。
mid:
与えられたBSTRのバイナリイメージを直接上書きする。
当然、置き換えられた部分の文字数も、文字列の長さも変わらない。(変えられない)
replace:
与えられた文字列の中の特定の部分を別の文字列で置き換えた文字列を新たに作成する。
「置き換えられる」部分文字列の長さと「置き換える」部分文字列の長さは違っていてもかまわない。
337:デフォルトの名無しさん
08/05/13 02:50:02
vb6.0でフォームだけ透明化して、ラベルなどはそのまま表示させることって可能でしょうか?
方法があれば教えてください。
338:デフォルトの名無しさん
08/05/13 04:27:56
十字キーの↓でラベルを順に選択できるようにしたいのですが、
If GetAsyncKeyState(vbKeyDown) Then
If Label3.ForeColor = Magenta Then
Label4.ForeColor = Magenta
Label3.ForeColor = Yellow
End If
If Label4.ForeColor = Magenta Then
Label5.ForeColor = Magenta
Label4.ForeColor = Yellow
End If
If Label5.ForeColor = Magenta Then
Label6.ForeColor = Magenta
Label5.ForeColor = Yellow
End If
End If
と記述するよりもっと効率がいいやり方はないのでしょうか?
339:デフォルトの名無しさん
08/05/13 08:28:01
>>338
効率以前に「他人に意味が通じる文章」を書く方が先決だろう。
というか、推敲する手間を惜しむような奴にプログラマの才能などないと思う。
340:デフォルトの名無しさん
08/05/13 12:30:28
>>338
効率もなにも、ひょっとしてそのコードバグってないか?
13、14、15はYellowになるだろ、一回↓キー押しただけで
順ってなんですか?
341:デフォルトの名無しさん
08/05/13 14:12:33
>>338
訳:カーソルキーの↓キーを1回押すごとにラベルを順番に選択(色を変更)したいのですが、
>>338のコードと記述するよりスマートになるやり方はありませんか?
342:デフォルトの名無しさん
08/05/14 00:08:54
>>339
分かりにくくてすみません・・・
>>340
バグってます。
通常の状態をマジェンタ、選択されてる状態を黄色にして、
↓キーを押すたびに選択されているラベルを変えるプログラムをつくりたいんですが、うまく行きません・・・
>>341
そういうことです。ありがとうございます
343:デフォルトの名無しさん
08/05/14 02:23:29
ラベルをコントロール配列にでもして、
現在黄色い場所をインデックスとして覚えといて
そいつをカーソルキーでうろうろさせるとか
344:デフォルトの名無しさん
08/05/14 03:49:52
◆6月にマネージャパン、月刊アスキー、週刊アスキーの3誌が賞金総額2000万円の「シストレFXグランプリ」を開催
URLリンク(system-trading.jp)
5月22日より登録受付開始、6月2日よりグランプリ開始の予定。賞金総額2000万円。
デモトレードの優勝者には賞金三百万円がプレゼントされます。
▼トレード部門
初期資産500万円で、デモ取引のトレード収益を競っていただきます。
URLリンク(www.fx-gp.com)
▼賞金総額
■社長特別賞(シストレソフト買取価格) 10,000,000円
●シストレソフト部門賞 1位300万円 2位100万円 3位50万円
●トレード部門賞 1位300万円 2位100万円 3位50万円
●前期MVP賞 50万円
●後期MVP賞 50万円
345:デフォルトの名無しさん
08/05/14 08:19:34
コピペ君って馬鹿だな、まで読んだ。
346:デフォルトの名無しさん
08/05/14 18:24:00
GetAsyncKeyStateを使うとボタンを瞬時に離さないとIf以下のコードが何回も繰り返し行われてしまいます。
途中にWaitなどを入れてみましたが、そうするとキーを押したときに反応しないときがあります。
解決方法を教えてください。
347:デフォルトの名無しさん
08/05/14 22:46:12
>>346
釣りに見えるのはなぜなになでしこ
簡単に解決させたいなら ElseIf と KeyUpイベントを覚えるといいと思うよ
348:デフォルトの名無しさん
08/05/15 00:04:46
>>374
偉そうに舐めた口利いてる奴がそのレベルじゃアカンだろうw
コントロールのイベントはフォーカスがあるときしか拾えない。
こんなUIの基礎も理解してないの?
>>346
GetAsyncKeyStateのリファレンスにまんまの答えが書いてあるじゃん。
もちろん自前でステートマシン作って解決してもいいんだけど。
ステートマシンっていう考え方は小学生でも理解できるわりに応用が利く(たとえば
>>338のようなコードをわかりやすくするのにも使える)から覚えて損はないよ。
349:デフォルトの名無しさん
08/05/15 00:18:53
>>347
ElseIfとKeyUpですか・・・ちょっと調べてきます
>>348
なるほど。もっと詳しく勉強する必要があるんですね。
ふたりとも回答ありがとうございます
350:デフォルトの名無しさん
08/05/15 08:21:35
だから詳しく勉強する必要はないの。
そう言ってるでしょ?
MSDNライブラリのGetAsyncKeyStateの項にそのまんま答え書いてある
351:デフォルトの名無しさん
08/05/15 17:22:21
>>348
FormにKeyUpイベントあんの知らんの?
352:デフォルトの名無しさん
08/05/15 17:36:32
>>348
Labelのイベントだとは書かれていないのにも関わらず
Label_KeyUp()に書けと読み取ったお前もかなりやばいぞ。
キー操作でLabelに何かアクションする場合、
Form_KeyDown()やForm_KeyUp()に処理が書かれることが多い。
>>347はそれを言ってるんだと思うが?
353:デフォルトの名無しさん
08/05/15 17:56:57
VB6を使ってるんだがFlexgridでAccess2000に接続したものを表示したい。
ADOコントロールを使わずに接続することって可能?
354:デフォルトの名無しさん
08/05/15 18:01:23
まず質問者と>>348が>>338のバグを認識しないとな。
355:デフォルトの名無しさん
08/05/15 18:50:24
>>353
DAOでやるってことかな
356:デフォルトの名無しさん
08/05/15 19:40:08
初歩的な質問で恐縮ですが、
vbでsendkeysを使って作成しておりました。
さまざまな問題が出たため、apiを使用しキーボードシュミレートを
行うため、下記のサイトを参考に組み込みました。
URLリンク(hanatyan.sakura.ne.jp)
こちらで送信はできたのですが、ポップアップするような
アプリケーションの場合そこで制御が停止してしまいます。
停止せずに送る方法がありましたらお教え下さい。
357:デフォルトの名無しさん
08/05/16 00:21:38
>>351-352
あのなあw
それ以上馬鹿を晒さないうちに黙っていた方がいいと思うよ。
358:デフォルトの名無しさん
08/05/16 02:04:54
>>352
359:デフォルトの名無しさん
08/05/16 02:56:11
VB脳w
360:デフォルトの名無しさん
08/05/16 11:35:01
VB6を使用しています。
ADO2.5のRecordsetオブジェクトを使用し
以下のようなDBを参照し
フィールド1 |
----------
A |
B |
C |
データを
Aを取得し変数にセット→MoveNext
Bを取得し変数にセット→MoveNext
Cを取得し変数にセット
という流れで取得しています。
MoveNextなどをせずに
一気にA B Cのデータを取得し変数にセットをしたいです。
もし可能であればご教授ねがえませんか?
361:デフォルトの名無しさん
08/05/16 11:49:27
ご教授なんて呼ばれても そんな人いません
362:デフォルトの名無しさん
08/05/16 12:19:34
恥ずかしい馬鹿だな。
「ご教授」でもいいんだよ。嘘だと思うなら辞書引いてみな。
DBはやったことないんで質問には答えられなくて申し訳ない。
363:デフォルトの名無しさん
08/05/16 12:28:39
>>362
ご教授なんて日本語存在しませんがw
嘘だと思うなら「間違った日本語」とかでググってみな?w
あ、ゆとりさんに無理ですか そうですか
存在しないものを作りあげてしまうなんて
もうレベルが低すぎてこちらまで恥ずかしくなってきましたw
364:デフォルトの名無しさん
08/05/16 12:31:39
辞書を見て自分の都合のいい解釈する人に何を言っても。
365:デフォルトの名無しさん
08/05/16 12:33:54
それはいわゆる無知な「誤用厨」(まあ今俺が命名したんだけどw)が
勝手にそう言ってるだけ。
だから辞書引けって馬鹿。
ついでにその「誤用厨」が得意げに指摘する「確信犯という言葉の誤用」も
誤用じゃないんだよ本当は。
366:デフォルトの名無しさん
08/05/16 12:41:38
間違ったものを強引に正しいものにしようと必死な人がいると聞いて
飛んできますた
>>365
間違いを指摘されてるんだから、そろそろ悪あがきは止めて あきらめようぜ?ww
お前が馬鹿なのは十分分かったから、これ以上 墓穴掘るなよ
ご教授はどう考えても 存在しない日本語
日本人なら正しい日本語使え、プログラミングとかやる奴ならなおさら
367:デフォルトの名無しさん
08/05/16 12:44:29
あのなあ。
そもそも「教授」って言葉をポストに使う方が元々は派生的な用法だっての。
字面見ればわかるだろそんなの。
368:デフォルトの名無しさん
08/05/16 13:00:50
プログラムは正しくない命令文ではエラーが出るが、
「ご教授ねがう」は「ご教示いただく」のことだろうなってわかるだろ。
教えてやればいいだけでしょ。
お前らそんな固い頭でプログラミングとか向いてないんじゃね。
>>360
文章から、変数は配列じゃないと想定してレスすると、一気に変数に入れるのは不可能。
数が少ないならフィールド横に配置して1レコードにするとか。
フィールド1 | フィールド2 | フィールド3 |
----------
A | B | C |
変数に配列使ってループさせれば解決すると思うけどネ。
369:デフォルトの名無しさん
08/05/16 13:08:43
Function Nihongo_OK(ByVal str As String) As Boolean
Select Case Instr(str,"ご教授")
Case 0
Return True
Case Else
Return False
End Select
End Function
370:デフォルトの名無しさん
08/05/16 13:25:32
Debug.Print Nihongo_OK("あたご教授は素晴しい教授だ")
False
( ゚Д゚)
371:デフォルトの名無しさん
08/05/16 13:26:54
誰?
372:デフォルトの名無しさん
08/05/16 16:08:10
ご教授って存在しないの?
教授に対して
ご教授お願いしますってのもだめなの?
373:デフォルトの名無しさん
08/05/16 18:47:18
Private Sub CommandButton2_Click()
Dim mambo As Date
If Trim(mambo) = Null Then Exit Sub
mambo = UserForm1.ComboBox1.Value
Call search_light(mambo)
End Sub
上のプログラムで「mambo」という変数には時間が入る(or空白)のですが、
「mambo」が空白の時でも、プロシージャが終了してくれません。
「""」を使うとエラーになるし、エラートラップを使うしかないのでしょうか?
374:デフォルトの名無しさん
08/05/17 11:42:08
>>360
Recordset.GetRowsメソッドじゃだめ?
375:デフォルトの名無しさん
08/05/17 11:48:17
>>373
とりあえずDate型の初期値はNullじゃないよ
If mambo = #0:00:00# Then Exit Sub
376:デフォルトの名無しさん
08/05/17 12:38:58
ListViewのような行と列を持つコントロールに
テキストボックスやコンボボックスを表示されられるコントロール名ってなんでしょうか?
377:373
08/05/19 09:13:12
>>375
遅くなってすみません。
ありがとうございます
378:デフォルトの名無しさん
08/05/21 10:13:48
コンボボックスで起動直後に任意項目を選択済みにするには
ロードイベントにSelectedIndexで設定する以外に方法はありますか?
コンボボックスのプロパティには初期値を設定出来る項目はないようですし
379:デフォルトの名無しさん
08/05/21 12:20:53
初期値を設定すべき実行部分で初期値を設定する以外に方法はないと思う
380:デフォルトの名無しさん
08/05/22 18:10:29
msgboxで表示される文字のフォント指定はどうやるのでしょうか?
381:デフォルトの名無しさん
08/05/23 03:09:51
そりゃあコントロールパネルからだ
382:デフォルトの名無しさん
08/05/26 17:14:46
URLリンク(jeanne.wankuma.com)
↑のクラスライブラリをVBで使おうとしても
この引数を受け付ける New がないためオーバロードの解決に失敗しました というエラー出て
インスタンス化出来ないです、なぜですか?
参照設定でDLLを読み込んで
Dim ini As New Jeanne.Ini.IniFile
のコードを書きました
383:デフォルトの名無しさん
08/05/26 17:51:30
>>382
どうみてもC#だが誤爆か?
それともそれをDLL化したものが「VB6以前」で使えないといってるのか?
後者ならあたりまえなので、COMのラッパークラス書いてレジストリ登録しなさい。
384:デフォルトの名無しさん
08/05/26 19:10:45
>>383
やっぱりVBで他言語のdllはコーディングし直さないと使えないのですか
VCで書いたライブラリをVBで利用するための詳しい解説付きサイトがあったので
C#のもいけるかなと思ったのですが
385:デフォルトの名無しさん
08/05/26 19:39:03
つか、inifile読み書きクラスって、車輪の再発明もたいがいにしろって感じ
386:デフォルトの名無しさん
08/05/26 23:28:12
>>384
「VC#で書いたライブラリをVBで利用するための詳しい解説付きサイト」を探して読め
387:デフォルトの名無しさん
08/05/27 10:49:51
ファイルAとファイルBのCSVファイルの内容を比較するプログラムを作る時
みなさんならどうしますか?
自分はまだ知識が乏しいので
それぞれのファイルをSystem.IO.StreamReaderを使ってオープンして
一行読み込むたびに,区切りのデータをArray変数にsplitで代入して
GetUpperBound(0)で最大を把握しながらArrayの各値を比較しています
先に全部のデータを変数かデータベースに読み込んでから比較したら
比較速度はかなり増しますか?
388:デフォルトの名無しさん
08/05/27 11:01:04
Dim tmp1(),tmp2() as string
Dim CSV1 As New System.IO.StreamReader(ファイル1, System.Text.Encoding.Default)
Do Until CSV1.Peek() = -1
tmp1 = Split(CSV1.ReadLine(), ",")
Dim CSV2 As New System.IO.StreamReader(ファイル2, System.Text.Encoding.Default)
Do Until CSV2.Peek() = -1
tmp2 = Split(CSV2.ReadLine(), ",")
''''ここに比較処理
Loop
CSV2.Close()
Loop
CSV1.Close()
>>387 実際のコードはこのような感じです
比較処理時間を短縮出来るもっと効率の良い方法があればご教示お願いします
389:デフォルトの名無しさん
08/05/27 11:22:21
>>387
.NETの話題ならスレチだが。
VB6以前なら
Dim FSO As Scripting.FileSystemObject
Dim sFileA As String
Dim sFileB As String
Set FSO = CreateObject("Scripting.FileSystemObject")
sFileA = FSO.GetFile(FileAのパス).OpenAsTextStream(ForReading).ReadAll
sFileB = FSO.GetFile(FileBのパス).OpenAsTextStream(ForReading).ReadAll
Set FSO = Nothing
If sFileA = sFileB Then
MsgBox "同じ"
Else
MsgBox "違う"
End If
ってやるとめっちゃ早いけど。
行単位比較だったら取得したファイル内容を、
SplitでvbNewLineを区切り文字にして配列ゲットしてループ&比較かなぁ?
それにしても携帯でコード書くと疲れるな。
390:デフォルトの名無しさん
08/05/27 11:42:36
比較してどこが違うか具体的に示す必要があるなら、それでいいんじゃない
ただ異なっているかどうかだけでいいならバイナリで読み込んで比較するけど
391:デフォルトの名無しさん
08/05/27 11:49:22
>>390
その手があったか>バイナリ
392:デフォルトの名無しさん
08/05/27 11:56:42
>>389-390
ありがとうござます
>比較してどこが違うか具体的に示す必要があるなら
やろうとしてることがまさにそれなので>>387の方法で比較するしかなさそうですね
みなさん、とても助かりました
393:デフォルトの名無しさん
08/05/27 16:02:59
まずはファイルのサイズを比較して異なっていたら別物、同じなら中身を調べる、って処理を入れるのもアリだ
394:392
08/05/27 19:38:04
DoEventをやめて
BackgroundWorkerで完全なマルチスレッドにしたら
処理速度にかかる時間が以前の半分くらいと かなり早くなりました
マルチスレッド化はロジックが結構複雑で
今までやりたいなと思いながらも結局はDoEventで代用してましたが
やってみたら意外と簡単でいい勉強になりました
395:デフォルトの名無しさん
08/05/27 19:43:13
ループにDoEvent入れてたってオチじゃないだろうな
396:デフォルトの名無しさん
08/05/27 20:27:52
細かいようだが訂正
× DoEvent
○ DoEvents
397:デフォルトの名無しさん
08/05/27 20:51:27
>>394
スレタイにいいかげん気づこうな
398:デフォルトの名無しさん
08/05/27 22:30:43
携帯プログラミング
テキストボックス1に文字が出る
ボタン12個
ボタン1(1)
ボタン2(2、A,B,C)
ボタン3(3、D,E,F)
・・・
ボタン9(9、W,X,Y,Z)
ボタン10(*)入力画面を初期化
ボタン11(0)
ボタン12(#)同じ文字・数字をつづけて入力できる
多いですがプログラミングコードを教えてください。
本当によろしくお願いします。
399:デフォルトの名無しさん
08/05/27 22:33:39
>>398
ここは宿題スレではありません
400:デフォルトの名無しさん
08/05/28 00:20:58
>>398
そんな簡単過ぎるコードも書けないのか今時の学生って
ホントに勉強してるの?
401:デフォルトの名無しさん
08/05/28 01:40:47
グーグルツールバーみたいに入力候補がでるテキストボックス作りたいんだけどどうやるのがいいんだろう
検索対象の件数が増えると使い物にならないようなのしか作れん・・
402:デフォルトの名無しさん
08/05/28 01:44:56
候補の用意ができたとして、
表示する部分は、シェルにIAutoCompleteなどというものがあるらしいが、
VBから使えるのかどうかわからない、すまん。
403:デフォルトの名無しさん
08/05/28 03:17:40
>>401
ユーザーコントロールでコンボボックスとセットにして、
入力されたらリストだけドロップして見せればいいんじゃね
404:デフォルトの名無しさん
08/05/28 12:54:04
環境はWindowsXP PRO SP3 WSH5.7です。
以下のコードを実行すると、"1 2 ... 19 20"という結果になります。
For i = 01 To 20
j = j & " " & i
Next
WScript.Echo j
実行結果が、"01 02 ... 19 20"となるようにするには、
どうすれば良いでしょうか?
405:デフォルトの名無しさん
08/05/28 13:54:53
やらんとすることはゼロサプレス無しの2桁化でいいのか?
j=j+" "+format(i,"00")
ところでjの初期化は?
406:デフォルトの名無しさん
08/05/28 14:31:56
For i = 101 To 120
j = j & " " & mid(i,2)
Next
WScript.Echo j
407:デフォルトの名無しさん
08/05/28 16:04:31
>>405
レスどもです。VBSではformatが無いようで動きません。
FormatNumberとかはあるんですけど欲しい動作はなくて。
>>406
こういうトリッキーなやり方があるんですね。動きました。ありがとうございます。
408:デフォルトの名無しさん
08/05/28 20:13:51
ゼロパディングって言え
409:デフォルトの名無しさん
08/05/28 21:52:39
失礼な
tricky
────────
形 ①ずるい,こうかつな
②手のこんだ,扱いにくい,巧妙な
410:デフォルトの名無しさん
08/05/28 22:58:24
VBScriptはスレ違いのような
411:デフォルトの名無しさん
08/05/28 23:19:34
>>410
くだらんレスをするな。モレモナー
412:デフォルトの名無しさん
08/05/29 08:27:54
うんスレチガイだね
413:デフォルトの名無しさん
08/05/29 08:55:59
パディングとサプレスの区別が付いていない奴の居るスレはここですか?
414:デフォルトの名無しさん
08/05/29 09:03:46
VS2008のC++に移行しようと思って少しさわってみたけど
コマンドの候補を表示してくれるインテリセンス機能ってないのか・・
さらに敷居が高くなった
415:デフォルトの名無しさん
08/05/29 10:33:35
>>410-412
>>1
416:デフォルトの名無しさん
08/05/29 13:40:32
Right("0" & i, 2)とかやらない?
417:デフォルトの名無しさん
08/05/29 14:30:56
Right(100+i, 2)
418:デフォルトの名無しさん
08/05/29 18:14:03
>>417
ふいたwwwwwwww
どうしても数値でやりたいのかwwwwwwwwww
419:デフォルトの名無しさん
08/05/29 18:42:16
>>417
それだと14桁で限界くるだろ
420:デフォルトの名無しさん
08/05/29 18:50:50
でもありだな
>>416だろjkくらいしか思わなかった
421:デフォルトの名無しさん
08/05/29 20:35:30
trickyだね
422:デフォルトの名無しさん
08/05/29 22:28:35
VBで標準出力に出力ってどうやるんですか?
423:デフォルトの名無しさん
08/05/29 22:52:10
ぐぐれ
424:デフォルトの名無しさん
08/05/30 00:53:16
ProgressBarを描画させながらその上でラベルを使って進行状況の%表示をさせると
ラベルの背景が透明にならず不格好なので
PictureBoxの疑似プログレスバーで 背景をDrawStringで透明にして%の文字を描画させたら
通常のプログレスバーよりとてつもなく描画処理が遅くなってしまい困っています
プログレスバーの上に 進み具合を背景透明な文字で%表示させても高速に描画させる
いい方法はないでしょうか?
425:デフォルトの名無しさん
08/05/30 01:28:04
オーナードローで文字を置けば?
426:デフォルトの名無しさん
08/05/30 01:40:29
プログレスバーの上にラベル表示ってどうやるの?
配置してみたら下になっちゃうんだけど・・
427:424
08/05/31 10:25:49
カスタムプログレスバーで ものすごく良いサンプルがありました
URLリンク(www.codeproject.com)
これバーの部分にオリジナル画像使えたり色々なところが調整出来てスゴイです
でもやはりプログレスバーと処理時間比較してみると
何倍か時間がかかりますね、負荷を減らしつ表示するにタイマー使えばいいのかな
428:デフォルトの名無しさん
08/05/31 10:28:55
修正
>でもやはりプログレスバーと ×
>でもやはり標準のプログレスバーと ○
429:デフォルトの名無しさん
08/05/31 12:05:01
>>427
確かにそのサンプルすごくいいな
ただのプログレスバーがそこまで自由にカスタム出来るとは思わなかった
430:デフォルトの名無しさん
08/05/31 12:30:27
Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
'x2乗値を計算して、書き出すだけの問題
Dim intA, intB, intC, intD, intN1, intN2, intM1, intM2, intT As Integer
intA =
intB =
intC =
intD =
intN1 =
intN2 =
intM1 =
intM2 =
intT =
TextBox9.Text =
'この問題で使う関数は絶対値を求めるMath.Absだけ
End Sub
visual basic 2003 です。=の後に入る答え教えてください。
431:デフォルトの名無しさん
08/05/31 13:05:08
断る
432:デフォルトの名無しさん
08/05/31 13:11:49
なにその低レベルな宿題
433:デフォルトの名無しさん
08/05/31 14:40:57
スレタイが読めないレベルの人になに言っても無駄
434:デフォルトの名無しさん
08/06/05 11:29:07
VB6で文字を書くとき、OSのアンチエイリアス無効にすることってできる?
435:デフォルトの名無しさん
08/06/09 14:26:05
あと1年半でWindows7が出て、自作のVB6プログラムが動かなくなりそうなので、
VC++に移植作業を始めたけど、案外するすると移植できるもんだね。
VBではClassモジュールとFormしか使わなかったからかな。
C++は配列の代わりにvectorが使えるから楽だね。
436:デフォルトの名無しさん
08/06/09 14:27:45
Windows7だとVB6は動かないの?
437:デフォルトの名無しさん
08/06/09 14:39:25
MSが、VB6のコンパイラはもうサポート外
つくったEXEはVistaまではサポートに努力するが、それももう終わり
って事だろ
438:デフォルトの名無しさん
08/06/10 00:29:10
あと1年半じゃ新しいOSは出ないと思うぞ。まVistaみたいに1年間も有料ベータテストを
やるっていうのなら可能性はなくもないけど。常識的には2012年ごろかな?
439:デフォルトの名無しさん
08/06/10 10:46:22
じゃあVB6で作られたシステム使い続けてる多くのユーザーさんから
爆発的な量の案件がやってくるってことになるのかな?
新しいOS出た途端にってことは無いだろうけど。
動作テストして、VB6のシステムが動かなかったら
そもそもOS変えないかもだけどw
440:デフォルトの名無しさん
08/06/10 11:24:53
Vistaにしたら動かなくなったソフトなんてよく聞くだろう
VB6でもなんでも、ディレクトリ決め打ちとかせずにきちんと書けば、次のOSでも動くかと
MSがVBランタイムを次のOSで殺せば全滅だが
441:デフォルトの名無しさん
08/06/10 11:45:27
VB6.0 SP6 なんですが、A dministrator権限のないユーザから
OCXを使用することはできるでしょうか?
レジストリに登録せずに参照する方法があれば教えてください
442:デフォルトの名無しさん
08/06/10 12:00:40
コレクションについて質問です。
キー文字列からインデックスを得る事は可能でしょうか?
443:デフォルトの名無しさん
08/06/10 17:41:20
VBAで素数判定するプログラムを作らなきゃいけないのですが、作り方が分かりません。
フォームは作れるんですが。。
どうやって作ればいいのでしょうか?
誰か教えて下さいませ。
444:デフォルトの名無しさん
08/06/10 17:57:57
>>443
素数判定がわからないのか
VBAがわからないのか
VBAで再現する方法がわからないのか…
VBAだし
445:デフォルトの名無しさん
08/06/10 18:15:03
VBAはある程度分かるんですが、素数判定をVBAで再現する方法がわからないです。
private sumとかはわかります
446:デフォルトの名無しさん
08/06/10 19:06:15
宿題は自分でやりなよ
447:デフォルトの名無しさん
08/06/10 19:45:28
ここは質問スレだから聞いてるんです。。
448:デフォルトの名無しさん
08/06/10 20:02:41
Public Function 素数判定(数) As Boolean
If 数 Like "素数" Then
素数判定 = True
Else
素数判定 = False
End If
End Function
449:デフォルトの名無しさん
08/06/10 21:15:32
>>445
private sumって何?
450:デフォルトの名無しさん
08/06/10 21:38:54
>>448
感動した
451:デフォルトの名無しさん
08/06/10 21:53:51
>>441
manifest使えばレジストリへの登録をせずにOCXを使える(XPから)。
URLリンク(www.microsoft.com)
452:デフォルトの名無しさん
08/06/11 01:33:30
>>447
はいって何だよ。出来んのかよ。さっきから何度も。何がはいなんだよ。
出来もしねえ奴が軽々しくはいなんて言うんじゃねえよ。
わかってんのかよ。はいって言う事の責任の重さを。
社会勉強のつもりでやってんだったら辞めろおまえ。
453:デフォルトの名無しさん
08/06/11 01:41:32
素数判定wwww
そのくらい自分で書くかググれよwwwww
サンプルソース結構多いのにアホかとwwwwww
…って宿題か。
ここは宿題スレではないからスレチだな。うんうん。
454:デフォルトの名無しさん
08/06/11 09:18:44
VistaでVB6の環境立ち上げるとOLEレジストリへのアクセスエラーですってメッセージが
毎回表示されるんだけど回避方法ありませんかね?
その後は普通に動作するんだけど気分悪いよ。
455:デフォルトの名無しさん
08/06/11 11:46:00
VB6ってXPにすら対応してないのに
456:デフォルトの名無しさん
08/06/11 12:15:15
「OLEレジストリへのアクセスエラー VB6」sw\\でぐぐった1つめ
URLリンク(blog.heiichi.com)
457:デフォルトの名無しさん
08/06/11 13:00:20
>>455
( ゚Д゚)ポカーン
458:デフォルトの名無しさん
08/06/11 19:25:39
>>456
ありがとう。
やってみます。
459:デフォルトの名無しさん
08/06/12 13:08:35
>>443
で、宿題はできたかい?
添削ぐらいならしてやるよ
460:デフォルトの名無しさん
08/06/12 16:05:25
メニューバーの「表示」からコマンドとデザイナの項目が消えて、ファイルを
読み込んで続きをデザイナで作成することができなくなってしまいました。
どうしたらデザイナ画面を復活させられるのでしょうか?
461:デフォルトの名無しさん
08/06/12 16:42:55
>>460
メニューバーから開いたことがない俺ですこんにちは
俺はいつもプロジェクトエクスプローラから開いてるなぁ
462:デフォルトの名無しさん
08/06/12 22:05:02
MSflexgridで一番上と下の行を固定させる方法を誰か教えてー(;_;)
463:デフォルトの名無しさん
08/06/14 00:48:17
XMLHTTPでリクエストするときって、ポート80じゃないの?
464:デフォルトの名無しさん
08/06/16 15:22:25
あるデザインから他のデザインへクリック1回で飛べるようにしたいのですが、
リンクラベルのどの項目をいじって配置すればいいのかよくわかりません。
どうすればできるようになるのでしょうか? 教えてください。
465:デフォルトの名無しさん
08/06/16 16:01:34
先にシャワー浴びて来いよ
466:デフォルトの名無しさん
08/06/16 16:59:48
WinXPでVB6.0+クリスタルレポートでの開発をしています。
クリスタルレポートのバージョンは何が正しいのか不明ですorz
とりあえず既存ソースを動かしたいがCRPEAutoでコンパイルエラーを起こします。
クリスタルレポートはバージョン不明ながらクリスタルレポート9をインストールしました。
Crystal Reports 9 ActiveX Designer Runtime Libraryを参照したが解決しません。
コンパイルエラーなので参照を指定すれば良いと思ったのですが根本的に勘違いしてますか?
何か参照する対象を間違えてますか。
467:デフォルトの名無しさん
08/06/16 20:22:31
>>466
GrapeCityのActivereportをかいなよ。
468:デフォルトの名無しさん
08/06/16 23:47:14
>>466
一度、元々のプロジェクトファイル(*.vbp)をテキストエディタで開いてみると良いかと。
469:デフォルトの名無しさん
08/06/16 23:50:51
xx
470:468
08/06/16 23:55:09
いちおう説明追加しとくと、
「Reference=~」となってるのが、参照設定
「Object=~」となってるのが、コンポーネントね。
471:デフォルトの名無しさん
08/06/17 00:00:16
昨晩、車で猫を轢いちまったばっかりなんでな・・・・
頭がタイヤの下に入っちまったようで、ゴリッと鈍い音がした・・・
たぶん即死だったと思われ。気のせいか眠るときに「ニャ」という声が聞こえた。
今日も聞こえるかと思うと恐くて恐くて・・・もうorz
472:デフォルトの名無しさん
08/06/17 00:18:36
……ぉ…ま……ぇ………ヵ……
473:デフォルトの名無しさん
08/06/17 01:50:46
……ヵッォ……
474:466
08/06/17 10:44:45
> 467
たぶん、予算がありませんorz
> 468
ありがとうございます。
参照しているdllに関しては同一名(パスは違った)を参照しているので問題はないはずなのですが
もうちょっと頑張ってみます。
475:デフォルトの名無しさん
08/06/17 11:10:20
無駄にしている時間、日数の給料分を考えれば買ったほうがいい場合もある
予算の効果も考えろ
476:デフォルトの名無しさん
08/06/17 12:24:35
>>475
会社の実態を知らないなんで無職の方ですか?
問答無用で稟議が通らないなんてザラですが?
477:デフォルトの名無しさん
08/06/17 12:29:08
クリスタルレポートって重くねーか?
改良試作費で買ったけど使い物にならないんで放置。
どうせ捨てるんでよければあげるよ。
これが使える用途って元々かなり大きくて思いシステムで
帳票系の負荷が表に出て来ないようなシステムだろうな。
軽量化が望まれる俺たちのプロジェクトでは到底使えない。
478:デフォルトの名無しさん
08/06/17 12:33:40
>>476
馬鹿な会社に勤めてるんですね
恥ずかしくないですか?
479:デフォルトの名無しさん
08/06/17 12:38:48
>>478
会社が馬鹿なんじゃなくて、稟議が通るように根回しできない奴が馬鹿なのでは?
俺なんて秘書課の姉ちゃんとデキてるからやりたい放題だぜ。
480:デフォルトの名無しさん
08/06/17 13:30:57
プロジェクトの予算や納期などもわからない物件に対して、ああだこうだと
言うことになんか意味があるのか?
481:デフォルトの名無しさん
08/06/17 13:34:53
今話してるのは概念的なことだろうよ?
何もプロジェクトの詳細を知る必要はないだろう?
482:デフォルトの名無しさん
08/06/17 13:36:50
問答無用ですか
馬鹿ですね
483:デフォルトの名無しさん
08/06/17 13:38:02
何もかも「馬鹿」という言葉で集約するのはよろしくない。
それこそ「何とかの一つ覚え」と言われてしまうよ?
484:デフォルトの名無しさん
08/06/17 13:39:17
>>482
劣勢だなwww
485:デフォルトの名無しさん
08/06/17 13:41:17
>>475-476,478-479
お前らの会話がVB(6.0以前)製煽りプログラムならいいが、
そうでないならスレ違いだ。
486:デフォルトの名無しさん
08/06/17 13:41:55
集約できてしまうんだよな
馬鹿は馬鹿でしかない
487:デフォルトの名無しさん
08/06/17 13:43:38
>クリスタルレポートはバージョン不明ながらクリスタルレポート9をインストールしました。
何気に見落としたが、この行為って超怒級の大馬鹿じゃね?
どう考えてもやることがプロじゃねぇよwww
488:デフォルトの名無しさん
08/06/17 13:44:35
>>481
ああ、レスの流れを読み返したらそうだった。orz
「一考の余地がありますよ」→「実態も~」?
ってことね。
489:デフォルトの名無しさん
08/06/17 13:46:05
ちょっと冷静になろうぜ。何に対して怒ってるのか明確にしてくれ。
まずはクリレポのA君からどうぞ。
490:デフォルトの名無しさん
08/06/17 13:52:44
まずは俺がCrystal Reports ActiveX のバージョンを明確にしてやろう
プロジェクトファイルをエディタで開いてObject =から始まる文を全部コピーしてここに貼り付けてみなよ。
491:デフォルトの名無しさん
08/06/17 13:54:39
>>490
たぶん、プロジェクトファイルがどれかもわからない素人かと...
492:デフォルトの名無しさん
08/06/17 13:57:17
>>466
よく読み返したら素人だな。よくもまあみんな釣られたもんだなw
493:デフォルトの名無しさん
08/06/17 13:59:31
>>490
ActiveXの自動アップデート機能で既に書き換わってると見た。
実行環境の方は互換が保障されていれば上位のコンポーネントでも動くのだが、
開発環境の方はバージョンは絶対変えたらいけない。
実際無闇にパッチや他のソフトも入れられないことがあるのだ。
494:デフォルトの名無しさん
08/06/17 14:02:16
>>493
いや、もちろん>>468が言うようにオリジナルのをという意味だ。
素人だからオリジナルをそのまんま使ってしまったかも知れないがなwwww
俺たちプロは絶対にそんな過ちをしないもんだぜ。
495:デフォルトの名無しさん
08/06/17 14:04:40
>>493
俺はLEADTOOLSで酷い目に遭った事がある。
GUIDは同じでバイナリ互換なのにメソッドの仕様を変えてきやがった。
普通。インタフェース仕様を変えたらGUIDを変えるもんじゃないのか?OCXは
それ以降、恐くてアップデートできなくなった。
496:デフォルトの名無しさん
08/06/17 14:12:21
>>495
バイナリ互換にしなかった場合を考えればわかると思うが?
プロジェクトの変換でもしない限り新しいバージョンに差し替えられなくなる。
実際にはOCXの製品バージョンアップでもない限りGUIDは変更されないものだ。
497:デフォルトの名無しさん
08/06/17 14:15:36
パッチ毎に挙動が変わるBocSpreadSheetと共存してた俺は、もはや菩薩だな。
498:デフォルトの名無しさん
08/06/17 14:19:36
>>497
Spreadは2~7まで使って来たがバージョン内ではそんなに大きな仕様変更はなかったぞ?
まあ確かに若干の挙動の変化はあったが俺としては許せる範囲だった。
そんなことを言ってたらLEEDTOOLSなんて絶対に使えないぞ。
同一バージョン内でリペイントの仕様を変えられて、全フォームで画像が表示しなくなったんだから!
びびるよまったくwwww
499:466
08/06/17 14:21:47
えっとですね、VBPではクリレポ9を参照してるんですが、11を使えと言われるようなプロジェクトです。
だからとりあえずクリレポ9を入れたんですよ。
既存ソースを動かして大枠を理解したいので。
後は基本仕様書はないけど詳細設計書だけがあるとか、
でも詳細設計書もまともに書かれてないです
過去にプロジェクトに関わった人が辞めていないor忙しすぎてどこにいるのかも分からん
という形なので困ってるという所です。
VBに関しては素人なんですが(一応7年この業界にいます、仕事でVBを触ったのは3ヶ月程度)
基本Javaメインでやってて今回火消し要員で途中から入れられた、
このプロジェクトに関わってる人間が1年目~2年目の人間だけ。
環境設定手順書にも一切記述なし。
俺にどうしろっちゅうねん!!(来月退職届出す予定)
500:デフォルトの名無しさん
08/06/17 14:27:07
>>499
それはデザインとランタイムのバージョン不一致やん。
CRはそれが現実として起こり得るから恐いんだよね。
501:デフォルトの名無しさん
08/06/17 14:29:20
>>499
どおりで素人臭いわけだな・・・
最初からそこまで詳しく書いていれば荒れずに済んだものを・・・
クリレポ使いのおいらにはもう解決の方法は概ねわかったよ。
ちょっと面倒くさいがやってみるか?
502:デフォルトの名無しさん
08/06/17 14:31:17
それこそ、vbpのテキストを貼り付けたらいいじゃないの。
コンパイルエラーが出るような場合、多くは「古いVer」だし。
「とりあえず」って言葉が誤解を招いているのに気付いてる?
503:デフォルトの名無しさん
08/06/17 14:32:27
>>502
まあまあ、相手はJava使いでVB素人さんだ。もっと優しくしてやろうぜ!
504:デフォルトの名無しさん
08/06/17 14:35:35
>>499
それなら9じゃなくて11をインストールするだろ普通は?
505:デフォルトの名無しさん
08/06/17 14:37:36
おそらく11をインストした環境で9で設計したんだろうよ?
506:デフォルトの名無しさん
08/06/17 14:38:57
ランタイム配布する時にどうするつもりなんだろ???
おそろしやおそろしや・・・
507:466
08/06/17 14:47:46
言葉不足でした、申し訳ありません。
VBPからReference部分を抜き出しました。
4行目の指定からクリレポ9を使うべきなのか?と思っていました。
Reference=*\G{00020430-0000-0000-C000-000000000046}#2.0#0#..\..\..\..\..\..\..\..\WINDOWS\system32\stdole2.tlb#Standard OLE Types
Reference=*\G{EE008642-64A8-11CE-920F-08002B369A33}#1.0#0#..\..\..\..\..\..\..\..\WINDOWS\system32\MSRDO20.DLL#Microsoft Remote Data Object 1.0
Reference=*\G{00025E01-0000-0000-C000-000000000046}#5.0#0#..\..\..\..\..\..\..\..\WINDOWS\system32\DAO360.DLL#Microsoft DAO 3.6 Object Library
Reference=*\G{AF376990-6120-4E28-96DD-63FD2DC27B7A}#9.0#0#..\..\..\..\WINNT\system32\craxdrt9.dll#Crystal Reports 9 ActiveX Designer Run Time Library
VBP内の記述はどこまでならWeb上に出せる情報かも分かっていません。
すみません。
後は記述しなきゃいけないと思われる内容は
どうもDBから直接データを抽出するのではなくて
一度MDBファイルに落としてそっからレポートとして出してると見ています。
プロジェクト内にデザイナは存在しない。
その為にシステム共通のbasファイルがあってそこにCRPEAutoの記述がある。
ここでコンパイルエラーです。
過去に携わった人とちょっとだけ連絡取れて話が聞けたので
クリレポ11をインストールしました、またDLLも使うべきDLL(貰えた)で上書きしました。
でもエラーが消えていない状況です。
また、孫受けな為環境の変更に口出し出来ません。
508:466
08/06/17 14:55:58
> 501
是非是非教えて下さい!お願い致します。
509:466
08/06/17 15:01:51
追記:11を入れた後に参照してるのは
Crystal ActiveX Report Viewer Library 11.0
Crystal ActiveX Report Viewer Export Library 11.0
Crystal ActiveX Report Viewer Web Report Source Library 11.0
の3つです。
510:デフォルトの名無しさん
08/06/17 15:04:08
>>508
以前、同じ問題に遭遇した事がある。そのときAGTechからもらった
CRPEAutoコンポーネント整合性修復ツールがあったと思うので探してみるよ。
ちょっと待ってて。
511:デフォルトの名無しさん
08/06/17 15:06:02
環境が無いから、なんともいえないけど、コンパイルエラーが出るオブジェクト
または、メソッドについて、どもようなえらーが出るかで、対応は変わると思います。
エラーの内容(大事だよね)も必要かと。
512:511
08/06/17 15:08:31
「どもような」?orz
まあ、そんな感じです。
513:466
08/06/17 15:09:09
Object =に関してはクリスタルレポート関連は参照していないと思います。
システム固有のocxも入ってますので晒すとまずそうなんですが・・・
マイクロソフト系が2つ、スプレッドシート用が1つ、後はシステム固有が2つという状況です。
514:デフォルトの名無しさん
08/06/17 15:10:15
セクションとかじゃなくアプリケーション、たとえば
Dim app1 As CRPEAuto.Application
の段階でエラーが出ると理解してるが?違ったりして・・・
515:466
08/06/17 15:13:21
失礼しました。
エラー内容は以下です。
コンパイルエラー:
ユーザ定義型は定義されていません。
516:466
08/06/17 15:17:10
514の方の理解で合ってると思います。
ソース内の
Dim XXX As New CRPEAuto.Application
上記部分がエラーメッセージが表示された時に青くマーキングされます。
VBももうちょっと触っとけば良かったorz
517:デフォルトの名無しさん
08/06/17 15:17:20
>>515
エラー発生行の内容(コード)は?
518:デフォルトの名無しさん
08/06/17 15:17:25
参照設定、コンポーネント、または、バージョン不一致だな。
DLLだけ持ってきてホニャホニャしたなら別だが…
519:466
08/06/17 15:24:42
> 517
515で記述したメッセージ以外は表示されていません。
エラー発生行のコードは516に記述している通りです。
どの参照をチェックすれば良いのか分からず
クリレポ関係の参照を全部チェックしてみたり、
コンポーネントを全部チェックしてみたりしたのですが駄目でした。
どっか根本的な所で勘違いしているのかもしれません。
520:デフォルトの名無しさん
08/06/17 15:32:21
まさかとは思うが CRPEAuto.dll がレジストされていないんじゃないのか?
regsvr32 CRPEAuto.dll はやってみた?それでエラーにならない?
521:デフォルトの名無しさん
08/06/17 15:39:13
クリーンな環境でCR11をインストして、Dim XXX As New CRPEAuto.Applicationが正常に
実行できる環境を作って、下のツールを使って CRPEAuto.dllとコンポーネントとの依存性を
確認してみたら?
URLリンク(www.programmersheaven.com)
それを現在の環境とで比較すれば、原因がわかるはず。
522:466
08/06/17 15:40:19
> 520
regsvr32 CRPEAuto.dllはやっていません。
CRPEAuto.dllというdllファイルがないのですが、
こちらはCRPEAuto.dllというファイル名のファイルが存在しなくても実行可能ですか?
523:デフォルトの名無しさん
08/06/17 15:45:16
>>522
お前は何を言っているんだ
524:466
08/06/17 15:47:12
貰ったdllはクリスタルレポート11の
\Common Files\Business Objects\3.0\crystalreportviewers11内にある
ActiveXControlsをフォルダ事上書きしてくれと言われたので上書きました。
フォルダ内にはcab、dep、dll、oca、ocxが入ってました。
525:デフォルトの名無しさん
08/06/17 15:52:25
>>524
上書きしただけでレジストしてないのか?
レジスト内容は9の当該コンポーネントのままだったり?
JAVAとは違うんだぞヲイ
526:デフォルトの名無しさん
08/06/17 15:53:27
>>522
>CRPEAuto.dllというdllファイルがないのですが、
もしかして壮大な釣りだったの?
527:466
08/06/17 15:54:06
> 523
ごめん、俺自身良く分かっていない。
URLリンク(home.att.ne.jp)
↑を見て
regsvr32 CRPEAuto.dllをコマンドプロンプトで実行してみた。
指定したモジュールが見つかりませんと出てきた。
> 521
いまいち理解出来ていないが頑張ってみる。
俺テンパってるな・・・orz
もしかして、VBの場合のdllのファイル名が
CRPEAuto.Application
↑のここと一致するのか?
Javaのクラス名とファイル名を一緒にするとかとちょっと似たようなもの?
528:466
08/06/17 15:58:29
> 526
すまんが釣りのつもりはない!
VB素人でいきなり放り込まれて本当に訳が分かっていない。
Javaで例えてもらえると助かる。
Javaで言うと現在の状況はimport文の対象先が見当たらないから
コンパイルできないと怒られていて
import文の対象さえ見つかればどうにかなるんじゃないかな?
という認識だけど根本的に間違ってる?
529:デフォルトの名無しさん
08/06/17 15:58:52
>>527
Javaのアプレットは登録しなくても良いだろうが
OCXとか DLLはregsvr32で登録しないと参照できないんだよ。
君の環境ではCR9は登録されているのは間違いないが
CRPEAutoの構成こんぽーねんとはコピーされただけで登録されていない。
登録された位置に参照DLLが存在しないとレジスト自体ができないはず。
VB6は簡単だと思ったかも知れないが、一歩踏み込めばOLEオートメーション
という地獄が口をあけて待ってるのさ。君はその口の中にどっぷり入ってしまったわけよ。
おめでとうWWWW
530:529
08/06/17 16:00:11
単にDLLと言ったがActiveX DLLな。
もしかしてDLLが二種類あるのも知らないだろ?
531:デフォルトの名無しさん
08/06/17 16:11:12
>>466
お前が偉そうな態度で物を言ってたから少しはデキル奴だと思っていた。
今、それが大きな間違いであった事に気付いたw
532:466
08/06/17 16:15:21
> 529
えっと・・・やっぱりCR9をインストールしないといけなくて、
その後でCR9にあるCRPEAuto.dllというファイル名のファイルをregsvr32で登録しましょう
という理解であってますか?
CR9をアンインストールしてCR11を入れてWindowsのファイル検索で「CRPEAuto.dll」を検索したけど出てこなかった。
DLLが2種類あるのは遠い昔に勉強した気がするが最近は一切触ってないので覚えていませんでした。
533:466
08/06/17 16:21:51
> 531
偉そうだったか・・・すんません!!
とりあえずVB素人なのは確定でお願いします。
プログラムを組んだのもこの業界に飛び込んでからで専門的に教えてもらった事もないorz
2chで技術的な質問をきちんとしたのは今回始めてで、
今まではググったり、自分で調べればどうにかなったのだが
今回は本当に何がなんだか訳分かっていないで準備期間も用意出来なかった。
534:デフォルトの名無しさん
08/06/17 16:26:13
>すんません
などとふざけた態度とる奴に、お前はどう接する?
535:デフォルトの名無しさん
08/06/17 16:29:20
>>466
お前の技量と目前にしている問題の大きさとがつりあわない。
困ったね。と、他人事だから軽く言うw
でも自分の問題だとしたらかなりやっかいだね。
正常に動いている時の状態があればまだしも
これじゃ複雑なパズルを解くようなもんだよ。
536:デフォルトの名無しさん
08/06/17 19:56:13
VB6 において
_DragDrop() について、対象オブジェクト上での発生時
およびそれ以外での発生時ごとの処理が行いたいのですが、
どうやら一括しての「それ以外」処理は行えない様子
それではと言うことで _MouseUp() 時に処理を行えばいいかと
思ったのですが、DragDropを「0 - 手動」にしたうえで
_MouseDown() 内で .Drag を発生させると
その後マウスを放しても _MouseUp() が生じません
なぜかダブルクリックを行うと2回目の放したタイミングで
_MouseUp() が発生します
これはどのようにすれば対応可能でしょうか
537:デフォルトの名無しさん
08/06/17 19:57:12
過去「VB初心者質問スレ Part4」において同じ悩みであろう
657 名前: デフォルトの名無しさん 投稿日: 01/12/27 16:22
Drag&Drop後のMouseUpイベントを取得する方法について教えて下さい。
具体的には...
DragModeを手動にし、MouseDows時にDragメソッド(引数 1)で
Drag&Dropを行うのですが、Drag&Drop後のMouseUpイベントが
取得できません。
フォーム外にDragされた場合に、イベントを取得できないので、
MouseUpであれば、フォーム外でもイベント取得できるので、
どうにかMouseUpを取得できれば良いのですが
と言うのがありましたがレスがなかったようでした
538:466
08/06/17 21:21:45
失礼しました、少し頭を冷やしてきます。
お騒がして申し訳ございません。
539:デフォルトの名無しさん
08/06/18 23:24:52
xpとvb5.0を使ってます
バイナリアクセスでファイルを読み書きしたいのですが・・・
レコード位置の指定方法がわかりません。
構造体に値を入れてから
putで入れてるのですが
そのときにレコードの位置をセットする方法がわかりません。
2番目のレコードを取得するにはどうすればいいのですか?
ここのやり方でほぼそのまま作ったのですが
URLリンク(support.microsoft.com)
seek(#1)とやるとエラーがでました
あと
if EOF(#1)=true thenも
記述エラーが出ました
Seekでビット位置を取得しようと思ったのですが他にやり方があるのでしょうか?
また
持ってる本には
PRecord.FName = String(StrSize," ")が
String$
StrSize = Len(PRecord.FName)が
LenBだったのですが
それぞれの違いがわかりません
540:デフォルトの名無しさん
08/06/19 16:06:38
すみません。ピクチャーボックスを回転させるには
どうしたらいいでしょうか?
541:デフォルトの名無しさん
08/06/19 16:29:35
そんなものはないから相応のコード書け
542:デフォルトの名無しさん
08/06/19 16:51:48
PlgBltというAPIがありました。
543:デフォルトの名無しさん
08/06/20 00:35:54
>>539
なんだかよくわからない質問だけど、
seek(#1) → Seek(1)
EOF(#1) → EOF(1)
関数の「$」有無は、引数がNULL値の場合にNULLを戻すとか、エラーにするとか。
Lenは文字数、LenBはバイト数。
全部ヘルプに書いてある希ガス。
544:デフォルトの名無しさん
08/06/20 17:24:49
>466がかわいそうだ
今後こういうパターン増えていくんだろうな
545:デフォルトの名無しさん
08/06/21 12:28:59
>>543
>>539は自分で晒したKBの内容すら読めてない
日本語できない子だから英語で教えてあげて
もしくはスルー推奨
546:デフォルトの名無しさん
08/06/21 16:33:11
VB6ってもう手に入らないんですか?
547:デフォルトの名無しさん
08/06/21 16:33:39
日本語出来ない以前にバイナリアクセスで次のレコードって…
548:デフォルトの名無しさん
08/06/21 16:51:38
>>547
クマーーー
549:デフォルトの名無しさん
08/06/21 17:23:01
>546
MSDN契約しな
550:デフォルトの名無しさん
08/06/21 17:25:16
おいくら?
551:デフォルトの名無しさん
08/06/21 21:48:21
URLリンク(direct.ips.co.jp)
ここによれば単体で160,800円、Open Business2年で67,157円x2=134,314円になる。
552:デフォルトの名無しさん
08/06/23 02:08:39
VB6の値段としては高いな
553:デフォルトの名無しさん
08/06/23 02:18:04
VB6などはMSDNから外されてなかったっけ?
持ってるから興味ないけどさ
554:デフォルトの名無しさん
08/06/23 02:22:41
JAVAを外してVB6.0だけ復帰してたはず
555:日立バキバキ高野くん祭り
08/06/23 19:50:18
1.日立製作所社員の高野くん(高野光弘)が会社を誹謗中傷して機密も漏洩
2.日立のユーザーにも「キチガイ」との障害者差別発言
3.日立製作所の企業イメージをバキバキにする
4.自身のサイトの『32nd diary』に掲載
5.日立製作所に通報される
6.あせって似顔絵削除
7.火に油を注ぐだけで所属する日本UNIXユーザ会にも通報祭り勃発
8.「給料泥棒」と説教される
9.「殺します」と殺人予告をして警察に事情を聞かれる←イマココ
高野光弘の行動
現在は、過去の記事を閲覧できなくして、「本日の日記はツッコミ数の制限を越えています」としています。
まずは、不愉快な思いをされた方々に謝罪するべきなのではないでしょうか。
高野光弘の発言
「まぁ、どこの団体もそんなにヤワじゃないので、平気なんですけども。
日本UNIXユーザ会が一番対応に慣れてる感じ。」
日本UNIXユーザ会が対応に慣れているか、みなさん確認してみてください。
連絡先
URLリンク(www.net.intap.or.jp)
556:デフォルトの名無しさん
08/06/23 21:26:58
536です
上記の件についておわかりになる方、いらっしゃいませんでしょうか
557:デフォルトの名無しさん
08/06/24 00:23:11
>>556
VBだけだと、無理なような気がします。
APIでドラッグ中オブジェクトのシステムメッセージを取ってみると、きちんと
マウスイベントは通知されているようです。
SetWindowLong、CallWindowProc などを調べてみてください。
上記のAPIを使う上での注意点としては、システムからVBの関数にコールバックさせるので、
後始末をきちんとしないと、動作が不安定になることがあります。
558:デフォルトの名無しさん
08/06/24 12:59:05
>557
参考になりました
APIを使わずに回避したかったのですが
仕様ならやむ無しです
ありがとうございました
559:デフォルトの名無しさん
08/06/29 16:04:13
VBScriptで質問があります。
HTMLのselectタグの中のoptionタグをボタンで押すことで、
消したり追加したりしたいんですが、innerHTML以下のようにしたのですが、
駄目でした。どこが悪いのでしょうか?お力を。
ちなみにサーバサイドはASPです。
Sub changeRadio(strFlg)
Dim strAti
Dim strNvidia
<%
Dim strA
Dim strB
Dim intCounter
For intCounter = 0 to rs.recordcount-1
if left(rsGPU.fields.Item("vchGPUName"),1)="A" then
strA= strA & "<option value=""""" & rs.fields.Item("intA") & """"">" & rs.fields.Item("vchA") & "</option>"
else
strN= strB & "<option value=""""" & rs.fields.Item("intB") & """"">" & rs.fields.Item("vchB") & "</option>"
end if
rs.movenext
Next
%>
strAA="<%=strA%>"
strBB="<%=strN%>"
if strFlg="A" then
document.formA.SelA.innerHTML=strAA 'SelAがselectタグです
else
document.formA.SelA.innerHTML=strBB
end if
End Sub
560:559
08/06/29 16:09:26
すいません、2行目訂正ですorz
>HTMLのselectタグの中のoptionタグをボタンで押すことで、
HTMLのselectタグをボタンで押すことでselectタグ内のoptionタグ
でした。
561:559
08/06/29 16:12:03
ああ、また訂正です。。。。駄目だorz
NG
>Dim strAti
>Dim strNvidia
OK
Dim strA
Dim strB
...
562:デフォルトの名無しさん
08/06/29 17:18:29
クライアントサイドはJavaScriptにした方がいいよ
563:デフォルトの名無しさん
08/06/29 17:38:53
VB(笑)
おまえらもう用なしだよw
564:559
08/06/29 17:51:36
selectタグでは駄目なようなので、もう一段階上の階層に対して
InnerHTMLを使うことにしました。
お騒がせしました。
565:デフォルトの名無しさん
08/06/29 19:48:16
treeviewですべてのノードを展開した状態で、上から何番目ってのを取得できるのでしょうか?
親を追加→子を複数追加→孫を複数追加~みたいにノードを追加していくと、
ノードのindexって追加した順番に付いていき、上からの絶対敵な位置にならないので困ってます。
プロパティとか、色々見てみたんですが、なかなか思うようなものがなく。。。
おたすけくださいー。
566:デフォルトの名無しさん
08/06/29 22:50:04
こんな感じの関数を作ればいいんじゃないかと。
Private Function fncGetNodeLine(twCtrl As TreeView, targetNode As Node) As Long
On Error GoTo err_proc
Const C_TREEDEPTH_MAX As Long = 10
Dim lngCnt As Long
Dim lngDpth As Long
Dim nd(1 To C_TREEDEPTH_MAX) As Node
fncGetNodeLine = 0
lngCnt = 0
If twCtrl.Nodes.Count > 0 Then
567:デフォルトの名無しさん
08/06/29 22:50:29
--- 続き ---
lngDpth = 1
Set nd(lngDpth) = twCtrl.Nodes(1).Root.FirstSibling '先頭ノード
Do
lngCnt = lngCnt + 1
If nd(lngDpth) Is targetNode Then
fncGetNodeLine = lngCnt
lngDpth = 0 '対象ノード発見時終了
ElseIf nd(lngDpth).Children Then
Set nd(lngDpth + 1) = nd(lngDpth).Child '子ノード
lngDpth = lngDpth + 1
Else
Do
If Not nd(lngDpth) Is nd(lngDpth).LastSibling Then
Set nd(lngDpth) = nd(lngDpth).Next '次ノード
Exit Do
End If
lngDpth = lngDpth - 1 '一つ上のノードに戻る
Loop While lngDpth > 0
End If
Loop While lngDpth > 0
End If
568:デフォルトの名無しさん
08/06/29 22:50:57
--- 続き ---
exit_proc:
On Error Resume Next
For lngDpth = 1 To C_TREEDEPTH_MAX
Set nd(lngDpth) = Nothing
Next lngDpth
Exit Function
err_proc:
MsgBox Err.Description, vbCritical, "Error"
fncGetNodeLine = -Err.Number
Resume exit_proc
End Function
569:デフォルトの名無しさん
08/06/29 22:59:52
関数にfncなんてプリフィクス付ける人初めて見たよ。
よく見る'obj'以上に無意味だと思うんだけどね。
いや、コードを読む人間をいらつかせる機能を狙ってるのなら
そういう意味はあるけど。
570:デフォルトの名無しさん
08/06/29 23:20:12
>>569 そうか?
VBでのプロジェクトのコーディング規約で、たまに見るけどねw
意味は無さそうだけど、「関数の戻り値に代入している」という事が判別しやすい。
という、VB特有の意味はあるかもしれないかもしれないかも………。
571:デフォルトの名無しさん
08/06/30 00:23:17
>>569
コーディング規約に噛み付いてどうする。
fncもsubもよく見かけるし、そもそも規約なんてそのプロジェクトにとって意味があるかどうかだろ。
あなたがどんなプロジェクトに関わってきたのか知らないけど、
正常orエラーを返す関数をcallで呼んで戻り値評価しない奴がいたり、
オブジェクトの開放処理をしない奴って結構多いよ。
特に人の入れ替わりが激しいとこや新人率が高いとこなんて、
一人が規約を無視してそのコピーが疑問なしに次々と乱立することも少なくない。
関数にはfncをつける→fncはそこでは不要でも必ず戻り値の評価をする、とか
参照型はobjをつける→Exitする際に必ず開放する
といった決め事にした方が、品質の高いプログラムを作りやすいことも多い。
572:デフォルトの名無しさん
08/06/30 01:33:06
VB6は誤ったハンガリアン記法の品評会だったからしょうがない
一応正しいハンガリアン記法というのもあって
変数が言語のもつ型以外の意味をもつ場合につけるプレフィックス
例えば整数じゃなくてこれはハンドルだという場合にhをつけるのは正しい
573:デフォルトの名無しさん
08/06/30 01:39:03
日本語でおk
574:デフォルトの名無しさん
08/06/30 01:58:48
解放、な。
575:デフォルトの名無しさん
08/06/30 23:39:56
>>571
こういう場所に質問に答える形でコピペしてるコードに「コーディング規約」って
意味不明だろうw
別にそんな訳のわからない理屈振り回さなくても素直に「俺の趣味だ」でいいじゃん。
まあ個人的には愚かな趣味にしか思えないけどね。