トップページ⇒tech
1001コメント322KB

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

レス数が1000を超えています。これ以上書き込みはできません。
0001デフォルトの名無しさんNGNG
ここは 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/
0002デフォルトの名無しさんNGNG
VBプログラマ質問スレ(6.0以前) Part37
http://pc5.2ch.net/test/read.cgi/tech/1092906058/
0003デフォルトの名無しさんNGNG
>>1
削除依頼をだしてください。
0004溝田 千壽喜NGNG
4ゲット・・・

つーか重複?
0005デフォルトの名無しさんNGNG
真スレage
0006デフォルトの名無しさんNGNG
━━━━━━━━━━━━終了━━━━━━━━━━━━
0007デフォルトの名無しさんNGNG
消しとけ
0008デフォルトの名無しさんNGNG
あっちの関連スレリンクは古すぎる
0009デフォルトの名無しさんNGNG
下記のようにコーディングして、テキストファイルを読み込むと、
当然読み込んだデータの末端に余計な改行が入るのですけど、
不要な改行を付加することなく、スマートに
テキストファイルを読み込む方法はないでしょうか?

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
0010溝田 千壽喜NGNG
>>9=>>1
という方程式が成り立つような気がするのは俺だけか?
0011溝田 千壽喜NGNG
Chr(13) & Chr(10)
を消しても入るの?
改行
0012デフォルトの名無しさんNGNG
━━━━━━━━━━━━終了━━━━━━━━━━━━
こっちは重複スレです。削除依頼出してください。
0013デフォルトの名無しさんNGNG
>>12
自分で出せ
0014デフォルトの名無しさんNGNG
数十秒差だしテンプレがちゃんとしてるから
こっち本スレでいいよ。
00151NGNG
前スレで立てるって言ったんですけど。。
0016デフォルトの名無しさんNGNG
>>15
あっちのスレの1だけど、こっちが本スレでいいよ。

すべて悪いのは、溝田だから。
0017デフォルトの名無しさんNGNG
>>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
0018デフォルトの名無しさんNGNG
間違った
× ReadData = ReadData & Temp & Chr(13) & Chr(10)
○ ReadData = ReadData & Chr(13) & Chr(10) & Temp
0019デフォルトの名無しさんNGNG
>>17
馬鹿じゃねえの?
0020デフォルトの名無しさんNGNG
前スレで答えあったのに同じ質問繰り返すな。
0021デフォルトの名無しさんNGNG
>>19
馬鹿でごめんね
0022デフォルトの名無しさんNGNG
━━━━━━━━━━━━終了━━━━━━━━━━━━
こっちは重複スレです。削除依頼出してください。
0023デフォルトの名無しさんNGNG
Dim i As Integer
i = FreeFile
Open "hoge.txt" For Binary As #i
Text1.Text = Input(LOF(i), #i)
Close #i
0024デフォルトの名無しさんNGNG
━━━━━━━━━━━━終了━━━━━━━━━━━━
こっちは重複スレです。削除依頼出してください。
0025デフォルトの名無しさんNGNG
自治しつこいよ
0026デフォルトの名無しさんNGNG
はじめまして、宜しくお願いします。
 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でとまってしますのですが?どのようにしたら良いでしょうか?
0027デフォルトの名無しさんNGNG
その本って2千円ちょっとするやつでしょ
高いよね。分厚いけど。
0028デフォルトの名無しさんNGNG
2千円の本なんて安い部類だよ
0029デフォルトの名無しさんNGNG
>>26
続きのコードを入力
0030デフォルトの名無しさんNGNG
>>27 >>28 さんへ
 \2.400税別です…
 PCの本だったら安い部類ですかね
0031デフォルトの名無しさんNGNG
2000円は入門書とか、特定の技術のみの本ですよね。
リファレンスに使える奴だと5000-10000円、それ以上のも普通にあるし。(APIバイブルとか)

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

 現在、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があるのですがこちらを使用してかまわないでしょうか?
 

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

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

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

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

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

なぜかわからないんですが、
突然PictureBoxのプロパティウインドウのHeightとWidthの単位が
ピクセルになってしまいました。
通常HeightとWidthの単位はTwipですし、
単位を変えることは出来ないと思ったんですが、
もしかしたら変えることが出来、私がそれを触ってしまったんでしょうか?
もし戻せるのであれば、どのようにして戻せばいいのでしょうか?
0047デフォルトの名無しさんNGNG
>>46
ピクセルになってるとわかってるんなら、そこをいじればTwipになるさ
004846NGNG
>>47
そうなのですが、単位を指定するところはScaleModeしかなく、
HeightとWidthはScaleModeでは反映されないので困っています。
0049デフォルトの名無しさんNGNG
>>48
formの。
005046NGNG
>>49
フォームのScaleModeをTwipに変更したら元に戻りました。
いつの間にか触っていたみたいですね。
どうもありがとうございました。
0051デフォルトの名無しさんNGNG
コマンドボタンの境界をなくすには?
0052デフォルトの名無しさんNGNG
SetWindowLongとか
SetWindowRgnとか
境界のないピクチャボックスの中においてみるとか
0053デフォルトの名無しさんNGNG
>>52
スマソ
下二つのような方法をとらんで出来ないものかと思っていたがなんかムリっぽい
あきらめるよ
0054デフォルトの名無しさんNGNG
どういう風にかけばいいかわからず悩んでいます。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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



0077デフォルトの名無しさんNGNG
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
0078デフォルトの名無しさんNGNG
>>77
MSDNのコントロールの制限を参照
0079デフォルトの名無しさんNGNG
追記、全部表示ならリッチテキスト
0080デフォルトの名無しさんNGNG
表示制限は符号付32ビットじゃなかったかな
スクロールと連動して表示内容かえるような構造にするしかないんでない?
008177NGNG
>78
>79
「Text プロパティ テキスト ボックス(TextBox)コントロール 最大 64KB までに制限されています。 」
と書いてありました。明確なお返事ありがとうございます。
リッチテキストを使用してみますね。

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

環境はWindowsXP
   VB6.0
   access2000

です。

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

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

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

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

ところで、Form_Initalizeってイベント何なんですか?
なんかForm_Loadの前に実行されてるみたいですけど。
0093デフォルトの名無しさんNGNG
まず皆様、相手にするな。
で、おまえ口の聞き方を覚えるのと、入門書買って来るのと、MSDNぐらい見ろ。
0094グレープ町NGNG
denpyomanっていうツールを使って明細フォームを作ってます。
denpyomanに入力して、datacenterに配列として渡したデータを、追加ボタン押下時に
SQLサーバーなどのDBに入力するにはどうしたらいいのですか??
denpyomanを使っているかたどのようにされているのでしょうか?
0095デフォルトの名無しさんNGNG
>>94
ユーザーサポートに聞いたら?
009693NGNG
×まず皆様、相手にするな。
○皆様、相手をしないでください。
0097デフォルトの名無しさんNGNG
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

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

あと、
Open "データ.txt" For Input As #1 にして、
実行ファイルを作成してから同じフォルダにデータ.txtを入れておくとうまく読み込むのですが、
そうしないで、txtNURUPO.Textに データ.txt って書いておいても
「実行エラー52 ファイル名、または番号が不正です」
とでてきます。どうすればよいですか?
ご教授お願いします。
0100デフォルトの名無しさんNGNG
100
0101デフォルトの名無しさんNGNG
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
0102デフォルトの名無しさんNGNG
ちょっと質問です。

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

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

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

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

だいぶ昔VB5のころはoo4oが最速と言われてましたが。
0106デフォルトの名無しさんNGNG
>>103
教えてやる気がないならレスするなよ。。。
0107デフォルトの名無しさんNGNG
VB6です。
コンボボックスについて質問があります。

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

EnableやLockedを試してみましたが、コンボボックス自体が使えなくなったり
ロックされたりしてしまいます。
0108デフォルトの名無しさんNGNG
VB6.0で彼女を作りたいんですが。
0109デフォルトの名無しさんNGNG
>>107

Styleは 2-ドロップダウンリストにしているのか?
0110デフォルトの名無しさんNGNG
>>109
1-ドロップダウンコンボでした
ありがとうございました
0111デフォルトの名無しさんNGNG
>>108
ヘルプ読め
0112デフォルトの名無しさんNGNG
>>111
嫁の前に彼女がほしいんです!
0113デフォルトの名無しさんNGNG
>>105
自分でまず試してみたら?
あと、使い方によってはoo4oのほうがいいときがある。
(ストアドよびまくりとか。)
0114デフォルトの名無しさんNGNG
>108
その目的なら、VBというよりはSQLだな
INSERTの仕方を覚えればOK
その前にCONNECTIONしなきゃいけないけどな
0115デフォルトの名無しさんNGNG
>108
できません。仕様です。
0116デフォルトの名無しさんNGNG
>114
おいおい、誤って「DELETE FROM ドクヲ」とだけしてExecuteしちまったらどうするんだ。
初心者にソレはキツいぜ。
0117デフォルトの名無しさんNGNG
kanojyo.exeを実行しても平気ですか?
0118デフォルトの名無しさんNGNG
>117
やめとけ、感染するぞ
0119デフォルトの名無しさんNGNG
>>113
ってことは
ほとんどの場合は
oo4oよりADOとかのほうがいいってことか?
0120デフォルトの名無しさんNGNG
>>119
そうは書いていないけど。
まあ、今までのMSとORACLEの相性を考えたら明確なんだけど。
0121デフォルトの名無しさんNGNG
どなたか

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

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

aaa
bbb
ccccc
dd
eee

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

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

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

以上!

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

>>123
ランダムモードなら、簡単なんだが・・・、
多分シーケンサルモードでの話でしょ?
だとしたら、>>122のような方法しかありませんな。
0126デフォルトの名無しさんNGNG
>>125
ttp://www.bremen.or.jp/kian/home/nihongo/nihongo.htm
0127122NGNG
>125
ありがとうございます。
質問がちょっと悪かったみたいです。
if文などでbbbをはじくというのがありますが、
その方法がむしろわからなくて難儀していました。
教えていただけませんか?

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

例えば
GetForm(Form1)

public sub GetForm(ByRef F as Form)

with F

.Width
.Left

end Sub

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

ワラタ
0135129NGNG
>>130
レスありがとうございます。
参考にして頑張ってみます。
0136デフォルトの名無しさんNGNG
>>130
参照型をわざわざByRefで渡すってところがVB厨。
参照型と参照渡しを混同しているとみた(笑

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

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

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

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

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

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

もしくは、プログラム上でなんらかこちらで記述してあげる必要があるのでしょうか、
0145デフォルトの名無しさんNGNG
つっこみしてるほうが痛いってのがなんとも・・・
このスレ、もう駄目かもしれんね。
0146デフォルトの名無しさんNGNG
>>溝田 千壽喜

これ実行してみ 

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



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
014797NGNG
自己解決しました。

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

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

>人に教えてもらうと、自分で調べるより遥かに早く問題が解決することがあります。
「要するに、問題を自分で解決する能力のない奴は永遠にプログラムなんて
 書けない時代になっている。」
理解できてるか?
0151デフォルトの名無しさんNGNG
VB以外に、アプリケーションを作成できる言語を知っていますか?
0152デフォルトの名無しさんNGNG
>>151
釣れますか?
0153デフォルトの名無しさんNGNG
C#等で作ったXML WebサービスをVB6から使うことは出来ますか?
WSDLファイルを参照する例はあったのですが VS2003に付いてくる
WSDL.EXEだと.NET系の言語用のWSDLファイルが作成されるだけで
ヘルプを見る限りVB6用は無理っぽいのですが...
SOAP Toolkit2.0のWSDLジェネレーターで作れるのかな?
0154デフォルトの名無しさんNGNG
>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で作成したアプリから
利用できる事も確認しているから、出来ないと言うなよ。
0155153NGNG
>>154
情報ありがとうございました。
WSDLファイルの作成はDISCOコマンドだったんですね。
DISCOコマンドでWSDLを作成し、クライアントプログラムからの
呼び出しに成功しました。
0156デフォルトの名無しさんNGNG
真面目に質問です!!
自分はこれからVBはじめようか迷ってます。
というのも自分はdirectXのdirectplayを使ったアプリケーションの
ロビー制御などをしたいのですが、
はたしてVBでどの程度のことができるのかが心配なんです。
VBではどれくらいdirectXを扱えるんでしょうか?
なんか変な質問してるかもしれませんが
いじめずかつ放置せずにお願いします。
0157デフォルトの名無しさんNGNG
VB本体や書籍の値段を考えると見切り発車というわけにはいかないんです。
お願いします!
0158デフォルトの名無しさんNGNG
お金が気になるなら素直に、
C# or VB.NET + DirectXにすりゃいいじゃん。
ただなんだし。
0159デフォルトの名無しさんNGNG
書籍も買う必要なし。Webから詳しい説明書(MSDNライブラリ)が落とせる。
0160デフォルトの名無しさんNGNG
>>158
.NETならすぐできるんですか?
>>159
そうなんですか。
MSDNって慣れないとわかりづらくないですか?
0161デフォルトの名無しさんNGNG
ListItemsコレクションのAddメソッドで疑問があります。

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

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

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

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

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

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

いろいろ応用できそうですね。
ありが�d
0169デフォルトの名無しさんNGNG
溝田うざ。
0170デフォルトの名無しさんNGNG
>165
結局何がまずかったのか?どうすれば良かったのか?
といった検証はやってないんだな。

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

参照型 は Object型 の事

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

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

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


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

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

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

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

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

0180デフォルトの名無しさんNGNG
どうしてなくなるのかまったくわからないので、それが わかるためのヒントとして
聞いてるのだ。

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

0183デフォルトの名無しさんNGNG
>>182
なるほど。

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

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

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

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

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

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

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

PictureBoxは、デザイン時にしか大きさを設定できないのでしょうか?
0198デフォルトの名無しさんNGNG
>>197
ヘルプぐらいみて、プロパティをいじってから書き込んでるか?
0199デフォルトの名無しさんNGNG
>>198
一応見ています。ですが、よくわからないんです。残念ながら。
0200186NGNG
>>199
実際どうやったか、書いてよ。
0201デフォルトの名無しさんNGNG
まあ>>190あたりからの続きだろうけど、あんたプログラム向いてないよ。
読んで、判らなければ試せばいいじゃん。
幅、高さのプロパティ値を適当に変えてみれば?
0202デフォルトの名無しさんNGNG
VB6での帳票印刷の定番って
やっぱりクリスタルレポートですか?
高くて・・・
0203デフォルトの名無しさんNGNG
>>202
まあ、よく使ってるとは聞くな。クリスタルレポートは。
Developer Editionは10万切ってるわけだが、これで高いんなら他のやつも高くて買えないような気がする。
VBにはDataReport付属してたはずだから、それを検討してみたら?
0204デフォルトの名無しさんNGNG
>>191
これでやってみ
Set Picture2.Picture = Picture1.Picture
Picture3.PaintPicture Picture2.Picture, 0, 0
0205204NGNG
上のじゃ説明になってないような気がするな・・・
そのあたりオブジェクトとポインタとかの考え方が裏にあるから
誰かに説明してもらった方がいいよ
俺も昔つまずいてぼろぼろになったことあるし
0206デフォルトの名無しさんNGNG
それは PaintPicture で表示している画像は PictureBox.Picture に保存されないからだね。
試しに SavePicture で保存してみると判るかと。
>>191 の様にするなら PaintPicture を使うよりAPI関数の BltBit() を使うと良いと思う。
0207デフォルトの名無しさんNGNG
VBはVCと違って
メモリに何が確保してあるかってのを、はしょっちゃうからなぁ
ヘルプにものってなかったりするしな
0208デフォルトの名無しさんNGNG
VBやりこめば多少はVCやる上での糧になりますか
0209デフォルトの名無しさんNGNG
>>208
先にVCやれよ
0210デフォルトの名無しさんNGNG
なるんじゃない?
言語的にはオブジェクト指向(継承を除く)を知ることができるし。
IEのプラグインとか作るときに必要なActiveXを
冗長なコードなしで記述できるから本質に絞って勉強できるし。

あくまでやりこめばね。
0211デフォルトの名無しさんNGNG
>>207
具体的に何を書いてほしいの?
0212デフォルトの名無しさんNGNG
VC6は・・・。
BCBかVC.netのペタ貼りじゃないと面白くない。

昔のVCはどこがVisualなのかと小一時間・・・。
0213デフォルトの名無しさんNGNG
CommonDialogのファイルを開くや保存のダイアログで、
「ファイルの種類」の下に「文字コード」等のドロップダウンを付けたいのですが、
どの様にすればいいのでしょうか?
0214デフォルトの名無しさんNGNG
>>213
読んでないけどこことか。
http://www1.harenet.ne.jp/cgi-bin/cgiwrap/unaap/chtml2/chtml.cgi?c1=3&c2=3&key=spec_comdlgex
0215溝田 千壽喜NGNG
>>32
StrTmp="1234567"
StrTmp2=""

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

とかぁ

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

0216デフォルトの名無しさんNGNG
>>209
いきなりVCは一冊でこれだっていうよう本がなさそうなので
いろんな本買う余裕のない自分には無理です。
0217デフォルトの名無しさんNGNG
今までACCESS(VBA)でプログラムを作成していたのですが、今回VB6での
作業をする事になりました。
VB6ではACCESSのように単票形式のFormというのは作れないのでしょうか
?
0218デフォルトの名無しさんNGNG
>>217
無理
0219デフォルトの名無しさんNGNG
>>217
可能
0220デフォルトの名無しさんNGNG
>>214
有り難うございます。助かります!
0221デフォルトの名無しさんNGNG
ttp://www.planet-source-code.com/vb/scripts/ShowCode.asp?txtCodeId=34059&lngWId=1
コメントの流れに禿げワラ(スレ違いsage
0222デフォルトの名無しさんNGNG
>>218
単票形式に近い形でやりたい場合には、どのようなやり方でやっているんです
か?

>>219
是非教えてください。
0223デフォルトの名無しさんNGNG
>>222
Dataコントロールをおいて、画面にTextなどを配置して、
配置したコントロールのDataSource、DataMemberなどを設定してあげれば結構いい線はいくと思う。
0224デフォルトの名無しさんNGNG
>>223
なるほど、調べて試してみます。
0225溝田 千壽喜 NGNG
>>222
そんなものよりスプレッドシート使え!
0226デフォルトの名無しさんNGNG
どなたかすいません。

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

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

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

当方VB6.0です。

0227デフォルトの名無しさんNGNG
>>226
一般的にはオーナードローを使うはずですわよ
0228デフォルトの名無しさんNGNG
すみません 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

終了してしまいます 。。 適切な置き場所がわかりません、、、
お願いします
0229デフォルトの名無しさんNGNG
Me.Hide
0230デフォルトの名無しさんNGNG
>>228
なんて声をかければいいかわからんが頑張れ。
もし職業PGだったら転職も考えれ。
0231デフォルトの名無しさんNGNG
PGなんていつかは転職するんだから
さっさとやめれ
0232デフォルトの名無しさんNGNG
人間なんていつかは死ぬんだから
さっさとしね
0233デフォルトの名無しさんNGNG
Me.Hide
If
LoginSucceeded = False

ここの if って これだけで動くのか?
02342NGNG
一つ質問させて下さい。

ズバリ、Visual Basic では割り込み処理は出来ますか?
0235デフォルトの名無しさんNGNG
>>234
何がやりたいんだ?
0236デフォルトの名無しさんNGNG
VBに出来ないことなどない、動くかは別
0237デフォルトの名無しさんNGNG
イベント内の割り込み処理は、日常茶飯事
0238デフォルトの名無しさんNGNG
ていうか、「割り込み処理」って言葉はどういう意味で使っているのだろうか?
通常のWindowsプログラミングでは割り込み処理って概念はないと思うんだけど。
0239デフォルトの名無しさんNGNG
10ms毎に割り込みかけて、モーター駆動するとか?
0240デフォルトの名無しさんNGNG
  /⌒ヽ
  / ´_ゝ`)すいません、ちょっと割り込みますよ・・・
  |    /
  | /| |
  // | |
 U  .U
0241デフォルトの名無しさんNGNG
タスクマネージャーなどでプログラムの状態などが見えると思いますが(実行中とか応答なしとか)
このタスクマネージャーの状態を把握する関数はありますでしょうか?
もしあるようでしたら教えていただきたいと思います。
0242デフォルトの名無しさんNGNG
プログラムが「応答なし」かどうかを判断したいということ?
WaitForInputIdle がタイムアウトになったら「応答なし」、ではどう?
0243デフォルトの名無しさん NGNG
vbってC言語のexit(0)みたいなメソッドってあるのでしょうか?
0244デフォルトの名無しさんNGNG
どういう意味?
End文では役不足ならExitProcess関数を呼ぶのは?
0245243NGNG
いやたいしたことないんですが、例えば以下のようなことをしたい場合です。

Sub A()

Call B

Call C

End Sub

Sub B()

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

End Sub


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

ExitProcessで実装できるのでしょうか?
0246デフォルトの名無しさんNGNG
>>245
>>244
0247デフォルトの名無しさんNGNG
>>245
できるよ。
あと、APIの名前でググるくらいはやってみれ。
0248デフォルトの名無しさん NGNG
便じょり質問です。

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

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

ここは質問板だ
質問に答える気がないなら無視すりゃいいだろ
0254デフォルトの名無しさんNGNG
いやわかるだろう普通、もしかしてブラインドタッチもまだできないとか?
0255デフォルトの名無しさんNGNG
おれはできねぇ。
0256デフォルトの名無しさんNGNG
盲目打ちもできねぇのか。プ
0257デフォルトの名無しさんNGNG
ブラインドタッチできない人=ドリアン
ブラインドタッチできる人=ベジータ
0258デフォルトの名無しさんNGNG
>>245,>>248
End じゃダメなのか?
0259溝田 千壽喜NGNG
>>251
それはな!

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

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

0260デフォルトの名無しさんNGNG
ググルとか以前の問題として、ヘルプは読め。
0261デフォルトの名無しさんNGNG
shellだ。
0262デフォルトの名無しさんNGNG
(汎用的に)小数点1桁の数を取り扱うのに
10倍してLong型
Currency型
皆様ならどちらを使いますか?
0263デフォルトの名無しさんNGNG
速さでlong 精度でcurrency
0264デフォルトの名無しさんNGNG
>>262
SingleかDoubleを使う
0265デフォルトの名無しさんNGNG
そんなもん適材適所としかいえないと思うが。。

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

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

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

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

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

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

他にもご意見がありましたら拝見したいです
0267デフォルトの名無しさんNGNG
なんだが、きょうびの環境で速度とかメモリに問題が出るとは思えないが。
0268デフォルトの名無しさんNGNG
10年以上前のテクかも。
実数と整数の速度差は誤差の範囲の希ガス。
巨大なループの中なら話は別だけど。
0269デフォルトの名無しさんNGNG
>>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型にすれば良い。
0270デフォルトの名無しさんNGNG
値が範囲内である事が確実で消費メモリや速度が気になりますがミスはイヤですし面倒なのも嫌です
0271デフォルトの名無しさんNGNG
>>270は世界面倒臭がり王決定戦で予選落ちするタイプ
0272デフォルトの名無しさんNGNG
>>267-271
ありがとうございます
パフォーマンスを気にすることなく好きなほう使うのが定石
と解釈しました
0273デフォルトの名無しさんNGNG
入力(10倍)と出力(1/10倍表示)の関数作るだけじゃん。
あとは掛け算と割り算の位取りくらい。
どんなミスがありうるのか。
0274デフォルトの名無しさんNGNG
VB6sp6でIEやExplorerのツールバー書けますか?
0275デフォルトの名無しさんNGNG
>>273
Currencyで行えば多分問題のないことを、わざわざへんにやる必要なし。
0276デフォルトの名無しさんNGNG
VB6sp6でポート上を流れる通信を見ることはできますか?
例えばwww.yahoo.co.jpを見たときにポート80を流れるデータを
テキストに表示するといったことなのですが可能ですか?
0277デフォルトの名無しさんNGNG
ポート上とか言ってる段階で、もう少し通信の基礎を勉強したほうがよいと思った。
0278デフォルトの名無しさんNGNG
etherrealはだめ?>>276
0279デフォルトの名無しさんNGNG
>>271
面倒だから出ないよ
0280デフォルトの名無しさんNGNG
>>276
Winsockでプロキシサーバ立てれば、似たようなのはできるけど、ソフト単位で設定が必要になる。
Proxomitron(あってる?)の類。
あとは、winpcapかな。
0281デフォルトの名無しさんNGNG
印刷関係で質問させて下さい。

for Cnt=0 to 9999

printer.print "あいうえお"

next

printer.enddoc

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

Printer.KillDoc

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

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

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

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

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

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

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

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

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

やり方として、Shellで一括転送のバッチを呼ぶっていう手段はあります。
バッチ自体も毎回自分でファイルを作成してしまえば、ある程度は動的になるし。
但し、エラーの取り方が難しいです。(コマンドをリダイレクトして、そのファイル内で判断とか)
0286デフォルトの名無しさんNGNG
VBで作られたプログラムの中って見れますか?
逆アセンブルとかになると思うんですが
VBで逆アセンブルとか出来るんでしょうか?
検索してるとVB3とかVB4の時は出来ていたというのを発見したのですが
VB6系で逆アセンブル出来るものでしょうか?
0287デフォルトの名無しさんNGNG
>>286
あなたのレベルの人が逆アセンブルして何か面白いの?
0288デフォルトの名無しさんNGNG
>>266
すぐDLLに入るから解りづらいしつまらない
0289デフォルトの名無しさんNGNG
VBの本買いました!
これからバシバシ勉強していくんでみんな応援よろしくです
0290デフォルトの名無しさんNGNG
買った本はVB.NETというオチ?
0291デフォルトの名無しさんNGNG
>>289
ヨロノシ
0292デフォルトの名無しさんNGNG
>>290
それは…
0293デフォルトの名無しさんNGNG
>>289
専攻は考古学ですか?
0294デフォルトの名無しさんNGNG
>282
おおむね>285の言うとおりだと思うけど、FFFTPやNextFTPなりの
ログが取れるFTPクライアントソフトを実際に使ってみると複数ファイル転送時の
動きとかが実感出来るのでいいかも。
0295デフォルトの名無しさんNGNG
http://download.microsoft.com/download/vstudio60ent/sp5/Visual_Basic/WIN98Me/JA/Vs6sp51.exe
ここからSP5を落とそうと思ってるんですが
全部落とさなきゃ駄目なんですか?
とりあえず一番上の落としたんですが実行するとファイルの解凍先を聞いてきます
どこを指定すればいいのでしょうか?
0296デフォルトの名無しさんNGNG
>>295
一番上ってどこのよ?w
「Visual Studio 6.0 Service Pack 5 日本語」っての落として
解凍は適当なフォルダでよろし。別にイタリア語版でも俺はこまらんがな。
あとは解凍されたファイルを見てみ。インストール方法かいてるから。
それから一応言っとくがSP6があるぞ。
0297デフォルトの名無しさんNGNG
はじめてSPの事しったんだけど
入れなきゃ駄目?
0298デフォルトの名無しさんNGNG
駄目。SP無しばバグ有り。
0299デフォルトの名無しさんNGNG
まだSP5でやってるんだけどSP6入れないと駄目?
0300デフォルトの名無しさんNGNG
>>299
SP6の変更点くらい見ろよ
0301デフォルトの名無しさんNGNG
印刷関係で質問させて下さい。

for Cnt=0 to 9999

printer.print "あいうえお"

next

printer.enddoc

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

Printer.KillDoc

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

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

printer.print "あいうえお"

next

こんなかんじ
0306デフォルトの名無しさんNGNG
VB6のSP6ってどこで落とすの?
マイコーソフトみてもVSしかないよ
0307デフォルトの名無しさんNGNG
>>306
このドアホ!書いてある事くらい読め!
0308デフォルトの名無しさんNGNG
予約ってどういう意味ですか
0309デフォルトの名無しさんNGNG
キーワードは予約されています
という意味についてです

0310デフォルトの名無しさんNGNG
>>309
ttp://e-words.jp/w/E4BA88E7B484E8AA9E.html
0311デフォルトの名無しさんNGNG
さんきゅう
キーワードは予約語なんでお前らは変数関数につかえねーよ
って意味でつね
0312デフォルトの名無しさんNGNG
やっとSP5をインスコできたよ。。
なんでこんな面倒なの?
0313デフォルトの名無しさんNGNG
>>312
なんでいまさら?
0314デフォルトの名無しさんNGNG
SP6があるのに、あえてSP5を入れる理由、聞いてみたいよ
0315デフォルトの名無しさんNGNG
>>314
SP6の実績が上がってからでも遅くは無いから。
SP5は結構長い間活躍した枯れた技術、安定版。
それで問題がない環境ならば、SP5でもOKじゃないですか?
0316デフォルトの名無しさんNGNG
SP6で追加されたFIXと天秤だな
オレは最初から6入れるが。
5から6にする時にまた検証するくらいなら、はなっから6入れるわ。
0317デフォルトの名無しさんNGNG
つーかSP6ないんだけど。
落とし先のURLキボンヌ
0318デフォルトの名無しさんNGNG
>>317
ttp://www.microsoft.com/japan/
0319デフォルトの名無しさんNGNG
>>317
お前は当てなくていいよ。
0320デフォルトの名無しさんNGNG
あったよパパン(・∀・)
ゲイツにイジワルされてたみたいだよ
みんなの為にも貼っておくね♪
http://www.microsoft.com/downloads/details.aspx?FamilyID=9EF9BF70-DFE1-42A1-A4C8-39718C7E381D&DisplayLang=ja
0321デフォルトの名無しさんNGNG
>>320
なんでもゲイツのせいにするのは、
なんでもナベツネのせいにする野球ファン、
なんでも小泉のせいにする野党なみに無責任で無能の証明です。

みんな普通にしってるし、捜せば5分でみつかるし。
0322デフォルトの名無しさんNGNG
VB5のSP3はもう落とせないのですか?
0323デフォルトの名無しさんNGNG
SP6入れてる人〜

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

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

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

0326デフォルトの名無しさんNGNG
テーブルの列を読み出す方法と、
読み出した値をリストビューにセットする方法を調べればいいのでぁないでしょうか。
0327デフォルトの名無しさんNGNG
>>325 愚痴モード〜
せめてミドルウェア何使ってるのかぐらい書けよな。
「新宿いきたいんだけど分かりません。ご教授下さい」って聞かれて
答えられる?今どこにいるのかも聞かないで。
あとどこまで調べたの?
少しでも調べたなら「この言葉が分からない」とか
「何にどういうパラメタ与えればあたえればいいのか」とか
「ここのサンプルのこの部分の意味がわからない」とかって聞くよな。
つーか、恥ずかしくねぇ?
0328デフォルトの名無しさんNGNG
すいません質問です。
上の方で話題になっていたSP6をインストしようと思ったんですが
SP6をDLし、実行したさいに展開先を聞かれます。
それは問題ないんですが、この展開したファイル群はセットアップ後に
消しても良いのでしょうか?
0329デフォルトの名無しさんNGNG
>>328
いいよ
0330デフォルトの名無しさんNGNG
>>329
ありがとうございました^^
0331デフォルトの名無しさんNGNG
すみませんちょっと質問です
VBでデータベースを作ろうと思うのですが
accessなくても作れますか
0332デフォルトの名無しさんNGNG
>>330
その顔文字キモい
山崎氏ね
0333デフォルトの名無しさんNGNG
>>331
カンマ区切りのcsvとかなら出来ないこともないが
0334DNGNG
>>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
0335DNGNG
続き
      'データ
      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さんの言ってるように状況が分からないと答えようが無い
(意図を予想するのに手間がかかって答える気にならない)ですよ。
0336デフォルトの名無しさんNGNG
>>331
バージョンぐらい書け、あとDB周りの場合はエディションも、
DBエンジンとしてJetは使えるから、Access無くてもMDBは生成、読み書きできる。
今はMSDEがただで配布されてるから、それを使えば結構なシステムは出来る。
0337デフォルトの名無しさんNGNG
>>331
アドインでビジュアルデーターマネージャーって無い?
これってあるのはエンプラだけ?
0338デフォルトの名無しさんNGNG
>>305
ん?それで出来る?

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

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

0339OratorNGNG
>> 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/
0340OratorNGNG
>>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 に差し替える必要があったかと。
0341デフォルトの名無しさんNGNG
>>339
ありがとうございます。
もう回答ないかと思ってました。
0342デフォルトの名無しさんNGNG
印刷処理で、Printerメソッド使ってるんだが、印刷をキャンセルできない。

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


0343デフォルトの名無しさんNGNG
VBで おすすめな ドキュメント作成ツールは 何でしょうか?
理由も教えてね。
0344デフォルトの名無しさんNGNG
ホットドック
めじゃーだから、コメント記述等にそれほど負担がかからないから。
0345デフォルトの名無しさんNGNG
フリーなもので なんかいいものないかなぁ?
0346デフォルトの名無しさんNGNG
>>345
自分で作れや
0347デフォルトの名無しさんNGNG
プっ

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

つまり、最初からだろw
0350デフォルトの名無しさんNGNG
普通の日本語の流れを読める人間なら、>>343=>>345でしょ?
屁理屈はうざい。
0351デフォルトの名無しさんNGNG
みんな同一人物だったりして(w
0352デフォルトの名無しさんNGNG
ああそうだよ。全部お前だ。
0353デフォルトの名無しさんNGNG
みんなヒマなのね。
0354デフォルトの名無しさんNGNG
初心者な質問ですみませんが教えてください。

何らかの形で取得した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
0355デフォルトの名無しさんNGNG
質問なんですが
         【問題】

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

     *【△問中の正解数】  

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

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

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

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

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

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

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

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

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

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

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

どの言語にも「クセ」はあるものですし、言語毎にフォームの扱いも違ったりしますから、
そういった「ハマる」ものを聞かせていただければ幸いと思い、
質問させていただきました。
0383 ◆FIcNi4f8js NGNG
配列の初期化がマヌケな方法でしか出来ないとか
Variant型で大きい整数を計算するとひどい目に遭うとか
0384377NGNG
>>383
ああっ、そういう情報です。ありがとうございます。
あとは、インタフェースがらみの問題情報とかです。
必要なライブラリを、手動でその言語デフォルトのフォルダに入れなきゃならないとか、
そういう言語固有の情報があれば、大変助かります。
0385OratorNGNG
>>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
0386 ◆FIcNi4f8js NGNG
ttp://www.bea.hi-ho.ne.jp/my2project/vbframe.shtml
ttp://www.kit.co.jp/vbit/
ttp://www5b.biglobe.ne.jp/~yone-ken/VB/datatype.html

ttp://www.atmarkit.co.jp/fdotnet/vb6tonet2/

ttp://www.nurs.or.jp/~catty/vbasic/tips/language.html
ttp://www.gj.il24.net/~nakasima/vb/tips/
0387デフォルトの名無しさんNGNG
>>386
有益だ。ただ
http://www.atmarkit.co.jp/fdotnet/vb6tonet2/ ここリンク切れ
0388 ◆FIcNi4f8js NGNG
ttp://www.atmarkit.co.jp/fdotnet/vb6tonet2/index/
0389デフォルトの名無しさんNGNG
VB6でメール送信の処理を書くのって
MAPIですか?
普通にSMTPで送信するような
コンポーネントはないでしょうか?
0390デフォルトの名無しさんNGNG
>>389
標準だとないはず。
売り物ならグレープシティーにある。
0391デフォルトの名無しさんNGNG
>>389
標準だとMAPIかCDOかな。
基本的にはどっちも使いにくいけど
どっちが新しかったっけ?
0392デフォルトの名無しさんNGNG
>>389
迷わずBASP
商用もOKだし。
0393デフォルトの名無しさんNGNG
簡単なランチャーなら5分で作れそうだな
0394デフォルトの名無しさんNGNG
>389
 日立東日本ソリューションズのInternet Post for ActivePlatform。

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

 ちなみにMAPIは対応メーラーが入っていない環境では使えない。
0395377NGNG
>>386
ありがとうございます!
いくつか見てみましたが、これは役に立ちそうです。
有益な情報、感謝いたします。
0396デフォルトの名無しさんNGNG
>>395
だよね〜
0397354NGNG
>>385
レスありがとうございます。

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

大変失礼を致しました…。
0398OratorNGNG
>>385
あちゃ。For L = 1 To 100 と書いたつもりだったのだけど。
これじゃ、300000バイトではなく、303000バイトだなぁ。

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

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

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

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

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

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

自分はVisualStudio.NET2003を使ってるんですが、
VBで新規のプロジェクトを作成しようとすると、
ノートン先生が「悪質なスクリプトを検出しました」と表示して、
強制終了されてしまうんです…
devenv.exeというファイルが原因と出てるんですが、なにやらさっぱり…
どうすればいいのかどなたか教えてくだされ…_| ̄|○
0411デフォルトの名無しさんNGNG
2chもWindowsも初心者って感じだな
0412デフォルトの名無しさんNGNG
ノー�dきりゃええやん電話やし
0413デフォルトの名無しさんNGNG
>>410
スレ違い
0414sageNGNG
WindowXP SP2 を入れると何か不具合があるのでしょうか?
0415デフォルトの名無しさんNGNG
>>414
氏ね
0416デフォルトの名無しさんNGNG
あればあるし、なければないし。
あんたのアプリの構成もわならないで答えられっこないし、判っても答える内容じゃない。
全ては自己責任ってMSも書いてますよ。
0417デフォルトの名無しさんNGNG
>>410

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

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

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

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

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

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

同じ考えでフォームの関数にもアクセスできるから、その辺りを理解できるとグローバル変数が一気に減るよ。
0420デフォルトの名無しさんNGNG
>418
値を渡すというだけならそれでオケ。
だけど、もう一歩進んでプロパティとして実装しとくと吉かと思われ。
0421418NGNG
>>419-420
ありがとうございます
今までグローバル変数を使ってたので
これで便利&すっきりしそうです
0422デフォルトの名無しさんNGNG
子が閉じられた事を親が検知するのはできているのだろうか。
等といらぬ心配をしてみるテスト。
0423デフォルトの名無しさんNGNG
>>422
418を指してるなら、Showの後ろに何が付いているかを目をかっぽじって見てみるべきかと。
0424デフォルトの名無しさんNGNG
なるほどいらぬ心配であった。切腹。
0425デフォルトの名無しさんNGNG
繰り返し処理を用いて、九九の表を表示しなさい。という宿題が出ました
ソースを教えてちょんまげ
0426デフォルトの名無しさんNGNG
>>425
氏ね
そのくらい自分で作れ
0427デフォルトの名無しさんNGNG
>>419
たまたま見たスレだけど、初めて知った
勉強になった
0428デフォルトの名無しさんNGNG
>>427
VBのFormってのがクラスだということを理解できると、綺麗に書けますよ。
自作構造体の受け渡しが確か出来なかったの致命傷だったと思うけど、それ以外はグローバルはほとんど不要になる。
0429デフォルトの名無しさんNGNG
>>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
0430デフォルトの名無しさんNGNG
>>429
きちんと型変換とかしていないし、宿題の回答としては駄目ですね。
0431デフォルトの名無しさんNGNG
>>428
構造体がだめなんですね
それは結構致命的ですね

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

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

0432デフォルトの名無しさんNGNG
>>431
暫くVB6やってないから、正確じゃないかもしれないですよ。

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

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

ロードされていない状態で変数(プロパティ)にアクセスしても「ロード」はされない。
「ロード」とはウインドウ(コントロール含む)の初期化と考えるとわかりやすい。
ウインドウに関係しないことをやっても「ロード」はされない。
0436デフォルトの名無しさんNGNG
ウインドウに関係すること(frmChild.captionなどのフォームのプロパティや
フォーム上のテキストボックス等)にアクセスすると「ロード」される。
0437デフォルトの名無しさんNGNG
なのでこれも動作的にはまったく問題ない。(フォーム名と変数名がともに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
まあクラスとインスタンスの生成(メモリ上への作成)とロード(ウインドウの初期化)の
違いとそれが暗黙に行われる/行われない条件に気をつけようと。
0438デフォルトの名無しさんNGNG
>>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
0439デフォルトの名無しさんNGNG
ここを見落としていて、c++質問スレに質問してしまったので
こちらでさせていただきます。

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

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

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

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

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

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

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

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

>>440
勉強になりました


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

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

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

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

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

ヘルプの参照方法がどうもよくわからないですね。
0447デフォルトの名無しさんNGNG
つーかクラスってなんにつかえばいいかわからん
趣味で4年やってるが1度も使ったことない
0448デフォルトの名無しさんNGNG
>>447
> 趣味で4年やってるが1度も使ったことない
いや。使っているはずだぞ。
テキストボックスやラベルもクラスの一種だ。
0449デフォルトの名無しさんNGNG
>>447
VB以外の言語をやってみるとよろし
0450デフォルトの名無しさんNGNG
>>449
C言語とか?w
0451デフォルトの名無しさんNGNG
>>450
それもいいだろうな
0452デフォルトの名無しさんNGNG
まあ、他の言語を使ったとしてもそれだけじゃクラスの本質は理解できん。
たとえその言語がクラスしか存在しない言語だったとしても。
0453447NGNG
そうなのか…
せっかく学生だからSpoke買おうかなあ…
0454デフォルトの名無しさんNGNG
C言語でクラスを理解するのはVBでクラスを理解するよりも効率が悪い。
つーか、C言語にクラス無いし。
0455デフォルトの名無しさんNGNG
なんにせよ、プログラムするならC言語くらい知っておけよって感じだな
0456デフォルトの名無しさんNGNG
VBしかできないなんて奴なんて、ほとんどいないだろ
0457デフォルトの名無しさんNGNG
つうか質問すれだからもう終わり。
0458デフォルトの名無しさんNGNG
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
0459デフォルトの名無しさんNGNG
クラスモジュール講座
http://homepage1.nifty.com/CavalierLab/lab/vb/clsmdl/
0460名無しさん@お腹いっぱい。NGNG
指定したwebをブラウザからはアクセスできないようにする常駐型簡易
フィルタリングソフトは作れますか?ブラウザはIE6.0,使用できるOS
はWin2000,WinXPを想定しています。この種の完全なフリーソフト版
はありませんでした。
0461デフォルトの名無しさんNGNG
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
0462デフォルトの名無しさんNGNG
VB6
やりたい事 Long型変数の下位2バイトを取り出したい

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

これでできません。なぜ?
0463デフォルトの名無しさんNGNG
>>462
val2 = val1 And &HFFFF&
でもだめかい?
0464デフォルトの名無しさんNGNG
>>463
できますた
サンクス
最後の & はどうゆう意味ですか?
0465デフォルトの名無しさんNGNG
>>464
自分で調べろ。それくらい。
0466デフォルトの名無しさんNGNG
>>465
いや、こういことって解説してある本もサイトも意外と少ないから
自分で調べるの大変だと思うよ。

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

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

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

有難迷惑な話です・・・
0473デフォルトの名無しさんNGNG
>>472
&HFFFFを勝手に65535に変えるほうが有難迷惑だろ
0474デフォルトの名無しさんNGNG
どんな言語もそうだが。
0475蜂蜜豆NGNG


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

0476蜂蜜豆です。上のはごめんなさい。NGNG
皆さんお願い致します。 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

0477デフォルトの名無しさんNGNG
>ENTERではなくて、クリックなら問題なく動作するのですが
そういうことなら、たぶんIfのブロックの中にKeyAscii = 0 入れてやれば
いいんじゃないの?
0478デフォルトの名無しさんNGNG
バイナリデータ暗号化するフリーのコンポーネントってないですか?
0479デフォルトの名無しさんNGNG
>>478
暗号ZIPにでもすれば?
0480デフォルトの名無しさんNGNG
なるほど、その手がありましたか。
気が付きませんでした。。
0481蜂蜜豆NGNG
>>477 ありがとう。

If KeyAscii = 0 Then 'Enterキー判定

ってことかな。 今試したけどやっぱり VBごと強制的に
落ちます。  デバッグならわかるんだけど、落ちるってのは
VBのバグなのかな?
0482デフォルトの名無しさんNGNG
>>481
If KeyAscii = vbKeyReturn Then KeyAscii = 0
VBのバグより、まずは自分を疑え
0483蜂蜜豆NGNG
>>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
0484 ◆FIcNi4f8js NGNG
>>478
ttp://www.pgp.com/downloads/freeware/
0485蜂蜜豆NGNG
>>482さん。 ありがとうございます。
自分を疑って色々修正していたら、うまくいきました。
ありがとうございましたl!!
0486デフォルトの名無しさんNGNG
>>485
原因を書くのも礼儀であろうに
0487デフォルトの名無しさんNGNG
>>486
お前が礼儀とか言うなww
0488デフォルトの名無しさんNGNG
>>486
おバカな原因を晒すのもどうかと思われ。
0489デフォルトの名無しさんNGNG
尻たいよパパン
0490デフォルトの名無しさんNGNG
ActiveReport 2.0 でADOのデータコントロールをOracle8.1.7のDBに
接続したいのですが、ConnectionStringの書き方が判りません。Oracleの
ユーザーID、パスワード、ホスト文字列を何に割り当てるのか、その他の
パラメータはどう書くのか、どなたか作った事がある方、さっとここに
貼り付けられるならお願いします。VB6.0 SP無し、4、5です。
0491デフォルトの名無しさんNGNG
>>490
MSDNライブラリーより
"Provider=MSDAORA;Data Source=serverName;User ID=userName; Password=userPassword;"
0492デフォルトの名無しさんNGNG
WebBrowser上で表示されるコンテキストメニューの
「前に戻る」「次に進む」が選択されたことや
「Alt」+「←」や「Backspace」が押されたことを判定するにはどうすれば良いでしょうか。

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

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

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

なんかVB上からActiveReportのデータコントロールに直接レコードセット
ぶち込んでもできそうな気がしてきましたが....
0495デフォルトの名無しさんNGNG
Dimって何の略?
Define i am?
0496デフォルトの名無しさんNGNG
>>495
うす暗い,ぼんやりした、という意味だ
0497デフォルトの名無しさんNGNG
>>495
http://jiten.www.infoseek.co.jp/Eiwa?col=EW&pg=result_e.html&qt=dim&sm=1&lc=5&lp=0&svp=SEEK&item=MAIN,NODE,48384
もともと配列確保専用の命令語だったことから。
0498デフォルトの名無しさんNGNG
>>494
既にOracleと接続できてるのなら、ActiveReportsに直接レコードセット渡せばOK。
0499490NGNG
>>498
ありがとうございます。ただVB側がoo4oだからか、レコードセット渡しは
エラーになりました。なにかもう少し方法があるかもしれませんが、
.ConnectionString= "Provider=OraOLEDB.Oracle;Data Source=ホスト文字列〜
でうまくいきそうなので取り敢えずこちらで試していきます。
0500デフォルトの名無しさんNGNG
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/
0501デフォルトの名無しさんNGNG
複数列、複数行の一覧を表示して
その中の1行を選択させる場合、
どのコントロールを使うのは定番でしょうか?
0502デフォルトの名無しさんNGNG
>501
ListViewじゃないかと思うが、そんなん状況によるからシラネ。
0503デフォルトの名無しさんNGNG
手っ取り早く勉強用ソフト作りたいんですけど
問題→○or×→問題→〜
のソースください。お願いです
0504デフォルトの名無しさんNGNG
ウチモお願い
0505デフォルトの名無しさんNGNG
>>503-504
んなものVectorにころがってるだろ。
0506デフォルトの名無しさんNGNG
>>503
作りたいなら自分でソース書けよな・・・どんな思考回路してんだ?
0507デフォルトの名無しさんNGNG
ヒントだけでもお願いします
0508デフォルトの名無しさんNGNG
>>507
Sub Benkyou
If MsgBox("問題") = vbSeikai Then
  MsgBox "○"
Else
  MsgBox "×"
End If
End Sub
0509デフォルトの名無しさんNGNG
>>508
ワロタ
0510デフォルトの名無しさんNGNG
リストビューって行毎の色って変えれないですよね?
せめてデータのない行くらいは別の色にしたいんだけど無理?
0511デフォルトの名無しさんNGNG
データのない行に別の色を割り当てればよい
0512デフォルトの名無しさんNGNG
>>511
その方法を知らないから>>510は困ってるんだと思われ
0513510NGNG
>>511
できるんですか!?
ぜひ教えてください
全体の文字色と背景色しか設定できないと思ってました。

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

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

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

OnCommイベントが発生させるための方法ってあるのでしょうか?
0523デフォルトの名無しさんNGNG
>>522
決して煽りじゃないよ。
その文章タイピングしている時間をMSDNみる時間に当てていれば
十分に解決する問題と思われる。
0524 ◆hO1prOgrAM NGNG
>522

ttp://support.microsoft.com/default.aspx?scid=kb;ja;411403
0525OratorNGNG
>>515
frmは、基本的にテキストデータです。
(メモ帳で開いてみてください)

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

バイナリデータが含まれていなければ、frmはできません。
0526OratorNGNG
>>525
あ、最後逆。
バイナリが含まれていなければ、frmしかできません。

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

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

》 バイナリ データ ファイルは、フォームと同じディレクトリに
》 保存されます。バイナリ データ ファイルのファイル名は、
》 フォームのファイル名と同じで、拡張子を .frx に
》 置き換えたものになります。バイナリ データ ファイルは、
》 Visual Basic でフォームを読み込むと同時に読み込まれます。
》 バイナリ データが含まれるフォームをほかのプロジェクトで
》 使う場合は、そのプロジェクトでもフォーム モジュール
》 ファイル (.frm) とバイナリ データ ファイル (.frx) の両方が
》 必要となります。
0527デフォルトの名無しさんNGNG
アイコンを指定してもfrxは作られる。
0528デフォルトの名無しさんNGNG
まあせめてhttp://www.gppgle.comくらい検索しろと
0529デフォルトの名無しさんNGNG
>>528
http://www.GPPLE.comってのは初めて聞いた
0530デフォルトの名無しさんNGNG
発音としては、がっちゃんの鳴き声みたいな漢字かな?

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

[0-9]*
だと先頭が数字でうしろは
なんでもいいことになりますよね
0534デフォルトの名無しさんNGNG
>>533
[0-9][0-9][0-9][0-9]
####
0535デフォルトの名無しさんNGNG
VB6.0を使用していますが、質問があります。

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

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

でできると思う
前のほうが任意の数の数字で後ろが任意の桁数のアルファベット
みたいなのは無理と思う。
0537531NGNG
思い出したShift+F2だ

>>532
??
0538デフォルトの名無しさんNGNG
>>535
APIの CreateFile ReadFile WriteFile SetFilePointerでできると思うけど・・・
オレは試してないからレポート希望
0539デフォルトの名無しさんNGNG
教えてください
親からvbModalで開いたウィンドウで
最小化ボタンを押して最小化し
タスクバーでそのタスクをクリックすると
親がクリックなどできない状態で表示され
子のほうは画面左下に最小化した状態で表示されるのですが
これを開くことはできないでしょうか?
0540デフォルトの名無しさんNGNG
ここってあんまり教えてくれないよね
0541デフォルトの名無しさんNGNG
よく例としてhogeとかって出るけど
ヌルポみたいに意味があるんですか?
0542デフォルトの名無しさんNGNG
>>539
開くとは、親から?
Modalだと親が子を待っているんだから、
子が終わらないと親は何も操作できないよ
0543デフォルトの名無しさんNGNG
522です。
>>523
>>524
すいません。機器の側での設定&初歩的な設定ミスをしてました。
本当にすいません。m(_ _)m
そしてありがとうございました。
0544235NGNG
>>238
ありがとうございます。APIは今までやったことなかったですが
これを機会に挑戦してみます。
0545デフォルトの名無しさんNGNG
>>542
そうなりますよね。
なので
親でなく子を開きたいのです。

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

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

方法はありませんでしょうか?
0546デフォルトの名無しさんNGNG
>>545
最小化させなければいい
0547デフォルトの名無しさんNGNG
妥当です。
0548デフォルトの名無しさんNGNG
>>535
レポートまだー?
0549デフォルトの名無しさんNGNG
ここってあんまりレポートくれないよね
0550デフォルトの名無しさんNGNG
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で連続して削除することは出来ないのでしょうか。
宜しくお願いします。
0551550NGNG
↑誤爆しました、すみません。
0552デフォルトの名無しさんNGNG
ここってあんまりエラーメッセージ書いてくれないよね
0553デフォルトの名無しさんNGNG
>>550
そりゃあ削除した時点で番号ずれるからな
0554デフォルトの名無しさんNGNG
下から逆に消した方が良くない?
0555デフォルトの名無しさんNGNG
このスレ、見てると糞プログラマーばっかりなのが良く分る
0556デフォルトの名無しさんNGNG
>>555はスーパーハカー
0557デフォルトの名無しさんNGNG
そして保守
0558デフォルトの名無しさんNGNG
VB初心者の者ですが、教えてください。
デザイン時のフォームにMicrosoft Calender Control 8.0を貼ろうとすると、
強制終了してしまいます。
仕事場での環境ではうまくいったのですが。。。
【強制終了の環境】
OS:Windows2000 SP3
デバッガ:VB6.0 SPなし
0559デフォルトの名無しさんNGNG
SP6でも入れてくらはい。
0560デフォルトの名無しさんNGNG
おぉ!レスありがとです!
SP6がでてるのですか?
5だとばかり。。
入れてみます!!
0561デフォルトの名無しさんNGNG
>>560
1からちゃんと読めよ。
0562デフォルトの名無しさんNGNG
使わなくなった文字列型の変数って
空文字を代入したほうがいいの?
0563デフォルトの名無しさんNGNG
>>562
お好きにどうぞ
0564デフォルトの名無しさんNGNG
使わなくなったものは 何を入れても関係ないはず。
普通は 放置。
0565デフォルトの名無しさんNGNG
その変数が長寿で、メモリの無駄と思うほどでかいやつなら考えるがな
0566デフォルトの名無しさんNGNG
っていうか 一時的な変数は、ローカル変数にしろよなっ。
0567デフォルトの名無しさんNGNG
>>563-566
どうも
つまり必要ない、と解釈しました

>>565
空き分のメモリはちゃんと開放されるってコト?
昨今のマシンじゃ考慮する必要もないけど
一応知識として知っておきたくって
0568デフォルトの名無しさんNGNG
>>567
実験してみ。
0569デフォルトの名無しさんNGNG
>>568
減りますね
ひとつ賢くなりました
0570デフォルトの名無しさんNGNG
すいません。質問です。
VB6で印刷処理をしたいのですが
余白の設定のやり方がいまいちよくわかりません。
どなたか教えてもらえないでしょうか。
0571デフォルトの名無しさんNGNG
VSってなんでこんな重いンですか
0572デフォルトの名無しさんNGNG
>571のPCスペックが低いから
0573デフォルトの名無しさんNGNG
athlon2500+の1GMBメモリだけど?
別に低くはないでしょ
0574デフォルトの名無しさんNGNG
まあ、起動が重いだけだがね。
0575デフォルトの名無しさんNGNG
エ、AMDだってーーーーーーーっ?
0576デフォルトの名無しさんNGNG
VB6.0で、今日はじめてブレークポイントを使ってみたのですが、
設定したブレークポイントは保存できないんでしょうか?
0577デフォルトの名無しさんNGNG
>>576
代用として、
Debug.Assert False
0578デフォルトの名無しさんNGNG
>>570
余白の分だけ余裕を持って出力する
0579デフォルトの名無しさんNGNG
>>576
できんっ。
0580576NGNG
>>577
>>579
ありがとうございました。大変助かりました。
Debugがオブジェクトだなんて、100年経ってもわからなかったと思います。
0581570NGNG
>>578
申し訳ありません。説明不足でした。
余白を多く出力するのではなく
余白を少なくし、用紙の端から出力したいと思っています。
余白は可能な限り、0に近づけたいと思います。
どうかよろしくお願いします。
0582デフォルトの名無しさんNGNG
>>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
0583デフォルトの名無しさんNGNG
始めまして、質問よろしくお願いします。
大学で少しプログラムをやっていた事もあり
今日いきなり上からプログラムを組んでくれと言われその内容が
「RS232Cの磁気カードリーダーから社員の情報を読むプログラム」
らしいのですが、VBでそういった事はできますでしょうか?また方法が
分かる方いらっしゃったら教えてください。一応言語はVB,C++,JAVA
が多少できる程度です。
0584デフォルトの名無しさんNGNG
>>583
「上」ってヤクザのひとみたいでつね
0585デフォルトの名無しさんNGNG
VB6がどうしてもインストールできません・・・(TT)
なぜでしょうか。。。。
コンポーネントの検索してるところで応答しなくなります。
OSはXPPRO SP1 普通にウィンドウズアップデートはかけてます。
最新のランタイムはインストールしました、HD領域はまだ沢山残ってます、
無駄なことですが、7月の時点までシステムの復元したりしました。
検索してて、XPのアップデートがかかってるとインストールできないとかいう
のを読んだのですが・・・。
アップデートを無効にするなんて、再インストール以外、無理ですもんね・・・。
0586デフォルトの名無しさんNGNG
>>583
MSComm or API
0587デフォルトの名無しさんNGNG
ねえねえ、何でVBなんて過去のツール使ってるの?
バカみたいですよ?www
恥ずかしくないの?キモヲタだから?ねぇねぇ
0588デフォルトの名無しさんNGNG
少なくともプロの発言ではないな
0589デフォルトの名無しさんNGNG
>>588
(´‘c_,‘` )プッ
プロだってダサッ クサッ wwww
アンカーくらい使えよド素人が(´ー`)y−~~



0590デフォルトの名無しさんNGNG
>587
ねえねえ、何で半角なんて過去の文字使ってるの?
バカみたいですよ?www
恥ずかしくないの?アオニタだから?ねぇねぇ
0591デフォルトの名無しさんNGNG
>>590
ガキを煽るな
0592デフォルトの名無しさんNGNG
>>591
いや〜2chのやつらってすぐ釣れるから飽きないぜwwwwwwwwwwwwww
0593デフォルトの名無しさんNGNG
>>592
あなたはVIPから来ましたね?
0594デフォルトの名無しさんNGNG
>587
0595デフォルトの名無しさんNGNG
後付釣り宣言する愉快な厨房がいるスレはここですか?
0596デフォルトの名無しさんNGNG
クライアントで適当な一時ファイルを使いたいんだけど
そういう用途のディレクトリパスを取得するような
便利なコマンドはありませんか?

理想としてはユーザごとの
C:\Documents and Settings\hoge\Local Settings\Temp
みたいなディレクトリなのですが
0597デフォルトの名無しさんNGNG
>>596
ttp://www.bcap.co.jp/hanafusa/VBHLP/Window.htm
0598デフォルトの名無しさんNGNG
>>596
http://nienie.com/~masapico/api_GetTempPath.html
597よりこっちの方が良いと思う。
0599596NGNG
>>597-598
ありがとうございますーー
今回はAPIでなく
教えていただいたEnviron$を使わせていただきます

しかしユーザtempの下って汚いですね
tmpなのにアンインストールしたアプリのものまであるし
なぜかexeもあるし(Yahooメッセ関連)
0600デフォルトの名無しさんNGNG
再起動時にtmpやtempの中消すツールあるよ
0601デフォルトの名無しさんNGNG
教えてください

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

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

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



0603602NGNG
>>601
動的配列を定義するときに要素数1つ分で初期化しておけば?
dim a(0)
redim a(使いたいだけ)
0604601NGNG
>>603
やっぱりこれが簡単ですよね
BASICだからと割り切って1から使うようにします
ありがとうございました
0605601NGNG
WindowClosingでした
0606デフォルトの名無しさんNGNG
次のような配列があるとします

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でソートされているとは限らず、いくつ要素があるかもわかりません
0607デフォルトの名無しさんNGNG
DBを使っているとか、インデックステーブルを別に持ってるとか
じゃないなら頭からケツまでループで回して行く以外あるまい?
0608デフォルトの名無しさんNGNG
>>606
何気に面白い(w Fujita Makotoも忘れずに。

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

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

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

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

いまいちな説明ですまないけどあとは自分の脳で補完してね。
0609デフォルトの名無しさんNGNG
>>606
Scripting.Dictionaryオブジェクトを使え
0610デフォルトの名無しさんNGNG
>>609
偉そうに命令口調で言うわりには素っ頓狂なアドバイスのような気が。。
0611デフォルトの名無しさんNGNG
>601
Friend
0612デフォルトの名無しさんNGNG
すいませんGW_OWNER = 4って何の意味があるんでしょうか?
サンプルから丸々削って起動しても何の異常も無かったのですが
0613デフォルトの名無しさんNGNG
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
0614デフォルトの名無しさんNGNG
>>613
なぜそんなMSDNみれば一分で解決するようなことを
わざわざタイプしてまで人に聞く?

寂しがり屋さんなのかい君は。だったら実況板とかラウンジとか
行った方がいいと思うよ。
0615デフォルトの名無しさんNGNG
>>613

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

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

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

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

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

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

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

感じとしては、「処理中 キャンセルする?」
見たいなメッセージを出しつつ裏で処理させるようなものを作りたいのですが
win32apiにあるのかしら?
0624デフォルトの名無しさんNGNG
Timerコントロール
デバッグ時には動かないので注意
0625デフォルトの名無しさんNGNG
>>623
別の処理ってやつの中でDoEventsするとボタン押せるようになるよ。
0626623NGNG
thaks!
やってみます
0627OratorNGNG
>>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以外に設定されている』
という条件を満たさなければいけません。
0628OratorNGNG
>>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
0629デフォルトの名無しさんNGNG
タスクトレイに アイコンを入れて タスクバーに 何も出さないようにするには どうしたらいいのでしょうか?
0630デフォルトの名無しさんNGNG
>>629
1.APIでごいごい。サンプルは結構転がってるからグーグル様にお尋ねを。
2.グレープシチーに多分あるから買う。
0631デフォルトの名無しさんNGNG
>>629
http://www.google.com/search?num=50&lr=lang_ja&q=%56%42%20%E3%82%BF%E3%82%B9%E3%82%AF%E3%83%88%E3%83%AC%E3%82%A4
0632デフォルトの名無しさんNGNG
フリーで使えそうな アイコンが落ちているところを 教えてください。
0633デフォルトの名無しさんNGNG
>>632
VSのCD内
0634デフォルトの名無しさんNGNG
おかげさまでタスクトレイにアイコンを表示することは できたんですが

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

どのようにすれば クリックや ダブルクリックの割り込みを受け取ることができるのでしょうか?
0635デフォルトの名無しさんNGNG
>>634
http://www.google.com/search?num=50&lr=lang_ja&q=%56%42%20%E3%82%BF%E3%82%B9%E3%82%AF%E3%83%88%E3%83%AC%E3%82%A4
0636デフォルトの名無しさんNGNG
>>635

のってるHPのURLだけ 教えて。
0637デフォルトの名無しさんNGNG
>>636
自分で調べろ。
0638デフォルトの名無しさんNGNG
文字列をXORで暗号化するにはどうしたらいいんですか?
0639デフォルトの名無しさんNGNG
>>638
AscW関数とChrW関数では?
0640デフォルトの名無しさんNGNG
utf-8のテキストファイルを 読み込むと 文字化けします。
なおすには どうしたらいいのでしょうか?
0641デフォルトの名無しさんNGNG
>>636
その考えだから>>634みたいな再質問がでるんだよ。
グーグルで調べて、無駄だと思っても周辺もまあまあ見ておく。
そうすれば、ちょと脇の質問が発生しても、聞く前に心当たりが出来ていく。

最近の開発、基礎知識は必要だけど、個々の技術なんて全部を完全に覚えられないからね。
グーグル様へのお祈りの仕方と、そのあたりから導き出される知識の連想が全て。
0642デフォルトの名無しさんNGNG
>>640
WideCharToMultiByte, MultiByteToWideChar
Win98以上だったかな
0643デフォルトの名無しさんNGNG
>640
バイト型配列に読み込んで、StrConv。
0644デフォルトの名無しさんNGNG
>640 >643
自己レスだが、StrConv使わんで、バイト型配列をそのまま文字列型に
代入すれば良いか・・・ (UNICODEだしな)
0645デフォルトの名無しさんNGNG
1〜100までの奇数だけの和を求めるプログラムお願いします(×_×)
0646デフォルトの名無しさんNGNG
>>645
for i = 0 to 100
if i and 1 = 1 then
total = total + i
next i
0647デフォルトの名無しさんNGNG
646さん
ありがとうございます!でも入力したらエラーがでちゃいました。
超初心者なもんですいません
0648デフォルトの名無しさんNGNG
>>647
いや Nextの前の行にEnd Ifが無いだけなんだが。そのくらい言うまでも無いかなと思ったのに。
エラー出た時はエラーを正確に書くのがマナーだ
0649デフォルトの名無しさんNGNG
しまた。
If (i And 1) = 1 Then
だ。訂正。
0650デフォルトの名無しさんNGNG
すいません。今後気おつけます!
今度はEnd Ifに対応するIfブロックがありませんと表示されちゃいました
0651デフォルトの名無しさんNGNG
度々ありがとうございます!またよろしくお願いします!!
0652デフォルトの名無しさんNGNG
649さん
訂正されたのを実行したり
EndIfに対応するIfブロックがありませんと表示されちゃいました
0653デフォルトの名無しさんNGNG
>>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
0654デフォルトの名無しさんNGNG
653さん
ありがとうございます。
今度はエラーの表示は出なくなったんですけど
実行しても何も反応が無く奇数の和が表示されません。
いろいろとすいません
0655デフォルトの名無しさんNGNG
>>654
MsgBox total
をEnd Subの前に入れろ
お前、目の前にいたら殴ってるぞ
0656638NGNG
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」の時はまともに動くのですが、それ以外にすると無茶苦茶になってしまいます。
何がおかしいんでしょうか・・・
0657デフォルトの名無しさんNGNG
>>656
そんなコードじゃ話になりません。
0658デフォルトの名無しさんNGNG
655さん
すいません!本当にありがとうございました!!
0659デフォルトの名無しさんNGNG
>>656
String使ってないか?
Byteで処理しないと何をされても文句言えないぞ
0660638NGNG
>>659
すみません、意味がよく分かりません。
もう少し詳しくお願いします。
0661デフォルトの名無しさんNGNG
>>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
0662デフォルトの名無しさんNGNG
Byteから文字に戻すのは、またxorかけて
Label3.Caption = StrConv(s, vbUnicode)
のような感じ。
0663デフォルトの名無しさんNGNG
ここの質問者って自分の理解を超えると消えちゃうよねー
0664638NGNG
ヘルプ読みながらなんとか解読しました。
親切にありがとうございました。
0665OratorNGNG
>>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
0666デフォルトの名無しさんNGNG
コレクションに任意のキーがあるかどうかを知りたいのだが
要素の総当たり及びエラー判定以外のうまい方法教えて
0667デフォルトの名無しさんNGNG
Collection.Item(キー名)をやってエラーになったらキー無し
0668デフォルトの名無しさんNGNG
>>665

ありがとうございます。

試してみます。
0669デフォルトの名無しさんNGNG
>>666
Dictionaryを使え。
0670デフォルトの名無しさんNGNG
>>667
どうも
しかし二行目をよく読んでほしかった

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

例えば
line(0,10)-(50,50),qbcolor(0)
としたあとに、この線の色を反転させたいのですが・・・
0672デフォルトの名無しさんNGNG
>>671
DrawMode VbXorPen QBColor(15)
でだめか?
0673デフォルトの名無しさんNGNG
ここってできたかどうかの報告すらしない人多いよねー
0674デフォルトの名無しさんNGNG
>>668
コラ!オレの情報は無視か!
0675デフォルトの名無しさんNGNG
ヒントだけで良いので教えてくださいませ。

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

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

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

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

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

便利なものがないなら、
Scripting.FileSystemObject.OpenTextFile
AtEndOfStreamまでループを回して数える
にしようかと思いますが、どうでしょう?
0678デフォルトの名無しさんNGNG
便利なものは無い
0679677NGNG
ありがとう。
ではループで行きます。
0680デフォルトの名無しさんNGNG
>675
対象のPCで複数のメアドを使ってたら?メーラがOLじゃなかったら?
複数の他メーラを使い分けてたら?WEBメーラの場合は?

分かる範囲のメアド格納レジストリやINIファイルから取得するのが
シンプルで良いんでない?取得先に優先順番を付けて最初に取得
できたメアドだけにしておくとかさ。
0681デフォルトの名無しさんNGNG
十進割り算で小数点以下の切捨て、切り上げ、四捨五入を桁数を指定できるようにしたんですが、
うまくいきません。アドバイスをお願いします
'*****************************************************************
' 割り算
' 少数丸め位置[ 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
0682デフォルトの名無しさんNGNG
何がどううまくいかないのかも言わない奴にアドバイスなんかしません。
0683デフォルトの名無しさんNGNG
とりあえず、全角で命名するのはどうかと思うよ
0684デフォルトの名無しさんNGNG
まあ素人は↓でも使っておけってこった
ttp://www.ruriplus.com/msaccess/faq/faq_006.html
0685デフォルトの名無しさんNGNG
>>681
新手の嫌がらせ?
マジでやってるならある意味神。

>>682
しないんじゃなくて出来ないくせに(笑
0686デフォルトの名無しさんNGNG
できないからしないんだよw
0687デフォルトの名無しさんNGNG
>>685
嫌がらせなんてとんでもないです。ただこの関数を繰り返し使うと
なぜか想定したより大きい値が出るので悩んでいます。
利息とかの計算で、十進数で誤差が出ないように作ったんですが。
0688675NGNG
レスありがとうございます。

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

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

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

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

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

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


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

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

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

では駄目か?
あとDecimalって無限小数の問題って無いんだっけ?
0690デフォルトの名無しさんNGNG
ん、違うな。
だめだこりゃ。
0691デフォルトの名無しさんNGNG
「モジュールレベルでの Dim 宣言は、Public と解釈されてしまいます。」
という説明を見かけたのですが,そうなのでしょうか?
0692デフォルトの名無しさんNGNG
>>691
???何これ
そうなのでしょうか?って意味わかんない。。

♪もしかしたら もしかしたらそうなのかしら?
0693デフォルトの名無しさんNGNG
>691
あんたの「説明を見かけた」というサイトに以下の但し書きは無かったか?

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

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

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

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

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

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

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

に訂正。
0698デフォルトの名無しさんNGNG
>>688
環境が管理された端末なら、
この辺でできそうでは?
メッセージの抑制についても別に記載があったし。
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vbaol11/html/olmthResolve.asp
0699698NGNG
In order to avoid the Warning dialog box, ...
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnolbk02/html/odc_C11612730.asp?frame=true#odc_c11612730_topic2
0700694NGNG
>>696
ありがとうございます。ただこの関数、以下のドキュメントでは
初期のWindows 95では(マイドキュメントの)フォルダパスは返されません
とか書いてあるんでちと使えないかもしれません。
http://www001.upp.so-net.ne.jp/yamashita/doc/shellfolder.htm
それとWinMeですが、書き忘れてました。多分今回の環境に含まれます...

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

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

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

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

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

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

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

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


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

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


また何かありましたら相談させて頂きますので、宜しくお願いします>ALL
0716デフォルトの名無しさんNGNG
うむ
0717デフォルトの名無しさんNGNG
すいません。
かなり頭を悩ませていて、皆様のお力をお貸しください。
開発環境
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に移る。
0718717NGNG
〜〜処理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に戻る
0719717NGNG
〜〜処理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%取ってないので
バグが出てるのだとおもうのですが、
この解決方法をお教えください。

宜しくお願い致します。
0720デフォルトの名無しさんNGNG
画像ファイルについて教えてください。

PictureBoxに画像を読み込む場合、画像が大きい場合は
一部しか表示されません。
縮小して表示させるにはどうしたら良いのでしょうか?
0721717NGNG
…TABがなくなってる…orz
読みづらくてすいません…orz
0722デフォルトの名無しさんNGNG
>>717
StringじゃなくてByteじゃないのか?
0723デフォルトの名無しさんNGNG
>>720
自分で縮小してくれ
0724初心者NGNG
VBでなくてもいいのかもしれませんが、VBぐらいしか使えませんので
ここで質問します。かなり初心者ですが、よろしこです。

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

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

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

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

他人の視点にたって、他人が理解できるように過不足なく分を推敲する。
何かを説明する文章の基本でしょ。
0728デフォルトの名無しさんNGNG
>>727
わからないなら口挟むな。
0729デフォルトの名無しさんNGNG
オマエモナー
0730デフォルトの名無しさんNGNG
>>729
お前、本当にわかって無いんだな
0731デフォルトの名無しさんNGNG
>>729
恥の上塗りですか。かっこいいな。
0732デフォルトの名無しさんNGNG
いいから早く答えろよ下民ども
0733デフォルトの名無しさんNGNG
>>732
恥の上塗りですか。かっこいいな。
0734デフォルトの名無しさんNGNG
>>724
runas
0735デフォルトの名無しさんNGNG
わからないなら口挟むなよVB厨風情が。
0736デフォルトの名無しさんNGNG
>>735
わからないなら口挟むなよRUBY厨風情が。
0737デフォルトの名無しさんNGNG
717
読む気がしない。
まずは最小の再現ケースにしてくれ。
0738デフォルトの名無しさんNGNG
>>717
眺めただけだけど
処理2が割り込むのが原因だろうから、
これを排他的に処理するようにしたら?
0739デフォルトの名無しさんNGNG
布団がふっ飛んだ
0740デフォルトの名無しさんNGNG
終わったなこのスレ
0741デフォルトの名無しさんNGNG
VBのヘルプって
該当するキーワードに載せてF1を押すと
ヘルプの該当するページが表示されますが
同じようにとあるボタンを押すと
それに関するページを直接表示するような
HTMLのヘルプって作れるのでしょうか?
そういうツールがVSにあったりしますか?
0742デフォルトの名無しさんNGNG
>>741
HTML CHM でぐぐれ
0743741NGNG
>>742
ありがとーー!
0744デフォルトの名無しさんNGNG
.NETの普及とともにこのスレも過疎化が進んでるね。
0745デフォルトの名無しさんNGNG
>726
説明が少なくてすみません、
利用するのは管理者なので、セキュリティ的なハードルは無しになります。
確かにAPIのこととかよく分かってないので、もうちょっと勉強すべきですね。

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

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

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

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

何かトラブルでデータがしばらく来ない場合とちょっと危険なかほり・・・
0751デフォルトの名無しさんNGNG
goto文には驚いたなあ・・・・
0752デフォルトの名無しさんNGNG
やっぱBasicの基本だね。Goto!
若い人には新鮮味があるのかもね。






ヌルポ
0753デフォルトの名無しさんNGNG
確かに「gotoは使うべからず」と単純に思い込めるオメデタイお方はgoto使わないほうがいい。
goto使うなってのはFoolproofなんだけど、それがわからないならね。
0754デフォルトの名無しさんNGNG
やってることがGOTOなのに無理やりwhileとかあるよね

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

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

話 が 違 う じ ゃ な い か
0759デフォルトの名無しさんNGNG
>>757

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

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

でないと、いくらなんでも、そんな作りにはならん。
0764デフォルトの名無しさんNGNG
>>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
0765764の続きNGNG
'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
0766764NGNG
おまけ。

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

たぶん、760には無理だと思ふ...
0769764NGNG
ユーザーコントロール版。ついでに作ってみた。ソースはこんだけ。
ただし、使用しない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
0770デフォルトの名無しさんNGNG
>769
優しいな。今日何かイイコトあったんだろ?

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

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

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

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

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

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

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

どなたかご教授ください

環境は
WinXP
VB6 SP6
です
0776デフォルトの名無しさんNGNG
>>775
Like使えば?
0777デフォルトの名無しさんNGNG
VBってコンパイルできるようになったのは幾つのバージョンからなんですか?
最初の頃は出来なかったらしいですが。
0778デフォルトの名無しさんNGNG
>>777
VB4はPしか無かったなぁ。
VB5からじゃね?
0779デフォルトの名無しさんNGNG
>>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
とする。
0780764NGNG
>>779
それでも全然問題ないんだけどね。
Unloadをオーバーライド(機能的にはぜんぜん違うけど)っぽいことをやって
フォームをまったく修正することなく改良することが出来るという設計なんで。
0781デフォルトの名無しさんNGNG
初心者にきびしいスレと分かって質問します。
変数の定義をするとき,DimとPrivateに違いはあるのですか。
0782デフォルトの名無しさんNGNG
うん。
0783デフォルトの名無しさんNGNG
DimとPrivateを並列に比べるのもどうかと思うが
0784デフォルトの名無しさんNGNG
>783
ウマイ!座布団一枚( ・ω・)つ≒
0785デフォルトの名無しさんNGNG
Dim Sub Command1_Click
End Sub
0786デフォルトの名無しさんNGNG
質問です。
フリーズしてしまったプログラムを別のプログラムから強制終了させたいのですが、
VBではどうやればいいのでしょうか。
フリーズしてしまってますからAlt+F4などをSendKeyしても受け付けないのです。
VC++ではTerminateProcessというAPIがあるのですが、
これを使ったらできるでしょうか?
プロセスハンドルってどうやって取得したらいいんでしょう?
0787デフォルトの名無しさんNGNG
質問です。
書き始めが「質問です。」って人はかなりの割合で同一人物のような気がするんだけど
間違いですか?

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

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

事前に、hideしておいて、SetWindowsPos(SWP_NOACTIVATE)で開いてやっても、
非アクティブになってしまう時と、アクティブになってしまう時と、動作がまちまちなんです。
確実に非アクティブで開ける方法はあるのでしょうか?
0790738NGNG
>>747
ヨカッタネー。
俺っていいセンスしてるなー。
書けない言語でも、ソースレビュー大得意。
0791デフォルトの名無しさんNGNG
>>789
他のウィンドウをアクティブにするとか。
0792デフォルトの名無しさんNGNG
タイ語を使うソフトをつくりたいのですが、
タイ語を表示することができません。
どうしたらできますでしょうか。。
よろしくお願いします。 m(_ _)m
0793デフォルトの名無しさんNGNG
>>792
ヘルプ読め
0794デフォルトの名無しさんNGNG
>792
タイに行け
0795デフォルトの名無しさんNGNG
>>793-794
そんな返事を期待してない。
よろしくです。m(_ _)m
0796デフォルトの名無しさんNGNG
なんでヘルプに書いてある事を転載してやらにゃならんのだ
0797デフォルトの名無しさんNGNG
>795
面倒だからヘルプ読めよ、莫迦
0798デフォルトの名無しさんNGNG
タイ語は・・・無いな。
ttp://www.microsoft.com/japan/msdn/vbasic/Downloads/ipdk.asp

タイ語のWindowsで作ってコンパイルするしかないんでないの?
でなきゃ、文字を全て画像に(ry
0799デフォルトの名無しさんNGNG
質問する奴が馬鹿なら答える奴らも馬鹿ときてる。
タイ語のWindows? ハァ?
開発環境、実行環境ともタイ語のフォントが入ってりゃOK。
そんだけのことだろ。
0800デフォルトの名無しさんNGNG
タイ語機械語翻訳こんにゃくきぼんぬ
0801デフォルトの名無しさんNGNG
>>799
知り合いがタイ語翻訳ソフトを作ろうとしてるんですよ。
ベースは日本語希望です。
0802デフォルトの名無しさんNGNG
>>799
ハァ?
フォントだけで良いと思ってるの?この脳タリンが!
ネタか?
0803デフォルトの名無しさんNGNG
ほんとだよねぇ〜。(ミミ風)
0804デフォルトの名無しさんNGNG
とりあえずOSはNT系にして、フォントも用意する。

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

なるほど。ちょっと面白そうだな。
0810デフォルトの名無しさんNGNG
翻訳ソフトって辞書はどうするの?
全部自作?
0811デフォルトの名無しさんNGNG
タイ語のフォントもわからんものに、文脈解析など 難しい処理ができるわけがない。

素直に あきらめろと言え。
0812デフォルトの名無しさんNGNG
「翻訳ソフト」でなく、「電子辞書ソフト」なんでないの?

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

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

VB6/SP6
WindowsXP/SP2
0816デフォルトの名無しさんNGNG
すみません、自己レスです

  Dim objWsh As Object

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

  Set objWsh = Nothing

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

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

みなさん落とせました?
0822デフォルトの名無しさんNGNG
>>821
ここはVB6.0までのスレなのだよ
0823デフォルトの名無しさんNGNG
>>822
そうですか。
0824デフォルトの名無しさんNGNG
日毎に作成される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年分程度あります。
0825デフォルトの名無しさんNGNG
うわ、めちゃくちゃ見にくい。すいません・・・
0826デフォルトの名無しさんNGNG
ちなみに1年分UNION ALLでつなげたら、「クエリーが複雑すぎです」
となってしまいました。
0827デフォルトの名無しさんNGNG
* vb6sp6, winxp

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

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

やっぱLoadで時間のかかる処理はやっちゃいけないのかな。
0834デフォルトの名無しさんNGNG
>>833
Form_ActivateでLoadの直後だけ処理を実行するようにすればいいと思う。
0835デフォルトの名無しさんNGNG
>834
おー、ありがとう
0836デフォルトの名無しさんNGNG
>834
誰か>828は分かりませんか?
0837デフォルトの名無しさんNGNG
>>836
オーナードロー使うのはめんどくさいから
▼や▲を入れてやればいいじゃん?
0838デフォルトの名無しさんNGNG
>837
それって▲が大きすぎません?
0839デフォルトの名無しさんNGNG
コモンダイアログでディレクトリの選択ってできる?
0840デフォルトの名無しさんNGNG
できません
0841デフォルトの名無しさんNGNG
>840
そか。DirListBoxで作ればいっか
0842デフォルトの名無しさんNGNG
SHBrowseForFolder 使ったほうがよくないか?
0843デフォルトの名無しさんNGNG
おまいらこれ知ってた?
ttp://park10.wakwak.com/~daisuke_elec/winura/vbcredits.htm
0844デフォルトの名無しさんNGNG
VB6.0でフォーム上のコントロールのタブ移動順序って
どうやって変えるの?
0845デフォルトの名無しさんNGNG
>>844
プロパティウィンドウでいじる。
0846デフォルトの名無しさんNGNG
>>843
それは知らなかったけど、exeにも暗号化されて埋め込まれてるらしい。
0847デフォルトの名無しさんNGNG
>845
そか。VCみたいな機能はないんだ。残念。
0848デフォルトの名無しさんNGNG
>>847
1個ずらせば残りは自動的にずれるけど。
フリーソフトもあるし。
0849デフォルトの名無しさんNGNG
>>844-845,>>847-848
話が全然噛み合ってないような気がするんだが。。
0850デフォルトの名無しさんNGNG
>849
いや、伝わってますけど。
0851デフォルトの名無しさんNGNG
>>850
いや、君の独りよがりな妄想でしょ。
0852デフォルトの名無しさまNGNG
おまえらオチケツ
ttp://www.galliver.co.jp/writing/nikkei_tokushu/adn002/page2.html
0853デフォルトの名無しさんNGNG
>851
どう読んだら噛み合ってないように見えたんだ?
0854デフォルトの名無しさまNGNG
>850
>851
>853

釣られてるな。。。





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

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

いやー最近そういう報告の仕方するヤシまじで多い。
学校の宿題でもコピペで済ましてるから卒業してからもそのノリで来やがる。
ツマラン学生送り出して来んなよと小一時間。
0866デフォルトの名無しさんNGNG
>>862
親切だから回答しよう
862には出来ないでFA
0867デフォルトの名無しさんNGNG
>863
誰が仕事だと?
0868デフォルトの名無しさんNGNG
>863-866
同一IPからの連続書き込みはご遠慮ください。
0869デフォルトの名無しさんNGNG
>863
質問の意図がまったく分かっていないようで・・・
誰も分からないみたいなので他あたります。
0870デフォルトの名無しさんNGNG
>860
違うフォルダ上のCSVファイルと聞いて、同一DB内の
別のテーブルにデータ移すだけだろ、試せよバカ、と
思った君はバカ。
0871デフォルトの名無しさんNGNG
>>870
そういうことか。質問の意味がやっと分かった。
普通に考えるとできないんじゃないの?
ちょっと今試す環境がないのであれだけど。
0872デフォルトの名無しさんNGNG
>>870
試せばわかるじゃん大馬鹿
0873デフォルトの名無しさんNGNG
>872
その前にお前は質問の意味をちゃんと理解しているか?
>870-871の意味は分かってるか?
0874デフォルトの名無しさんNGNG
>872
試してできないから聞いてるんでしょ。
0875デフォルトの名無しさんNGNG
>873
とりあえず872(通称同一IP君)は放置しろ。
872はトリップ付けてくれると助かる。
NG指定するから。
0876デフォルトの名無しさんNGNG
>>875
プッ低脳だな
0877デフォルトの名無しさんNGNG
>>873
何をムキになってるのかわからないな。
質問者か?
0878デフォルトの名無しさんNGNG
>>858
おまえは>>824か?
テキストファイル名をフルパスで指定すればできるかもね。
自分で試してレポートよろしく。
0879デフォルトの名無しさんNGNG
結局この件は誰も解決できなかったってこと。
さあ次の質問いってみよう。
0880デフォルトの名無しさんNGNG
>878
できません。
0881デフォルトの名無しさんNGNG
>877
質問者じゃないけど。理解してるかしてないかで言うとどっち?
してないんだとしか思えないけど。
0882デフォルトの名無しさんNGNG
>871が正解。
0883デフォルトの名無しさんNGNG
>878
質問の意味が分かった人なら「試せば分かる」じゃなくて
「できない」と言えるはず。
0884デフォルトの名無しさんNGNG
今の状況。

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

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

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

まあ、できるかどうかしらんし、そもそもそういうOSの挙動を変えるのは難儀だろうからパス。
0892デフォルトの名無しさんNGNG
>>891
じゃあ出てくるなよ
0893デフォルトの名無しさんNGNG
>>892
なんか今日はこういう餓鬼ばかりだな。

できるできないはしらないけどさ、とりあえずSPYかなんかでそのときにどういうメッセージが飛んで
それをフックできるか調べてみればいいんじゃないの?
0894デフォルトの名無しさんNGNG
>>893
質問の意味がわかってるのか?お前!
0895デフォルトの名無しさんNGNG
>>893
自覚が無いようだが
客観的に見て、餓鬼はお前のほうだよ
0896878NGNG
やってみたけどできるじゃねーか。
0897デフォルトの名無しさんNGNG
>896
ププッ。絶対ソースは載せないんだろうな。
0898デフォルトの名無しさんNGNG
>>896
とんちんかんなことやってるとみた。
0899デフォルトの名無しさんNGNG
訳
897 ソースお願いいたします。
898 早くしてください、納期が・・・。

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

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

0900878NGNG
>>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行目に同一の見出しをつけること。
0901デフォルトの名無しさんNGNG
>900
うわ、見事にはずしてる。
0902デフォルトの名無しさんNGNG
>900
なんでnullpo.csvまでフルパスなんだよ。へたくそ
0903878NGNG
>>901
えー、ちがうの?
0904デフォルトの名無しさんNGNG
>903
いえ、ありがとうございました。
0905デフォルトの名無しさんNGNG
つうか、スレの無駄な消費になるから2連投のレスはやめろ。
0906デフォルトの名無しさんNGNG
>905
どれとどれ?
0907デフォルトの名無しさんNGNG
>>905
妄想の激しい奴だ。
精神科へ行って来い。
0908デフォルトの名無しさんNGNG
>900
パスの中にスペースが入る場合は無理ですか?
0909デフォルトの名無しさんNGNG
>>908
パス自体をシングルかダブルクォートで括ってみるとか試してみては?
0910デフォルトの名無しさんNGNG
そんなの基本です
0911デフォルトの名無しさんNGNG
>900
もしかしてドライブが別の場合は無理ですか?
0912デフォルトの名無しさんNGNG
>909
いえ、試してダメだったので何か方法があるのか質問している次第です。
0913デフォルトの名無しさんNGNG
>>912
だったら最初に書け。質問の基本がなっていない。
何を試行して、どう駄目だったと書けよ。
あんたの環境をみんなが見れてるわけじゃないんだから。
0914デフォルトの名無しさんNGNG
>913
はい
0915デフォルトの名無しさんNGNG
>913
どこに環境依存の話が?
0916デフォルトの名無しさんNGNG
>913
つまりお前は分かりもしないのに知ったかぶって
答えたということね。
0917デフォルトの名無しさんNGNG
>>915
環境って表現がこのスレじゃ拙かったね。
>>912さんの今やっていることとかそういうのを含めて、みんなが見えてるわけじゃないんだよ。ってこと。

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

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

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

有効な情報はないでしょうか?
改めてお願いします。
0927デフォルトの名無しさんNGNG
>926
ないでしょ。ここのレベルじゃ。
0928デフォルトの名無しさんNGNG
>>926
ttp://www.microsoft.com/japan/msdn/windows/windows2000/ntfs5.asp
すぐ見つかるんだが、これじゃないのか?
0929デフォルトの名無しさんNGNG
>>925
今後続くような警告する、ということみたいね。
まあもういなくなったからいいか。
0930デフォルトの名無しくんNGNG



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



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

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

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

0936デフォルトの名無しさんNGNG
通じてる?
0937デフォルトの名無しさんNGNG
>>935
お〜い、帰ってこ〜い。
0938デフォルトの名無しさんNGNG
突然、基本的な質問かもしれないですが、VB6.0のアプリケーション自体は、
もう入手出来ないのでしょうか。もしも、入手出来るのならば、どうやれば、
入手出来るのかを教えていただけますか。
0939デフォルトの名無しさんNGNG
887
http://hp.vector.co.jp/authors/VA015412/colum/menu.htm
0940デフォルトの名無しさんNGNG
>>938
>>705
0941デフォルトの名無しさんNGNG
>939
死んでいいよ
0942デフォルトの名無しさんNGNG
はぁ?
0943デフォルトの名無しさんNGNG
>>939と887 はどんな関連性があるのか、誰か教えてくれないか?
0944デフォルトの名無しさんNGNG
プログラマー以前に常識が分らんのが多いな、たとえば、非アルタイむOS
にリアルタイムを期待するとか
0945887NGNG
>>928
それは見つけて読みましたが、それだけではわからないんですよ
Main unnamed streamって奴が表示されているらしいのですが
登録とか編集できるのはその下の名前ありの奴だけ見たいなんですよ。
他にないでしょうか?
0946デフォルトの名無しさんNGNG
予め画像とかを使ってHTML形式のtemplate.eml(宛先や件名は空)を作っておいて、
プログラムがメールを送信する際に、そのtemplate.emlに送信者、宛先や件名を
入れて送信したいのです。つまり、1つの〜.emlを使いまわして、複数の人に
背景は同じだけど、本文は異なるメールを送りたいのです。
VB6.0で実現する方法が教えていただければ幸いです。
0947デフォルトの名無しさんNGNG
>944
お前の文章の方が常識ないぞ。

このスレレベル低すぎるから次スレはなしね。
0948デフォルトの名無しさんNGNG
どうしてもレベル低いことにしようとしている奴必死すぎ。
やべっ。つられちゃったw
0949デフォルトの名無しさんNGNG
>>945
他か。
ttp://support.microsoft.com/default.aspx?scid=kb;ja;224351
ざっと見ただけなので、使えたら報告してくれ。
0950デフォルトの名無しさんNGNG
>>945
http://homepage1.nifty.com/MADIA/vb/vb_bbs/200301_03010006.html
ざっとぐぐってみたけどこれがヒントにならないかな?
0951デフォルトの名無しくんNGNG
>>945
ttp://oshiete1.goo.ne.jp/kotaeru.php3?q=1010887
ゲルっとぐぐってみたけどこれがヒントにならないかな?使えたら報告してくれ。
0952デフォルトの名無しくんNGNG
>>945
ttp://forums.belution.com/ja/vb/000/010/22.shtml
ざくっとぐふってみたけどこれがヒントにならないかな?使えたら報告してくれ。
0953デフォルトの名無しさんNGNG
次スレ Part39
http://pc5.2ch.net/test/read.cgi/tech/1099737063/l50
0954デフォルトの名無しさんNGNG
>948
過去スレは知らんがこのスレ頭から読んでみ。
0955デフォルトの名無しさんNGNG
>>954
煽り厨であるお前が一番レベルが低いことがわかった。
0956デフォルトの名無しさんNGNG
>955
意味が分かる部分がないのですが。
0957デフォルトの名無しさんNGNG
Windows XP SP1
VB6.0 SP6
という環境でActiveXコントロールを作成しました
このActiveXファイル(CABファイル)をサーバに置いて自動でダウンロードさせようとしたところ
Windows XPのマシンでは通常通りダウンロードされ実行できるのですが
Windows2000の場合ダウンロードが行われません

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

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

有益な情報ありがとうございました。
0960デフォルトの名無しさんNGNG
どうしても解決できなかったので、質問したいのですが、
データを読み込み、リストボックスにリストし、
そのデータを編集後、再び同じ形式で保存する。
という手順で、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)で保存できません
どのようにしたら、同じ形式で保存できますか?
よろしくお願いします。
0961デフォルトの名無しさんNGNG
>>960
リストボックスやめたら?
0962デフォルトの名無しさんNGNG
そもそも、リストボックスで編集ってどういう行為を指しているんだ?
それと、文書がだらだら繋がりすぎて、読みにくい。
(って書くと、また答えだけ書けばいいんだよっていう既知外が沸いてくるんだろうね。)

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

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


0965デフォルトの名無しさんNGNG
>>964
表示・操作させるデータと、実際のファイル操作を別にすればOKじゃないですか?

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

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

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


>>963
こういうやり取りのできない、答えだけ厨は黙ってろ。
0966デフォルトの名無しさんNGNG
>>965
的外れな答えばかりして楽しい?
少し考えて答えろよ
0967デフォルトの名無しさんNGNG
ListはStringしか扱えないから"255,30"で入ってるのは当たり前
Splitで分けてやれば255や30も分かれる
0968デフォルトの名無しさんNGNG
>>966
これを的外れと思うあたりが実務経験の薄さかと。

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

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

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

listboxのデータの","から前後を分割して読み取れば,
data1+","+data2で元の形に戻せるのではないか?など、
さまざま考えて、方法を探っていたのですが,
解決に結びつかないのでした。
0972デフォルトの名無しさんNGNG
>>971
Splitで分けるのは駄目なの?
0973デフォルトの名無しさんNGNG
>>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
0974デフォルトの名無しさんNGNG
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

0975デフォルトの名無しさんNGNG
>963=966=969

 ┌─────────┐
 │ 基地外警報!!!  |
 │   基地外警報!! |
 └―――──――――┘
      ヽ(´ー`)ノ
         (  へ)
          く
0976デフォルトの名無しくんNGNG
>975
>963は相手にしない方がいいよ。
そいつ、俺がこの前クビにした「自称。オールマイティ・プログラマ」だから(プ
0977963NGNG
釣れたw
0978デフォルトの名無しさんNGNG
↑必死だな(w
0979960NGNG
>>973
ありがとうございます。
まだ素人ですので、読んだだけでは理解し切れませんが、
マニュアル片手に読み解いてみたいと思います。
0980デフォルトの名無しさんNGNG
Debug.Print Chr(-29469)
Debug.Print Chr(-27938)
Debug.Print Chr(-32024)
Debug.Print Chr(-28439)
Debug.Print Chr(-29506)
Debug.Print Chr(-30285)
0981デフォルトの名無しさんNGNG
>>963は嫌なことでもあったんだろう
かわいそうな奴
0982960NGNG
>>973
さきほどやっとのことで解決いたしました。
途中
DAT_A = GETTOKEN(BASESTRING,1)
DAT_B = GETTOKEN(BASESTRING,2)
WRITE #1, DAT_A & "," & DAT_B
なんてあほなことをして、""がついて焦りましたが,
WRITE #1, DAT_A, DAT_B
で無事""なしで保存することができました。ありがとうございました。
0983デフォルトの名無しさんNGNG
vsPrinterを使ってForm上のPictureBoxをダイレクトに印刷しようとしているの
ですが上手くいきません。
サイズ・色もForm上のPictureBoxに合わせたかったのですが、
vsPrinter.Picture = Picture1.Picture
こうすると色は白黒の2色になってしまい、サイズはForm上より大きくなってしま
いました。以前は1度.bmpで保存してからLoadPictureで読み込んで使用していた
のですが、わざわざ1度保存しなくてもダイレクトに印刷できるようにしたいと思
っています。是非アドバイスを下さい。
0984デフォルトの名無しさんNGNG
>>983
コントロールの開発元に問い合わせて下さい
0985デフォルトの名無しさんNGNG
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
にたどり着いたんですが、ちんぷんかんぷんでわかりません。
どうすれば表示できるか教えてください。
0986デフォルトの名無しさんNGNG
>>985
ttp://www.mitene.or.jp/~sugisita/vb6_wnd.html
ちょっと違うがな。
0987985NGNG
>>986
ありがとうございます
できれば>>985の方法でやりたいんですが、無理ですか?
0988デフォルトの名無しさんNGNG
ワロタ
事細かに書いているのに分からんのなら諦めるしかない
0989デフォルトの名無しさんNGNG
989
0990デフォルトの名無しくんNGNG
990
0991デフォルトの名無しさんNGNG
991
0992デフォルトの名無しさんNGNG
痔スレキボンヌ
0993デフォルトの名無しさんNGNG
>>992
VBプログラマ質問スレ(6.0以前) Part39@プログラム
http://pc5.2ch.net/test/read.cgi/tech/1099737063/l50
0994デフォルトの名無しさんNGNG
埋め
0995デフォルトの名無しさんNGNG
v(-∀・)b
0996デフォルトの名無しさんNGNG
v(・∀-)b
0997デフォルトの名無しさんNGNG
せんげっとー
0998デフォルトの名無しさんNGNG
999〜〜
0999デフォルトの名無しさんNGNG
こっちが本当の999
1000デフォルトの名無しさんNGNG
1000!
10011001Over 1000Thread
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。