(*´д`*)アハァ… VB初心者質問スレ Part13
こっちにこれない奴は低脳 by VB.NETプログラマ一同
__ 煽りじゃない /〃 ┼‐┼〃__ だ /\ ノ __ __ , -――-、 /\ノ ヽ/\l::::::::::::::::::::\ /: : / ,..-―-、/) |: : :|::::::::::::::::::::::/: : / /⌒Y (_ノ /) |: : :|:::::::::::::::::::::|: : : /  ̄l ̄l、 ) /`〉 ヽ:: :|::::::::::::::::::::l: : :/ l: : :`ー--‐'‐'´: :/ \|∧ハ/l/: ::〈 \: : : : : : : : : :く |: : : : : : : : : : `ー-┐ ,.、 l: : : : : : : : : :`ー―┐ ,、 |: : : : : : : : : : : : : : |二lニノ ヽ.: : : : : : : : : : : : : :|ニノ |: : : : : : : : : : : : : : | ヽ: : : : : : : : : : : : :| ヽ: : : : : : : : : : : / \: : : : : : : : :/ \ : : : : : : /  ̄ ̄ ̄ ̄ ノ|  ̄ ̄ ̄ ノ) ノしノ し'( ノ)__ノ (ノ(
6 :
デフォルトの名無しさん :02/08/13 22:00
(( )) ミヽ ∧_∧ ヽ彡 \\(`,,,,,,´ ) // ┌┐ ┌──┐ \,;´;:`;´`; / . . .┌─┐ ┌─┘└─┐│┌┐│ `;:´:;`;´';;、 │ │ └─┐┌─┘│└┘│┌───┐ `;:´;;``;:',/⌒ヽ ┌───┐│ │ ┌─┘└─┐│┌┐││ │ ヽ;;`;:`( /\\ )) .│ ││ │ └─┐┌─┘└┘││└───┘ /ヽ;´;´ .`ヽミ. └───┘└─┘ ││ ││ ( /ノ|ヾ\ ┌─┐ └┘ └┘ \)´^'^'´'` └─┘
7 :
デフォルトの名無しさん :02/08/13 22:31
VBってなに?
8 :
デフォルトの名無しさん :02/08/13 22:31
> 壱.質問する前に過去ログにも目を通してみる。 これ無理だろ。
. /■\ /■\ /■\ (:::::::::::::::::: (´∀`∩)(´∀`∩)(´∀`∩) (:::::::::::::::::::: (つ ノ (つ 丿(つ (´⌒;;::::::::::::::: / / (´/ (´⌒;;(´⌒;;:::::≡≡(´⌒;;; (_/し'≡(__(´⌒;;(´⌒;≡≡(´⌒;;≡≡ (´⌒(´⌒;;;:: ズザーーーーーッ
11 :
デフォルトの名無しさん :02/08/13 23:35
いまさら、女子大生の顔にモザイクかけてもおそいんだよ、ゴラァ
12 :
デフォルトの名無しさん :02/08/13 23:41
>7 VirtualBasic 要は、ベーシック使ってる気分にさせてくれるンフト
>>11 まわされまくったとわかった今、素顔はだせんでしょ。
あるコギャル談 「ワゴンで拉致られてまわされて、山に捨てられた。キャハハハハ。」
にしても薄いモザイクだなぁ
>>14 夏休みになると三流大学のバカ学生がよくやってるよ
i=1 Do while i=1 loop 無限ループや処理に時間のかかっているものを途中で止めるためのコマンドボタンを作りたいのですが、そのボタンにはどんなステートメントを書けばいいのでしょうか? 今は仕方なくCtrl+Alt+Delで強制終了しています。
>>17 無限ループで回ってる間はボタン自体押せないよ
DoEventsで検索しる!あとはフラグで解決
19 :
デフォルトの名無しさん :02/08/14 09:26
age
20 :
デフォルトの名無しさん :02/08/14 10:04
すいません探したんですけど見つからないので教えて下さい。 6.0で、新規に作成するフォームとかのデフォルトフォントを 変更するのはどうしたらいいんでしょうか? MSPゴシックじゃなくて、MSゴシックにしたいんです。。
>>20 俺の知る限りそんな方法はない
地道に変更かけるしかないのでは?
>>21 知ってるなら教えてやれば?
23 :
デフォルトの名無しさん :02/08/14 10:13
>>2 VB初心者質問スレとVB質問スレに分けようぜ!
厨の吹き溜まりだもんね。ここ
(*´д`*)アハァ…
>>23 そう思うなら自分でスレ立てて誘導すればいいのでは?
>>23 VB厨質問スレとVB初心者質問スレに分けようぜ!
厨の吹き溜まりだもんね。ここ
(*´д`*)アハァ…
27 :
デフォルトの名無しさん :02/08/14 11:04
VB6のMSHFlexGridで SelectionMode=1(flexSelectionByRow) に設定しているんですが、このときに 選択している行はどのようにしたら わかるのでしょうか?
29 :
デフォルトの名無しさん :02/08/14 12:10
テキストボックスにコピペされるのを防ぎたいのですが、 ・右クリック ・Shift+Ins ・Ctrl+V これだけ封じればオkでしょうか。
30 :
デフォルトの名無しさん :02/08/14 12:12
APIでLPCTSTR型の引数に対してNullを渡したいのですが どうすればよいでしょうか? Dim strNull As String * 1 strNull = Chr(0) だとAPI内で識別できるNullにはなりませんよね?
>>17 亀レスだが、Ctrl+Breakで処理止められるけど、これは違うの?
vbNullString
どうも厨房な質問ですみません。 VB.NETでコード書いてるんですが… イベントハンドラAで指定したフォルダ内のファイルの有無を 監視して、その他もろもろの処理をしているんですが このイベントAが10分間発生しなかった場合に別の プロシージャを呼び出したいんですが、どうするのが ベストでしょうか?TimerとTimerDelegateのサンプルを 使おうとしたのですが、イベントAが発生しない状態を どうやってモニターしていいのかわかりません。。。
34 :
デフォルトの名無しさん :02/08/14 12:51
>>33 寝釜キタ━━━━━━(゚∀゚)━━━━━━ !!!!!
38 :
yokochin :02/08/14 13:12
どうも厨房な質問ですみません。 VB.NETでコード書いてるんですが… イベントハンドラAで指定したフォルダ内のファイルの有無を 監視して、その他もろもろの処理をしているんですが このイベントAが10分間発生しなかった場合に別の プロシージャを呼び出したいんですが、どうするのが ベストでしょうか?TimerとTimerDelegateのサンプルを 使おうとしたのですが、イベントAが発生しない状態を どうやってモニターしていいのかわかりません。。。
>>38 フラグ立てれば?
後、集合論とか勉強した方がいい。ある集合の否定はある集合以外の集合。
レスありがとうございます。 .NETのスレでもきいてみたいと思います。 フラグ。。。。ですか? もうちょっと具体的にご教授いただけると幸いです。 すみません。
>>41 つーかわざわざ別スレあるんだから最初からVB.NETのスレで聞け
.NETスレ「でも」きいてみたいと思います。 ↑
すみません、板違いでしたかね? 取り下げさせてください。余所逝きます。 スレ汚し申し訳なし。
>>17 さんへ
DoEventsは初めて聞く言葉で調べて見ましたが、DoEventsを実行させてからフラグを入れ替えられるボタンを押せるようにしてみます。
>>31 さんへ
デバッグ中の停止ではなく完成品に処理中止ボタンをつけたいので。
46 :
デフォルトの名無しさん :02/08/14 16:49
教えて君ですみません 「ABC/DEF=99/GHI」という文字列があります。 これの両側を取って「99」だけ取り出したいのですが、 「99」及び「/GHI」は文字列長が可変なので文字数で削ることができません。 何か方法は無いでしょうか?
初心者で良く分からないのですが、VBでチェックボックスの色は変える事が 出来るのでしょうか? もし出来るのでしたら、方法を教えて下さい。 よろしくお願いします。
>>46 あなたは何をもって「両側」と判断している?
>>47 チェックボックスの色って、中のチェックの色のこと?
だとしたら無理だと思う
50 :
デフォルトの名無しさん :02/08/14 17:01
>>48 数値「99」です。
ごめんなさい、書き忘れた事があります。
「GHI」の部分には数値が含まれる事があります。
自分でチェックボックスみたいな画像用意してチェックボックスのような動作をするプログラムを書くべし
52 :
デフォルトの名無しさん :02/08/14 17:11
>>51 あんた、初心者にそんなこと言うなんて鬼だなw
>>48 数値の文字列"99"と分かっているなら、別に抜き出す必要もない。
s = "99"
マジレスすると、正規表現で書いてもらえる?
Call Replace(, >53, ">48", ">50")
>>53 ^(.*).*(.*)$
です。よろしくお願いします。
>>49 そうですかやはり無理なんですね。
ありがとうございます。
>>51 私には難し過ぎますね。
諦めるとします。
57 :
デフォルトの名無しさん :02/08/14 22:34
大きなファイルをコピーするときに、プログレスバーで状況を表示したいのですが、 filelenだと送り先側のファイルサイズをリアルタイムに取得することができないようです。 何か良い方法はないでしょうか?
>>57 SHFileOperation使うとか切り分けながらコピーするとか
>>58 ×ボタン押されて中断されたくないので、後者を試してみたいと思います。
どうもでした。
60 :
デフォルトの名無しさん :02/08/15 16:30
Set DD = DX.DirectDrawCreate("") ↑ これってどういう意味ですか?
>>60 入門書買っておいで。
多分DirectXでも使おうとか考えてるんだろうけどまだ早いと思われ。
後、人の話も聞けない奴がおもしろいゲームだなんてちゃんちゃらおかしい。
>60は人の話を聞かないで質問するゲームを作ってます。
Microsoftのグリッドコントロールで、セルの上とか右とかの線だけ太くしたり、色を変えたりすることはできますか?
>>60 お前みたいな奴がそんな質問平気でするからVBがヴァカにされるんだ
と言ってみるテスト
今日ヨドバシ行ってdirectx7 for visual basic ていう本かってきました これさえあればもう俺に怖いものなしです。 ざまミロカスドモ。ワラ!
68 :
デフォルトの名無しさん :02/08/15 19:11
まあまあ別にいいじゃん。馬鹿だとおもうならほっとけば ,, ,=、 ,, , =、 ff | }!、,、〃 / " ,リ/ .ノ ゚∀゚)'〃 アヒャ...アヒャ...アヒャヒャヒャヒャヒャヒャヒャヒャ . {{ { ′ v' 《 いちいちつっこむんじゃねー ヾ.\. \ヾ _,,二、》 狂. \. 三,_ (( ゙ー=、`″〃起\. \-‐' ,リ ゙ー=″ ゙' 一'
70 :
デフォルトの名無しさん :02/08/15 19:50
callってなに? ただ関数を呼び出すためのもの? だとしたら自分今までcall省略して 関数名だけを書いてたんだけど。どうなの?
71 :
デフォルトの名無しさん :02/08/15 20:08
なんでVBってCやC++に比べて遅いの?
72 :
デフォルトの名無しさん :02/08/15 20:21
73 :
デフォルトの名無しさん :02/08/15 20:25
>>71 アセンブラでVB VC作れるようになったら、よく理解できるよ。
74 :
デフォルトの名無しさん :02/08/15 20:47
GOSUB foobar(…としたい ハァハァ
75 :
デフォルトの名無しさん :02/08/15 20:55
>>71 遅い原因
1、 元はインタプリタ言語として設計されていて色々な親切機能がどうしても重くなる為
2、DLLを呼ぶ等がオプションの為にオーバーヘッドが大きい
3、OCX(COM)を呼ぶためのオーバーヘッドが大きい
4、VBのプログラマはどういう処理が遅いかなんてて気にしないから
76 :
デフォルトの名無しさん :02/08/15 21:00
77 :
デフォルトの名無しさん :02/08/15 21:35
Microsoftのグリッドコントロールで、セルの上とか右とかの線だけ太くしたり、色を変えたりすることはできますか?
スレたてて怒られちゃったのでこっちで聞いてみます。 行き詰まっています。 ファイルを読み込んでそれを配列に格納するとき、 配列の数をファイルしだいで動的に決めるにはどうしたらいいのでしょうか? どなたか教えてください。
>>78 配列の数とは要素数の事か?
動的配列を宣言しておいてファイルを開いてLOFでサイズ取得してRedimする。
各単語はMSDNで調べれ。
80 :
デフォルトの名無しさん :02/08/16 06:18
コモンダイアログを詳細表示で開いたり、 大きさを大きくしてから開いたりできますか?
81 :
デフォルトの名無しさん :02/08/16 08:48
CにできてVBにできないことってなんですか?
82 :
デフォルトの名無しさん :02/08/16 09:07
>>81 VBソースの中にASMって入れてコンパイルできたっけ?
>>82 よりによってそんなおまけ機能挙げてどうするよ。
84 :
デフォルトの名無しさん :02/08/16 10:10
この板じゃないような気もしたのですが、ここの方が詳しい方が居ると思い、 質問させてください。 今までMEで使っていたVBを使用したソフトがあったんですが XPをクリーンインストールしたらランタイムをセットアップできなくなりました。 (なんかファイルが見つからないとかで途中で止まります) MEからのバージョンアップの場合はそのソフトが使用できていたから ランタイム自体はXPで使えないとか無いと思うんです。 ただ、インストールが出来ないためどうしようもありません。 ソフトの添付テキストによると使用ソフトがVisualBasic 6.0 SP3 (Enterprise Edition) 必要なファイルはVisual Basic 6.0 のランタイム(ActiveX , DAO 3.51)らしいんですが ぐぐるやベクターでもそれらしきものはありません。or同じくセットアップが出来ないです。 なにか方法は無いのでしょうか?
85 :
デフォルトの名無しさん :02/08/16 10:12
このソフト恐ろしく快適ですね
>>81 ActiveXじゃない普通のDLLが作れないこととかー。
VBでDLLつくってどうするって話もあるけど、できたら便利とも思う。
あとは、コンソールアプリを簡単に作ることができないこととかがあるな(笑
>>86 言語仕様の時点でどう考えてお買ってると思うが。
88 :
デフォルトの名無しさん :02/08/16 10:41
>>83 あれってオマケ機能だったんか?
知らずに何のありがたみも無く使ってたよ
CじゃなくてC++だけど。
>>78 テストしてないけど、これでイイはず。
Dim array() As String
Dim i As Integer
Dim cnt As Integer
Dim buf1 As String
Dim buf2() As String
Dim num As String
Redim array(Empty) As String
num = FreeFile
Open DataFile For Input Shared As #num
Do Until EOF(num)
Line Input #num, buf1
buf2 = Split(buf1, ",")
For i = LBound(buf2) to UBound(buf2)
Redim Preserve array(i + cnt) As String
array(i + cnt) = buf2(i + cnt)
Next
cnt = cnt + i + 1
Loop
Close #num
90 :
デフォルトの名無しさん :02/08/16 12:18
directxで画像を読み込んで表示しようと思ってるんですが バックバッファーをつくってファイルを読み込むところで 型が違いますとかいってエラーになっちゃいます どうしたらいいですか? Set secddsurf = objdd.CreateSurfaceFromFile(App.Path + "\sample.bmp", ddsd2) ↑この部分
>>90 だ か ら 先 に set の 意 味 を 調 べ て こ い と あ れ ほ ど 言 っ て い る だ ろ う 。
92 :
デフォルトの名無しさん :02/08/16 12:31
>>91 よく見たら宣言部で違うクラスを書いてました
どうもどうも。
93 :
デフォルトの名無しさん :02/08/16 12:35
(*´д`*)アッ、アハァ・・・
94 :
デフォルトの名無しさん :02/08/16 12:59
サーフェイスを作成するときって ddsdcapsを有効にしてからそのあとにlcapsにサーフェイスを 指定したりしてるけどなんで ddsd1.ddscaps.lcaps=ddscaps_primarysurface ってかんじで直接指定したりできないの? いちいち有効にする意味ってあるの?
95 :
デフォルトの名無しさん :02/08/16 13:01
Excelやなんかのヘルプみたく、常に手前に表示しているのに フォーカスを後ろのフォームに移せるタイプのフォームって どうやって作れば良いのでしょうか。 あと、VBのコードエディタの自動メンバ表示ぽいのを実現しようと思ったら、 上記の手前に表示フォームで作るべきでしょうか。
ちょっと説明が変だった >ddsd1.ddscaps.lcaps=ddscaps_primarysurface >ってかんじで直接指定したりできないの? ↓訂正 ddsd1.ddscaps.lcaps=ddscaps_primarysurface だけじゃだめなのはなぜ?
97 :
デフォルトの名無しさん :02/08/16 14:02
リストビューコントロールに、Winampみたいなドラッグアンドドロップでの 順番入れ替えを実装したいのですが、 順番入れ替えはなんとかできました。ちょっとおかしい気もするけど。 ただ、カーソルを最上部、最下部に持っていったときに 自動スクロールさせる方法がわかりません。 どうやればよいのでしょうか?
>95 SetWindowPosで最前面に表示させてやりゃ同じ動作にならなかったっけ? あと、自動メンバ表示はこの方法で別窓に出すんじゃなく、自Window内に 直接描画するのが普通だと思う。
自分はこんなコードかいてます。>最前面表示 Public Declare Function SetWindowPos Lib "user32" _ (ByVal hWnd As Long, ByVal hWndInsertAfter As Long, ByVal X As Long, ByVal y As Long, ByVal cx As Long, ByVal cy As Long, ByVal wFlags As Long) As Long Private Sub Check1_Click() SetFormTopMost Me, Check1.Value End Sub Public Sub SetFormTopMost(DstForm As Form, nYesNo As Integer) '最前面 Dim lngResult As Long lngResult = SetWindowPos(DstForm.hWnd, nYesNo - 2, 0, 0, 0, 0, &H10 Or &H2 Or &H1) End Sub 多分SetWindowPosのテキトーな数字がつっこみどころ満載な気がしますが とりあえず動いてます。ダメっすかね?
ログに書き出す為に エラーが発生した時に、その時点で動いている 関数名を取得したいなと考えているのですが そんな事は可能なのでしょうか? 色々調べて見たのですがはっきりしないので どなたか教えていただけませんでしょうか? よろしくお願いします。
101 :
デフォルトの名無しさん :02/08/16 15:33
Microsoftのグリッドコントロールで、セルの上とか右とかの線だけ太くしたり、色を変えたりすることはできますか?
102 :
デフォルトの名無しさん :02/08/16 16:24
かなりな厨な質問ですみません。 FileListBoxの選択される部分をカーソルキーで上下に移動するようにするには どうしたらいいんでしょうか?
103 :
デフォルトの名無しさん :02/08/16 16:29
いや 何もしなくても出来るけど。。。。汗
>102ね
たぶん解決しました。 sub File1_click() を書いていたので動かないだけでした。 どうもすみません。
>>105 関係ないと思うけど…
(*´д`*)アハァ…
>>106 違いました。
sub File1_click()の中に Unload Meが書いてあって
カーソルキーを押すと閉じてしまうのでした。
すみません。やっぱりお願いします。 カーソルキーでFileListBoxの選択位置を移動 ↓ CommandButtonでファイルを開く としたのですが、Enterキーを押してファイルを開くようにするにはどうしたら良いですか。 他のファームでは、Private Sub Form_KeyPress(KeyAscii As Integer)で そういうショートカット作ったのですが、今回はうまく行きません。
keypressじゃなくてkeydownのほうでやってみよう!
>>108 ってかこれで取得できたけど?
Private Sub File1_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then Form1.Caption = File1.FileName
End Sub
>>103 たびたびすみせん。
それ以前にKeyPreviewがFalseになってました。
書き込む前に今一度よく見直しな
誰かWindows_Sockets_APIを解説しているHPしりませんか?
115 :
デフォルトの名無しさん :02/08/16 19:36
>>111 まああれだな、もう少し丁寧にいえば?
>>113 そういうときはF8キー押して、トレースするんだよ。デバッグの基本だからさ、学校で教わることですよ
116 :
デフォルトの名無しさん :02/08/16 19:37
117 :
デフォルトの名無しさん :02/08/16 21:00
すみません、少々ご教授願いたいのですが、 dllのデバッグをしているとフォーム型のデータをオブジェクト型で受けて、 そのオブジェクト型(フォーム型)の変数を別のフォーム型の変数に代入する処理があるのですが、 「型が違います」というエラーメッセージが出てしまいます。 ちなみにデバッグしないで普通に実行すると出ません。 なんかデバッグウィンドウを見るとオブジェクト型の変数に入ってるフォーム型内容を フォーム型として認識してないようなのですが、どなたかこの症状の回避方法か フォーム型にオブジェクト型を代入する方法を教えてください よろしくお願いします
ddsd1.lFlags = DDSD_CAPS ddsd1.ddsCaps.lCaps = DDSCAPS_PRIMARYSURFACE この2行がどうしてもりかいできません。 この部分は形式的に覚えるしかないのでしょうか?
>>118 1行目:ddsCapsを使いますよ〜、という意味。
2行目:これはプライマリーサーフェスですよ〜、という意味。
COMポートの外部接続機器に10ミリ秒オーダーの正確なインターバルでもって 交信を行いたいんですが、timeSetEvent関数を使えば大丈夫でしょうか? 家にコンパイル環境も目的の機器もないので、テキストエディタで打って ちいち持っていかないといけないのでトライ&エラーがしにくいんです。
>>120 その分解能をソフトリアルタイムOSでどうだすか。
>>121 まあオーダーということで実際に10ミリ秒で割り込みできなくても構わないんですが、
50ミリ、100ミリ秒の割り込みに対して数ミリ秒の誤差が出るのは困るんです。
一応1.5GHz程度のPC(ライセンスの都合でOSは98かXP)において
タイマ割り込み>呼びかけ>返答>返ってきた数値をグラフに図示>(タイマかキー入力の)割り込み待ち
の流れになります。
>>119 レスありがとうございます。
よく理解できました。
でもその1行目にかんして意味がまったく理解できません
素人目からみるといちいちddscapsを有効にしなくても
そのままサーフェイスを指定できるようになっていたら
手間が省けて楽なのではないかと思うのですが。
なんでそんなめんどくさい仕組みになってるんですか?
>>123 こういうコトを平気で聞ける頭の構造を知りたくない。
VB6の無料版って無いの? あったら詳細キボンヌ
126 :
デフォルトの名無しさん :02/08/17 00:02
>>100 俺がよく使うのは、1個エラー処理関数を作って、
別の関数でエラー時に、そのエラー関数に自分の関数名を
パラメータで渡す。あとはエラーが発生するのを待つだけ。
こんなんじゃダメかい?
127 :
デフォルトの名無しさん :02/08/17 00:10
こんばんは。 初心者の質問です。よろしいでしょうか? VBでPrinterメソッドを使って印字させたいのですが、 ドットプリンターとレーザー式プリンターではコーディングの書き方が 違うのでしょうか? レーザープリンターではうまく出来たのですが、ドット式だとうまく 動いてくれません。 printer.NewPageを書いても改ページしてくれません。 なぜなのでしょうか?教えてください。
lcapsを指定する前にddscapsを有効にしないといけないのは どうしてですか?なんでデフォルトで有効になってないんですか? こういう仕組みになってて何かメリットはあるんですか? 誰か教えてーーーーー。
黙れ。その口調虫唾が疾る。
虫のくせに偉そうだな
>>133 132をよくよめ。かんじがわからないならじしょひけ。
MXで落とせる。
131≠133であることを明言しておく。 次の質問ドゾー
137 :
デフォルトの名無しさん :02/08/17 02:09
lcapsを指定する前にddscapsを有効にしないといけないのは どうしてですか?なんでデフォルトで有効になってないんですか? こういう仕組みになってて何かメリットはあるんですか? 誰か教えてーーーーー。
それを知らないと何か不都合なことでもあるのか?
139 :
デフォルトの名無しさん :02/08/17 02:15
>>138 directxのすみからすみまでちゃんと理解したいのですよ。
あ、もうこれ以上煽らないでね。返事書くのがめんどくさいから。
140 :
デフォルトの名無しさん :02/08/17 02:16
Microsoftのグリッドコントロールで、セルの上とか右とかの線だけ太くしたり、色を変えたりすることはできますか?
マイクロソフトにでも聞け
>>117 本来 Activate かなんかで触ってるせいで、参照が途切れなくて exe でうまく
行ってるとか?
つか、それ以前に該当する変数をウォッチで、内容変更されたら Break とか式
のウォッチで isEmpty(frmHoge) とか iif(TypeName(a) = "Noting" ,True,False) とか、適当なところの #if 内にif typeof とかやった?
つか、やんなさいよ。
>>140 オーナードローにして自分で描くしかない。
>ddsd1.lFlags = DDSD_CAPS >ddsd1.ddsCaps.lCaps = DDSCAPS_PRIMARYSURFACE DirectX なんざこれっぽっちも知らんが、ddsd1.lFlags = DDSD_CAPS で ddsd1.ddsCaps の扱いとかインスタンスの種類が変わるとかそんなんじゃないの? いずれにせよ ddsd1.lFlags の意味をドキュメントで引けばはっきりしそうだけど、無いの? つか、言語やってるくせに順番変えたいとか要らないんじゃないのかとか、そう言う発想が出てくる自体変態。
んごご、オブジェクトに isEmpty しちゃう漏れ…。
97ですけど、どうでしょうか〜?
>>146 ListView.ListItem.EnsureVisible
これか?
>>147 うん。
それだとは思うんだけど、どこでそれやればいいか分からない。
DragOver かなんかかな
150 :
デフォルトの名無しさん :02/08/17 10:34
>>146 rc = SendMessage(FileView.hwnd, WM_VSCROLL, SB_LINEUP, ByVal 0&)
訂正 FileView.hwnd -> ListView.hwnd
>>150 スクロールはコレで出来ますね。
ドラッグアンドドロップでの順番変更の実装を
OLE DragDropとかじゃなくて、ItemClickとMouseMoveでやっちゃったんです。
ふつうDragDrop使いますかね?やっぱ?
>>148 ListView_MouseMoveかなにかでHitTestしたらどう?
Dim Li as ListItem
Set Li = ListView.HitTest(x, y)
Li.EnsureVisible
みたいな。
>>153 お、なんだこりゃ。よくわかんないけどスクロールするね。
下方向だけに(w
上方向にスクロールしてくれないです。なんでかな?
>>154 んーと、
Dim i%
i = Li.Index
ってやって、
上の場合はi=i-1、下の場合はi=i+1して、
ListItems(i).EnsureVisible
とかやればどうかな。細かい点は工夫してね。
>>126 自分は
>>100 では無いですが、
やはり現在の関数名を取得する方法というのは無いんですね。
ということはエラーが発生するたびに関数名を直に渡す(もしくは定数を使う?)必要があるのか…。
関数名が変わると、渡すパラメータ(もしくは定数の宣言部分)も書き換えないといけないということになりますよね?
参考になりました。
アドインって作ったこと無いから全く知らないけど、アレ的クラスの中にコールスタックの情報持ってる奴とか無いのかねぇ…。
>>155 ん?
いや、ですから、その、上に行ったか下に行ったかをどうやって判別しよう?
と悩んでいるのです。
x,y座標から求めてもよいですが、
ColumnのHeightってどうやって調べるのでしょう?
というか、めちゃめちゃ言い忘れてますが、ListViewの詳細表示モードです。
>>158 一つ前の状態を覚えておけば済む話では?
>>84 半角英数のユーザー名でログイン、インストールしてみては。
>>84 ここより Windows 板のXP とか、くだ質スレとか逝った方が早いと思われり。
プログラマ=PC詳しい なんて思っちゃダメダーメ
162 :
120=122 :02/08/17 18:41
すいません。一度だけ再質問させていただきます。
>>120-122 ですがなんかご意見いただけないでしょうか。
163 :
デフォルトの名無しさん :02/08/17 19:40
フォームのBorderStyleをプログラム中で変化させようとしたら 変化しませんですた。おまえら教えてください。 Private Sub Command1_Click() Form1.BorderStyle = 1 End Sub
結局未だうまくできてないなぁ (*´д`*)アハァ 定石ってあると思うんですが。
>158(97) > ColumnのHeightってどうやって調べるのでしょう? ListView1.ListItems.Item(1).Top - ListView1.ListItems.Item(1).Top MSDN の ListItem オブジェクトの項には出てないみたいだけど、こーど補完に 出るので試した。 画面の単位って苦手だから、出てきた値が、ホントにアイテムの TOP なのかどうかは知らんが。 その検証はそっちでやって。 # もし、これが正解で、今日半日これで悩んでたなら、君の休日半日分は俺の休日5分の価値以下とも… Private Sub Form_Load() Me.Show Call ListView1.ListItems.Add(1, , "hoge") Call ListView1.ListItems.Add(2, , "pyo") Text1.Height = ListView1.ListItems.Item(1).Top - ListView1.ListItems.Item(2).Top End Sub
>>165 さすがに馬鹿らしくなってきたが…。
Private Sub ListView_MouseMove(x,y)
Dim Li as listitem
Dim i%
Static iPrev%
set Li = ListView.HitText(x,y)
i = Li.Index
If i > iPrev Then
i++
ElseIf i < iPrev Then
i--
Else
Exit Sub
End if
ListView.ListItems(i).EnsureVisible
iPrev = i
こんなんでどうよ。
言っちゃった(w
ふ〜
>>168 さんのでも上方向がやはりうまくいかない
Dim Li As ListItem
Dim i%
Static iPrev%
Set Li = ListView1.HitTest(X, y)
i = Li.Index
If i > iPrev Then
iPrev = i
i = i
ElseIf i < iPrev Then
iPrev = i
i = i - 1
Else
Exit Sub
End If
ListView1.ListItems(i).EnsureVisible
こうしたらばっちりでした〜。やた〜
げ、崩れまくり。
>>156 >関数名が変わると、渡すパラメータ(もしくは定数の宣言部分)も書き換えないといけないということになりますよね?
エラー処理の共通関数を作って、エラー時にそいつに関数名を渡すんだよ。
そしたら、何処で落ちてるかは分かるよね。
関数に渡すパラメータが変わると、何か問題あるのか?
>>170 If文内の iPrev = i は外に出してひとつに纏められるし
i = i はいらんやろ…
>>172 Private Sub AAA()
On Error GoTo ErrHandler
'適当な処理
ErrHandler:
'エラー処理の共通関数の呼び出し
Call CommonError("AAA",…,…)
End Sub
という感じですよね?あってますでしょうか?初心者なんであんまり自信が無くて。
この場合、関数名がAAAからBBBに変わると
エラー処理の共通関数に渡す"AAA"も"BBB"に変更するということで。
問題は無いですけど、現在の関数が取得できれば便利かなあと思った次第です。
>>170 >>168 はネタでエラー突っ込んどいたから動かなくて当然(w
というか、検証してないから素で間違ってたかもしれないけど。
あと、i=iの所は、i=i+1にしとかないと、ListViewの窓サイズによっては
動作しないよ。
それから、EnsureVisibleの前にiの値が適切かチェックすること。
(あるいはエラートラップかけること。)
>>175 1++とかのことですよね?
i=i+1にするとなんかうまく動かないんですが。
>>173 まとめるとうまくうごきません。
iprevの値が振動してしまいます。
iに代入する前にやらないとダメぽ。
i=iはいりませんね。
Do Until i=5 〜 Loop というのはi=5のときにループ内のプログラムを実行するんでしたっけ?
178 :
デフォルトの名無しさん :02/08/18 11:55
>>178 VB厨をなめちゃ行けません。奴は本気です。
あぼーん
182 :
デフォルトの名無しさん :02/08/18 12:14
>>177 VBってものすごく奥が深いね、難しいね
オレもよくわからん
少し書き忘れました。 i=0 Do Until i=5 〜 i=i+1 Loop でした。おねがいします。
もちろん Until が 〜まで という意味なのは知ってますが・・・。 確かめるためにプログラムを組むのも体力のいる話なので。 ネタじゃないです。
>>187 >確かめるためにプログラムを組むのも体力のいる話なので。
人に苦労させるのか。何様?
お前才能無い、あったとしても伸びない。プログラムなんぞやめて適当に楽な趣味なり仕事なり見つけろ。
>>189 趣味でやってるだけなのでかんべんして。
デバッグすると3分、聞くとそれよりはやいかなーと思ってたんですけ。
>>187 人任せかよ。自分でやれ。10行もあれば確認できるだろ。
DoEvents入れたらリスクもかなり小さくなるし。
ここはバカな
>>117 の貴重な時間を3分以上浪費させるスレになりました。
こんな板の空気じゃ親切に教えたがってる人も書き込めないじゃないか!
>>177 i=5が偽の場合にループ内を実行するから
i=5の場合は実行されない。
Dim i As Integer
i = 0
Do Until i = 5
Call MsgBox(CStr(i))
i = i + 1
DoEvents
Loop
皆さんの言うとおり、自分でやっても短時間でできる場合は
やってみたほうがいいと思いますよ。
>>177 見たいなやつに教えたい人がいるとは思えんな。
人を人柱にしてるわけだし。
201 :
デフォルトの名無しさん :02/08/18 12:33
Oracle使うときにはObjectBrowserっていう便利なソフトがありますが SQLServerは使えませんでした。 SQLServer用の同様の便利なソフトってどんなのがあるのでしょうか?
>>197 MsgBox使ったのはまずかったかも…。
Debug.Printの方がいいかな。
>>197 親切レス感謝です。
実はVBではUntilを使ったときi=5を偽として扱うのかどうかが知りたかったんです。
Untilを使ったとき=の左辺を偽として扱うというのがVBの仕様であるということは覚えておきます。
スレの管理人の1に来るなと言われたならもう来ません。
203は =の右辺 と書くつもりが間違えました。しばらくさようなら。
>>207 本当にi=5のときループ内のコードが実行されるかどうか知りたかったのに
>>210 そんなこと自分でコード書いて確認しろ。
人柱にされたからこっちはむかついてるんだ。
いいかげんウザイ。分かったらさっさと失せろ。
おまえらは理屈っぽい話に耐えられずに楽しい話しかしないいまどきのやつだということがよくわかった じゃあな
>>177 来るなとは言わん、が、自力でできることを他人任せにするな。
本スレ閲覧者はお前の召使いではない。
うっせぇよ、全員死ね
>>212 はいはい、そう思ってて良いから二度とこないでね。♥
まぁ、句読点も満足に書けない奴だ。すぐに社会的に自滅する。
219 :
デフォルトの名無しさん :02/08/18 12:57
↑荒らしはオレじゃないぞ スレ管理人の「来るなとは言わない」という言葉はさすがです。
改めてVB厨のうざさを実感した。
お ま え ら 構うな
>>223 今でも充分迫害になってる罠。(w
同じVB使いとして恥ずかしいよ。
答えが出た瞬間攻撃し始める。 アホの典型だな。学校とかでもうまく太刀振る舞えていない可能性が高い。 と、言うか、 登校拒否−>手に職を−>VB−>わからない−>聞く−>死ね−>荒らし 非常にわかりやすいな。
放置放置。 次の方どうぞ〜♪
おいおい、どうかしたの? 皆さん変数名とかどうしてます? 自分はnXとかnYとかnKaisuだか 変数名には頭にnをつけて Subにはs、Funcitionにはfをつけたりしてるんですが。 どうかしら。
>>228 どうもこうも見たらわかるでしょう。どれが変数か手続きか関数か。
配列にはaX、構造体にはrX、クラスにはcXとかならまだしの。
230 :
デフォルトの名無しさん :02/08/18 13:09
177はリアル厨房なんじゃないか? VBだけしか触ったことないんだろ?
231 :
デフォルトの名無しさん :02/08/18 13:10
177はリアル厨房なんじゃないか? VBだけしか触ったことないんだろ?
>>231 ただの社会のゴミです。多分VBもwarezです。
233 :
デフォルトの名無しさん :02/08/18 13:11
ゴメソ >> 2重 お詫びに変数命名 整数はiX,、iY 文字列はstrTempとかstrナニナニ ブールはblTempとか そういう接頭辞をつけてる
227で放置と書いてあったからもう書き込みしないとおもってたけど230でまた呼ばれてしまった。 VBとJavaScriptとHTMLを少々かじったていど。SQLはselect,update,deleteとか基本的なことしか知らないし。
236 :
デフォルトの名無しさん :02/08/18 13:14
177はリアル厨房なんじゃないか? VBだけしか触ったことないんだろ?
>>236 ただの社会のゴミです。多分VBもwarezです。
そ〜すね。やっぱ変数でも種類によって分けた方がいいよね。 ここであがるコードとかみてると i だけとか多いのでどうなのかな〜と 思ってみたりしました。
>>239 ああ。Win32APIの影響じゃない?
構造体のメンバとかdwSizeとか型名付けるのが慣例だから。
>>239 ごめん、まちがい。
iってのはカウンタ用の変数の代名詞みたいなもん。
ループさせるときは取りあえずi使っとけって感じ。
理由は知らないです。
Integer
>>239 iはループ用変数専用だな。暗黙の了解でそうなってる。
>>239 それに便乗して質問したいんですが、
ループカウンタの変数名って皆さんどうされてますか?
参考書などはiとかnとか単純なものが多いのですが、
やっぱり接頭辞つけてiLpCntとか分かりやすい名前にしたりするのでしょうか?
共同作業するのでないなら自分のスキな名前でよいのでは?
>>244 自分はそのループカウントがほとんどnXになっちゃってます。
変?
>>244 ループのカウンタって名前付けるほど重要じゃないから。
その変数に指定された増減で値が入ってくれてれば良いわけで。
それなら簡単に利用できるように1文字の方がいい。
>>244 普通i。それだけで充分すぎるほど分かるしな。
あ、んでループの中のループだとnY、nZ・・って感じにしてます
お前ら人の話聞けや!
↑にせものの177
俺が本物。トリップ付いてないのは偽者。
なるほど、回答ありがとうございました。
>>244 コーディング規約で強制されない限りは i,j,k で済ませてる。
トリップつけると不利になるだけやんか
>>177 はこの世から^H^H^H^H^H消えろってんだろうが
iはindex説、iteration説などがあるが、iterationが有力。
VBのちゃんとした質問いいですか?
せめて名前変えろ
そういやXやYを変数として宣言する? 引数でXやYが使われてたりするから、 XやY一文字だけだとどうしても抵抗がある。
結局VBがプログラム言語の中で一番だと思うんですが? なんでみんなCとかやってるの?
>>264 スコープが解決してくれるので基本的には問題ないかと。
267 :
デフォルトの名無しさん :02/08/18 13:32
i,j,kがIntegerに使われるのはFORTRANの流れだろ。 漏れがFORTRANを覚えたときは、iからnまでが整数ダターヨ
俺ループカウンタにq,rをよく使う…
今日は名前変えても意味なさそうです。ほとぼり冷めてから変えます。 質問なんですけど aという変数をパブリックで使っているときに GoToのラベルに a: という名前をつけてもだいじょうぶなんでしょうか?
273 :
デフォルトの名無しさん :02/08/18 13:35
マジレス FORTRAN,N88BASIC,F-BASIC,C++, 最近業務でVB
>>270 偽者おもんない。偽者は偽者なりに、ちゃんとしたネタをふれ。
>>270 だから、試しに自分でやってみれば済むことをここで聞くなと小一時間
ねたじゃないって。重箱のスミをつつくような知識は検索キーワードとかも思いつかないし。 オレの方がみんなよりよっぽどプログラムの細かい部分を気にしてるじゃないか。
他の人にも参考になるように掲示板で質問してるのにな。
>>277 >重箱のスミをつつくような知識は検索キーワードとかも思いつかないし。
お前が単にアホだからだ。
>プログラムの細かい部分を気にしてる
と、言うか知ってないとプログラムなんぞ組めない常識。
お前には教えないだけ。
280 :
デフォルトの名無しさん :02/08/18 13:43
>>277 自明すぎて頭痛いだけ
しかも試せば五秒
検索する必要は全くなし
282 :
マジレス :02/08/18 13:43
>>282 ありがとう。
実験結果はみんなとおなじで秘めておくつもり。
285 :
デフォルトの名無しさん :02/08/18 13:49
>>283 どうでもいいから、早く回線切って首釣りなさいってば。
お前には生きてる価値がないんだから。
>>283 >実験結果はみんなとおなじで秘めておくつもり。
なんだ、脅しかそれは?まぁそのほうがスレが汚れなくていいがな。
>>286 全員が知ってることわざわざ書かれてもなぁ・・・。
全員じゃないな。ただ一人わかってないのがいらっしゃる。
288 :
デフォルトの名無しさん :02/08/18 13:51
>>286 禿同、知ってることを書かれてもウザイ
>>287 知らないとしても自分で確認してみればいい訳だしね。
290 :
デフォルトの名無しさん :02/08/18 13:54
>>283 の欠陥人格は浅原ショウコウと同程度。
For i = 1 To 小一時間
Debug.Print "早く回線切って首吊れ"
DoEvents
Next
よって
>>177 はアホと。
合点していただけましたか?
うたがわしきは使うべからず。 疑問は晴れないがaを使ったらa:は使わないようにした方がよいみたい。 ただ変数名にaを使うのも好きだし、GoToのラベルにa:を使うのも好きだから可能なら両方使いたいと思ってさ。 こんなこだわり捨てないとね。
>>292 >ただ変数名にaを使うのも好きだし、GoToのラベルにa:を使うのも好きだから
…………。
仮にさぁ、177はガッコでVB弄ってるけど、自宅PCにはVBが入ってなくてってんなら、 「ガッコで実験しる!」ってレスも返るのにね。
myAryとかmyCounterよりは好き
>>292 >うたがわしきは使うべからず。
検証なくして進歩なし。
177は学習意欲を捨ててます。
>>296 何を今更。こいつは成長しないよ。ただ無駄に電気使ってる廃棄物。
298 :
デフォルトの名無しさん :02/08/18 14:00
こういうDQNが就職すると、大勢の人が迷惑するんだろうな。 自己中の塊のような奴だから、コードの保守性とか可読性なんか、一生 考えんだろーし。
VB厨ってこんなのばっかかよ?
>>296 その疑わしきを人にやらしてるからな。
で
>>177 はそれで叩かれてることをまだ気付いてない。
>>299 まさかVBユーザーは
>>177 みたいなやつばかりじゃないだろうけどね。
ここで回答してる人も少なくともVBを使えるわけだし。
>>300 バカは自分のことをバカだと気づけないからバカなのです。
>>301 VB使ってても、それだけではないからVB厨ではないと言い逃れ
177 GoTo 177
>>187 の「確かめるためにプログラムを組むのも体力のいる話なので。」
は失言です。思っても無いのになんでこんな文を書いてしまったのか・・・。
とにかく自分で調べるより聞くのが好きだということです。
いや、それがたたかれる原因なんですけど。ちゃんとわかってるし、失言してしまってたことに気づいたのでもう許してください。
ところで
ttp://wwww.aaa.com/folder/ のアドレスを開いたときに
index.htmlを開いたのか、
main.htmlを開いたのか、
default.htmlを開いたのか
を取得するにはVBでどんなオブジェクトやコントロールを使えばよいのでしょうか?
の「確かめるためにプログラムを組むのも体力のいる話なので。」
は失言です。思っても無いのになんでこんな文を書いてしまったのか・・・。
とにかく自分で調べるより聞くのが好きだということです。
いや、それがたたかれる原因なんですけど。ちゃんとわかってるし、失言してしまってたことに気づいたのでもう許してください。
ところで
ttp://wwww.aaa.com/folder/ のアドレスを開いたときに
index.htmlを開いたのか、
main.htmlを開いたのか、
default.htmlを開いたのか
を取得するにはVBでどんなオブジェクトやコントロールを使えばよいのでしょうか?
の「確かめるためにプログラムを組むのも体力のいる話なので。」
は失言です。思っても無いのになんでこんな文を書いてしまったのか・・・。
とにかく自分で調べるより聞くのが好きだということです。
いや、それがたたかれる原因なんですけど。ちゃんとわかってるし、失言してしまってたことに気づいたのでもう許してください。
ところで
ttp://wwww.aaa.com/folder/ のアドレスを開いたときに
index.htmlを開いたのか、
main.htmlを開いたのか、
default.htmlを開いたのか
を取得するにはVBでどんなオブジェクトやコントロールを使えばよいのでしょうか?
の「確かめるためにプログラムを組むのも体力のいる話なので。」
は失言です。思っても無いのになんでこんな文を書いてしまったのか・・・。
とにかく自分で調べるより聞くのが好きだということです。
いや、それがたたかれる原因なんですけど。ちゃんとわかってるし、失言してしまってたことに気づいたのでもう許してください。
ところで
ttp://wwww.aaa.com/folder/ のアドレスを開いたときに
index.htmlを開いたのか、
main.htmlを開いたのか、
default.htmlを開いたのか
を取得するにはVBでどんなオブジェクトやコントロールを使えばよいのでしょうか?
頭痛してきた。
↑荒らしはやめなさいって
頼む、もう勘弁してくれ。漏れが悪かった。
プログラマになんかなるんじゃなかった。 何が楽しくてこんなのと同類に見られなきゃならないんだ・・・。
なかなか上手いな
177お前年齢いくつだ?
すべてホントに教えて欲しいことですが本でもさがしてきます。
>>314 20代です。
>>315 いい年して、↓はないだろう
>とにかく自分で調べるより聞くのが好きだということです。
小学生並だぞ?
俺の下にいたら怒鳴り散らされること必至だ。
>>315 こんな20代がいるのか。いや特別な例だろうけど。10代として呆れた。
321 :
デフォルトの名無しさん :02/08/18 14:34
>>317 まさか人間とは思わなかった。
てっきり猿か犬か猫(以下、略)
今ここで終了と言ってもあまり終止感がないけどもう自分で調べるので私のカキコは終わりにします。
>>323 つぅか死んでくれ。ソフトウェア業界の癌だ。
PC初心者板の糞スレに
>>177 の小学生並みの発言が何故かコピペされてた。
何でPC初心者とこの板一緒に見てる奴が居るんだよ…。
VB使いとして情け無い。・゚・(ノД`)・゚・。
>>193 DoEvents使うのでもいいけど、Ctrl+Breakを押せば無限ループ中でも中断できる。
意図しない無限ループにはコレ使え。
>>329 Ctrl+Breakすら利かなくなることもしばしば(;´Д`)
331 :
デフォルトの名無しさん :02/08/18 22:54
おい、177よ。 お前は開発には向いてない、引退しろ。 お前に向いてることが、他にあるはずだ。 人間、引き際が肝心だぞ。
>>331 あなたも何時間前の人間に説教しているのか。
面白い(w
>>334 うわ、俺そんなにインターネットやってるのか・・・。
336 :
デフォルトの名無しさん :02/08/19 01:18
クリップボードの監視というのはどうやればよいのでしょうか? また、その監視している最中に フォルダやファイルをクリップボードにコピーした時 フルパスで一旦、変数に保存してまた任意の時にクリップボードにデータを返す、という クリップボード補助ツールもどきを作りたいと思っているのですが・・・ テキストや画像ならば検索するとよく出てくるのですが上記のやり方をしらべきれなかったので ここによらせて頂きました。よろしければご教授お願いします
>>337 さん
APIで捜せばいいのですか、どうも親切にありがとうございます。
ちょっと荒れていたので厨な質問で蹴られるかと心配しておりましたが
大変嬉しいです。捜してみるとします。わざわざご教授してくださってありがとうございました。
>>336 SetClipboardViewer
ChangeClipboardChain
を調べてみ。
ありがとうございます
341 :
デフォルトの名無しさん :02/08/19 01:47
VBってクリップボード関連自前で持ってたろ
すいません、途中送信してしまいました。 Set〜の方は自力でなんとか探しましたが後者は初めて見ました。 わざわざ、しるしてくださって助かります。ありがとうございました。
>>342 ソレしないとクリップボード破綻するから。
>>336 質問如きで揚げるなカスが
あーあこれだからVBなんてカスだね
>>341 とかの知ったか厨までいるしな(藁
>>344 質問こそageないでどうする?
初心者質問スレだぞ。
347 :
デフォルトの名無しさん :02/08/19 02:51
>>346 とはいえ質問の答えとしたら不適切だとは思ったけどな・・
まぁ>344は論外として
ホント。 今後あらゆる質問の答えは「VBなんか使うな」の方向で。
>>160 そのやり方で出来ました。
私の長年の疑問を解いてくれてありがとうございます。
これはきっと他のインストールできないプログラムでも
応用できそうですね。つうか、もしかして有名でしたか?
一応色々検索はかけてみたんですけどねえ。
>>161 いやいや、私と比べれば皆さん詳しいですよ。
くだ質スレは考えたんですけど、こちらのほうが詳しい人が居るかなぁって。
自分でも調べていたけど、それらしきものが出てこなかったから難しいのかなって。
Win板では数ヶ月前に似た質問をしましたが返ってこなかったか、
無理って結論だったような。
あと、VBスレならもしかしたらXPでも普通にインストールできる
>>84 のランタイムを持ってる人が居るかもって期待もあったんで。
いずれにしても、板違いの質問に答えてくれた二人の方に
ありがとうございました。
sage
>>201 Oracleは知らんが、EnterpriseMangagerというのを使っている。
皆様ありがとうございました
最終的に
>>349 さんで示してくださってページ他にたどり着きなんとかなりそうです。
親切に応えてくださって本当に嬉しいです。
お手数おかけしてすいませんでした。
353 :
デフォルトの名無しさん :02/08/19 13:02
C:\Document and Settings\Administrator\デスクトップ Labelコントロールに上のような長い半角スペースの入った文字列を入れると、 自動的に半角スペースの位置で改行されるのですが、これをさせない方法を ご教授いただけませんか。 文章がいきなり切れたようになって困っています。
354 :
デフォルトの名無しさん :02/08/19 13:14
VBの寿命ってあとどのくらいなのでしょうか。 いまさらVBの勉強をするのは無意味でしょうか。 C#かC++をやったほうがいいのでしょうか。 教えてください、よろしくお願いします。
>>355 何が無駄なのでしょうか。
VBが無駄?
C++,C#が無駄?
>>354 どうせやるならC#かVB.NETの勉強しる!
>>355 いやいや、無駄ということはないですな。
VBから他の言語に移植するとか、
「昔、こういう言語があったんだ」と語ったり。
あらゆる勉強に無駄なんてものは無いものです。
>>358 非常にコストパフォーマンスは悪いけどね。
ステップアップすべき言語もないわけで。
>>358 ,359
ってことは結論としてはVisualStdio.net で COBOLをやれってことですね。
>>359 うん、ですね。
つまり、「まったくの無駄ではないが、それほど得にもならない」ってところでいかが?
漏れはなぜか今、MASMを再勉強させられてるし。
↓コレじゃダメかい?
>>353 Label1.AutoSize = True
>>361 別の選択肢があり、その選択し群の方が明らかに効果が大きい。
その現実がある以上、やっぱりVBは存在が悪かと。
なんとかクリップボードを監視させるのは皆さんのお陰で実装できました ありがとうございます また質問で大変恐縮なのですが > また、その監視している最中に > フォルダやファイルをクリップボードにコピーした時 > フルパスで一旦、変数に保存してまた任意の時にクリップボードにデータを返す、という というのは出来ないのでしょうか? 例えば C:\Super_pi\readme.txtをctrl+Cでコピーする それを監視していて変数Clip_f(1)にフルパスで保存させClip_a(1)に場所情報?を保存させる C:\Documents and Settings\Administrator\デスクトップ\desktop.datを同じくctrl+cでコピーする また同じく変数Clip_f(2)にフルパスで保存させClip_a(2)に場所情報を保存する コンボボックス辺りで、履歴を保存させておいて フルパスをテキストボックスにでも出力させて、ボタンをクリックすると 場所情報?が、クリップボードに返されて任意の時に 過去のコピー、切り取りなどの情報をクリップボードに戻せて 貼り付けなどが出来る、ということをしたいのですが・・・ 当方の知識不足故、言葉で言い表し難く読みづらいかもしれませんが、再度助言をお願いいたします
こんなこと書くとみもふたもないが、できるやつは ひとつの言語をマスターすれば別の言語へも スムーズに移行できると思う。ただ、その元になる一つの 言語は、少なくともオブジェクト指向的であってほうがいいと思う。 VB6もクラスが使えるので、一応可。 この際、厳密な意味でのオブジェクト指向云々の話は抜きでね。 欲を言えばC++かC#のほうがいいのかな。敷居は高くなるけど。 VB使いでも、クラスってなに?とか言ってるヤシは、他の言語への 移行は厳しいと思う。 そんなこという俺は、C/C++ VB COBOL BASIC 使いなんだけどね。
>>365 >VB6もクラスが使えるので、一応可。
初めて鼻で笑った。
>>364 入力内容と一致する履歴を、クリップボードに保存したいってことか?
369 :
デフォルトの名無しさん :02/08/19 16:39
>>368 さん
というよりも
クリップボードの履歴を(テキストやファイルのコピーなども含めて)変数に格納して
またあとから参照できるようにしたいのです。
>>372 クリップボードは監視できるんだよね。
じゃあ、クリップボードの情報は取り出せるんだよね。
だったら、それを配列や構造体にでも保存すればイイんじゃないの。
>>368 さん
再度レスありがとうございます
ええ、それをやっているのですがファイルをコピーしたりしても反応してくれないので・・・
全く別なんでしょうかねぇ・・・・
>>375 自前で改行したい位置で改行させるとか。
>>375 いろいろ試してみたけど回避方法ないみたいだね。
どうしてもイヤなら自前でユーザーコントロールでも
作って描画するしかないのでは。
378 :
デフォルトの名無しさん :02/08/19 17:34
001.exeというファイルにはForm1とForm2があり、スタートアップでForm1が起動するとして、 また別の002.exeから001.exeのForm2を呼びたいのですが、こんなことは不可能ですか。 できるのであれば教えてくだされ。
>>351 どちらかというとクエリアナライザのような気がしないでもない
>>376 サン、
>>373 サン
ありがとうございます。
無理と分かっただけでもありがたいです。何か別の方法をとることにします。
381 :
ななしちゃん ◆xEQ8vQ62 :02/08/19 17:42
>>375 改行されないようにしたいのか?
それとも、指定位置で改行したいのか?
>>382 サン
前者です。テキストボックスみたく、幅を超えた文字はそのまま右側に隠れてほしいのですが。
>>384 TextBoxつかえ。
背景色変えたりEnableはFalseにしたりして
見た目上ラベル見たくすれ。
>>385 サン
うーん、それのが良さそうですねぇ。
EnabledをFalseにした時の文字色って変えられましたっけ?
あ、Lockedを設定すれば良いのか。 すみません、ありがとうございましたー。
>>387 フレームの中にラベルを入れりゃいいだろ
>>387 そういえば、俺も同じことで悩んだことがあったなあ。
結局その時は、TextBoxで代用したんだった。
昨年のことなんで、すっかり忘れてたよ。
>>374 一体どれができないんだ?
@クリップボードの監視ができない。
Aクリップボードの情報が取り出せない。
B配列および構造体に保存できない。
>>390 通知メッセージが届かないのでは?VBは。
>>390 さん
Aですね
TEXTなどの情報は取り出せるのですが・・・
宜しくお願いいたします
機種依存文字。
>>393 申し訳ございませんでした
ついつい忘れていました
"2”です
395 :
デフォルトの名無しさん :02/08/19 23:04
397 :
デフォルトの名無しさん :02/08/20 01:15
カ シ ワ モ ー チ ______ `=、;;;;;,,,,,,,:::,,,,,;;;;;,,,,`""''';;;;,, 、__ ,.-'゙''''',='";;;;;;;;",-,,;;;;;;゙;;;;;;;;;l;;;;`,、 / `ー-...,;;;;;;;;;;;;,-‐/;;;;;;';;;;;;;;;;;; ./ `''''''""i;;;;;;;;ヽ l ■ |,,,____/ |;;;; | |.:::::/ ■ ノ;;;; ヽ、 |:::/ _,/;;;'゛ `ヽ、_ |/ _,,.,;‐';;;;゛゛ "'''=ー;‐---‐‐'';';"-''"゛
398 :
デフォルトの名無しさん :02/08/20 15:49
おまいら。 VBでタスクマネージャーつくってみれ。
>>398 頼むから起動してるプロセスの列挙くらい自分でやってくれ。
>>393 どうせこのスレ住人はWinなんだから、@ABとかTUVくらいは構わないだろ。
頼むからVBで黙ってポインタ使えるようにしてくれ
>>393 どうせマカーなんてカスなんだから、@ABとかTUVくらいは構わないだろ。
というかよぅ。 NT系についてるタスクマネージャーがあるじゃん。 あれと同じようなのVBでつくれるかなーって練習のつもりで初心者ちゃんの 漏れはやってみたわけですよ。 プロセス列挙やらメモリの使用率とかは普通にできたんだけど、 CPUの使用率だけわけわかんなくて憂さ晴らしですよ。 もう漏れのヘタレっぷりに激しく鬱。
つーかWin9x系でCPUの使用率って取得できるのか教えてくれ。
>>406 Win9x系はレジストリ読めばできるみたいなんですよ。
その手のサンプルは結構あったんですよ。
んでもNT系ってレジストリに値があるわけじゃないようなんですよ。
なんか特殊なAPI使うらしいけど、参考資料が何もないからわからんです(;´Д`)
>>407 そうなのか。でもそれってプロセスごとじゃなかったりする?
友達のうちでなぜかマシン(Win Me)が異常に遅くなるからプロセスごとのCPU
使用率を調べたいんだが出来たりする?
そういうフリーソフト探したが見つからなくてヘルプ探したが見つからんかった。
逆に質問してスマソ
>>408 んー。
自分が探してたのがNT系だったんで、9x系の参考資料は思いっきり流し読み
してたんで断定はできないけど、プロセスごとの使用率の資料もあったと思う。
もし、方法を探してるうちにまた見つけたらカキコするYO!
>>409 漏れも必死に探して結局見つからなかったことが(;´д`)
SETI@homeとかUDとかの負荷を除いたCPU負荷が知りたかったのだけど…。
もしかして隠しAPIかなぁ。MSが公開してくれると嬉しいなぁ…。
>>410 NT系では隠しAPIでいけるらしいです。NTDLLとかいうやつ。
過去スレの4で、↓みたいな書込みをやっとハッケソ…Win9x系はわからないけど…
253 名前: デフォルトの名無しさん 投稿日: 01/12/12 00:37
2000・NT系でCPU使用率を得られるらしい
NtQuerySystemInformationの宣言とか引数、戻り値を教えてくだされ
海外サイトで
NtQuerySystemInformation (SYSTEMINFOCLASS sic,
PVOID pData,
DWORD dSize,
PDWORD pdSize);
というのを見つけて、自分で書いてみたのがこれ
Public Declare Function NtQuerySystemInformation Lib "ntdll" _
( , pData As Any, ByVal dSize As Long, ByVal pdSize As Long) As Long
↑ここに入るのは分からん
VB自体始めて日も浅いし、上のも間違ってるかも
ダレか教えて下さい
412 :
デフォルトの名無しさん :02/08/20 16:46
パフォーマンスオブジェクト使え
413 :
デフォルトの名無しさん :02/08/20 16:58
'rs1.Close rs1.Open "select str from replace where grp = 1001 and id = " & rs("goodsunit"), conn, 3, 1, 1 上のコードだと2行目で「オブジェクトが開いている場合は操作が許可されません」とエラーがでて rs1.Close rs1.Open "select str from replace where grp = 1001 and id = " & rs("goodsunit"), conn, 3, 1, 1 上のコードだと1行目で「オブジェクトが閉じている場合は操作が許可されません」とでました。 なんかおちょくられているようでとってもいい気分なんですが、 なぜでしょう。
414 :
デフォルトの名無しさん :02/08/20 17:29
つれなくなったな・・・・
>>413 3, 1, 1じゃなんのことかわからんから考える気もせんな。
>>412 ありがとうございますた。
このヒントでいけました!
PdhAddCounter hQuery, "\Processor(_Total)\% Processor Time", hCounter
こんな感じでPDH関連のAPI関数を利用して成功しますた。
ただ、このCPU計測自体が使用率を上げているという罠。
>>413 rs("goodsunit")と rs1 は別の物?
アーヴァインがデルファイだから見たくても見れないよー
420 :
デフォルトの名無しさん :02/08/21 13:32
同じユーザー定義型の変数2つを中身が同じか 比較したいんだけどユーザー定義型変数同士をIfで比較できますか? できなければ何かいい方法あるかな? メンバが100個とか大量のユーザー定義型だと メンバごとにIf文書いて比較って超大変ぽ・・・。
みなさん、こんにちは VB6.0を使ってます。 HTTPSでPOSTさせ、結果を取得するには どうしたら良いでしょうか?
>>421 SocketでHTTPクライアント実装する。
423 :
デフォルトの名無しさん :02/08/21 13:51
Excelのクエリウイザードみたいにドラッグで列を入れ替えられる コントロールってありますか? 無ければ、何か同じ動きが出来るコントロールは無いでしょうか。
>>422 >SocketでHTTPクライアント実装する。
レスありがとうございます。
具体的にどうすればよいのでしょう・・・
425 :
デフォルトの名無しさん :02/08/21 14:29
>>420 中身が全部数値型だったら、memcmpで
できそうな気がしなくもない
427 :
デフォルトの名無しさん :02/08/21 17:20
>>424 具体的ってちみはいったいどこまで知りたいわけ?
428 :
デフォルトの名無しさん :02/08/21 17:21
>>424 そういうのを一般に「丸投げ」と言います
良識ある大人はやらない行為です
429 :
デフォルトの名無しさん :02/08/21 17:47
>>428 うちの社長はよくやります。
そのくせ出来上がったものには文句つけまくりです。
しかも納期の直前に
>>429 その上納期直前に突然仕様追加とか変更とか?
431 :
デフォルトの名無しさん :02/08/21 18:27
>>430 そのとおりです。仕様の変更追加です。
うちの会社自分しかSEいなくて
プログラマーはだれもいない。
外部から2社プログラムに手伝いにきてる
うちの会社ベンチャーでしかも、
プログラムできるやつ俺しかいないから、
仕様の変更がどういうことになるかわかってない。
盆休み無かった上に土日も休み無い
タ ス ケ テ
丸投げするほうもするほうですが、丸受けするほうもイケナイと思います。
433 :
デフォルトの名無しさん :02/08/21 18:32
エラーの発生した関数名を取得する方法なんてありますか? やっぱり関数の先頭でグローバル変数に名前を書き込むとかしないとダメでしょうか。
434 :
デフォルトの名無しさん :02/08/21 18:44
>>433 一般的には出来ないってことになってるな。
個人的にはスタックのデータとかタイプライブラリの情報とか
デバッグ情報とか組み合わせれば出来るんじゃないかと思っているが
わからん。
436 :
デフォルトの名無しさん :02/08/21 21:26
皆さんこんにちは。
NetMeetingをフォームに埋め込みたいのですが、
何か方法がございますか?
Webページには、
<object ID="NetMeeting" CLASSID="CLSID:3E9BAF2D-7A79-11d2-9334-0000F875AE17">
のようにHTMLに埋め込んでうまくいったのですが、
VBでは、よくわかりません。
参考にしたのは、
http://www.fukumi.co.jp/tips/netmeet_ftw.htm です。
>>420 >メンバが100個とか大量のユーザー定義型だと
COBOL製システムからの移植とかか?
でなきゃ、それはひどいユーザ定義型ですね。
>メンバごとにIf文書いて比較って超大変ぽ・・・。
そのユーザ定義型にはどうやって値を設定するの?
それもたいがいだと思うが・・・。
* ファイルに書き出して、FCコマンドで比較するとか。
>>434 丸投げ→丸受け→丸戻し(納期までの残り減少、仕事量倍増)
されたぞ・・・・。
丸投げするDQN。
丸受けしといてろくでもない状態で丸戻しするDQN。
火消し約で入らされて漏れ。
ま、もう終わったプロジェクトだけど。
439 :
デフォルトの名無しさん :02/08/21 23:03
webBrowserに表示されている文字だけをとりだして textboxに表示させたいのですが どのようにすればよいのでしょうか どなたかお願いします
440 :
デフォルトの名無しさん :02/08/21 23:46
テキストのエンコード(?)をシフト JISにしたいのですが どうすればいいのでしょうか?バカですみません
442 :
デフォルトの名無しさん :02/08/21 23:55
>>441 そうなんですよ…この前数学で赤点取っちゃうし…助けてください
444 :
デフォルトの名無しさん :02/08/22 00:03
447 :
デフォルトの名無しさん :02/08/22 00:05
ではお手軽な方法のヒントを NKF32.dll 以上
>>440 ついでに指摘
×:テキストのエンコードを
〇:テキストのコードを
エンコードは符号化、複合はデコード
文字コードはASCIIとかJISとかUNICODEとかS-JISとか。
>>450 で、テキストのコードって何さ?
文字=テキストとか言ったらバカにする。
>>450 どうもありがとうございました。出来ました。
453 :
デフォルトの名無しさん :02/08/22 00:13
>>450 そうでした・・・ありがとうございます
DLL使わない方法はないんですか?
>>453 ほう、心意気やよし。
変換テーブルを自前でこしらえて変換しろ。以上。
>>454 揚げ足を取る≠間違いであろう点を指摘する
>>454 テキストだって、盛れってバカ丸出し。
キャラクタじゃねーかよ、氏ね->漏れ
459 :
デフォルトの名無しさん :02/08/22 00:17
DLLの使い方が分からないなんて言ったら怒ります?
443を殺したお前は177か?
>>459 なんで生きてるんだろう・・・こいつ。程度。
464 :
デフォルトの名無しさん :02/08/22 00:24
本当にすみません、始めたばかりなもので… 177ではありません。DLLの使い方勉強してきます
465 :
デフォルトの名無しさん :02/08/22 00:24
466 :
デフォルトの名無しさん :02/08/22 00:28
>>463 そこを見ようとしたんですが「ページが表示されません」ってでるのですが
リンクが切れてるのですか?
httpからバイナリファイルをDLする際、HEADでヘッダのサイズを調べて、 GETでヘッダごとファイルに落とし、その後ファイルからヘッダ部分を抜き取る… という手法でバイナリファイルをDLしているのですが、変ですか? 本などをまったく見ずに自分で考えた手法なので、漠然とした不安があります。 もっと効率のいいDLの仕方があったら教えてください。
>>470 GETだけでいいじゃん。ヘッダ付いてくるし。
>>470 そのためのcontent-lengthだと。
一回目の\r\n\r\nで切るってのはダメなのか?
474 :
デフォルトの名無しさん :02/08/22 10:17
Printerオブジェクトと、印刷ダイアログボックスで返ってくる、 hDCの連携についてだけど、 リッチテキストボックスの印刷とかでは、 RichTextBox1.SelPrint CommonDialog1.hDC ってやって、プリンター選択してるみたいなんだけど Printerオブジェクトには、「.SelPrint」ってメソッド無いでしょ どやって、Printer選択すればいい?
>>474 いくらフランクな掲示板でも、最低限人に物を聞く態度ってあると思うよ。
>>471-473 レスありがとうございます。
GETだけでやる場合は
GetData buff,vbarray+vbbyte,totalbytes
put #*,,buff
みたいな感じでしょうか?
ヘッダとバイトがくっついてる場合はどうすればいいんでしょう?
それとも両方とも落としてから区切るわけですか?
>>476 >ヘッダとバイトがくっついてる場合
ッテナンデスカ?
>>477 あれ、もしかして恥ずかしい発言をしてしまいましたか?
GetData str,,totalbytes
text1 = text1 & str & "あいうえお"
って感じでやってみたら
HTTP/1.1 200 OK
(略)
Content-Type: application/octet-stream + 改行×2
]蓋E;あいうえお
ってテキストに表示されたんですが、最後の文字化けの部分は多分バイトだと思ったので
"ヘッダとバイトがくっついてる場合 "って表現しました
ヘッダとバイナリ が正しい表現という意味では
>>479 に、してもそんな現象あるわけ?
\r\n\r\n後は本文っしょ。
一番最初の cr lf cr lf を受け取る前はstring型に収納して、 受け取ったあとはbyte配列に収納、という方法でやってみましたが、 その配列で書き出したファイルは正常に動きませんでした。 通常はそんな現象はおこらないのですか? 一般的におこらないとされているのならば、もう一度コードとにらめっこしてきます。
僕があほでした つきあってくれたみなさん申し訳ありません。
>>483 取りあえず。
ケアレスミスでした、僕がアホでした。
か
こんなところで聞いた、僕がアホでした。
どっちかはっきりさせてちょうだいな。
486 :
デフォルトの名無しさん :02/08/22 13:23
非常に初歩的な、あれだが、 ReDimやると、中身消えちゃう?
487 :
デフォルトの名無しさん :02/08/22 13:24
>>ばか RFC読め。
Preserveでした。 「てへぇ!」
489 :
デフォルトの名無しさん :02/08/22 13:35
おかげさまで解決しました、ありがとうございました!
491 :
デフォルトの名無しさん :02/08/22 15:44
一つ、教えていただきたい。 あるテキストボックスに数字を入れてその比較を行いたいんです。 で、例えばtxtAと言うテキストボックスとtxtBと言うテキストボックスに 数字を入れて、どちらが大きいか比較したいんだけど、その場合単純に If txtA>txtB Then って入れても何故だか最初の一文字しか判定してくれないんだよね。 例を挙げると555と4444と言う数字を入れると前者の方が大きく判定されてしまう。 これって上手く判定させるにはどうしたら良いの? 誰か教えてください。
>>491 アホ
if Val(txtA)>Val(txtB) Then
うぉ、そうやれば良かったのか。
>>493 感謝っす。
495 :
デフォルトの名無しさん :02/08/22 16:07
Do While i=5 〜 Loop というのはi=5になるまでループ内のプログラムを実行するんでしたっけ?
499 :
デフォルトの名無しさん :02/08/22 16:51
ちょいと教えて欲しいのだが、テキストボックス二つ作って、 その中に日付(YYYY/MM/DD)をいれて、どちらがより古い日付かを判定したいんだけど、 どうしたら良いのか分からんのです。 誰かわかる人いたら教えてください。
>>499 やり方はいろいろあるけど
YYYYMMDDって言う整数を生成するとか。
ださい。
>499 CDateを調べてみなされ
Formatなんかも見よ
>>502 申し訳ない、まだVB初めて3日の初心者なのであまり良く分からないのです。
教えて君で非常に申し訳ないのだが、CDateって何ですか?
>>496 だからやってみれと、何度書かれたことか。
ちっとも反省しないんだな。
>>504 ここはおまえのサポートセンターか?
キーワード与えられてヘルプも読まないような
クズは二度とくるな ヴォケが
>>504 キミに言いたいことが3つある。
・初心者は免罪符にならない。おまえが何日前に始めたかなんて知ったこっちゃない
・教えて君で申し訳ない・・・とあらかじめ言えば許されるってものではない
・回線切って首吊って死ね
水でもかぶって反省しなさい
___ ,∠==、ヽ `i'ー- . / ヽ| 「`'ー、`ー、 l ミ| / `ー、ヽ ・・・・ゴメンナサイ j R|イ ー-、. ノ7┐ `Vハハハ/ヽ.「~ ̄ `''ァf‐┘ . `、 }ー-`、__..._/::l `|:::::::|ヽ/l:;:;:;|
>>511 謝ってすむなら警察いらねーんだよ。
警察呼べよゴラァ
513 :
デフォルトの名無しさん :02/08/22 17:50
どなたか教えてください。 Dim Tmp(1) As Byte Dim IntVal As Integer こう定義されているとき バイナリでIntegerの値が Tmp(0)に上位バイトTmp(1)に下位バイトが格納されています、 その値をIntValに入れるにはどうしたらよいのでしょうか? IntVal = Tmp(0) * 256 + Tmp(1)だとうまくいかないです。 たとえば Tmp(0) = &HFF, Tmp(1) = &HFEだったら IntValには-2が入ってほしいのですが。
>>513 memcpyするか、そこまで分かっているなら自前で
マイナスかどうかの処理を分けたらどうでしょう
>>514 Cなら楽勝なんですが。
VBの使い勝手がよくわからない。
VBに共用体があればなぁ。
美しい方法が思い浮かばない。
もうちょっと考えてみます。
>>516 だってVBじゃないじゃん。このスレではVBで回答を示さなくては・・・
520 :
デフォルトの名無しさん :02/08/22 19:37
formを開くと windows media playerを使って a.aviという名の動画ファイルを見られるようにしたいのですが どのようにすればいいですか。
>>520 a.avi引数にして起動させればいいじゃん。
ヘルプなり軽く読んでね。
522 :
デフォルトの名無しさん :02/08/22 19:48
プログラムにはどうかくの?
ヘルプなり軽く読んでね。
524 :
デフォルトの名無しさん :02/08/22 19:52
Private Sub Form_Load() test="a.avi" MediaPlayer1.〇〇〇 End Sub 見たいに書くんですよね。
526 :
デフォルトの名無しさん :02/08/22 19:54
ヘルプのどこを読むの? キーワードでも教えて下さい。
527 :
デフォルトの名無しさん :02/08/22 20:10
Hide で隠していたフォームを SetWindowPos を使いあるタイミングで最前面にするのですが その際実行ファイルだと今までアクティブだったウィンドウからフォーカスを奪ってしまいます 常に最前面になって且つフォーカスを奪わない方法を教えてください
529 :
デフォルトの名無しさん :02/08/22 20:44
VBとAccessとExcelと複数関連した話なんですが、 Accessのデータを集計してExcelの棒グラフに表示させるプログラムを作りたいのです。 (VBラーニングエディションなのでチャートコントロールが使えません) このようなことはExcelVBAで可能なのでしょうか? VBAのどの本を読んでもAccessのSQLクエリをExcelと連動させて グラフ表示という話はありません。
>>529 VBA使わんでもCOMで操作すればいいのでは?
>>530 VBA使わんでCOMで操作するってどーいういみですかー。
>>530 MSDNでCOMを検索してみたけど関連がありそうなトピックはありません。
CreateObjectとかNewでExcelグラフを指定(作成)する、とか
そんなかんじですか?
>>513 IntVal = CInt(Val("&H" & Hex(CLng(Tmp(0)) * 256 + Tmp(1))))
はどうよ?
>>533 すいません、はじめてCOMという言葉を聞いたもので
さっぱりわからないのです。
Dim xlApp As Object ' オブジェクトへの参照を格納する変数を宣言します。 Set xlApp = CreateObject("excel.application") ' アプリケーションを表示する場合は、 ' Visible プロパティに真 (True) を設定します。 xlApp.Visible = True ' Microsoft Excel の他のオブジェクトを操作する場合も、 ' オブジェクト変数 xlApp を使います。 xlApp.Quit ' 処理終了後、Quit メソッドでアプリケーションを終了し、 Set xlApp = Nothing ' オブジェクトの参照を解放します。
>>534 感謝!! うまく動いてるみたいだ。
If文使って-判定して2の補数とってたりしたけど。
こっちの方がいいので使わせてもらうよん。
538 :
デフォルトの名無しさん :02/08/23 09:44
まぁまぁマターリ逝こうぜって言うかココはいつもなんでこんなに荒れるんだチンカスども。
>>540 スレタイに「VB厨」とかいてあるでしょ
542 :
デフォルトの名無しさん :02/08/23 12:38
ぶっちゃけるけど、 お前らが思っている以上に ヘルプとGoogleは 有用。
正解
良識ある人はあきれ果てて近寄らなくなる罠・・・。
>>545 質問者にプログラミングの知識はもちろん人間としての常識すらない場合が多いですし。
誰もいなくて然り。
547 :
デフォルトの名無しさん :02/08/23 13:45
ヘルプとググルで調べてみても分からなかったから聞きます。 VBにおけるLowValueとHighValueってなんですか? Cだったらnullとかって思いつくんだけど・・・。
>>547 本人がわかってない為、有効な検索ができない典型例
550 :
デフォルトの名無しさん :02/08/23 14:28
誰かわかりませんか? LowValueとHighValueも使われませんか?
>>550 とりあえずCOBOL専用用語を使っても知っている人は少ないだろう。
あとCだったらnullってのも間違いだ。
プログラマーの適性がないヤシって、全角半角が 入り混じっていたり、やたらtypoが多かったりするのは 気のせいか?
>>552 前いた職場で、「機種依存文字やめれ!」って注意書きを社内掲示板に3回ぐらい
(一覧表の画像ファイルまでつけて)アップしたが、理解できなかった奴が複数人
いた。
正直、こいつらに何言ってもムダだと思った。
>>554 ごめん、お前みたいな奴が居たら正直引く。
>>555 無論、「やめれ!」という言葉遣いではないよ。
WEBコンテンツに転載する可能性のある文書や、E-mailでは
当然の配慮だと思うけれど?(おかしい??)
>>556 おかしくない、いるよ、そう言う奴
ドコモの絵文字をAU機に送ったり(ちょっと違う)
要するに
>>555 はプログラマの適性ないってことで。
>>554 正直に白状すると、文字化けが気になったのではなく、社外、特に同業他社から
機種依存文字すら知らないDQN会社と見られるのが怖かった。
(ひとことで言うと、「世間体」)
実際、販社向けの同報メールでも機種依存文字入りで流してる
奴がいたし。
ソースコメントの箇条書きに 丸付き数字を書いてよこしてきた外注には引いた。
>>560 非常識なものでも、日常的に見慣れると、感覚がマヒして何とも感じなくなる罠。
(100個のグローバル変数とか、2000行超のスパゲティ関数とかでも、同様・・・)
Web,Mailで機種依存文字バリバリは引くけど、 Windows用ソフトをWindowsで作ってるのに 丸数字ごときでガタガタ言う奴もちょっとウルサイと思うけどね。 当然自分じゃ使わないけどさ。 あとこのスレで使うのもそんなにガタガタ言うことじゃないと思うが。
>>562 ちょっと同意。
>>560 とか、このスレに書いてるって事はVBのソースだろ?
VBのソースなんてWindows環境でしか見ないだろうから、別にいいと思うが。
メールとかどんな環境で見るかわからないものには使わないってのは当たり前だけど。
565 :
デフォルトの名無しさん :02/08/23 20:34
RFCばか出番だぞ。
566 :
デフォルトの名無しさん :02/08/23 20:42
>>560 漏れは、VBに限らんけど、コメントを分りやすくするのに、
全角つか、日本語使いまくっとる。
英語だけのコメントっつーより、英単語並べただけのコメントって分りずらい。
例
'Data Number
データの個数?、データの番号?どっちだ!
>>566 コメントは日本語使うだろう。そら。何を訳のわからんことを。
>>562-564 ハゲ同だけど、まぁ
>>560 みたいな奴に馬鹿あつかいされるのは面倒だから、
何にせよ機種依存文字は使わない方がいい事は確かかもしれないなw
機種依存ぐらいどうってことない
ら抜き言葉を使うと怒ったり、 「確信犯」「役不足」を間違った用法で使うと「あ、それ意味違うんだぜ?」 と、いきなりしゃしゃり出てきて得意げに話し始める奴とか、 そういう奴と同じウザさを感じる>機種依存文字過剰嫌悪野郎
572 :
デフォルトの名無しさん :02/08/23 23:37
>547 lbound ubound? ぜんぜん違う? Cしらんからよくわからんが、、、
>>572 全然違う。COBOL用語だって。たぶんな。もしかしたらなんかのプロパティや定数かもしれんが。
>573 ほんとだ、、、 ビックリするくらい全然違ったよ
a(general int)とa:は同時に使えた
int a; goto a; a:;
VBのアプリを開発しています。 複数の事業所で使いたいのですが 日本全国に散らばっています。 バージョンアップなどのときに 自動でバージョンアップしたいのですが どのような方法がありますか?
インターネット使うしかないだろ。
あー、「使うしかない」わけじゃないよね。 そりゃ当然他にも方法はあるだろうが。 (極論を言えば長距離データ転送できる独自ケーブルと通信規格を作って転送とかね) インターネットが一番現実的じゃなかろうか。という意味で。 一応突っ込まれる前に訂正・・・。
>>579 本社に数枚コピーおいておいて分社に取りに来させる。
582 :
デフォルトの名無しさん :02/08/24 15:23
583 :
デフォルトの名無しさん :02/08/24 15:25
584 :
デフォルトの名無しさん :02/08/24 15:26
>>552 お前が適正をかたってんじゃねぇよ
ぼけ
585 :
デフォルトの名無しさん :02/08/24 15:30
お前ら一生機種依存文字の注意だけして退社してください ぼけ
586 :
デフォルトの名無しさん :02/08/24 15:31
ドイツもこいつも厨ばかりだな ぼけ
>>577 はインターネットを使うということを前提に質問したのに見当ハズレな回答が帰ってきたので
ここぞとばかりに遅レスかまして荒らしになりますた
だったらWebサーバーにVerUP用のデータとバージョン情報を置いて、 ソフト本体にhttpクライアント実装してverチェックして古かったら DLして更新するだけじゃん。
ム板にもID欲しいねぇ…。 それはともかく、サーバに更新ファイル置いて、クライアントは 起動時に(裏タスクかなにかで)更新チェックかけて、 更新あったらダウンロードして再起動促す(か次回起動時に差し替え) ってやりゃええんでない? 経路はインターネットでも、独自の何かでもやり方は同じようなもんでしょ。 正直、VBかどうかは関係ない話であるけど…。
hontai.exe(仮名)とverup.exe(仮名)を作って、 ソフトはverup.exeから起動するようにする。 verup.exeを起動するとWebサーバーに問い合わせてバージョンチェック。 最新バージョンだったらhontai.exeを起動して自らは終了。 古かったらhontai.exeをDLしてローカルのファイルに上書き、のちにhonrai.exeを起動して自らは終了。 これで良し。 てゆーか自動更新できるソフトは全部こんな感じの仕組みだろ。
カブタ
>>591 すごいっ!!
目からうろこです。
ありがとうございました。
バージョンアップアプリを先に起動する発想がまったくできませんでした。
感動の嵐です。
ちなみに荒らしたりしてません。
ちなみにランタイムライブラリはどのように配布したほうがいいでしょうか? やっぱり本体exeとは分けたほうがよいでしょうか?
別にオンラインソフト作ろうとしてるわけじゃないんだろ? だったらインストーラー作るのが当たり前だと思うが・・・。
597 :
デフォルトの名無しさん :02/08/24 17:52
598 :
デフォルトの名無しさん :02/08/24 18:29
>>588 ||
Λ||Λ
( / ⌒ヽ
| | |
∪ 亅|
| | |
∪∪
:
:
‐ニ三ニ‐
>>595 どうせ一回こっきりの配布でいいんだから、インストーラなんぞ要らないのでは?
>>499 DateDiff関数使うとかとかとか渡嘉敷。
601 :
デフォルトの名無しさん :02/08/24 21:22
ADOをつかって、レコードセットのオープンに失敗したとき、 再取得する際にはみなさんどうしていますか? レコードセットオブジェクトを破棄してから、再度取得しますか? それともコネクションオブジェクトを破棄してから再度取得しますか? それともオブジェクトは破棄しないで、ただ単純にオープンを繰り返しますか?
こんばんは!はじめまして!
603 :
デフォルトの名無しさん :02/08/24 22:05
下のコードで、「エラーが発生していないときに、resumeを実行できません」といわれました。 ヘルプを見ても解決できませんでした。解決方法わかるかた、教えてもらえないでしょうか。 状況説明 error 1 でエラーが発生、 エラールーチン err1: に入る。 resumeで問題のエラーが発生 Public Sub ShopGoodsMonitor() 処理省略 On Error GoTo err1 For J = 0 To GoodsCount - 1 Rs.Open "select * from shop_goods_monitor where shop_goods_ID = " & gSGID(J), Cn, 3, 1, 1 If a = 0 Then a = 1 Error 1 <−−−−−−−−−−−−−ここ End If Rs1.AddNew For I = 0 To 3 Rs1(I) = Rs(I) Next Rs1.MoveNext Rs.Close Next Rs1.Close Exit Sub err1: <−−−−−−−−−−−−−−−−−ここ Cn.Close Sleep 10000 Cn.Open OpenStr Rserr.Open "C_err", Cn_LocalDB, 3, 3, 2 Rserr.AddNew Rserr("err_time") = Now Rserr("name") = m_Name & 111 Rserr.Update Rserr.Close Form1.Print "err111" DoEvents Resume <----------------------ここ err2: 処理省略 End Sub
検索ソフトをつくろうとおもうのですが、検索文字列が完璧に一致しなくても ある程度一致していればOKなものはどうしたらいいのですか? IF文ではできないのでしょうか?教えてください。
例えば小文字、大文字やスペースの有無などを関係無しにしたいのですが・・・
>>606 すべて大文字か小文字に変換して評価すればよし。
スペースの有無で単語の意味は変わってしまうと思うが・・・。
あと検索語の文字が含まれているものを検索したいときはどう したら良いのですか? 例 検索語:win 検索結果;windows winmx windows98 windowsxp 等
>>608 indexof位あるだろう。いくらクソ言語でも。
VBって難しい・・・。
616 :
デフォルトの名無しさん :02/08/25 00:30
エラールーチンの処理の流れがつかみにくいので正しいのか正しくないのか 教えてください。 実際にステップで動かしてみてそうなっていたのですが、 プロシジャー内でエラーがおこると そのプロシジャー内のエラールーチンに飛びます。 そのエラールーチン内でエラーが起きると そのプロシジャーを呼び出したプロシジャーの中の エラールーチンに飛びます。 sub B on error goto err1 call A err1: エラールーチン end sub sub A on error goto err1 err: エラールーチン end sub ヘルプにはこのことは書いていなかったのですが、 自分が理解しているので正しいのでしょうか?
>>616 要はプロシージャの始めから終わりまでがtryブロックで囲まれてる状態?
>>616 On Error ステートメントのヘルプにちゃんと載ってますよ。
>>617 ちっと関係ないんだけど、俺の行ったことある現場って、ほぼ大体が、その状態を強制するコーディング規約があったんだけど、他の言語の人から見て、やっぱ気持ち悪いもん?
>>620 ちゃんとcatch以下で起こりえるエラーを処理するかstacktraceするなら全然OK。
catch内で何もしない(要は例外隠し)とかならそんな会社のソフトは使いたくない。
>>621 >catch内で何もしない
あ、ソレはないよ。共通エラー吐きプロシージャ呼んで、DB閉じてログ吐いて落とすとかそう言うのだから。
どうも。
623 :
デフォルトの名無しさん :02/08/25 01:04
WindowStateで最大化させたフォームに画像を貼り付けたのですが、 最大化すると画面の解像度によってフォームのサイズが変わってしまうので、 ストレッチさせて貼り付けようと思ってAPIのStretchBlt()や イメージコントロールなどを試しましたが、上手くできませんでした。 どうすればいいのでしょうか?
624 :
デフォルトの名無しさん :02/08/25 01:08
>>601 自己レスです。
レコードセットのオープンの際に使用した、コネクションオブジェクトを、
破棄しないと再接続できないようです。
625 :
デフォルトの名無しさん :02/08/25 01:09
>>616 sub B
on error goto err1
call A
err1:
エラールーチン
end sub
sub A
on error goto err1
err1: <-------------------修正
エラールーチン
end sub
626 :
デフォルトの名無しさん :02/08/25 01:15
>>617 VBでtryブロックってつかえるのでしょうか?
ヘルプではVCとVJ?しかなかったけど・・・
>>616 子関数はエラールーチンがある親関数の所まで飛ぶ。
子関数に、エラールーチンをかかないで、親関数だけにエラールーチン書いておくと
まとめてエラー処理が出来る。
628 :
デフォルトの名無しさん :02/08/25 01:20
>>618 うーん?
On Error ステートメントのヘルプは
何度か見てるんですが、そういう記述ありますかね?
>>627 あそれでか!
子関数エラーは子関数内にon errorが無いと、on errorがある親関数のエラールーチンに飛ぶのは知っていましたが、
子関数のエラールーチンでエラーが起きると親関数のエラールーチンヘ飛ぶんですね。
大変納得しますた。
screen.mousepointerでアイコンを変更しても リストビュー詳細表示のColumnHeader上ではノーマルなアイコンに戻ってしまいます。 なんとかColumnHeaders上でも指定したアイコン表示させる方法はありませんか?
ははーん、おまいらアレだな〜 え
おれたちえんどうまめ
彼のファンは多い
Script をルートとするクラス階層の資料ってどこにあります?MSDN 及び、MS から DL できる VB Script の CHM には載って無いみたいなんですけど…。
ごめんなさい、もう一個。 何も参照設定しないで、 Set owsh = CreateObject("WScript.Shell") Set ExcelSheet = CreateObject("Excel.Sheet") とは出来るけど、 Set ws = CreateObject("DAO.Workspace") ってのは出来ないですよね?なんで?
638 :
デフォルトの名無しさん :02/08/25 13:17
>>637 どうも。
えーと、だとすると、
参照設定すれば出来る、
Dim wa As DAO.Workspace
と同じ感じの、
Dim eSheet As Excel.Sheet
が何で出来ないんでしょうか?
>>638 あ、それっす。どうもどうもどうも。助かりました。m(__)m
そっか、
>>1 にmsdn必読と書いてあるけど、web の方も見なきゃダメか。そっか。
643 :
( ´,_ゝ`) プッ :02/08/25 13:44
∧∧∧∧∧∧∧∧∧ < > < 釣れねぇぞ。ゴルァ > < > ∨∨∨∨|/∨∨∨∨ へ | | \ | \ ┌ ∧、 | ヽ ̄(゚Д゚,,) | ℃ _'ヌ ,ヨ | と|_ノ‖ | ___(_(⌒'人__ | く  ̄ ̄ | > ヾ ザッパーン | ( ヾソ ∵,,| ∵ヽ | ∴ミζ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>>638 えーと、持ってた CHM が古いせいもあったみたいです、5.5 の CHM は持ってたんですが、最新の 5.6 の CHM を落としたら、同等の物がありました。
お手数掛けました。
つか、以前落としたのは、jsdoc.exe,vbsdoc.exe,wscdoc.exe と三つのアーカイブのそれぞれの CHM に分かれていたんですが、今のは全部一緒みたいですね。
646 :
デフォルトの名無しさん :02/08/25 14:16
何でだろう?
647 :
ひみつの検疫さん :2024/11/22(金) 13:06:33 ID:MarkedRes
汚染を除去しました。
んー、もしかして常識だったのかなと言う気がふつふつと。
すいません、ネットワークに関する質問なんですが、 VBで、特定のアプリケーションのパケットの行き来を監視する方法はありますか? C使えばwinsockのクローンを作ってほにゃららにすればなんとかなりそうですが、 作ろうとしてるアプリは結構単純な物なので、 VBでちゃっちゃと済ませたいのです・・・
ちょっとwsh補足。 Dim sh As WshShell ' Dim sh As IWshRuntimeLibrary.WshShell これでも同じ Set sh = CreateObject("Wscript.Shell") 'だいじょぶ sh.Exec ("notepa~.exe") Set sh = Nothing Set sh = New IWshRuntimeLibrary.WshShell '行ける sh.Exec ("calc.exe") Set sh = Nothing ' Set sh = New Wscript.Shell 'ユーザー定義型は定義されていません ' Set sh = CreateObject("IWshRuntimeLibrary.WshShell") '無理 ' Set sh = CreateObject("IWshRuntimeLibrary.IWshShell3") 'これも無理 ' Set sh = CreateObject("IWshShell3") 'これも無理 因みに、実体の型はいずれも IWshShell3 でした(ウチの環境では)。 気持ち悪い。
CreateObjectはFactoryパターン。
>>651 >CreateObjectはFactoryパターン。
もしかしてデザインパターンですか?
余りよく知らないんですが…。
プロダクト(WshShell)を継承なりしてればコンクリートプロダクト(この時 IWshShell3) は違っても全然おかしくないと。
んで CreateObject の中の WshShell を受け付けるコンクリートファクトリーが適当な実体を返してるんだぞと。気持ち悪く無しと。
そう言うことなんでしょうか。
>>649 Winsock2.2を使えばCでちゃちゃっとできるが
VBでもAPIさえ定義すればちゃちゃっとできると思う。
すみませんが、VB.NETでINIファイルの入出力をするための方法を 教えていただけませんでしょうか?? よろしくお願いいたします。
>>654 すれ違いだが、.NETにINIファイルを扱う方法は特に用意されていない。
APIを使うのだよ。
>655 ありがとうございます。こちらで聞いてみます。 >656 APIを使ってるのですが、VBと.NETでは 用意されている型が違うくてVB6.0で使ってたような コーディングはできないのです<私の力不足なのでしょうが
658 :
デフォルトの名無しさん :02/08/26 00:53
少数1.2をバイト型変数へ格納したい。 Dim BytTmp(1) as Byte BytTmp(0) = BytTmp(1) = と、1.2を2バイトにして入れたいのだけど、少数を2バイトにするにはどうすればいいの? (*´д`*)アハァ…
ここって直ぐに答えてくれるの?
660 :
デフォルトの名無しさん :02/08/26 15:10
あるプログラムパスからそのプログラムのプロセスが存在するか 確認するには、一度起動しているプロセスの列挙を行わないと できないでしょうか?
661 :
デフォルトの名無しさん :02/08/26 15:13
>>658 少数って何だ? 小数のことか?
単精度実数なら、4バイトで格納される。
値の取りうる範囲を限定できるなら、自己流の格納形式にすればいい。
起動時に 引数を 渡さなかったら、Formを表示しないで終了させたいんですけど、 どうしたらいいんでしょうか?
663 :
デフォルトの名無しさん :02/08/26 15:25
msFlexGridをまったく選択していない状態に する方法はありますか? ListBoxで言う所の List1.ListIndex = 0 みたいな感じにしたいのです。
うぐぅ 仕事くれ
>>664 すみませんが、Sub Main()を使わないでやるらしいんですけど、
他に方法ないでしょうか?
667 :
デフォルトの名無しさん :02/08/26 15:44
Form_Load() Dim strBuffer As String strBuffer = Command() If Len(strBuffer) = 0 Then Unload Me End If
つまるところForm_Loadが一番最初に起こるイベントなのか
669 :
デフォルトの名無しさん :02/08/26 16:32
>>668 新規プロジェクト作ってF8すれば、確認できるよ。
というか、660を・・・誰か教えてください・・・。
しこしこ列挙アプローチでコードつくり始めてます・・
でも9x版がちょっと不安・・
>668 Initializeダヨ!!
671 :
デフォルトの名無しさん :02/08/26 16:41
改行コードがLF(Chr(10))のファイルを一行ずつ読み込みたいです。 普通にOpen→Line Inputで読むと改行を認識されないようなのです。 良い方法はないでしょうか?
673 :
デフォルトの名無しさん :02/08/26 16:50
>>672 やっぱりそうですか・・・
サンクスです。
>>669 試したところGeneralの宣言セクションが実行され、そういえばそうだったな、と思い出したり。オレがバカというより人間とはそういうもの・・・かな。(そういうもの=わすれっぽい、ミスをする、かんちがいする、etc.)
>>670 某アニメのことかと思いきや、Formなどのインスタンスを作成したときに起こるイベントだと検索して初めて知った。
メモリにフォームが読み込まれる時に起こるんだなと勝手に解釈中。
>>668 プロジェクトのプロパティで指定したスタートアップが 一番最初。
つーか Sub Main() とか 言われた時点で わかんないとダメだねぇ。
おれも 知らんかったけど、Sub Main()で 検索して 知った。
すみません。教えて頂きたいのですが 例えば Text1.SetFocus というのがあるとしたらこのSetFocusというのは どういう意味というか働きをするのかわからないので教えてください。同じように ADODB.Recordsetというものがあった場合ADODB&.Recordsetの意味と Text1.Enabled = Falseというものがあった場合Enableは何を意味しているのか 神様お願い致します
Text1.SetFocusは、 Text1っていうオブジェクトのSetFocusっていうメソッドを実行しなさいという意味 SetFocusはそのコントロールにフォーカスを移動する働きをする。 ×ADODB&.Recordset ○ADODB.Recordset かな? ADODB.Recordsetは、 ADODBオブジェクト'の'Recordsetっていうオブジェクトという意味 Text1.Enabled = False は、 Text1っていうオブジェクトのEnabledっていうプロパティに Falseを代入するっていう意味
ADODB&.Recordset これあってるんだね。ゴメソ
(*´д`*) アハァ このAAカワイイですね。
>>680 さっそくのレスありがとうございます。
>SetFocusはそのコントロールにフォーカスを移動する働きをする。
実際説明してもらってもまだピンとこない部分もあるんですよね・・・。
フォーカスっていうものがいまいち自分の頭の中でイメージがわいてこないんですよ。
あと、移動させるっていうのはMoveとういものを使うのだと思っていました・・・
Moveはコントロールの位置を変えるんです。 フォーカスというのは現在のキーボードからの入力を受け付ける 対象となるものと考えてください。
>>684 ありがとうございます!ようやく理解できました(フォーカスに関しては・・・)
つまりプログラム実行時にデータベースに何かデータを登録しようとして
TextBoxが3つあったとしたらどれか1つ空白があって登録Missがあった場合
そこのTextBoxにフォーカスをあわせるというプログラマの気の利いたコーディングなんですね
ん。何か日本語おかしいけどありがとうございました
>>660 二重起動防止?
Appオブジェクトでなんとかできなかったっけ?
手元に環境もMSDNもないので詳しくわからんスマソ。
少なくとも全プロセス列挙とかをした記憶はない。
687 :
デフォルトの名無しさん :02/08/26 20:17
下のようなことをしたいのですが、特別な関数とか実現方法を教えてください。 周りはCOBOLERばっかでわからないを連発されています。 既存のVBの中にソースを埋め込んで、ボタンを押したら新規のVBを走らせる。 そのとき、既存のもっている変数を新規のaccess内に格納する。 新規側の処理を行っている間は既存側は待機する。 新規側の処理が確定したら、既存側の処理も確定してよいが、 新規側でエラーが発生したら、既存側の処理も確定しないで、いわゆる ロールバックを行う。 ざっとこんな仕様なのですが、参考になることを知っている方 お願い致します。
>>687 >既存のVBの中にソースを埋め込んで、ボタンを押したら新規のVBを走らせる。
この時点でそんなことほざいたSEをどついておくべきかと。
689 :
デフォルトの名無しさん :02/08/26 21:07
>>687 そもそもなんでそんなことがしたいのかいくらPGでも理解すれ、っつか
自分で言ってること解ってねーだろ。SEもだろうけど。
>>687 新人くん。他の会社に移ったほうがいいよ。
>>687 プロセス間通信だ。
APIで鮮度が大事。
新規のVBを走らせる・・・。 そこでプログラミングでもするのかね。
プログラミング作業の自動化というものすごく高度な話題がはじまろうとしているスレはここですか?
695 :
eibu ◆c61exE6E :02/08/27 04:56
>>687 >ざっとこんな仕様なのですが
ひさびさに大笑いしたよ。
こんな仕様出す奴に道を尋ねたらエライ事になるな。
「あそこバァーて行ってグワァーて曲がって変な看板のトコ」とか言いそう。
accessってことはデータベース処理か?
ひょっとしてトランザクション処理をものすごく
複雑かつ意味不明で遠回りなやり方で説明しているのか?
>>687 COBOLしか 知らない人たちの会社って 将来性ないよ。
ま、なんとかCOBOLも pro cobol とかで 生き残ろうとしているけどさ。
697 :
デフォルトの名無しさん :02/08/27 14:39
VB6.0でDataReportを使って横向き印刷しようとしてるんですけど、 縦向き印刷になってしまいます。 APIを使ってPrinter.Orientationの値をLandScapeにしてもダメでした。 解決方法をご教授ください。 それともCrystalReport等を購入したほうがいいですかね?
DataReport使ったことないんでアドヴァイスできん。スマソ。 ただひとつ言わせてくれ。 ク リ レ ポ は や め と け
699 :
デフォルトの名無しさん :02/08/27 15:06
>>653 質問主ではないのですが、すいませんがちゃちゃっと特定アプリのパケットの行き来を
監視する方法を教えていただけませんか。
現在VB6.0とアクセス2000を使用しております。 今回画像をあつかったプログラムを作成しているのですが、 それの入出力がわかりません。 ちなみにアクセスのテーブルで「OLEオブジェクト型」で作成して いて、それを読み込んだり、登録したりしたいのです。 Private Mdb As Database Private mRs As Recordset Dim cDBpath As String cDBpath = "D:\db1.mdb" Set Mdb = OpenDatabase(cDBpath) Set mRs = Mdb.OpenRecordset("テスト", dbOpenTable) Text1.Text = mRs.Fields(0) Text2.Text = mRs.Fields(1) 上記のように、テキストに表示する方法はわかるのですが、 OLEに関しては無知ですので、アドバイスの方ヨロシクお願いします。
701 :
デフォルトの名無しさん :02/08/27 17:03
下記プログラムで"型が一致しません"と言うエラーが出てしまい何とかしたいのです。 ・Classモジュール Private WithEvents hogehoge As MSCommLib.MSComm Private Sub Class_Initialize() Set hogehoge = CreateObject("MSCommLib.MSComm") ↑でエラー End Sub コンポーネントにMSCOMMを追加して、参照設定では追加していません。 (追加していないと言うより、追加する時にこのオブジェクトはモジュール、…、 で使われています。と出て追加できない) コンポーネントはコンポーネントで使用したいので外せないのですが、 何か良い案は無いでしょうか? ちなみにコンポーネントを追加しないで、参照設定で直接追加した場合は 上記のプログラムで動作するのは検証済みです。
703 :
デフォルトの名無しさん :02/08/27 17:10
VBのコミュニケーションコントロールMSCommを使用して バイナリデータの送受信をすることはできないのでしょうか? これだとByte変換時にオーバーフローを起こすことがあります。 (80h以上の時?) というかInputで1文字2バイトが帰ってくることがあるような気が? Buff(255) As Byte MSComm1.InputLen = 1 For Cnt = 0 To 255 Do If MSComm1.InBufferCount > 0 Then ' バッファにデータがあったら Buff(Cnt) = CByte(Asc(MSComm1.Input)) ' 1byte取得 Exit Do End If Loop Next
>>702 Object型だとWithEvents で宣言できないのです。
>>703 MSComm1.InputMode = comInputModeBinary
にすればバイナリで取れるよ。
>>704 うあ!!
そんな設定あったんですね。
ありがとうございます。
706 :
デフォルトの名無しさん :02/08/27 19:02
まじめな質問! Visual Basicで複数人数の音声チャットは作成できますか?
問題なし。 けど複数人音声チャットって誰が誰の発言だか分からないね。
>>707 サンクス Visual Basicでやってみよ
初心者にとってサンプルがいっぱい落ちてるのはやっぱり魅力的です
音声チャットのサンプルがいっぱい落ちてるのか?
いっぱいじゃないけど俺、前見つけたよ どこかは忘れたけど。。。(´Д`;)
>>701 同じインスタンスでいいなら、
ClassにInitメソッドでも作って参照をコピーしてやれば?
[Class1.cls]
Private m_comm As MSComm
Sub Init(comm as MSComm)
Set m_comm = comm
End Sub
[Form1.frm] Dim oClass1 As Class1 set oClass1 = New Class1 Call oClass1.Init(Me.MSComm1)
712の名前欄は711の間違いです
>>697 OpenPrinter-GetPrinter-MoveMemory-SetPrinter-ClosePrinter
ででくる
715 :
デフォルトの名無しさん :02/08/28 03:21
Visual Basicのヘルプを起動しようとしたら「MSDNのライブラリをインストールしてください」 ってなります これってダウンロードできるんでしょうか?
>>716 そう! そのCDがないんですよ。。。うーん・・・もともと何の役に立ってるのか
わからんCDだったんで・・・
なんで無いんだよ
もちろんVisual Basic本体のCDはありますけど マジでダウンロードできないんですか?
だからなんでMSDNのCDがないんだよと。
俺も無い〜 親父が会社の奴持ってきたけど、全部無くした。 CD1だけ***(自粛)で取ってきた。
もう少しで夏休みも終わりますから、 もう少しの辛抱です。
初心者がよくまちがえる問題 'N=1+2+3+・・・+10 Dim i,N as integer For i=1 to 10 N=N+i i=i+1 Next
725 :
デフォルトの名無しさん :02/08/28 13:54
shellapi.hの定数ABM_SETSTATEの値を 知っている人いたら教えて下さい。 VBで定数を定義したいのですが、 VC++入ってないのでヘッダがなくて定数の値がわからない(T T)
>>724 N = (10 * (10 + 1)) / 2
アプリケーションからのメッセージを無視してそのまま動作させる方法を教えてください。 例えばエクセルで、 ActiveWindow.SelectedSheets.Delete とやってシートを削除するときに、 「もとに戻せないよ」って警告がでますよね? これを無視したいのですが。
はじめまして。 質問したいのですが、 VBのフォームのOLEにエクセルのシートを表示させたいのですが どのようにすればできますか?教えてください
>>728 いや、そういうことではなくってだな、
Forでiをインクリメントしているのにだな、
i=i+1
を入れてるのが、「初心者がよくまちがえる問題 」ということなんだよ。
>>730 ちょっとした明細計算のプログラムを作っているのですが、
ブックを作成すると、最初にシートが3つできるでしょ?
明細シートをひと通り作成した後に、3つのシートを削除したいのですが、
メッセージが出てプログラムがとまるので邪魔だなあ、と思って。
736 :
デフォルトの名無しさん :02/08/28 14:58
>>732 漏れはインクリメント以外に
Dim i,N as integer
で、NだけがInteger型で宣言されてiがVariant型で宣言されてる
って事を指摘するべきなのか?と思ったよ。
あぁ、くだらんことでageてしもうた(;´Д`) ケーブル引っこ抜いて鼻に突っ込んで逝ってきます
>>729 あんまり詳しくないけど、
多分無理じゃないんすかね?
フォームにコントロールを並べている時などに、 ちょっとプロパティを変更しようと思ってコントロールをクリックしたら、 マウスの加減で、折角きれいに並べたのに、ズズ…っと数ドット動いてしまう ことが多いのですが、これを動かさずにマウスで選択する方法はないのですか。
結局732は何を言いたかったのか
VBでは初期値付きの配列を作ることはできないのでしょうか? Cでこんな感じのです。 integer Data[6] = {1,2,3,4,5,6}; こういうときは 昔のBASICみたいにDATAをREADするようなことをするんでしょうか?
>>738 お隣で回答いただきました。
Application.DisplayAlerts = False
>>739 フォームの右クリックでコントロールのロックをしておく。
あとは右クリックで選択するとかキーボードで選択するとか
プロパティウインドウのリストボックスから選択するとか。
744 :
デフォルトの名無しさん :02/08/28 16:38
VBのコードエディタってマウスのクリクリ(スクロール)効かないんですか? ちょっとやりにくひ・・・(´Д`;)
>>741 intがintegerになってるぞぅ。
私の場合、多い時はファイルから読むようにしてます。
747 :
image :02/08/28 16:46
VBでビデオなんかのコピーガード(とくにマクロビジョン)を消すことはできる? 常に一定の色合いを出しつづければできると思うんだけど・・・ 無理?
750 :
image :02/08/28 16:57
できるのか? できそうだがな。 できるだろ? やってみて。
>>750 とりあえずコピーガードの仕様を詳しく言え。
752 :
デフォルトの名無しさん :02/08/28 17:08
>>750 っていうかVB(PG)と全然関係ないじゃん。
AV機器板に行った方がいいんじゃネーノ?
スマン、ageてしまったから、変な奴を呼んでしまったようで・・・ sage直します。
>>744 マウスユーティリティー次第。
どこでもホイール使うとコロコロするようになるよ。
757 :
デフォルトの名無しさん :02/08/28 17:29
>>744 MicrosoftのインテリポイントをDLして導入するとホイール動くよ。
VBとセットみたいな感じ。
758 :
デフォルトの名無しさん :02/08/28 17:50
ホイールで思い出したんだけどさ、 VB上で実行してマウスホイール回すとちゃんと動くんだよ。 ところが、実行ファイルで同じ事すると動かないんだよ。 なぜ動作が違っちゃうの?
>>687 もう少し日本語を勉強された方がよいと思います。
760 :
デフォルトの名無しさん :02/08/28 19:53
IE(ActiveX)でNavigateメソッドでネット上のHTMLを取得してますが、 Navigateすると画像とかまで読み込んでしまいます。 HTMLだけ取得したいのですが、方法はないですか? (自分で調べたところ、無いっぽい雰囲気でした…。)
Ret = GetRes(
>>760 )
If Ret = Nothing Then
MsgBox "無いみたいですね。また来るかも。"
Unload 俺
End If
>>732 オレの代わりにいろいろ言われているみたいでスマンの。
732の解説のとおりi=i 1の一行だけが議論の対象なので他の部分はアバウトに書いてあり、そこをつっこまれると困っちゃうよん。
>>762 で、キミは質問スレで何を言いたかったの?
Const ABM_SETSTATE = &HA のようです。ありがとうございました。
765 :
デフォルトの名無しさん :02/08/28 22:38
SSTabについての質問です。 環境はVB6(SP5)です。 実行時、SSTabコントロール上に新しいタブを追加して、 その追加したタブの上にLoadしたコントロール(コマンドボタンとか)を配置したいのですが、 うまくいきません。 どうやればいいんでしょうか? よろしくお願いします。
766 :
デフォルトの名無しさん :02/08/28 22:39
すんません・・・メインメニューオブジェクトってどこにあるんですか?
>>763 ここの住人は大抵わかんないとレスしてこないから、
ここだめじゃんっておもっただけ。
まぁ多分
>>760 はできないと思うけど^^;
>>760 WinSockコントロールを使うといいよ。
771 :
デフォルトの名無しさん :02/08/29 00:00
>>765 追加したタブをアクティブにしてから追加したコントロールのContainerプロパティを設定。
772 :
名無し@でぢたる :02/08/29 00:06
VBでテキストエディタを作りたい!!だが、行数表示はどうしたらいいのだろうか?
774 :
名無し@でぢたる :02/08/29 00:08
つくれないよ!!
最初の時点で挫折ですか。
777 :
デフォルトの名無しさん :02/08/29 00:31
Winsockの講座とかあるサイトってないでしょうか? 教えてください 世界中のエロい人
779 :
デフォルトの名無しさん :02/08/29 02:49
VB6 で、 ADODB.Recordset でデータベースアクセスやってるんですが、 今までに作られたEXEで動いていたマシンに、 VerUpしたEXEを入れたらエラーが起きるようになりました。 430 のオートメーションエラーです。 しかも、エラーが起きずにちゃんと動くマシンもあります。 おかしくおもって、前Version のvbp を手を加えずコンパイルだけしたEXEを、 新Verが動かないマシンに入れてみたところ、 前となんら変わりないはずなのに430のエラーが出るようになりました。 いったい何が原因なのでしょうか? おかげで今日もこんな時間です。
>>779 切羽詰ってるようだね。確か、自分も以前こういう現象に遭遇したことがある。
まだ起きてる?ちょっと調べてみるよ。
>>779 過去2回そういうことがあった。
一つはVB Projectの参照設定。そしてもう一つはかMDACのバージョン違い。
>>781 >>782 お返事ありがとうございます。
とりあえず帰宅してきました。
寝るまでもうちょっと時間があるので調べてみます。
質問させていただきます。 VBでコメント文って「’」ですよね ’コメント これを範囲をコメントにしたい場合はどのようにすればいんですか? コメント1 コメント2 コメント3 コメント4 コメント5 この範囲をコメントにしたいのです。 一つ一つに「’」をつければいいのですが、 これが100行とかある場合はちょっと手間がかかりますよね。 なにかよい方法はないでしょうか? ヨロシクお願いします。
>>784 #if false then
#end if
>>784 範囲選択してツールバーのコメントブロックボタンを押す
>785 >786 どうもありがとうございます。 785さんの解答はコードで記述できることを学びました。 786さんの解答はそのようなツールバーが有ることを初めて知りました。 ちょっとしたことなんだけど、ほんとに為になります。 どうもありがとうございました。
コメントブロック(と解除)のあるツールバーがデフォルトで非表示なのがクソだと思う。 んでもってこれらの操作がメニューから出来ないことがもっとクソ。 別にメニューからやりたいわけじゃないけどメニューにないからこの機能を発見できない。 俺もこの機能長い間知らなかった。
>>774-775 VBのTextBoxには、処理できる文字列のサイズに32Kだか64Kだかの制限があり、
大容量の文字列を扱う場合は、リッチテキストボックスを使用することになり
ます。
しかし、VBでは大容量の文字列の処理が絶望的に遅いので、有名な秀○あたり
と比べると勝負になりません。(論外。あたりまえだが)
まあ、数10K程度の文字列しか扱わないと割り切るなら、そこそこ実用にはなる
かと思います。(お奨めはしません)
>>785 コメントというよりは、条件付コンパイル。
(問題解決という趣旨では満点の回答と思われ)
791 :
デフォルトの名無しさん :02/08/29 16:33
Cのsprinfと同等の機能のある関数があったら教えて下さい。
795 :
デフォルトの名無しさん :02/08/29 18:28
あるディレクトリ下(c:\temp)のファイル名一覧を取得したいんですが Dim strDir As String strDir = Dir("c:\temp", vbDirectory) Do While strDir <> "" If strDir <> "." And strDir <> ".." Then MsgBox strDir strDir = Dir("c:\temp", vbDirecory) End If Loop だと"temp"のみ表示して終わってしまいます。 どうコーディングしなおせばいいんでしょう。
あら?字下げ失敗。 すいません。
>>795-796 連続した半角スペースは省略される。
Dir関数の使い方についてもう一度調べなおせ。
>>795 Private Sub Form_Load()
Dim strDir As String
strDir = Dir("c:\temp\*.*", vbDirectory)
Do While strDir <> ""
If strDir <> "." And strDir <> ".." Then
Debug.Print strDir
End If
strDir = Dir()
Loop
End Sub
vbDirectory → vbNormal または 指定しない
802 :
デフォルトの名無しさん :02/08/29 21:57
ダイアログを出さずにプリンタの出力トレイを切替るにはどうしたら良いのでしょうか? 検索してAPI関数を利用したサンプルを見つけたのですが、NT系では動作しないようです。 OSはWindows2000、言語はVB6.0です。 具体的には画像ビューワに葉書印刷機能(普段使用しないトレイ)を付けたいのですが。
解決レスです。 古いversionは Microsoft ADO 2.0 Library でつくられていたので、 参照設定で Microsoft ADO 2.5 Library をはずし、 2.0 Library をチェックつけてexeを作ればOKのようです。 でもそのvbpを保存して終了し、立ち上げなおすと、 自動的に 2.5 Library のほうを参照しています。 コンパイル前に参照設定しなおす必要があるみたいでした。 いじょお。
804 :
デフォルトの名無しさん :02/08/29 23:07
>>802 権限の問題では?
たとえばコントロールパネル-プリンタで当該プリンタの設定が変更できないアカウントは、
同アカウントが実行するプログラムからも設定は変更できません。
ていうか9x系でうごいてNT系で動かない場合まず権限の問題から疑います<私の場合。
>>804 ありがとうございます。権限はAdminです。
設定と印刷を別関数で実行するとうまくいかないのですが、
同一関数内でトレイ設定と印刷を実行すると出来るので権限は問題無いと思います。
ただし、これは Printer.Print で文字の出力が出来ているだけで・・・
画像の印刷にDLLを使っているのですが、この場合は同一関数内でもうまく出来ません。
実験結果
Sub Main
Call トレイ設定関数
Call 印刷関数 ←デフォルトのトレイで出力
End Sub
Sub Main
Call トレイ設定&Printer.Printでの印刷 ←指定したトレイで出力
Printer.Print ←デフォルトのトレイで出力
End Sub
Sub Main
Call トレイ設定&DLLでの印刷 ←デフォルトのトレイで出力
Printer.Print ←デフォルトのトレイで出力
End Sub
デフォルトのトレイを設定できれば良いと思うのですが、どうしたら良いのでしょう?
書き忘れました。
>>805 の結果はWindows2000でのものです。
Windows98で試したところ、全て指定トレイで出力されました。
807 :
デフォルトの名無しさん :02/08/29 23:58
>>805 そーなるとソースがないとなんともいえませんね。
トレイ設定関数とDLLでの印刷のおおまかなソース(使用しているAPIとその発行順で結構です。)
があったらなにかアドバイスできるかもです。
808 :
デフォルトの名無しさん :02/08/30 00:13
アクティブなテキストボックスの文字列を選択し、 その後そのテキストボックスを非アクティブにしても どこが選択されているかわかるようにするにはどうすればよいでしょうか
811 :
デフォルトの名無しさん :02/08/30 01:37
>>803 解決したみたいだけど老婆心。。。
アーリーバインディングする限り同様の問題は発生し続けるので、
開発時:アーリーバインディング(参照設定)
配布時:レイトバインディング(参照設定を外しすべて As Objectに置換。。。)
のほうが(比較的に)よろしいかと。
インストーラにも気をつかわなきゃだけど。
812 :
デフォルトの名無しさん :02/08/30 02:51
こんにちわ!初めまして。 いきなりなのですが、ポインタ変数を使って、入力した文字列を縦書きにするにはどうすればいいのでしょうか? 配列でしかしたことなくって。。。 ぜひ教えてください!m(_ _)m
>>812 何の話だかさっぱりわからん。
基本的にVBにポインタ変数はない。何のことをいいたいんだ?
入力した文字列って・・・どこに入力してるのさ。
RichTextBoxでAPI使って縦書きというようなのなら
Webで見たことがあるような気もするが・・・。
814 :
デフォルトの名無しさん :02/08/30 03:10
すいません。勘違いしていました。申し訳ありません。m(_ _)m
あぁ。。。またまたすいません。名前のところ。。。PC音痴でほんとすみません。
816 :
デフォルトの名無しさん :02/08/30 04:12
TextBoxとかのFontを変更しようとしてプロパティいじるととたんにCPU使用率が100%になる これは仕様ですか? それともMSのイキなサービス? Fontサイズ変更するだけで5分くらいかかるよ・・・・(´Д`;)
817 :
デフォルトの名無しさん :02/08/30 04:23
SaveSetting で保存したレジストリの値を実際に目で確認するにはどうしたらいいですか?
>>816 うちではそんなこと起きないけど…。
OSの環境が腐ってるか、フォントを大量にインストールしすぎか、多分そこらへん。
>>817 レジストリエディタで
HKEY_CURRENT_USER\Software\VB and VBA Program Settings\...
を見る。
ちなみに、VBをアンインストールすると、ここに保存されたキーをごっそり
削除していきやがります(;_;
>ちなみに、VBをアンインストールすると、ここに保存されたキーをごっそり >削除していきやがります(;_; うへぇー知らなかった。 マジで。 俺が作ったのならいいけど、他人が作ったソフトの設定もたくさん入ってるのに。
820 :
デフォルトの名無しさん :02/08/30 09:42
ホイールでソースコードエディタがスクロールしないんだけど 俺だけかな? 本体:VAIO PCG-R505R/AK マウス:Logitech 光学マウス(USB) OS:Windows2000 SP3 VB:VB6.0 SP5 助けて。
824 :
デフォルトの名無しさん :02/08/30 10:31
>>820 過去ログにあった?
このスレ全部見てるとおもったんだけどなぁ。
過去ログ逝ってきます。
先にお礼を言っておきます。ありがとう。
825 :
デフォルトの名無しさん :02/08/30 10:32
>>816 Windows9xの場合フォントキャッシュが破損、または肥大している可能性があります。
%windir%\ttfCacheを削除してみてください。
IconのハンドルからPictureオブジェクトを作る方法ってわかります? ちなみにハンドルの取得方法はExtractAssociatedIconです。
827 :
デフォルトの名無しさん :02/08/30 10:36
AccessVBAを使っています。超初心者です。 フォームからデータを入力する際に、最初に入力した「作成日時」と途中で変更があったときの「変更日時」 を取得したいのですがどのようにすればいいのでしょうか。 調べてみましたが分かりませんでした。 すみませんがよろしくお願いします。
初心者は免罪符にならないって誰かが言ってた。 俺もそう思う。
免罪符って、そもそも効果がない詐欺商法だったのだから、
免罪符になってもやっぱし意味がない罠。
>>824 直近で出てるぞ。744-757
個人的には、どこでもホイールがおすすめ。
どこでもホイールって嫌いなんだよ・・・名前が。いや使ってるけどね。
一生懸命ナニしました〜♪ 産休♪
>>827 わざわざ超初心者とか書いて甘えようとするから
叩かれるんだよな。余計なこと書かなきゃいいのに。
>>827 ウゼー。
騙りの一匹や二匹でいちいち騒ぐな
>>836 超初心者と書いたことについてはあやまります。これから気をつけます。
今回は見なかったことにして下さい。
>>837 連続カキコスマソ。書き込まれてないと思った。
あらためて回答お願いします。
>>839 それホイールの話だろ 827のはAccessの話だぞ
あ、ホントだスマソ
ホイールの方の質問をした824です。 すいませんでした。こんなに近くにあるなんて・・・。 どこでもホイール入れました。 無事スクロールしました。 また常駐ものが増えてしまいましたが、 とりあえずは満足しています。 ありがとうございました。そして迷惑かけてごめん。
>>827 なんか言っている事が分からないけど、
フォームからデータの入力と作成日時と更新日時との関連がわからん。
最初に入力したときの作成日時と更新日時のデータが保存されて無ければ無理だろう。
もし最初に入力した際に何かしらのファイルが作成されるのであれば、
その二つの時間を取得するAPIはあるよ。
"作成日時 更新日時 API"でグーグレば見つかるんじゃね?
>>711-713 ありあっと。
時間が無かったので、新規に非表示FROMを作って
それをクラスのように使用することにしました。
(結局コンポーネントをそのまま使用)
いわゆる負けたって奴です。
845 :
デフォルトの名無しさん :02/08/30 13:00
>>801 &(文字列連結)を使うと遅いのは有名な話ですが、値の変更を伴わない、単なる検索処理でも
文字列が大きく(概ね1M以上)なると、遅いのでどうしようもないのです。
847 :
デフォルトの名無しさん :02/08/30 13:16
>>846 Instrとか、InstrRevで1M強程度の文字列(日本語文書)からキーワードを
検索したら、秀○の10倍以上掛かった記憶があります。
無論、ラフでアバウトな体感値なので、ベンチマークと言えるような厳密
なものではありませんが。
リッチテキストボックスのFindメソッドなら、あるいはもっと速いのかも
しれないが、逆方向の検索(InstrRevに相当)ができないようなので、×。
(だと思う)
- 以上 -
>>847 に自己レス。
100K〜200K程度の比較的小さな文字列なら、10倍20倍程度の実行速度差は
ほとんど気になりません。
>>827 もうちょっとまともな文を書いてくれ。読んでてイライラする。
フォームからデータを入力する際
↓
入力画面で、レコードからデータを画面に出力する際
最初に入力した「作成日時」と途中で変更があったときの「変更日時」
↓
レコードの項目「作成日時」と「変更日時」
取得したい
↓
ラベルに出力したい、変数に格納したい、etc
って事か?どこに保持されてるデータをどこに出したいって事ぐらい超初心者でも書けるだろ。
皆の素敵な意見募集。 String型の接頭痔はstrがよく使われると思うんだけど、 構造体の接頭痔ってナニ使ってる?
851 :
デフォルトの名無しさん :02/08/30 14:35
structすっか。 3文字に略そうかと思ったんだけどうまく略せなかったんだよネ!
>>850 udt
一応VB推奨の接頭辞。cf:定数と変数の名前付け基準
使ってる所ほとんと見ないよーな気もするが…。
>>847 試しに乱数で作った1MBの文字列変数から、丁度中央に置いたキーワードを
instrで検索してみた。そしたら4msぐらいで終わっちゃったYo!
16MBで試してみたら70msぐらい。案外速いかもね…。
ちなみにVB6のインタプリタ上。
でも、16MBの文字列の生成にはすげー時間かかった(w
バイト配列を1600万回ループさせてランダム文字作成するのに7000ms、
それをstrconvで文字列変数に変換するのに1400msぐらい。
&で試す勇気はない(^^;
855 :
デフォルトの名無しさん :02/08/30 15:48
VB6で、変更した記憶が無いのにいつのまにか コントロールの width, height, top, left の値がとんでもない値に書き換わっていることがたまにあります。 他の方はどうでしょうか?
856 :
デフォルトの名無しさん :02/08/30 15:57
プロジェクト全体のon errorのエラートラップを 一発で無効にする方法はありますか? やっぱりon errorをコメントアウトしていくしかないでしょうか?
置換すれば?
>>826 OleCreatePictureIndirectとか
>>857 やはり置換しかありませんか・・・・・
そうします
>>856 IDE上だけでよければツール-オプション-全般タブのエラートラップを「エラー発生時に中断」にすれば
すべてのエラートラップは無視されるよ。
861 :
デフォルトの名無しさん :02/08/30 16:21
>>855 とんでもない値ってのがどんな値だかわかんないけど、複数人数で開発している場合、
最後にプロジェクトを開いた端末のディスプレイの設定によってそれらのプロパティは
微妙に書き換わってしまいますよ。
>>860 おお!そうですか
このオプションみたのですが、関係なさそうだとおもって
素通りしてしましました。
ありがとうございます。
デバッグ時のときだけエラートラップはずす方法あるんじゃないかなーとおもって
いろいろ調べてました。
感謝いたします
ALT+F5 や ALT+F8を知らない人が多いような気がしないでもない。
864 :
デフォルトの名無しさん :02/08/30 16:45
>>855 うっかり手が滑って・・・ということもあるので、ケアレスミス防止用に、
コントロールをロックしてみてはどうでしょうか。
(フォームをデザインビューで右クリックすると、コンテクストメニューの
中にあります)
>>855 SDI環境で開発していると、VBの終了・起動を繰り返すとFormのTopの値がどんどん
大きくなっていって、ついには画面外に消えちゃうことなら良くあります。
たしかバグだった気がするけど、修正される雰囲気無いですねぇ…。VB6SP5です。
867 :
質問主ではないのですが :02/08/30 17:33
' ウィンドウプロシージャの新しいアドレスを設定 Public Const GWL_WNDPROC = (-4) で怒られました。。。。
872 :
デフォルトの名無しさん :02/08/30 18:09
873 :
デフォルトの名無しさん :02/08/30 18:50
すんません・・・これどういう意味ですか Dim y As String Mid(y, 5, Len(y))
874 :
デフォルトの名無しさん :02/08/30 19:02
文字列yの5文字目以降を取得するってことだろう。Len(y)を 省略しても結果は同じ。
Dim y As String Dim x As String x = Mid(y, 5) のつもりじゃないかな〜。
うーん・・・ほんとわけわからん If InStr(y, "_:SA") Then Text1 = Text1 + Mid(y, 5, Len(y)) End If ってなってるんですよ・・・( ´・_・`) ちなみにyってのは文字列っていうよりデータを入れとく変数のようなのです だから余計意味わからん・・・
878 :
デフォルトの名無しさん :02/08/30 19:34
Visual Basicのオススメの書籍とかないでしょうか?
879 :
デフォルトの名無しさん :02/08/30 19:58
下のようなソースを実行すると「なんで?」が表示されるんですが、 なんで? sub a から実行すると、sub b の on error resume nextのところで次の行のerror 1はとばされてresumeが実行されそうなんですが、 なぜかerror 1のところで sub a のエラールーチンに飛びます。 sub a on error goto err1 call b exit sub err1: msgbox "なんで?" resume end sub sub b on error goto err1 error 1 err1: on error resume next error 1 resume end sub
880 :
デフォルトの名無しさん :02/08/30 20:00
>>879 修正
sub a
on error goto err1
call b
exit sub
err1:
msgbox "なんで?"
resume
end sub
sub b
on error goto err1
error 1
exit sub
err1:
on error resume next
error 1
resume
end sub
882 :
デフォルトの名無しさん :02/08/30 20:11
>>876 yの先頭が"_:SA"であるという前提で、Text1にそれを除いた文字列を格納する処理なんじゃないの?
If Left(y, 4) = "_:SA" Then
のつもりでは?
>>873 もし変数yに"_:SA"が含まれていればText1の文字列に変数yの5文字目以降を追加するという意味だよ。
ヘルプ見りゃわかるだろうが。
>>882 これ実はWinsockのサンプルなんですよね
で、"_:SA"ってのは何か暗号?見たいな感じでサーバーとクライアントに共通してるのです
例えばクライアントがログインしたら"_LI"をサーバーに送るって感じです
だから実際のフォーム上には"_:SA"とかは表示されないんです
ってかクライアントがログインしても何も表示はされないんですよね
サンプル自体がおかしいのかな?
885 :
デフォルトの名無しさん :02/08/30 20:21
>>884 >実際のフォーム上には"_:SA"とかは表示されないんです
むしろ表示しないために
>>876 のコードがあるんでしょ?
886 :
デフォルトの名無しさん :02/08/30 20:23
>>880 エラーハンドラでエラーが発生した場合、無条件にエラートラップされない致命的エラーとなります。
その致命的エラーが上位モジュールでエラートラップにハンドリングされています。
詳細はMSDNを参照してください。
887 :
デフォルトの名無しさん :02/08/30 20:26
>>884 >クライアントがログインしても何も表示はされないんですよね
>サンプル自体がおかしいのかな?
クライアントとサーバーの線はちゃんとつながってる?
889 :
デフォルトの名無しさん :02/08/30 20:32
>>886 φ(..;)メモメモ
勉強になりました。
>>888 これは「サーバーが閉じているかどうか」 です
If InStr(y, "_:CS") Then
Winsock1.Close
Text1 = Text1 + "Server Closed" & vbCrLf
End If
IEのお気に入りみたく、メニューの中身をドラッグで移動させるには どうしたら良いのでしょうか。
894 :
デフォルトの名無しさん :02/08/30 20:46
>>892 自分にレスしてどうすんのよ。しかも別のコードになってるし…。
適切に質問する能力がないと回答は得られないよ。
ヴォケ
>>892 送信データの先頭5文字を通信の約束事に使ってるだけだろ。
"_:CS"←CloseServerの略なんじゃねーの。
そのサンプルを置いてたページの説明なり、ReadMeなりちゃんと読め。
で、Mid関数で5文字目から切り出せば、その約束事の部分は画面には
表示されないっちゅう話だろ。
896 :
デフォルトの名無しさん :02/08/30 21:25
下記の状態でrs.closeで、「このコンテキストで操作は許可されていません」 とでます。どうしたらrs.closeを実行できるのでしょうか sub a on error resume next rs.open 〜 error 1 exit sub err1: rs.close <-----------------ここ end sub
あるウィンドウのマウスカーソルがOSとは別物の場合、 マウスカーソルを強制的に移動させるSetCursorPosを使用しても、 移動させることが出来ませんでした。 OS自体に擬似的にマウスカーソルが移動したという認識を させることは出来ないでしょうか? わかりにくかったらスイマセン。
>>896 Recordsetは開けているのか。
rs.Stateで見れ。
>>897 VMWareなどの仮装OSってことかい?
899 :
デフォルトの名無しさん :02/08/30 22:42
>>898 あいてます。
If rs.State = adStateOpen Then rs.Close
これでも同じくエラーが出ます。
900 :
デフォルトの名無しさん :02/08/30 22:45
>>896 掲示されたコードではrs.closeは実行されません。
>899 普通にExit Subの前にClose持ってきて閉じれるのか。
>>898 レスありがとうございます。
VMWareについてGoogleで調べてみましたが、微妙に違いました。
OSに対して、マウスが動いたというメッセージを送り、
それでマウスが動いた処理が行われる状況に出来れば良いのかと
考えています。
SendMessageやPostMesseageについていまいち分からない為、
なんとも言えないのですが、その辺なのでは無いかと思っています。
>>902 VMWareじゃないソレに対し、なんで何も表記せんの?
やばいもの?
やばいかもね^^; まあ気にせんでください・・・
905 :
デフォルトの名無しさん :02/08/31 04:52
厨房な質問で申し訳ないんですが「$」って何の意味があるんですか?
>>905 Stringって何の意味があるんですか、って君が訊かれたらどう答えるね?
「ヘルプ見ろゴラァッ!」ってならないかな。
908 :
デフォルトの名無しさん :02/08/31 11:31
ひとつのクラスモジュールでプロパティの中に更にプロパティやメソッドを作る方法って? こんな感じ => Text1.Font.Bold
>>905 Sと明記せずにぼかしたいときに使う。
例) M$、$UN
912 :
デフォルトの名無しさん :02/08/31 13:58
プログラムのことじゃないんですが質問です。 VB6を開くとプロジェクトを開くダイアログ ボックスが出ますよね? あの中の[最近使ったファイル] タブ の一覧を削除したいんですが、 どこで削除できるでしょうか? レジストリを探してみたんですが見つけれませんでした。 Sampleを色々見てたらすごい数になっちゃって 誰かわかる方教えてください。宜しくお願いします。
>>912 削除汁
HKEY_CURRENT_USER\Software\Microsoft\Visual Basic\6.0\RecentFiles
>>909 いろいろ調べたのですが具体的な方法がわかりませんでした (T_T)
(これって複数のクラスを使う?)
>>910 例えがわるかったですスマソ
・・・なんかだめっぽいんであきらめます (´・ω・`)
>>914 Integerのプロパティの変わりにクラスのプロパティを作るだけだよ。
>>916 別のクラスモジュールのプロパティを作る、というのはわかるのですが
クラスモジュールひとつだけで実現する方法がイマイチわかりません
(初心者なだけに見当違いなコトいってる? or 最初の質問がマズかった?)
>>917 オブジェクトブラウザ等で調べればわかるがText1.Font.Boldは
TextBox型のText1とStdFond型のFontとBoolean型のBoldからなっている。
VBはクラスモジュールのファイル=クラス(型)なので二つの型を作るなら
二つクラスモジュールが必要。
パブリッククラスの中のパブリックユーザ定義型ならひとつのファイルで作ることもできるが。
>>918 つまりこゆことやるには複数のクラスモジュールが必要だと
フツーなことを知らないんでそれがわかっただけでも収穫です
どうもありがとうございます!
>>919 あまり意味はないが、こんな風にすると一つのクラスモジュールだけでも
そういうことはできるぞ。
' Form1モジュール
Option Explicit
Private Sub Form_Load()
Dim c As Class1
Set c = New Class1
c.Prop = "あいう"
Debug.Print c.Prop
Debug.Print c.Self.Prop
Debug.Print c.Self.Self.Prop
End Sub
' Cass1モジュール
Option Explicit
Private s As String
Public Property Get Prop() As String
Prop = s
End Property
Public Property Let Prop(ByVal value As String)
s = value
End Property
Public Property Get Self() As Class1
Set Self = Me
End Property
ま、基本的には複数使うけどね。
922 :
デフォルトの名無しさん :02/08/31 18:27
クールバーの上にメニューが乗ってるUIが最近流行ってますよね。 それをVBでも再現してみようと思って、ずーっと考えてたんですけど、 どうも出来ません。 ツールバーにボタンを追加 ↓ キャプションを設定 ↓ キャプションの配置はTBSTYLE_LIST(右揃え) ↓ 各ボタンにTBSTYLE_AUTOSIZEをセット ↓ クールバーに乗せる っつー流れまでは分かったんですけど、力不足で実装できません。 結局キャプションの左側にポカーンと空間が空いてしまいます。 助けてください(´・ω・`)
>>922 VBじゃできねーよ。VBなんてやめとけ。
>>922 それ、俺も悩んでる。
キャプションの幅が一番でかいのに合わせられちゃうんだよね。
どうしてもうまくいかない。
俺もそれ知りたい。
>>924 に禿しく期待。
全部自分で描画すればどんなインターフェースだってできるよ とかほざいてみる。
Windows2000にユーザを追加するにはどのAPIを使えばいいの?
>>924 もうそろそろわかったか? 調べるだけ時間の無駄(w
VBなんかやめとけ。
>>927 作れるもんなら作ってみろって。推測だけで物を言うなよ。
あっそうそう。メニューなんだからもちろんショットカットキーも使えるよな。
rs.closeのcloseのMSDNみてみると、 オープンさえしていれば、いつでもクローズできるわけではないみたいでした。
>>931 他の言語を使ってるんだがレベルが低くてVBを馬鹿にしに来た、そんな感じ。
まあそろそろ夏も終わりですから、帰るべき所へ帰るんのでわ。 こんなこと書くとたぶん「いっぱい釣れた(w」とか言い始めるんでしょうが。
ゴガギーン
ドッカン
m ドッカン
=====) )) ☆
∧_∧ | | / / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
( )| |_____ ∧_∧ < おらっ!出てこい
>>923 「 ⌒ ̄ | | || (´Д` ) \___________
| /  ̄ | |/ 「 \
| | | | || || /\\
| | | | | へ//| | | |
| | | ロ|ロ |/,へ \| | | |
| ∧ | | | |/ \ / ( )
| | | |〈 | | | |
/ / / / | / | 〈| | |
/ / / / | | || | |
/ / / / =-----=-------- | |
>>934 よんだか(w
>>924 が調べると言ってから一日くらい待ってやるつもりだったんだがな。
>>931 質問してるから俺が知っていることを書いただけじゃねーか。
>>932 まぁ確かに他の言語のレベルは低いかもな。正確には経験が少ないというだけだが。
でもVBのレベルは高いよ(w
>>933 別に今回は釣れたなんて頭悪い事言わないよ(w
で結局俺が言ったとおりVBじゃできねーんだろ。難しいこと(w)にVB使うなって。
VBは低機能なコンポーネントをそのまま使ってりゃいいんだよ。
でなきゃVBなんてやめとけ。
いやぁ、「VBでやる」ことに意義があるんだろ?
VB6でランダムアクセスファイルの名前とレコード長をiniファイルから取得し、 その設定でファイルを開こうとしているのですが… Dim FileNum As Integer Dim FileName As Variant Dim RecLen As Integer Dim RecData As String Dim RecNum As Integer FileName = "なんとか.dat" '(iniファイルより取得) RecLen = iniファイル設定値' (iniファイルより取得) FileNum = FreeFile Open FileName For Random As FileNum Len = RecLen For RecNum = 1 To LOF(FileNum) / RecLen Get #FileNum, RecNum, RecData '(レコードの処理) Next RecNum 当然、Getステートメントでエラーになるわけでして… こういう場合は、どうすればファイルの内容を参照することができるのでしょうか??
>>938 RecDataを、取得したい文字数だけ配列にしてみれ。
テキストの指定行のみ読み込むにはどうすればいいのでしょうか?
>>939 お答えありがとうございます。
申し訳ないです、もう少しヒントをオネガイします…ごめんなさい、バカで
>>941 Dim RecData As String * 20
とかの固定長型の文字列にしても20バイト分読み取れるのでは?
>>942 レスどうもです。
おっしゃるとおり、RecDataの長さを宣言すればエラーは無くなるのですが
今回は、RecDataの長さの値を外部から持って来たいので、
As String * (長さ)とソース内に埋め込んでしまうと意味がなくなってしまうわけです。
しかし宣言しないことにはエラーが出るわけで…。そこで悩んでます。
944 :
デフォルトの名無しさん :02/09/01 22:52
勉強しようと、世の中に糞の役にも立たないプログラムを つくっているのですが、用語もわからず検索できないので 初心者質問させていただきます。 ラベルをクリックしたら色が変わって 2秒で元の色に戻るという事をしたいのですが、 2秒の時間を止める処理はどのようにすればできますか?
>>944 Wait(Now + TimeValue("0:00:02"))
>>943 RecData = String(20," ")
とでもすれば20バイト分” ”で埋まる=領域を取れる。
947 :
デフォルトの名無しさん :02/09/01 23:17
>945 ありがとうございます。 さっそくそのまま貼り付けたのですが、 「sub または functionが定義されてません」 と言われます。waitというのをMSDN検索しましたが 何がなんだか…。 そのままじゃだめですか?くだらない質問で何度もすみません。
>>945 のレスはネタくさいが。
つーか
2秒の時間止めるってどういうことだ??
>>944 日本語しゃべれ。
>>948 こんな?
Private Sub Label1_Click()
????Dim time1 As Long
????Dim time2 As Long
????
????time1 = Val(Timer)
????time2 = Val(Timer)
????
????While time1 + 2 > time2
????????time2 = CLng(Timer)
????????DoEvents
????Wend
????
????MsgBox (time1 & Chr(13) & time2)
????
End Sub
Operaで書いたら化けやがった
>951 あああありがとうございます! コードの意味はわかりませんができました。 ゆっくり勉強します。 >2秒の時間を止める 我ながらアホな日本語…
>>951 >time1 = Val(Timer)
>time2 = Val(Timer)
time1 = Val(Timer)
time2 = time1
の方がいいね。
>>951 あらホントですね。
書いてて何か気持ち悪さを感じたのはそのせいか…。
>>940 シーケンシャルファイルなら、その指定の行まで読み飛ばせ。
その行だけ取得することはできない。
>>942 その表現は20バイト分ではなく、20文字分だ。細かいツッコミだが、
ランダムアクセスをやる上では超重要事項だ。
FileSystemObject 使ってます。 FolderオブジェクトのFilesコレクションを扱うときにわからない事がありましたので、 質問させてください。 Filesコレクションから直接ファイルパスを取得しようとする場合、 Dim oFolder as Folder Set oFolder = ofs.GetFolder("---パス---") Dim sFilePath as String sFilePath = oFolder.Files(0).Path 等とやると思うのですが、 sFilePath = oFolder.Files(0).Path の部分で、「プロシージャの呼び出し、もしくは引数が不正(エラーNo.5)」と出てしまいます。 For Each 構文でファイルを列挙し、パスを取得する事はできるのですが、 以上のように、Filesコレクションから直接ファイルパスを取得する事は出来ないでしょうか?
書き忘れましたしたが、環境は以下の通りです。 Windows2000 SP2 VB6 SP5 IE6 scrrun.dll(5.6.0.6626)
960 :
デフォルトの名無しさん :02/09/02 12:30
>>957 > sFilePath = oFolder.Files(0).Path
> の部分で、「プロシージャの呼び出し、もしくは引数が不正(エラーNo.5)」と出てしまいます。
Filesはコレクションなのでかっこで指定する値はインデクスではなくキーを指定する必要があります。
僕が調べたところではFilesコレクションはファイル名をキーとしているようなので、
oFolder.Files("foo.txt").Path
と指定すれば
C:\foo\foo.txt
のようにパスを取得できます。
961 :
デフォルトの名無しさん :02/09/02 13:06
VB6.0でTCPによるソケット通信アプリを作りたいのですが、 サーバ上でサービス化させたいためにWinsockコントロール が使えません。代わりになにか、Winsockコントロールと同等 の働きを実現するAPIだとかDLLのようなものがありましたら 使い方とともに教えてください。お願いします。 「スレ立てるまでもない・・・」でも質問したのですが、こちらの方が 適所かも。ということでマルチポストスマソ
ちなみにWinのNT4.0にアプリを置き、98SEと通信します。
>>961 コントロールという基本的な用語すら間違える。
Winsockと言うAPIセットの存在すら知らない。
プログラマとしての実力を疑ったため放置しました。
>>963 ∩
| |
| |
∧_∧ | | / ̄ ̄ ̄ ̄ ̄ ̄ ̄
/ ̄\ ´Д`)// < 放置できてねーよ!!!
.r ┤ ト、 / \_______
|. \_/ ヽ /
| __( ̄ | |
| __)_ノ ̄ ̄ ̄ ̄\
ヽ___) ノ \
||\|| ̄ ̄ ̄ ̄ ̄ ̄ ̄|| ̄
|| || ̄ ̄ ̄ ̄ ̄ ̄ ̄||
.|| ||
実力がある人しか答えてもらえない初心者質問スレ(w
もちろん皮肉です。
>>963 への。
つーか
>>963 がちょっと知恵つけただけのガキだし。
>>965 初心者と初心者未満のバカは明確に区別されます。
割と常識ですが。
>>963 はどうでもいいです。答えられないだけのようですから。
他の方、どなたか知っていたら教えてください。
972 :
961=965=966=969 :02/09/02 14:03
早く答えなさい。本気を出しますよ?
V B 厨 バ カ ば っ か ( 藁
966じゃないよ。
961=965と言われるかと思ったがそっちに来たか。
満足させられずにごめんね
>>971 しかし965=966だと満足感が得られる、というのは俺には理解できない世界だな。
俺が思うに970=972=974 (961,965,966,969ではない) だな。
978 :
970、972、974のうちの一人 :02/09/02 14:24
誰か
>>961 を分かる日本語質問分にしてくれたらsocketに関して答えてあげてもいいよ。
間違った日本語です。
982 :
デフォルトの名無しさん :02/09/02 14:29
>>980 そういうこというとまた980=961とか言い出すだろ? ヴァカ厨が。
すぐに自演、ネカマ、ネタで結びつけるやつは(略
>>981 つまり彼は自分が覚えている日本語がおかしいことに気付かずに
>>961 の正しい日本語を
矯正しろと言っているってことですか?
>>957 >>960 ほんとだね、Indexを数値にするとダメだ。
Private Sub Form_Load()
Dim oFso As FileSystemObject
Dim oFolder As folder
Dim oFile As file
Dim n As Long
Set oFso = New FileSystemObject
Set oFolder = oFso.GetFolder("c:\temp")
For n = 1 To oFolder.Files.Count
Debug.Print oFolder.Files.Item(n).Path '実行時エラー'5' プロシージャの呼び出し、または引数が不正です。
Next
'こっちを使え
For Each oFile In oFolder.Files
Debug.Print oFile.Path
Next
End Sub
>>979 >>961 ってそんなに変か?
変って言ってる奴が何か勘違いしているだけじゃないのか。
>>961 Winsockコントロール(言うまでもなくこれはAPIじゃない)はサービスにしても使えると思うが。
>>984 なぜ数値じゃだめなのか勝手に推測。
もしIndexに数値を使えたとする。
するとIndex番号0のファイルなのかファイル名0のファイルなのか区別がつかない。
一見Files(0)とFiles("0")のように文字列型と数値型で区別できるように思える。
しかし、FileSystemObjectはWSHで使うことを考慮している。
WSHではデータ型はバリアント型しかない。
ゆえにIndexに数値は使えない。
>>988 単に数字のキー名にデータがmapされてないだけでは?
>>985 やっとまともなレスをいただき感激です。
>Winsockコントロール(言うまでもなくこれはAPIじゃない)はサービスにしても使えると思うが。
アプリを動かすPCはサーバー機なので常時ログオフの状態にしておきます。
そうするとフォームにTerminateイベントが発生してしまうと思われます。
その状態でもWinsockコントロールを動かすことは可能なのですか?
>>988 >するとIndex番号0のファイルなのかファイル名0のファイルなのか区別がつかない。
通常、そう言うポリシーの異なる2つ以上の名前付けは1つのコレクション内で行うべきではない。
数字で参照させるなら数字をキーに。ファイル名で参照させるならファイル名をキーに。
たまたま、その仕様がファイル名で参照させるタイプであっただけ。
「仕様」以上の答えはないと思われ。
>>990 ああ、WinSockコントロールをエクストラストラクチャとしてWindowsに登録すれば良いんだよ。
Dynamicキーワード使ってね。
>>993 ほら、既に言葉の定義すら本人の中で固まってない。
VBのいい加減でも通る柔軟な構文の賜だ。
>>992 そんな方法があるんですか!?
でも難しそうなのでちょっと調べてみます。
「Dynamicキーワード」がキーワードですね?
皆さんVB歴は何年ですか? 私は2ヶ月です。 それ未満の人は私の質問に答えないでください。 それでは質問の答えをお願いします。
999
うんこ
1001 :
1001 :
Over 1000 Thread このスレッドは1000を超えました。 もう書けないので、新しいスレッドを立ててくださいです。。。