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

このエントリーをはてなブックマークに追加
1デフォルトの名無しさん
ここは Visual Basic 〜6.0 の質問スレです。
質問者は使用しているOS、VBのバージョン、サービスパック
何がしたくでどうしたけどどう困っているのかを明確に書きましょう。

○関連スレッド
VB.NETは別物なので、基本的に質問はこちらへ
VB.NET質問スレ (Part6)
http://pc5.2ch.net/test/read.cgi/tech/1088812165/

API関連の質問はこちらへ
Win32API質問箱 Build23
http://pc5.2ch.net/test/read.cgi/tech/1095534704/

MSDN Online Japan ホーム
http://www.microsoft.com/japan/msdn/default.asp
Visual Studio 6.0 Service Pack 6 正式リリース
http://msdn.microsoft.com/vstudio/downloads/updates/sp/vs6/sp6/default.aspx
API 技術関連 - VBでのWin32APIのサンプル
http://homepage1.nifty.com/MADIA/vb/VBKANREN.htm
Google
http://www.google.co.jp/
※「まず自分で調べる」を身につけよう。

○VB以外の質問スレ
C++相談室 part35
http://pc5.2ch.net/test/read.cgi/tech/1093958200/
C++Builder相談室 Part11
http://pc5.2ch.net/test/read.cgi/tech/1094749339/
★初心者にVisual C++を教えるスレ★ Part14
http://pc5.2ch.net/test/read.cgi/tech/1093672937/
2デフォルトの名無しさん:04/09/20 18:37:02
VBプログラマ質問スレ(6.0以前) Part37
http://pc5.2ch.net/test/read.cgi/tech/1092906058/
3デフォルトの名無しさん:04/09/20 18:39:42
>>1
削除依頼をだしてください。
4溝田 千壽喜:04/09/20 18:45:40
4ゲット・・・

つーか重複?
5デフォルトの名無しさん:04/09/20 18:45:45
真スレage
6デフォルトの名無しさん:04/09/20 18:45:56
━━━━━━━━━━━━終了━━━━━━━━━━━━
7デフォルトの名無しさん:04/09/20 18:46:07
消しとけ
8デフォルトの名無しさん:04/09/20 18:47:08
あっちの関連スレリンクは古すぎる
9デフォルトの名無しさん:04/09/20 18:47:55
下記のようにコーディングして、テキストファイルを読み込むと、
当然読み込んだデータの末端に余計な改行が入るのですけど、
不要な改行を付加することなく、スマートに
テキストファイルを読み込む方法はないでしょうか?

Open TextFilePath For Input As #1
Do Until EOF(1)
Line Input #1, Temp
ReadData = ReadData & Temp & Chr(13) & Chr(10)
Loop
Close #1
Text1.Text = ReadData
10溝田 千壽喜:04/09/20 18:51:24
>>9=>>1
という方程式が成り立つような気がするのは俺だけか?
11溝田 千壽喜:04/09/20 18:52:41
Chr(13) & Chr(10)
を消しても入るの?
改行
12デフォルトの名無しさん:04/09/20 18:58:32
━━━━━━━━━━━━終了━━━━━━━━━━━━
こっちは重複スレです。削除依頼出してください。
13デフォルトの名無しさん:04/09/20 18:59:50
>>12
自分で出せ
14デフォルトの名無しさん:04/09/20 19:01:13
数十秒差だしテンプレがちゃんとしてるから
こっち本スレでいいよ。
151:04/09/20 19:01:58
前スレで立てるって言ったんですけど。。
16デフォルトの名無しさん:04/09/20 19:04:32
>>15
あっちのスレの1だけど、こっちが本スレでいいよ。

すべて悪いのは、溝田だから。
17デフォルトの名無しさん:04/09/20 19:05:42
>>9
Open TextFilePath For Input As #1
Do Until EOF(1)
Line Input #1, Temp
If ReadData="" Then
ReadData = Temp
Else
ReadData = ReadData & Temp & Chr(13) & Chr(10)
EndIf
Loop
Close #1
Text1.Text = ReadData
18デフォルトの名無しさん:04/09/20 19:09:15
間違った
× ReadData = ReadData & Temp & Chr(13) & Chr(10)
○ ReadData = ReadData & Chr(13) & Chr(10) & Temp
19デフォルトの名無しさん:04/09/20 19:10:32
>>17
馬鹿じゃねえの?
20デフォルトの名無しさん:04/09/20 19:10:37
前スレで答えあったのに同じ質問繰り返すな。
21デフォルトの名無しさん:04/09/20 19:20:29
>>19
馬鹿でごめんね
22デフォルトの名無しさん:04/09/20 19:58:44
━━━━━━━━━━━━終了━━━━━━━━━━━━
こっちは重複スレです。削除依頼出してください。
23デフォルトの名無しさん:04/09/20 20:24:55
Dim i As Integer
i = FreeFile
Open "hoge.txt" For Binary As #i
Text1.Text = Input(LOF(i), #i)
Close #i
24デフォルトの名無しさん:04/09/20 23:19:25
━━━━━━━━━━━━終了━━━━━━━━━━━━
こっちは重複スレです。削除依頼出してください。
25デフォルトの名無しさん:04/09/20 23:22:15
自治しつこいよ
26デフォルトの名無しさん:04/09/21 01:44:44
はじめまして、宜しくお願いします。
 VisualBasic逆引き大全500の極意(秀和システム)の069、070 ページ97、98を参考にして @メニューからプロジェクト⇒フォームモジュールを追加でログオンダイアログを選択し次のようにコードを書きました。
Option Explicit

Public LoginSucceeded As Boolean
Private Sub cmdCancel_Click() 'ログオンに失敗したことを示すために,グローバル変数を Flase に設定します。
LoginSucceeded = False 改行して Me.Hide
End Sub
Private Sub cmdOK_Click() '正しいパスワードかどうかを調べます。
If txtUserName.Text = "suzuki" And _
txtPassword.Text = "123abc" Then  'ここにパスワードが一致したことを呼び出し元に通知するコードを記述します。ここでは簡単にグローバル変数を True に設定します。
LoginSucceeded = True 改行して  Me.Hide
Else
MsgBox "パスワードが正しくありません。もう一度入力してください !", , "ログオン"
txtPassword.SetFocus 改行して SendKeys "{Home}+{End}"
End If
End Sub 次にForm1に4つCommandButtonwonを配置し

Option Explicit
Private Sub Form_Load() 'ログオンダイアログボックスを表示
frmLogin.Show vbModal 'ログオンに失敗していたらプログラムを終了
If frmLogin.LoginSucceeded = False Then
MsgBox "ログオンできませんでした。"
End
End If 'ログオンダイアログボックスをメモリから消去
Unload frmLogin
End Sub
 
これで、実行をかけるとfrmloginでとまってしますのですが?どのようにしたら良いでしょうか?
27デフォルトの名無しさん:04/09/21 01:49:35
その本って2千円ちょっとするやつでしょ
高いよね。分厚いけど。
28デフォルトの名無しさん:04/09/21 01:51:44
2千円の本なんて安い部類だよ
29デフォルトの名無しさん:04/09/21 02:00:18
>>26
続きのコードを入力
30デフォルトの名無しさん:04/09/21 02:49:35
>>27 >>28 さんへ
 \2.400税別です…
 PCの本だったら安い部類ですかね
31デフォルトの名無しさん:04/09/21 09:18:26
2000円は入門書とか、特定の技術のみの本ですよね。
リファレンスに使える奴だと5000-10000円、それ以上のも普通にあるし。(APIバイブルとか)

で、とまっちゃうって何が?何処で?
32デフォルトの名無しさん:04/09/21 09:28:52
整数の文字列"1234567"とかがあって
データの意味は値12345.67なのですが
"12345.6"と表示させたいので
Format$("1234567" / 100, "0.0")
というような風にしたところ
"12345.7"と四捨五入されてしまいます。
マニュアルによると四捨五入をするのが仕様のようなのですが
四捨五入させないで小数点第二位以下切り捨てを行いたい場合
どのようにしたらよいでしょうか?
33デフォルトの名無しさん:04/09/21 09:33:17
参照設定の質問です お願いします

 現在、2台のPCを使って作業をしているのですが、参照設定にチェックをつけようとしているのですが
Win2000(Office2000)には参照設定の
 Microsoft Excel 9.0 Object Library にチェックがついているのですが、
WinXP HomeEditionのマシンには(Word ExcelがOfficeXP その他Officeが2000)
 には  Microsoft Excel 9.0 Object Libraryがなくかわりに
 Microsoft Excel 10.0 Object Libraryがあるのですがこちらを使用してかまわないでしょうか?
 

 
34デフォルトの名無しさん:04/09/21 09:45:11
>>33
そういう場合は参照設定をせずに、CreateObjectからExcelオブジェクトを起こしたほうが良いとは思う。
最終的な動作環境で複数のExcelバージョンを相手にするなら、それぞれごとにテストを行うのは必須ですよ。
EXEも最悪はそれぞれごとか、外部設定で2000かXPかを指定してもらう形になると思います。

>>32
ベタなやり方としては、100倍して10で割った商(小数点2位の切捨て)を、さらに10で割ると。
CINTの仕様が手元で調べられないんだけど、10倍して小数点以下切り捨てて10で輪ってもいいかも。
35デフォルトの名無しさん:04/09/21 09:45:20
createobject使え
36デフォルトの名無しさん:04/09/21 09:47:40
>>31
 すみません、おねがいします
 
 実行をかけ ユーザー名 suzuki パスワード 123abc を入れると
コードの画面に行くのです

 初心者で申し訳ございません。
37デフォルトの名無しさん:04/09/21 09:49:49
>>36
それは・・・。
1.何らかのエラーが発生して、デバック待ちになっている。
2.あなたがブレークポイントを張っている。
のどちらかではないのでしょうか?

止まったときにVBたんは何か言ってません?

3836:04/09/21 09:55:17
>>37
 早速の返信ありがとうございます。
 とくにVBはなにかあしら文句はいいません。(言ってほしい。。。)
 2.のブレークポイントを張っているは該当しないですね。。。
 
 デバック待ちの場合ですとどのような対処方法がありますか?
 
3933:04/09/21 10:10:18
>>34 >>35
 回答ありがとうございます。
う〜ん 早速、調べてやってみたいとおもいます
40デフォルトの名無しさん:04/09/21 10:11:39
>>38
その本はあなたには早過ぎるので、別の本からやるといいよ
41デフォルトの名無しさん:04/09/21 10:28:26
>>38
どこかのUploaderにソース上げれば診てもらえるかもしれないがね
42デフォルトの名無しさん:04/09/21 10:40:03
>>36
そういうサンプルコードだから。
最後に無条件でUnload frmLoginが実行される。
43デフォルトの名無しさん:04/09/21 11:23:09
━━━━━━━━━━━━終了━━━━━━━━━━━━
以後レスした人がいる場合、スレスト食らうので注意。
44デフォルトの名無しさん:04/09/21 11:31:39
>>43
へえ。
45デフォルトの名無しさん:04/09/21 11:38:03
>>34
ありがとうございました。
Format$(Int("1234567" / 10) / 10, "0.0")
という風にすることにしました。
46デフォルトの名無しさん:04/09/21 11:55:16
VB6.0を使用しています。

なぜかわからないんですが、
突然PictureBoxのプロパティウインドウのHeightとWidthの単位が
ピクセルになってしまいました。
通常HeightとWidthの単位はTwipですし、
単位を変えることは出来ないと思ったんですが、
もしかしたら変えることが出来、私がそれを触ってしまったんでしょうか?
もし戻せるのであれば、どのようにして戻せばいいのでしょうか?
47デフォルトの名無しさん:04/09/21 12:03:19
>>46
ピクセルになってるとわかってるんなら、そこをいじればTwipになるさ
4846:04/09/21 12:05:48
>>47
そうなのですが、単位を指定するところはScaleModeしかなく、
HeightとWidthはScaleModeでは反映されないので困っています。
49デフォルトの名無しさん:04/09/21 12:08:44
>>48
formの。
5046:04/09/21 12:12:14
>>49
フォームのScaleModeをTwipに変更したら元に戻りました。
いつの間にか触っていたみたいですね。
どうもありがとうございました。
51デフォルトの名無しさん:04/09/21 13:34:40
コマンドボタンの境界をなくすには?
52デフォルトの名無しさん:04/09/21 13:42:30
SetWindowLongとか
SetWindowRgnとか
境界のないピクチャボックスの中においてみるとか
53デフォルトの名無しさん:04/09/21 15:13:28
>>52
スマソ
下二つのような方法をとらんで出来ないものかと思っていたがなんかムリっぽい
あきらめるよ
54デフォルトの名無しさん:04/09/21 23:51:12
どういう風にかけばいいかわからず悩んでいます。

テーブル(DB)のフィールドに「Book」で入ってるか「本」で入ってるかわからない(両方存在することはないが両方存在しないことはある)
Recordsetに「Book」で入ってるか「本」で入ってるかわからない(両方入ってることはないが両方入ってないことはある)
そうやってやりとりしたデータを配列strArr() as String(の1つに)に「Book」か「本」の値を入れたい。

というようなことがテーブルの仕様がよく変わるわたしは結構あるのですが解決する名案はないでしょうか?
「Book」のエイリアスを「本」というようにうまく定義できればいいのですが(実際には「Book」以外の列もいろいろエイリアスをつけたい)
どうやって実装すればいいのか案が思い浮かびません。
知恵を貸して下さい。
55デフォルトの名無しさん:04/09/22 01:25:26
>>54
たのむ。日本語勉強してくれ。

現状どうなっているのか、どうしたいのか、なにが問題なのか。
人に伝える文書で頼む。
56デフォルトの名無しさん:04/09/22 02:42:54
>54
ワラタ。
PG辞めてお笑いblog職人として生きるって手はどう?
57溝田 千壽喜:04/09/22 09:49:07
>>54
彼の言うことを要約すると、嫁が憎いてなことを言ってます。

そんなことはどうでもいいんだが、
テキストボックスにセットフォーカスやろうとすると、
「プロシジャーの呼び出しまたは引数が不正」とか
わけの分からん事言われてエラーになるんだけど、
どうしたらいいですか。

ちなみに、プロパテイは、Visible、Enabled共にトルーに
なってます!
58溝田 千壽喜:04/09/22 09:51:30
あっそれから、
F10キーが押されたら、処理が実行されるな画面を作ってるんだけど、
当然F10キーが押されると、メニューバーにフォーカスが行ってしまって、
困ってるんでるんですけど、どうしたらいいですかね。
59デフォルトの名無しさん:04/09/22 10:05:42
>>57-58
知ってるが お前の態度が 気に食わない
60溝田 千壽喜:04/09/22 10:08:49
>>59
えぇーー!
そんなこと言わずに教えてください。
61デフォルトの名無しさん:04/09/22 11:00:19
すみません、超初心者です。

Option Explicit

Private Sub cmd_Click(Index As Integer)
On Error GoTo cmd_Click_Err
Select Case Index
'Case 0 '新規作成ボタンを押下
'新しいテキストを追加する
'Case 1 'Lookボタンを押下
'登録されているテキストを呼び出す
'Case 2 '検索ボタンを押下
'DBにつなぐ検索エンジンらしきもののテキストにつなぐ
Case 3 '終了ボタンを押下
'閉じる
Unload Me
EndSelect
Exit Sub
cmd_Click_Err:
Call ErrMsgDisp("cmd_Click_Err")
End Sub

これってどうやって解けばいいのですか???
すみません、教えてください
62デフォルトの名無しさん:04/09/22 11:03:57
がんばって解く
63溝田 千壽喜:04/09/22 11:06:59
そんなことはどうでもいいんだが、
テキストボックスにセットフォーカスやろうとすると、
「プロシジャーの呼び出しまたは引数が不正」とか
わけの分からん事言われてエラーになるんだけど、
どうしたらいいですか。

ちなみに、プロパテイは、Visible、Enabled共にトルーに
なってます!

F10キーが押されたら、処理が実行されるな画面を作ってるんだけど、
当然F10キーが押されると、メニューバーにフォーカスが行ってしまって、
困ってるんでるんですけど、どうしたらいいですかね
64デフォルトの名無しさん:04/09/22 11:07:39
>>61
仕様が伝わってこないので、こちらとしても何ともし難い。
6561:04/09/22 11:14:13
>>64さん すみません
 オブジェクト内の 
 新規ボタンを押したら 新規作成画面へ
 Lookボタンを押したら登録されているテキストの画面へ
 検索ボタンを押したら検索画面へ
 終了ボタンを押したら 終了です・・・

 仕様とかいう言葉もあんまりわかってないのですみません
よろしくお願いします
66デフォルトの名無しさん:04/09/22 11:18:51
>>65
新規作成画面と言われても。
あなたがわからないのに、どうやって作ればいいと言うのか・・・
67デフォルトの名無しさん:04/09/22 11:22:47
>>63
自称天才の割には・・・。

前半、デバックで実行すれば、どのプロシジャの呼び出しで引数不正かでるでしょ?
それ見れば。

後半、一般的にはWindowsのデフォルトは尊重すべき。
逆らうならKeyPressかKeyDownだったかで、F10キー押下時にKeyCodeかKeyAsciiを0(など)にしてしまう。
副作用は自分でどうにかしろ。
6865:04/09/22 11:22:54
>>66さん
たびたび申し訳ないです。
 新規作成 Look 検索はとりあえずは新しいFormに行くような形にしたいのです。
さっぱりわけがわかんなくて困っているのです。。。
  ほんと、すみません
69デフォルトの名無しさん:04/09/22 11:25:52
>>67
相手をするなよ
70デフォルトの名無しさん:04/09/22 11:29:30
>>68
本屋にいって入門書を買って来い。
または入門系のHPを見る。
最近入門の話題があったとおもうからそこを辿れば?
質問以前の問題です。
71デフォルトの名無しさん:04/09/22 11:30:34
>>68
学校の宿題か何かでしょうか。でしたらご自身のノートを見てください。
いいかげんな解答してあなたを困らせたくもないですから。
72溝田 千壽喜:04/09/22 11:44:28
>>69
氏ね

>>67
前半の件
それが、
txtText.SetForcsなの。
そこの場所でエラーになってます。
先ほども申し上げましたが、プロパテイは
Visible、Enabled共にトルーに
なってます!

後半の件
スゴイ!直った!君天才!
でも、その副作用って例えばどんなのがあるの!
73デフォルトの名無しさん:04/09/22 11:58:40
┌───────────────────
│あ、どうもスイマセン、>>72がお騒がせしました・・・
└───v───────────────
     /⌒\ っ   /\
    /'⌒'ヽ \ っ/\  |
    (●.●) )/   |: | すぐ連れて逝きますんで・・・
     >冊/  ./     |: /
   /⌒   ミミ \   〆
   /   / |::|λ|    |
   |√7ミ   |::|  ト、   |
   |:/    V_ハ   |
  /| i         | ∧|∧
   и .i      N /⌒ ヽ) >>72
    λヘ、| i .NV  |   | |
      V\W   ( 、 ∪
              || |
              ∪∪
74溝田 千壽喜:04/09/22 12:00:12
>73
氏ね荒し!
75デフォルトの名無しさん:04/09/22 12:03:59
どっちも嵐だよ。

>>74
あんたもう少し”普通”の会話覚えたほうがいいよ。
さっき少し答えたけど、あんた>>72見てナチュラルにムカついたので、後は自分で勝手に調べれば?って思った。
76溝田 千壽喜:04/09/22 12:06:09
>>75
いや、漏れは少し口は悪いがいい奴です。

txtText.SetForcsなの。
そこの場所でエラーになってます。
先ほども申し上げましたが、プロパテイは
Visible、Enabled共にトルーに
なってます!



77デフォルトの名無しさん:04/09/22 13:59:36
VB6.0での質問です。

テキストボックスの表示文字数や行数の限界は有るのでしょうか?
テキストファイル読み込み、それをテキストボックスに表示させるプログラムを書いたのですが
90kbのテキストファイルを表示させようとした場合3分の2程度表示され、それ以降がなぜかカットされてしまいます。
全てを表示させる手があれば教えてほしいです。
ソースは以下です。

Private Sub Command1_Click()
' テキストを読みこむ

Dim fn As Integer
fn = FreeFile

Open "サンプル.txt" For Input As #fn
Text1.Text = StrConv(InputB(LOF(1), #fn), vbUnicode)
Close #fn
78デフォルトの名無しさん:04/09/22 14:19:33
>>77
MSDNのコントロールの制限を参照
79デフォルトの名無しさん:04/09/22 14:20:27
追記、全部表示ならリッチテキスト
80デフォルトの名無しさん:04/09/22 14:20:30
表示制限は符号付32ビットじゃなかったかな
スクロールと連動して表示内容かえるような構造にするしかないんでない?
8177:04/09/22 14:45:49
>78
>79
「Text プロパティ テキスト ボックス(TextBox)コントロール 最大 64KB までに制限されています。 」
と書いてありました。明確なお返事ありがとうございます。
リッチテキストを使用してみますね。

>80
まだ未熟なもので、「符号付32ビット」「構造」など用語がいまいちわかりません。
今後調べながらそれもやってみようと思います。
82デフォルトの名無しさん:04/09/22 16:01:19
これから勉強しようと思うのですがお勧めの本を教えてもらえませんか?
いくつもピックアップして貰えたほうが嬉しいです。
我がまま言うと値段が安いのを希望してます。
83デフォルトの名無しさん:04/09/22 16:19:08
10日で覚える
Visual Basic6.0 入門編 & 実践編 とかどう?
84デフォルトの名無しさん:04/09/22 20:23:00
MSHFlexGridとDataEnvironmentを
使用して、階層表示は出来るのですが、始めから
展開されている状態なので、初期表示時は折りたた
まっているようにしたいのですが、何か設定方法
はありますでしょうか?

環境はWindowsXP
   VB6.0
   access2000

です。

プロパティ類は全部見ました。
宜しくお願いいたします。
85デフォルトの名無しさん:04/09/23 00:12:40
>>76
>いや、漏れは少し口は悪いがいい奴です。
昔一緒にやってたバカが同じことで悩んでて、笑っちまったい。
頭は悪いが調子がいい奴だったぜw

TextBoxのコンテナのEnableがFalseとかじゃねーの。
フォームが表示されてない状態でもそーなるしな。
間違いなくてめーの恥ずかしいような凡ミス。
黙ってコードおっかけてろ。
86デフォルトの名無しさん:04/09/23 00:16:54
Inetでプロキシを切り替えながら次々と接続したいんですが、
プロキシが切り替わりません。
一応、StateChangedイベントでicDisconnectedがわたったのを確認してから
プロキシを切り替えてExecuteしてるんですが、それでもダメです。
どうすればいいですか。
87デフォルトの名無しさん:04/09/23 00:19:13
>>85
しらないなら黙ってればいいのに。
88デフォルトの名無しさん:04/09/23 00:34:14
>>86
INTERNET_OPEN_TYPE_PROXY とかでぐぐればでてこない?
89デフォルトの名無しさん:04/09/23 11:42:26
>>85
おまぇ、日本語が読めねぇのか?

>>76で、
>Visible、Enabled共にトルーに
>なってます!
言ってるでしょ。
ちなみに、SetForcs直前で、Visible、Enabled共にトルーに
しています。

さあさあ答えなさい
90デフォルトの名無しさん:04/09/23 12:06:36
>>89
おい基地害。
85を100回音読しろ。ちゃんと答え「も」書かれてる。
91デフォルトの名無しさん:04/09/23 12:07:58
粘着されても困るから一応言っておくが、Loadイベントではまだ
フォームは表示されていない。
92溝田 千壽喜:04/09/23 12:39:49
>>90
がちょーん!
そのとうりですた・・・・。
しかし、インターネットってすごいですね。
そんな事まで分かっちゃうんですね。

ところで、Form_Initalizeってイベント何なんですか?
なんかForm_Loadの前に実行されてるみたいですけど。
93デフォルトの名無しさん:04/09/23 12:48:35
まず皆様、相手にするな。
で、おまえ口の聞き方を覚えるのと、入門書買って来るのと、MSDNぐらい見ろ。
94グレープ町:04/09/23 22:28:32
denpyomanっていうツールを使って明細フォームを作ってます。
denpyomanに入力して、datacenterに配列として渡したデータを、追加ボタン押下時に
SQLサーバーなどのDBに入力するにはどうしたらいいのですか??
denpyomanを使っているかたどのようにされているのでしょうか?
95デフォルトの名無しさん:04/09/24 00:58:30
>>94
ユーザーサポートに聞いたら?
9693:04/09/24 01:53:57
×まず皆様、相手にするな。
○皆様、相手をしないでください。
97デフォルトの名無しさん:04/09/24 03:24:19
VB6の初心者的質問です。以下のようなコードを記述しました。

(MainFrom)
Private Sub cmdNURUPO_Click()

Dim ぬるぽ as string: ぬるぽ=txtNURUPO.Text
Call sub_OpenFile(ぬるぽ)

End Sub

(標準モジュール)
Sub sub_OpenFile(FileName as string)

Open FileName For Input As #1
    For I = 1 To 10
        Input #1, tempX(I)
    Next I
    For I = 1 To 10
        Input #1, tempZ(I)
    Next I
Close #1

End Sub

(続く)
98デフォルトの名無しさん:04/09/24 03:27:55
text1.text = "ぬるぽ"Then
 MsgBox"ガッ"
Eles
MsgBox"ガッガッガッ"
End Sub
99デフォルトの名無しさん:04/09/24 03:28:46
(続き)
ここで、txtNURUPOにファイルのフルパスを入れるとうまくファイルを読み込みます。
しかしパスが C:\Documents and Settings\Ore Desu\デスクトップ\データ.txt
のように、たぶん反角スペースが含まれていると、
「実行エラー52 ファイル名、または番号が不正です」
と出てきます。どうすればこのようなパスのファイルでエラーが出ないようになりますか?

あと、
Open "データ.txt" For Input As #1 にして、
実行ファイルを作成してから同じフォルダにデータ.txtを入れておくとうまく読み込むのですが、
そうしないで、txtNURUPO.Textに データ.txt って書いておいても
「実行エラー52 ファイル名、または番号が不正です」
とでてきます。どうすればよいですか?
ご教授お願いします。
100デフォルトの名無しさん:04/09/24 03:34:03
100
101デフォルトの名無しさん:04/09/24 03:48:16
openする前に
If Dir(FileName) = vbNullString Then
  strMsg = "["
  If InStr(1, FileName, "\") = 0 Then
    strMsg = strMsg & App.Path & "\"
  End If
  MsgBox strMsg & FileName & "]はない"
  Exit Sub
End If
102デフォルトの名無しさん:04/09/24 07:26:11
ちょっと質問です。

PictureBoxかImageで背景(例えば白)の部分を透過させることはできますか?
ぐぐってみたら、BitBltとかそういう話が多かったのですが
出来れば、コントロールを使用したいと思ってます。
103デフォルトの名無しさん:04/09/24 08:17:13
>>97
初心者?初心者だからこそなんで自分で問題を解決しようとしない。
いまの時代、「○○するにはXXする」式で全ての問題の答えを網羅的に
記憶するなんて出来ない。

要するに、問題を自分で解決する能力のない奴は永遠にプログラムなんて
書けない時代になっている。

もちろん、一般論を言えば初心者には解決不能な問題ってのはあるだろう。

しかしこんな問題は、初心者だろうが小学生だろうがヘルプを丁寧に追跡すれば
解決できるはずだ。
104デフォルトの名無しさん:04/09/24 09:19:14
97=溝田 千壽喜
105デフォルトの名無しさん:04/09/24 15:00:02
教えてください
VB6でOracle10gに接続しようとしてるのですが
やはり今でもoo4oが最速なのでしょうか?

だいぶ昔VB5のころはoo4oが最速と言われてましたが。
106デフォルトの名無しさん:04/09/24 15:19:50
>>103
教えてやる気がないならレスするなよ。。。
107デフォルトの名無しさん:04/09/24 16:02:52
VB6です。
コンボボックスについて質問があります。

コンボボックスにカーソルを持っていって文字を入力したり
Deleteキーを押して文字を削除したり、出来ないようにしたいのですが
どうすればよいのでしょうか。

EnableやLockedを試してみましたが、コンボボックス自体が使えなくなったり
ロックされたりしてしまいます。
108デフォルトの名無しさん:04/09/24 16:06:08
VB6.0で彼女を作りたいんですが。
109デフォルトの名無しさん:04/09/24 16:22:08
>>107

Styleは 2-ドロップダウンリストにしているのか?
110デフォルトの名無しさん:04/09/24 16:25:05
>>109
1-ドロップダウンコンボでした
ありがとうございました
111デフォルトの名無しさん:04/09/24 20:20:52
>>108
ヘルプ読め
112デフォルトの名無しさん:04/09/24 20:28:51
>>111
嫁の前に彼女がほしいんです!
113デフォルトの名無しさん:04/09/24 21:02:31
>>105
自分でまず試してみたら?
あと、使い方によってはoo4oのほうがいいときがある。
(ストアドよびまくりとか。)
114デフォルトの名無しさん:04/09/24 23:07:32
>108
その目的なら、VBというよりはSQLだな
INSERTの仕方を覚えればOK
その前にCONNECTIONしなきゃいけないけどな
115デフォルトの名無しさん:04/09/24 23:26:59
>108
できません。仕様です。
116デフォルトの名無しさん:04/09/25 01:26:31
>114
おいおい、誤って「DELETE FROM ドクヲ」とだけしてExecuteしちまったらどうするんだ。
初心者にソレはキツいぜ。
117デフォルトの名無しさん:04/09/25 01:30:13
kanojyo.exeを実行しても平気ですか?
118デフォルトの名無しさん:04/09/25 06:58:09
>117
やめとけ、感染するぞ
119デフォルトの名無しさん:04/09/25 09:24:30
>>113
ってことは
ほとんどの場合は
oo4oよりADOとかのほうがいいってことか?
120デフォルトの名無しさん:04/09/25 09:52:06
>>119
そうは書いていないけど。
まあ、今までのMSとORACLEの相性を考えたら明確なんだけど。
121デフォルトの名無しさん:04/09/25 10:43:12
どなたか

TABとSPACEを交互に打ち続ける
ESCで停止する

っていうのを書いてくれませんか
当方はVBとかサッパリです
122デフォルトの名無しさん:04/09/25 10:58:50
VB6.0を使っています。
テキストファイルの特定の行を削除したいんですが、わかりませんでした。
例えば、a.txtに以下のような情報が入っていた場合、

aaa
bbb
ccccc
dd
eee

このテキストファイルの2行目、つまり、「bbb」だけ消す
というのがやりたいんですが…。
どなたか教えてくださいませんか?
123122:04/09/25 11:03:03
あと、特定の行だけ編集するというのもやりたいのですが、
わからなかったです。上の例でいうと「bbb」を
「abc」に変えるというのがしたいんですが、こちらも教えてください。
ヨロシクお願いします。
Excel2003でMicrosoft Common Dialogを利用したいのですがコントロールツールボックスから
コントロールの選択で Microsoft Common Dialog Control, version6.0を選択して
シートをクリックすると、「オブジェクトを挿入できません。」と言われてしまいます…

どなたかこの問題と同じ境遇になった方はいますでしょうか?
125溝田 千壽喜:04/09/25 11:11:59
>>122
よし!
VBのプロが教えてしんぜよう。

まず、a.txtの内容全てを配列に格納する。
a.txtを削除する。
新しくa.txtを作成して、上の礼でいくとif文などで、bbb
の部分をはじいて、他の部分をa.txtに書き込む。

以上!

別にa.txtの内容を入れておくのは配列じゃなくとも一時的にb.txt等を
作成しても良い。
(データの件数が膨大な場合)

>>123
ランダムモードなら、簡単なんだが・・・、
多分シーケンサルモードでの話でしょ?
だとしたら、>>122のような方法しかありませんな。
126デフォルトの名無しさん:04/09/25 11:25:29
127122:04/09/25 11:30:53
>125
ありがとうございます。
質問がちょっと悪かったみたいです。
if文などでbbbをはじくというのがありますが、
その方法がむしろわからなくて難儀していました。
教えていただけませんか?

あと編集方法の方はランダムモードでも構わないです。
簡単みたいなのでちょっと自分で調べてみます。
128デフォルトの名無しさん:04/09/25 11:53:47
>>120
ん?
相性を考えてADOなの?
ORACLEの用意したoo4oがいいって話しじゃなく
VBとoo4oの相性??
129デフォルトの名無しさん:04/09/25 15:38:32
すいません、質問させて下さい。
複数のフォームのプロパティを一括して変更するにはどうしたら良いでしょうか?
フォーム1つ1つ変更していくには数が多すぎて困っております…
130溝田 千壽喜:04/09/25 17:35:34
フォームを引数として、関数に渡す!
ByRefで!

例えば
GetForm(Form1)

public sub GetForm(ByRef F as Form)

with F

.Width
.Left

end Sub

ああメンドクサくなってきた。
大体分かったやろ!
131デフォルトの名無しさん:04/09/25 20:42:36
string型変数sに入っている文字列0を
数字0として認識したいのですが、どうしたらいいですか?
最初からinteger型の変数を宣言することはできないのですが、
何か方法はありませんか?
最終的にはs=s+1のような計算ができればいいのですが。
132デフォルトの名無しさん:04/09/25 21:04:04
>>131
>最初からinteger型の変数を宣言することはできない
意味不明。
Val(),CLng(),CInt()などどいった型キャスト(型の変換)の関数はいくつかありますがVBの場合は暗黙のキャストが行われます。
一行で済ませたいなら、S = CStr(CLng(S) + 1)
133デフォルトの名無しさん:04/09/25 21:29:11
>132
どうもありがとうございました。
できました。
134デフォルトの名無しさん:04/09/25 21:37:12
>>130
>ByRefで!

ワラタ
135129:04/09/25 21:44:49
>>130
レスありがとうございます。
参考にして頑張ってみます。
136デフォルトの名無しさん:04/09/25 21:58:46
>>130
参照型をわざわざByRefで渡すってところがVB厨。
参照型と参照渡しを混同しているとみた(笑

君のキャラ、ギャグのつもりでやってるのかもしれないが
馬鹿が馬鹿のフリをするのは正直ちっとも笑えない。
禿げオヤジになった加藤茶が禿げカツラかぶっても笑えないように。
137デフォルトの名無しさん:04/09/25 22:09:13
>>136
だったら、コレクション使う方法とか教えてやれよ・・・
138デフォルトの名無しさん:04/09/25 22:42:50
>>137
そういう問題かよ。
139溝田 千壽喜:04/09/25 22:56:41
>134
・・・ここ別に笑うところじゃないですよ。

>136
え?
どうゆうこと?
省略したら、ByRefになるから省略しろってこと?
それともByRefでしか渡せないとか?
140デフォルトの名無しさん:04/09/25 23:01:46
>>139
自分で理解するために、ByValで渡して挙動を勉強すれば?
141デフォルトの名無しさん:04/09/25 23:11:01
またヘンなヤシが涌いてきたなぁ。
でも答えるのもバカらしい様な幼稚な質問に率先して答えてくれるから、
上手く利用すればスレの皆も助かってイインジャネーノ?
厨は厨を制す(w
142デフォルトの名無しさん:04/09/25 23:33:40
>>129
VBの外から、テキストファイルの一括置換という手もある。
143デフォルトの名無しさん:04/09/25 23:39:22
初心者です。
ちょっとしたソフトを作ってみようと思っているのですが、
なにぶんよくわからずに作っているので、ご指導願います。

今まで、ACCESSでよくわからないデータベースにアクセスしていました。
そのときにACCESSのテーブルは地球のようなアイコンになっていて、それを開こうとすると
ID および PASSを求められます。

VB でDAO3.6を使ってそのデータベースにアクセスするときに
まず、ACCESSにある地球のようなアイコンを指定して、

Set DB = DBEngine.Workspaces(0).OpenDatabase(データベースのアドレス)
Set RS = DB.OpenRecordset(TableName, dbOpenDynaset)

だけでは駄目なのでしょうか?
144デフォルトの名無しさん:04/09/25 23:42:55
↑補足ですが、
上記の場合に、勝手にID およびパスワードを求める画面が出てきてくれるのか

もしくは、プログラム上でなんらかこちらで記述してあげる必要があるのでしょうか、
145デフォルトの名無しさん:04/09/26 03:30:07
つっこみしてるほうが痛いってのがなんとも・・・
このスレ、もう駄目かもしれんね。
146デフォルトの名無しさん:04/09/26 03:40:18
>>溝田 千壽喜

これ実行してみ 

そしてから 参照渡し・値渡し・参照型 を勉強し直せ



Private Sub Sub1(ByVal F As Form, ByVal S As String)
  F.Caption = F.Caption & " / 引数が ByVal です"
  S = S & " / 引数が ByVal です"
End Sub

Private Sub Sub2(ByRef F As Form, ByRef S As String)
  F.Caption = F.Caption & " / 引数が ByRef です"
  S = S & " / 引数が ByRef です"
End Sub

Private Sub Form_Load()
Dim dStr As String

  Me.Caption = "Test "
  dStr = "Test "

  Call Sub1(Me, dStr)
  Call Sub2(Me, dStr)

  Me.AutoRedraw = True
  Me.Print dStr
  Me.AutoRedraw = False
End Sub
14797:04/09/26 03:59:49
自己解決しました。

>>103
人に教えてもらうと、自分で調べるより遥かに早く問題が解決することがあります。
今回のファイルを開く問題は入門書等を見て行ったのですが、
思うようにファイルが開けず、原因を探すために自分で色々とプログラムを変更して
結果の違いから原因を探そうとしたのですが、分からなかったから聞くことにしました。
入門書やヘルプなんかですべての細かい原因を網羅することは不可能だと思います。
答えてくれないのに偉そうな態度するのはムカつきます。
答えた上で偉そうな態度してください。
148デフォルトの名無しさん:04/09/26 04:05:02
>>147
みんな自力で調べたりしてできるようになったんだよ。
お前が低レベルなだけ。
149デフォルトの名無しさん:04/09/26 09:34:19
まず自称初心者は自分で調べる方法がわかってないよね。
理解力以前の問題として、何が判って無いか判っていない。
問題分析ができていないと。
150デフォルトの名無しさん:04/09/26 12:52:37
>147 名前:97[sage] 投稿日:04/09/26 03:59:49
>自己解決しました。
>
なんじゃそりゃ・・・何をどう考え違いしてたかくらい書けよ。

答えは101に書いたろが
本当にヘルプを丁寧に追跡したのか?

>人に教えてもらうと、自分で調べるより遥かに早く問題が解決することがあります。
「要するに、問題を自分で解決する能力のない奴は永遠にプログラムなんて
 書けない時代になっている。」
理解できてるか?
151デフォルトの名無しさん:04/09/26 13:56:45
VB以外に、アプリケーションを作成できる言語を知っていますか?
152デフォルトの名無しさん:04/09/26 14:01:52
>>151
釣れますか?
153デフォルトの名無しさん:04/09/26 15:25:16
C#等で作ったXML WebサービスをVB6から使うことは出来ますか?
WSDLファイルを参照する例はあったのですが VS2003に付いてくる
WSDL.EXEだと.NET系の言語用のWSDLファイルが作成されるだけで
ヘルプを見る限りVB6用は無理っぽいのですが...
SOAP Toolkit2.0のWSDLジェネレーターで作れるのかな?
154デフォルトの名無しさん:04/09/26 16:06:42
>153
 使える。そもそもWSDLはW3Cで規格化されている。

 そもそも、SOAPの規格はある程度統一されているので、
理屈ではどんな言語でも関係なく共通に使える。
 サービス提供元をWebSphere Application Server5.0(Java)で
作成した物をVB6.0 + SOAP Tool Kit2.0や、VB.NET 2003で
利用する事も問題なく可能。(実際に確認)
 逆が上手く動作しなかったりしたがなー。

 ちなみに、VB.NET 2003で作成したWeb Serviceを
VB6.0 + SOAP Tool Kit 2.0 or 3.0で作成したアプリから
利用できる事も確認しているから、出来ないと言うなよ。
155153:04/09/26 17:45:00
>>154
情報ありがとうございました。
WSDLファイルの作成はDISCOコマンドだったんですね。
DISCOコマンドでWSDLを作成し、クライアントプログラムからの
呼び出しに成功しました。
156デフォルトの名無しさん:04/09/26 17:45:14
真面目に質問です!!
自分はこれからVBはじめようか迷ってます。
というのも自分はdirectXのdirectplayを使ったアプリケーションの
ロビー制御などをしたいのですが、
はたしてVBでどの程度のことができるのかが心配なんです。
VBではどれくらいdirectXを扱えるんでしょうか?
なんか変な質問してるかもしれませんが
いじめずかつ放置せずにお願いします。
157デフォルトの名無しさん:04/09/26 17:46:26
VB本体や書籍の値段を考えると見切り発車というわけにはいかないんです。
お願いします!
158デフォルトの名無しさん:04/09/26 17:47:57
お金が気になるなら素直に、
C# or VB.NET + DirectXにすりゃいいじゃん。
ただなんだし。
159デフォルトの名無しさん:04/09/26 17:49:00
書籍も買う必要なし。Webから詳しい説明書(MSDNライブラリ)が落とせる。
160デフォルトの名無しさん:04/09/26 17:57:51
>>158
.NETならすぐできるんですか?
>>159
そうなんですか。
MSDNって慣れないとわかりづらくないですか?
161デフォルトの名無しさん:04/09/26 17:59:04
ListItemsコレクションのAddメソッドで疑問があります。

object.Add(index, key, text, icon, smallIcon)

の、keyってどんな風に使うんですか?
162デフォルトの名無しさん:04/09/26 18:00:54
>>156
未経験者がVBでそれやるのは時間の無駄といっても過言ではないと思う。
終りを迎えようとしている言語など使わずに、素直にC#やC++なんかを使ったほうがいいと思う。
情報も集めやすいしね。
163デフォルトの名無しさん:04/09/26 18:03:59
>>162
C#ってそういうマニアックなのは資料が少ない気がするんですがどうなんでしょう
結局C++のほうがいいんでしょうか
164デフォルトの名無しさん:04/09/26 18:09:50
>>163
C#についてはあまり知らん。スマソ。
C++は使っている人多いし、最新の情報おっかけてるとC++使ったサンプル等に
たどり着くから、おいらはC++のほうをおすすめしたい。
165デフォルトの名無しさん:04/09/26 18:13:00
>>150
101はやってみたけどうまくいかんかった。
というか意味がよう分からんかった。
マルチラインのテキストからパスとってきたのがいかんかったのでは無いかなと思ってる。
改行入ってるからね。関係ないかもしれんがね。
コモンダイアログボックス使う奴にしてパスとってくるようにしたら、普通に出来たので解決した。

>問題を自分で解決する能力のない奴は永遠にプログラムなんて書けない時代
なんでそういう話が出てくるんだ?支離滅裂の暴論ですな。
入門書片手にプログラム始めて、入門書しか手元に無い奴は分からないこと多くて当たり前だろ。
学校で習ったり、周りに詳しい人がいたりで成長する人も多い。
聞きゃはえぇんだよ。違うか?
しばらく考えて分かんなかったら聞いといて自分でも調べんだよ。それが効率的、合理的。
VBが始めてでも簡単にアプリケーション作れるってうたってるとこが俺みたいな奴増やしてるんだろうな。
そういう奴が嫌いならこんなとこでプログラムの質問にご丁寧に答えるのはやめときなさいってこった。
166デフォルトの名無しさん:04/09/26 19:09:03
>>161
object.Add( n, "hoge" ) としておくと、
object.Item( n ) だけでなく
object.Item( "hoge" ) でも引っ張ってこれる。

俺の場合は、ファイル名を Add するときに
key にもファイル名を指定する、
という使い方をしたことがあるよ。
167溝田 千壽喜:04/09/26 19:18:18
>>146
うん、うん、実行してみた。

あれぇ!!!?
FormはByValで渡しても関数内で変更された内容が反映されるんですね。

>そしてから 参照渡し・値渡し・参照型 を勉強し直せ
ええっと・・・。
参照渡しってのが、ByRefの事でしょ、値渡しってのは、ByValの事で、
参照型ってなんですか?
168161:04/09/26 19:59:31
>>166
なるほど。
.Tagみたいなものか。

いろいろ応用できそうですね。
ありがd
169デフォルトの名無しさん:04/09/26 20:16:11
溝田うざ。
170デフォルトの名無しさん:04/09/26 20:32:08
>165
結局何がまずかったのか?どうすれば良かったのか?
といった検証はやってないんだな。

> 聞きゃはえぇんだよ。違うか?
残念だが違う。
聞いたものってのは自力で調べるのと比較すると
身に付きにくい。結局その都度聞くことになるから
効率的ではない。
もちろんおまえさんが後1時間で作れと言われた
プログラムならまぁ仕方ないが。
どっちにせよ今回程度の簡単な内容で
「人に聞いた方が早い」という判断しかできなかった
ってところが既にやばいと思う。
試してたらすぐに答えの出る内容だったんだから。
171146 :04/09/26 23:49:16
>>溝田 千壽喜

参照型 は Object型 の事

Object型の変数には 実体(インスタンス)の参照が入るのは知っていると思う。

引数にObject型を指定すると 当然 参照が入ってくる。

ByValで参照のコピーを渡しても 参照先が一緒なんで ByVal でも ByRef でも同じ結果になってまう。
(ただしプロシージャの中で参照が変えられなかった時の話)


>FormはByValで渡しても関数内で変更された内容が反映されるんですね。
Formだけでは無い。
Object型は全て。
172デフォルトの名無しさん:04/09/27 08:38:34
>>170
あなた様には簡単な問題だったので、
こっちも初心者かつ質問する身でありながらでかい態度にでたのは誠に申し訳ありませんでした。

しかし、プログラムってぇのはどんな簡単なミス。例えば「.]が一個抜けてただけでも、
原因探すのにデバッグたらなんたらすごい時間かかるときもある。
考え方が根本的に違うときもある。最初の頃はそういう間違えの状況判断するのは難しいだろう。
もちろん苦労して、間違えていたポイントと原因を追究するのが早くなっていくのであろうが、
人に聞いといて自分でも調べとくのが早いことはまちがいない。
まぁ例えるなら家庭教師つけると勉強がスムーズにいくようなもんだ。
あんたさんがどんだけ「おまえは低レベルだ」と訴えても、
そこんとこ議論してるつもりないので話がまったく成り立ってないのでどうしようもない。
ということで、もう俺はこんなどうでもいい言い合いから離脱する。
世話かけましたね。すみませんでした。
173デフォルトの名無しさん:04/09/27 08:52:10
>>172
もう来るなよ。
174デフォルトの名無しさん:04/09/27 11:21:11
ほしかったのは無料家庭教師、と。
175デフォルトの名無しさん:04/09/27 12:15:21
いや。タダで言う通りにプログラム作ってくれる人だろ。最終的には。
176デフォルトの名無しさん:04/09/27 15:25:59
どのようにすれば、貼り付けてある コントロールが なくなるのか 教えてください。

なくなるというのは、そのコントロールをアクセスしようとすると エラーとなること。
177デフォルトの名無しさん:04/09/27 16:25:39
全く最近の質問は、質問する上での基本的な情報すら伝えられていない。
5W1Hは最低でも入れてくれ。

>>176は何をやったらそうなった位書かないと、余りに漠然としすぎ。
178デフォルトの名無しさん:04/09/27 16:53:44
よく読んで欲しいな(w

何をやったら、そうなるのかを質問しているのだが。
179デフォルトの名無しさん:04/09/27 17:12:16
じゃあ、無くした人に聞けば?
無くした人があなたじゃなくても、そのひとにどういう操作を行ったとか、
大体どのような処理の辺りが怪しいとかは判るでしょ?

180デフォルトの名無しさん:04/09/27 17:16:45
どうしてなくなるのかまったくわからないので、それが わかるためのヒントとして
聞いてるのだ。

どうすれば、なくせるのか?
答えてくれるならば、これだけに 絞って 答えて欲しい。
181デフォルトの名無しさん:04/09/27 17:23:14
まず、本当になくなったの?
何で確認したのか?
何のコントロールで発生してるのか?
エラーは何を出力してるか?(オブジェクトまたはWithブロックが云々?)
182デフォルトの名無しさん:04/09/27 17:44:55
>>180
OSが壊れてる。
参照設定しているocx等が何らかの理由で消えている(か壊れている)。
インストーラーにアプリケーションで使用するコントロールを指定していない。

183デフォルトの名無しさん:04/09/27 18:06:11
>>182
なるほど。

その内容に関しては、当てはまるのは なさそうです。
1.複数のマシンで 発生する。
→OSが壊れてるとは、判断しがたい。
2.OCXを利用しているが、コントロール配列で、1から5まで使ってて その1が 消えてしまうてので
これも 原因とは なりにくそう。

どれが原因か、さっぱしわからないので、なりそうな可能性を あげてもらえると
絞込みができやすいので 助かります。

コントロール配列を用いてるので、Set で 別の変数にそのコントロールを
定義して用いてるのが、原因の一つかな? と思うのですが、Set文で コントロールが
消えたりするのでしょうか?
184デフォルトの名無しさん:04/09/27 18:11:48
>>183
その消えているといってる箇所だけど。
元のコントロール配列を参照してる部分でエラーなの?
それとも、その別の変数にアクセス時にエラーなの?

なんつうか、単純に勘違いしてないか?コントロールが消えてると思い込んでるけど、
単に自分のバグでその別の変数に何もセットせずにとか、クリアした状態で関数を読んでいるとか。
185デフォルトの名無しさん:04/09/27 18:12:55
相手するなって
186デフォルトの名無しさん:04/09/27 18:27:14
>>183
なんでそんな偉そうなんだろ。。。
182さんにお礼の一文でもかけ、池沼。
187デフォルトの名無しさん:04/09/27 20:10:58
俺172だから仕方ないでしょ。
かんべんしてください。
188186:04/09/27 20:42:54
>>187
_| ̄|○ヾ(´∀` )
189デフォルトの名無しさん:04/09/27 21:03:58
スクリーンキャプチャを行い、画像をJPG保存するソフトを作りたいのですが
キャプチャ側で参考になるサンプルが見つかりません。
キャプチャの方法は、PrintScreenを押す物以外でお願いします。
190デフォルトの名無しさん:04/09/27 21:09:51
しつこいぞ
191デフォルトの名無しさん:04/09/27 22:13:40
WinXP+VB6での画像処理について教えてください。
3つのPaintBoxを準備し、各々A,B,Cとします。
A、Cにはビットマップファイルをロードしておきます。
BにはAからPaintPictureで画像を表示させます。
Cには、BからPaintPictureで画像を上書きしてやりたいのですが
実行時エラー481、ピクチャが不正ですと表示されてしまいます。

回避方法をご存じでしたら、教えてください。
192デフォルトの名無しさん:04/09/27 22:40:11
>>191
PictureプロパティとImageプロパティの違いを理解してる?
193デフォルトの名無しさん:04/09/27 22:46:11
>>192
あんまりわかってません。
ヘルプに従うと、pictureでもimageでも良さそうなのですが、実際はimageでしかエラーを回避できないようですね。
取りあえず、不正じゃなくなりました。ありがとうございました。

でも、なんでなのか、よくわかりません…
194デフォルトの名無しさん:04/09/27 23:08:49
>>193
PaintPictureはどっちもでも良いよ。
PictureでもImageでもPaintPictureは成功してるっしょ?
ただAとCのPictureには物が入ってるけど
BのPictureは何も入ってないからエラーになる訳。
195デフォルトの名無しさん:04/09/27 23:20:11
>>194
えと、PaintPicture picture2.image 0 , 0ならOKなのですが
PaintPicture picture2.pictureだとダメなようです。

最初は、ご指摘の通り、「なにも入ってないから、なんかのプロパティが設定できて無くてダメなのかなー」と思っていたのですが
pictureをimageに変更してみると、うまくいきました。
196デフォルトの名無しさん:04/09/27 23:26:33
>>195
横レスだけど、>>191のレスをきちんと読んで理解する努力すれば。
対処療法的にいくらやっても、最後に詰まるよ。
197デフォルトの名無しさん:04/09/27 23:50:39
あ、ついでなのですが。

PictureBoxは、デザイン時にしか大きさを設定できないのでしょうか?
198デフォルトの名無しさん:04/09/27 23:53:58
>>197
ヘルプぐらいみて、プロパティをいじってから書き込んでるか?
199デフォルトの名無しさん:04/09/28 00:05:44
>>198
一応見ています。ですが、よくわからないんです。残念ながら。
200186:04/09/28 00:10:53
>>199
実際どうやったか、書いてよ。
201デフォルトの名無しさん:04/09/28 00:11:15
まあ>>190あたりからの続きだろうけど、あんたプログラム向いてないよ。
読んで、判らなければ試せばいいじゃん。
幅、高さのプロパティ値を適当に変えてみれば?
202デフォルトの名無しさん:04/09/28 00:35:25
VB6での帳票印刷の定番って
やっぱりクリスタルレポートですか?
高くて・・・
203デフォルトの名無しさん:04/09/28 01:28:21
>>202
まあ、よく使ってるとは聞くな。クリスタルレポートは。
Developer Editionは10万切ってるわけだが、これで高いんなら他のやつも高くて買えないような気がする。
VBにはDataReport付属してたはずだから、それを検討してみたら?
204デフォルトの名無しさん:04/09/28 01:35:30
>>191
これでやってみ
Set Picture2.Picture = Picture1.Picture
Picture3.PaintPicture Picture2.Picture, 0, 0
205204:04/09/28 01:42:23
上のじゃ説明になってないような気がするな・・・
そのあたりオブジェクトとポインタとかの考え方が裏にあるから
誰かに説明してもらった方がいいよ
俺も昔つまずいてぼろぼろになったことあるし
206デフォルトの名無しさん:04/09/28 09:40:39
それは PaintPicture で表示している画像は PictureBox.Picture に保存されないからだね。
試しに SavePicture で保存してみると判るかと。
>>191 の様にするなら PaintPicture を使うよりAPI関数の BltBit() を使うと良いと思う。
207デフォルトの名無しさん:04/09/28 13:48:02
VBはVCと違って
メモリに何が確保してあるかってのを、はしょっちゃうからなぁ
ヘルプにものってなかったりするしな
208デフォルトの名無しさん:04/09/28 14:41:05
VBやりこめば多少はVCやる上での糧になりますか
209デフォルトの名無しさん:04/09/28 14:45:57
>>208
先にVCやれよ
210デフォルトの名無しさん:04/09/28 14:46:03
なるんじゃない?
言語的にはオブジェクト指向(継承を除く)を知ることができるし。
IEのプラグインとか作るときに必要なActiveXを
冗長なコードなしで記述できるから本質に絞って勉強できるし。

あくまでやりこめばね。
211デフォルトの名無しさん:04/09/28 14:46:47
>>207
具体的に何を書いてほしいの?
212デフォルトの名無しさん:04/09/28 14:48:01
VC6は・・・。
BCBかVC.netのペタ貼りじゃないと面白くない。

昔のVCはどこがVisualなのかと小一時間・・・。
213デフォルトの名無しさん:04/09/28 14:49:41
CommonDialogのファイルを開くや保存のダイアログで、
「ファイルの種類」の下に「文字コード」等のドロップダウンを付けたいのですが、
どの様にすればいいのでしょうか?
214デフォルトの名無しさん:04/09/28 14:55:11
215溝田 千壽喜:04/09/28 14:57:44
>>32
StrTmp="1234567"
StrTmp2=""

StrTmp2=Mid(StrTmp,1,5) & "." & Mid(StrTmp,6,2)

とかぁ

Msgbox Str((val(StrTmp) * 0.01))

216デフォルトの名無しさん:04/09/28 15:31:58
>>209
いきなりVCは一冊でこれだっていうよう本がなさそうなので
いろんな本買う余裕のない自分には無理です。
217デフォルトの名無しさん:04/09/28 15:41:52
今までACCESS(VBA)でプログラムを作成していたのですが、今回VB6での
作業をする事になりました。
VB6ではACCESSのように単票形式のFormというのは作れないのでしょうか
218デフォルトの名無しさん:04/09/28 15:44:40
>>217
無理
219デフォルトの名無しさん:04/09/28 16:01:14
>>217
可能
220デフォルトの名無しさん:04/09/28 16:05:04
>>214
有り難うございます。助かります!
221デフォルトの名無しさん:04/09/28 16:25:42
ttp://www.planet-source-code.com/vb/scripts/ShowCode.asp?txtCodeId=34059&lngWId=1
コメントの流れに禿げワラ(スレ違いsage
222デフォルトの名無しさん:04/09/28 16:56:27
>>218
単票形式に近い形でやりたい場合には、どのようなやり方でやっているんです
か?

>>219
是非教えてください。
223デフォルトの名無しさん:04/09/28 17:07:19
>>222
Dataコントロールをおいて、画面にTextなどを配置して、
配置したコントロールのDataSource、DataMemberなどを設定してあげれば結構いい線はいくと思う。
224デフォルトの名無しさん:04/09/28 17:34:07
>>223
なるほど、調べて試してみます。
225溝田 千壽喜 :04/09/28 17:52:39
>>222
そんなものよりスプレッドシート使え!
226デフォルトの名無しさん:04/09/29 01:48:16
どなたかすいません。

リストビューの
ListItemのサブアイテムに画像を追加したいのですが可能でしょうか。

Set obItem = ListView1.ListItems.Add()
obItem.Text = "一列目"
obItem.SubItems(1) = ここに画像を追加したい。

ようするにやりたいことは、
エクスプローラの右側の各ファイルのサイズを、
グラフとして表示する。
と、いうようなことをやりたいのですが。

当方VB6.0です。

227デフォルトの名無しさん:04/09/29 02:01:16
>>226
一般的にはオーナードローを使うはずですわよ
228デフォルトの名無しさん:04/09/29 02:44:03
すみません Do Loop文の問題なんですけれど

Private Sub Disp()
Dim rs As Recordset
Dim Str As String
Str = "SELECT * FROM T_ID" _
& " WHERE I = '" & txtUser & "'" _
& " AND P = '" & txtPass & "'"
Set rs = dbWork.OpenRecordset(Str, dbOpenDynaset)
If Not rs.EOF Then
If rs![I] = Me.txtUser.Text And _
rs![P] = Me.txtPass.Text Then
LoginSucceeded = True
End If
MsgBox "ログオン"
rs.MoveNext
Me.Hide
If
LoginSucceeded = False
MsgBox "パスワードが正しくありません。もう一度入力してください !"
End If
rs.Close
End If
End Sub

終了してしまいます 。。 適切な置き場所がわかりません、、、
お願いします
229デフォルトの名無しさん:04/09/29 03:53:21
Me.Hide
230デフォルトの名無しさん:04/09/29 05:54:57
>>228
なんて声をかければいいかわからんが頑張れ。
もし職業PGだったら転職も考えれ。
231デフォルトの名無しさん:04/09/29 07:14:49
PGなんていつかは転職するんだから
さっさとやめれ
232デフォルトの名無しさん:04/09/29 07:20:48
人間なんていつかは死ぬんだから
さっさとしね
233デフォルトの名無しさん:04/09/29 09:07:06
Me.Hide
If
LoginSucceeded = False

ここの if って これだけで動くのか?
2342:04/09/29 11:50:24
一つ質問させて下さい。

ズバリ、Visual Basic では割り込み処理は出来ますか?
235デフォルトの名無しさん:04/09/29 12:09:07
>>234
何がやりたいんだ?
236デフォルトの名無しさん:04/09/29 12:35:53
VBに出来ないことなどない、動くかは別
237デフォルトの名無しさん:04/09/29 13:17:36
イベント内の割り込み処理は、日常茶飯事
238デフォルトの名無しさん:04/09/29 18:32:41
ていうか、「割り込み処理」って言葉はどういう意味で使っているのだろうか?
通常のWindowsプログラミングでは割り込み処理って概念はないと思うんだけど。
239デフォルトの名無しさん:04/09/29 21:24:03
10ms毎に割り込みかけて、モーター駆動するとか?
240デフォルトの名無しさん:04/09/29 22:07:02
  /⌒ヽ
  / ´_ゝ`)すいません、ちょっと割り込みますよ・・・
  |    /
  | /| |
  // | |
 U  .U
241デフォルトの名無しさん:04/09/29 22:08:45
タスクマネージャーなどでプログラムの状態などが見えると思いますが(実行中とか応答なしとか)
このタスクマネージャーの状態を把握する関数はありますでしょうか?
もしあるようでしたら教えていただきたいと思います。
242デフォルトの名無しさん:04/09/29 22:44:37
プログラムが「応答なし」かどうかを判断したいということ?
WaitForInputIdle がタイムアウトになったら「応答なし」、ではどう?
vbってC言語のexit(0)みたいなメソッドってあるのでしょうか?
244デフォルトの名無しさん:04/09/29 23:43:27
どういう意味?
End文では役不足ならExitProcess関数を呼ぶのは?
245243:04/09/30 00:09:33
いやたいしたことないんですが、例えば以下のようなことをしたい場合です。

Sub A()

Call B

Call C

End Sub

Sub B()

if なんちゃら
  <強制終了>
end if

End Sub


if文の中にExit Subってやっても関数Bを抜けるだけですよね?(関数Cが呼び出される)
プログラム自体を終了させたいなぁって思ってて。

ExitProcessで実装できるのでしょうか?
246デフォルトの名無しさん:04/09/30 00:11:28
247デフォルトの名無しさん:04/09/30 00:12:07
>>245
できるよ。
あと、APIの名前でググるくらいはやってみれ。
248デフォルトの名無しさん :04/09/30 00:26:47
便じょり質問です。

Excelのマクロとかで>>245みたいなことをやろうとしてExitProcessを利用すると
Excelが閉じてしまうんですけど閉じさせない方法ってあるのでしょうか?
249デフォルトの名無しさん:04/09/30 00:28:42
エラーをうまく使ってごにょごにょ
250デフォルトの名無しさん:04/09/30 00:31:38
>>249
そっかぁ。自分でやるしかないのか・・・
どうもでした。
251デフォルトの名無しさん:04/09/30 00:33:04
VBから特定のプログラムを起動したいのですが
それはどの関数で出来ますか?
例えばデスクトップにあるプログラムを起動する等です。
252デフォルトの名無しさん:04/09/30 00:41:37
ググるなど自助努力もしないで質問する馬鹿がいますが、
それはどの面下げて出来ますか?
例えば>>251のような奴です。
253デフォルトの名無しさん:04/09/30 00:52:40
あなたはググればわかるのかも知れませんが
ググってわからなかったので質問したということも十分ありうる

まぁそういうと>>252とかは
その程度も検索してわからないんなら辞めろ
とかいいそうだけどな

ここは質問板だ
質問に答える気がないなら無視すりゃいいだろ
254デフォルトの名無しさん:04/09/30 01:20:12
いやわかるだろう普通、もしかしてブラインドタッチもまだできないとか?
255デフォルトの名無しさん:04/09/30 01:52:33
おれはできねぇ。
256デフォルトの名無しさん:04/09/30 01:57:23
盲目打ちもできねぇのか。プ
257デフォルトの名無しさん:04/09/30 02:06:36
ブラインドタッチできない人=ドリアン
ブラインドタッチできる人=ベジータ
258デフォルトの名無しさん:04/09/30 02:17:43
>>245,>>248
End じゃダメなのか?
259溝田 千壽喜:04/09/30 09:12:56
>>251
それはな!

Shell関数てぇのを使うんだ!
例えばこんな感じだ!

Ret=Shell("C:\WINDOWS\MizotaTensai.EXE",1)

260デフォルトの名無しさん:04/09/30 09:26:02
ググルとか以前の問題として、ヘルプは読め。
261デフォルトの名無しさん:04/09/30 09:44:44
shellだ。
262デフォルトの名無しさん:04/09/30 10:30:19
(汎用的に)小数点1桁の数を取り扱うのに
10倍してLong型
Currency型
皆様ならどちらを使いますか?
263デフォルトの名無しさん:04/09/30 10:43:44
速さでlong 精度でcurrency
264デフォルトの名無しさん:04/09/30 10:52:14
>>262
SingleかDoubleを使う
265デフォルトの名無しさん:04/09/30 12:42:19
そんなもん適材適所としかいえないと思うが。。

>>263
精度でもLongしかありえんと思うんだが。。
ていうか、Longで精度の問題って意味わかんない。

除算はどうなるって?そういう時は必要な精度の一桁余分にとって
四捨五入すればいい。それでも断然Currencyより早いはず。
266デフォルトの名無しさん:04/09/30 15:49:02
>>263-265
ありがとうございます

値の表示もあるということを書いていませんでしたスマソ
そんなわけで浮動小数点は誤差が出て自分にはうまく扱えません

長整数型は当然ながら保持に10倍、還元に1/10が必要で面倒だしミスりやすいのがどうも

高速演算でもしない限り通貨型がよいかなと思っているのですが
複数の値を持つクラスをコレクションで大量に保持する場合が多く
また今作っているのは比較も多用しておりちょっと気がかりです

適材適所はごもっともですが独学の素人なんで定石というか
一般的に二者択一でどっちかなぁと思いまして

他にもご意見がありましたら拝見したいです
267デフォルトの名無しさん:04/09/30 16:12:27
なんだが、きょうびの環境で速度とかメモリに問題が出るとは思えないが。
268デフォルトの名無しさん:04/09/30 16:24:08
10年以上前のテクかも。
実数と整数の速度差は誤差の範囲の希ガス。
巨大なループの中なら話は別だけど。
269デフォルトの名無しさん:04/09/30 17:04:09
>>266

長整数型 (Long) 4 バイト -2,147,483,648 〜 2,147,483,647
通貨型 (Currency) 8 バイト -922,337,203,685,477.5808 〜 922,337,203,685,477.5807

値が範囲内である事が確実で消費メモリや速度が気になるならLong型にすれば良い。
ミスが出るのがイヤなら気の済むまでデバッグすれば良い。
面倒だと思うならCurrency型にすれば良い。
270デフォルトの名無しさん:04/09/30 17:32:09
値が範囲内である事が確実で消費メモリや速度が気になりますがミスはイヤですし面倒なのも嫌です
271デフォルトの名無しさん:04/09/30 17:47:33
>>270は世界面倒臭がり王決定戦で予選落ちするタイプ
272デフォルトの名無しさん:04/09/30 20:00:52
>>267-271
ありがとうございます
パフォーマンスを気にすることなく好きなほう使うのが定石
と解釈しました
273デフォルトの名無しさん:04/09/30 20:03:38
入力(10倍)と出力(1/10倍表示)の関数作るだけじゃん。
あとは掛け算と割り算の位取りくらい。
どんなミスがありうるのか。
274デフォルトの名無しさん:04/09/30 20:26:09
VB6sp6でIEやExplorerのツールバー書けますか?
275デフォルトの名無しさん:04/09/30 22:06:38
>>273
Currencyで行えば多分問題のないことを、わざわざへんにやる必要なし。
276デフォルトの名無しさん:04/09/30 22:39:52
VB6sp6でポート上を流れる通信を見ることはできますか?
例えばwww.yahoo.co.jpを見たときにポート80を流れるデータを
テキストに表示するといったことなのですが可能ですか?
277デフォルトの名無しさん:04/09/30 23:00:44
ポート上とか言ってる段階で、もう少し通信の基礎を勉強したほうがよいと思った。
278デフォルトの名無しさん:04/09/30 23:08:02
etherrealはだめ?>>276
279デフォルトの名無しさん:04/10/01 10:28:30
>>271
面倒だから出ないよ
280デフォルトの名無しさん:04/10/01 13:22:43
>>276
Winsockでプロキシサーバ立てれば、似たようなのはできるけど、ソフト単位で設定が必要になる。
Proxomitron(あってる?)の類。
あとは、winpcapかな。
281デフォルトの名無しさん:04/10/01 15:28:05
印刷関係で質問させて下さい。

for Cnt=0 to 9999

printer.print "あいうえお"

next

printer.enddoc

で印刷処理を実行後、印刷を途中でキャンセルしたい場合
どうすれば良いでしょうか?

Printer.KillDoc

というそれらしき物があったのですが、
うまく行きません。
282デフォルトの名無しさん:04/10/01 16:06:16
FTPの鯖アップ処理で困っています。

FtpPutFileを使用して、ファイルのアップは出来るのですが、フォルダ
(ディレクトリ?)を指定して、フォルダとその中身ごとアップする方法
が見つかりません。

開発環境はWin98 SE/VB6.0 + SP5  です。
ユーザ環境も、これに準じます。

どうか、宜しく御願い致します。
283デフォルトの名無しさん:04/10/01 16:44:48
>>282
Dirとかで自分で回せばOKじゃないの?
フォルダ辿ったり、それを向こうに作ったりも、典型的な再帰でできるし。

284282:04/10/01 17:17:25
フォルダ構成や、その内容が固定では無いので、どうなっても良い様に
Topのフォルダから一気にUPしたかったのです。
(ユーザが作成したHPをUPするアプリなので、HP・画像ファイルの数や、
 フォルダ構成が固定にならないと言うかしてくれない)

MSDN等を一通り調べてみましたが、やはり単一ファイルしか出来ないので
しょうか?FtpPutFolderとか、そんな感じの関数は無いのでしょうか?

>283
 仰る通りなのですが、処理を回す分、時間も長くなるのがネックでして・・。
285デフォルトの名無しさん:04/10/01 17:36:34
>>284
OSのFTPコマンドのMPUTにしても、内部的には回してるだけのはず。
プログラムがフォルダ・ファイルリストを辿る時間と、ファイル転送にかかる時間を考えれば、
プログラムで回したところで大差ないと思うけど。

FTPプロトコル自身は、複数のファイル転送はサポートしていません。
それを使うツール側(上記説明ではWinのFTPコマンド)が実装してるだけです。
ttp://www.atmarkit.co.jp/fnetwork/rensai/netpro10/netpro01.html

VBのFTPコントロールは使ったことないから良くはわからんけど、なければ無いんでしょう。

やり方として、Shellで一括転送のバッチを呼ぶっていう手段はあります。
バッチ自体も毎回自分でファイルを作成してしまえば、ある程度は動的になるし。
但し、エラーの取り方が難しいです。(コマンドをリダイレクトして、そのファイル内で判断とか)
286デフォルトの名無しさん:04/10/01 18:14:31
VBで作られたプログラムの中って見れますか?
逆アセンブルとかになると思うんですが
VBで逆アセンブルとか出来るんでしょうか?
検索してるとVB3とかVB4の時は出来ていたというのを発見したのですが
VB6系で逆アセンブル出来るものでしょうか?
287デフォルトの名無しさん:04/10/01 18:47:03
>>286
あなたのレベルの人が逆アセンブルして何か面白いの?
288デフォルトの名無しさん:04/10/01 19:01:26
>>266
すぐDLLに入るから解りづらいしつまらない
289デフォルトの名無しさん:04/10/01 19:19:01
VBの本買いました!
これからバシバシ勉強していくんでみんな応援よろしくです
290デフォルトの名無しさん:04/10/01 19:23:07
買った本はVB.NETというオチ?
291デフォルトの名無しさん:04/10/01 19:23:36
>>289
ヨロノシ
292デフォルトの名無しさん:04/10/01 19:24:19
>>290
それは…
293デフォルトの名無しさん:04/10/01 22:15:36
>>289
専攻は考古学ですか?
294デフォルトの名無しさん:04/10/01 23:33:52
>282
おおむね>285の言うとおりだと思うけど、FFFTPやNextFTPなりの
ログが取れるFTPクライアントソフトを実際に使ってみると複数ファイル転送時の
動きとかが実感出来るのでいいかも。
295デフォルトの名無しさん:04/10/01 23:51:05
http://download.microsoft.com/download/vstudio60ent/sp5/Visual_Basic/WIN98Me/JA/Vs6sp51.exe
ここからSP5を落とそうと思ってるんですが
全部落とさなきゃ駄目なんですか?
とりあえず一番上の落としたんですが実行するとファイルの解凍先を聞いてきます
どこを指定すればいいのでしょうか?
296デフォルトの名無しさん:04/10/02 01:06:42
>>295
一番上ってどこのよ?w
「Visual Studio 6.0 Service Pack 5 日本語」っての落として
解凍は適当なフォルダでよろし。別にイタリア語版でも俺はこまらんがな。
あとは解凍されたファイルを見てみ。インストール方法かいてるから。
それから一応言っとくがSP6があるぞ。
297デフォルトの名無しさん:04/10/02 05:17:41
はじめてSPの事しったんだけど
入れなきゃ駄目?
298デフォルトの名無しさん:04/10/02 05:27:26
駄目。SP無しばバグ有り。
299デフォルトの名無しさん:04/10/02 10:59:44
まだSP5でやってるんだけどSP6入れないと駄目?
300デフォルトの名無しさん:04/10/02 11:27:45
>>299
SP6の変更点くらい見ろよ
301デフォルトの名無しさん:04/10/02 12:02:34
印刷関係で質問させて下さい。

for Cnt=0 to 9999

printer.print "あいうえお"

next

printer.enddoc

で印刷処理を実行後、印刷を途中でキャンセルしたい場合
どうすれば良いでしょうか?

Printer.KillDoc

というそれらしき物があったのですが、
うまく行きません。
302デフォルトの名無しさん:04/10/02 12:07:37
>>286
VBは逆汗できないと思う
俺もVB4とかまでは海外の逆汗ツールで出来たけど
VB6とかで逆汗出来たというのは聞いた事がない
303デフォルトの名無しさん:04/10/02 12:16:19
>>302
P-codeコンパイルだと海外ツールで逆汗できるけど
ネイティブコードだとすぐdllに入るので難しいらしい
となんかの本で読んだキガス
304デフォルトの名無しさん:04/10/02 12:20:13
ネイティブコードなら普通の逆アセンブラで
逆アセンブルできます。
305デフォルトの名無しさん:04/10/02 13:43:15
for Cnt=0 to 9999

if キャンセルされているか? then
  Printer.KillDoc
  exit for
endif

printer.print "あいうえお"

next

こんなかんじ
306デフォルトの名無しさん:04/10/02 16:18:28
VB6のSP6ってどこで落とすの?
マイコーソフトみてもVSしかないよ
307デフォルトの名無しさん:04/10/02 16:30:04
>>306
このドアホ!書いてある事くらい読め!
308デフォルトの名無しさん:04/10/02 17:22:21
予約ってどういう意味ですか
309デフォルトの名無しさん:04/10/02 17:23:06
キーワードは予約されています
という意味についてです

310デフォルトの名無しさん:04/10/02 17:27:18
311デフォルトの名無しさん:04/10/02 17:31:30
さんきゅう
キーワードは予約語なんでお前らは変数関数につかえねーよ
って意味でつね
312デフォルトの名無しさん:04/10/02 17:49:16
やっとSP5をインスコできたよ。。
なんでこんな面倒なの?
313デフォルトの名無しさん:04/10/02 18:53:04
>>312
なんでいまさら?
314デフォルトの名無しさん:04/10/02 19:55:41
SP6があるのに、あえてSP5を入れる理由、聞いてみたいよ
315デフォルトの名無しさん:04/10/02 19:59:52
>>314
SP6の実績が上がってからでも遅くは無いから。
SP5は結構長い間活躍した枯れた技術、安定版。
それで問題がない環境ならば、SP5でもOKじゃないですか?
316デフォルトの名無しさん:04/10/02 20:17:54
SP6で追加されたFIXと天秤だな
オレは最初から6入れるが。
5から6にする時にまた検証するくらいなら、はなっから6入れるわ。
317デフォルトの名無しさん:04/10/02 20:34:03
つーかSP6ないんだけど。
落とし先のURLキボンヌ
318デフォルトの名無しさん:04/10/02 20:40:08
319デフォルトの名無しさん:04/10/02 20:41:04
>>317
お前は当てなくていいよ。
320デフォルトの名無しさん:04/10/02 20:47:07
あったよパパン(・∀・)
ゲイツにイジワルされてたみたいだよ
みんなの為にも貼っておくね♪
http://www.microsoft.com/downloads/details.aspx?FamilyID=9EF9BF70-DFE1-42A1-A4C8-39718C7E381D&DisplayLang=ja
321デフォルトの名無しさん:04/10/02 20:58:27
>>320
なんでもゲイツのせいにするのは、
なんでもナベツネのせいにする野球ファン、
なんでも小泉のせいにする野党なみに無責任で無能の証明です。

みんな普通にしってるし、捜せば5分でみつかるし。
322デフォルトの名無しさん:04/10/02 21:10:27
VB5のSP3はもう落とせないのですか?
323デフォルトの名無しさん:04/10/02 21:16:30
SP6入れてる人〜

ノシ
324デフォルトの名無しさん:04/10/02 21:19:48
>>322
USのサイトにあるが?
325デフォルトの名無しさん:04/10/02 23:54:21
コンボボックスで選択したテーブルの内容を、
リストビューを使って読み出したいのですがわかりません。
流れとしては、

@指定したテーブルを開く
      ↓
Aテーブルの列の項目を読み出し、リストビューにセットする。
      ↓
Bテーブルの行の項目を読み出し、リストビューにセットする。
      ↓
CEOFになるまでBの繰り返し。

A、Bが全くわかりません。
ご教授お願いします。

326デフォルトの名無しさん:04/10/03 01:01:42
テーブルの列を読み出す方法と、
読み出した値をリストビューにセットする方法を調べればいいのでぁないでしょうか。
327デフォルトの名無しさん:04/10/03 02:54:07
>>325 愚痴モード〜
せめてミドルウェア何使ってるのかぐらい書けよな。
「新宿いきたいんだけど分かりません。ご教授下さい」って聞かれて
答えられる?今どこにいるのかも聞かないで。
あとどこまで調べたの?
少しでも調べたなら「この言葉が分からない」とか
「何にどういうパラメタ与えればあたえればいいのか」とか
「ここのサンプルのこの部分の意味がわからない」とかって聞くよな。
つーか、恥ずかしくねぇ?
328デフォルトの名無しさん:04/10/03 04:07:09
すいません質問です。
上の方で話題になっていたSP6をインストしようと思ったんですが
SP6をDLし、実行したさいに展開先を聞かれます。
それは問題ないんですが、この展開したファイル群はセットアップ後に
消しても良いのでしょうか?
329デフォルトの名無しさん:04/10/03 04:18:20
>>328
いいよ
330デフォルトの名無しさん:04/10/03 04:19:07
>>329
ありがとうございました^^
331デフォルトの名無しさん:04/10/03 05:27:50
すみませんちょっと質問です
VBでデータベースを作ろうと思うのですが
accessなくても作れますか
332デフォルトの名無しさん:04/10/03 05:32:06
>>330
その顔文字キモい
山崎氏ね
333デフォルトの名無しさん:04/10/03 05:32:57
>>331
カンマ区切りのcsvとかなら出来ないこともないが
334D:04/10/03 05:43:16
>>325
  Dim cnn As New ADODB.Connection
  Dim cat As New ADOX.Catalog
  Dim rc As ADODB.Recordset
  Dim i  As Long
  Dim j  As Long
  Set cnn = New ADODB.Connection
  Set cat = New ADOX.Catalog
  Set rc = New ADODB.Recordset
  cnn.ConnectionString = "(接続文字列)"
  cnn.Open
  rc.ActiveConnection = cnn
  cat.ActiveConnection = cnn
  For i = 0 To cat.Tables.Count - 1
    If cat.Tables.Item(i).Type = "TABLE" Then
      'テーブルとフィールドリスト
      Debug.Print "TableName="; cat.Tables.Item(i).Name; " Type=";
      Debug.Print cat.Tables.Item(i).Type
      For j = 0 To cat.Tables.Item(i).Columns.Count - 1
        Debug.Print "  FieldName="; cat.Tables.Item(i).Columns(j).Name
      Next j
335D:04/10/03 05:44:30
続き
      'データ
      rc.Open "SELECT * FROM " & cat.Tables.Item(i).Name
      Do Until rc.EOF
        Debug.Print " DATA =";
        For j = 0 To cat.Tables.Item(i).Columns.Count - 1
          Debug.Print rc.Fields(j).Value; ",";
        Next j
        Debug.Print
        rc.MoveNext
      Loop
      rc.Close
    End If
  Next
  Set rc = Nothing
  Set cat = Nothing
  cnn.Close
  Set cnn = Nothing
これでフィールドとデータは見れるはず。(意図と合ってるか分からないけど)
あと、>>327さんの言ってるように状況が分からないと答えようが無い
(意図を予想するのに手間がかかって答える気にならない)ですよ。
336デフォルトの名無しさん:04/10/03 08:31:24
>>331
バージョンぐらい書け、あとDB周りの場合はエディションも、
DBエンジンとしてJetは使えるから、Access無くてもMDBは生成、読み書きできる。
今はMSDEがただで配布されてるから、それを使えば結構なシステムは出来る。
337デフォルトの名無しさん:04/10/03 11:03:47
>>331
アドインでビジュアルデーターマネージャーって無い?
これってあるのはエンプラだけ?
338デフォルトの名無しさん:04/10/03 12:57:05
>>305
ん?それで出来る?

printer.print
だけでは印刷出来ないですよね?
printer.EndDocまで入れないと。

Printer.KillDocって印刷を強制終了するもではないんですか?

339Orator:04/10/03 13:01:21
>> 274
可能ですよ。技術資料はこちら。
http://msdn.microsoft.com/library/en-us/shellcc/platform/shell/programmersguide/shell_adv/bands.asp

端折って書くと、
・ActiveX DLLプロジェクトとして作成。
・インターフェイス定義を含んだタイプライブラリを参照設定。
・Implementsステートメントで、必要なインターフェイス(IDeskBand等)を実装。
・シェルエクステンションとして、DLLをレジストリに登録。
という流れで作れます。

詳しい解説を望むなら、下記の本を読むのが個人的にはお奨め。
サンプルコード付きで紹介されてます。(洋書なのが難点かも)
http://www.oreilly.com/catalog/vbshell/
340Orator:04/10/03 13:14:52
>>337
ビジュアルデータマネージャが付属しているのは、
Professional Edition および Enterprise Edition です。
Learning や Control Creation Edition には付いていません。
(RISC Edition は見た事無いので不明)

Professional/Enterprise の場合は、サンプルディレクトリの下に
VisData のソース コードがあるので、それをコンパイルすればOK。

ただ、DAO 3.5xを使ったソースなので、Jet 3.5x系のファイル
(Access 97製のmdbに相当)までしか作れません。Jet 4.0系
(Access 2000以降のmdb)に対応させるなら、参照設定を
DAO 3.6 に差し替える必要があったかと。
341デフォルトの名無しさん:04/10/03 15:02:34
>>339
ありがとうございます。
もう回答ないかと思ってました。
342デフォルトの名無しさん:04/10/04 11:28:15
印刷処理で、Printerメソッド使ってるんだが、印刷をキャンセルできない。

Printer.KillDocは印刷をキャンセルする命令じゃないのか?


343デフォルトの名無しさん:04/10/04 11:40:05
VBで おすすめな ドキュメント作成ツールは 何でしょうか?
理由も教えてね。
344デフォルトの名無しさん:04/10/04 11:45:42
ホットドック
めじゃーだから、コメント記述等にそれほど負担がかからないから。
345デフォルトの名無しさん:04/10/04 13:17:51
フリーなもので なんかいいものないかなぁ?
346デフォルトの名無しさん:04/10/04 13:21:26
>>345
自分で作れや
347デフォルトの名無しさん:04/10/04 13:54:51
プっ

作るのも探すのも めんどくさいやつに そんなこと言っても無駄だ。
おまえが作れ。
348デフォルトの名無しさん:04/10/04 14:00:25
最初からフリーが望みなら書けよ。
全然前提が変わるんだからさ。
で、Vectorぐらいは探したのか?そこに無ければ多分ないよ。
349デフォルトの名無しさん:04/10/04 14:02:41
345は、フリーでいいものはないか、聞いてるだけだと思うが?

つまり、最初からだろw
350デフォルトの名無しさん:04/10/04 14:09:50
普通の日本語の流れを読める人間なら、>>343>>345でしょ?
屁理屈はうざい。
351デフォルトの名無しさん:04/10/04 14:35:25
みんな同一人物だったりして(w
352デフォルトの名無しさん:04/10/04 14:36:08
ああそうだよ。全部お前だ。
353デフォルトの名無しさん:04/10/04 15:11:23
みんなヒマなのね。
354デフォルトの名無しさん:04/10/04 20:13:48
初心者な質問ですみませんが教えてください。

何らかの形で取得した3000バイトのテキスト型データを以下のコードで.datファイルに書き込みを行うと
データの途中で勝手に改行(4行に)して書き込まれてしまいます。
元データと同じ1行で書き込みたいのですが、どうすれば解決できるでしょうか。


Dim intFileNum As Integer
Dim strDatFilePath As String
Dim strBuff As String

intFileNum = FreeFile
strDatFilePath = App.Path & "\Test.dat"

Do
strBuff = (…3000バイトのテキスト型)

Open strDatFilePath For Append As #intFileNum

Print #intFileNum, strBuff;

Close #intFileNum
Loop
355デフォルトの名無しさん:04/10/04 20:32:05
質問なんですが
         【問題】

      【○】     【×】
        
       【正解・不正解】

     *【△問中の正解数】  

こういったプログラムを作ろうと勉強を始めたんですが
本を読んでても中々難しそうな気がします。
問題数は大体100問以内で作りたいんですが
こういったプログラムはVBやり始めたばかりの素人では
どれくらいの年月がかかりますでしょうか?
 出来るだけ早く作りたいんですが無謀でしょうか。
356デフォルトの名無しさん:04/10/04 20:32:54
>>355
ガタガタ言ってねえで手を動かせ!!!
357デフォルトの名無しさん:04/10/04 20:35:54
わかりづらいので書き直します。
         【問題】     ←text使用して問題をランダムに表示

      【○】     【×】  ←ボタンを使用して○か×を選ぶ
        
       【正解・不正解】  ← labelを使用して正解か不正解か表示する

     *【△問中の正解数】  ←問題数が50問なら 「50問中の○問正解」等と表示する
                     *これは難しそうなので実装は見送ろうと思ってます。
358デフォルトの名無しさん:04/10/04 20:42:49
>>356
ボタンとかの配置をして止まってます。
359デフォルトの名無しさん:04/10/04 20:46:09
教材は 図解でわかるVisualBasic入門 荒瀬遥 著
日本実業出版社です。定価1800円(ブックオフで900円でしたがサービス券も使ったので
600円でした)
360デフォルトの名無しさん:04/10/04 20:52:27
そうか。がんばれよ。
361357:04/10/04 20:53:57
359は別人です。

プログラムコードを教えて貰いたいのではなく
おおよそ何ヶ月くらいで完成できるか教えてほしいですm(__)m
362デフォルトの名無しさん:04/10/04 20:57:43
>>361
それは貴様次第だ。
363デフォルトの名無しさん:04/10/04 20:57:59
>>361
ここの解答者のレベルなら30分あれば時間があまるくらいだ。
だが、いくら教えてもできないやつはできないし、できるやつはすぐできる。
お前が何ヶ月かかるかなんて知った事では無い
364デフォルトの名無しさん:04/10/04 20:58:23
>>361
depends on your effort :)
365デフォルトの名無しさん:04/10/04 20:59:14
357は変人です。
366デフォルトの名無しさん:04/10/04 20:59:53
>>361
簡単なプログラムだから、未経験な俺なら一ヶ月で作れたはず。
だいたい個人差があるんだから、わからんよ。
本みながら、しこしこプログラムしかないって。
367デフォルトの名無しさん:04/10/04 21:00:00
一番時間がかかるのは
問題を作る事だな
368デフォルトの名無しさん:04/10/04 21:00:34
>>361
プログラムのプの字も知らない小学生がやったとして1ヶ月。
大人だったら1週間。
中学高校大学の何れかで触ったことのある人なら1日。
VBをやったこと無いプログラマなら1時間。
VBプログラマなら20分。

問題100問を記述する時間を抜きにして。
あと、1日2時間勉強したとして。
369sage:04/10/04 21:06:54
>>361
ペッティングのペの字も知らない小学生がやったとして1ヶ月。
大人だったら1週間。
満員電車風俗の何れかで触ったことのある人なら1日。
370デフォルトの名無しさん:04/10/04 21:07:58
>>369
今年に入って見たレスで一番つまらない文章だ
371デフォルトの名無しさん:04/10/04 21:09:16
('A`)
372デフォルトの名無しさん:04/10/04 21:10:23
>>370
お前がレスするまでは確かに一番だったな。
373デフォルトの名無しさん:04/10/04 21:20:04

           |    
           |       
           |    人
           |   (_ )
           |  (__):::
          \ (-д-)::::: ウンコも色々大変なんだよ
             (|  |)::::    
             (γ /:::::::
              し \:::
                 \
                  \
374357:04/10/04 21:38:54
変な質問してすいませんでした。
大変参考になりました このままがんばってみます。
ありがとうございました。
375デフォルトの名無しさん:04/10/04 21:51:11
おまえらVBで最強のタブブラウザ作ってやるからまっとけ
376デフォルトの名無しさん:04/10/04 22:13:18
>>375
いらねえよ
377デフォルトの名無しさん:04/10/05 00:09:55
8086、68000、C、C++、Director、Flash、Delphi、PHPとやってきた古株技術屋なんですが、
VBをやることになりました。

基礎知識とかどーでもいいんで、
とにかくVBの特性を知りたい! 多言語との比較してメリット・デメリットを知りたい!
みたいなサイトは無いものでしょうか?

VBで検索すると「はじめての・・・」とかに当たってしまってどうにもorz
言語ならではのクセ、とか、独特のコーディング形式とかが知りたいんですが、
とにかく時間がない仕事なのでorz プレッシャーが・・・

VBをやってまずハマるポイントが知りたいのです。
皆様のお手を煩わせることなく、
そういった情報が知れるURLなどをお教えいただければ幸いです。
378デフォルトの名無しさん:04/10/05 00:18:50
もう日本にプログラマなんていらないんだよな、実際w
379 ◆FIcNi4f8js :04/10/05 00:24:53
ハマるポイントもなにも、何をする予定なのかを言ってくれないと。
380デフォルトの名無しさん:04/10/05 00:24:53
そんだけ経験あるならさっさと取り掛かった方が早いじゃね?
381デフォルトの名無しさん:04/10/05 00:40:24
>>377
感触が一番近いのはDelphiだろうね。
メリット・デメリットなんて見方によって違うよね。
ハマる所もみんなハマるなら直されてるし。

っていうか簡単にいえるんなら、すぐ検索で見つけられる。
簡単に言えないからないんだよね。
382377:04/10/05 00:47:11
早速の御回答ありがとうございます。
依頼されている内容は旧アプリケーション型システムの再更新です。
従来あるシステムを再検討して、更に新たな仕様をのっけてくれというものでして。
ネット対応とかDB追加とかそういうものは一切ありません。

現在、他の案件に追われておりまして、このVBの件に関してはまだ触れられても
いない状況でして・・・情けない状況大変申し訳ありません。
ですが押し付けられた納期ゆえ正直猛烈な恐怖感でして・・・orz

どの言語にも「クセ」はあるものですし、言語毎にフォームの扱いも違ったりしますから、
そういった「ハマる」ものを聞かせていただければ幸いと思い、
質問させていただきました。
383 ◆FIcNi4f8js :04/10/05 00:56:35
配列の初期化がマヌケな方法でしか出来ないとか
Variant型で大きい整数を計算するとひどい目に遭うとか
384377:04/10/05 01:03:52
>>383
ああっ、そういう情報です。ありがとうございます。
あとは、インタフェースがらみの問題情報とかです。
必要なライブラリを、手動でその言語デフォルトのフォルダに入れなきゃならないとか、
そういう言語固有の情報があれば、大変助かります。
385Orator:04/10/05 02:44:54
>>354
下記のようなコードで試して見ましたが、300000バイトのファイルが
作成されるだけで、改行が含まれる事はありませんでしたよ。

Private Sub Form_Load()
Dim intFileNum As Integer
Dim strDatFilePath As String
Dim strBuff As String

strBuff = String(3000, "*")

strDatFilePath = "C:\Test.dat"
intFileNum = FreeFile()
Dim L As Long
For L = 0 To 100
Open strDatFilePath For Append As #intFileNum
Print #intFileNum, strBuff;
Close #intFileNum
Next
End Sub
386 ◆FIcNi4f8js :04/10/05 02:54:19
387デフォルトの名無しさん:04/10/05 03:18:35
>>386
有益だ。ただ
http://www.atmarkit.co.jp/fdotnet/vb6tonet2/ ここリンク切れ
388 ◆FIcNi4f8js :04/10/05 03:46:40
389デフォルトの名無しさん:04/10/05 12:03:35
VB6でメール送信の処理を書くのって
MAPIですか?
普通にSMTPで送信するような
コンポーネントはないでしょうか?
390デフォルトの名無しさん:04/10/05 12:11:27
>>389
標準だとないはず。
売り物ならグレープシティーにある。
391デフォルトの名無しさん:04/10/05 12:34:11
>>389
標準だとMAPIかCDOかな。
基本的にはどっちも使いにくいけど
どっちが新しかったっけ?
392デフォルトの名無しさん:04/10/05 13:21:39
>>389
迷わずBASP
商用もOKだし。
393デフォルトの名無しさん:04/10/05 17:42:52
簡単なランチャーなら5分で作れそうだな
394デフォルトの名無しさん:04/10/05 21:28:45
>389
 日立東日本ソリューションズのInternet Post for ActivePlatform。

 BASPは、自分で使うために作りましたって感じでメソッドが美しくないし、
どうも整理されていない印象が強い。
 きちんと作られた商品とフリー製品との違いと言ってしまえばそれまでだし、
美しくないだけで使えない訳ではないので好きにする。

 ちなみにMAPIは対応メーラーが入っていない環境では使えない。
395377:04/10/05 21:33:06
>>386
ありがとうございます!
いくつか見てみましたが、これは役に立ちそうです。
有益な情報、感謝いたします。
396デフォルトの名無しさん:04/10/05 21:37:51
>>395
だよね〜
397354:04/10/06 00:30:25
>>385
レスありがとうございます。

これまで私は作成された.datファイルの内容をNotepadで開いて見ておりまして、
色々試してみたところ、ただ単にNotepadが3000バイトのレコードを1列で表示することが
できないだけだということを理解しました。

大変失礼を致しました…。
398Orator:04/10/06 03:02:11
>>385
あちゃ。For L = 1 To 100 と書いたつもりだったのだけど。
これじゃ、300000バイトではなく、303000バイトだなぁ。

>>397
WinXPのメモ帳の場合、1論理行は1024文字(≠1024バイト)までみたい。
399デフォルトの名無しさん:04/10/06 08:55:45
>>394
ユーザが多いほうがいいことも多いし
そこはどうなの?
400デフォルトの名無しさん:04/10/06 12:14:40
6.0なのですが、
読み取り専用属性を解除するにはどうしたらいいでしょうか?
401デフォルトの名無しさん:04/10/06 12:20:13
>>400
Get/SetFileAttributes
402デフォルトの名無しさん:04/10/06 14:13:28
>>401
Get/SetAttr こっちでいいんじゃない?
403デフォルトの名無しさん:04/10/06 14:25:39
Microsoft Calendar Control 9.0 をフォームに張ったプログラムを作りましたが、開発機では正常ですが、
他のPCでは、Calendar Control上に日付等の文字が一切表示されないという現象が出ます。

mscal.ocx はシステムフォルダにコピーしており、
開発機・インストール機と同一Ver.であることは確認済みです。

原因と対策についてご存知の方が居られましたら、お教えください。よろしくおねがいします。

開発言語 Visual Studio 6.0 SP6 + Visual Studio Installer 1.1
404デフォルトの名無しさん:04/10/06 15:45:55
コピーしただけとか・・・
VSI使ってるから大丈夫か
405デフォルトの名無しさん:04/10/06 19:50:31
>>403
フォントの問題だったりして。
406デフォルトの名無しさん:04/10/06 20:55:39
>>403
Microsoft Calendar Control 9.0って
再配布は許可されてないじゃなかったっけ?
407デフォルトの名無しさん:04/10/06 21:49:11
>399
 ユーザーが多い = 良いと言う図式は必ず成立する物ではないし、
Internet Post for ActivePlatformは登場してからの時間が長いので、
すっかり枯れていて安定性は抜群だがね。
 ポルトガル語で記述されたメールを受信しても問題無いし、○KIの
変なグループウェアから送信されたメールでもOK。

 安定性と信頼性が同じ位なら、サポートや使い勝手の良さを比較して
どうこうで決めれば良いだけだと思うが。
408デフォルトの名無しさん:04/10/06 21:54:39
>406
 http://support.microsoft.com/default.aspx?scid=kb;ja;413939
 だよな? Access2000付属のコントロールだよな?

 Office 2000 Developper Editionで開発して、ラインタイムを
配布する際に含めるのは良いが、今回の場合は、NGだな。
409デフォルトの名無しさん:04/10/06 21:59:48
http://support.microsoft.com/default.aspx?scid=kb;ja;412867
SP4以降を当ててあれば、よさげな感じだが。
410デフォルトの名無しさん:04/10/07 04:03:19
すいません、本当に初心的な質問なのですが…

自分はVisualStudio.NET2003を使ってるんですが、
VBで新規のプロジェクトを作成しようとすると、
ノートン先生が「悪質なスクリプトを検出しました」と表示して、
強制終了されてしまうんです…
devenv.exeというファイルが原因と出てるんですが、なにやらさっぱり…
どうすればいいのかどなたか教えてくだされ…_| ̄|○
411デフォルトの名無しさん:04/10/07 05:49:39
2chもWindowsも初心者って感じだな
412デフォルトの名無しさん:04/10/07 06:02:05
ノーdきりゃええやん電話やし
413デフォルトの名無しさん:04/10/07 08:13:58
>>410
スレ違い
414sage:04/10/07 09:13:14
WindowXP SP2 を入れると何か不具合があるのでしょうか?
415デフォルトの名無しさん:04/10/07 09:44:46
>>414
氏ね
416デフォルトの名無しさん:04/10/07 09:54:57
あればあるし、なければないし。
あんたのアプリの構成もわならないで答えられっこないし、判っても答える内容じゃない。
全ては自己責任ってMSも書いてますよ。
417デフォルトの名無しさん:04/10/07 10:28:58
>>410

ここは .NETじゃなくて VB6ぐらいまでの VBについて質問するスレなのだ。
418デフォルトの名無しさん:04/10/07 14:34:45
すみません
ウィンドウ間での変数の渡し方で教えてください。

子のフォーム(frmChild)で
モジュール変数(xxx)を定義しておいて
親に書くコードはこんな感じで問題ないのでしょうか?
一応動いたのですが心配で。

'子にパラメータを渡して開くとき
'-----------------
Load frmChild
frmChild.xxx = "親からのパラメータ"
frmChild.Show vbModal
'-----------------

'子が閉じられたときに結果を受け取るとき
'-----------------
msgbox frmChild.xxx = "子の処理結果"
UnLoad frmChild
'-----------------
419デフォルトの名無しさん:04/10/07 14:44:37
OKですよ。

モジュール変数って表現でよかったかは不明ですが、
子側のじぇねらるにぱぶりっくな変数を作ればそれで受け渡しは出来ます。

注意点は、子側がLOADされていないはずの状態でその変数にアクセスしないことでしょうか?
ぬるぽが出ないでVBでは子がロードされてしまうはずです。

同じ考えでフォームの関数にもアクセスできるから、その辺りを理解できるとグローバル変数が一気に減るよ。
420デフォルトの名無しさん:04/10/07 14:44:53
>418
値を渡すというだけならそれでオケ。
だけど、もう一歩進んでプロパティとして実装しとくと吉かと思われ。
421418:04/10/07 15:03:01
>>419-420
ありがとうございます
今までグローバル変数を使ってたので
これで便利&すっきりしそうです
422デフォルトの名無しさん:04/10/07 15:21:52
子が閉じられた事を親が検知するのはできているのだろうか。
等といらぬ心配をしてみるテスト。
423デフォルトの名無しさん:04/10/07 15:32:20
>>422
418を指してるなら、Showの後ろに何が付いているかを目をかっぽじって見てみるべきかと。
424デフォルトの名無しさん:04/10/07 15:36:09
なるほどいらぬ心配であった。切腹。
425デフォルトの名無しさん:04/10/07 15:52:24
繰り返し処理を用いて、九九の表を表示しなさい。という宿題が出ました
ソースを教えてちょんまげ
426デフォルトの名無しさん:04/10/07 15:55:25
>>425
氏ね
そのくらい自分で作れ
427デフォルトの名無しさん:04/10/07 15:58:29
>>419
たまたま見たスレだけど、初めて知った
勉強になった
428デフォルトの名無しさん:04/10/07 16:14:46
>>427
VBのFormってのがクラスだということを理解できると、綺麗に書けますよ。
自作構造体の受け渡しが確か出来なかったの致命傷だったと思うけど、それ以外はグローバルはほとんど不要になる。
429デフォルトの名無しさん:04/10/07 16:38:00
>>425
dim a as integer
dim b as integer


for a=1 to 9
for b=1 to 9
debug.print a & "×" & b & "=" & a*b
next b
next a
430デフォルトの名無しさん:04/10/07 16:44:58
>>429
きちんと型変換とかしていないし、宿題の回答としては駄目ですね。
431デフォルトの名無しさん:04/10/07 17:02:40
>>428
構造体がだめなんですね
それは結構致命的ですね

親で一覧データを取得して
子は表示だけってのは難しいってことですよね

それを前提に
子で取得するような仕組みにすればいいのか。

432デフォルトの名無しさん:04/10/07 17:12:55
>>431
暫くVB6やってないから、正確じゃないかもしれないですよ。

でも、一覧を表示するならば、その表示する側がやるべきでしょうね。
おやからは絞込み条件を渡すとか。

複数の箇所で検索があるなら、それはモジュールに記述すればいいし。
モジュールだったら構造体配列の受け渡しOKだから。
433デフォルトの名無しさん:04/10/07 17:32:01
田代ネ申降臨記念hage
434デフォルトの名無しさん:04/10/07 17:32:14
>431
プロシージャをFriendで宣言すれば構造体渡しもでけるよ
435デフォルトの名無しさん:04/10/07 19:17:35
>>419
> 注意点は、子側がLOADされていないはずの状態でその変数にアクセスしないことでしょうか?
> ぬるぽが出ないでVBでは子がロードされてしまうはずです。

ロードされていない状態で変数(プロパティ)にアクセスしても「ロード」はされない。
「ロード」とはウインドウ(コントロール含む)の初期化と考えるとわかりやすい。
ウインドウに関係しないことをやっても「ロード」はされない。
436デフォルトの名無しさん:04/10/07 19:18:59
ウインドウに関係すること(frmChild.captionなどのフォームのプロパティや
フォーム上のテキストボックス等)にアクセスすると「ロード」される。
437デフォルトの名無しさん:04/10/07 19:37:11
なのでこれも動作的にはまったく問題ない。(フォーム名と変数名がともにfrmChildの場合)

'子にパラメータを渡して開くとき
'-----------------
frmChild.xxx = "親からのパラメータ" 'ロードされない(frmChild_Loadは発生しない)
frmChild.Show vbModal 'ロードされる
'-----------------

'子が閉じられたときに結果を受け取るとき
'-----------------
msgbox frmChild.xxx = "子の処理結果"
UnLoad frmChild
'-----------------

まあ、UnLoad と対照的にするために Load を書くのもいいと思うけど。
ちなみに UnLoad frmChild 実行後も frmChild.xxx は生きている。
こうすると同じ値が表示される。

msgbox frmChild.xxx = "子の処理結果"
UnLoad frmChild
msgbox frmChild.xxx = "子の処理結果"

frmChild を完全に初期化(メモリから完全に消去)するには UnLoad frmChild の後に
Set frmChild = Nothing が必要
ただし、これをやっても他が frmChild を参照していると初期化されない。
どこからも参照されなくなったときに frmChild が完全に初期化される。

さあ、ややこしくなってきましたw
まあクラスとインスタンスの生成(メモリ上への作成)とロード(ウインドウの初期化)の
違いとそれが暗黙に行われる/行われない条件に気をつけようと。
438デフォルトの名無しさん:04/10/07 19:49:43
>>422
> 子が閉じられた事を親が検知するのはできているのだろうか。
> 等といらぬ心配をしてみるテスト。
この場合はvbModalがついているから関係ないけど、vbModelessであっても可能。

親が子フォームの Unload イベントをモニタすればいい。具体的にはこんな感じ。
Unloadでキャンセルされたときに注意が必要な気がするが、
まあキャンセル関連は全部QueryUnloadでやれば良し。

'frmParent
Private WithEvents frmChildMonitor As Form

Private Sub Command1_Click()
  Set frmChildMonitor = frmChild
  Load frmChild
  frmChildMonitor.Show
End Sub

Private Sub frmChildMonitor_Unload(Cancel As Integer)
  MsgBox "frmChild Unload"
  Set frmChildMonitor = Nothing
End Sub
439デフォルトの名無しさん:04/10/07 19:57:38
ここを見落としていて、c++質問スレに質問してしまったので
こちらでさせていただきます。

VB6.0でラベルをフォームに配置するときに、メニューバーで配置するのではなく、
コードを使って座標などを指定して配置したいのですが、どのようにすればいいのでしょうか・・?

また、lineメソッドなどで書いた図形が、他のアプリと重なった時に消えないようにするには
どうすればいいのでしょうか。
どなたかお願いします。
440デフォルトの名無しさん:04/10/07 19:57:52
>> 431
> 構造体がだめなんですね
> それは結構致命的ですね
クラスにすればいい。

> 親で一覧データを取得して
> 子は表示だけってのは難しいってことですよね
特にこのようなデータが多くなる可能性がある場合、
構造体は値型なので値をすべて送ることになりパフォーマンスが悪くなる。
クラスだとポインタだけしか送られないので特にこの場合はクラスの方が適切。

データベース関連で言えば親でレコードセットを取得して、
Dim rs as New ADODB.Recordset
rs.Open "SELECT * FROM table"
Set frmChild.rs = rs
frmChild.Show

frmChild側で自分のrsプロパティを参照して・・・なんてのもあり。
441431:04/10/07 20:11:16
>>432
モジュールに書いちゃうと
ちょっと見通しが悪くなりますよね。汎用性とか。。

>>434
やっとことない。
やってみますー

>>437
ロードする前から使えるってことは
最初からインスタンスが存在してるってことですか?

>>438
子のイベント監視なんてできるんだ
知らなかったです

>>440
勉強になりました


かなり混乱してます
いろいろやってみますー
ありがとうございましたーー
442デフォルトの名無しさん:04/10/07 20:28:16
フォーム関連でややこしくしているのが暗黙で作成されたりロードされたりすることと
フォーム(クラス)名と同じ名前の変数が自動的に作成されるところだね。

クラスがなんであるかは知らないならまあ勉強してもらうとして、
フォームモジュールごとにグローバル変数が宣言されてしまう。
たとえばfrmChildというフォームモジュールを作ったら、見えない所に
Public frmChild As New frmChild という宣言がされてしまう。

> ロードする前から使えるってことは
> 最初からインスタンスが存在してるってことですか?
最初はインスタンスは存在しないけど、先の見えない変数のNew宣言によって
「frmChild変数」にアクセスすると「frmChildクラス」のインスタンスが自動的に作成される。
(ロードされるとは限らない。ロードされるのはウインドウ関連のものにアクセスした場合)

ロードとはウインドウ関連の初期化のことであり、アンロードもウインドウ関連の削除のことなので
アンロードしてもインスタンスはそのまま。(ウインドウ関連でない)自作のプロパティはそのまま残っている。
443デフォルトの名無しさん:04/10/07 20:32:04
> かなり混乱してます
ごめんねー。フォームとかインスタンスとかロードとか
ちゃんと書くと本一冊にはならないまでも雑誌の特集分にはなるんで。
MSDNにもちゃんと書いてあるのでそれ見てください。
444デフォルトの名無しさん:04/10/07 20:55:49
ビットマップファイルを使って、PictureBoxに絵をロードして、そこにLineなどで線を引いているのですがちょっと困っています。
今までは640×480ピクセルの絵だけだったのですが、1800×480のビットマップファイルについても取り扱わなくてはならなくなりました。
1024×768ピクセルのモニタでやっているのですが、そのサイズ以上にはFormもPictureBoxも大きくできないらしいのです。
モニタより大きな画像に線を引いたり絵を貼り付けたりするには、どうすれば良いのでしょうか。

よろしくお願いします。
445デフォルトの名無しさん:04/10/07 20:57:45
スクロールバー付けれ。
446デフォルトの名無しさん:04/10/07 21:12:40
>>445
ありがとうございます。
ヘルプのリファレンスのPictureBox、Pictureオブジェクトの説明を見ても良くわからなかったのですが
プログラミングマニュアルの中にありました。

ヘルプの参照方法がどうもよくわからないですね。
447デフォルトの名無しさん:04/10/07 21:23:28
つーかクラスってなんにつかえばいいかわからん
趣味で4年やってるが1度も使ったことない
448デフォルトの名無しさん:04/10/07 21:24:53
>>447
> 趣味で4年やってるが1度も使ったことない
いや。使っているはずだぞ。
テキストボックスやラベルもクラスの一種だ。
449デフォルトの名無しさん:04/10/07 21:25:49
>>447
VB以外の言語をやってみるとよろし
450デフォルトの名無しさん:04/10/07 21:27:53
>>449
C言語とか?w
451デフォルトの名無しさん:04/10/07 21:29:10
>>450
それもいいだろうな
452デフォルトの名無しさん:04/10/07 21:32:47
まあ、他の言語を使ったとしてもそれだけじゃクラスの本質は理解できん。
たとえその言語がクラスしか存在しない言語だったとしても。
453447:04/10/07 21:32:59
そうなのか…
せっかく学生だからSpoke買おうかなあ…
454デフォルトの名無しさん:04/10/07 21:49:30
C言語でクラスを理解するのはVBでクラスを理解するよりも効率が悪い。
つーか、C言語にクラス無いし。
455デフォルトの名無しさん:04/10/07 22:03:54
なんにせよ、プログラムするならC言語くらい知っておけよって感じだな
456デフォルトの名無しさん:04/10/07 22:40:11
VBしかできないなんて奴なんて、ほとんどいないだろ
457デフォルトの名無しさん:04/10/07 23:11:08
つうか質問すれだからもう終わり。
458デフォルトの名無しさん:04/10/08 01:21:31
Dim a As Integer
Dim b As Integer
Dim strLine As String

For a = 1 To 9
  strLine = vbNullString
  For b = 1 To 9
    strLine = strLine & Right(Space(2) & Format$(a * b, "##0"), 3)
  Next b
  If a = 1 Then
    Debug.Print Space(1) & "|" & strLine
    Debug.Print String(30, "-")
  End If
  Debug.Print CStr(a) & "|" & strLine
Next a
459デフォルトの名無しさん:04/10/08 09:25:10
460名無しさん@お腹いっぱい。:04/10/09 10:45:15
指定したwebをブラウザからはアクセスできないようにする常駐型簡易
フィルタリングソフトは作れますか?ブラウザはIE6.0,使用できるOS
はWin2000,WinXPを想定しています。この種の完全なフリーソフト版
はありませんでした。
461デフォルトの名無しさん:04/10/09 11:10:08
IEを監視して、特定のサイトが表示されていたら強制的に閉じることは出来る。

'Microsoft Internet Controls'を参照設定
Private Sub Timer1_Timer()
 Dim sw As New SHDocVw.ShellWindows
 Dim i As InternetExplorer
 For Each i In sw
  'Debug.Print i.LocationURL
  'Debug.Print i.Document.Title
  If i.LocationURL Like "http://*.2ch.net/*" Then
   i.Quit
  End If
 Next i
End Sub
462デフォルトの名無しさん:04/10/09 11:46:15
VB6
やりたい事 Long型変数の下位2バイトを取り出したい

Dim val1 As Long
Dim val2 As Long
    ・
    ・
    ・
val2 = val1 And &HFFFF

これでできません。なぜ?
463デフォルトの名無しさん:04/10/09 11:50:07
>>462
val2 = val1 And &HFFFF&
でもだめかい?
464デフォルトの名無しさん:04/10/09 11:56:41
>>463
できますた
サンクス
最後の & はどうゆう意味ですか?
465デフォルトの名無しさん:04/10/09 11:59:32
>>464
自分で調べろ。それくらい。
466デフォルトの名無しさん:04/10/09 12:30:07
>>465
いや、こういことって解説してある本もサイトも意外と少ないから
自分で調べるの大変だと思うよ。

まあ、型宣言文字(>>464)自体はよくよくMSDN調べれば分ると思うんだけど。
でもどうしてそれが必要なのかまではなかなかね。
467デフォルトの名無しさん:04/10/09 12:59:53
signedとunsigned?
468名無しさん@お腹いっぱい。:04/10/09 13:20:44
>461
ありがとうございます。
さっきから結構調べていたんだけどこんなに早く回答が
頂けるとは。本当にありがとう!
で、このサンプルをもとに特定WEBが表示されたら
www.yahoo.co.jpに強制的に飛ばせるようにしますた。
469デフォルトの名無しさん:04/10/09 13:33:00
>>467
ちょっと違う
470デフォルトの名無しさん:04/10/09 13:46:07
>466
型宣言文字かぁ、懐かすぃなぁ
A$:文字列型
B%:整数型
C!:単精度浮動小数点数型
D#:倍精度浮動小数点数型
E&:長整数型

確かにVB6のヘルプ見ても初心者にはわかり辛い
471デフォルトの名無しさん:04/10/09 13:59:17
今回の場合、&FFFFはIntegerとなり&hFFFF = -1となる
Val2 And -1 つまり
Val2 And &hFFFFFFFFと計算されるため、狙った計算結果にはならない
472462:04/10/09 15:17:20
みんなサンクス

最後の&を付けないと符号付きの2バイト整数とみなされて
それを勝手に符号付き4バイト整数に変換してくれてるわけね・・・

有難迷惑な話です・・・
473デフォルトの名無しさん:04/10/09 15:23:50
>>472
&HFFFFを勝手に65535に変えるほうが有難迷惑だろ
474デフォルトの名無しさん:04/10/09 15:24:48
どんな言語もそうだが。
475蜂蜜豆:04/10/09 16:42:59


Private Sub DataGrid1_KeyPress(KeyAscii As Integer)

Dim col
Dim no
Dim jigyosho

  no = DataGrid1.Columns(0)
  col = DataGrid1.Columns(1)
jigyosho = DataGrid1.Columns(2)


If KeyAscii = vbKeyReturn Then 'Enterキー判定
 
  Form4![得意先会社名] = col
Form4![得意先コード] = no
Form4![得意先_事業所] = jigyosho

End Select

Unload me
End If

End Sub

476蜂蜜豆です。上のはごめんなさい。:04/10/09 16:54:30
皆さんお願い致します。 VB6+SQLサーバー

”現在の行は使用できません”とエラーメッセージの後に、
VBのプログラム自体が落ちてしまいます。

実現したいことは、DateGridに表示されている行の中から、該当する行を反転させ
ENTERボタン押下でその行のセル(1行目)(Columns)を変数として
別フォーム(Form1)の会社コードというテキストボックスに、表示させたいです。
ENTERではなくて、クリックなら問題なく動作するのですが・・・
宜しくお願い致します。

Private Sub DataGrid1_KeyPress(KeyAscii As Integer)

Dim no 

  no = DataGrid1.Columns(0)

If KeyAscii = vbKeyReturn Then 'Enterキー判定
 
  Form1![会社コード] = no
End Select

Unload me
End If

End Sub

477デフォルトの名無しさん:04/10/09 17:01:57
>ENTERではなくて、クリックなら問題なく動作するのですが
そういうことなら、たぶんIfのブロックの中にKeyAscii = 0 入れてやれば
いいんじゃないの?
478デフォルトの名無しさん:04/10/09 18:36:52
バイナリデータ暗号化するフリーのコンポーネントってないですか?
479デフォルトの名無しさん:04/10/09 18:38:36
>>478
暗号ZIPにでもすれば?
480デフォルトの名無しさん:04/10/09 19:46:37
なるほど、その手がありましたか。
気が付きませんでした。。
481蜂蜜豆:04/10/09 22:19:49
>>477 ありがとう。

If KeyAscii = 0 Then 'Enterキー判定

ってことかな。 今試したけどやっぱり VBごと強制的に
落ちます。  デバッグならわかるんだけど、落ちるってのは
VBのバグなのかな?
482デフォルトの名無しさん:04/10/09 22:23:20
>>481
If KeyAscii = vbKeyReturn Then KeyAscii = 0
VBのバグより、まずは自分を疑え
483蜂蜜豆:04/10/09 22:31:26
>>482さん。 ありがとうございます。
こういうことですね。  
VBが落ちることはなくなりました。
しかし”現在の行は使用できません”とエラーメッセージ
は直りません。 

Private Sub DataGrid1_KeyPress(KeyAscii As Integer)

Dim no 
  no = DataGrid1.Columns(0)

If KeyAscii = vbKeyReturn Then 'Enterキー判定

KeyAscii = 0

  Form1![会社コード] = no

Unload me

End If

End Sub
484 ◆FIcNi4f8js :04/10/09 22:31:33
485蜂蜜豆:04/10/09 22:45:37
>>482さん。 ありがとうございます。
自分を疑って色々修正していたら、うまくいきました。
ありがとうございましたl!!
486デフォルトの名無しさん:04/10/09 22:47:39
>>485
原因を書くのも礼儀であろうに
487デフォルトの名無しさん:04/10/10 04:11:24
>>486
お前が礼儀とか言うなww
488デフォルトの名無しさん:04/10/10 05:33:05
>>486
おバカな原因を晒すのもどうかと思われ。
489デフォルトの名無しさん:04/10/10 05:42:00
尻たいよパパン
490デフォルトの名無しさん:04/10/10 08:22:30
ActiveReport 2.0 でADOのデータコントロールをOracle8.1.7のDBに
接続したいのですが、ConnectionStringの書き方が判りません。Oracleの
ユーザーID、パスワード、ホスト文字列を何に割り当てるのか、その他の
パラメータはどう書くのか、どなたか作った事がある方、さっとここに
貼り付けられるならお願いします。VB6.0 SP無し、4、5です。
491デフォルトの名無しさん:04/10/10 09:58:42
>>490
MSDNライブラリーより
"Provider=MSDAORA;Data Source=serverName;User ID=userName; Password=userPassword;"
492デフォルトの名無しさん:04/10/10 11:40:58
WebBrowser上で表示されるコンテキストメニューの
「前に戻る」「次に進む」が選択されたことや
「Alt」+「←」や「Backspace」が押されたことを判定するにはどうすれば良いでしょうか。

493デフォルトの名無しさん:04/10/10 11:43:27
http://www.adv.co.jp/PRODUCTS/ExcelCrt3/default.htm
ここのExcelCreatorを
VBで使ってる人いませんか?

セルを結合したものを印刷しようとすると
セルの結合が解除されて印刷されるので困ってます。

スレ違いすみません。
休み明けにはサポートに電話してみますが
ご存知の方いらっしゃたら教えてください。
494490:04/10/10 13:18:34
>>491
仮眠してまして遅くなりましたが情報感謝!です。でも書き忘れてました、
できればプロパイダはMSDAORAじゃなくてOracleのを使いたいんです。
Provider=OraOLEDBとでも書けばいいんですかね? 色々試してみます。

なんかVB上からActiveReportのデータコントロールに直接レコードセット
ぶち込んでもできそうな気がしてきましたが....
495デフォルトの名無しさん:04/10/10 13:22:53
Dimって何の略?
Define i am?
496デフォルトの名無しさん:04/10/10 13:30:35
>>495
うす暗い,ぼんやりした、という意味だ
497デフォルトの名無しさん:04/10/10 13:50:42
498デフォルトの名無しさん:04/10/10 16:42:20
>>494
既にOracleと接続できてるのなら、ActiveReportsに直接レコードセット渡せばOK。
499490:04/10/10 17:07:05
>>498
ありがとうございます。ただVB側がoo4oだからか、レコードセット渡しは
エラーになりました。なにかもう少し方法があるかもしれませんが、
.ConnectionString= "Provider=OraOLEDB.Oracle;Data Source=ホスト文字列〜
でうまくいきそうなので取り敢えずこちらで試していきます。
500デフォルトの名無しさん:04/10/10 17:52:11
ADOで接続してる訳じゃないのね、すまんかった。
Oracle製ののOLEDBプロバイダを使いたのなら、そっちのヘルプを見れば良いと思うが・・・
悩んでるんならこっちで聞いてみるといいかも(住人少なそうだけど)

ADO DAO など接続方法について
http://pc5.2ch.net/test/read.cgi/db/1059027812/

Oracle 総合 Session2
http://pc5.2ch.net/test/read.cgi/db/1091508494/
501デフォルトの名無しさん:04/10/10 23:43:08
複数列、複数行の一覧を表示して
その中の1行を選択させる場合、
どのコントロールを使うのは定番でしょうか?
502デフォルトの名無しさん:04/10/11 00:15:41
>501
ListViewじゃないかと思うが、そんなん状況によるからシラネ。
503デフォルトの名無しさん:04/10/11 01:59:33
手っ取り早く勉強用ソフト作りたいんですけど
問題→○or×→問題→〜
のソースください。お願いです
504デフォルトの名無しさん:04/10/11 02:19:48
ウチモお願い
505デフォルトの名無しさん:04/10/11 02:21:46
>>503-504
んなものVectorにころがってるだろ。
506デフォルトの名無しさん:04/10/11 02:50:33
>>503
作りたいなら自分でソース書けよな・・・どんな思考回路してんだ?
507デフォルトの名無しさん:04/10/11 02:55:48
ヒントだけでもお願いします
508デフォルトの名無しさん:04/10/11 03:01:17
>>507
Sub Benkyou
If MsgBox("問題") = vbSeikai Then
  MsgBox "○"
Else
  MsgBox "×"
End If
End Sub
509デフォルトの名無しさん:04/10/11 08:58:39
>>508
ワロタ
510デフォルトの名無しさん:04/10/11 09:52:10
リストビューって行毎の色って変えれないですよね?
せめてデータのない行くらいは別の色にしたいんだけど無理?
511デフォルトの名無しさん:04/10/11 10:33:52
データのない行に別の色を割り当てればよい
512デフォルトの名無しさん:04/10/11 11:28:04
>>511
その方法を知らないから>>510は困ってるんだと思われ
513510:04/10/11 13:48:06
>>511
できるんですか!?
ぜひ教えてください
全体の文字色と背景色しか設定できないと思ってました。

でもデータのない行に別の色を設定するために
行を追加するっていうのも微妙な感じはしますね。
スクロールバーがでてしまったり
初期表示後に行を追加したり削除するのが面倒そう。
データのない行が選択できてしまったりとか?
514デフォルトの名無しさん:04/10/11 14:19:16
>>513
「ListView 行の色」でぐぐったら1番目
515デフォルトの名無しさん:04/10/11 15:43:42
現在、VB6(SP6)+Win2000でソフトを作っているのですが
通常、1つのフォームモジュールを作成すると
Form1.frm と Form1.frx の2つのファイルで構成されますよね?

ソフトを作り始めて半年ほどになるのですが
最近新たに追加したフォームモジュールには『拡張子.frx』のファイルが無いのです。
過去にも同じような事象がありましたが、ソフトの動作にはまったく問題ありません。
が、何か不安で…。

.frxファイルが作成される基準は何なのでしょうか?
知っている方、どうか教えて下さい。
516デフォルトの名無しさん:04/10/11 16:42:17
フォームにコーディング部分があるかどうかじゃねぇ?
517デフォルトの名無しさん:04/10/11 16:45:22
>>515
たとえば、テキストボックスのtext欄に何か入れるとその情報が入ってる
518515:04/10/11 17:13:04
>>516,>>517
レスありがとうございます。
まだ確認していませんが.frxファイルが無くても
何ら問題は無いということですか(^^)
519デフォルトの名無しさん:04/10/11 17:19:35
>>518
必要だから存在してんだろ
520デフォルトの名無しさん:04/10/11 17:52:14
('A`)
521510:04/10/11 18:03:57
>>514
ありがとうございます!
でも
ばぐりそうなのでやめときます〜〜
522デフォルトの名無しさん:04/10/11 22:36:14
MSCommを使用してプログラムを組もうとしています。
テストを兼ねて、シンプルなプログラムを組んだのですが
OnCommイベントが、呼ばれないのです。
ポートモニタソフトを使って監視してやると、データの送信はしてますし
送信データの内容を変更してテストしても機器の動作はしました。

OnCommイベントが発生させるための方法ってあるのでしょうか?
523デフォルトの名無しさん:04/10/11 22:42:23
>>522
決して煽りじゃないよ。
その文章タイピングしている時間をMSDNみる時間に当てていれば
十分に解決する問題と思われる。
524 ◆hO1prOgrAM :04/10/11 23:37:26
525Orator:04/10/12 02:19:23
>>515
frmは、基本的にテキストデータです。
(メモ帳で開いてみてください)

それに対して、frxはバイナリデータを保持しています。
画像データや、「改行を含む文字列」などですね。

バイナリデータが含まれていなければ、frmはできません。
526Orator:04/10/12 02:22:49
>>525
あ、最後逆。
バイナリが含まれていなければ、frmしかできません。

frmには、frxのどの位置にデータが含まれているかが
書かれています。

というか、ヘルプにも解説がありますよん。

》 バイナリ データ ファイルは、フォームと同じディレクトリに
》 保存されます。バイナリ データ ファイルのファイル名は、
》 フォームのファイル名と同じで、拡張子を .frx に
》 置き換えたものになります。バイナリ データ ファイルは、
》 Visual Basic でフォームを読み込むと同時に読み込まれます。
》 バイナリ データが含まれるフォームをほかのプロジェクトで
》 使う場合は、そのプロジェクトでもフォーム モジュール
》 ファイル (.frm) とバイナリ データ ファイル (.frx) の両方が
》 必要となります。
527デフォルトの名無しさん:04/10/12 02:50:01
アイコンを指定してもfrxは作られる。
528デフォルトの名無しさん:04/10/12 06:09:56
529デフォルトの名無しさん:04/10/12 07:05:29
530デフォルトの名無しさん:04/10/12 09:33:20
発音としては、がっちゃんの鳴き声みたいな漢字かな?

ぐっぷぐーる。
531デフォルトの名無しさん:04/10/12 10:30:51
関数名を選択して
なにかのキーを押すとその関数に飛ぶのって
なんでしたっけ?
教えてくだせーーー
532デフォルトの名無しさん:04/10/12 10:45:29
>>531
右クリックメニューに思いっきり書いてあるからそれぐらい見ろ。
533デフォルトの名無しさん:04/10/12 10:50:46
教えてください。
VBのLIKE演算子って
数字が複数個みたいな判定はできない?

[0-9]*
だと先頭が数字でうしろは
なんでもいいことになりますよね
534デフォルトの名無しさん:04/10/12 11:09:13
>>533
[0-9][0-9][0-9][0-9]
####
535デフォルトの名無しさん:04/10/12 11:32:34
VB6.0を使用していますが、質問があります。

バイナリ形式のファイルを作成する際に、
どうも2Gバイト以上のファイルが作成できないようです。
どのようにすれば、2Gバイト以上のファイルが作成できるでしょうか?
こちらの環境はWindowsXPでHDDは80GバイトNTFSです。
よろしくお願いします。
536デフォルトの名無しさん:04/10/12 12:01:18
>>534
それだと4桁固定じゃない?

数字だけなら
if hoge like "*[!0-9]*" then
  msgbox "数字でない"
end if

でできると思う
前のほうが任意の数の数字で後ろが任意の桁数のアルファベット
みたいなのは無理と思う。
537531:04/10/12 13:01:50
思い出したShift+F2だ

>>532
??
538デフォルトの名無しさん:04/10/12 13:25:19
>>535
APIの CreateFile ReadFile WriteFile SetFilePointerでできると思うけど・・・
オレは試してないからレポート希望
539デフォルトの名無しさん:04/10/12 21:30:35
教えてください
親からvbModalで開いたウィンドウで
最小化ボタンを押して最小化し
タスクバーでそのタスクをクリックすると
親がクリックなどできない状態で表示され
子のほうは画面左下に最小化した状態で表示されるのですが
これを開くことはできないでしょうか?
540デフォルトの名無しさん:04/10/12 21:39:36
ここってあんまり教えてくれないよね
541デフォルトの名無しさん:04/10/12 21:41:55
よく例としてhogeとかって出るけど
ヌルポみたいに意味があるんですか?
542デフォルトの名無しさん:04/10/12 21:46:21
>>539
開くとは、親から?
Modalだと親が子を待っているんだから、
子が終わらないと親は何も操作できないよ
543デフォルトの名無しさん:04/10/12 22:54:41
522です。
>>523
>>524
すいません。機器の側での設定&初歩的な設定ミスをしてました。
本当にすいません。m(_ _)m
そしてありがとうございました。
544235:04/10/12 23:21:20
>>238
ありがとうございます。APIは今までやったことなかったですが
これを機会に挑戦してみます。
545デフォルトの名無しさん:04/10/13 00:44:21
>>542
そうなりますよね。
なので
親でなく子を開きたいのです。

最小化する直前の状態、
つまり親の上に子がでてる状態になってほしいのですが
子は最小化(画面左下)になってしまいます。

それをダブルクリックすれば開けますが
2段階の操作がわずらわしいので。

方法はありませんでしょうか?
546デフォルトの名無しさん:04/10/13 00:51:32
>>545
最小化させなければいい
547デフォルトの名無しさん:04/10/13 03:49:19
妥当です。
548デフォルトの名無しさん:04/10/13 13:48:41
>>535
レポートまだー?
549デフォルトの名無しさん:04/10/13 20:08:48
ここってあんまりレポートくれないよね
550デフォルトの名無しさん:04/10/13 20:15:50
SelectionMode.MultiSimpleにしたListBoxで、
Itemを複数選択し一度に削除する為以下を実行しましたがエラーになります。

For i = 0 To Me.ListBox.SelectedItems.Count - 1
Me.ListBox.Items.Remove(Me.ListBox.SelectedItems(i))
Next i

上記を

Me.ListBox.Items.Remove(Me.ListBox.SelectedItems(i))

だけにすると、1番上のItemは削除されるのですが、
Forで連続して削除することは出来ないのでしょうか。
宜しくお願いします。
551550:04/10/13 20:21:34
↑誤爆しました、すみません。
552デフォルトの名無しさん:04/10/13 20:21:54
ここってあんまりエラーメッセージ書いてくれないよね
553デフォルトの名無しさん:04/10/13 20:23:08
>>550
そりゃあ削除した時点で番号ずれるからな
554デフォルトの名無しさん:04/10/13 21:47:30
下から逆に消した方が良くない?
555デフォルトの名無しさん:04/10/14 03:00:19
このスレ、見てると糞プログラマーばっかりなのが良く分る
556デフォルトの名無しさん:04/10/14 06:51:30
>>555はスーパーハカー
557デフォルトの名無しさん:04/10/14 06:52:23
そして保守
558デフォルトの名無しさん:04/10/14 14:58:48
VB初心者の者ですが、教えてください。
デザイン時のフォームにMicrosoft Calender Control 8.0を貼ろうとすると、
強制終了してしまいます。
仕事場での環境ではうまくいったのですが。。。
【強制終了の環境】
OS:Windows2000 SP3
デバッガ:VB6.0 SPなし
559デフォルトの名無しさん:04/10/14 15:02:30
SP6でも入れてくらはい。
560デフォルトの名無しさん:04/10/14 15:09:10
おぉ!レスありがとです!
SP6がでてるのですか?
5だとばかり。。
入れてみます!!
561デフォルトの名無しさん:04/10/14 15:28:21
>>560
1からちゃんと読めよ。
562デフォルトの名無しさん:04/10/14 16:28:01
使わなくなった文字列型の変数って
空文字を代入したほうがいいの?
563デフォルトの名無しさん:04/10/14 16:31:53
>>562
お好きにどうぞ
564デフォルトの名無しさん:04/10/14 17:17:18
使わなくなったものは 何を入れても関係ないはず。
普通は 放置。
565デフォルトの名無しさん:04/10/14 17:22:14
その変数が長寿で、メモリの無駄と思うほどでかいやつなら考えるがな
566デフォルトの名無しさん:04/10/14 17:49:08
っていうか 一時的な変数は、ローカル変数にしろよなっ。
567デフォルトの名無しさん:04/10/14 18:13:44
>>563-566
どうも
つまり必要ない、と解釈しました

>>565
空き分のメモリはちゃんと開放されるってコト?
昨今のマシンじゃ考慮する必要もないけど
一応知識として知っておきたくって
568デフォルトの名無しさん:04/10/14 18:45:06
>>567
実験してみ。
569デフォルトの名無しさん:04/10/14 21:03:36
>>568
減りますね
ひとつ賢くなりました
570デフォルトの名無しさん:04/10/15 02:31:47
すいません。質問です。
VB6で印刷処理をしたいのですが
余白の設定のやり方がいまいちよくわかりません。
どなたか教えてもらえないでしょうか。
571デフォルトの名無しさん:04/10/15 08:16:47
VSってなんでこんな重いンですか
572デフォルトの名無しさん:04/10/15 09:04:08
>571のPCスペックが低いから
573デフォルトの名無しさん:04/10/15 10:47:54
athlon2500+の1GMBメモリだけど?
別に低くはないでしょ
574デフォルトの名無しさん:04/10/15 10:49:53
まあ、起動が重いだけだがね。
575デフォルトの名無しさん:04/10/15 12:52:10
エ、AMDだってーーーーーーーっ?
576デフォルトの名無しさん:04/10/15 15:14:29
VB6.0で、今日はじめてブレークポイントを使ってみたのですが、
設定したブレークポイントは保存できないんでしょうか?
577デフォルトの名無しさん:04/10/15 15:23:40
>>576
代用として、
Debug.Assert False
578デフォルトの名無しさん:04/10/15 15:34:44
>>570
余白の分だけ余裕を持って出力する
579デフォルトの名無しさん:04/10/15 15:45:28
>>576
できんっ。
580576:04/10/15 16:15:21
>>577
>>579
ありがとうございました。大変助かりました。
Debugがオブジェクトだなんて、100年経ってもわからなかったと思います。
581570:04/10/15 16:55:37
>>578
申し訳ありません。説明不足でした。
余白を多く出力するのではなく
余白を少なくし、用紙の端から出力したいと思っています。
余白は可能な限り、0に近づけたいと思います。
どうかよろしくお願いします。
582デフォルトの名無しさん:04/10/15 17:22:21
>>581

Private Const PHYSICALOFFSETX = 112
Private Const PHYSICALOFFSETY = 113
Private Declare Function GetDeviceCaps Lib "gdi32" (ByVal hDC As Long, ByVal nIndex As Long) As Long

Sub test()
    With Printer
        Debug.Print GetDeviceCaps(.hDC, PHYSICALOFFSETX) * .TwipsPerPixelX '上余白
        Debug.Print GetDeviceCaps(.hDC, PHYSICALOFFSETY) * .TwipsPerPixelY '下余白
    End With
End Sub
583デフォルトの名無しさん:04/10/15 21:57:35
始めまして、質問よろしくお願いします。
大学で少しプログラムをやっていた事もあり
今日いきなり上からプログラムを組んでくれと言われその内容が
「RS232Cの磁気カードリーダーから社員の情報を読むプログラム」
らしいのですが、VBでそういった事はできますでしょうか?また方法が
分かる方いらっしゃったら教えてください。一応言語はVB,C++,JAVA
が多少できる程度です。
584デフォルトの名無しさん:04/10/15 23:19:44
>>583
「上」ってヤクザのひとみたいでつね
585デフォルトの名無しさん:04/10/15 23:59:00
VB6がどうしてもインストールできません・・・(TT)
なぜでしょうか。。。。
コンポーネントの検索してるところで応答しなくなります。
OSはXPPRO SP1 普通にウィンドウズアップデートはかけてます。
最新のランタイムはインストールしました、HD領域はまだ沢山残ってます、
無駄なことですが、7月の時点までシステムの復元したりしました。
検索してて、XPのアップデートがかかってるとインストールできないとかいう
のを読んだのですが・・・。
アップデートを無効にするなんて、再インストール以外、無理ですもんね・・・。
586デフォルトの名無しさん:04/10/16 00:02:04
>>583
MSComm or API
587デフォルトの名無しさん:04/10/16 00:02:46
ねえねえ、何でVBなんて過去のツール使ってるの?
バカみたいですよ?www
恥ずかしくないの?キモヲタだから?ねぇねぇ
588デフォルトの名無しさん:04/10/16 00:15:19
少なくともプロの発言ではないな
589デフォルトの名無しさん:04/10/16 00:20:34
>>588
(´‘c_,‘` )プッ
プロだってダサッ クサッ wwww
アンカーくらい使えよド素人が(´ー`)y−~~



590デフォルトの名無しさん:04/10/16 00:57:16
>587
ねえねえ、何で半角なんて過去の文字使ってるの?
バカみたいですよ?www
恥ずかしくないの?アオニタだから?ねぇねぇ
591デフォルトの名無しさん:04/10/16 01:30:48
>>590
ガキを煽るな
592デフォルトの名無しさん:04/10/16 03:02:35
>>591
いや〜2chのやつらってすぐ釣れるから飽きないぜwwwwwwwwwwwwww
593デフォルトの名無しさん:04/10/16 04:08:27
>>592
あなたはVIPから来ましたね?
594デフォルトの名無しさん:04/10/16 07:10:18
>587
595デフォルトの名無しさん:04/10/16 10:29:05
後付釣り宣言する愉快な厨房がいるスレはここですか?
596デフォルトの名無しさん:04/10/16 10:40:13
クライアントで適当な一時ファイルを使いたいんだけど
そういう用途のディレクトリパスを取得するような
便利なコマンドはありませんか?

理想としてはユーザごとの
C:\Documents and Settings\hoge\Local Settings\Temp
みたいなディレクトリなのですが
597デフォルトの名無しさん:04/10/16 12:15:17
598デフォルトの名無しさん:04/10/16 12:26:18
>>596
http://nienie.com/~masapico/api_GetTempPath.html
597よりこっちの方が良いと思う。
599596:04/10/16 13:32:33
>>597-598
ありがとうございますーー
今回はAPIでなく
教えていただいたEnviron$を使わせていただきます

しかしユーザtempの下って汚いですね
tmpなのにアンインストールしたアプリのものまであるし
なぜかexeもあるし(Yahooメッセ関連)
600デフォルトの名無しさん:04/10/16 14:43:29
再起動時にtmpやtempの中消すツールあるよ
601デフォルトの名無しさん:04/10/16 17:44:53
教えてください

uboundを使うと
配列数が0のときにエラーになるので
関数で覆って0でも配列数を返す関数を作ったのですが

Public Function GetArrayCnt(aaa) As Long
On Error GoTo ErrorHandle
GetArrayCnt= UBound(aaa) + 1
Exit Function
ErrorHandle:
GetArrayCnt= 0
Exit Function
End Function

ユーザ定義型の配列変数を渡すとエラーになります
このような関数はつくれないのでしょうか?
602デフォルトの名無しさん:04/10/17 02:51:45
#質問先がここでいいのかわからないのですが、

webbrowserコントロールを使っていてるアプリケーションで、
javascriptやflash等でウィンドウを閉じるようなwebページで
ウィンドウを閉じられないようにする方法はありますでしょうか。
あるいは、ウィンドウを閉じられてしまった状態になっていることを知る方法や
webbrowserコントロールを再度使用可能な状態にするには方法はありますでしょうか。
webを閉じる時に発生するイベントもなさそうで、何か手があるのか分からないのです。



603602:04/10/17 03:07:18
>>601
動的配列を定義するときに要素数1つ分で初期化しておけば?
dim a(0)
redim a(使いたいだけ)
604601:04/10/17 09:47:16
>>603
やっぱりこれが簡単ですよね
BASICだからと割り切って1から使うようにします
ありがとうございました
605601:04/10/17 19:24:44
WindowClosingでした
606デフォルトの名無しさん:04/10/17 20:23:11
次のような配列があるとします

Type T
name As String
Syakkin As Long
End Type

Dim Aiful() as T

' 適当に随時Redim
Aiful(0).name = "Sen Masao"
Aiful(0).Syakkin = 500
Aiful(1).name = "Haga Kenji"
Aiful(1).Syakkin = 1000
Aiful(2).name = "Sen Masao"
Aiful(2).Syakkin = 300

これをnameで集計してRedimしたいのですがどうすればいいでしょうか?

' 代入するんじゃなくて上から下の結果を出したい
Aiful(0).name = "Sen Masao"
Aiful(0).Syakkin = 800
Aiful(1).name = "Haga Kenji"
Aiful(1).Syakkin = 1000

という風に配列の要素数を2(0から1)にして合計したいんです。
何か知恵を貸してください。
#配列の順番はnameでソートされているとは限らず、いくつ要素があるかもわかりません
607デフォルトの名無しさん:04/10/17 23:14:55
DBを使っているとか、インデックステーブルを別に持ってるとか
じゃないなら頭からケツまでループで回して行く以外あるまい?
608デフォルトの名無しさん:04/10/18 01:08:08
>>606
何気に面白い(w Fujita Makotoも忘れずに。

マジレスすると、まず人を表すクラス"cShakkinnOh"を作る。
クラスのメンバはとりあえずnameプロパティとその人の借金の残高を表す
Syakkinnプロパティ、そして借金の残高を増やすIncShakkinnメソッドと
減らすDecShakkinnメソッド。

そしてその型のメンバのインスタンスを構造体Tのメンバにすればいい。
nameメンバの代わりにね。

個別の取引が発生した際には、取引を表すAiful配列に記録すると供に、
対応するcShakkinnOhのインスタンスのIncShakkinnまたはDecShakkinn
メソッドをコールする。

cShakkinnOhクラスのインスタンスのコレクションか配列を作っておけば、
いちいちそのつど合計しなくてもインデックスiが指示するインスタンスの
Syakkinnプロパティにアクセスしてその人の残高が分る。

いまいちな説明ですまないけどあとは自分の脳で補完してね。
609デフォルトの名無しさん:04/10/18 03:29:38
>>606
Scripting.Dictionaryオブジェクトを使え
610デフォルトの名無しさん:04/10/18 12:36:29
>>609
偉そうに命令口調で言うわりには素っ頓狂なアドバイスのような気が。。
611デフォルトの名無しさん:04/10/18 14:18:45
>601
Friend
612デフォルトの名無しさん:04/10/18 19:20:25
すいませんGW_OWNER = 4って何の意味があるんでしょうか?
サンプルから丸々削って起動しても何の異常も無かったのですが
613デフォルトの名無しさん:04/10/18 21:10:00
VBスクリプトでこれを走らせると、Redimの行で、
「インデックスが有効範囲にありません。」って言われます。
なんでれすか?


Dim array()
Dim row, col

For row = 1 to 10
    For col = 1 to 20
Redim preserve array(row, col)
array(row, col) = row & ":" & col
    Next
Next
614デフォルトの名無しさん:04/10/18 21:46:41
>>613
なぜそんなMSDNみれば一分で解決するようなことを
わざわざタイプしてまで人に聞く?

寂しがり屋さんなのかい君は。だったら実況板とかラウンジとか
行った方がいいと思うよ。
615デフォルトの名無しさん:04/10/18 22:03:41
>>613

MSDNを見てみたよ。
preserveを使うと、最後の次元しか変更できないってこと?
616デフォルトの名無しさん:04/10/18 22:28:53
>>612
使ってない定数は削除しても大丈夫だよ。

# 基本の手前みたいな話は本には載って無いんだろうなぁ
617デフォルトの名無しさん:04/10/19 04:35:31
>615
そうだね。簡単だから構造体でも使えば?

あと、ココはVBスレなのでVBScriptはどうか知らんが
変数名の「Array」は予約語なので気持ち悪い。
618デフォルトの名無しさん:04/10/19 16:42:27
現在VB6.0SP6にて作成したプログラムが数時間動いて
オーバーフローして終了してしまうバグをつぶしてるのですが・・・
オーバーフローしている変数を特定できずに困っております。
それでお聞きしたいのが
on error goto を使用してエラーを吐き出している変数を特定できないのでしょうか?
もしくは行番号(どっかで見た記憶はあるんですが・・・)をエラー時に表示する方法を
お教えください。
宜しくお願い致します。
619デフォルトの名無しさん:04/10/19 16:59:21
>>618
行番号なら Erl
620デフォルトの名無しさん:04/10/19 17:33:31
>>618

面倒だが 変数をセットしたあとに
Debug.print 変数名
で 変数を 出すしかないな。

っていうか Exeならば ファイルに出力させればいい。
が、ファイルに出力するので 新たなバグを出さないように。
621デフォルトの名無しさん:04/10/19 17:36:40
デバック時にOn Errorを切ればいいだけでは
622デフォルトの名無しさん:04/10/19 17:55:35
>>619-621
ありがとうございます〜m(_ _)m
参考に頑張ります〜

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

623デフォルトの名無しさん:04/10/19 20:00:04
モーダルフォームを表示中に別の処理を動かす、
またはそれと同じような効果を実現する方法ってどうやるのでしょう。

感じとしては、「処理中 キャンセルする?」
見たいなメッセージを出しつつ裏で処理させるようなものを作りたいのですが
win32apiにあるのかしら?
624デフォルトの名無しさん:04/10/19 20:02:55
Timerコントロール
デバッグ時には動かないので注意
625デフォルトの名無しさん:04/10/19 20:18:20
>>623
別の処理ってやつの中でDoEventsするとボタン押せるようになるよ。
626623:04/10/20 01:37:47
thaks!
やってみます
627Orator:04/10/20 03:07:27
>>601
初期化されていない配列は、UBoundするとエラーになりますが、
初期化された空の配列ならば、UBound(LBound)が利用できますよ。

Dim S() As String: S = Split("")
Dim B() As Byte: B = ""
Dim O() As Object: VarType O
Dim V() As Variant: V = Array()

Debug.Print LBound(S), UBound(S)
Debug.Print LBound(B), UBound(B)
Debug.Print LBound(O), UBound(O)
Debug.Print LBound(V), UBound(V)


で、本題。

601さんが作成された関数は、既定の型(通常はVariant)を
受け取るようになっていますよね。

確かに、Variant型には配列を格納できるのですが、
そこにユーザー定義型を渡す場合には、
『ユーザー定義型が、クラスモジュールにて宣言されていて、
 かつ、クラスのInstancingがPrivate以外に設定されている』
という条件を満たさなければいけません。
628Orator:04/10/20 03:14:06
>>601
でもって、代替案。

案1) >>627 の最後に書いたように、ユーザー定義型をパブリックで定義する。

案2) 最初のインデックスを使わない事で逃げてしまう。( >>603-604 ですね)

案3) 最初に、空の配列を作ってしまう。


案3については、たとえばこんな感じで。
Option Explicit

Private Type Hoge
  X As Long
  Y As Long
End Type
Private Declare Function SafeArrayAllocDescriptor Lib "oleaut32" (ByVal cDims As Long, ByRef ppsaOut() As Any) As Long

Private Function GetEmptyHogeArray() As Hoge()
  SafeArrayAllocDescriptor 1, GetEmptyHogeArray
End Function

Private Sub Form_Load()
  Dim X() As Hoge
  X = GetEmptyHogeArray()

  Debug.Print LBound(X), UBound(X)
End Sub
629デフォルトの名無しさん:04/10/20 13:29:34
タスクトレイに アイコンを入れて タスクバーに 何も出さないようにするには どうしたらいいのでしょうか?
630デフォルトの名無しさん:04/10/20 13:56:17
>>629
1.APIでごいごい。サンプルは結構転がってるからグーグル様にお尋ねを。
2.グレープシチーに多分あるから買う。
631デフォルトの名無しさん:04/10/20 13:56:59
632デフォルトの名無しさん:04/10/20 13:58:44
フリーで使えそうな アイコンが落ちているところを 教えてください。
633デフォルトの名無しさん:04/10/20 14:50:08
>>632
VSのCD内
634デフォルトの名無しさん:04/10/20 16:35:52
おかげさまでタスクトレイにアイコンを表示することは できたんですが

そのアイコンを クリックしたりダブルクリックした時のイベントが わかりません。

どのようにすれば クリックや ダブルクリックの割り込みを受け取ることができるのでしょうか?
635デフォルトの名無しさん:04/10/20 16:38:02
636デフォルトの名無しさん:04/10/20 16:40:29
>>635

のってるHPのURLだけ 教えて。
637デフォルトの名無しさん:04/10/20 16:48:59
>>636
自分で調べろ。
638デフォルトの名無しさん:04/10/20 16:53:12
文字列をXORで暗号化するにはどうしたらいいんですか?
639デフォルトの名無しさん:04/10/20 17:05:37
>>638
AscW関数とChrW関数では?
640デフォルトの名無しさん:04/10/20 17:51:52
utf-8のテキストファイルを 読み込むと 文字化けします。
なおすには どうしたらいいのでしょうか?
641デフォルトの名無しさん:04/10/20 17:55:52
>>636
その考えだから>>634みたいな再質問がでるんだよ。
グーグルで調べて、無駄だと思っても周辺もまあまあ見ておく。
そうすれば、ちょと脇の質問が発生しても、聞く前に心当たりが出来ていく。

最近の開発、基礎知識は必要だけど、個々の技術なんて全部を完全に覚えられないからね。
グーグル様へのお祈りの仕方と、そのあたりから導き出される知識の連想が全て。
642デフォルトの名無しさん:04/10/20 18:04:28
>>640
WideCharToMultiByte, MultiByteToWideChar
Win98以上だったかな
643デフォルトの名無しさん:04/10/20 19:21:25
>640
バイト型配列に読み込んで、StrConv。
644デフォルトの名無しさん:04/10/20 19:23:29
>640 >643
自己レスだが、StrConv使わんで、バイト型配列をそのまま文字列型に
代入すれば良いか・・・ (UNICODEだしな)
645デフォルトの名無しさん:04/10/20 20:33:51
1〜100までの奇数だけの和を求めるプログラムお願いします(×_×)
646デフォルトの名無しさん:04/10/20 20:35:35
>>645
for i = 0 to 100
if i and 1 = 1 then
total = total + i
next i
647デフォルトの名無しさん:04/10/20 21:07:12
646さん
ありがとうございます!でも入力したらエラーがでちゃいました。
超初心者なもんですいません
648デフォルトの名無しさん:04/10/20 21:08:44
>>647
いや Nextの前の行にEnd Ifが無いだけなんだが。そのくらい言うまでも無いかなと思ったのに。
エラー出た時はエラーを正確に書くのがマナーだ
649デフォルトの名無しさん:04/10/20 21:11:40
しまた。
If (i And 1) = 1 Then
だ。訂正。
650デフォルトの名無しさん:04/10/20 21:16:14
すいません。今後気おつけます!
今度はEnd Ifに対応するIfブロックがありませんと表示されちゃいました
651デフォルトの名無しさん:04/10/20 21:17:54
度々ありがとうございます!またよろしくお願いします!!
652デフォルトの名無しさん:04/10/20 21:31:49
649さん
訂正されたのを実行したり
EndIfに対応するIfブロックがありませんと表示されちゃいました
653デフォルトの名無しさん:04/10/20 21:33:04
>>652
Private Sub Form_Load()
Dim i As Integer
Dim total As Integer
For i = 0 To 100
If (i And 1) = 1 Then
total = total + i
End If
Next i
Debug.Print total
End Sub
654デフォルトの名無しさん:04/10/20 21:45:44
653さん
ありがとうございます。
今度はエラーの表示は出なくなったんですけど
実行しても何も反応が無く奇数の和が表示されません。
いろいろとすいません
655デフォルトの名無しさん:04/10/20 21:51:09
>>654
MsgBox total
をEnd Subの前に入れろ
お前、目の前にいたら殴ってるぞ
656638:04/10/20 21:51:57
st = "暗号化する文章"
strkey = Asc("1") '鍵

'暗号化
Do While st <> "" '暗号化する文字列を入れた変数(st)が空になるまでループする
code = Asc(st)
code = code Xor strkey
stb = stb + Chr(code)
st = Mid(st, 2) '暗号化した文字を消す
Loop

'暗号化した文字列はstbに代入される

'復号化
Do While stb <> "" '今度は、暗号化した文字列を入れた変数(stb)が空になるまでループする
code = Asc(stb)
stb = Mid(stb, 2)
code = code Xor strkey
st = st + Chr(code)
Loop

'復号化した文字列はstに代入される


作ってみたところ、こんな感じになりました。
鍵が「1」の時はまともに動くのですが、それ以外にすると無茶苦茶になってしまいます。
何がおかしいんでしょうか・・・
657デフォルトの名無しさん:04/10/20 21:55:43
>>656
そんなコードじゃ話になりません。
658デフォルトの名無しさん:04/10/20 21:57:10
655さん
すいません!本当にありがとうございました!!
659デフォルトの名無しさん:04/10/20 22:32:24
>>656
String使ってないか?
Byteで処理しないと何をされても文句言えないぞ
660638:04/10/20 22:42:58
>>659
すみません、意味がよく分かりません。
もう少し詳しくお願いします。
661デフォルトの名無しさん:04/10/20 22:52:15
>>660
説明がめんどくさいからコードで。

Dim s() As Byte
Dim i As Integer
s = StrConv(Text1.Text, vbFromUnicode)
Label1.Caption = ""
Label2.Caption = ""
For i = 0 To UBound(s)
Label1.Caption = Label1.Caption & " " & Hex(s(i))
Next i

For i = 0 To UBound(s)
s(i) = s(i) Xor &HFF
Label2.Caption = Label2.Caption & " " & Hex(s(i))
Next i
662デフォルトの名無しさん:04/10/20 22:55:57
Byteから文字に戻すのは、またxorかけて
Label3.Caption = StrConv(s, vbUnicode)
のような感じ。
663デフォルトの名無しさん:04/10/20 23:21:21
ここの質問者って自分の理解を超えると消えちゃうよねー
664638:04/10/20 23:24:15
ヘルプ読みながらなんとか解読しました。
親切にありがとうございました。
665Orator:04/10/21 01:45:58
>>644
VB6で使われているUnicodeは、UCS-2です。
UTF-16ならばそのまま読めますが、UTF-8だと変換が必要かと。

で、文字コードの変換という事であれば、ADODB.Streamオブジェクトが
利用できます。(Charsetプロパティで任意の文字コードを指定できます)

Private Sub Form_Load()
  With CreateObject("ADODB.Stream")
    .Charset = "UTF-8"
    .Open
    .LoadFromFile "C:\UTF8.TXT"
    Label1.Caption = .ReadText()
    .Close
  End With
End Sub
666デフォルトの名無しさん:04/10/21 11:41:52
コレクションに任意のキーがあるかどうかを知りたいのだが
要素の総当たり及びエラー判定以外のうまい方法教えて
667デフォルトの名無しさん:04/10/21 11:49:01
Collection.Item(キー名)をやってエラーになったらキー無し
668デフォルトの名無しさん:04/10/21 11:55:18
>>665

ありがとうございます。

試してみます。
669デフォルトの名無しさん:04/10/21 12:49:27
>>666
Dictionaryを使え。
670デフォルトの名無しさん:04/10/21 13:23:21
>>667
どうも
しかし二行目をよく読んでほしかった

>>669
確かにメソッドが用意されとるね
しかしインデックスはないようなだ
もっと扱ってみんとよくわからんがいろいろ使い道ありそうだ
どうも
671デフォルトの名無しさん:04/10/21 13:56:53
lineメソッドで書いた線の色を反転させるにはどうすればいいのでしょうか。

例えば
line(0,10)-(50,50),qbcolor(0)
としたあとに、この線の色を反転させたいのですが・・・
672デフォルトの名無しさん:04/10/21 14:11:41
>>671
DrawMode VbXorPen QBColor(15)
でだめか?
673デフォルトの名無しさん:04/10/21 17:04:32
ここってできたかどうかの報告すらしない人多いよねー
674デフォルトの名無しさん:04/10/21 17:10:34
>>668
コラ!オレの情報は無視か!
675デフォルトの名無しさん:04/10/21 23:11:56
ヒントだけで良いので教えてくださいませ。

1. VB6で作成中にメールアドレスを取得したくなりました。(欲しいのは名前→メアド)
2. 色々ググって、LDAPでいけそうなので、サンプルを真似て動かしました。
3. 名前や部署などは取れるのですが、IADsUser の EmailAddress、ADO を利用した mail 共に空値です。
4. しかしながら、Outlook でメールを作成する際には、しっかりメアドが取れます。(LDAPを利用している)

4.の結果からすると、参照できるはずなので、もしかしてマッピング?と思い、Outlookの設定を色々
探し回ったのですが、発見できませんでした。

# 例えば、通常なら mail → 表示メアド のところ、 foo → 表示メアド に設定を変えているのでは?という意味です。

2chに(真面目に)書き込むのが初めてなので、至らない点もあるかと思いますが、宜しくお願いします。

【追記】
・ツールを利用して調べる場合は、なるべく標準的なソフトが嬉しいです。
(そこはフリーソフトなどを入れることができないので)
676デフォルトの名無しさん:04/10/21 23:36:49
質問には答えられないが、他人のツールからアドレス読み取られるのって嫌だなーって思った。
677デフォルトの名無しさん:04/10/22 01:18:26
テキストファイルの行数を知るには?

便利なものがないなら、
Scripting.FileSystemObject.OpenTextFile
AtEndOfStreamまでループを回して数える
にしようかと思いますが、どうでしょう?
678デフォルトの名無しさん:04/10/22 01:25:36
便利なものは無い
679677:04/10/22 01:27:11
ありがとう。
ではループで行きます。
680デフォルトの名無しさん:04/10/22 12:49:39
>675
対象のPCで複数のメアドを使ってたら?メーラがOLじゃなかったら?
複数の他メーラを使い分けてたら?WEBメーラの場合は?

分かる範囲のメアド格納レジストリやINIファイルから取得するのが
シンプルで良いんでない?取得先に優先順番を付けて最初に取得
できたメアドだけにしておくとかさ。
681デフォルトの名無しさん:04/10/22 21:10:34
十進割り算で小数点以下の切捨て、切り上げ、四捨五入を桁数を指定できるようにしたんですが、
うまくいきません。アドバイスをお願いします
'*****************************************************************
' 割り算
' 少数丸め位置[ 1=第1位 2=第2位 3=第3位、以外は第四位]
' 丸め[G_切り捨て,G_四捨五入,G_切り上げを使用する、以外は切り捨て]
'*****************************************************************
Public Function 割り算(ByVal 分子 As Variant, ByVal 分母 As Variant, Optional ByVal 少数丸め位置 As Integer = 0, Optional ByVal 丸め As Integer = G_切り捨て) As Variant
Dim 最大v As Variant
Dim 補正v As Variant
Dim 調整v As Variant
Dim 少数v As Variant
Dim 結果v As Variant
最大v = CDec("1000000000000000")
補正v = CDec("10000")
If VarType(分子) = vbDecimal Then 分子 = 分子 - Fix(分子 / 最大v) * 最大v: 分子 = CDec(Fix(分子 * 補正v) / 補正v) Else 分子 = CDec(0)
If VarType(分母) = vbDecimal Then 分母 = 分母 - Fix(分母 / 最大v) * 最大v: 分母 = CDec(Fix(分母 * 補正v) / 補正v) Else 分母 = CDec(0)
If 少数丸め位置 < 1 Or 少数丸め位置 > 4 Then 少数丸め位置 = 4
少数v = CDec((10 ^ (少数丸め位置 + 1)) / 10)
Select Case 丸め
  Case G_四捨五入: 調整v = CDec(0.5)
  Case G_切り上げ: 調整v = CDec(0.9999)
  Case Else: 調整v = CDec(0)
End Select
If 分子 = 0 Or 分母 = 0 Then
  割り算 = CDec(0)
Else
  結果v = CDec(Fix(((分子 * 少数v) / 分母) + (調整v)))
  結果v = CDec(結果v / 少数v)
  割り算 = CDec(結果v - Fix(結果v / 最大v) * 最大v)
End If
End Function
682デフォルトの名無しさん:04/10/22 21:15:30
何がどううまくいかないのかも言わない奴にアドバイスなんかしません。
683デフォルトの名無しさん:04/10/22 21:18:15
とりあえず、全角で命名するのはどうかと思うよ
684デフォルトの名無しさん:04/10/22 21:20:37
まあ素人は↓でも使っておけってこった
ttp://www.ruriplus.com/msaccess/faq/faq_006.html
685デフォルトの名無しさん:04/10/22 21:30:58
>>681
新手の嫌がらせ?
マジでやってるならある意味神。

>>682
しないんじゃなくて出来ないくせに(笑
686デフォルトの名無しさん:04/10/22 21:38:48
できないからしないんだよw
687デフォルトの名無しさん:04/10/22 22:12:59
>>685
嫌がらせなんてとんでもないです。ただこの関数を繰り返し使うと
なぜか想定したより大きい値が出るので悩んでいます。
利息とかの計算で、十進数で誤差が出ないように作ったんですが。
688675:04/10/22 22:37:02
レスありがとうございます。

>>676
なんとなく気持ち悪いのは分かります。ただ今回は社内で公開されているのを利用するので。

>>680
>>対象のPCで複数のメアドを使ってたら?メーラがOLじゃなかったら?
>>複数の他メーラを使い分けてたら?WEBメーラの場合は?

詳細は省いてしまったので、あれなのですが
社内なのでOLが確実に導入されていて、なおかつメアドは1つと保証されています。

# 仮に増えても属性が追加されるだけ?と甘い考えをしています

>>分かる範囲のメアド格納レジストリやINIファイルから取得するのが
>>シンプルで良いんでない?取得先に優先順番を付けて最初に取得
>>できたメアドだけにしておくとかさ。

最初はそのように考えたのですが、アクティブ・ディレクトリならノーメンテじゃん!
と思い立ち、現在に至っている次第です。


(重複しますが)状況を整理しますと
・OLは社内の全端末に導入されていて、名前からメアドをアクティブディレクトリ経由で取得できる
・自アプリからメアドを取得したいが何故か(ADSI2.5、ADO経由ともに)空値である
・メアドが直感的では無い場合も有りえるので、名前などから検索したい
 (もちろん必要な都度OLを利用するのも手ですが、それはそれで...)
・人の入れ替わりが結構発生するようなので、なるべくユーザに設定させたい(つまり楽をしたい)
・環境はVB6、Win2000。ただし現在の環境に新たなソフトの導入は不可(たぶん自作はOK)
というところでしょうか。

自分でも Web や書籍等をあたってみますが、なにか情報がございましたら宜しくお願いします。
689デフォルトの名無しさん:04/10/22 23:33:23
>>687
煽りで言うんじゃないけど、こんな酷い処理は初めて見たよ。
もしかしたら、俺の知らないアカデミックな世界にケチ付けてるかもしれんので怖いが。

桁上げ=10^丸め位置
丸め=5 '丸め=9 '丸め=0
丸める前=Fix((分子*桁上げ)/分母+丸め)
結果=(丸める前 - (丸める前 mod 10)) / 桁上げ

では駄目か?
あとDecimalって無限小数の問題って無いんだっけ?
690デフォルトの名無しさん:04/10/22 23:53:07
ん、違うな。
だめだこりゃ。
691デフォルトの名無しさん:04/10/23 01:09:32
「モジュールレベルでの Dim 宣言は、Public と解釈されてしまいます。」
という説明を見かけたのですが,そうなのでしょうか?
692デフォルトの名無しさん:04/10/23 01:50:40
>>691
???何これ
そうなのでしょうか?って意味わかんない。。

♪もしかしたら もしかしたらそうなのかしら?
693デフォルトの名無しさん:04/10/23 02:29:17
>691
あんたの「説明を見かけた」というサイトに以下の但し書きは無かったか?

『※記述されている内容やサンプルコードなどが常に正しいという保証はありません。
これだけを鵜呑みにしないでください。内容に間違いなどあれば、遠慮なくご指摘ください。』

・・そう。つまり間違ってるんだよ。安心したか?

指摘してやりたいんだろ?してあげれば?高木さんに。
694デフォルトの名無しさん:04/10/23 02:46:53
VB6.0 SP4,Win95,98,NT,2000,Xpの環境で、
コモンダイアログのファイル入出力で、既定で開くフォルダを
マイドキュメントにしたいのですが、何かい方法はありませんか?

今は取り敢えずレジストリの
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders
のPerdonalからマイドキュメントのフルパスを取得して与えてるのですが、
何かもっと簡単に設定できんのかと思ってます。

ちなみに今WinXpのマシンが無いので、上のレジストリキーがWinXpにもあるか
判らないのですがありますよね?
695694:04/10/23 02:48:40
>>694
>のPerdonalからマイドキュメントのフルパスを取得して与えてるのですが、

はPersonalの間違いでしたすいません。
696デフォルトの名無しさん:04/10/23 03:19:03
>694
SHGetSpecialFolderLocation が使い易くて汎用性も良い方ではある。
Meを除くWin95〜XPまで基本的に利用可能。条件にもあってるし。

> ちなみに今WinXpのマシンが無いので、上のレジストリキーが
> WinXpにもあるか 判らないのですがありますよね?
あるよ。
697696:04/10/23 03:21:20
× 汎用性は良い
○ 汎用性は高い

に訂正。
698デフォルトの名無しさん:04/10/23 03:47:49
>>688
環境が管理された端末なら、
この辺でできそうでは?
メッセージの抑制についても別に記載があったし。
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vbaol11/html/olmthResolve.asp
699698:04/10/23 03:55:47
700694:04/10/23 04:51:58
>>696
ありがとうございます。ただこの関数、以下のドキュメントでは
初期のWindows 95では(マイドキュメントの)フォルダパスは返されません
とか書いてあるんでちと使えないかもしれません。
http://www001.upp.so-net.ne.jp/yamashita/doc/shellfolder.htm
それとWinMeですが、書き忘れてました。多分今回の環境に含まれます...

SHGetFolderPath関数もよいかなと思ったのですが、これだと古い環境では
SHFolder.dllを一緒に頒布する必要がありますとのこと。なかなかこれぞ
という方法がないですね...
701デフォルトの名無しさん:04/10/23 12:01:06
>>700
>初期のWindows 95では(マイドキュメントの)フォルダパスは返されません

ちょっと覚えてないんだけど、そのサイトをみると初期のWindows 95には
マイ ドキュメントの概念がないみたいに読みとれるけど?
フォルダ自体が無いならどうやっても取れないよね
702694:04/10/23 13:05:07
>>701
確かに...実はWin95の試験環境も今手元になかったので、あれから
腐って放置してあったPII350MHzのマシンにWin95入れようとしてるの
ですが、Win95CDは見つかったのに起動FDDがないので先に進めない。
Win95のセットアップなんて確実に7年はやってないから記憶が...

今作ってるシステムでの要求仕様は保存先は既定はマイドキュメントという
だけなので、マイドキュメントなければC:\でも構わないのかなとも思うん
ですが、確認しようにも休みだし...

>ちょっと覚えてないんだけど、そのサイトをみると初期のWindows 95には
>マイ ドキュメントの概念がないみたいに読みとれるけど?
そこのサイトを更に読むとIE4以上が入っているかどうかが鍵になりそう
ですね。
>>古いWindowsで、なお且つ最新のInternet Exploreの様なシェルを
>>更新するプログラムがインストールされていない場合、マイ ドキュメント
>>の概念がありません。
703デフォルトの名無しさん:04/10/23 16:11:13
マイドキュメントやお気に入りなどの特殊フォルダは、Windowsのshell32.dllが扱っているので、
95の場合はIE4をインストールしてshell32.dllをアップデートしないとダメです。
デスクトップのアップデートコンポーネントっていうやつ。
704694:04/10/23 16:32:24
>>703 ありがとうございます。
Win95 4.00.950 B インストールして確認しました。\My Documents無いですね。
>>694で書いたレジストリキーや代替できそうなキーも無いです。レジストリ参照
に使ってるadvapi32.dllはあるみたいです。
おそらくIE4をインストールするような変更を客先マシンにすることは禁止される
と思うので>>694で書いたレジストリキーを参照してエラーなら"c:\"返す形に
するかシステムの初期設定で保存先フォルダを指定して.iniファイルにでも
残すか検討して客先に判断を仰ぎます。ありがとうございました。
705デフォルトの名無しさん:04/10/23 21:15:09
技術的内容ではないのですが、VBに関して質問させていただきたい
内容があります。

VB6.0以前の開発環境は、現在でも入手可能でしょうか?

VB6.0で書かれたソフト資産(ソースのみ)があり、これを引き継いで
開発を行うために、開発環境の入手が必要となっています。
ご存じでしたらお教えいただけると助かります。

また、もしスレ違いの場合は、妥当なスレをご紹介、誘導いただけると
幸いです。
706デフォルトの名無しさん:04/10/23 21:26:58
707705:04/10/23 22:16:32
>>706
早速の情報ありがとうございます。
中古で入手という方法もあるのですね。
708デフォルトの名無しさん:04/10/23 22:59:40
>705
 MSDNの会員になれば、Subscriber Downloadで入手可能。
 会員の種別によって入手できる版が変わるし、どの版も入手できない
会員種別もあるので、会員になる場合は種別と入手できる版を
良く確認する。
 ただし、VB6.0までで、VB5.0以前はダウンロード出来たかどうか・・・
 以前はVB4.0もあったんだが、最近は見ていないので。
709705:04/10/23 23:20:30
>>708
情報ありがとうございます。
ちゃんとしたライセンスで開発環境入手するには、
この方法が良さそうですね。
どのサブスプリクションレベルでどの版が入手できるのか
MSのWEBに記載が見つからなかったので、週明けにでもMSに
問い合わせてみます。
MSのWEBの説明見ていくと、MSDNの会員になるのに、Visual
Studioのアップグレード版パッケージを購入するのが最安
コースになりそうですね。。。。
VB6.0使いたいだけなのに出費としては結構かかりそう、、、
710デフォルトの名無しさん:04/10/24 01:49:12
SHELLで起動しているプログラムが、正常終了したものか強制終了
されたものかを判別するにはどうしたら良いですか?
711デフォルトの名無しさん:04/10/24 01:58:58
VBを勉強したいんですが良いフリーソフト教えてください。
712デフォルトの名無しさん:04/10/24 02:12:00
ディストリビューションウィザードが出せなくなりましたが、
sp6を入れたことと関係あるのかしら?
713712:04/10/24 03:35:37
>>ディストリビューションウィザードが出せなくなりましたが、
これは勘違いで最初からインストールし忘れだったかもしれません。(^_^;)

これとは別に
Microsoft VBScript Regular Expressions 5.5を参照設定し、
RegExpを使ったプロジェクトを作ると、
依存関係に"3"というファイルがでてきますが、
無視していいのかしら。


714デフォルトの名無しさん:04/10/24 05:14:24
>>711
MS Officeを持っているならVBAが付属している。
Office2kならVBAのバージョンは6だが他は知らない。
Officeを持っていないのならVB5 ControlCreationEditionを探せ
715688:04/10/24 11:29:33
>>699
最初の頃はOLの機能を使うつもりでいたのですが、セキュリティ・ダイアログが
バシバシ出てきて、すぐに萎えてしまいました。
でも(英語は苦手ですが)教えて頂いたサイトによると、回避する方法もあるよう
なので、折衝案として一考の余地がありますね。

ユーザに負担を強いる、あるいはLDAPで悩みまくるとは異なるアプローチとして
試してみたいと思います。
情報&アドバイスありがとうございました。


また何かありましたら相談させて頂きますので、宜しくお願いします>ALL
716デフォルトの名無しさん:04/10/25 09:43:55
うむ
717デフォルトの名無しさん:04/10/25 13:31:37
すいません。
かなり頭を悩ませていて、皆様のお力をお貸しください。
開発環境
VB6.0 SP6 Windows2k

バッファ処理についてなのですが、
処理途中でバッファが飛んでしまうようなプログラムになってしまいました。

Public Buff(0 to 1000) as String '基本バッファ
Public WBuff(0 to 1000) as String '送信バッファ
Public Buff_Count as Integer
Public Buff_Flg as Boolean
Public ia as Integer
Public ib as Integer
〜〜処理0〜〜
Buff(Buff_Count) = data '処理0により作成されたデータを格納
Buff_Count = Buff_Count + 1 'カウントUP
※上記2行の処理は複数回行われることもある。
処理0終了後処理1に移る。
718717:04/10/25 13:32:02
〜〜処理1〜〜'BuffをWbuffに移す
ib = 0
Buff_Flg = False 
For ia = 0 To 1000'Wbuffの中身が空か確かめる
If Wbuff(ia) <> "" Then
Buff_Flg = True '中身があればTrueに
End If
Next
If Buff_Flg = False Then  'Wbuffの中身が無ければ下記処理を実行
For ia = 0 To 1000  'Buffの中身が無ければ処理0をに戻る為
If Buff(ia) = "" Then
Exit For
Else
wbuff_loop:
If Wbuff(ib) = "" Then 'Wbuffの中身がなければBuffの中身を移す
Wbuff(ib) = Buff(ia)
Buff(ia) = ""
Buff_Count = 0
ib = ib + 1
Else'有れば無くなるのを待つ。※書いてると矛盾してそうな気が・・・
ib = ib + 1
GoTo wbuff_loop
End If
End If
Next
End If

処理0に戻る
719717:04/10/25 13:32:27
〜〜処理2〜〜 'この処理はTimer(VBのコンポーネントではないです。)で
'5msごとに定期的に開始されます。
Dim i As Integer
For i = 0 To 1000
If Wbuff(i) = "" Then
Exit Sub
Else
send Wbuff(i) 'ここで外部出力にデータを渡してます。
Wbuff(i) = ""
End If
Next

たぶんですが、バッファの同期100%取ってないので
バグが出てるのだとおもうのですが、
この解決方法をお教えください。

宜しくお願い致します。
720デフォルトの名無しさん:04/10/25 13:33:36
画像ファイルについて教えてください。

PictureBoxに画像を読み込む場合、画像が大きい場合は
一部しか表示されません。
縮小して表示させるにはどうしたら良いのでしょうか?
721717:04/10/25 13:34:27
…TABがなくなってる…orz
読みづらくてすいません…orz
722デフォルトの名無しさん:04/10/25 13:40:24
>>717
StringじゃなくてByteじゃないのか?
723デフォルトの名無しさん:04/10/25 13:40:53
>>720
自分で縮小してくれ
724初心者:04/10/25 14:01:58
VBでなくてもいいのかもしれませんが、VBぐらいしか使えませんので
ここで質問します。かなり初心者ですが、よろしこです。

管理者でしか実行できないようなコマンドを一般ユーザーに実行させ
たいと考えています。
具体的にはユーザー名とパスワードを入力させるダイアログ開かせて、
その権限で何かコマンドを実行するという感じです。

今考えているのは、VBScriptなんかでよく使うような、
Active Directoryのあるグループから、特定のユーザーを削除する
ようなものです。
VBScriptだとこのような操作は、Windowsに怒られてしまいますので
ダイアログを開かせて別のユーザー権限として実行したいと考えて
います。

よろしくお願いします。
725デフォルトの名無しさん:04/10/25 14:08:49
>>717
仕様を略すな。
動かないプログラムを略すな。
長いソースはアップローダーを使え。 http://do.sakura.ne.jp/%7Ejunkroom/cgi-bin/megabbs/lounge/index.html
726デフォルトの名無しさん:04/10/25 14:17:12
>>724
言語以前の問題として、ユーザーと権限に関してのWindowsのきちんとした知識を身につけて、
その上で関連するAPIの仕様を見ないと駄目。

半端な知識でそれらが作れるならば、セキュリティーって何?ってことですから。
727デフォルトの名無しさん:04/10/25 18:45:07
>>717
イヤミに聞こえるかも知れないけど、
バッファ処理だのバッファが飛ぶだの「オレサマ用語」で説明を省略されても
どんな問題が起こってるのかさっぱりわかりません。

他人の視点にたって、他人が理解できるように過不足なく分を推敲する。
何かを説明する文章の基本でしょ。
728デフォルトの名無しさん:04/10/25 18:46:37
>>727
わからないなら口挟むな。
729デフォルトの名無しさん:04/10/25 18:54:24
オマエモナー
730デフォルトの名無しさん:04/10/25 18:58:47
>>729
お前、本当にわかって無いんだな
731デフォルトの名無しさん:04/10/25 19:01:19
>>729
恥の上塗りですか。かっこいいな。
732デフォルトの名無しさん:04/10/25 19:03:14
いいから早く答えろよ下民ども
733デフォルトの名無しさん:04/10/25 19:07:33
>>732
恥の上塗りですか。かっこいいな。
734デフォルトの名無しさん:04/10/25 19:11:12
>>724
runas
735デフォルトの名無しさん:04/10/25 19:16:40
わからないなら口挟むなよVB厨風情が。
736デフォルトの名無しさん:04/10/25 19:20:32
>>735
わからないなら口挟むなよRUBY厨風情が。
737デフォルトの名無しさん:04/10/25 19:26:06
717
読む気がしない。
まずは最小の再現ケースにしてくれ。
738デフォルトの名無しさん:04/10/25 19:30:50
>>717
眺めただけだけど
処理2が割り込むのが原因だろうから、
これを排他的に処理するようにしたら?
739デフォルトの名無しさん:04/10/26 00:48:05
布団がふっ飛んだ
740デフォルトの名無しさん:04/10/26 03:16:03
終わったなこのスレ
741デフォルトの名無しさん:04/10/26 10:12:51
VBのヘルプって
該当するキーワードに載せてF1を押すと
ヘルプの該当するページが表示されますが
同じようにとあるボタンを押すと
それに関するページを直接表示するような
HTMLのヘルプって作れるのでしょうか?
そういうツールがVSにあったりしますか?
742デフォルトの名無しさん:04/10/26 10:29:40
>>741
HTML CHM でぐぐれ
743741:04/10/26 13:08:24
>>742
ありがとーー!
744デフォルトの名無しさん:04/10/27 00:00:38
.NETの普及とともにこのスレも過疎化が進んでるね。
745デフォルトの名無しさん:04/10/27 00:37:21
>726
説明が少なくてすみません、
利用するのは管理者なので、セキュリティ的なハードルは無しになります。
確かにAPIのこととかよく分かってないので、もうちょっと勉強すべきですね。

>734
なるほど、この方法をうまく使うといけそうですね。
こんなコマンドがあるの知りませんでした、さっそくやってみます。
ありがとうございます。
746デフォルトの名無しさん:04/10/27 12:00:59
>>717
結局解決したのかい?
747717:04/10/27 13:51:44
>>746
>>738さんの
アドバイスのように排他的処理に変更して耐久テスト稼動中です。
今のところ問題は起きてないようです。

もし、このような処理には
こんな処理方法あるよ、と別の方法でもアドバイス頂けますと
今後の開発の参考になりますので
ご存知でしたらお教えください。
748デフォルトの名無しさん:04/10/27 14:01:58
聞くこと漠然としすぎだろ?

最初の書き込みもそうだが、他人に伝える努力とか、求めるものを明確にする部分を磨け。
749デフォルトの名無しさん:04/10/27 14:21:47
>>748
にさんせい、プログラム以前に何を伝えるのかw
750デフォルトの名無しさん:04/10/27 14:40:12
いやいや、それ以前に
>>717

Forの中でGotoでループさせてるのはどうかと・・・・(;´Д`)

何かトラブルでデータがしばらく来ない場合とちょっと危険なかほり・・・
751デフォルトの名無しさん:04/10/27 18:17:39
goto文には驚いたなあ・・・・
752デフォルトの名無しさん:04/10/27 19:54:05
やっぱBasicの基本だね。Goto!
若い人には新鮮味があるのかもね。






ヌルポ
753デフォルトの名無しさん:04/10/27 21:36:51
確かに「gotoは使うべからず」と単純に思い込めるオメデタイお方はgoto使わないほうがいい。
goto使うなってのはFoolproofなんだけど、それがわからないならね。
754デフォルトの名無しさん:04/10/28 09:17:48
やってることがGOTOなのに無理やりwhileとかあるよね

do while(1)
if hoge then exit do
・・・
if hoge then exit do
・・・
if hoge then exit do

exit do
loop
755デフォルトの名無しさん:04/10/29 13:59:38
フォームのアンロードについて教えて下さい↑
プロジェクトに(Form1)と(Form2)の2つのフォームがあるツールを作っています。
(Form1)に配置したコンボボックスの"Click"イベントでリストを選択した時に
(Form2)をロードした後に(Form1)をアンロードしたいんです。
(Form2)の"Load"イベントで 'unload Form1' と記述すると、"現在アンロードできません"
と表示されエラーになります。ヘルプで調べたところ、Comboboxの"Click"イベントでは
'unload ○○'の記述は使えないことがわかりました。
(Form1)をアンロードできなくて困ってます。(Form1)をアンロードしないで画面表示だけ
消すことはできるのですが・・・。
どなたか教えていただけないでしょうか!?
756デフォルトの名無しさん:04/10/29 14:10:26
>755
「 Form1.hide 」にすれば?
757デフォルトの名無しさん:04/10/29 14:20:06
>756
返信ありがとうございます!
フォームを8個使っていまして、アンロードしないと全てのフォームをロードした時
に270MBくらいメモリを使ってしまうんです・・・。Win'98でアプリ動かしてい
たらメモリが足りなくなって終了してしまいました。
フォームの表示を消すだけでなく、アンロードしてメモリを解放したいんです。
758デフォルトの名無しさん:04/10/29 14:22:29
>757
>2つのフォームがあるツールを作っています。

話 が 違 う じ ゃ な い か
759デフォルトの名無しさん:04/10/29 14:25:03
>>757

Form2が アクティブになった時点
もしくは タイマーを用いて 少し経った時点で
unload form1
としてやればいい。
760デフォルトの名無しさん:04/10/29 14:27:35
>758
Form1→Form2をロード
Form3→Form7をロード

こういう意味であえて"2つ"と書きました。すいません!
Form1〜Form8の全てにコンボボックスを配置していて、
どの Form にも切り替えられるようにしたいんです。
761デフォルトの名無しさん:04/10/29 14:55:32
>760
しょうがないな。
んじゃ、「 Form_Activate 」で、「 unload Form1 」とすれば?
762デフォルトの名無しさん:04/10/29 15:00:17
メモリを使いすぎないプログラムにする方向で考えてもらいたいものだ
763デフォルトの名無しさん:04/10/29 15:03:33
まぁ、各フォームごとに、手分けして制作でもしてるんだろうさ。

でないと、いくらなんでも、そんな作りにはならん。
764デフォルトの名無しさん:04/10/29 15:03:34
>>755
このモジュール(標準モジュールとしてmodTimerUnload、
クラスモジュールとしてclsTimerUnload)を組み込むだけで
あら不思議。フォームを何も修正しなくてもUnloadできるようになります!

気まぐれで作ってみた。まあ基本は>>759といっしょ。
メモリ(オブジェクト?)リークしないように短いタイミングで
複数実行されても大丈夫なのように作ったつもりだけど動作保証はしません。
ちゃんとコード読める人推奨。

これ使ってUnloadを2147483648回以上やると落ちる。
回避するにはkeyの生成方法でも工夫して(日付使うとか隠し関数のObjPtrを利用するとか)

'modTimerUnload
Option Explicit

Private TimerUnloads As New Collection
Private TimerUnloadsCount As Long

Public Sub Unload(ByVal frm As Form)
Dim tu As clsTimerUnload
Dim key As String
key = "key" & TimerUnloadsCount
TimerUnloadsCount = TimerUnloadsCount + 1
Set tu = New clsTimerUnload
tu.Unload frm, TimerUnloads, key
TimerUnloads.Add tu, key
End Sub
765764の続き:04/10/29 15:04:21
'clsTimerUnload
Option Explicit

Private WithEvents m_timer As Timer
Private m_frm As Form
Private m_tus As Collection
Private m_key As String

Private Sub m_timer_Timer()
VB.Unload m_frm
m_tus.Remove m_key
Set m_timer = Nothing
Set m_frm = Nothing
Set m_tus = Nothing
End Sub

Public Sub Unload(ByVal frm As Form, ByVal tus As Collection, ByVal key As String)
Set m_timer = frm.Controls.Add("VB.Timer", "TimerUnload" & key)
m_timer.Interval = 1
m_timer.Enabled = True
Set m_frm = frm
Set m_tus = tus
m_key = key
End Sub
766764:04/10/29 15:07:15
おまけ。

ユーザーコントロールを使うと同時に複数実行した場合
(オブジェクトが複数生成された場合)でも
ちゃんと動く&オブジェクトの管理を任せられるのでもっとシンプルに作れる。
ただし、使用しないActiveXコントロールについての情報を
削除できなかったりするので不便な点もある。
767デフォルトの名無しさん:04/10/29 15:28:56
つうか、何を表示なりしたらそれだけメモリー消費できるんだ?
画像とかか?
768デフォルトの名無しさん:04/10/29 15:34:12
>764
>ちゃんとコード読める人推奨。

たぶん、760には無理だと思ふ...
769764:04/10/29 15:52:48
ユーザーコントロール版。ついでに作ってみた。ソースはこんだけ。
ただし、使用しないActiveXコントロールについての情報を削除しない
(もしくはどこかのフォームにダミーとして貼り付ける)こと。
ユーザーコントロールにはtimerを貼り付け、ユーザーコントロール自体のプロパティは
リソースを消費しないように無駄なプロパティを変更したほうがいい。
HasDCをFalse、InvisibleAtRuntimeをTrueにしたほうが良いと思うが
具体的にどこを変えたほうが良いかは調べるのが面倒なので省略。

ソースコード内のProject1は実際のプロジェクトのオブジェクト名にすること。
プログラムで取得するにはどうしたらいいんだろう・・・?
app.EXENameはEXEの名前だし、app.Titleはアプリケーションのタイトルだし。

>>768
まあ気にするな。初心者を中傷したって面白くないでしょ。
これは、こんなこともできるというサンプルさ。

'modTimerUnload
Option Explicit
Public Sub Unload(ByVal frm As Form)
frm.Controls.Add "Project1.ucTimerUnload", "TimerUnload"
End Sub

'ucTimerUnload
Option Explicit
Private Sub Timer1_Timer()
VB.Unload Extender.Parent
End Sub
Private Sub UserControl_Initialize()
Timer1.Interval = 1
Timer1.Enabled = True
End Sub
770デフォルトの名無しさん:04/10/29 16:21:08
>769
優しいな。今日何かイイコトあったんだろ?

最初はみんなそうやって優しいのだが、教えて君の殆どは聞くだけ
聞いてうまくいけばそのレポートとか、感想さえもレスしてこないので
役にたったのか釣られただけなのか、何にも分からないまま終わる。

「漏れが作ったサンプルは何だったんだ?」
・・・これを繰り返していくうちに、まともな回答者は去っていく。。。
771764:04/10/29 16:32:01
> 優しいな。今日何かイイコトあったんだろ?
残念ながら特に無いw

別に最初っからレスは期待していないし、回答したつもりも無く、
自分のために単に作ってみたかっただけだよん。
すべてのフォームにタイマーおきまくりなんてのが量産されるの想像したら
気持ち悪かったんで。実際昔そういうのみたことあるし。

当時はそれを改善する方法すら思いつかなかったけど、
今の俺ならこんなこと簡単に出来るぜって。ってゆーか自己顕示?
それじゃあ皆さん、どつかれさん。
772755:04/10/29 16:45:19
ダメでした・・・

>764
モジュールを組みこんで動作させたらCPU使用率が100%に。
>767
言葉が足りなかったです。
OSや他の常駐プログラムを含めたメモリ使用量です。
>768
読めないです^^;
773デフォルトの名無しさん:04/10/29 16:52:20
>771
>自己顕示

分かった。でも何だかんだ言っても、エライな、藻前。
774764:04/10/29 17:03:00
>>772
どこかで無限ループしているか、フォームをアンロードしたあとに
ロードしているとかしているんだろう。もちろんこのモジュールにバグがある可能性もある。
modTimerUnloadのUnloadをTimerUnloadに変えてみるとか
フォームのUnloadの次あたりにExit Subでも入れてみればうまくいくかもね。

スマートでない方法をするのならフォームにタイマーおいてComboBoxのclickで
タイマーを有効にしてtimerイベントでUnload。他にもっといい方法があるかも知れんけど。
どの方法を使うか、勉強してやっていること理解してデバッグするか
お好きにどうぞ。まあがんばって。
775デフォルトの名無しさん:04/10/29 18:34:11
質問よろしいでしょうか?
string型の変数に
数字、アルファベット以外の文字が含まれているかどうかを
チェックしたいのですが
いい方法はありますでしょうか?
やはり一文字目からチェックするしかないのでしょうか?
文字列の形式は10桁固定で
はじめの3桁がアルファベット
後が数字となります

どなたかご教授ください

環境は
WinXP
VB6 SP6
です
776デフォルトの名無しさん:04/10/29 18:50:02
>>775
Like使えば?
777デフォルトの名無しさん:04/10/29 19:19:19
VBってコンパイルできるようになったのは幾つのバージョンからなんですか?
最初の頃は出来なかったらしいですが。
778デフォルトの名無しさん:04/10/29 19:22:58
>>777
VB4はPしか無かったなぁ。
VB5からじゃね?
779デフォルトの名無しさん:04/10/29 20:09:05
>>772
こんな風にクラスにするほうが俺はお勧めだと思う。
基本的なアイデアは764氏と同じだけど。

'cCloseMeクラス
Private WithEvents mTimer As Timer
Private mTargerForm As Form

Public Sub CloseMe()
  Set mTimer = mTargerForm.Controls.Add("VB.Timer", "mTimer")
  With mTimer
    .Enabled = True
    .Interval = 10
  End With
End Sub

Public Property Let TargetForm(Frm As Form)
    Set mTargerForm = Frm
End Property

Private Sub mTimer_Timer()
  Unload mTargerForm
End Sub

で、自殺させたいフォームの宣言部で
Private mCloseMe As New cCloseMe
でインスタンス生成しておいて、(生成するタイミングは自殺させる寸前でもいいけど)
自殺させたいところで
mCloseMe.TargetForm = Me
mCloseMe.CloseMe
とする。
780764:04/10/29 22:19:20
>>779
それでも全然問題ないんだけどね。
Unloadをオーバーライド(機能的にはぜんぜん違うけど)っぽいことをやって
フォームをまったく修正することなく改良することが出来るという設計なんで。
781デフォルトの名無しさん:04/10/30 11:09:54
初心者にきびしいスレと分かって質問します。
変数の定義をするとき,DimとPrivateに違いはあるのですか。
782デフォルトの名無しさん:04/10/30 11:13:56
うん。
783デフォルトの名無しさん:04/10/30 11:30:34
DimとPrivateを並列に比べるのもどうかと思うが
784デフォルトの名無しさん:04/10/30 11:49:15
>783
ウマイ!座布団一枚( ・ω・)つ≒
785デフォルトの名無しさん:04/10/30 12:57:24
Dim Sub Command1_Click
End Sub
786デフォルトの名無しさん:04/10/30 14:50:27
質問です。
フリーズしてしまったプログラムを別のプログラムから強制終了させたいのですが、
VBではどうやればいいのでしょうか。
フリーズしてしまってますからAlt+F4などをSendKeyしても受け付けないのです。
VC++ではTerminateProcessというAPIがあるのですが、
これを使ったらできるでしょうか?
プロセスハンドルってどうやって取得したらいいんでしょう?
787デフォルトの名無しさん:04/10/30 15:15:57
質問です。
書き始めが「質問です。」って人はかなりの割合で同一人物のような気がするんだけど
間違いですか?

ググッた方がよほど早いことをわざわざ質問するところとか、
「VC++ではTerminateProcessというAPIがある」みたいなすっとこどっこいな勘違いとか
こういう人がそんなにいるとは思えないんですが。
788デフォルトの名無しさん:04/10/30 15:20:31
>787
同意。
なんか少数の質問者に振り回されてる気がするのは漏れだけじゃなくて安心した。

>786
ここでも見れば?ググッたらスグ見つけただけなんだけどw↓
ttp://hp.vector.co.jp/authors/VA020977/kouza/kouza012.htm
789デフォルトの名無しさん:04/10/30 19:48:17
非アクティブでフォームを開くするにはどうしたらよいでしょうか?

事前に、hideしておいて、SetWindowsPos(SWP_NOACTIVATE)で開いてやっても、
非アクティブになってしまう時と、アクティブになってしまう時と、動作がまちまちなんです。
確実に非アクティブで開ける方法はあるのでしょうか?
790738:04/10/30 20:13:34
>>747
ヨカッタネー。
俺っていいセンスしてるなー。
書けない言語でも、ソースレビュー大得意。
791デフォルトの名無しさん:04/10/30 21:32:07
>>789
他のウィンドウをアクティブにするとか。
792デフォルトの名無しさん:04/10/31 15:32:55
タイ語を使うソフトをつくりたいのですが、
タイ語を表示することができません。
どうしたらできますでしょうか。。
よろしくお願いします。 m(_ _)m
793デフォルトの名無しさん:04/10/31 15:35:54
>>792
ヘルプ読め
794デフォルトの名無しさん:04/10/31 15:46:42
>792
タイに行け
795デフォルトの名無しさん:04/10/31 15:58:23
>>793-794
そんな返事を期待してない。
よろしくです。m(_ _)m
796デフォルトの名無しさん:04/10/31 16:00:15
なんでヘルプに書いてある事を転載してやらにゃならんのだ
797デフォルトの名無しさん:04/10/31 16:01:49
>795
面倒だからヘルプ読めよ、莫迦
798デフォルトの名無しさん:04/10/31 16:09:26
タイ語は・・・無いな。
ttp://www.microsoft.com/japan/msdn/vbasic/Downloads/ipdk.asp

タイ語のWindowsで作ってコンパイルするしかないんでないの?
でなきゃ、文字を全て画像に(ry
799デフォルトの名無しさん:04/10/31 16:16:08
質問する奴が馬鹿なら答える奴らも馬鹿ときてる。
タイ語のWindows? ハァ?
開発環境、実行環境ともタイ語のフォントが入ってりゃOK。
そんだけのことだろ。
800デフォルトの名無しさん:04/10/31 16:20:01
タイ語機械語翻訳こんにゃくきぼんぬ
801デフォルトの名無しさん:04/10/31 16:22:28
>>799
知り合いがタイ語翻訳ソフトを作ろうとしてるんですよ。
ベースは日本語希望です。
802デフォルトの名無しさん:04/10/31 16:36:40
>>799
ハァ?
フォントだけで良いと思ってるの?この脳タリンが!
ネタか?
803デフォルトの名無しさん:04/10/31 16:43:44
ほんとだよねぇ〜。(ミミ風)
804デフォルトの名無しさん:04/10/31 17:21:06
とりあえずOSはNT系にして、フォントも用意する。

でもVBの内部コードは確かにUnicodeだけど
タイ語と日本語の混在って簡単なのかね?
俺、VB5の頃しか知らないけど、
表示に関してはOSの言語に依存してるっぽかった。
(日本語OSだとドイツ語が、ドイツ語OSだと日本語が表示できない、etc)
VB.NETだと可能なの? VC++ならできると思うけど。
805デフォルトの名無しさん:04/10/31 17:30:00
VB6でもやってやれない事は無いが、
UNICODEフォントで入力したり表示したりは普通のテキストボックス使えないし
内部でも色々やったりめんどくさかった
素直にVB.NETでも覚えたほうが国際化はラクだ
806798:04/10/31 17:30:11
>801
ここ見て参考にしたら?
ttp://home10.highway.ne.jp/ikko/thaidic/thai_dic.html
807デフォルトの名無しさん:04/10/31 17:43:10
>>804-806
ありがとうございました。
知り合いにこのスレを教えます。 m(_ _)m
808デフォルトの名無しさん:04/10/31 17:45:12
内部的にはUNICODEなんで問題ないと思うんだけど
問題は表示と出力かな?
WebBrowserコントロール使ったほうがいいのかも。
809798:04/10/31 17:50:00
>808
>WebBrowserコントロール

なるほど。ちょっと面白そうだな。
810デフォルトの名無しさん:04/10/31 20:22:53
翻訳ソフトって辞書はどうするの?
全部自作?
811デフォルトの名無しさん:04/11/01 10:47:07
タイ語のフォントもわからんものに、文脈解析など 難しい処理ができるわけがない。

素直に あきらめろと言え。
812デフォルトの名無しさん:04/11/01 12:09:17
「翻訳ソフト」でなく、「電子辞書ソフト」なんでないの?

それならダイジョウブ
813デフォルトの名無しさん:04/11/01 22:15:09
VB5で、ボタンを押せば変数の文字列(日本語)をクリップボードに送り、テキストボックスに表示するプログラムを作ったんですが、
WinXPSP2で文字化けするとの指摘を受けました。
SP2を当てていない環境で作ったのですが、原因・解決策はありますでしょうか?
よろしくお願いします。
814デフォルトの名無しさん:04/11/01 22:18:27
>>813
ちゃんとインストーラー作ってやった?
815デフォルトの名無しさん:04/11/01 22:26:43
通常使うプリンタをプログラムから変更するのに
APIのSetDefaultPrinterを使用しているのですが
たまに変更されないことがあるようです。

そんな現象があった方いませんか?

VB6/SP6
WindowsXP/SP2
816デフォルトの名無しさん:04/11/01 22:30:57
すみません、自己レスです

  Dim objWsh As Object

  Set objWsh = CreateObject("WScript.Network")
  objWsh.SetDefaultPrinter "プリンタ名"

  Set objWsh = Nothing

でも、切り替わりました。お騒がせしました。
817デフォルトの名無しさん:04/11/02 07:28:54
>>757
>フォームを8個使っていまして、アンロードしないと全てのフォームをロードした時
>に270MBくらいメモリを使ってしまうんです・・・。

教えて君ですいませんけど、一つのフォームが30Mとかの大きさって初心者の私には
信じられないんですけど、どうしてそんなに大きくなるんですか?
818デフォルトの名無しさん:04/11/02 09:38:30
>>817
落ち着いてスレを読め。同じ質問を私がして、既に回答がある。
アプリの仕様メモリじゃなく、その時点でのWin全体での使用量だったはず。
それに意味があるのかとかいう野暮な突っ込みはもうすんでいるのでなし。
819デフォルトの名無しさん:04/11/02 10:37:32
>>813
vb5jp.dll(だっけ?)がないんじゃない?
確かフォーム上だけで設定した文字列は化けた気がした。(dllがない場合)
フォームロード時にボタンなどに再度文字列を与えてやれば大丈夫だった気がする。
820デフォルトの名無しさん:04/11/02 20:33:54
>>814
>>819
インストーラー付で直ったとの連絡を貰いました。
ありがとうございました。
821デフォルトの名無しさん:04/11/02 21:35:09
VB評価版出てますけど、パスポート認証後に原因不明のエラーが出て、
DLページにいけません。

みなさん落とせました?
822デフォルトの名無しさん:04/11/02 21:55:19
>>821
ここはVB6.0までのスレなのだよ
823デフォルトの名無しさん:04/11/02 22:06:39
>>822
そうですか。
824デフォルトの名無しさん:04/11/02 23:05:25
日毎に作成されるCSV形式のログファイルがあり、ADOを使って
データを取得し、データグリッド等に表示させようとしています。

Private cn As ADODB.Connection
Private rs As ADODB.Recordset
Private Sub Form_Load()
'データベースに接続
Set cn = New ADODB.Connection
cn.ConnectionString = "DRIVER={Microsoft Text Driver (*.txt; *.csv)};" & _
"DBQ=D:\testdata;"
cn.Open
End Sub
Private Sub Command1_Click()
Dim szSQL As String
'選択クエリを作成
szSQL = "SELECT * FROM hist_20040101.txt WHERE 社員コード = '1111'"
'レコードセットを取得
Set rs = New ADODB.Recordset
rs.Open szSQL, cn, adOpenStatic
'データグリッドに表示
Set DataGrid1.DataSource = rs
End Sub
Private Sub Form_Unload(Cancel As Integer)
rs.Close
cn.Close
End Sub

上記を複数のログファイルにまたがって検索したいのですが、
何かうまいやり方はあるでしょうか。(UNION ALL で連結?)
ちなみにログファイル数は1年分程度あります。
825デフォルトの名無しさん:04/11/02 23:06:09
うわ、めちゃくちゃ見にくい。すいません・・・
826デフォルトの名無しさん:04/11/02 23:52:35
ちなみに1年分UNION ALLでつなげたら、「クエリーが複雑すぎです」
となってしまいました。
827デフォルトの名無しさん:04/11/03 01:29:01
* vb6sp6, winxp

色つきで輪郭のある文字列(例:文字色が赤で輪郭が黒)を出力する方法は
ないでしょうか。DirectXでも無理そうですし、GDIでできるとも思えません。

専用フォントを使うというのはナシでお願いします。
828デフォルトの名無しさん:04/11/03 01:37:07
フレキシブルグリッドでカラムヘッダをクリックした際に
昇順・降順を切り替えてソートさせているのですが、
ソートマーク(小さい三角)を表示させることは可能でしょうか。
829デフォルトの名無しさん:04/11/03 02:06:22
>>827
昔、GetPixelで輪郭抽出したことあるけど、今のPCなら充分な速度が出そう。
APIならGetGlyphOutlineあたりかな。
そんなに正確でなくてもいいなら、一回り小さいフォントで中を抜く手もある。
830デフォルトの名無しさん:04/11/03 04:15:57
>>827
BeginPath EndPath StrokePath CreateSolidBrushを使うとできる。
831デフォルトの名無しさん:04/11/03 10:42:02
>>830
そんな簡単にできるとは。 orz
832デフォルトの名無しさん:04/11/03 11:51:29
>>824
CSVを何かのDBに変換して、ひとつのテーブルにまとめてから検索ってのはどう?
833デフォルトの名無しさん:04/11/03 15:33:40
別のフォームを開くとき、Loadで時間のかかる処理をしたいんだけど、
とりあえず画面を表示させちゃうことってできる?

やっぱLoadで時間のかかる処理はやっちゃいけないのかな。
834デフォルトの名無しさん:04/11/03 16:01:32
>>833
Form_ActivateでLoadの直後だけ処理を実行するようにすればいいと思う。
835デフォルトの名無しさん:04/11/03 16:10:59
>834
おー、ありがとう
836デフォルトの名無しさん:04/11/03 16:48:55
>834
誰か>828は分かりませんか?
837デフォルトの名無しさん:04/11/03 17:22:14
>>836
オーナードロー使うのはめんどくさいから
▼や▲を入れてやればいいじゃん?
838デフォルトの名無しさん:04/11/03 17:56:55
>837
それって▲が大きすぎません?
839デフォルトの名無しさん:04/11/03 18:27:53
コモンダイアログでディレクトリの選択ってできる?
840デフォルトの名無しさん:04/11/03 18:32:04
できません
841デフォルトの名無しさん:04/11/03 18:34:22
>840
そか。DirListBoxで作ればいっか
842デフォルトの名無しさん:04/11/03 18:41:03
SHBrowseForFolder 使ったほうがよくないか?
843デフォルトの名無しさん:04/11/03 19:40:09
844デフォルトの名無しさん:04/11/03 20:47:47
VB6.0でフォーム上のコントロールのタブ移動順序って
どうやって変えるの?
845デフォルトの名無しさん:04/11/03 20:57:36
>>844
プロパティウィンドウでいじる。
846デフォルトの名無しさん:04/11/03 20:58:24
>>843
それは知らなかったけど、exeにも暗号化されて埋め込まれてるらしい。
847デフォルトの名無しさん:04/11/03 21:21:19
>845
そか。VCみたいな機能はないんだ。残念。
848デフォルトの名無しさん:04/11/03 21:53:55
>>847
1個ずらせば残りは自動的にずれるけど。
フリーソフトもあるし。
849デフォルトの名無しさん:04/11/03 22:18:38
>>844-845,>>847-848
話が全然噛み合ってないような気がするんだが。。
850デフォルトの名無しさん:04/11/03 22:44:50
>849
いや、伝わってますけど。
851デフォルトの名無しさん:04/11/03 22:51:14
>>850
いや、君の独りよがりな妄想でしょ。
852デフォルトの名無しさま:04/11/03 23:17:53
853デフォルトの名無しさん:04/11/03 23:25:31
>851
どう読んだら噛み合ってないように見えたんだ?
854デフォルトの名無しさま:04/11/03 23:36:01
>850
>851
>853

釣られてるな。。。





(゚Д゚)ハッ  俺もか。
855827:04/11/04 00:32:27
>>829-830
ありがとうございます。
とりあえず830さんの方法を試してみます。
856デフォルトの名無しさん:04/11/04 09:31:20
>>846
詳しく
857デフォルトの名無しさん:04/11/04 09:54:17
>847
移動順の最終のコントロールをクリック
 →TabIndexに0入れる
  →移動順がその前のコントロールをクリック
    →TabIndexに0入れる
・・・を延々と繰り返していくと楽にできるよ。
アドインは使いにくかった。
858デフォルトの名無しさん:04/11/05 11:28:18
Microsoft Text Driver (*.tst; *.csv) を使ってCSVファイルから
CSVファイルに INSERT INTO 〜 SELECT でデータを抽出して
書き込みたい、抽出元と書き込み先のCSVファイルが
別々のフォルダでも可能でしょうか。
859デフォルトの名無しさん:04/11/05 11:28:48
>858
むちゃくちゃな日本語ですいません。
860デフォルトの名無しさん:04/11/05 11:34:14
>>858
聞く前に自分で試せよ馬鹿
861デフォルトの名無しさん:04/11/05 11:34:33
こんにちは。vb6.0使用者です。
PictureBoxの画像を爆発というか、見た目的にばらばらに崩壊させるにはどうい
う手法を使えばいいでしょうか?
画面上で爆弾のアイコンを使い、それが爆発してPictureBoxの画をばらばらにす
るような感じのソフトを作りたいです。
もしくは巨大な拳で画中央を打つと真ん中が窪んだように大きく画が歪むような
ものを作りたいと考えています。
参考になるサイトか、手法をご存知の方がいましたらアドバイスをお願いします。
862デフォルトの名無しさん:04/11/05 11:35:12
>860
他の方、お願いします。
863デフォルトの名無しさん:04/11/05 11:39:08
>>862
ほかの人だが、そんなの5分でためせるじゃん。
ここで私が出来ないって回答したら、仕事の報告として不可って上に報告するの?
もっと試した上で技術的なことを聞くならあれだけど、その程度は試せよ。
864デフォルトの名無しさん:04/11/05 11:46:44
>>860
まずは試す。話はそれからだ。回答待ってる10分の間に試せるだろ

>>861
3D使えるなら3Dで画像を細かくポリゴン分割してパーティクル飛ばして
PictureBoxにレンダリングするのが楽だと思う
DirectX使いたくなければGL あるいは自作3Dライブラリで
2Dで処理するのもそんな面倒じゃない
とりあえず三角か四角の小さなDIBに分割し場所を動かしながらBltする
速度はAPIじゃ遅いけど耐えうるLvにはできると思う
爆発系なら爆発の中心から少しずつ遠ざかるように座標を変えればOK
865デフォルトの名無しさん:04/11/05 11:48:31
>ここで私が出来ないって回答したら、仕事の報告として不可って上に報告するの?

いやー最近そういう報告の仕方するヤシまじで多い。
学校の宿題でもコピペで済ましてるから卒業してからもそのノリで来やがる。
ツマラン学生送り出して来んなよと小一時間。
866デフォルトの名無しさん:04/11/05 11:51:35
>>862
親切だから回答しよう
862には出来ないでFA
867デフォルトの名無しさん:04/11/05 12:35:13
>863
誰が仕事だと?
868デフォルトの名無しさん:04/11/05 12:36:04
>863-866
同一IPからの連続書き込みはご遠慮ください。
869デフォルトの名無しさん:04/11/05 12:37:07
>863
質問の意図がまったく分かっていないようで・・・
誰も分からないみたいなので他あたります。
870デフォルトの名無しさん:04/11/05 12:53:38
>860
違うフォルダ上のCSVファイルと聞いて、同一DB内の
別のテーブルにデータ移すだけだろ、試せよバカ、と
思った君はバカ。
871デフォルトの名無しさん:04/11/05 12:57:08
>>870
そういうことか。質問の意味がやっと分かった。
普通に考えるとできないんじゃないの?
ちょっと今試す環境がないのであれだけど。
872デフォルトの名無しさん:04/11/05 13:03:10
>>870
試せばわかるじゃん大馬鹿
873デフォルトの名無しさん:04/11/05 13:04:42
>872
その前にお前は質問の意味をちゃんと理解しているか?
>870-871の意味は分かってるか?
874デフォルトの名無しさん:04/11/05 13:05:17
>872
試してできないから聞いてるんでしょ。
875デフォルトの名無しさん:04/11/05 13:06:27
>873
とりあえず872(通称同一IP君)は放置しろ。
872はトリップ付けてくれると助かる。
NG指定するから。
876デフォルトの名無しさん:04/11/05 13:08:54
>>875
プッ低脳だな
877デフォルトの名無しさん:04/11/05 13:10:11
>>873
何をムキになってるのかわからないな。
質問者か?
878デフォルトの名無しさん:04/11/05 13:13:18
>>858
おまえは>>824か?
テキストファイル名をフルパスで指定すればできるかもね。
自分で試してレポートよろしく。
879デフォルトの名無しさん:04/11/05 13:26:26
結局この件は誰も解決できなかったってこと。
さあ次の質問いってみよう。
880デフォルトの名無しさん:04/11/05 13:26:51
>878
できません。
881デフォルトの名無しさん:04/11/05 13:27:44
>877
質問者じゃないけど。理解してるかしてないかで言うとどっち?
してないんだとしか思えないけど。
882デフォルトの名無しさん:04/11/05 13:28:09
>871が正解。
883デフォルトの名無しさん:04/11/05 13:32:16
>878
質問の意味が分かった人なら「試せば分かる」じゃなくて
「できない」と言えるはず。
884デフォルトの名無しさん:04/11/05 13:33:55
今の状況。

質問者はおそらく初心者だろうがそれに似合わず高度な
ことを質問していて、回答者は質問が高度であることに
全く気付かずとんちんかんなことを書いている。

正解は「できない」です。
885デフォルトの名無しさん:04/11/05 13:36:48
>>861
こっちのスレかな。
ゲームのための物理(力学)
http://pc5.2ch.net/test/read.cgi/gamedev/1018255106/
物理シミュレーションについて語ろう
http://bbs.gamdev.org/test/read.cgi/gamedev/1058777058/
886デフォルトの名無しさん:04/11/05 13:43:04
>>864
いろいろ忙しいんだよ、ボケ!!
887デフォルトの名無しさん:04/11/05 13:48:13
すみません。質問です
エクスプローラーでワードファイルとかにマウスを当てると
作成者とかコメントの情報がでてきますよね。(ストリームって言うんですか?)
これをVBで変更したいんですけど方法しりませんか?
方法があればVBじゃなくてもいいです。

いろいろ検索してみたけど、
参照する方法は出てきても、変更する方法が出てこないんです
よろしくお願いします。
環境はwin2kとxpです。
888デフォルトの名無しさん:04/11/05 14:52:55
>>887
著作権を侵害する行為
889デフォルトの名無しさん:04/11/05 15:06:30
>>888
自分の著作物を変更する事も著作権を侵害になるですか?
890デフォルトの名無しさん:04/11/05 15:35:15
>>889
ワードで修正すれば?
891デフォルトの名無しさん:04/11/05 15:42:05
>>888
ファイルのプロパティ自体を変更するならば、著作権の侵害に当る可能性もあるが、
単純に表示されるポップアップを偽装というか差し替えるだけなら技術的な問題じゃないのかな?

まあ、できるかどうかしらんし、そもそもそういうOSの挙動を変えるのは難儀だろうからパス。
892デフォルトの名無しさん:04/11/05 16:15:42
>>891
じゃあ出てくるなよ
893デフォルトの名無しさん:04/11/05 16:22:40
>>892
なんか今日はこういう餓鬼ばかりだな。

できるできないはしらないけどさ、とりあえずSPYかなんかでそのときにどういうメッセージが飛んで
それをフックできるか調べてみればいいんじゃないの?
894デフォルトの名無しさん:04/11/05 16:24:21
>>893
質問の意味がわかってるのか?お前!
895デフォルトの名無しさん:04/11/05 16:28:54
>>893
自覚が無いようだが
客観的に見て、餓鬼はお前のほうだよ
896878:04/11/05 16:31:28
やってみたけどできるじゃねーか。
897デフォルトの名無しさん:04/11/05 17:11:24
>896
ププッ。絶対ソースは載せないんだろうな。
898デフォルトの名無しさん:04/11/05 17:22:42
>>896
とんちんかんなことやってるとみた。
899デフォルトの名無しさん:04/11/05 17:25:41

897 ソースお願いいたします。
898 早くしてください、納期が・・・。

つうかさ同じ奴だろ?897と898って。

大体、この質問者の特徴って、
・返信は時間をおいて2連。
・わかんないなら云々と逆切れ。

900878:04/11/05 17:30:06
>>897 >>898
おまたせ

Private cn As ADODB.Connection
Private Sub Form_Load()
'データベースに接続
Set cn = New ADODB.Connection
cn.ConnectionString = "DRIVER={Microsoft Text Driver (*.txt; *.csv)};" & _
"DBQ=D:\testdata;"
cn.Open
End Sub
Private Sub Command1_Click()
Dim szSQL As String
szSQL = "INSERT INTO D:\test2\test.csv SELECT * FROM D:\testdata\nullpo.csv'"
cn.Execute szSQL
MsgBox "登録しました"
End Sub
Private Sub Form_Unload(Cancel As Integer)
cn.Close
End Sub

注1、test.csvを用意すること。
注2、nullpo.csvとtest.csvの1行目に同一の見出しをつけること。
901デフォルトの名無しさん:04/11/05 17:33:24
>900
うわ、見事にはずしてる。
902デフォルトの名無しさん:04/11/05 17:34:53
>900
なんでnullpo.csvまでフルパスなんだよ。へたくそ
903878:04/11/05 17:38:15
>>901
えー、ちがうの?
904デフォルトの名無しさん:04/11/05 17:43:32
>903
いえ、ありがとうございました。
905デフォルトの名無しさん:04/11/05 17:45:57
つうか、スレの無駄な消費になるから2連投のレスはやめろ。
906デフォルトの名無しさん:04/11/05 17:46:42
>905
どれとどれ?
907デフォルトの名無しさん:04/11/05 17:47:51
>>905
妄想の激しい奴だ。
精神科へ行って来い。
908デフォルトの名無しさん:04/11/05 17:50:32
>900
パスの中にスペースが入る場合は無理ですか?
909デフォルトの名無しさん:04/11/05 17:52:58
>>908
パス自体をシングルかダブルクォートで括ってみるとか試してみては?
910デフォルトの名無しさん:04/11/05 17:53:07
そんなの基本です
911デフォルトの名無しさん:04/11/05 17:54:51
>900
もしかしてドライブが別の場合は無理ですか?
912デフォルトの名無しさん:04/11/05 17:55:27
>909
いえ、試してダメだったので何か方法があるのか質問している次第です。
913デフォルトの名無しさん:04/11/05 17:57:33
>>912
だったら最初に書け。質問の基本がなっていない。
何を試行して、どう駄目だったと書けよ。
あんたの環境をみんなが見れてるわけじゃないんだから。
914デフォルトの名無しさん:04/11/05 17:59:55
>913
はい
915デフォルトの名無しさん:04/11/05 18:01:00
>913
どこに環境依存の話が?
916デフォルトの名無しさん:04/11/05 18:02:25
>913
つまりお前は分かりもしないのに知ったかぶって
答えたということね。
917デフォルトの名無しさん:04/11/05 18:04:00
>>915
環境って表現がこのスレじゃ拙かったね。
>>912さんの今やっていることとかそういうのを含めて、みんなが見えてるわけじゃないんだよ。ってこと。

>>914
結構>>912のような返答って頭にくるので注意してくださいね。
質問しておいて、そんなの試したよ!って言われたらそりゃーおこるで。
918デフォルトの名無しさん:04/11/05 18:05:53
>>917
答えが間違っていたからといって、逆切れはみっともない。
919デフォルトの名無しさん:04/11/05 18:06:14
>917
あっそう
920デフォルトの名無しさん:04/11/05 18:07:37
>>917
自分の恥を他人のせいにすりかえるのはよくありませんね
921デフォルトの名無しさん:04/11/05 18:07:37
>>918
誰が答えを書いた?試してみれば?と書いただけだよ。
このスレに入ってからこういう茶々入れる奴が粘着してるから、スレの議論がなくなってるよ。
922デフォルトの名無しさん:04/11/05 18:07:55
>917
というかですね、この方法は使い物にならないことが
確認できたのでもう別の方法を試して既に解決済み
なので、もういいです。

結局このスレは役に立ちませんでした。

別のMLにマルチポストしてましたが、そちらでは
非常にいいアドバイスがもらえました。
923デフォルトの名無しさん:04/11/05 18:08:42
>>921
答え書く気が無いのなら邪魔だから消えてくれないかな。
本当に迷惑だ。
924デフォルトの名無しさん:04/11/05 18:09:49
>>921
今度は屁理屈か
925デフォルトの名無しさん:04/11/05 18:16:05
>923
その件はダメ元で荒らし板に報告してみます。
926887:04/11/05 18:25:42
887です。
自分で作ってるファイルなんで著作権の問題はないです。
一応、命名規約があるんでファイル名が記号+連番なんです。
ファイルがたくさんあるので、中身を探すのがダイヘンで・・・
内容はテキストなんです。ワードではないんですよ。
中にタイトル部分があるんでそれを概要に登録してれば、探すの楽になると思って
エクスプローラーだと変更可能みたいだけど、いちいちやってられないし
だからプログラムで一括でやれればと思ったのですが・・・

有効な情報はないでしょうか?
改めてお願いします。
927デフォルトの名無しさん:04/11/05 18:33:49
>926
ないでしょ。ここのレベルじゃ。
928デフォルトの名無しさん:04/11/05 18:59:53
>>926
ttp://www.microsoft.com/japan/msdn/windows/windows2000/ntfs5.asp
すぐ見つかるんだが、これじゃないのか?
929デフォルトの名無しさん:04/11/05 20:00:16
>>925
今後続くような警告する、ということみたいね。
まあもういなくなったからいいか。
930デフォルトの名無しくん:04/11/05 20:02:07



入れ食いで人気急上昇という釣堀はココですか?



931デフォルトの名無しさん:04/11/05 20:04:24
>930
違います。
932デフォルトの名無しさん:04/11/05 20:26:22
タイマーコントロールについて質問です。
1秒に1回、Timerイベント内で処理を走らせているのですが
処理に時間がかかった場合、前回のイベント発生時から時間がずれて
Timerイベントが発生してしまいます。

イベント内の処理は1秒以内で終了するとして、正確に1秒毎に
処理を行うには どのように対処するのが良いのでしょうか?
933デフォルトの名無しさん:04/11/05 20:30:52
>>932
タイマーコントロールを使って正確に定期的に割り込んでもらうのは無理です。
ポーリングするか、細かくタイマで前回の秒数と比べてくれ
934デフォルトの名無しさん:04/11/05 20:57:39
>>932
Windowsのタイマー自体が「最低nミリ秒」まつってだけだからね。
自分でループして時間を管理するのが一番正確だろうけどそれですら保証はできない。
935デフォルトの名無しさん:04/11/05 21:08:28
>>933,934
レスどうもです。
そうですか、自分でループすると何もしていないDoEventsだけ
なのにCPU負荷が100%になってしまうので避けたかったのですが

やはりループして管理することにします。

936デフォルトの名無しさん:04/11/05 21:20:50
通じてる?
937デフォルトの名無しさん:04/11/05 22:04:15
>>935
お〜い、帰ってこ〜い。
938デフォルトの名無しさん:04/11/06 09:52:11
突然、基本的な質問かもしれないですが、VB6.0のアプリケーション自体は、
もう入手出来ないのでしょうか。もしも、入手出来るのならば、どうやれば、
入手出来るのかを教えていただけますか。
939デフォルトの名無しさん:04/11/06 10:05:26
940デフォルトの名無しさん:04/11/06 10:10:01
941デフォルトの名無しさん:04/11/06 10:35:39
>939
死んでいいよ
942デフォルトの名無しさん:04/11/06 14:49:20
はぁ?
943デフォルトの名無しさん:04/11/06 15:54:04
>>939と887 はどんな関連性があるのか、誰か教えてくれないか?
944デフォルトの名無しさん:04/11/06 15:55:39
プログラマー以前に常識が分らんのが多いな、たとえば、非アルタイむOS
にリアルタイムを期待するとか
945887:04/11/06 16:53:52
>>928
それは見つけて読みましたが、それだけではわからないんですよ
Main unnamed streamって奴が表示されているらしいのですが
登録とか編集できるのはその下の名前ありの奴だけ見たいなんですよ。
他にないでしょうか?
946デフォルトの名無しさん:04/11/06 17:23:23
予め画像とかを使ってHTML形式のtemplate.eml(宛先や件名は空)を作っておいて、
プログラムがメールを送信する際に、そのtemplate.emlに送信者、宛先や件名を
入れて送信したいのです。つまり、1つの〜.emlを使いまわして、複数の人に
背景は同じだけど、本文は異なるメールを送りたいのです。
VB6.0で実現する方法が教えていただければ幸いです。
947デフォルトの名無しさん:04/11/06 17:28:34
>944
お前の文章の方が常識ないぞ。

このスレレベル低すぎるから次スレはなしね。
948デフォルトの名無しさん:04/11/06 18:10:11
どうしてもレベル低いことにしようとしている奴必死すぎ。
やべっ。つられちゃったw
949デフォルトの名無しさん:04/11/06 18:24:24
>>945
他か。
ttp://support.microsoft.com/default.aspx?scid=kb;ja;224351
ざっと見ただけなので、使えたら報告してくれ。
950デフォルトの名無しさん:04/11/06 18:49:20
>>945
http://homepage1.nifty.com/MADIA/vb/vb_bbs/200301_03010006.html
ざっとぐぐってみたけどこれがヒントにならないかな?
951デフォルトの名無しくん:04/11/06 19:00:02
>>945
ttp://oshiete1.goo.ne.jp/kotaeru.php3?q=1010887
ゲルっとぐぐってみたけどこれがヒントにならないかな?使えたら報告してくれ。
952デフォルトの名無しくん:04/11/06 19:09:15
>>945
ttp://forums.belution.com/ja/vb/000/010/22.shtml
ざくっとぐふってみたけどこれがヒントにならないかな?使えたら報告してくれ。
953デフォルトの名無しさん:04/11/06 19:32:59
954デフォルトの名無しさん:04/11/06 23:17:38
>948
過去スレは知らんがこのスレ頭から読んでみ。
955デフォルトの名無しさん:04/11/06 23:52:17
>>954
煽り厨であるお前が一番レベルが低いことがわかった。
956デフォルトの名無しさん:04/11/07 12:51:30
>955
意味が分かる部分がないのですが。
957デフォルトの名無しさん:04/11/08 07:45:08
Windows XP SP1
VB6.0 SP6
という環境でActiveXコントロールを作成しました
このActiveXファイル(CABファイル)をサーバに置いて自動でダウンロードさせようとしたところ
Windows XPのマシンでは通常通りダウンロードされ実行できるのですが
Windows2000の場合ダウンロードが行われません

どのような原因が考えられるでしょうか
ご教授ください
958デフォルトの名無しさん:04/11/08 08:39:20
ActiveXを圧縮してCABファイルにしたの?
なんのサーバーで何を使ってダウンロードしたかわかんないけど、
ダウンロードが出来ないってことはサーバーの設定じゃないの?
たぶんVBとは関係ない。

959887:04/11/08 10:30:03
>>949、他の方々
ありがとうございます。
サンプルソースがありましたので試してみるとタイトルやコメント、作成者の変更が出来ました。
まだ詳しくは調べてないですけど、なんかうまくいきそうです。

有益な情報ありがとうございました。
960デフォルトの名無しさん:04/11/10 14:17:14
どうしても解決できなかったので、質問したいのですが、
データを読み込み、リストボックスにリストし、
そのデータを編集後、再び同じ形式で保存する。
という手順で、vb4を使っていて,
A,B
A',B'
という感じのリストなのですが、
A=0〜255で可変(BYTE)
B=可変整数(INT)
において、
LIST.LIST(i)=で読み込み,保存しようとすると、
INT型で書き込むと,AB(例25530)となり(,は省略なので)、
VAL型で書き込むと,"A,B,"(例"255,30")(文字列は""で囲まれるので)
となり、もとの形A,B(例255,30)で保存できません
どのようにしたら、同じ形式で保存できますか?
よろしくお願いします。
961デフォルトの名無しさん:04/11/10 14:21:50
>>960
リストボックスやめたら?
962デフォルトの名無しさん:04/11/10 14:27:13
そもそも、リストボックスで編集ってどういう行為を指しているんだ?
それと、文書がだらだら繋がりすぎて、読みにくい。
(って書くと、また答えだけ書けばいいんだよっていう既知外が沸いてくるんだろうね。)

INT型、VAL型って何?Int関数とVal関数を言ってるの?
それともInteger型とValiant型を指してるの?
963デフォルトの名無しさん:04/11/10 14:38:00
>>962
わかってないなら書き込まなきゃいいのに
964デフォルトの名無しさん:04/11/10 14:41:02
>>961
これで答えが見つからなかったら,
リストボックスからグリッドコントロールにでも変えようかと考えているところです。
>>962
行の追加と削除程度で,
1行目 A,B,C,D
2行目 A',B',C',D'
3行目 A,B,C'D'
などという行があって
2行目を削除して、4行目を追加という程度なのですが、
エクセルに返すことがわけあってできないので、
そのような形にしあMした。

integerとvariantです。
文章を短く簡潔に書こうと思ったんですが,表現力不足で
変な略とかしてて読みにくいのは申し訳ないです。


965デフォルトの名無しさん:04/11/10 14:49:53
>>964
表示・操作させるデータと、実際のファイル操作を別にすればOKじゃないですか?

表示・操作結果を、単なる行番号の順序として保持する。
(元ファイルの行番号はListBoxのItexDataにでも覚えさせておく)
で、保存ボタンか何か押されたときにその行番号順でファイルを編集する。

ファイル自体は行単位でStringの配列にでも読み込んで、その配列を上記リストの結果に当て込んで、
編集先ファイルに書き込めばOKでは?

そうすれば、あなたが問題にしているデータ変換は使わないから。


>>963
こういうやり取りのできない、答えだけ厨は黙ってろ。
966デフォルトの名無しさん:04/11/10 14:52:47
>>965
的外れな答えばかりして楽しい?
少し考えて答えろよ
967デフォルトの名無しさん:04/11/10 14:59:06
ListはStringしか扱えないから"255,30"で入ってるのは当たり前
Splitで分けてやれば255や30も分かれる
968デフォルトの名無しさん:04/11/10 15:07:49
>>966
これを的外れと思うあたりが実務経験の薄さかと。

元質問者の要求は、各データの変換ではなく、ファイル内の行の入替、削除ですよ。
行内のデータをいじるのは、求められている仕様から考えれば不要な操作なので、
そんなことは極力しないほうが、バグが少ないプログラムが組めるよ。

わざわざデータをリストボックスに表示した上、その表示データを拾ってファイルに書く必要がないです。
必要なのは、行の入替・削除した結果の行並び順だけ。
969デフォルトの名無しさん:04/11/10 15:12:57
>>968
実務経験豊富と言う割には頓珍漢な事ばかり言うよな、お前。
コテハンにしてくれないか?
970デフォルトの名無しさん:04/11/10 15:21:57
データの追加もあるんですね。
現状、その追加行のデータってどのように入力させていますか?

入替のみでなく、データの追加入力まであるのであれば、スプレッド系のコントロールの購入を検討したほうが良いかも。
ただ、元がVB4なので中々もう売ってるものがないかな。
971960質問者:04/11/10 15:45:46
>>970
現在はAddItemを使って追加しています。

listboxのデータの","から前後を分割して読み取れば,
data1+","+data2で元の形に戻せるのではないか?など、
さまざま考えて、方法を探っていたのですが,
解決に結びつかないのでした。
972デフォルトの名無しさん:04/11/10 15:50:54
>>971
Splitで分けるのは駄目なの?
973デフォルトの名無しさん:04/11/10 16:00:18
>>972
VB4ですよ。なのでお約束の処理を。改行規制あるので分割です

>>972
VB4ですよ。なのでお約束の処理を

Public Function GetToken(BaseString As String, fieldNum As Integer) As String
' BaseString 切出し元の文字列
' FieldNum FieldNum番めを獲得する。
Dim Num As Integer 'カウンタ
Dim NewComma As Integer '次のカンマの位置
Dim LastComma As Integer '検索開始点

LastComma = 0
Num = 1
Do
NewComma = InStr(LastComma + 1, BaseString, ",")
If NewComma = 0 Then
If Num = fieldNum Then
GetToken = Trim(Mid(BaseString, LastComma + 1))
Exit Function
Else
GetToken = ""
Exit Function
End If
974デフォルトの名無しさん:04/11/10 16:01:03
Else
If Num = fieldNum Then
GetToken = Trim(Mid(BaseString, LastComma + 1, NewComma - LastComma - 1))
Exit Function
Else
Num = Num + 1
LastComma = NewComma
End If
End If
Loop
End Function

975デフォルトの名無しさん:04/11/10 17:03:56
>963=966=969

 ┌─────────┐
 │ 基地外警報!!!  |
 │   基地外警報!! |
 └―――──――――┘
      ヽ(´ー`)ノ
         (  へ)
          く
976デフォルトの名無しくん:04/11/10 17:23:45
>975
>963は相手にしない方がいいよ。
そいつ、俺がこの前クビにした「自称。オールマイティ・プログラマ」だから(プ
977963:04/11/10 17:49:00
釣れたw
978デフォルトの名無しさん:04/11/10 18:24:22
↑必死だな(w
979960:04/11/10 19:11:00
>>973
ありがとうございます。
まだ素人ですので、読んだだけでは理解し切れませんが、
マニュアル片手に読み解いてみたいと思います。
980デフォルトの名無しさん:04/11/10 20:29:27
Debug.Print Chr(-29469)
Debug.Print Chr(-27938)
Debug.Print Chr(-32024)
Debug.Print Chr(-28439)
Debug.Print Chr(-29506)
Debug.Print Chr(-30285)
981デフォルトの名無しさん:04/11/10 21:17:25
>>963は嫌なことでもあったんだろう
かわいそうな奴
982960:04/11/11 15:10:21
>>973
さきほどやっとのことで解決いたしました。
途中
DAT_A = GETTOKEN(BASESTRING,1)
DAT_B = GETTOKEN(BASESTRING,2)
WRITE #1, DAT_A & "," & DAT_B
なんてあほなことをして、""がついて焦りましたが,
WRITE #1, DAT_A, DAT_B
で無事""なしで保存することができました。ありがとうございました。
983デフォルトの名無しさん:04/11/11 18:41:15
vsPrinterを使ってForm上のPictureBoxをダイレクトに印刷しようとしているの
ですが上手くいきません。
サイズ・色もForm上のPictureBoxに合わせたかったのですが、
vsPrinter.Picture = Picture1.Picture
こうすると色は白黒の2色になってしまい、サイズはForm上より大きくなってしま
いました。以前は1度.bmpで保存してからLoadPictureで読み込んで使用していた
のですが、わざわざ1度保存しなくてもダイレクトに印刷できるようにしたいと思
っています。是非アドバイスを下さい。
984デフォルトの名無しさん:04/11/11 18:57:27
>>983
コントロールの開発元に問い合わせて下さい
985デフォルトの名無しさん:04/11/11 21:54:12
http://www.sigeharu.com/~airh/up/img/4284.gif
こういうのバルーンを作ろうと思って、あちこち探したら、
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/shellcc/platform/commctls/tooltip/usingtooltips.asp
にたどり着いたんですが、ちんぷんかんぷんでわかりません。
どうすれば表示できるか教えてください。
986デフォルトの名無しさん:04/11/11 22:17:44
987985:04/11/11 23:17:43
>>986
ありがとうございます
できれば>>985の方法でやりたいんですが、無理ですか?
988デフォルトの名無しさん:04/11/11 23:24:58
ワロタ
事細かに書いているのに分からんのなら諦めるしかない
989デフォルトの名無しさん:04/11/11 23:36:55
989
990デフォルトの名無しくん
990