VBプログラマ質問スレ(6.0以前) Part40
レス数が1000を超えています。これ以上書き込みはできません。
0001デフォルトの名無しさん
05/01/26 23:12:55質問者は使用しているOS、VBのバージョン、サービスパック
何がしたくでどうしたけどどう困っているのかを明確に書きましょう。
○関連スレッド
VB.NETは別物なので、基本的に質問はこちらへ
VB.NET質問スレ (Part7)
http://pc5.2ch.net/test/read.cgi/tech/1096683017/l50
API関連の質問はこちらへ
Win32API質問箱 Build24
http://pc5.2ch.net/test/read.cgi/tech/1098967135/l50
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
http://www.google.co.jp/
※「まず自分で調べる」を身につけよう。
心得
一.質問する前に過去ログにも目を通してみる。
二.質問する前に MSDN などで調べてみる。
三.VBScript もこのスレでOK。
四.インストーラーなどの質問もOK。
五.荒らしは相手しない。
六. VB情報募集中。
七.VB.NETの話題できるだけひかえる。
前スレ Part39 http://pc5.2ch.net/test/read.cgi/tech/1103026199/l50
0002デフォルトの名無しさん
05/01/26 23:16:49明日Visual Basic の授業があるんで少しでも理解しときたいんで
プログラム教えていただきませんでしょうか?
おねがいします。
0003デフォルトの名無しさん
05/01/26 23:20:090004デフォルトの名無しさん
05/01/26 23:23:03計算式か? データ変換か?
0005デフォルトの名無しさん
05/01/26 23:43:50>> 変数A=テキストボックス
計算する。
>> 変数B=変数A*0.06*(・・・など適当に計算式を作る)
テキストボックスに表示する
>> テキストボックス=変数A
これで分からなかったら諦めろ。
0006デフォルトの名無しさん
05/01/27 00:10:01こんなとこで質問しているのは、本読んで理解するなんてクソ面倒なことは
スキップして優々と答えだけゲットしたいから、違うか?
0007デフォルトの名無しさん
05/01/27 00:26:000008デフォルトの名無しさん
05/01/27 02:06:27http://pc5.2ch.net/test/read.cgi/tech/1103026199/
このスレは実質41
0009デフォルトの名無しさん
05/01/27 02:08:09前スレ963で、せっかく円周と面積の出し方教えてもらったんだから、それを応用しろ。
0010デフォルトの名無しさん
05/01/27 03:35:29ちょっと感動した。
0011デフォルトの名無しさん
05/01/27 09:30:46先生にだれから教わったって聞かれたら
「しらないおじさんに教えてもらいました」
ってきちんとこたえること。
0012デフォルトの名無しさん
05/01/27 10:44:320013デフォルトの名無しさん
05/01/27 10:54:20厨房=中学生
工房=高校生
?=大学生
0014デフォルトの名無しさん
05/01/27 11:46:52二次元配列に入力した数字を2重for文を使って各数字ごとに
空白を設けた状態をテキストボックスに出力したいのですが
うまくできません
改行もできないし空白も設けられないし なりより数字が次々と上書きされているみたいなんです
BASIC始めて3日目なんですが参考書にも載ってなかったのでおしえてもらえないでしょうか
0015デフォルトの名無しさん
05/01/27 11:50:27for i=1 to MAX_COUNT step 1
txtString.text = txtString.text & aa(i) & " "
next i
適当ですけど、こんなかんじ。
上書きではなく、追加していかないとダメですよ。
0016デフォルトの名無しさん
05/01/27 11:57:32Dim s,i,j,a(22,33)
s=""
For i=0 To 22-1
For j=0 To 33-1
s=s&Str(i)&","&Str(i)&vbCrLf
Next j,i
0017デフォルトの名無しさん
05/01/27 11:57:42消防=小学生
0018デフォルトの名無しさん
05/01/27 12:00:22MultiLineプロパティをTrueに
001914
05/01/27 12:01:53お忙しい中のわざわざのレスありがとうございます
gnuplotってわからないかもしれないですけど
あれが読み込めるテキスト状態にしたいんですけど
12 33 32 89
87 54 43 898
432 32 74 56
こんな状態です
あと二重ループにしたいのですが
0020デフォルトの名無しさん
05/01/27 12:06:57Open "test.txt" For Output As #1
002114
05/01/27 12:07:03さっそく試してみます
002214
05/01/27 12:17:15それがわからなくて・・・
ファイル保存を試みましたがだめでした
0023デフォルトの名無しさん
05/01/27 12:18:50何がだめなんだよ
質問する気はあるのか?
0024デフォルトの名無しさん
05/01/27 12:19:43Print #1, 文字列
Close #1
マニュアルみ
0025_
05/01/27 17:46:28txt1.TextBox
txt2.TextBox
cbo1.ComboBox
以上三つのコントロールを配置して以下の動作をさせたいのですが…
1:cbo1,を通常は非表示にしておく
2:txt1のGotFocusイベントでcbo1を表示させる
3:cbo1での選択結果をtxt1に表示させる(txt1に対する直接入力も有り)
4:txt2へのフォーカス移動で再びcbo1を非表示にする
という動作をさせたいのですが、4:の非表示処理が上手く行きません
txt1のLostFocusイベントで非表示処理をすると、cbo1にマウスをポイントした瞬間に
cbo1自体が消えてしまうし、cbo1側のイベントで処理した場合、cbo1に対する操作を
行わずにtxt2にフォーカス移動した際にcbo1が表示されたままになってしまいます
txt2のGotFocusイベントで処理するのは無しです(同種のコントロールを増やす予定なので)
皆様の御教授を賜りたく存じます。
0026デフォルトの名無しさん
05/01/27 18:47:25フラグ変数と共通サブルーチンで一貫性を保て
0027デフォルトの名無しさん
05/01/27 18:59:12はっきりいって、仕様が糞。
0028デフォルトの名無しさん
05/01/27 19:01:42txt1とcbo1をまとめたActiveXコントロールを自作
0029デフォルトの名無しさん
05/01/27 19:53:14要はテキストボックスにフォーカスが移ったときに、
対応するコンボボックスだけを表示して他のコンボボックスは全部非表示にすれば
一貫性を持たせられるんじゃないの?
具体的には、引数で指定したコンボボックスを表示し、他は非表示にするルーチンを書いて、
テキストボックスのGotFocusからこれを対応するコンボボックスを引数に指定して
コールしてやればいいと思う。
0030デフォルトの名無しさん
05/01/27 19:55:360031デフォルトの名無しさん
05/01/27 20:53:19>>30 コンテナ
まだ習得していない段階です、
こちらの程度の低さを記すべきでした…
>>29
この方法でしたら当方のレベルでも理解し易いです
丁寧な解説ありがとうございます。
0032デフォルトの名無しさん
05/01/27 23:02:00MDIフォーム内に子フォームを常に全面表示かつ複数開いている状態で、
メニュークリックで表示画面を切り替え、処理を実行しています。
このときctl+tabキーを入力すると、子フォーム画面が切り替わってしまいます。
画面切り替え前に入力チェックをしていて、引っかかった場合には切り替えたく
ないので、このctl+tabキーを無効にすることってできないでしょうか?
0033デフォルトの名無しさん
05/01/27 23:11:48他のフォーム.Enabled = False にすればいいじゃない?
0034デフォルトの名無しさん
05/01/28 14:42:32Picture1の画像をjpegでファイル保存したいのですがどうすればいいでしょうか?
0035デフォルトの名無しさん
05/01/28 14:44:29SavePicture
0036デフォルトの名無しさん
05/01/28 16:02:14SavePictureだとPicture1の画像しか保存されませんでした・・・
0037デフォルトの名無しさん
05/01/28 16:36:36AutoDraw=False。
PaintイベントでLoadPicture,PaintPictureを呼ぶ。
ピクチャとラベルのそれぞれのhDCで
BitBlt,StretchBlt APIを呼び、ラベルからピクチャにビット転送。
0038デフォルトの名無しさん
05/01/28 16:49:570039デフォルトの名無しさん
05/01/28 16:55:01ゴメン。それはVBじゃ使えない。
TextOut, DrawText APIで代用
0040デフォルトの名無しさん
05/01/28 17:15:25フリーのDLLが必要
>>36
画面キャプチャーすれば?
0041デフォルトの名無しさん
05/01/28 23:00:00ありがとうございます
どうも簡単にはできそうにないみたいですね・・・
(´・ω・`)ショボーン
0042デフォルトの名無しさん
05/01/28 23:57:39無事解決しました。ありがとううございます!
フックなどでOSのメッセージを取るなど難しく考えすぎていました。
0043デフォルトの名無しさん
05/01/30 16:00:40例えば選択したテキストボックスの周囲の破線が
動いて見えるようにするには、どうやるんですか?
0044デフォルトの名無しさん
05/01/30 20:52:45タイマーで一定時間ごとにパターンを替えた破線(「蟻の行列」だね)を描画する。
これ以外にどういう答えを期待しているの?
VBなら、蟻の行列はAutoRedraw = Falseにして描画して、それ以外は
AutoRedraw = Trueにして描画すればいいから簡単でしょ。
もっとお手軽にやるには、シェープを使う手もある。
0045デフォルトの名無しさん
05/01/31 10:14:35全角と半角が混在しているテキストで、nバイト目が全角か半角を簡単に判定する方法はありますでしょうか?
平成1年1月1日晴れ ←の10バイト目が全角か半角か判定
004645
05/01/31 10:30:28nバイト目が全角1バイト目or全角2バイト目or半角を判定する関数があるのかと思い質問しましたが、
調べてみたらやはり自作しないとダメみたいですね。
スレ汚し失礼いたしました。
0047デフォルトの名無しさん
05/01/31 10:39:11馬鹿な質問で恐縮ですが教えてください。
空っぽのファイルを作成するにはどうすればいいのでしょうか?
0048デフォルトの名無しさん
05/01/31 11:40:28ロジック考えるの面倒なのでさわりだけ。
StrconvでvbFromUnicodeで変換すると、半角1文字全角2文字扱いのものになります。
元のUnicode文字列(VBの文字列です)を1文字づつ取り出して、それを変換して1バイトか2バイトか判断して・・・
をロジック化すればいけるのではないでしょうか?
なので自作です。
>>47
Openしてクローズしたら出来ない?
0049デフォルトの名無しさん
05/01/31 12:08:0648氏の言うように自作しかないかなぁ。
指定された文字が全角の最初の 1 バイトかどうか調べるAPIはある。
IsDBCSLeadByte
未確認だから実際に使えるかどうかわからないけど...
0050デフォルトの名無しさん
05/01/31 16:54:40ありがとうございます、判定処理を自作することにしました。
>>49
ありがとうございます、PG組んで見たのですが、私の環境ではうまく動きませんでした。
0051デフォルトの名無しさん
05/01/31 18:26:4610,20,30,40,50 という5つの数値があるのですが、
これを一次元配列としてaに代入するには
Dim a(4) As Integer
でa(0)〜a(4)までの5つの型を宣言し、
a(0)=10
a(1)=20…
と毎回 改行して代入しないといけませんか?
javaのように
int a[] a={10,20,30,40,50};
のように一回で代入できませんでしょうか?
ご存知の方どうかご教授ください。よろしくお願いします。
OS:XP VB6.0
0052デフォルトの名無しさん
05/01/31 19:10:50ループでファイル名を指定してオープンしようとしたとき、指定ファイルが無くなった
ときに、エラーになるが、エラーの帰り値などを参照してループから抜け出るには?
初歩の恥ずかしい、質問ですがよろしくお願いします。VBは初めてなもので
0053デフォルトの名無しさん
05/01/31 19:15:56Array
0054デフォルトの名無しさん
05/01/31 19:27:300056デフォルトの名無しさん
05/01/31 20:40:36オープンする前に
On Error Resume Next して、
オープン直後に Err.Number を調べる
または、オープン前にファイルの存在チェックする
005751
05/01/31 22:13:38一次元配列は「a = array(10,20,30,40,50)」で解決できたのですが、
下記のような二次元配列はどのようにして宣言すればよいのでしょうか?
10,20,30
40,50,60
70,80,90
0058デフォルトの名無しさん
05/01/31 22:23:31あんたの辞書には「自分で調べる」とか「自分の頭で考える」って項目はないのか?
それが「あえて」人に聞くようなことかい?
こんなググるかMSDNみれば3分で解決するようなレベルの内容に
答える奴もどうかしてると思うが。
0059デフォルトの名無しさん
05/01/31 23:47:18Private Sub CreateLink_Click()
Clipboard.SetText "テストテスト", vbCFText
End Sub
などと書いて
自アプリ実行させたんですけど、フォーム上のテキストボックスには
Ctrl+vで貼り付けれるのですが、ノートパッドなどひらいてCtrl+vしても
はりついてくれないのです。 よろしくおねがいします。
0060デフォルトの名無しさん
05/01/31 23:51:03すまん自己解決した。クリアせないかんのか。m(_ _;)m
0061デフォルトの名無しさん
05/02/01 06:28:24ありがとうございます
参考にしてテストします
0062デフォルトの名無しさん
05/02/01 08:53:23win2000,vb6.0 or win2000,vbaです。以下のプログラムで、すべて同じ値しか返って来ませんでした。
'【指定された文字が先行バイトかどうかを調べます】
Declare Function IsDBCSLeadByte Lib "Kernel32" (TestChar As Byte) As Boolean
Declare Function IsDBCSLeadByteEx Lib "Kernel32" (CodePage As Integer, TestChar As Byte) As Boolean
Private Sub コマンド72_Click()
Dim length, cnt As Integer
Dim char1, msg, msg2, swork As String
Dim ascii As Byte
'* Stringの内容をチェック
swork = "abcあいう"
length = LenB(swork)
' length = LenB(StrConv(swork, vbFromUnicode))
msg = ""
msg2 = ""
For cnt = 1 To length
char1 = MidB(swork, cnt, 1) '1バイト取り出して、文字コードに変換する
' char1 = MidB(StrConv(swork, vbFromUnicode), cnt, 1)
ascii = AscB(char1)
msg = msg + Right("00" + Hex(ascii), 2) + "," '文字コードを16進数の文字列に変換する
msg2 = msg2 & CInt(IsDBCSLeadByte(ascii)) & ","
Next cnt
Call MsgBox("元の文字列=" & swork & Chr(10) & msg & Chr(10) & msg2)
End Sub
0063デフォルトの名無しさん
05/02/01 09:18:20バイナリエディタを作ろうと思っているのですが、何万桁も表示するため、
なるべくメモリ消費量の少ないコントロールを使いたいと思います。
自分なりに調べてLabelかListViewが良いのかなと感じたのですが、
何かお勧めがあったら教えていただけないでしょうか
0064デフォルトの名無しさん
05/02/01 09:22:44使い方次第です
表示する前後部分だけコントロールに送ってやれば消費はどれも少ない
0065デフォルトの名無しさん
05/02/01 10:00:05ありがとうございます
なるほど、そういうやり方がありましたか
それならMSHFlexGridとVScrollBarを組み合わせてやってみようと思います
0066デフォルトの名無しさん
05/02/01 15:18:3449です。行きがかり上デバッグしてみた
Dim length, cnt As Integer
Dim char1, msg, msg2, swork As String
Dim ascii As Byte
'* Stringの内容をチェック
swork = StrConv("abcあいう", vbFromUnicode)
length = LenB(swork)
msg = ""
msg2 = ""
For cnt = 1 To length
char1 = MidB(swork, cnt, 1) '1バイト取り出して、文字コードに変換する
ascii = AscB(char1)
msg = msg + Hex(ascii) + "," '文字コードを16進数の文字列に変換する
msg2 = msg2 & CInt(IsDBCSLeadByte(ascii)) & ","
Next cnt
Call MsgBox("元の文字列=" & StrConv(swork, vbUnicode) & Chr(10) & msg & Chr(10) & msg2)
IsDBCSLeadByteは使えるようです。
それと... Dim length, cnt As Integer は
Dim length As Variant
Dim cnt As Integer
になるのは知ってるよね
006766
05/02/01 15:43:35IsDBCSLeadByte は、全角2バイト目でも全角1バイト目と判定する文字コードがあるようなので実際に使うのは難しいかもです。
連投スレ汚し役立たずでスマソ...orz
006845
05/02/01 15:53:28レスありがとうございます。
IsDBCSLeadByte関数自体は使えるのですが、
期待していた戻り値とは違ったために、「私の環境ではうまく動きませんでした」
という表現をしてしまいました。
"abcあいう"
期待していた戻り値:msg2=0,0,0,0,-1,0,-1,0,-1,
私の環境での戻り値:msg2=0,0,0,0,0,0,0,0,0,
>それと... Dim length, cnt As Integer は ...
これは知りませんでした、実務では気をつけるようにいたします。
0069デフォルトの名無しさん
05/02/01 16:23:18いいかげんソースの容量が増えてきたのでバックアップ時に不要ファイルを消してからバックアップ取ろうと思ってる。
で、「VBの不要ファイルってのがどれか?」ってのと「そのファイルを捜して削除するのに何使ってる?」って質問。
0070デフォルトの名無しさん
05/02/01 18:36:26そんな神経質なことするぐらいなら圧縮でもしちゃう方が早いきがする。
ていうか、今時VBのソースぐらいの容量が問題になる環境ってのが想像できん。
パラノイアの人?
0071デフォルトの名無しさん
05/02/01 18:59:46*.vbw
あと、ActiveXコンポーネントをコンパイルすると、中間ファイルみたいの(拡張子は忘れた)が作成される事があるがそれもいらない
0072デフォルトの名無しさん
05/02/01 19:00:35>>56
上手くいきました、ありがとうございました。
0073デフォルトの名無しさん
05/02/01 19:17:10Msbarcode9.ocx を用いてバーコード化(Code128)して表示、印刷させるアプリを作成しています。
現在バーコードの表示までは完成したのですが、プリンターへ出力出来なくて困っております。
バーコードフォント(Code128)をPrinter.Font.Nameにセットして
BarcodeCtrlのValueをプリンタに送信するだけしてみたのですが
印刷物と、PrintFormでハードコピーしたもの内容が明らかに違うのと、
バーコードリーダーで読み込んだ際に印刷物の方は読み込めず、
ハードコピーした方はリーダーでも読み込みができ、
Textboxのデータとも一致している状況です。
このBarcodeCtrlで変換したバーコードイメージを
そのままプリンターへ送る事は出来ないのでしょうか?
いろいろ検索した結果VB-BarCode .NETなる物もあったのですが、
このコンポーネント?なるものを導入しないと駄目なのでしょうか?
長くなりましたが、VB初心者で上手く表現出来てないかもしれませんが、
ご存知の方がいらっしゃいましたらご教授ください。
0075デフォルトの名無しさん
05/02/01 22:37:36DataReportのラベルにフォームのラベルの内容を直接移すには
どうすればいいですか?
最初は
DataReport1.Section1.label1.caption = form1.label1.caption
みたいな単純なコマンドだと思ってたんですがやっぱり無理でした...
0076デフォルトの名無しさん
05/02/02 05:42:12PictureBoxに、自作のLineStyleの直線を引く方法を教えてください m( _ _ )m
(例えば3点鎖線のような)
0077デフォルトの名無しさん
05/02/02 12:58:53ペン
0078デフォルトの名無しさん
05/02/02 14:54:35調子くれて ActiveXControl 作ってたら、テスト段階では動くのに、コンパイルしてみたら、
「Visual Basic でサポートされていないオートメーションが変数で使用されています。」
ってエラーがでますた。
このエラーの意味は何となくわかるが、どの変数かが特定できません。
怪しいところを、一つずつ修正してコンパイルしていけばいいように思うんですが、これだと辛いです。
簡単に特定する方法はありませんか?
0079デフォルトの名無しさん
05/02/02 14:56:53それとも机上でバグ?
0080デフォルトの名無しさん
05/02/02 14:58:38コンパイルしたときに、エラーが表示されるだけなんです。
0081デフォルトの名無しさん
05/02/02 15:04:41どんなモジュール使っているのか列挙しないとMSの野郎以外分かりません
0082デフォルトの名無しさん
05/02/02 16:35:42APIのパラメーターがくさいな。
P-Codeコンパイルでもだめ?
008378
05/02/02 17:08:08ちなみに現在参照しているのは、
Visual Basic For Applications
Visual Basic runtime objects and procedures
Visual Basic objects and procedures
OLE Automation
です。
全部の変数の型を確認するのは嫌なので、何とかお知恵を・・・
0084デフォルトの名無しさん
05/02/02 17:15:270085デフォルトの名無しさん
05/02/02 17:47:53Variant型がくさいと思うけど。
008678
05/02/02 18:19:00詳細きぼんぬ
>>85
Variant 型を宣言している部分を全部変えてコンパイルしないと確認できないんですけど、他に何かよい方法はありますか?
0087デフォルトの名無しさん
05/02/02 20:56:55全体的に意味不明というか情報不足だよ。
たとえば「現在参照している…」ってそれ自作コントロール使ってるアプリのこと?
それとも自作コントロール自身?
どんな機能のコントロールなのかは極秘事項で人に明かせないの?
いつものことだが人にESPを期待しない。
あんたの思念は言葉で表現しないと人に伝わらないよ。
つーか自作コントロールってそもそもコンパイルして使ってみるなりしないと
テストも糞もないと思うんだけど。
なんか開発環境と実行環境が違っていて、自作コントロールが参照しているCOMの
タイプライブラリがちゃんとインストールされていないなんてオチの予感がする。。
008884
05/02/02 21:38:55面倒でお気に召さないかもしれないけど。
0089デフォルトの名無しさん
05/02/02 23:01:27OnErrorってなんだよ。
0090デフォルトの名無しさん
05/02/02 23:31:180091デフォルトの名無しさん
05/02/03 00:58:33VBSでUDP(又はIPパケット)を送信する方法を、ご存じの方教えてください。
目的は、自作のスクリプトからsyslogメッセージを送ることです。
MSDNで、「.NET FrameworkでUdpClientクラス」を見つけましたが、
VBSで使えるモノでしょうか?(そのままでは動かないことは確認しました。)
あとは、GoogleでVB(VBSでない)やCで「WinSock」を使う例が見つかりましたが
そのままでは使えませんし。
よろしくお願いします。
009278
05/02/03 09:30:39>>たとえば「現在参照している…」ってそれ自作コントロール使ってるアプリのこと?
>>それとも自作コントロール自身?
えっと、自作コントロール自身がコンパイルできないので、自作コントロール自身の参照を列挙しました。
コントロールを使用する不特定多数のプロジェクト側を書いても意味ないと勝手に思ってしまったものですから。
まさか、コントロールを呼び出す側の参照内容も明示しなければいけないなんて、ボクには想像もつきませんでした。
>>いつものことだが人にESPを期待しない。
>>あんたの思念は言葉で表現しないと人に伝わらないよ。
「Visual Basic でサポートされていないオートメーションが変数で使用されています。」 の変数を調べるのに、
怪しい変数を外してコンパイルを繰り返すしか方法はないんですか?
というのが知りたいんです。最初から同じ質問内容のつもりだったんですが、エスパーでないとわからないでしょうか?
もしくはボクの文章力がないのでしょうか?
>>どんな機能のコントロールなのかは極秘事項で人に明かせないの?
ボクの知りたいのは、「Visual Basic でサポートされていないオートメーションが変数で使用されています。」 の変数を調べるのに、
怪しい変数を外してコンパイルを繰り返すしか方法はないんですか?というのが知りたいんですが。
この場で見ず知らずの方に、仕様を明らかにして根本的にデバッグしてもらうとか、エラーの出ている変数を特定してもらうつもりなら詳細説明が必要でしょう。
しかし、そこまでをお願いするならプログラマなんて辞めたほうがマシですよね。多分・・・
>>ーか自作コントロールってそもそもコンパイルして使ってみるなりしないと
>>テストも糞もないと思うんだけど。
お説教ありがとうございます。以後気をつけます。
おっしゃる通り、コンパイルして使ってみるなりしないとテストもクソもないのです。
そこでお願いです。コンパイルするために、問題のある変数を調べる方法を教えてもらえませんか?
0093デフォルトの名無しさん
05/02/03 09:50:09言えないんだわ。
二分木検索って手もある訳だから、大きく割って上か下かで、検索
すればすぐだろ。
009478
05/02/03 10:23:38>>二分木検索って手もある訳だから、大きく割って上か下かで、検索
>>すればすぐだろ。
この方法は同様の現象(コンパイル時にのみエラーがでる)際に、何度か試したことがあります。
プロジェクト全体が大きい場合やモジュール数が多い場合、また広範囲のソースコードを操作するため、あまりやりたくなかったのですが、やはり、この方法しかないんですね・・・
ということで、この方法で見つかりました。
>>変数のオートメーションエラーなんだから、Variantが怪しいとしか
はい、その通りでした。
public property get AAA(optional byval V as Variant = Null) as CMyClass
の Null がお気に召さなかったらしく・・・ "" に変えたら通りました。
ありがとうございました。
ちなみに87氏の説では、あなたはエスパーと言う事になりますね。
0095DethLow
05/02/03 12:30:51ACCESSで作成したデータベースから顧客すべてのメールアドレスを取得し
メーラーのBCCに自動で挿入し件名・本文を入力した後にコマンドボタンを押したら
送信する処理は作成できるんでしょうか?
0096デフォルトの名無しさん
05/02/03 12:47:54できます。
0097デフォルトの名無しさん
05/02/03 12:48:49そういう方法では普通やらない
メルマガの作り方から勉強して下さい
009893
05/02/03 13:43:12エスパーではなく屁スパかな。
0099DethLow
05/02/03 14:41:560100デフォルトの名無しさん
05/02/03 15:38:200101デフォルトの名無しさん
05/02/03 15:55:24インデックスはどうやって知るのですか?
0102デフォルトの名無しさん
05/02/03 17:16:02コントロール配列だったら、イベント引数の Index で取得できます。
010378
05/02/03 18:01:29アクティブなコントロールを得るには、activecontrol オブジェクトを使うと楽です。
こんな感じで書くと良いですよ。
if (activecontrol.name = "txtArray") then
CurrentIndex = activecontrol.index
end if
0104デフォルトの名無しさん
05/02/03 19:17:08C# のように見える (w
0105デフォルトの名無しさん
05/02/03 19:50:03ありがとうございます
0106デフォルトの名無しさん
05/02/03 20:00:31どんなゲームが望みなんだろう?
こんな漠然とした質問も久しぶりに見たよ。
0107デフォルトの名無しさん
05/02/03 23:39:36DataReportのLabel1にフォームのLabel1を表示したい場合は
DataReport.Sections("Section1").Controls("Label1").Caption = Form1.Label1
でいけたんですけど同じように
DataReport.Sections("Section1").Controls("Image1").Picture = Form1.Image1.Picture
とイメージを持っていこうとすると
「オブジェクトはこのプロパティまたはメソッドをサポートしていません」
と実行時エラーが出るのですが何が悪いのでしょうか
0108デフォルトの名無しさん
05/02/04 09:58:581. フォームにラベルとコマンドボタンを配置
2. 乱数を発生させ、その値に応じて「グー」、「チョキ」、「パー」をラベルに表示
これでじゃんけんゲームの完成じゃ。
宿題なんだからここから先は自分で考えな。
0109デフォルトの名無しさん
05/02/04 11:23:41splitを使って出た文字を違うフォームのテキストにそれぞれ表示させたいのですが、
うまくいかず困っています。宜しくお願いします。
Dim i As Integer
Dim sData() As String
sData = Split(sKey, ",")
For i = 0 To UBound(sData)
Load Form2
Form2.Show
Next
0110デフォルトの名無しさん
05/02/04 12:50:23VBScript上で行っています。
エンコードを繰り返していると、原因不明(エラーハンドルは捕まえられません)
のままScriptが止まった状態になります(プロセスは生きています)
このようにスクリプトが止まってしまう現象として、考えられる原因は
何がありますでしょうか・・・ メモリリークとか怪しいと思っていますが
リークしているか調べるられるのでしょうか・・・
0111デフォルトの名無しさん
05/02/04 14:07:02Dim sData() As String
Dim f() As Form2
sData = Split(sKey, ",")
ReDim f(UBound(sData))
For i = 0 To UBound(sData)
Set f(i) = New Form2
f(i).Caption = sData(i)
f(i).Show
Next
0112デフォルトの名無しさん
05/02/04 15:38:17ありがとうございます。大変助かりました。
0113デフォルトの名無しさん
05/02/04 16:52:02VB6開発環境でGrepやブックマークのショートカットキー対応などの機能を持ったアドインを自作したいのですが、
どこか参考にできるようなサイトや書籍はないでしょうか?
ググってみたけどアドインを解説しているサイトはなかなか見つからなくて…
0114デフォルトの名無しさん
05/02/04 20:55:280115デフォルトの名無しさん
05/02/05 02:33:21keyPresをみてみると、codeは正しく来ているのですが・・・
0116デフォルトの名無しさん
05/02/05 03:25:57例えばキーロガーとか。
まあ、そんな間抜けなロガーは無いか。
0117デフォルトの名無しさん
05/02/05 03:55:23かんたん、キープレスでキャッチしてない、
女を馬鹿にするなよ
0118デフォルトの名無しさん
05/02/05 12:42:28なんのアドインだよ。
0119デフォルトの名無しさん
05/02/05 13:17:07Set
0120デフォルトの名無しさん
05/02/05 16:10:49MSChart SP4
MSChartでX軸を左向きにするにはどうすればいいでしょうか?
0121デフォルトの名無しさん
05/02/05 17:23:583 text1
5 text2
8 text3
3+5 text4←計算式をテキストボックスに出すにはどうやってやればいいんでしょうか?
0122デフォルトの名無しさん
05/02/06 02:17:25・・・パズルか?
う〜ん、意味がわからん。
0123デフォルトの名無しさん
05/02/06 02:25:35text1 & "+" & text2
0124デフォルトの名無しさん
05/02/06 02:26:47text4に計算式を出さなくちゃいけないんだけど
やりかたがわからないです。
text1とtext2に入れた数をtext3に答え
text4に式を出す。横には足すとか引くとか色々なボタンがあるんですけど
0125デフォルトの名無しさん
05/02/06 02:30:38サンクスです。出来ました。ありがとうございました。
0126デフォルトの名無しさん
05/02/06 04:59:33Dim 入力1 As Integer
Dim 入力2 As Integer
Dim 累計 As Integer
Dim cnt As Integer
入力1 = Text1.Text
入力2 = Text2.Text
累計 = 0
cnt = 入力1
Do While cnt <= 入力2
累計 = 累計 + cnt
cnt = cnt + 1
Loop
Text3.Text = 累計
これで普通に求まるんですが
偶数の累計はどこを変更すればいいんでしょうか?
0127デフォルトの名無しさん
05/02/06 10:32:25データ2つしかなかったら「累計」じゃなくて「合計」だと思うんだけど・
っていうか、偶数の累計??判じ物の一種ですか?
ていうか、こんなレベルの内容をよく人に聞けるもんだ。
こんな感性の人間は何やらしてもおそらく満足にできないタイプだろう。
普通黙って本屋行って入門書買って勉強するとかするでしょ。
VB5,6なんてウェブ上にだって親切なサイトがいくらでもある。
学校の宿題なら当然テキストがあるだろ。
0128デフォルトの名無しさん
05/02/06 15:27:09Dim 入力2 As Integer
Dim 累計 As Integer
Dim 偶数計 As Integer
Dim cnt As Integer
入力1 = Text1.Text
入力2 = Text2.Text
累計 = 0
偶数計 = 0
cnt = 入力1
Do While cnt <= 入力2
累計 = 累計 + cnt
If cnt Mod 2 = 0 Then
偶数計 = 偶数計 + cnt
End If
cnt = cnt + 1
Loop
Text3.Text = 累計
Text4.Text = 偶数計
0129デフォルトの名無しさん
05/02/06 16:52:58ありがとうございます!
0130デフォルトの名無しさん
05/02/06 16:58:26どうプログラムを書けばいいんでしょうか?
0131デフォルトの名無しさん
05/02/06 17:09:4812345
12345
12345
12345
12345
12345
12345
のように表示させるプログラムを作りたいのですが
わからず困っています。
ヒントだけでも教えてもらえませんしょうか?
0132デフォルトの名無しさん
05/02/06 17:23:14IsNum()
0133デフォルトの名無しさん
05/02/06 17:25:47for i=0 to 6
for j=0 to iif(i>3,3-i,i-3)
print ""
next j
print "12345"
next i
0134デフォルトの名無しさん
05/02/06 17:52:44Print Space(Abs(i - 3)) & "12345"
Next i
0135131
05/02/06 19:00:44ありがとうございます。
テスト期間中なので、ほんと感謝です。
他にもわからなくて困っているのですが、質問させていただいてもよろしいでしょうか?
1
2
3
4
5
1 2 3 4 5 7 8 9
6
7
8
9
これもfor〜next文を使用してプログラムを
完成させるらしいんですが・・・全くわかりません・・・。
0136デフォルトの名無しさん
05/02/06 19:05:19あなたはテストで出される問題を全てここでやってもらうつもりか?
0137デフォルトの名無しさん
05/02/06 19:12:14水平の数字列に6が無いのが気になる。
0138デフォルトの名無しさん
05/02/06 19:16:35サンクスです。
0139デフォルトの名無しさん
05/02/06 20:28:35For i = 1 To 9
Print s & i
s = Left(s, Len(s) - 1)
If s = vbNullString Then
For j = 1 To 9
If j <> 6 Then
s = s & j & Space(1)
End If
Next j
Print s
s = Space(10)
End If
Next i
0140131
05/02/06 21:00:10135>>一応自分でもやってるんですが、どうしても解らなくて・・・
134さんと139さんのヒントを元に自分でやってみたんですが
For i = 1 To 5
Print Space(Abs(i - 5)); i
Next i
Print 12345678910#
For j = 6 To 10
Print Space(Abs(j - 20)); j
Next j
菱形っぽいですができました。
できるだけがんばってみます。
ありがとうございました。
0141デフォルトの名無しさん
05/02/06 21:31:12ポップアップメニューを右クリで表示させるんですが
左クリしても表示しちゃうんですが表示させないようにするには
どうすればいいでしょうか?
0142デフォルトの名無しさん
05/02/06 21:33:00どうやって表示させてるんだ
0143デフォルトの名無しさん
05/02/06 21:34:17PopupMenu M_Popup
End If
ですが・・・
0144デフォルトの名無しさん
05/02/06 21:36:09すいません。
0145デフォルトの名無しさん
05/02/06 21:53:21出ません。左クリでも最初の画像だけ出ちゃいます。
左クリで出さないようにして
右クリで画像出すにはどうやればいいんでしょうか?
ちなみにメニュー欄にあるやつを押せば画像はちゃんと出るんですが・・・
0146デフォルトの名無しさん
05/02/06 21:59:40基地外だな
0147デフォルトの名無しさん
05/02/06 22:07:34コーヒー噴いちゃったじゃんかよ。責任とれ!
0148デフォルトの名無しさん
05/02/06 22:48:50むきだしのコックをぶちこんでくれ
0149デフォルトの名無しさん
05/02/06 22:54:16左では出なくなったんですが
0150デフォルトの名無しさん
05/02/06 22:57:570151デフォルトの名無しさん
05/02/06 23:05:350152デフォルトの名無しさん
05/02/07 02:18:260153デフォルトの名無しさん
05/02/07 13:44:432000からの移行なんだけど、コーディングでささいな変更とかあったら教えてください
お願いします
0154デフォルトの名無しさん
05/02/07 15:14:15自前でソート機能を作成したのですが、項目部分(トップの見出し)
をクリックした再のRowsの値により、どの行がクリックされたか判定しています。
なぜかIF Rows = 0 Thenの処理を飛び越えるのでウオッチウインドウで確認したところ
見出しのトップ行と次のデータ部の行で取得できる値がいづれも��1�≠ェ
戻ってきてしまいます。見出し行クリック時のうまい判定のしかたを伝授願えないでしょうか?
環境はVB5です。
>>153
うちの環境では5でも6でも順調に動いていますよ。
0155154
05/02/07 15:36:34コードで項目部の色変えることにします。
0156デフォルトの名無しさん
05/02/07 16:17:53いちおう線はつながりますけど、泥縄式に調整したので自信なくて。
pi = 4 * Atn(1)
r = 8 ' 半径
x = 15 ' 開始X座標
y = 40 ' 開始Y座標
w = 300 ' 幅
h = 200 ' 高さ
Line (x + r, y)-Step(w - 2 * r - 1, 0)
Line (x + r, y + h)-Step(w - 2 * r - 1, 0)
Line (x, y + r)-Step(0, h - 2 * r - 1)
Line (x + w - 1, y + r)-Step(0, h - 2 * r - 1)
Circle (x + r + 1, y + r + 1), r, , pi * 0.5, pi
Circle (x + w - r - 1, y + r + 1), r, , 0, pi * 0.5
Circle (x + r + 1, y + h - r - 1), r, , pi, pi * 1.5
Circle (x + w - r - 1, y + h - r - 1), r, , pi * 1.5, pi * 2#
0157デフォルトの名無しさん
05/02/07 17:11:10RoundRect 使え
0159デフォルトの名無しさん
05/02/07 20:55:510160デフォルトの名無しさん
05/02/07 21:00:20するな。
0162デフォルトの名無しさん
05/02/08 06:50:16ActiveXのInstancingプロパティをMultiUse
0163デフォルトの名無しさん
05/02/08 09:08:24やめろ、ひどい目にあうぞ。
あんな簡単な、マルチメディアタイマーさえ動かない。
0164デフォルトの名無しさん
05/02/08 18:58:590165デフォルトの名無しさん
05/02/08 18:59:300166デフォルトの名無しさん
05/02/08 19:06:07VBでも使えるsocketの非同期通信だけでやっているわけで
VBだってどうにかなる。
0167デフォルトの名無しさん
05/02/08 19:18:270168デフォルトの名無しさん
05/02/08 19:22:570169デフォルトの名無しさん
05/02/08 20:00:480170デフォルトの名無しさん
05/02/08 23:42:26作ったソフトなら、VBランタイムを別途インストールしなくても一応起動しますよね?
だけど、日本語を使ってると、その日本語が化けるって症状が起こりますよね?
この認識あってます?
0171デフォルトの名無しさん
05/02/08 23:46:52特殊なコンポーネント使ってなければ、英語のVBランタイムの一部は入ってるな
0172デフォルトの名無しさん
05/02/08 23:50:030173デフォルトの名無しさん
05/02/09 11:20:000174デフォルトの名無しさん
05/02/09 16:22:46うpろだおくれ。
0175デフォルトの名無しさん
05/02/09 17:27:050176175
05/02/09 17:48:380177175
05/02/09 18:00:09何か良い方法はないんでしょうか?
0178デフォルトの名無しさん
05/02/09 19:47:190180デフォルトの名無しさん
05/02/10 04:15:28Windows APIでもいいのですが、可能でしょうか?
i)特定番号のI/Oポートの内容を見る。
ii)特定番号のI/Oポートに書く。
iii)特定のI/Oに入力があったときに割り込み処理
(またはデータの取りこぼしがないようにする方法)
よろしくおねがいします。
0181デフォルトの名無しさん
05/02/10 11:56:03I/Oボードのメーカーにきけば?
0182デフォルトの名無しさん
05/02/10 15:09:10fup8004.lzh で、受信パスは vb で。
0184デフォルトの名無しさん
05/02/10 17:16:00i),ii)はCでDLLを作れば可能だけど、
iii)は難しいかな。割り込みはドライバーの仕事だからな。
どうしてもと言うならCのアプリを作ってポーリングでポートを見て、
MessageでVBに飛ばすかな。
0185デフォルトの名無しさん
05/02/10 17:41:48iniファイルの置き場所をwindows(もしくはwinNT)直下では無く、
任意のフォルダ(出来れば実行ファイルが置いてあるフォルダ)にしたいのですが、
そのパス等、どのように記述すれば良いんでしょうか?
どうかよろしくお願いいたします。
0186デフォルトの名無しさん
05/02/10 19:05:490187デフォルトの名無しさん
05/02/10 22:30:12カタワか?君のような人は死んだほうがいいと思う。
http://www.google.com/search?num=100&hl=ja&as_qdr=all&q=vb6+%E5%AE%9F%E8%A1%8C%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%80%80%E3%83%91%E3%82%B9%E3%80%80%E5%8F%96%E5%BE%97&lr=
0188デフォルトの名無しさん
05/02/10 23:25:17お役に立てて光栄。大切にしてケロ。
ろだの方はデリるズラ。
0189デフォルトの名無しさん
05/02/11 10:27:090190デフォルトの名無しさん
05/02/11 10:39:440191デフォルトの名無しさん
05/02/11 10:41:36Hex
0192デフォルトの名無しさん
05/02/11 10:45:19ありがとうございます。あともう1つお願いします。
数値の先頭を0埋めしてある桁数になるようにしたいのですが、
どうやるのが普通でしょうか。VB.NETならPadLeftとかいう関数が
あって便利なのですが。
800 → 000800
みたいなことです。
0193デフォルトの名無しさん
05/02/11 10:49:420194デフォルトの名無しさん
05/02/11 10:50:360195デフォルトの名無しさん
05/02/11 10:51:220196デフォルトの名無しさん
05/02/11 11:06:27どうもです。助かりました。
0197デフォルトの名無しさん
05/02/11 12:00:57OleDrawで描いてみるとか。
0198デフォルトの名無しさん
05/02/11 12:23:21表示して、件名や本文や宛先を表示したいんですがどうやれば
いいかわからない・・・orz
よろしくお願いします。m(_ _)m
0199デフォルトの名無しさん
05/02/11 12:30:46メッセージの作成ウィンドウが表示されたら件名や本文や宛先を
入力して表示させます。
0200デフォルトの名無しさん
05/02/11 12:31:07ttp://www.atmarkit.co.jp/fdotnet/dotnettips/211startmail/startmail.html
のようにすればいい
0202198
05/02/11 13:32:43mailto:をコピペしたんですが、本文の1行目が必ず改行されてしまいます。
ShellExecuteEXを使用しています。
どうして・・・orz
0203デフォルトの名無しさん
05/02/11 16:01:14質問なんですが、DirectXを使ってスタートボタンを押したときにでるメニューを消したいのですが、どうすればいいでしょうか。
お願いします。
0204デフォルトの名無しさん
05/02/11 18:42:11DirectXを使ってスタートボタンを押すことはできねーぞw。
もちっと読む側のことを考えて文を書けや。
全画面(占有)モードのときWindowsキーを押されても機能しないようにしたいってことかな?
それならDirectInputで強調レベルにDISCL_FOREGROUNDを指定するだけでいいはずだぞ。
DISCL_NOWINKEYってフラグもあるけどな。
0205203
05/02/11 21:54:22すいませんでした。そのことを心がけるようにします。
DISCL_FOREGROUNDに指定すると、DiDev.GetDeviceStateKeyboardのところでエラーになりました。
何故でしょうか。
0206203
05/02/11 23:04:20これを改善する方法を教えてください。
0207デフォルトの名無しさん
05/02/11 23:22:19だからぁ〜、どういう風にやってて、どんなエラーなんよ?
メソッドの意味とか理解しないでコピペしてんじゃねーの?
アクセス権とかちゃんとてやってる?
「心がける」なんて小学生にでも「言える」ぞ?ん?
0208デフォルトの名無しさん
05/02/12 15:25:22メニューエディタのところに表示しないダミーのメニュー置いてショートカットキー指定すればいいジャン、って思ったのですが
shift+enterというのがないもので・・・
0209デフォルトの名無しさん
05/02/12 15:35:39keydownイベントでできました。。。
0210デフォルトの名無しさん
05/02/12 20:10:41「フォームが最小化された」「最小化の状態から復元された」をトリガにして
処理を行いたいのですが、どのようにすればよいでしょうか。
フォームの width、height を監視するくらいしか思いつかないのですが。
0211 ◆uILP78dVVc
05/02/12 20:20:04最小化等の動作をするとForm_Resizeイベントが発生します。
イベント内でフォームのWindowStateを見て、処理を分岐します。
0212デフォルトの名無しさん
05/02/12 20:20:51Private Sub Form_Resize()
Select Case Me.WindowState
0214198
05/02/13 13:54:355列100行のスプレッドシートで、表示可能行は20行です。
一番先頭の行を表示した状態で、その先頭行をクリックしたまま下のほうに
マウスを移動するとスプレッドシートがスクロールするのですが
最終行が一番上にきて終了してしまいます。
最終行を表示可能行の一番下に表示したいのですが
どうやったいいのでしょうか?
よろしくお願いします。 m(_ _)m
0215198
05/02/13 14:20:060216デフォルトの名無しさん
05/02/13 16:41:56VB:VB5.0 SP無し
PCゲーム(Winning Post7)のメモリを操作したいと思ってます。
OpenProcess → ReadProcessMemory → WriteProcessMemory
ということまでは分かったんですが、チンプンカンプンです。。
メモリマップ等が詳しく載っているサイトや本をご存知の方いますか?
もしくは類似品を作ったことがある人で、手順を教えていただける方
いますか?
どうぞ宜しくお願いします<(_ _)>
0217デフォルトの名無しさん
05/02/13 17:40:37VB6 SP5
EPSON LP-8100
です。
印刷の事なのですが、「逆方向から印刷」をコードで
実現したいのですが、可能でしょうか?
0218デフォルトの名無しさん
05/02/13 17:49:00【Q】
>>217の文章で、217以外の人間に
217が実現したいと思っていることを伝達することは可能でしょうか?
【A】
不可能だと思います。
「逆方向からの印刷」ってどういうこと?
機種名書かれても普通の人はどんなプリンタかわかりません。
0219デフォルトの名無しさん
05/02/13 18:00:02その程度もわからないなら口を挟むな
0220217
05/02/13 18:20:57印刷したいものをPictureコントロールに乗せて、そ
れを180゜回転して印刷、なんて事も考えたのですが、
処理に時間がかかり過ぎるかなぁとか。
プリンタドライバの操作は簡単ではないですか?
0221デフォルトの名無しさん
05/02/13 18:31:56紙を反対にセットしたほうが早いと思われ。
0222203
05/02/13 18:32:23DirectDrawの強調レベルのところが
DD.SetCooperativeLevel hWnd, DDSCL_EXCLUSIVE Or DDSCL_FULLSCREEN Or DDSCL_NOWINDOWCHANGES
DirectInputの強調レベルのところが
DiDevK.SetCooperativeLevel hWnd, DISCL_FOREGROUND Or DISCL_NONEXCLUSIVE
となっております。
これで、Windowsのキーを押すと、
実行時エラー '-2147024866(8007001e)';
オートメーション エラーです。
指定されたデバイスから読み取れません。
というエラーが出ます。
0223217
05/02/13 18:59:21決められた様式の枠内に文字を印刷したいのですが、
プリンタの印刷範囲の下マージンが17mmで印刷しきれ
ません。「逆方向から印刷」する事で、解消できるの
ですが、コモンダイアログの「印刷」を出してきて、
「プロパティ」を押す、という方法はしたくないので
す。
0224デフォルトの名無しさん
05/02/13 20:08:53今までどういう方法で印刷してたの?
プリンタのプロパティで“逆方向から印刷する”ってあるの?
0225デフォルトの名無しさん
05/02/13 20:26:39それなら、描画位置をScaleXXプロパティ使ってずらすだけでいいと思うんだけど。。
まさかFormのPrintFormなんて使ってないよね?
0226217
05/02/13 20:31:29ら印刷」もしくは「180゜回転して印刷」というのが
あります。
0227デフォルトの名無しさん
05/02/13 20:38:19作りたいのですがこれにはDateDiff関数を使いますよね。
MSDNでDateDiffの使用例を見て作ったのですが、これからの日(今日で言うと2/14〜12/31)を求める事はできたのですが
過ぎてしまった日にち(今日で言うと1/1〜2/12)を入れてやると「-〜日」となってしまうんです。
12月をまたいでもちゃんとできるようにしたいのですがどうすればいいのでしょうか?
DateDiff関数じゃなく別の関数を使用しなければならないのでしょうか。
ちなみにこれがMSDNに記載されていた使用例です。
Dim TheDate As Date
Dim Msg
TheDate = InputBox("日付を入力してください。")
Msg = "今日からの日数: " & DateDiff("d", Now, TheDate)
MsgBox Msg
0228デフォルトの名無しさん
05/02/13 20:41:11Printerオブジェクトの中にそれらしきプロパティないの?
0229デフォルトの名無しさん
05/02/13 20:43:291/1の日を指定したのであれば今日を元に「指定した日まで後320日です」という風にしたいんです。
0230デフォルトの名無しさん
05/02/13 20:50:36日付を入力するときに、年を入力しなかったでしょ。
でないと、2004年1月1日と解釈しますよ。
0231デフォルトの名無しさん
05/02/13 20:51:53西暦と月と日全てが無いと、計算できないだろ?
0232230
05/02/13 20:54:08○ 2005年
0233デフォルトの名無しさん
05/02/13 20:54:120234デフォルトの名無しさん
05/02/14 10:33:27何か原因はありますかね?
私の環境では再生できるのですが、
他の環境では再生できないらしいです。
その再生できない環境ですが、サウンドカードも積んであるようですし、
なにより他の再生ソフトでは再生できるようでして。
midiも特に拡張音源は使ってませんし。
ググッたところmidiのフルパスにスペースが含まれていると
正しく動作しないとあったのですが、
その辺もダブルクォーテーション入れて対策済みですし。
原因がサッパリつかめなくて困ってます。
どなたかご教授願えないでしょうか?
0235234
05/02/14 10:36:590236230
05/02/14 10:57:43鉄道屋さんですよね?
マップをクリックしたら、再生がはじまるときがあるのですが、
頭だし1秒か2秒で止まってます。
0237234=usk ◆.GszOyJeCA
05/02/14 11:25:30まぁついでなんで作品と疑惑のソース晒しておきますね。
ラップ化したクラス : ttp://isweb43.infoseek.co.jp/computer/kml/midiclass.zip
本作品 : ttp://isweb43.infoseek.co.jp/computer/kml/tetsudoya1010b.zip
0238デフォルトの名無しさん
05/02/14 12:54:130239デフォルトの名無しさん
05/02/14 19:21:44無責任に気づいた点を並べてみる。
MCIのコマンドについては知らないので何も指摘できませんが。。
(1) cStateって配列を初期化で、文字列の最後のナル文字は不要だと思う。
(2) 各プロパティ・メソッドの中のmciRetStringは、mciSendStringをコールする前に
mciRetString = String(255, vbNullChar)のようにナル文字で埋めておく必要があると思う。
特に、MidiStateプロパティの中の処理はまずい気がする。
ていうか、MSDNにあるように、使わないんだったらNULL渡しとけばいいのでは?
0240デフォルトの名無しさん
05/02/14 21:55:360241usk ◆.GszOyJeCA
05/02/15 00:56:35レス有難うございます。
cStateのNullを取ったりしていろいろ文字列弄くってたら
>>236さんと似たような症状が出てきました。
mciRetStringに返される文字列がNT系と9x系で違ってるかも。
Nullの後すべてNullで埋められるか、デフォルトのままか。
デフォルトのままだったらcStateと同値判定されて正しく動作して
Nullで埋められたら同値判定されず正しく動作しない。そんな感じがします。
とりあえず、その辺の修正をして今は報告待ちです。
0242239
05/02/15 01:12:24If cState(i) = LCase(mciRetString) Then
ここは明らかにまずい。
>>239に書いたように、mciRetStringはまずAPI呼ぶ前にナル文字で埋めとく必要があるし、
APIによってセットされた文字列を検査するときも、下のMSDNにあるようにLeft$とInstrを
組み合わせてナル文字の前で切ってやる必要があると思う。
http://www.microsoft.com/japan/developer/library/VBCon98/vbconpassingstringstodllprocedure.htm
0244デフォルトの名無しさん
05/02/15 10:05:39VB起動時に毎回office2000のインストーラが立ち上がってくるようになったんだけど・・
なぜ?
ちなみにAccess使ってるんだけど何か関係あるの?
0245デフォルトの名無しさん
05/02/15 12:01:31たしか既知のバグ。
MSに対処方法が載ってる。
0246244
05/02/15 12:35:19[OFF2000] DHTML 編集コントロールにアクセスすると Windows インストーラが起動する
http://support.microsoft.com/default.aspx?scid=kb;ja;304107
0247244
05/02/15 12:38:36[VB6] Office 2000 の CD を要求される
http://support.microsoft.com/default.aspx?scid=kb;ja;417320
0248154
05/02/16 18:03:18文字列"c:\folder\main\app\Job"
というフォルダパスなのですが、一番最終の"Job"の文字列のみを抽出したいのですが
何卒お願いいたします
0249デフォルトの名無しさん
05/02/16 18:13:34またはSplitで分けた末尾。
0250デフォルトの名無しさん
05/02/16 18:40:07ぱっと思い浮かばない人がプログラミングに関わるのは本人にとっても悲劇だと思う。
0251デフォルトの名無しさん
05/02/16 19:32:23splitって、文字列を後ろから¥探すより速いですか?
0252デフォルトの名無しさん
05/02/16 19:46:130253デフォルトの名無しさん
05/02/17 00:09:55bitblitでvbSrcCopyを使って描写するとフォームの下が透けて見える
いろんなサイトのサンプルコードと見比べたけど原因が分からない
bitblit vbSrcCopyで背景を描写(したいんだけどバグる)
↓
bitblt vbSrcAndとvbSrcInvertでオブジェクトを描写(これは正常に動作してる)
↓
Refresh
Wait
↓
繰り返し
助けてくれ
0254デフォルトの名無しさん
05/02/17 00:11:310255デフォルトの名無しさん
05/02/17 00:17:57AutoRedraw忘れてた
なにやってんだ俺は・・・自分一人で空回り
0256デフォルトの名無しさん
05/02/17 00:45:50スピードを気にしてる人どぞ
2バイト文字に対応してるかどうかは知らん
0257デフォルトの名無しさん
05/02/17 01:09:05なんか食える人間ゴロゴロいるんだがいつごろ、消えるのだ?
0258デフォルトの名無しさん
05/02/17 01:19:47.NETかJavaの時代になるまで。
0259デフォルトの名無しさん
05/02/17 11:10:12FTPサーバー上にある実行ファイルの更新日付を見て、
ローカルにあるものよりも新しかったらダウンロードして
上書きをするというものを組んでるんですが、
この場合、一旦日付を見ずに無条件に落としてきて
ローカル上でFileDateTime関数で上書きするか否かを判断するしか無いでしょうか?
FTPサーバー上のファイルの更新日付を見る方法はありますでしょうか?
よろしくお願いいたします。
0260デフォルトの名無しさん
05/02/17 11:52:39ところでWindowsXP Pro + SQLServer2000 + VB6.0の構成でサーバ兼クライアントとして
動かした人います? WindowsServerの短期代替として動くか気になるところなんですか・・・
0261デフォルトの名無しさん
05/02/17 13:59:52知らんけど、同時接続数次第では?
0262デフォルトの名無しさん
05/02/17 14:08:12FTPに何を使ってるかによるけど。
FTPの制御データの流れは単なるキャラクタのやり取りだからね。
lsなりdirなりリスト表示コマンドを投げて、その戻り値を文字列解析して該当部分を切り出せばいけるでしょ?
(.netだとフリーのFTPライブラリとかがあって、そのソースを見ると勉強できるよ。)
0263259
05/02/17 14:41:00レスどうもです
InetでFTPやってるんですが、InetのFTPコマンドでは日付取得するコマンドが
存在しないらしく、ちょっと参ってました。
とりあえずdirの返り値を見てみようと思います
参考になりました!
0264デフォルトの名無しさん
05/02/17 14:58:01手でFTPやってみれば判るけど、相手側FTPサーバによって戻り文字列のフォーマット違うから注意してね。
0265259
05/02/17 16:34:27だめっす。。。。
手でFTPのdir打つと「更新日付/サイズ/ファイル名」が返ってくるんだけど、
Inetだとファイル名の一覧しか帰ってこない。。。。。。鬱
なんかいい方法無いっすかね?orz
0266デフォルトの名無しさん
05/02/17 16:49:061.ぐれーぷしちーあたりで買う。
2.作る
ttp://x68000.q-e-d.net/~68user/net/ftp-1.html
ttp://members.jcom.home.ne.jp/1213687801/cs/menugeneral.html
下のリンク、.netだけどDirを送って結果を受けるまでなら簡単に移植できると思うよ。
コマンド部分はソケットで自作、実際のFTPはInetコントロールでも何でも。
(Inet使ったことないんで、実はそれで出来るっていう人いたら突っ込んでください。)
0267デフォルトの名無しさん
05/02/17 16:57:163.バッチファイルでFTPコマンドを実行して、ls結果をファイルにリダイレクトさせる。
VB
Shell "Command.com バッチファイル"
バッチファイル
FTP < コマンドファイル >outdata.txt
コマンドプロンプトで手でやってみれば判りますが・・・。
” <コマンドファイル”には手で実行するFTPコマンドを記述
">out・・・"は結果の標準出力をファイルにリダイレクト。
コマンドファイル内は多分
USER xxx
PASS xxxx
Connect
LS
BYE
かな?
で、その出力されたファイルを解析。
0268デフォルトの名無しさん
05/02/17 17:00:450269デフォルトの名無しさん
05/02/17 17:03:22VBのShell起動した先から標準出力ってパイプで取れたっけ?
コンソールを作って標準入出力ってのはやったことあるんだけど。
0270259
05/02/17 17:21:29ありがとうございますorz
バッチファイルでいくのが一番手っ取り早そうなんで、
ちとやってみます。
ほんとありがとう!
0271デフォルトの名無しさん
05/02/17 18:53:47V.BのACTIVEX.EXEからV.C作成のノーマルDLLを呼び出す事が
できません。
色々と調べたのですが、ヒントが何処にも乗っていなく。
DLLがACTIVEXDLLなら当然呼び出せるのですが、
素材としてノーマルDLLがファイルとして存在する
だけなもので、DLLをACTIVEX化する事も出来ません。
どなたか、V.BのACTIVEX.EXEからノーマルDLLを
呼び出せる方法をご存知無いでしょうか?
OS:WindowsXP
V.B6.0
を使用しています。
よろしくお願いします。
0272デフォルトの名無しさん
05/02/17 19:07:17普通のEXEからはそのDLLの呼び出し成功するの?
0273デフォルトの名無しさん
05/02/17 19:10:35通常のEXEからは動作実績のあるDLLです。
ですから、今回流用使用しようとしたのですが、
ACTIVEX.EXEからはDLLが認識できないようなのです。
何かいい知恵はありますか?
0274デフォルトの名無しさん
05/02/17 20:58:17パスが通ってないとかじゃないよな?
DLLをc:\Windowsとかに突っ込んでもダメ?
0275デフォルトの名無しさん
05/02/18 00:31:330276すみません。教えてください。
05/02/18 09:41:22エラーが出てうまくいきません。。
↓---------------------------------------------
Dim objXls As Object
Set objXls = CreateObject("Excel.Application")
With objXls
.Workbooks.Open (xlsPath), ReadOnly:=True
'<このobjXlsのシートは「sheet1」のみです。>
'<「sheet1」には「CheckBox1」が設置してあります。>
'=(この部分でエラー)==============================
.Sheet1.CheckBox1.Value = True
.CheckBox1.Value = True
'↑(2個のどちらを使ってもエラーが出ます。)========
End With
---------------------------------------------
エラー内容
「オブジェクトは、このプロパティをまたはメソッドをサポートしていません。」
とでます。
何かご存知の方教えていただけますでしょうか??
宜しくお願いします。
0277デフォルトの名無しさん
05/02/18 11:20:40Excel -> Book -> Sheet だよね。BookとSheetが同レベルになっていないか?
0278デフォルトの名無しさん
05/02/19 01:51:59だとProgram Filesのスペースのせいかうまくいきません。
”でくくっている文字列の中でどのようの表現したらよいのでしょうか?
0279デフォルトの名無しさん
05/02/19 02:18:11DDEとPROPどちらがおすすめでしょうか?
ソケットを使うって手もありますが、一番早いのはPROPですかね。
DDEはCancelを返さないとエラーが起こるので頻繁にやり取りを
行うプログラムには向いていないように思えるのです。
0280デフォルトの名無しさん
05/02/19 08:37:46サーバー管理はしていません。
1台のパソコンで残り3台のパソコンをネットワーク
から切断するソフトをVBで開発したく教えて下さい。
使用目的はWinnyやMX等を仕事中に起動させている
アホな社員を阻止する為です。
0281デフォルトの名無しさん
05/02/19 09:08:390282デフォルトの名無しさん
05/02/19 10:05:37どうすれば良いのですか?
バカなので食わしく方法を
説明してください。
0283デフォルトの名無しさん
05/02/19 10:15:35>アホな社員を阻止する為です。
ルータの設定を変えろ、アホ。
0284デフォルトの名無しさん
05/02/19 10:28:39しまうので無効なんですよ。
0285デフォルトの名無しさん
05/02/19 10:33:44複数行リスト表示可能なコントロールって無いでしょうか.
0286デフォルトの名無しさん
05/02/19 11:07:51ルーターにパスワードかけたらどうよ?
0287デフォルトの名無しさん
05/02/19 12:32:060288デフォルトの名無しさん
05/02/19 12:35:28ルータにパスを設定できる権限を持った人に頼みなさい。
その権限がないものがネットワークの他人の接続を
どうこうしようなんてお門違いです。
0289デフォルトの名無しさん
05/02/19 13:02:41違うのです。僕がネットワークを管理しているのですが・・・
上長がルータのパスワードを教えろとか聞いてきてヤリタイ放題
なのです。
0290デフォルトの名無しさん
05/02/19 13:13:190291デフォルトの名無しさん
05/02/19 14:18:110292デフォルトの名無しさん
05/02/19 15:15:36ListView
0293デフォルトの名無しさん
05/02/19 15:59:40アンカーちゃんとしろ
0294デフォルトの名無しさん
05/02/19 16:08:38DDEは.NETから廃止されました
0295デフォルトの名無しさん
05/02/19 18:14:00スペースを含むようなパスはダブルクォートで括る。
こんなのは Windows の基本。
>>279
サブクラス化してメッセージでやりとりしてもいいんじゃない。
IDEが落ちないモジュールも今なら出回ってるし。
0296デフォルトの名無しさん
05/02/20 09:04:040297デフォルトの名無しさん
05/02/20 09:45:44例えば、最初は真下に移動し、障害物があれば左に移動。
以下同様に、左→上→右→下→左→上・・・・・・と移動します。
つまり移動量と方向は(0,1)→(-1,0)→(0、-1)→(1,0)→(0、1)・・・
のように変化します。
なにか上手い方法ってありませんかねえ?
caseを使って切り替えるくらいしか思いつかないんですけど
なんかダサイ気がするもんで。
0298デフォルトの名無しさん
05/02/20 10:06:040299デフォルトの名無しさん
05/02/20 10:23:380300297
05/02/20 10:33:150301デフォルトの名無しさん
05/02/20 11:35:55VBの本で、何かお勧めの本はありませんか?
0302デフォルトの名無しさん
05/02/20 11:50:12わかってると思うけどそんなくだらないネタに納得しないほうがいいと思うよ。
俺ならその「ベクトル」をマネージするクラスを作るね。
それならエレガントかつ将来の拡張性もある程度確保できる。
しかしネタってのはわかってる奴がやって初めて面白いのに。
何もわかってない>>298-299みたいなVB厨のやるネタは面白くもなんともないな。
0303デフォルトの名無しさん
05/02/20 12:58:380304デフォルトの名無しさん
05/02/20 15:30:20こういう質問はよく見かけるけど、
本なんて人によって合う合わないがあるから無意味じゃね?
どんな自称初心者にも最適な本なんてもんがあれば
MicrosoftがVBに付属でつけるやろ。
2chで聞いてる暇あったら大き目の本屋にいって
片っ端からのぞいてみた方がいいと思うよ。
っていうか、こういう「覚え方」を人に聞くのって
なんか頂けないなぁ。オイラの考え方が古いのかなぁ・・
0305デフォルトの名無しさん
05/02/20 16:38:57本を聞く=覚え方を聞く
だとは思えないなぁ。
あと、100点の本は無いかもしれないけど0〜80点くらいの本はあると思う。
20点の本は殆どの人の役に立たないけど、80点の本は殆どの人の役に立つわけでしょ?
良書を薦めるのは無意味じゃないんじゃないかなぁ。
0306デフォルトの名無しさん
05/02/20 17:50:53よく見たら、全く役に立たない。
こんな本全く役に立たないやと思って捨てておいたら、
半年後すばらしい本であることがわかったり。
英語のVBの本を翻訳した本て、いい物が多いよね、
たくさんある中から翻訳するので、その時一度
選別されてる。
0307デフォルトの名無しさん
05/02/20 17:53:02MSがそう決めたから
0308デフォルトの名無しさん
05/02/20 17:53:39http://www112.sakura.ne.jp/~kaientai-project/creategame.htm
2chスレ
http://game10.2ch.net/test/read.cgi/mmominor/1108379282/l50
ただ今職人(プログラマ、グラフィッカー)はげしく募集中!
あなたの力を思う存分発揮してください。
0309デフォルトの名無しさん
05/02/20 17:54:23これからやるんなら、VB6じゃ無くて、VB.NETの方がいいのでは、
と思うのですが、この板の趣旨に合わないので激しく反省。
0310デフォルトの名無しさん
05/02/20 23:52:55マジレスすると
これからやるんなら、VB.netよりもC#の方が100倍いいのでは、
と思うのですが、この版の趣旨に合わないので激しく反省。
0311デフォルトの名無しさん
05/02/21 01:45:52足し算・引き算・かけ算・わり算・三角関数(sin・cos・tan)の計算が出来る関数電卓のプログラムを作りたいのですが、足し算意外が分からなくて困ってます。
本を呼んでも具体的な方法が書いてなかったのでどなたかプログラムを教えて頂けませんか?
0312デフォルトの名無しさん
05/02/21 01:49:01足し算がわかって引き算わからないの?どんなプログラム書いてるんだ
0313デフォルトの名無しさん
05/02/21 02:13:360314デフォルトの名無しさん
05/02/21 02:17:07Dim EnterFlag As Boolean
Dim s As Long
Count Pl As Single = 3.141593
*==*==*==*==*==**==*==(0〜9までのキー)
Private Sub key_Click(Index As Integer)
If EnterFlag Then
Text1.Text = ""
EnterFlag = False
End If
If Len(Text1.Text) < 10 Then
Text1.Text = Text1.Text & Index
End If
End Sub
*==*==*==*==*==**==*==(足し算のコマンド)
Private Sub Command1_Click()
s = s + Val(Text1.Text)
Text1.Text = s
EnterFlag = True
End Sub
*==*==*==*==*==**==*==(引き算のコマンド)
Private Sub Command2_Click()
s = s - Val(Text1.Text)
Text1.Text = s
EnterFlag = True
End Sub
*==*==*==*==*==**==*==引き算の場合のみ、数字の前に-が付いてしまいます(例:3-2=-1)
0315デフォルトの名無しさん
05/02/21 03:14:16で、掛け算はできて割り算ができないと言い出すのか?
0316デフォルトの名無しさん
05/02/21 09:04:15ヒント:構文解析、再帰法
0317デフォルトの名無しさん
05/02/21 11:58:570318デフォルトの名無しさん
05/02/21 13:40:42まさか手打ち?
0319デフォルトの名無しさん
05/02/21 14:48:26「\\ホスト名\フォルダ名\」で既存のフォルダを調べる方法はないのですか
0320デフォルトの名無しさん
05/02/21 14:51:01ちなみにdirコマンドでやると
「ファイル名または番号が不正です。」エラーになるのです
0321デフォルトの名無しさん
05/02/21 14:54:36「\\ホスト名\フォルダ名\」はできますね…
すみません、間違いです。
上記ではなく…ホストPCの検索です。
dir(\\ホスト名\)では無理なんですよね…。
0322デフォルトの名無しさん
05/02/21 16:03:020323デフォルトの名無しさん
05/02/21 16:20:36変数が定義されていません。 だそうですが
0324デフォルトの名無しさん
05/02/21 17:24:20だめだから廃止したんでしょ?使わないほうがいい?
0325デフォルトの名無しさん
05/02/21 19:33:54だめだからじゃない
他のOSにDDEが無いから
.NetはMS-Windowsだけで動くものじゃないぞ
0326デフォルトの名無しさん
05/02/21 21:45:02OSはXP、ver6.0、SP1です。
現在簡単なプログラムを作ってまして、ある条件値に対応した画像を表示させるもので、
Picturebox.Picture = loadpicture("c:\***.bmp")
というような記述をいくつか並べてるんですが、
「.exeを作成」をして、できたexeファイルを配布した場合、このままでは当然ながら他のパソコンでは表示できません。。
これを他の環境でも表示させるようにしたいのです。
理想はexeファイルに各々の画像データも一緒に取り込まれる形なんですが、そのようなexeファイルの作成の
仕方ってあるのでしょうか。
やはり、それぞれのファイル指定の仕方を("***.bmp")という感じにして、exeファイルと各画像データを
zipでまとめて配布するしかないのでしょうか?
できればプログラム実行中以外には画像ファイルを覗けないようにしたいのですが・・・よろしくお願いします。
0327デフォルトの名無しさん
05/02/21 21:48:03そのBMPのサイズが大きくなければリソースとしてEXEに埋め込める
0328デフォルトの名無しさん
05/02/21 21:52:34.exeと同じフォルダに置けば読み込めるけど。
0330デフォルトの名無しさん
05/02/22 00:18:38[3]→[-]→[2]→[+]と押された場合
変数sの値は
[3]・・・s=0
[-]・・・s=0-3=-3
[2]・・・s=-3のまま
[+]・・・s=-3+2=-1
になってま。
0331326
05/02/22 21:06:52リソースにBMPファイルを追加することはできたのですが、
それを本体からどのように呼び出したらいいのかがわかりません・・・。
リソースに追加されたある画像ファイルの名称を"abc"とした場合、
どのような記述で呼び出せばいいのでしょうか?
ネット上・本屋で調べてみたのですが、要領を得ません。おねがいします。
0332デフォルトの名無しさん
05/02/22 21:33:420333326
05/02/22 21:48:47ありがとうございます!
すると今回の場合でしたら、
LoadResPicture(abc, vbResBitmap)となり、vbResBitmapは決まり文句となるんですね。
助かりました。ありがとうございました。
0334332
05/02/22 22:16:09Yes
>bResBitmapは決まり文句となるんですね
No
VbResBitmap -- 0 ビットマップ リソース
VbResIcon -- 1 アイコン リソース
VbResCursor -- 2 カーソル リソース
0336デフォルトの名無しさん
05/02/23 15:41:55WindowsXp+VB5を使い画像ファイルの縦と横のサイズを取得したいのですが
GetFileInformationByHandleで取得できる構造体BY_HANDLE_FILE_INFORMATIONの
構成には該当情報が無いようですね。画像の種類はVBが標準でサポートしている
もののみ(BMP;JPG;GIF)で、調べた限り次のやり方でできそうですが
1.Susieプラグイン等を使う
2.Pictureオブジェクトに取り込みサイズを測る
今回は1.は用途からするとパス。2.はImageコントロールを使って高速性を
出したいのでちょっと
ファイルプロパティに項目がありますから取得できると思うのですが
構造体やAPI関数を教えていただけますでしょうか
0337デフォルトの名無しさん
05/02/23 18:37:16>2.はImageコントロールを使って高速性を出したいのでちょっと
言ってる意味がよく解らないんだけど、もしかして、
サイズ取得とImageコントロール用で2回読み込みとか考えてる?
0338デフォルトの名無しさん
05/02/23 19:36:11考えてました・・・・実験した結果Visibleプロパティをfalseにして
読んで処理してからtrueにすることでそこそこ動きましたので
これで逝こうと思います
0339デフォルトの名無しさん
05/02/23 20:08:03visible ?
もしかして、pictureってpictureboxのことかな。
どんなコードを書いているのか知らないけど、普通は次のようなコードを書くと思う。
'image1はImageコントロール
'hogeは読み込みたいファイル
dim a as Picture
set a=loadpicture(hoge)
debug.print a.height,a.width
set image1.picture=a
0340デフォルトの名無しさん
05/02/23 21:01:48ScaleX/ScaleYを使えば変換できるでしょう。だから>>339がきっとスマート。
で、質問なんですけど
Dim lngArray1(256& * 256&) As Long, lngArray2(255&, 255&) As Long, i As Long
For i = 0 To 256& * 256&
lngArray1(i) = i
Next i
Call CopyMemory(lngArray2(0, 0), lngArray1(0), 65536)
Dim x As Long, y As Long
For y = 0 To 255
For x = 0 To 255
Debug.Print "(" & x & ", " & y & "):" & lngArray2(x, y)
Next
Next
私の環境ではなぜかx*y=15000あたりからずっとlngArray2(x, y)の値が0になってしまいます
悪いのはCopyMemory(MoveMemory)でしょうか。32bitDibを二次元配列でいじりたいんです。
0341340
05/02/23 21:12:010342デフォルトの名無しさん
05/02/23 21:25:25気を付けて行ってらっしゃい。
門限までには帰ってくるんですよ。
0343デフォルトの名無しさん
05/02/23 23:07:53ヘッダ読むだけで出来る。
JPGの位置は固定じゃないけど。
昔、英語のコードを検索したらすぐ見つかった。
0344デフォルトの名無しさん
05/02/24 00:16:33OSは出来たのですがオフィスの方法が分かりません。
お願いします。
0345デフォルトの名無しさん
05/02/24 00:36:140346デフォルトの名無しさん
05/02/24 00:39:25Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colSoftware = objWMIService.ExecQuery _
("Select * from Win32_Product where name like '%Office%'")
For Each objSoftware in colSoftware
msgbox objSoftware.Name & ":" & objSoftware.Version
Next
0347デフォルトの名無しさん
05/02/24 00:56:49>>345
ありがとうございます
今からやってみます
0348デフォルトの名無しさん
05/02/24 01:16:02("Select * from Win32_Product where name like '%Office%'")
オートメーションエラーで中断されてしまいます。
("Select * from Win32_Product")
なら動くのですが、Office以外も全部出てきてしまいます。・・・
0349デフォルトの名無しさん
05/02/24 01:37:160350デフォルトの名無しさん
05/02/24 03:32:35MScalが入ってるとは限らないだろ
0351デフォルトの名無しさん
05/02/24 08:53:32VB 5.0にてコモンダイアログ5.0を例えばcomdlg32old.ocx等に
変更し登録して使用することができません
5.0と6.0が並んでいて選択は5.0をチェックし「適用」や「OK」
ボタン押しても実際に再度コンポーネント選択画面では
6.0が選ばれている状態で、実際のフォームにダイアログを
貼り付けようとしても「ライセンスが無い」と怒られます
Windowd2000の頃は大丈夫だったような気がしてますがXpで
両者を共存させることってできますか?
0352351
05/02/24 09:02:28http://support.microsoft.com/kb/181854/EN-US/
0353デフォルトの名無しさん
05/02/24 14:49:31Open "FILENAME" For Random As #1
n = LOF(1) / LEN(XXX) + 1 →XXXは64バイト固定のデータ
put #1, n, XXX
Close #1
この様なソースを書いて何度も実行すると
データが最後のレコードに書き込まれず、
ファイルが倍のスピードで大きくなってしまいます。
試しに上記ソースの2行目をなくしてnを固定で入れた場合
n=1 ファイルサイズ=64B
n=2 ファイルサイズ=192B
n=3 ファイルサイズ=320B
という感じで64×nバイトにならず64×(n×2−1)
となってしまいます。
VB6.0を使っているのですが、何か書き方が悪いのでしょうか?
それともこういうもんなのでしょうか?
0354デフォルトの名無しさん
05/02/24 15:13:540355353
05/02/24 16:31:340356デフォルトの名無しさん
05/02/24 17:05:23コンポーネントが見つからないのですが・・・
表にデータを表示するのって簡単に出来ないですか?
0357デフォルトの名無しさん
05/02/24 17:51:27Microsoft DataGrid xxx
or
Microsoft FrxlGrid
0359338
05/02/24 18:21:59ありがとうございます。うまくいきました・・・・・・・が
調子に乗って数十枚程度表示するとVB5がCPU100%使ってフリーズします
プログラム未完成なのでコンパイルするとどうなるか試していません
また再帰とかOpenArray等は使用していませんけどヒープを喰っちゃうん
でしょうかね
0360デフォルトの名無しさん
05/02/24 18:27:04PDFファイルを表示させる方法おしえてくさい
0361デフォルトの名無しさん
05/02/24 18:29:040362338
05/02/24 18:37:52使用したJpegファイルが「不正なピクチャ」だそうで・・・・・・・
Windowsビルトインビューアや他のグラフィックソフトでは問題なく
表示しますけどヘッダー情報かなにかがおかしいデータみたいです
0364デフォルトの名無しさん
05/02/24 19:47:25openステートメントでレコード長を指定していないからじゃないかな
0366デフォルトの名無しさん
05/02/24 20:45:17FileCopy & Killでもまあ良いんですけど無条件に上書きつうのが・・・
MoveFileExについてはVBでの呼び出しを解説したサイトがあまり
無いようですけど他の方法にはどんなのがありますか?
0367デフォルトの名無しさん
05/02/24 20:55:11エスパーじゃないと君の文章の意味はわからないと思う。
0368デフォルトの名無しさん
05/02/24 21:10:24MoveFileEx自体簡単なAPIだし、それでもいいんじゃね?
0369デフォルトの名無しさん
05/02/24 21:26:46読解力に欠ける人でも分かるように書き換えてみました
尚、レスをして頂けたら嬉しさと驚きで家人みんなに自慢しそうです
「VBでファイルを移動する場合、VBに用意されているStatementは
FileCopyだけで、コピー後にKillすることで移動が実現できますが
この場合Windowsのシェルでコピーや移動を行う場合とは異なり
無条件で移動先に同名ファイルが存在する場合に上書きしてしまいます。
これを避けたい場合、わたしの拙い技量で調べた限りAPIでMoveFileExを
呼び出す手法があるようですがGoogle等検索エンジンで調べてもVBでも
使用方法があまり見当たりません
宜しければこれについて詳しいサイトを教えて頂くか、こちらに書き込んで
頂けると幸甚に存じます。またそれ以外に役に立つ方法をご存知であれば
ご教示頂けますと幸せのあまり屁をこきそうです」
0370デフォルトの名無しさん
05/02/24 21:29:05Nameステートメントじゃだめなの?
0371デフォルトの名無しさん
05/02/24 22:17:50{
var hex="";
for(var i=0; i<param.length; i++){
hex = hex + param.charCodeAt(i).toString(16);
}
return hex;
}
↑
javascriptで文字列から無理矢理16進数に変換した文字列を
vbsで10進数の文字列に戻したいんですがどう記述すればいいでしょうか?
0372デフォルトの名無しさん
05/02/24 22:54:29"00 12 34 56 78 90 123 234 255"
と言うことだな!
↓あとはよろしく。
0373デフォルトの名無しさん
05/02/24 23:12:34>>370の通り、NameでOKなはず。
> Name ステートメントはファイル名を変更して、必要に応じて他のフォルダにファイルを移動します。
0374デフォルトの名無しさん
05/02/25 00:24:33スレ違い。
あとはよろしく↓
0375371
05/02/25 01:14:230376デフォルトの名無しさん
05/02/25 01:20:01http://pc5.2ch.net/test/read.cgi/tech/1055075469/
0377デフォルトの名無しさん
05/02/25 01:23:57イントエジャーでいいの?
まさか、インテグラじゃないですよね?
0378デフォルトの名無しさん
05/02/25 01:26:080379デフォルトの名無しさん
05/02/25 01:26:510381デフォルトの名無しさん
05/02/25 01:54:530382デフォルトの名無しさん
05/02/25 01:56:220383デフォルトの名無しさん
05/02/25 02:20:110384デフォルトの名無しさん
05/02/25 02:53:39その上に置くラベルやフレームの背景を透過させ、FORM1の画像を透かして表示させる、、、
というようなことは可能でしょうか?
0385デフォルトの名無しさん
05/02/25 03:14:040386デフォルトの名無しさん
05/02/25 04:25:58いいのでしょうか?
単純にvb5でランダムアクセスしても無理みたいなんですけど・・・。
0387デフォルトの名無しさん
05/02/25 08:08:510388デフォルトの名無しさん
05/02/25 08:30:42自分で試せ
0389デフォルトの名無しさん
05/02/25 08:35:250390デフォルトの名無しさん
05/02/25 08:46:490391デフォルトの名無しさん
05/02/25 09:33:44ファイル更新日付を変えないような方法ってありますか?
CInternetSession系のAPI使うと落し込んだ日付に変わってしまいます。
FTPツール(FFFTP等)でローカルに取り込む再に日付が変わらないオプションが
あるのでなんか方法があるんだと思います。どなたかご存知のかた教えてください。
0392デフォルトの名無しさん
05/02/25 09:43:06日付を変えないという発想ではなく、
盗難したファイルを元の持ち主の日付で、ていぞう(なぜか・・)すれば?
ファイルのタイムスタンプを書き換えてしまえと。
0393デフォルトの名無しさん
05/02/25 09:57:43とうなんファイルではありませんよ。ローカルと管理サーバ間でのやりとりを行うツールです
FFFTPの日付を変えないオプションはファイル更新日付をAPI等で改竄している仕様なのでしょうか?
FTPは基本的にファイルを分解して転送後、再編成すると聞くので
更新日付が変わるのは当然だと思うのですが、何か知的な方法はありませんか?
0394デフォルトの名無しさん
05/02/25 09:58:23とうなんファイルではありません。ローカルと管理サーバ間でのやりとりを行うツールです
FFFTPの日付を変えないオプションはファイル更新日付をAPI等で改竄している仕様なのでしょうか?
FTPは基本的にファイルを分解して転送後、再編成すると聞くので
更新日付が変わるのは当然だと思うのですが、何か知的な方法がありましたら
伝授お願いします。
0395デフォルトの名無しさん
05/02/25 11:39:54>>393の通り、FTPではファイルはそのまま移動するんじゃなく
垂れ流しされた奴をこっちでファイル化ですからそのままでは日付は変わります。
APIでSetFileTimeあたりでどうですか?ってのが>>392です。
0396デフォルトの名無しさん
05/02/25 11:52:22If文でノットイコール(C言語では「!=」)ってどう書けばいいのでしょう?
0397デフォルトの名無しさん
05/02/25 11:54:32<>
↑です
0398デフォルトの名無しさん
05/02/25 12:18:27ありがとうございます。
FileTime等で予め、UNIX側のファイル情報を取得しておいて
FTP後にSetFileTimeってところですね
一度つくってみます。助言感謝いたします。
0399デフォルトの名無しさん
05/02/25 13:02:35ありがとうございました!
0400デフォルトの名無しさん
05/02/25 13:51:010401デフォルトの名無しさん
05/02/25 14:12:21実行時、リスト内のデータを選択すると、
コンボボックスのTEXT内が紺色(選択状態?)のままで、
文字が表示されません。
(別の領域をクリックすると選択した文字がTEXTに表示されます)
対処法があれば教えてください。よろしくお願いします。
0402デフォルトの名無しさん
05/02/25 14:13:31実行時、リスト内のデータを選択すると、
コンボボックスのTEXT内が紺色(選択状態?)のままで、
文字が表示されません。
(別の領域をクリックすると選択した文字がTEXTに表示されます)
対処法があれば教えてください。よろしくお願いします。
0403デフォルトの名無しさん
05/02/25 14:41:27質問の意味を取り違えてるかも知れないけど、
ラベルには透過可能なBackStyleプロパティがある。
フレームにはないけど。
基本的にはPictureBoxとか使って自前のコードで
背景の透過処理をすれば、透過できるはず。
0404デフォルトの名無しさん
05/02/25 15:51:22ラベルの透過はフォームに対してのみ有効。
他のコントロールに重ねたらダメ。
0405おしえて(VB+クリレポ)
05/02/25 18:32:54端末によってプリンタがことなるとセットアップのたびに
クリスタルレポートのプリンタ設定をいじらないといけなくて困ってます。
VB側から印字の直前にプリンタ設定を変更できないものでしょうか?
VBからのプリンタ設定&用紙指定方法を教えてください。
(環境:Win2K、VB6.0sp5、Seagate Crystal Reports 6.0)
0406COMってるんです
05/02/25 19:14:55言ってることがおかしいかも知れませんが
どちらもサーバー、どちらもクライアントな状態にしたいのです。
具体的には
クライアントからは検索するので普通にDBを叩くCOMを作成しサーバーに登録します。
それとは別にサーバー側からも不定期な情報イベントが起き、
クライアントの画面(ポップアップではなくメインの画面に)に情報を表示します。
代替案としては
・スレッド立てて、イベント系には別途TCPソケットを用意してサーバーから叩く
・定期的にイベントがあるかサーバーにCOMで聞きに行く
は考えているんですが、
理想としてはサーバー側からCOMキックされてメイン画面が更新される形にしたいのですが
何らかの実装方法はありますでしょうか。
シングルアパートメントだから無理とかそういうのがあれば、VBにもこだわりませんので
出来る出来ないのポインタをいただけると助かります。
0407デフォルトの名無しさん
05/02/25 19:18:21ユーザーコントロールを作成したのですが(TextBoxがベース)
作成したコントロールにフォーカスがある状態でカーソルキー
を押してもForm_keyDownイベントが発生しません。Enterキー、
テンキー他、一部のキーでは発生します。
ちなみにformのkeypreviewプロパティはTrueです。
もしかしてVBのバグでしょうか?解決方法がわかる方いましたら
教えてください。
>>405 クリレではおそらく無理です。
Declare Function SetDefaultPrinter Lib "winspool.drv" _
Alias "SetDefaultPrinterA" _
(ByVal pszPrinter As String) As Long
ドライバ複数作成して、↑を使って通常使うプリンタを変更すればよいのでは?
0408おしえて(VB+クリレポ)
05/02/25 19:29:59お返事ありがとう(;o;
やっぱり無理なんでしょうか、_| ̄|○
端末ごとのクリレポ設定作業をどうにかして簡略化したかったんですが。。。
残念!!
0409デフォルトの名無しさん
05/02/25 20:22:30ありがとうございます。ラベルはできてもフレーム類はできないんですね・・・。
Pictureboxによる背景の透過処理、で少し調べてやってみます。ありがとうございました。
0410デフォルトの名無しさん
05/02/25 23:13:28OpenPrinter,SetPrinter,SetPrinterData,SetPrinterDataEx
0411デフォルトの名無しさん
05/02/25 23:30:13コンボボックスはEXCELのがいいよ!
0412デフォルトの名無しさん
05/02/26 03:16:10DataGridを使ってレコードの内容を表示するプログラムを勉強しています。
ユーザの編集でなく、プログラム側からDataGridに空の行を追加したいのですが、
Column(列)、Split(分割ペイン)のAddは出来てもRow(行)の追加だけが見つかりません。
もしかしたら、自分がColumnsやrowの意味を取り違えているのかもしれないと
不安になってきたので、一度詳しい方に聞いてみようと思いまして。
どなたか、お答え頂けると凄く助かります。
具体的には、レコードを読んでDataGridに表示 →
DataGrid上に新たな行を作成 →
別のレコードを読んで、新たな行に表示。
というような、1つのグリッドに追加表示をしたいと考えているのですが……。
0413デフォルトの名無しさん
05/02/26 15:46:420414デフォルトの名無しさん
05/02/26 18:43:4310で割れば10の位の値
10で割った余りが1の位の値
0415デフォルトの名無しさん
05/02/26 19:38:480416デフォルトの名無しさん
05/02/26 20:19:37配列を関数に渡したい場合は、どのようにするのでしょう?
例えば、
Private Sub Command1_Click()
Dim A(1 To 3) As Integer
A(0) = 1
A(1) = 2
A(2) = 3
Text1.Text = CALC_A(A(0))
End Sub
この場合、関数側には、
function CALC_A(******) as Integer
****** ← この部分には、どのように書くのでしょうか?
それとも別の書き方があるのでしょうか?
0417デフォルトの名無しさん
05/02/26 20:35:50function CALC_A( a() as integer ) as Integer
0418デフォルトの名無しさん
05/02/26 20:49:520419416
05/02/26 20:50:39CALC_A(A(0)) をCALC_A(A())にしたら受け取れました。
0420デフォルトの名無しさん
05/02/26 20:54:350422デフォルトの名無しさん
05/02/27 00:11:58"0002"には出来ないものでしょうか?
+1ではintに変換されてしまってただの"2"になってしまいます……。
0423デフォルトの名無しさん
05/02/27 00:16:07学校の宿題は友達に聞きましょう。
友達いないなら諦めて入門書買ってまじめに勉強しましょう。
0424デフォルトの名無しさん
05/02/27 00:33:08考えなしに質問してしまってすいませんでした。
色々調べてみます。
0425デフォルトの名無しさん
05/02/27 00:43:38WORDなんかでは、文字の拡大・縮小が出来ますけど
あれって、どうやってるんでしょうかねえ・・・
0426デフォルトの名無しさん
05/02/27 00:48:010427デフォルトの名無しさん
05/02/27 01:02:430428デフォルトの名無しさん
05/02/27 01:13:140429デフォルトの名無しさん
05/02/27 03:27:010430デフォルトの名無しさん
05/02/27 12:42:18pictureboxに文字を出力してピクセル単位にpoint関数でドットの有無を読んで
拡大率を掛けてpsetしているんよ、知らなかったの?
0431デフォルトの名無しさん
05/02/27 14:20:38vbHimetricをpixelに変換したいのですが対象がScaleX,ScaleYメソッドが使えない
オブジェクトです。(Picture Object変数です)
何か方法はありますか?
0432431
05/02/27 16:06:58お目汚し失礼しました
0433デフォルトの名無しさん
05/02/27 16:38:33こう思ったらVB厨房の仲間入りだよ。
そりゃ単に座標変換の意味がわかってないだけ。
ていうか、そもそも印刷関係のアプリ作ってるのでもなければ
あえてvbHimetricみたいな物理量の座標系を選ぶ理由は何もないはずだけど。
0434デフォルトの名無しさん
05/02/27 16:41:270435デフォルトの名無しさん
05/02/27 16:54:330436デフォルトの名無しさん
05/02/27 17:28:00こんな感じのソフトを作りたいのですがプログラムのプの字も
しらない素人じゃ何年ほどの勉強が必要でしょうか?
独学で学ぶつもりなのですが。
0437デフォルトの名無しさん
05/02/27 17:55:54VBなら数週間でできると思うよ
VBは難易度低すぎるから君もやればできるよ
Option Explicitなんか切っちゃってがんがん書いてね
0438デフォルトの名無しさん
05/02/27 18:00:50毎日2時間で数ヶ月ってとこじゃないかな?
(モデル年齢35歳、文系の場合)
0439デフォルトの名無しさん
05/02/27 18:18:21ありがとうございます。 とりあえず半年をめどに学習に励んで見ます。
0440デフォルトの名無しさん
05/02/27 18:37:42ああ、無知すぎて何から探していいのかすらわからん。orz
どなたかヒントだけでもお恵みください。
A:任意のHP更新察知
↓
B:希望範囲の文字列抜き出し
↓
C:ケータイにメールとして転送
BとCはなんとかなったけど、本末転倒もいいところなカンジっす。
0441デフォルトの名無しさん
05/02/27 19:33:05WebBrowserコントロールを使って WebBrowser1.Document.body.innerText かな?
0442デフォルトの名無しさん
05/02/27 20:02:47移動したファイルを元に戻すのはどうしたら良いでしょうか?
0443デフォルトの名無しさん
05/02/27 20:24:43他のフォルダーに移動させたファイルは初めからUndoできるようにしています。
ゴミ箱への移動だけを手動操作にしても良いのですけど折角だからこれも元に
戻せるようにデザインしたいのですが…
0444デフォルトの名無しさん
05/02/27 20:38:44表示されれているかどうか、確かめるため、
If Form2.Visible = True Then
とすると、LoadされていないFormまでLoadされてしまいます
LoadしていないフォームはLoadしないでVisibleを
確かめる良い方法はありませんか。
0445デフォルトの名無しさん
05/02/27 21:04:56サンクス助かった。
よし、朝日が昇るまでに完成さしてみる罠
0446445
05/02/27 21:38:46短いのでカキコしてみる
Sub PrintHttpDocSimply()
Dim oHttp As Object
Set oHttp = CreateObject("MSXML2.XMLHTTP")
oHttp.Open "GET", "http://www.asia.microsoft.com/japan/", False
oHttp.Send
Debug.Print oHttp.responseText
End Sub
サンプルM$のサイトだけど堪忍な〜w
参考元
http://www.f3.dion.ne.jp/~element/msaccess/AcTipsVbaXMLHTTP.html
0447デフォルトの名無しさん
05/02/27 21:56:040448デフォルトの名無しさん
05/02/27 22:00:180449デフォルトの名無しさん
05/02/27 22:02:52For Each mForm In Forms
If TypeOf mForm Is (フォームのオブジェクト名) Then
(何らかの処理)
End If
Next mForm
0450デフォルトの名無しさん
05/02/28 00:35:21現在EnterPriseArchitect(以下EA)のアドインをVBで作成しています。
EAのプロジェクトブラウザに表示されたパッケージをクリックして
そのパッケージ情報を取得したいのですが、何かよい方法はありますでしょうか?
関連するサイト等が見つからないので苦労しています。
何かご存知の方いらっしゃいましたらご教授お願いします。
0451デフォルトの名無しさん
05/02/28 00:55:570452デフォルトの名無しさん
05/02/28 01:15:33VBの仕事がきます。
どうすればよいですか?
0453デフォルトの名無しさん
05/02/28 01:18:47そうだろう?兄弟
0454デフォルトの名無しさん
05/02/28 01:26:38もういやだ!
もういやだ!
0455デフォルトの名無しさん
05/02/28 06:42:19男ならVCで勝負だ
0456444
05/02/28 07:38:49なるほどそんな手が有るんですね。
仕方なくフラグでやっていたのですが、コードがすっきりしました。
有難うございました。
0457デフォルトの名無しさん
05/02/28 07:41:22殆どCのDLLで書いてVBから呼び出せ。
そうすりゃ立派なVBのプログラムだろ?兄弟
0458デフォルトの名無しさん
05/02/28 09:11:05作ったアプリがCPUを100%使用しフリーズすることがあります。
通常これを避けるためにSUSIE PLUG-INを使用する方法が一般的ですが
そのような破損ファイルでもWindows Xp標準ビューアで使用されている
shimgvw.dllなら問題なく表示できる場合がありますし拡張子が間違って
いても大丈夫ですよね。
VBでの活用法はありますか? MSのKB等で参考になるのとかご存知なら
教えてくだされ
0459デフォルトの名無しさん
05/02/28 09:18:18コンボボックスを使用したのですが、
実行時、リスト内のデータを選択すると、
コンボボックスのTEXT内が紺色(選択状態?)のままで、
文字が表示されません。
(別の領域をクリックすると選択した文字がTEXTに表示されます)
対処法があれば教えてください。よろしくお願いします。
0460458
05/02/28 09:50:210461デフォルトの名無しさん
05/02/28 11:53:11選択したイベントで、INDEXをTEXTに貼れば!?
0462デフォルトの名無しさん
05/02/28 12:40:20VB6sp5、XpPro です。
ユーザーコントロールを作成したのですが(TextBoxがベース)
作成したコントロールにフォーカスがある状態でカーソルキー
を押してもForm_keyDownイベントが発生しません。Enterキー、
テンキー他、一部のキーでは発生します。
ちなみにformのkeypreviewプロパティはTrueです。
ユーザーコントロール作成したことある方いませんでしょうか?
対処法あればお願いします。
0463デフォルトの名無しさん
05/02/28 15:36:45ユーザーコントロールってなに?
0464VB6.0です。
05/02/28 16:07:32if文を使用しもし文字列に「い」が含まれていたらという判定をしたいんですが
どうすればいいのでしょうか?
0465デフォルトの名無しさん
05/02/28 16:09:42特定のセルのみ文字の太さや色は変えられませんか?
また、MSFlexGrid.FixedAlignment(X) = 2
で一番上の行の文字が中央表示しませんがどうすれば良いのでしょう?
教えてください。
0466462
05/02/28 16:47:32自分が作成しているのはTextBoxに機能を付け加えたものです。
自分以外の方が作成された同じようなコントロールが配布されて
いましたので使ってみたのですが、やはり同じ現象でした。
ActiveXに追加した機能自体には問題ないのですが、本来TextBox上
にフォーカスがある状態でなんらかのキーを押すとフォーム側のKeyDown
などのイベントが発生するのですが↑↓←→キーを押したときにイベント
が発生しないという状態です。
>>464 InStr関数を使うとよいですよ。
0467デフォルトの名無しさん
05/02/28 17:23:46ユーザー自作のコントロール
詳しくはヘルプ参照
>>466
ユーザーコントロール以外にもTreeViewやListViewでも同じ症状が出ますね。
ユーザーコントロールのUserControl_KeyDownは来るみたいだから、
こっちで処理してはどうでしょうか。
もしくはサブクラス化するか。
0468VB6.0です。
05/02/28 17:30:35ありがとうございました
0469デフォルトの名無しさん
05/02/28 19:21:11inster関数を投入汁
0470デフォルトの名無しさん
05/02/28 20:07:55instr
0471デフォルトの名無しさん
05/02/28 21:07:56もういやだ!
もういやだ!
0472デフォルトの名無しさん
05/02/28 22:56:50というかすでに>>466が答えてる。
0473デフォルトの名無しさん
05/02/28 23:20:50一括して管理するには、どうすれば良いですか?
コンテナでしょうか?
0474デフォルトの名無しさん
05/03/01 00:54:35ユーザーコントロール化かな。
管理というのがデザインの話なら、pictureboxに配置。
0475デフォルトの名無しさん
05/03/01 01:17:24ユーザーコントロールがええと思う。
0476デフォルトの名無しさん
05/03/01 04:55:340477デフォルトの名無しさん
05/03/01 08:23:16「通じた」と思って答える奴もオジサンにはエスパーにしか思えない。。。
いや、エスパーってのは嫌味だから真に受けないように。
0478デフォルトの名無しさん
05/03/01 08:40:020479デフォルトの名無しさん
05/03/01 09:45:40> 特定のセルのみ文字の太さや色
RowとColでセルを指定してから、CellForeColorやCellFontBoldで設定可。
> FixedAlignment
ColAlignmentFixed?
0480デフォルトの名無しさん
05/03/01 13:10:050481デフォルトの名無しさん
05/03/01 13:13:19Dir関数じゃ不満?
0482465
05/03/01 13:26:23ありがとうございます。
フォントの問題は解決しました。
あとはセルの文字列を中央表示にしたいのですが、
ColAlignmentFixedAlignmentやCellAlignmentを「2」にしても
中央に表示されません。
ColAlignmentFixedだとコンパイルエラーになってしまいます。
0483デフォルトの名無しさん
05/03/01 13:35:37CellAlignmentは「2」じゃなくて3か4か5じゃない?
0484デフォルトの名無しさん
05/03/01 15:10:30filesystemobjectのFileExists。
>>481の言うdir関数でもいいと思うけどね。
0485デフォルトの名無しさん
05/03/01 15:46:06拡張子が TXT 以外のものが多数あり、時間がかかっています。
特定の拡張子のFilesコレクションを取得する方法はありますか?
Dim fso As New FileSystemObject, fl As File
For Each fl In fso.GetFolder(ネットワーク上の共有フォルダ).Files
If UCase$(fl.Name) Like "*.TXT" Then
'処理
End If
Next fl
0486デフォルトの名無しさん
05/03/01 15:53:18Nowじゃなく西暦だけを取得できる関数ってありますか?
0487486
05/03/01 15:56:480488デフォルトの名無しさん
05/03/01 16:01:04FileSystemObjectは見通しの良いコードが書ける反面、スピードは遅いので気をつける。
Likeを使った比較も、If UCase$(Right$(fl.Name,4))=".TXT" Thenという風にすればマシにはなるかも。
>>486
Year(Date)とかYear(Now)。ヘルプ参照。
0489デフォルトの名無しさん
05/03/01 16:07:19Dir("フォルダのパス\*.txt")でループじゃ駄目なん?
0490デフォルトの名無しさん
05/03/01 16:29:17それ、ネットワーク共有自体がネックになってない?
0491デフォルトの名無しさん
05/03/01 16:40:33ありがと。
やっぱりFileSystemObjectじゃできないんですね。
現在は Dir でやってます。
折角、ファイル系処理はFileSystemObjectで統一したのに・・・
0492486
05/03/01 18:31:10ありがとう。
日付比較について一つ質問なんですけど例えば、変数Aに今日の日付けを格納しておきテキスト等に入力した日付けを変数Bに格納し
入力した日付けが変数Aより前の場合(今日なら1/1〜2/28)というような比較をしたいのですが
どうすればいいでしょうか?
0493デフォルトの名無しさん
05/03/01 18:33:44何度読んでも何がしたいのか分からん
0494デフォルトの名無しさん
05/03/01 18:35:010495デフォルトの名無しさん
05/03/01 18:40:06cdateで日付型にすれば、 比較演算子(<,>,=) で比較できます。
0496デフォルトの名無しさん
05/03/02 00:52:58画面遷移について教えてください。
以下のような遷移を行うとき
フォームA → フォームB
フォームA側で以下のように記述するだけでよいのでしょうか?
Me.hide
フォームB.show
他に何か考慮する点はあるでしょうか?
フォームAは姿を隠しただけで、リソースを食っている状態ではないでしょうか?
素人の質問で申し訳ありません。
ご存知の方がおられましたらご教授ください。
よろしくお願いします。
0497デフォルトの名無しさん
05/03/02 06:55:38フォームB.show
Unload Me
0498デフォルトの名無しさん
05/03/02 12:33:17Form_UnLoadで
set フォームA = Nothing
したら?
0499デフォルトの名無しさん
05/03/02 13:46:57hideじゃunloadイベントは発生しないよ。
それに、それだと new フォームA したときにハマルよ。
0500デフォルトの名無しさん
05/03/02 15:54:320501デフォルトの名無しさん
05/03/02 18:52:56あとで、フォームAが必要なかったら、Unload。
必要だったら、Hideだと思われ。
0502デフォルトの名無しさん
05/03/02 19:59:140503デフォルトの名無しさん
05/03/02 21:22:43iに格納されてる西暦の部分(yyyy)を「2006」に変えたいんですがどのようにしたらできますか?
0504デフォルトの名無しさん
05/03/02 21:23:340505デフォルトの名無しさん
05/03/02 22:23:44年を+1したいなら
i = DateAdd("yyyy", 1, i)
固定で2006にしたいなら
i = DateSerial(2006, Month(i), Day(i))
でどうだ。
変数iはDate型で、時刻部はしらんぞ。
0506デフォルトの名無しさん
05/03/02 22:32:51足すとか・・・。
やり方は色々あるけどヘルプで探すことで成長するから面倒くさくても
一度は調べなさい。
関数やAPIに頼らず自力でやることで後々役に立つこともあるからね。
たとえばRaund関数は0.5を正しく四捨五入してくれないとかもあるから
自力でやるのも一つの手だよ。(もうなおってるかな?)
0508469
05/03/03 00:57:12非常に参考になりました。
0509デフォルトの名無しさん
05/03/03 17:39:51を教えてください。
よろしくおねがいいたします。
0510デフォルトの名無しさん
05/03/03 18:16:15標準では設定されてなかったように記憶しています。
0511デフォルトの名無しさん
05/03/03 20:05:26{
int i;
int count=0,count2=0,size=0;
POINT *buff;
size = 2 * HORIZONTAL + 2 * VERTICAL;
→buff = calloc(num,sizeof(POINT));
矢印のところで
error C2440: '=' : 'void *' から 'POINT *' に変換することはできません。(新しい動作 ; ヘルプを参照)
'void*' から非 'void' 型への変換には明示的なキャストが必要です。
というエラーが出てしまいます
どうやらC++だとエラーが出るようなのですが
どのようにすればエラーをなくせるかが分かりません。
よろしくお願いします。
0512デフォルトの名無しさん
05/03/03 20:42:20Ary(10,10)
上記の様な二次元配列があったときに、一次元目がnの一次元配列( Ary(n,*) )
を取り出すにはどうすれば良いかご指南いただきたい。
0513デフォルトの名無しさん
05/03/03 21:06:51メニューバーのメニューを表示しないようにしてもうまくいきません。。。
よろしくお願いします。 m(_ _)m
0514デフォルトの名無しさん
05/03/03 21:28:560515デフォルトの名無しさん
05/03/03 21:49:59こういうこと?
Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
If KeyCode = 72 And Shift = 2 Then Form2.Show
End Sub
0516513
05/03/03 21:54:17できました!
ありがとうございました。 m(_ _)m
0517デフォルトの名無しさん
05/03/03 22:04:59ちなみに 2はVbCtrlMask、72はvbKeyH と書くとわかりやすい
0518513
05/03/03 22:45:31本当にありがとうございます。 m(_ _)m
0519デフォルトの名無しさん
05/03/03 22:58:25Public Const Err001 = "接続エラー"
としていて、ある関数から
"Err001"という値を受け取ったとします。
この"Err001"を、上で定義したErr001の持つ"接続エラー"として、例えばMsgBoxなどで
表す方法ってありますか?
つまり文字列を変数名として扱う方法ってことになるんでしょうが…
0520デフォルトの名無しさん
05/03/03 23:00:12!!!!!!!!!!!!!!!11111111111
0521デフォルトの名無しさん
05/03/03 23:04:39やめてくれ
0522デフォルトの名無しさん
05/03/04 00:00:470523デフォルトの名無しさん
05/03/04 07:25:53構造体は不可、配列は可。構造体の配列は不可。
構造体の代わりにClassを使うのが吉。
COMの基本ルールを無視するなら、構造体をValPtrでアドレス渡しって手はあるな。
0524デフォルトの名無しさん
05/03/04 10:47:21コマンドボタンのClickイベントからUnload Meすると、
かなりの確率でフリーズするんです(システムメニュー
から閉じればたぶんOK)。
なんかいい解決方法ないですか?
0525デフォルトの名無しさん
05/03/04 14:09:33現在はメニューの各Visible プロパティがTrueとFalseで生じるFormの
ScaleHeightの差を取ってますけどいかにもスマートさに欠けるので…
0526522
05/03/04 16:39:530527デフォルトの名無しさん
05/03/04 17:11:240528525
05/03/04 17:24:53実際のフォームの高さが変更されるまで若干のタイムラグがあり
変更直後はまだScaleHeightが変わってない場合があって、それを
避けようとするとますますスマートじゃないコーディングに
なっちゃうんですよ
0529デフォルトの名無しさん
05/03/04 17:41:25ありますよ?
0530デフォルトの名無しさん
05/03/04 18:14:08DoEvents してる?
0531デフォルトの名無しさん
05/03/04 18:57:33'void*' から非 'void' 型への変換には明示的なキャストが必要です。
0532デフォルトの名無しさん
05/03/04 19:37:45演算子おしえてください。
0533デフォルトの名無しさん
05/03/04 19:44:43謹んでお断りいたします。
0534デフォルトの名無しさん
05/03/04 20:11:54ド素人はすっこんでな!
0535デフォルトの名無しさん
05/03/05 08:40:56DeclareステートメントのLibrary Nameは文字定数しか受け付けないわけですが
DLLをパスの通ってないディレクトリに置いてプログラム中で場所を指定したい
場合はどうすれば良いですか? 無理っすかね
0536デフォルトの名無しさん
05/03/05 11:51:13ChDir使ってみるとか
0537デフォルトの名無しさん
05/03/05 11:57:46ド素人はすっこんでな!
0538デフォルトの名無しさん
05/03/05 12:16:47プログラム中でパスを変更する。
>>537
ChDirでもいいと思うが?
0539デフォルトの名無しさん
05/03/05 14:12:26要素が宣言されていない動的配列の、要素の有り無しを判断するには
どのようにすれば良いでしょうか。
String型のStrAry()が動的配列で尚且つ要素が宣言されてないと
UBound(StrAry) ->インデックスが有効範囲にありません エラー
↑エラー発生しちゃってトラップされちゃうと困る
TypeName(StrAry) -> String()
↑Nothingになるかと思ったんだけども
要素が有っても無くても String() だから判断できない。
頼む…。家に帰れないんです。
0540デフォルトの名無しさん
05/03/05 14:26:19お馬鹿な発想かもしれないけどGlobal変数使ったら?
ReDim Preserve xx(x)
Empty=True
if x<>0 then Empty=False
0541デフォルトの名無しさん
05/03/05 14:36:451)エラーが発生することを利用して戻り値を設定する関数を作る
2)配列(0)はとにかくダミーとして常に何か突っ込んでおく(あり得ない文字列とか)
0543デフォルトの名無しさん
05/03/05 14:44:41そうね、ReDimで再宣言してなけりゃ要素は0のはずだしそうじゃなけりゃ
UBoundでわかるっしょ
0544デフォルトの名無しさん
05/03/05 14:46:190545539
05/03/05 15:09:08>>540と>>541でご指南頂いた方法をそれぞれ試していました。
結果両方ともうまく動きました。
どちらの方法を使うかは、またこれからそれぞれの方法のメリット・デメリットを考えながら
決めていきます。
本当に有難う御座いました。
(必要ないと思いますが下記に>>541の 1)の関数を載せておきます)
Private Function chkArrayLen(sAry() As String) As Boolean
On Error GoTo Err_Process
Dim Tmp As Integer
chkArrayLen = False
Tmp = UBound(sAry)
chkArrayLen = True
Err_Process:
End Function
0546デフォルトの名無しさん
05/03/05 15:18:28それはいいとして、俺ならクラスにするか、さもなくば次のように判定するかな。
Dim SizeOfArray As Integer
On Error Resume Next
SizeOfArray = UBound(MyStrArray) + 1
On Error GoTo 0
0547デフォルトの名無しさん
05/03/05 15:36:59SafeArrayGetDim などのAPIを使えば、
実行時エラーを使わなくてもチェックできる。
0548デフォルトの名無しさん
05/03/05 15:41:13ReDim MyStrArray(-2 To -1)
とかやっていじめてやるテストw
0549デフォルトの名無しさん
05/03/05 15:59:06SizeOfArray = UBound(MyStrArray) - LBound(MyStrArray) + 1
0550デフォルトの名無しさん
05/03/05 16:45:04一段落したんですが汎用性を持たせようとすると頭が痛くなってきてます
問題は"LoafPicture"が破損ヘッダーファイルがあると使い物にならないことで
アプリが落ちちゃう、そこでSUSIE PLUG-INを使って問題なく動くものが
できました、できましたが例えばPNG用プラグインでエラーメッセージを吐く
版と軽量版なんてのを見ていると特定のプラグインの特定のバージョンじゃないと
意図通りに動かないプログラムなんてど〜考えても嫌だし…
GDI+をVB5で使うのはかなり無謀みたいで日曜プログラマーがこの目的でVB.NETを
買うのもちょっともったいないつうか嫁に殺されそうだし
何か他にうまい手はありますか?
0551デフォルトの名無しさん
05/03/05 16:53:09C#つかえ。
0552デフォルトの名無しさん
05/03/05 16:55:49文科系の頭でポインターが使えないんですよ
0553デフォルトの名無しさん
05/03/05 16:56:14VB.NETのコンパイラ自体はタダで手に入るよ。
それにフリーの統合開発環境を組み合わせる。
ところで今はVB.NETに対応した統合開発環境って
どれくらいのレベルで使えるの?GUIの作成も含めて。
すれ違いだけど。
0554デフォルトの名無しさん
05/03/05 16:57:05安心しろ。C#はポインタを使わないでできる。
っていうかVBの参照もポインタの一種だ。恐れることは無い。
0555デフォルトの名無しさん
05/03/05 17:21:51PNG対応DLLあるけど。
0556デフォルトの名無しさん
05/03/05 18:33:07俺には結局>>550は何を聞きたいのかサッパリわからないが。。
VB遣いにはエスパーが多いのか?
それとも書いてあることを書いてあるまま正確に読む訓練のできてない
思い込みの激しい「夢見る」文系君が多いのかな。
0557デフォルトの名無しさん
05/03/05 18:54:42自分の読解力の無さを棚にあげて言いたい放題だな
0558デフォルトの名無しさん
05/03/05 18:56:17あえていうなら「妄想力」でしょうか。
0559デフォルトの名無しさん
05/03/05 18:59:27よそ行ってね。君のようなのが荒れる原因だから。
0560デフォルトの名無しさん
05/03/05 21:41:51なくす方法はありませんでしょうか?
よろしくお願いします。m(_ _)m
0561デフォルトの名無しさん
05/03/05 21:44:33[スタート]-[設定]-[コントロールパネル]-[サウンドとマルチメディア]
0562デフォルトの名無しさん
05/03/05 21:59:48わからないところを、聞けば良いだろう、ボケ。
0563デフォルトの名無しさん
05/03/06 01:07:49自分でMsgBox「の様な物」を作る。
0564469
05/03/06 16:39:43VB6.0を用いています。
フォーム上での矢印キーによるフォーカス移動制御を行いたいと思います。
フォーム上に存在するボタン間の制御を行うために、
Command_KeyPress内に矢印キー押下時のフォーカス移動に関する記述を行ったのですが、どうやら、矢印キーを押下してもCommand_KeyPress内に制御は移っていないようです。
どこにどのように記述すればこのような制御は可能でしょうか?
私の場合、以下のような記述を行うことを考えています。
例:ボタンA上で右矢印キーが押され、ボタンBにフォーカスを移す場合
IF KeyCode=vbKeyRight then
commandB.setFocus
END IF
このような記述はスマートでしょうか?
ボタンが多いフォーム上ではやたらコードの量が増えて効率が悪いような気がします。
何かよい方法は存在するのでしょうか?
初歩的な質問で申し訳ありません、ご存知の方がおられましたらよろしくお願いいたします。
0565デフォルトの名無しさん
05/03/06 17:21:17フォームのKeyPreviewプロパティをTrueに。
それとKeyPressより、KeyDownイベントのほうがいい。
さらにTabOrderも工夫する。
0566564
05/03/06 18:21:37レスありがとうございます。
さっそく行ってみたのですが、矢印キーのイベントを拾うことができませんでした。
自分自身でもすこし調べていたのですが、
コマンド上にフォーカスがある場合、
矢印キーの押下は取得できないとありました。
何か良い方法はないでしょうか。。。
0567デフォルトの名無しさん
05/03/06 19:09:49マップを作って1つのプロシージャでまとめて処理させれば
汎用的だし、コード的にもすっきりする。
0568デフォルトの名無しさん
05/03/06 19:18:05グローバルフックではないのでDLLはいらず、
VBでもフックできる。
0569デフォルトの名無しさん
05/03/06 23:37:12>>330
ありが�d
VB6.0でsin関数を使わずに、テーラー展開またはマクローリン展開でsinを求める方法ってどなたか分かります?
0570デフォルトの名無しさん
05/03/06 23:40:10礼儀知らずの人間には教えません
0571i
05/03/07 00:04:12FSO(File System Object)は、使えますか?
自宅には当然95なんてシロモノは無いので、確認がとれません
会社でぶっつけ本番でもいいのすが不安で・・
0572デフォルトの名無しさん
05/03/07 00:05:00ttp://www.g.dendai.ac.jp/lecture/vbasic/vb13.html
0573i
05/03/07 00:14:15失礼こきました
0574デフォルトの名無しさん
05/03/07 00:27:38趣味プログラマーって周りに同様の趣味の人がいない場合が多いと思うのですが
こんな単純なことも中々聞けませんよね
IT用語の日本語的方言というのは業界にいないと分かりづらくてPingをピングって
言うのなんか想像の埒外でしたから・・・・・普通ピンって読んじゃいますよね
0575デフォルトの名無しさん
05/03/07 00:30:100576デフォルトの名無しさん
05/03/07 00:42:100577デフォルトの名無しさん
05/03/07 01:24:230578デフォルトの名無しさん
05/03/07 01:27:410579デフォルトの名無しさん
05/03/07 01:28:090580デフォルトの名無しさん
05/03/07 08:53:54VB Report Ver.3.0
http://shopping.yahoo.co.jp/shop?d=SBSY&id=4993857329034
使用感をお聞きしたいのですが。
0581デフォルトの名無しさん
05/03/07 12:42:39後に音が続かない時の(つまり、ping本来の)発音は明らかに「ピング」に近いぞ。
0582デフォルトの名無しさん
05/03/07 13:02:52んなもん使わずに直接エクセルに出力したほうが早いだろ。
0583デフォルトの名無しさん
05/03/07 13:38:45結構大勢の人がPingを「ング」にアクセントを置いてしゃべってますよ・・・
Pingつうと「レッドオクトーバー」でラミレス艦長が"One ping only."って
言うのが印象に、って言うのは置いといて
0584デフォルトの名無しさん
05/03/07 13:39:241.エディットコントロールを持つ、新しいユーザーインターフェースを使用し
たい場合はOleInitialize関数またはCoInitialize関数を呼び出してCOMを初期化
する必要があるみたいですがVBでのコーディング例がどこかのサイトにありますか?
2.旧UIを使う場合でもルートフォルダーじゃなくて指定パスを選択状態にして
ダイアログを呼び出せると思うのですがBROWSEINFO構造体を眺めていても指定パスが渡せる
ようなパラメータが見当たりません。別の関数を使うのでしょうか?
0585584
05/03/07 14:01:38検索語の工夫が足りなかったようで失礼致しました
0586デフォルトの名無しさん
05/03/07 14:13:01まったくこれだから脊髄反射は困るなぁw
「ング」なんて普通に使われているんだから、
想像の埒外なんてありえないって言っただけだろ。
あーやだやだ。
0588デフォルトの名無しさん
05/03/07 16:28:21カツオ、豪快に釣られる
ワカメ、オナニー見つかる
船、ローレライ発動す
の3本です。お楽しみに〜
んっが、ング
0589デフォルトの名無しさん
05/03/07 22:01:29取得する方法を教えていただけませんでしょうか。
XPか2000ですと
http://www.microsoft.com/japan/technet/scriptcenter/scripts/logs/eventlog/lgevvb03.mspx
で取得できたのですが、これと同じことをNTでできませんでしょうか?
0590デフォルトの名無しさん
05/03/08 00:30:40上手く抜き出せません
i = InStr(strData, "一覧表表示")
n = InStr(i + 5, strData, "一覧表表示")
a = Mid(strData, i - 5, n + 8)
Text1.Text = a
始めの位置(i)から最後までが表示されてしまいます。
0591デフォルトの名無しさん
05/03/08 01:12:26どういう文字列からどういう条件で取り出したいのかがよくわからん。
0592デフォルトの名無しさん
05/03/08 01:19:59気がついたとこだけ。
0593デフォルトの名無しさん
05/03/08 01:30:44n+8はどこから出てきたのかな?
これでどう?
a = Mid(strData, i - 5, n -i)
こういう手もあるけど。
"一覧表表示" & Split(strData, "一覧表表示")(1)
0594584
05/03/08 06:50:26日本語を含むパスだとツリーは開かれるものの該当フォルダが選択されていま
せん。フォルダ名自体が英語でも途中のパスに日本語が含まれると駄目です。
参考にしたのがカナダのサイトだったので2バイト対応になってないみたいです
Const BFFM_SETSTATUSTEXTW As Long = (WM_USER + 104)
この定数をどこかのパラメータに指定してやれば良さそうにも思えますけど
どの関数のパラメータにセットすれば良いかご存知ですか?
0595584
05/03/08 11:25:160596デフォルトの名無しさん
05/03/08 14:01:36クライアントからLAN経由で受け取ったマウス移動量を元に、サーバ側にマウスカーソルを
表示させたいのです。(この時にサーバ側のマウスは、サーバ側でつかっています)
imageとかpictureをつかう方法を試してみたのですが、うまく透過してくれないので
マウスカーソルとして使えませんでした。いい知恵があればご教示ください。
0597デフォルトの名無しさん
05/03/08 14:09:37Visual Basic 6.0 で
0598デフォルトの名無しさん
05/03/08 14:10:23Region使え。
>この時にサーバ側のマウスは、サーバ側でつかっています
入力がダブる時はネットワーク側を遅延させりゃ良いだろうけど
どうやってネットワーク側マウスのドラッグを実装するんだ?
0599596
05/03/08 14:35:31ありがとうございます。Regionを調べてみます。
ドラッグの件ですが、カーソルでどこを指しているかだけを共有したかったので、
そこまで必要ないのです。
0600デフォルトの名無しさん
05/03/08 15:49:43できる。というか、それが一番主な使い方じゃないのか。
0601デフォルトの名無しさん
05/03/08 15:57:23ビルドが吐き出す*.exeじゃなくて、ビルドみたいにEXEファイルを作ることはできるか?って意味じゃないのか?
俺は知らんが。
0602デフォルトの名無しさん
05/03/08 15:59:55想像で言うな
0603デフォルトの名無しさん
05/03/08 16:03:42文字列:s(0〜9、9桁)
モジュラス:m
ウェイト:w
のチェックデジットを計算する関数を教えてけろ
0604デフォルトの名無しさん
05/03/08 16:13:39お前の態度が気に入らない。
0605デフォルトの名無しさん
05/03/08 16:17:55デバッグしようとするとデバッグポイントが無効になります。
こういう場合どうしたらデバッグモードでステップ実行できるでしょうか?
0606デフォルトの名無しさん
05/03/08 19:05:48VCだとリソースから変更できるみたいなのですが。
0607デフォルトの名無しさん
05/03/08 19:18:54Screen.MouseIcon
0608442
05/03/08 21:31:46Undelete VB API Win32あたりを色々組み合わせてぐぐってもうまく
Hitしないんですけどエクスプローラーには実装されているので
何かあるんでしょうね。皆さんはAPI名が分からない場合どうやって
探しているんですか?
0609デフォルトの名無しさん
05/03/08 23:00:23そのようなAPIは存在しないと思う。
不便だけど、IContextMenuのInvokeCommandを使うのが妥当かな。
VCならともかくVBでやるのはたぶん面倒だから、
オライリーのVisual Basic Shell Programming辺りを参考にしてみては。
0610デフォルトの名無しさん
05/03/08 23:04:54ググったら10秒で見つかったが。。
http://www.microsoft.com/japan/msdn/library/default.asp?url=/japan/msdn/library/ja/jpshell/html/_Win32_UndeleteFile.asp
0611デフォルトの名無しさん
05/03/09 00:29:01この辺よんでなんとかならないかなと。
http://support.microsoft.com/kb/136517/ja
xpでもINFO2あるようだし、
エクスプローラで
C:\Recycled\
と入力すると一応ファイルがあるような気分も感じられる。
しかし、深入りしないとわからなそうな気がするので私は止めておきたい。
0612デフォルトの名無しさん
05/03/09 03:08:50varcharてのはどう読んだらよいのやら?
意味としてはヴァリアント・キャラクタと思うが
略してバリキャラ?
0613デフォルトの名無しさん
05/03/09 03:13:15最初 =Dir(引数, vbDirectory)で良いと思ったんですが、vbNormalを指定しても
結果は同じで、引数がフルパスの場合はファイルでもフォルダーでも同じく非Null
になっちゃうんですよね
さらにルートフォルダーを渡すと悲惨な結果を返しちゃいます、まあこの場合は
戻り値が非Nullで引数が3文字であればドライブルートと判断できそうですけど
0614デフォルトの名無しさん
05/03/09 03:43:35VB5はGetAttrない?
0615デフォルトの名無しさん
05/03/09 06:53:41うまくできません。
とりあえず枠組みだけ作りました。
http://f53.aaa.livedoor.jp/~dasai/upload/src/up0012.lzh
0616615
05/03/09 06:55:24リソースハッカー等を使えばいいのでしょうか?
0617デフォルトの名無しさん
05/03/09 07:13:48な〜るほど、助かりました
0618デフォルトの名無しさん
05/03/09 07:29:19RS232-Cで外部装置とやりとりをしているのですが、
外部装置のデバッグのために意図的に通信エラーを発生させる必要があるのです。
そこで、VBで通信エラー(1byte抜け、パリティエラー等)を発生させるにはどうすればよいでしょうか?
ご存知の方いらっしゃいましたらご教示お願いします。
なお、現在の開発環境は「Win2000 SP1」「Visual Basic 6 SP6」です。
0619デフォルトの名無しさん
05/03/09 09:34:59ソフト側のバイト抜け、パリティ値異常は自分で組めばOKだな。そりゃあたりまえ。
ソフト正常・PC等異常でのバイト抜け、パリティ異常をVBでどうにかしろってのは無理ってもんだ。
0620デフォルトの名無しさん
05/03/09 09:42:09壊れても責任もたないけど。
0621デフォルトの名無しさん
05/03/09 10:08:02そっちの機能にノイズ発生とかあるんじゃねの?
0622デフォルトの名無しさん
05/03/09 11:20:092,147,483,647を超えた場合、次は-2,147,483,648となり
-1までいったら0となるのでしょうか?
教えてください。
0623デフォルトの名無しさん
05/03/09 11:21:20自分で試してください
0624デフォルトの名無しさん
05/03/09 11:21:2016進数を10進数に変換する関数ってありますでしょうか?
10進数を16進数に変換する関数は見つけたのですが、その逆がみつかりません。
現在の開発環境は「Win2000 SP1」「Visual Basic 6 SP5」となっております。
よろしくお願いいたします。
0625デフォルトの名無しさん
05/03/09 11:25:51CInt("&h" & "a")
でも何でもお好きにどうぞ
0626デフォルトの名無しさん
05/03/09 11:32:36ありがとうございます!
0627デフォルトの名無しさん
05/03/09 12:02:40timeGetTimeを使えば24日後には結果が出ますね。
1秒以内のタイマに使いたかったんです。
今日中に知りたかったんですが残念です。
ありがとうございました。
0628デフォルトの名無しさん
05/03/09 12:08:450629デフォルトの名無しさん
05/03/09 12:09:33いや、2の補数なんだから、計算すりゃ出るやん。
それにCコンパイラがあればすぐ試せるやん。
0630デフォルトの名無しさん
05/03/09 12:57:310631デフォルトの名無しさん
05/03/09 13:01:522の補数って事はリセットされて0じゃなく
マイナスが帰ってくるって事ですね。
数週間前に初めてVBを触りだし
Cなんてまったくわかりません。
ほんとすみません。
0632デフォルトの名無しさん
05/03/09 13:47:00http://www.microsoft.com/japan/msdn/library/default.asp?url=/japan/msdn/library/ja/jpmltimd/html/_win32_timegettime.asp
> 戻り値は 0 ミリ秒から 2^32 ミリ秒の間を循環します。
Longはsignedだから622の認識でOK
0633デフォルトの名無しさん
05/03/09 14:07:43ありがとうございます。
これで何とかなりそうです。
>>その他皆様
何回もすみませんでした。
0634デフォルトの名無しさん
05/03/09 21:22:44大きな二次元配列を作って、中身を全部調べるという処理
なんですけど実行する環境で挙動が変わってしまいます。
WindowsMe : 無応答
Windows2000 : 正常終了
WindowsXP : 正常終了
途中で DoEvent を発行せず、ループをグルグル回していますが
配列のサイズを小さくすると、WindowsMeでも正常終了します。
処理時間の長さが影響していると思うのですが、ネットで検索
しても、自力で回答を見つけられませんでした。
どなたか詳しい方、解説を宜しくお願いします。
尚、実行ファイルの作成はWindows2000で行っています。
0635デフォルトの名無しさん
05/03/09 21:54:30CPU使用率眺めてれば。
0636デフォルトの名無しさん
05/03/09 22:09:270637デフォルトの名無しさん
05/03/09 22:12:49が定説だったな
0639vb
05/03/09 23:24:37リンクするようなイメージで。
0640デフォルトの名無しさん
05/03/09 23:27:12shellexecute 等
0641vb
05/03/09 23:29:10もしよかったら、記述の仕方教えてください。
お願いします。
0642デフォルトの名無しさん
05/03/09 23:30:44それくらいは自分で調べてください。
0643vb
05/03/09 23:31:42こういう場で教えてもらったほうが分かりやすいから。
初心者なので。
0644デフォルトの名無しさん
05/03/09 23:32:350645634
05/03/09 23:37:21ありがとうございます。
WindowsME : 30分待ってもNG(固まっている?)
Windows2000、XP : 約10秒で終了
なので、ある一線を超えてしまったのでは?と思ったのですが・・
巨大配列は宜しくないようなので、適当に DoEventでOSに制御を
渡してトライしてみます。
0646デフォルトの名無しさん
05/03/09 23:44:270647デフォルトの名無しさん
05/03/10 09:24:09せめてぐぐってサンプル探して試してダメだったら聞け。
0648デフォルトの名無しさん
05/03/10 13:46:240649デフォルトの名無しさん
05/03/10 14:23:160650デフォルトの名無しさん
05/03/10 15:47:330651デフォルトの名無しさん
05/03/11 02:21:35サンプルの掛け算足し算プログラムなど作ってます。
ざっと全章読んだんですが応用するには時間がかかりそうな本でした。
そこで辞典みたいなTIPS?本を買おうと思うのですが
それよりもこれ読んどけ・勉強しとけ みたいな本はありますでしょうか?
0652デフォルトの名無しさん
05/03/11 02:41:43ISBN4-7741-0859-6 ISBN4-7741-0941-X
ISBN4-7741-0880-4
ISBN4-7741-0771-9 ISBN4-7741-0777-8
ISBN4-7741-0782-4
上げだしたらきりがないが。
0653デフォルトの名無しさん
05/03/11 03:46:46それは注文番号ですか?ぐぐったら技術評論者の本が
でたので参考にしてみます。サンキュス
0654デフォルトの名無しさん
05/03/11 10:45:41ISBNだろ
0655デフォルトの名無しさん
05/03/11 12:11:19「ユーザー定義型は定義されていません」と出て、うまく実行されません。
調べると、参照設定を変えるという所までは分かったのですが、
どれを変えればいいか分かりません。教えてください。
0656デフォルトの名無しさん
05/03/11 12:31:22Google.co.jpで "PROCESS_INFORMATION VB"
0657デフォルトの名無しさん
05/03/11 12:39:20APIビュアで定義を調べてコピペ。
0658デフォルトの名無しさん
05/03/11 12:48:36ありがとうございます。出来た模様です。ありがとうございました。
あの長い宣言ですよね。Cの#include <windows.h>みたいな
ちょこっとやっとく感じかと思っていたので大変でした。
0659デフォルトの名無しさん
05/03/11 16:03:16まじれすか(´・ω・`;) ちゃんと全部VBの本がでたのでアマゾンに
注文してしまいました・・
ISBNで検索してみます(´・ω・`;;)・・
0660デフォルトの名無しさん
05/03/11 16:06:460661デフォルトの名無しさん
05/03/11 16:28:20ttp://www.geocities.jp/horieouenn/
0662デフォルトの名無しさん
05/03/11 17:35:11ISBNの意味がわかってないのか。
別にアマゾンで買ってもいいよ。
0663デフォルトの名無しさん
05/03/11 17:55:28ぐぐってみました。日本図書コードってやつみたいですね。
>>660
2冊だけ買いました
スレ汚しスンマセンでした(´・ω・`)
0664デフォルトの名無しさん
05/03/11 21:00:09DirListBoxで普通にパスを指定すると、ドライブのルートから
指定したフォルダまで全ての親フォルダが表示されますよね。
このとき、指定したフォルダより上位のフォルダを非表示に
することは可能でしょうか?
つまり、たとえば"C:\A\B\C\D"というパスを表示するときに、
あたかもBがドライブのルートであるかのように表示して、
ユーザにそれより上位のフォルダにアクセスさせないように
したいのですが……。
0665デフォルトの名無しさん
05/03/11 21:25:07ググッてもHitしません。参考になるサイトはありますか?
0666デフォルトの名無しさん
05/03/11 21:28:46DirListBoxもどきを自作するか、
SUBSTコマンドで誤魔化せ。
0667デフォルトの名無しさん
05/03/11 21:31:54WM_MOUSEWHEEL
0668デフォルトの名無しさん
05/03/11 21:53:12「VB マウスホイール」なら腐るほどヒットするのにな。
0669デフォルトの名無しさん
05/03/11 23:19:17SUBSTについて調べてみましたが、勝手に仮想ドライブを
作ってしまうといろいろ支障が出そうなので、なんとか
DirListBoxっぽいものを自作する方向で考えてみます。
やってみて難しそうならまた別の方法を検討します。
ありがとうございました。
0670デフォルトの名無しさん
05/03/11 23:26:17っていうか、正直そんなUI糞だと思うよ。。
0671デフォルトの名無しさん
05/03/12 00:02:44Unixのユーザーアカウントの仕組みもそんなんじゃなかったっけ?
あとFTPとかも。
まあ、それ自体が糞なのだという意見かもしれんが。。
0672デフォルトの名無しさん
05/03/12 04:26:04SHBrowseForFoldersを使えば指定フォルダー以下の選択ができるけど
あれじゃ駄目?
0673デフォルトの名無しさん
05/03/12 04:27:200674デフォルトの名無しさん
05/03/12 08:37:49http://yokohama.cool.ne.jp/chokuto/urawaza/api/SHBrowseForFolder.html
http://yokohama.cool.ne.jp/chokuto/urawaza/struct/BROWSEINFO.html
0675デフォルトの名無しさん
05/03/12 10:50:540676デフォルトの名無しさん
05/03/12 12:28:58それだ
0677デフォルトの名無しさん
05/03/12 22:30:59MSのトップから辿っていけばすぐに見つかるだろ。
http://msdn.microsoft.com/vstudio/downloads/updates/sp/vs97/vb.aspx
0678デフォルトの名無しさん
05/03/12 23:24:42アドバイスありがとうございます。
ダイアログボックスを表示するのでなくてなんとかフォームの一部として
組み込みたいと思ってます。
さして複雑な機能を必要としているわけでもないので、Listboxに手を加える
とかでなんとかならないかと模索している最中です。
なので、とりあえずはその方向で頑張ってみて、駄目だったらダイアログボ
ックスを使うことを考えたいと思います。
わざわざアドレスまで示していただいてありがとうございました。
0679MG
05/03/13 23:41:55(SQL-Server)とのやり取りを主とする社内用のプログラムを開発、保守してます。
VB6もサポートが終わるようですし、netへ移行が必要かな?と思いつつも
(VS2003は購入してあるのですが)いまいち移行のメリットが見えません。
1.クライアントは98からXPでFrameworkのインストールが必要なマシンが
まだ大量にある。またインストールしてどのOSでもほんとに動くのか?
2.Frameworkのバージョンがあがったときにちゃんと動くのか?
3.Framework上でのアプリは遅いらしい(しくみからするとあたりまえか)
1.2はnet系の掲示板をみると大丈夫らしいのですが、どこもNETを
誉めるばかり(MSヨイショか?)みたいでどこまで信用できるのか半信半疑
です。
3.は結構痛いです。マシンを新しくすればよいといわれそうですが、IT系
の企業でもない製造業では、そんなに頻繁にマシンも入れ替えられないので
難しいです。
VB6使いの方はどう思われてますか?
0680デフォルトの名無しさん
05/03/13 23:47:16結局何を聞きたいのかいまいち見えてこない。
ピントのぼやけた質問にはやはりピンボケの答えしか返ってこないと思う。
0681デフォルトの名無しさん
05/03/13 23:49:590682デフォルトの名無しさん
05/03/13 23:50:470683デフォルトの名無しさん
05/03/13 23:56:040684デフォルトの名無しさん
05/03/13 23:59:05http://www.atmarkit.co.jp/fdotnet/vbcheer/vbcheer08/vbcheer08.html
0685MG
05/03/14 00:04:19聞きたいことはVB6を使っている方が.NETへの移行に関してどう思われている
かということです。
移行するというのもあるかと思いますし、別の開発系にする、あるいは移行しない
という判断もあるかと思います。
その判断と、判断基準を聞いてみたかったのです。
自分の場合は今のところメリットが見えないのですが(移行にもかなりの手間が
かかるし)、今のままにしておくのも今後のこと(将来のOSでは動かないのでは
?)を考えると心配なので、どうするのがベストかを悩んでいます。
0686デフォルトの名無しさん
05/03/14 00:06:02ウザい
消えろ
0687デフォルトの名無しさん
05/03/14 00:28:08どの板のどのスレにもいる幼稚な奴は無視するよろし。
.NETに移行することのメリットは、エンドユーザーにとってみれば
ほぼ皆無だと思う。すくなくとも現時点では。
開発者側にとってのメリットも、実は現時点ではそんなにない気もする。
ただ確かにVB6よりはVB.NETの方が言語仕様すっきりしていてある意味解かり易いので
開発効率は若干上がるかもしれない。あとは、とりあえず時流に乗っているという安心感か。w
移行が大変かどうかという点については、VB6でもクラス使いこなしている人なら
全然問題ないと思う。(2-3週で感じは掴めると思う)
逆にVBプログラマにありがちなoopどころか構造化プログラミングもちゃんと
マスターできているか怪しいレベルの人だとかなり苦労するかも。
0688デフォルトの名無しさん
05/03/14 00:31:48保守するものについては、ケースバイケース。
VB6製のソフトが将来動かなくなる日はいずれ来る。
ずっと使うってわかっているものなら、いつかは移行せざるを得ないけど、
要はいつ移行すべきかってことでしょう?
それは、知らん。
どの程度の予算・時間で移行できるかとか、プログラムの規模にも担当する人員にもよるし、
プログラムのライフサイクルにもよってくるじゃん。
自分のところで諸事情を検討して決めるしかないよ。
0689デフォルトの名無しさん
05/03/14 00:35:11こっちにでも行ってやってくれ
0690デフォルトの名無しさん
05/03/14 01:00:52マシンの入れ替え次期に合せて.NETに移行すれば?
0691デフォルトの名無しさん
05/03/14 01:20:00特に移行を急ぐ必要が無いならそのままでいいんでないか?
0692MG
05/03/14 01:24:48>>688
回答ありがとうございます。移行メリットはあまりないですか・・。
実際作り直すだけのメリットがないのでほんとはVB6互換の使える
環境とか出てきてくれればありがたいんですけど(REALBASICではだ
めみたいだし)
当面VB6でいこうと思います。
>>689 で紹介されたスレもみましたが、新規案件もnet
2.0がでるまで様子見したほうがよい感じですね。
0693デフォルトの名無しさん
05/03/14 02:05:092.0まで様子見?一生「次が出るから」なんて言ってればいいよ
将来のOSで動かなくなる?お前、その時に生きてんの?
判断と基準?下調べくらいやってから言えよ
0694デフォルトの名無しさん
05/03/14 04:04:28vb6は人気のある言語だったが、移行すべきパスは明確ではない。
vb7みたいな製品があれば良かったのかもしれませんが、
まだプログラマ人口の少ない.netに移行すべきかは迷うところでしょう。
エンタープライズの世界に限って見ると、社内システムでも
画面はブラウザで、ビジネスロジックはapサーバのjavaでという選択も多くなってきていると思います。
ですが、まだ複雑なUIでは、ブラウザでは描画速度や自由度などの点で不満がでることもあるでしょう。
また、2階層のシンプルなシステムから3階層のシステムに移行する点もリスクに見えるわけです。
混沌としているようでもあります。
しかし移行すべきパスが明確でないということは、選択肢が沢山あるということでもあります。
個人的にはその選択にはプログラマ人口が比較的重要だと思っています。
0695デフォルトの名無しさん
05/03/14 07:22:16じゃあ君が思う正しい文章書いてみ?
0696デフォルトの名無しさん
05/03/14 14:30:030697デフォルトの名無しさん
05/03/14 14:50:530698デフォルトの名無しさん
05/03/14 14:53:00VB.NETはVBという名前を無くすと暴動がおきるから、しぶしぶ作った代物だ。
0699デフォルトの名無しさん
05/03/14 15:01:240700デフォルトの名無しさん
05/03/14 15:09:460701デフォルトの名無しさん
05/03/14 19:28:470702デフォルトの名無しさん
05/03/14 19:33:540703デフォルトの名無しさん
05/03/14 19:36:26くだらないことに脳の資源とられる感覚を払拭できないんだよね。
っていうとすぐに慣れの問題っていう奴が出てくるがそんなことはない。
それだけでも十分VB.NET選ぶ理由になると思うけど。
>Officeとの親和性だけは高いからね。
そこはあんまりC#でも変わらない気がするけど。。
0704デフォルトの名無しさん
05/03/14 19:51:03変わらないって言えば変わらないかな。
ただ、引数が省略できないから Missing.Value がずらずら〜と並んでorz
0705デフォルトの名無しさん
05/03/14 19:57:33簡単に出来ないのが辛いなぁ。
インストール先PCのOfficeのバージョンに合せていちいちビルドし直すのが面倒。
0706デフォルトの名無しさん
05/03/14 20:04:02インスタンスの生成は単純にExcelをNewしといて、
それをObject型の変数に代入するだけ。
少なくともVB.NETじゃこれでエクセルに関して
バージョンフリー(?)なアプリが作れたけど。。
0707デフォルトの名無しさん
05/03/14 20:05:38「レイトバインディング」ってCreateObject使うかどうかは関係ないよ。
0708デフォルトの名無しさん
05/03/14 20:09:310709デフォルトの名無しさん
05/03/14 20:13:32C#の話題なんだが。
0710デフォルトの名無しさん
05/03/14 20:15:120711デフォルトの名無しさん
05/03/14 20:15:38そうそう。だから「CreateObject()みたいに簡単に」って表現をしてると思った。
0712デフォルトの名無しさん
05/03/15 00:20:16必死だなw
0713デフォルトの名無しさん
05/03/15 12:57:13漏れはVB使ってる時の方がくだらんことに脳の資源が取られると感じる。強烈に。
0714デフォルトの名無しさん
05/03/15 16:39:21何か良い方法はないでしょうか?
タブインデックスみたいに既に割り当ててある番号を指定しても自動的に並び替えてくれればいいんですけど。
0715デフォルトの名無しさん
05/03/15 16:51:43100個作るインターフェイスそのものが間違っています
画面仕様から見直してください
0716デフォルトの名無しさん
05/03/15 16:56:01それもそうですね。見直します。
0717デフォルトの名無しさん
05/03/15 18:07:340718デフォルトの名無しさん
05/03/15 19:03:2810×10のマスをテキストボックスで表してるとかでしょ。
素直にGridつかえばいいのに(w
0719デフォルトの名無しさん
05/03/15 22:56:00釣りは他所でおながいします
0720デフォルトの名無しさん
05/03/15 23:01:18あんた、空気読めない人っていわれない?
0721デフォルトの名無しさん
05/03/15 23:20:300722デフォルトの名無しさん
05/03/16 07:17:04どうやら書けないらしいね。
0723デフォルトの名無しさん
05/03/16 12:59:000724デフォルトの名無しさん
05/03/16 14:31:39教えてください。
Private Sub Command1_Click()
level = level + 0.1
Label1.Caption = level
End Sub
0725デフォルトの名無しさん
05/03/16 14:40:23Private Sub Command1_Click()
level = n * 0.1
Label1.Caption = level
End Sub
0726デフォルトの名無しさん
05/03/16 15:45:18予想。
level が Integer になっている。
0727デフォルトの名無しさん
05/03/16 15:48:15Integerだったらズレる以前の問題だろ
0728デフォルトの名無しさん
05/03/16 15:53:10VBではどうやって受け取るの?ポインタ無いよな?
それと、voidポインタをValiantで受け取ったとして、
どうやってキャストするんだ?
0729デフォルトの名無しさん
05/03/16 16:07:45浮動小数演算になってるからだろ。
Private Sub Command1_Click()
level = level + 1
Label1.Caption = level/10
End Sub
levelはLong or Integerで宣言すること。
0730デフォルトの名無しさん
05/03/16 16:08:480731デフォルトの名無しさん
05/03/16 18:20:44MSDNにきちんと書いてあるから熟読することを進める。
VBのUnicodeをAnsiに渡すのは、VBたんがいい仕事してくれるので大丈夫。
ただ、DLL側で動的に領域確保は危ないような。
VBでSpaceで連続領域確保したところに突っ込んでもらうのが安全。
Unicodeの文字列をUnicodeで渡す場合はBSTR型だっけ?が必要。
0732デフォルトの名無しさん
05/03/16 19:48:30charのポインタもvoidのポインタもLongで受け取れ。
0733デフォルトの名無しさん
05/03/16 20:52:100734デフォルトの名無しさん
05/03/17 00:13:040735デフォルトの名無しさん
05/03/17 00:44:27フォームについて。
「最小化」のみ生かしたまま、フォームのresizeをできなくするようには
どのように記述すれば良いのでしょうか。
Borderstyleは「可変」にし、最大化をFalseにし…。
それからがわかりません。よろしくお願いします。
あと、フォームの中に配置した、例えばtextboxやコマンドボタンを、
フォームのリサイズに比例して移動させたりするには、やはり地道に
それぞれのパーツのwidth・heightを設定していくしかないのでせうか?
0736デフォルトの名無しさん
05/03/17 01:11:35コントロールの移動は地道に設定したりコンテナ使って手抜きしたり。
0737デフォルトの名無しさん
05/03/17 01:13:02タイトルバーのボタンを使用不可にするにはAPI使わないと出来なかった希ガス
再配置は地道に計算してやってくしかないけど、FrameやPictureBoxなんかで区分けすれば幾分か楽にはなる。
クラスにWithEvents定義してごにょごにょってやればスッキリ書けるけど説明が面倒なので省略。
あと、可変にしたいのか固定にしたいのか分からん質問だな。
0738デフォルトの名無しさん
05/03/17 02:01:32728じゃ無いけど、そうなんだ。
>VBのUnicodeをAnsiに渡すのは、VBたんがいい仕事してくれるので大丈夫。
これは、渡す時に変換してくれるって事なんだよな?
案外VBって仕事してるのな。
0739デフォルトの名無しさん
05/03/17 09:39:07でも、結構曲者な動きだけどね。
バイト数が変わることを前提に、文字列を戻す場合は考慮が必要だったと思う。
なんで、どちらかというと、渡すのはStringでいいけど、戻りがあるならByteの配列を渡すのが確かいい感じだったと思う。
0740デフォルトの名無しさん
05/03/17 12:57:09dim level as Double
Private Sub Command1_Click()
level = level + cdec(0.1)
Label1.Caption = level
End Sub
0741728
05/03/17 13:32:04返事が遅くてごめん
DLLで純粋にmallocをラップして、VBでも動的なメモリ確保を出来るように
しようと思ってたんだが、受け取ったポインタをキャストできないから、
全然意味が無いんだよな
何か抜け道無いかと思ってたんだけど、無さそうねぇ
とにかくありがと
0742デフォルトの名無しさん
05/03/17 14:18:56キャストしなくても、ポインタをハンドルとして扱って「中身いじり関数」をDLLに作ってやったら?
ポインタとバイト値を受け取ってコピーするだけの関数だけどな。
0743742
05/03/17 14:29:18GlobalAlloc()
が、メモリ確保してくれるWinAPI
少し調べないと使えないからな
0744デフォルトの名無しさん
05/03/17 14:44:36もし動的確保が必要ならば、>>742さん言うようにその処理自体をカプセル化する。
0745デフォルトの名無しさん
05/03/17 20:54:52そこのみ編集したいんですが・・・、OLEコンテナでできますでしょうか?
ご存知のかた、よろしくおねがいします。
0747デフォルトの名無しさん
05/03/17 22:10:11Public変数の場合はどうしたらよいですか?
0748デフォルトの名無しさん
05/03/17 22:12:05はあ?
0749デフォルトの名無しさん
05/03/17 22:17:39動的メモリ確保の方法がわかりません。
標準モジュールで宣言したPublic配列を書いたら動的に確保できますか?
0750デフォルトの名無しさん
05/03/17 22:19:39自分で試せばわかるじゃないか。
0751デフォルトの名無しさん
05/03/17 22:19:55誰かC言語でプログラム書いてもらえませんか?
0752デフォルトの名無しさん
05/03/17 22:20:430753デフォルトの名無しさん
05/03/17 23:03:020754デフォルトの名無しさん
05/03/17 23:41:456=2*3
8=2*2*2
9=3*3
10=2*5
12=2*2*3
14=2*7
15=3*5
16=2*2*2*2
18=2*3*3
20=2*2*5
21=3*7
22=2*11
24=2*2*2*3
25=5*5
26=2*13
27=3*3*3
28=2*2*7
30=2*3*5
0755デフォルトの名無しさん
05/03/18 01:15:37のようにファイルをコピーする方法を教えてください.
ファイルをopenしてkopi-ファイルに書き込むのならば出来るんですが,
もっとエレガントな方法はないのかなあと。
0756755
05/03/18 01:22:44自己解決しました.すいません。
0757755(すんません)
05/03/18 01:31:35やっぱりcopy file1 file2 みたくコピーする方法を教えて欲しいです。
それとファイルを削除する方法も教えて欲しいです。
0758デフォルトの名無しさん
05/03/18 01:34:490759デフォルトの名無しさん
05/03/18 02:03:46FileCopy関数で十分。
0760755
05/03/18 02:20:28今から一応Filecopy関数も調べてみます。
0761デフォルトの名無しさん
05/03/18 09:26:47CreateObjectからヘルプ見ればサンプルある。
>>747
Redimを使う。なので>>748ははあ?といいたくなるのも当然。
0762デフォルトの名無しさん
05/03/18 09:31:37例えば、10回ループさせている間にIF文がFalseの時に下まで行ってループせずに
5回目から6回目など次のループに移動させたいのですけどどういうやり方があるのでしょうか?
0765デフォルトの名無しさん
05/03/18 15:05:26そういう風に書けばよい。
0766デフォルトの名無しさん
05/03/18 17:52:40テキストやラベルにバイナリ値を入れられないし・・・
知ってる方いましたら教えてください。
>>762
飛び先書いてGOTOで。
0767デフォルトの名無しさん
05/03/18 18:36:440768デフォルトの名無しさん
05/03/18 18:37:190769デフォルトの名無しさん
05/03/18 20:17:01あえて言わせてもらえればアルゴリズムかコーディングが不味いと思うので
もう少し詳しくやりたいことを書けばきっちり馬鹿に出来ると思うのだが…
0770デフォルトの名無しさん
05/03/18 21:09:40恥ずかしい奴。「馬鹿に出来る」対象なのは恐らく君の方。
>>762のような制御構造が欲しいケースはままある。
っていうかCも知らないとしか思えない。
0771デフォルトの名無しさん
05/03/18 22:39:53EndIfをLoopの前まで持っていくってのでダメ?
それともBoolのフラッグ立ててIfとEndIfで囲むとか…。
0772デフォルトの名無しさん
05/03/18 23:21:44よい参考書やHPはないでしょうか?
0773デフォルトの名無しさん
05/03/18 23:26:140774デフォルトの名無しさん
05/03/19 01:09:20なんかよく分からんけど再帰的な事がやりたいか、
一時的にLoopから外したいようにも思える。
前者ならよく考えてそのように書くしかないし、
後者の場合、もうちょっと具体的な情報がないと何とも。
一旦具体的な処理部分を関数化するか、
非常に冗長なcodeを書いて整理してけばいいんじゃないかな?
フローチャートを書くのもいいかも。
>772
VBが使えるんだったら要らないっしょ。使えば分かる筈。
それよりIIS等の参考になる資料でも読んだ方がいいよ。
0775デフォルトの名無しさん
05/03/19 13:06:23ちょっと問題がありまして、、、
Visual InterDev6で新しいWebプロジェクト作成の際に
出てくる「使用するサーバーの指定」の欄に何の名前を入力していいのかわかりません。
IISをインストールし、インターネットインフォーメーションサービスのローカルコンピューターの名前かなと思い、いれてみたのですが、接続できないようで先に進めません。
ご教授お願い致します。
OSはxpのproを使用しております。
0776デフォルトの名無しさん
05/03/19 14:10:25テキストボックスを配置すると、その四方形の部分の絵が隠れてしまいます。
テキストボックスを透明にする方法ってありますか?
0777デフォルトの名無しさん
05/03/19 17:41:40Call SetWindowLong(RichTextBox1.hwnd, GWL_EXSTYLE, WS_EX_TRANSPARENT)
何故かRichTextBoxなら一行で透明になるけど(Win2K以降)、直接ビットマップというか
デバイスコンテキストに描画しちゃうようなコードも考慮してみたほうがよいかと
0778デフォルトの名無しさん
05/03/20 01:19:51URLかIPアドレス入れてみ。
0779デフォルトの名無しさん
05/03/20 05:42:38まさか慣性が付いちゃうなんて・・・8Bit機を思い出してしまった
0780デフォルトの名無しさん
05/03/20 07:50:31PeekMessage
0781デフォルトの名無しさん
05/03/20 12:20:39CSVファイルをソートするのに、ADOでテキストファイルを
データベースとして接続して、SQL文でソートして、その
結果を別ファイルに吐き出すようにしています。
Set mcn = New ADODB.Connection
mcn.ConnectionString = _
"Provider=MSDASQL.1;" & _
"Extended Properties=""" & _
"DRIVER=" & _
"{Microsoft Text Driver (*.txt; *.csv)};" & _
"DBQ=" & App.path & "\" & """"
mcn.Open
Set mrs = New ADODB.Recordset
mrs.CursorType = adOpenDynamic
SQL_STR = "Select * From " & "sort.csv" & " ORDER BY field28 ASC,field35 ASC,field02 ASC"
mrs.Open SQL_STR, mcn
ただこの方法だと元のファイルにあったデータを囲むダブルコーテーションや、
データの前後にある空白が消えてしまいます。
schema.iniの設定はこのような感じです。
[sort.csv]
ColNameHeader=True
Format=CSVDelimited
MaxScanRows=0
textacterSet=OEM
Col1=field01 text
ダブルコーテーションや空白等が消えないようにするのはどうしたらよいでしょうか?
CSVファイルの大きさは170Mです。
データは可変長です。
よろしくお願いします。
0782デフォルトの名無しさん
05/03/20 13:05:14IPアドレスいれてみたらちょっと進んで今度はユーザー名に対するパスワードを
要求されました。
思いつくパスワード全て入れてみたのですが駄目でした。
どなたかご存知でしょうか?
0783デフォルトの名無しさん
05/03/20 13:41:53サーバ上に接続しようとしている端末にLoginしているユーザのアカウントはadminで作ってあるのかい?
0784デフォルトの名無しさん
05/03/20 15:09:48私は現在、ADO2.7でMDBファイルを開き、編集するソフトを作っています。
開く対象はユーザーの任意のファイルですので、ファイル読み込み時に
各テーブルのカラムの設定も取得するようにしています。
カラムのデータ型やDefault値、Nullを許可するかどうかの設定は
プロパティの"Nullable"等で取得出来ることは分かったのですが、
一意(UNIQUE)に設定されているかどうかの項目がウォッチ式や
ネット上でも調べてみましたが、見つかりませんでした。
現在は苦肉の策としてエラーハンドラーを設定し、エラーコードから
『一意に設定されたカラムに重複した値が入力されています』といった
メッセージボックスが表示されるようにしています。
カラムが一意に設定されているかどうかは、どのように取得すれば
良いのでしょうか。
0785デフォルトの名無しさん
05/03/20 15:36:46日本語のやつ
0786デフォルトの名無しさん
05/03/20 15:56:15Index
0787デフォルトの名無しさん
05/03/20 16:02:23/ ̄\ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
─( ゚ ∀ ゚ )< ぱいそんぱいそん!
\_/ \_________
/ │ \
∩ ∧ ∧ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄\∩ ∧ ∧ \( ゚∀゚)< ぱいそんぱいそんぱいそん!
ぱいそん〜〜〜! >( ゚∀゚ )/ | / \__________
________/ | 〈 | |
/ /\_」 / /\」  ̄ / /
0788デフォルトの名無しさん
2005/03/21(月) 09:00:36Vector
http://www.vector.co.jp/vpack/filearea/win/util/runtime/index.html
0789デフォルトの名無しさん
2005/03/21(月) 21:47:36ms
0790デフォルトの名無しさん
2005/03/21(月) 22:09:33ダイアログを真中に出したいんですけど、ダイアログを出す位置指定する事
ってできますかね。
今は、左上のあたりに出てしまいます。
0791デフォルトの名無しさん
2005/03/21(月) 23:23:55言葉遣いが気に入らないので答えたくありません。
0792デフォルトの名無しさん
2005/03/22(火) 19:12:40VB6.0を使っています。
form以外(たとえばデスクトップなど)がフォーカスを持っている場合に、
form側でキーイベントを受け取るにはどのようにすればよろしいでしょうか?
具体的に言いますと、
formがフォーカスを持っていない状態の時に
Ctrl+F1などが押されると、処理を実行したいです。
もちろんformがフォーカスを持っている時も同様に処理を行いたいです。
アドバイスを頂けるとうれしいです。よろしくお願いします。
0793デフォルトの名無しさん
2005/03/22(火) 19:49:270794デフォルトの名無しさん
2005/03/22(火) 19:50:43>>793 あぽーん推奨
0795デフォルトの名無しさん
2005/03/22(火) 21:27:44グローバルフックがしたいと?
0796デフォルトの名無しさん
2005/03/22(火) 21:45:11フォームがフォーカスを持ってる時ってのは
自アプリのウィンドウがアクティブっていうことかな?
それは下のページでわかるんじゃね?
ttp://nienie.com/~masapico/api_GetActiveWindow.html
ttp://homepage1.nifty.com/MADIA/vb/API/GetActiveWindow.htm
で自分のアプリがアクティブじゃないって判断したら
下のホームページ参考にして何キーが押されたか
判断すればいいと思う。
ttp://www.geocities.co.jp/SiliconValley/7406/tips/mouse/mouse2.html
けっこうめんどくさそうですな。
formがアクティブな状態な時は、
Form_KeyPressなりkeydownなり使えばいいんじゃね?
0797デフォルトの名無しさん
2005/03/23(水) 01:51:19ユーザーのアカウントadminに直してみましたが、無理でした。
Webアプリケーション
DIRECTSTAR
ユーザー名
パスワード
というようなダイアログが出て先に進めません。。。。
0798デフォルトの名無しさん
2005/03/23(水) 02:32:38VBと何の関係があるんだ?
0799デフォルトの名無しさん
2005/03/23(水) 09:18:05すいません、初めて聞く単語なのでよくわかりませんが、
グローバルフックでググッてみたところ、なにやら関係ありそうでした。
もう少し調べてみることにします。
>>796さん
おっしゃる通りです。
参考にさせて頂きます。
ありがとうございました。
0800デフォルトの名無しさん
2005/03/23(水) 09:36:210801デフォルトの名無しさん
2005/03/23(水) 13:57:09なんか根本的に分かってないような希ガス。
「DIRECTSTAR」ってのもよく分からんし。
もちょっと「何をどうして、どうなったか?」って情報を書くべし。
つーかそろそろスレ違い。
どっか適したスレがあるんじゃね?
0802デフォルトの名無しさん
2005/03/23(水) 13:59:44オマエのように相手をするバカがいるからつけあがるんだ
氏ね
0803801
2005/03/23(水) 15:00:240804デフォルトの名無しさん
2005/03/23(水) 20:08:470805デフォルトの名無しさん
2005/03/24(木) 10:55:46MoveMemory ByVal strValue, ByVal lngPointer, Len(strValue)
※Declare定義は、Declare Function Sub MoveMemory Lib "kernel32.dll" Alias "RtlMoveMemory (Destination As Any, Source As Any, ByVal Length As Long)
※strValueは、固定長文字列 * 48。取得した後にNULL文字以降をカットする処理が入る
※lngPointerは、ポインタが入る
この方法だとたまにWindowsNT4.0(SP6a)でアプリケーションエラーになります。しかしWindows2000(SP4)だとなりません
ためしに固定長文字列strValueを可変長文字列に変更して、strValue=String$(48,vbNullChar)を追加したら発生しなくなりました
理由をご存知の方教えてください
0806デフォルトの名無しさん
2005/03/24(木) 11:02:21ちなみにVB6(SP6)です
ヘルプみると「Declare ステートメントに固定長文字列を指定することはできません。プロシージャに渡される前に可変長文字列に変換あります」とありますが、関係あるんでしょうか?
0807デフォルトの名無しさん
2005/03/24(木) 12:59:49あと、文字コードの絡みもあるから、どちらかといえばByte配列を渡すほうが確実と思う。
0808デフォルトの名無しさん
2005/03/24(木) 13:15:28日本語環境の場合、固定長文字列=バイト数不定
0809デフォルトの名無しさん
2005/03/24(木) 17:28:54コマンドボタンを押したらそのスレに書き込むプログラムを作ってみたいんですが
参考になるソースはありませんか?
0810デフォルトの名無しさん
2005/03/24(木) 18:08:01そんな質問するレベルの人に教えても、2chのサーバが迷惑なだけだから教えません
0811デフォルトの名無しさん
2005/03/24(木) 18:25:06アダルト広告業者必死だな
0812デフォルトの名無しさん
2005/03/24(木) 18:43:510813デフォルトの名無しさん
2005/03/24(木) 18:47:340815デフォルトの名無しさん
2005/03/24(木) 20:48:55どうすればできますか?教えてくださいませ。
0816デフォルトの名無しさん
2005/03/24(木) 21:32:23ポインタ先の文字列取得は lstrcpyA と lstrlenA で行うことにします
RtlMovememory だときっちり48文字取得するのですね。つまりポインタ先の文字列長が15文字でも
Lengthに48と指定すればNULLより先の未確定エリアを参照してしまいます。そこでタイミングが悪い
とアクセス違反が起きるのではないかと……いうのが私なりの結論です。これで顧客は納得してくれ
るでしょうか?
0817デフォルトの名無しさん
2005/03/24(木) 21:33:22>>805
0818デフォルトの名無しさん
2005/03/24(木) 22:18:36オーバーランしたら怒られるわな。
memcpyとstrcpyの違いを理解してないで作るとデバッグが辛いぞ。
オーバーランとアンダーランに起因するバグって原因探るの面倒だから、知ってる人に違いを聞いて
基礎知識をしっかり身につけてから作業進めたほうがいいぞ。
あと、MBCSのポインタがわかってんならSysAllocStringByteLen使ったほうがいいかもしれんね。
0819デフォルトの名無しさん
2005/03/24(木) 22:51:09もう1つ付け加えると
>RtlMovememory だときっちり48文字取得するのですね。つまりポインタ先の文字列長が15文字でも
>Lengthに48と指定すればNULLより先の未確定エリアを参照してしまいます。そこでタイミングが悪い
>とアクセス違反が起きるのではないかと……いうのが私なりの結論です。これで顧客は納得してくれ
>るでしょうか?
これは正解だけど(タイミングという言葉は気になるが)、そのまま顧客に伝えたら落胆するか
ブチ切れるかのどっちかだぞ。
データを取得する時に領域外参照する場合があったって程度にぼかしとけ。
0820デフォルトの名無しさん
2005/03/24(木) 23:03:25>>819なんて大きなお世話だし。
>>805
なんかやってること根本的におかしい。
●なぜ「文字列をコピー」といいながらlstrcpyではなくRtlMoveMemoryなんて
耳慣れない関数を使うのか?
●なぜ、RtlMoveMemoryの「ソース」のバイト数を指定する引数に「デスティネーション」の
文字列の文字数を渡すのか?
0821デフォルトの名無しさん
2005/03/24(木) 23:08:04確かにタイミングは気になりますね。ただWindowsNT4.0(SP5,SP6a)だと百数回の確率で発生して、
Windows2000(SP4)だと発生していないのが未だに不明でそれをどう表現すればよいか迷ったのです
ちなみに顧客もプログラマなのです。そこに出向しているだけなのです
0822デフォルトの名無しさん
2005/03/24(木) 23:16:51偉そうな文書くやつほど無能という法則はその通りだね。
0823デフォルトの名無しさん
2005/03/25(金) 10:40:00vbでC言語のunionのようなことをしたいのですが何か良い方法はありますか?
内容は、INTをBYTE、STRINGをBYTE、DOUBLEをBYTEまたその逆をする方法が
ありましたら教えてください。
よろしくお願いします。
0824デフォルトの名無しさん
2005/03/25(金) 11:32:160825デフォルトの名無しさん
2005/03/25(金) 12:14:41ない。
0826デフォルトの名無しさん
2005/03/25(金) 12:30:16共用体はないけど、クラス使えばおなじようなことは実現できるよ。
0827デフォルトの名無しさん
2005/03/25(金) 13:46:32ADO(2.8か2.7)+VB6 SP6を使用して接続を行おうとしたのですが
ACCESSからODBCで接続は出来ました
とkろがVBから接続を行おうとしてもダメでした
ダメな理由は
エラー3706 プロバイダが見つかりません
プロバイダが正しくインストールされていない可能性があります
でした
接続文字列は
"provider=odbc;dns=test_server;uid=testuser1;pwd=0"
サーバ名やユーザID、パスワードはACCESSで接続に成功した時と同じものなので間違いありません
ODBCで接続を行いたいのですが、このプロバイダ名では駄目なのでしょうか
もしくはPostgresSQLの専用プロバイダがあるのでそちらでもいいのですが
どちらにしろ、プロバイダ名の設定がわからないのです
下手な文章で申し訳ないのですが、よろしくお願い致します。
0828デフォルトの名無しさん
2005/03/25(金) 14:40:02この一度引いた線を、削除する際にはどうすればよろしいでしょうか?
0829デフォルトの名無しさん
2005/03/25(金) 14:43:570830デフォルトの名無しさん
2005/03/25(金) 14:46:31ユーザー定義型とLSetの組み合わせで似たようなことが出来ます。
http://www3.plala.or.jp/sardonyx/smart/vb/var/4.html
0831デフォルトの名無しさん
2005/03/25(金) 14:47:28縦軸の線のみ消して、横軸の線は残したいので、clsを使えず悩んでいるんです。
説明不足ですみません。
0832デフォルトの名無しさん
2005/03/25(金) 14:51:00「dns=〜」は「dsn=〜」じゃないの?
0833デフォルトの名無しさん
2005/03/25(金) 14:53:28ざっと思いつくのはこんな感じかな。
1) clsして再描画
2) lineを引く前の画像を取っておいてソレと差し替える
3) xorで書く
0834833
2005/03/25(金) 14:56:484)lineコントロールを使う。
0836デフォルトの名無しさん
2005/03/25(金) 15:06:52画像をpictureboxに描画していると仮定して、
・PictureBoxにlineコントロールをvisible=Falseで配置する。
・ラインを引きたくなったらvisibleプロパティをTrueにする。
・要らなくなったらvisibleをFalseにする。
質問が「lineコントロールって何?」と言う意味なら
ヘルプを参照して下さい。
0837831
2005/03/25(金) 15:16:57配置されたラインを隠したり表示したりさせるということですか。
ただこの場合、あらかじめ決まったパターンの線しか引けなくなりません?
作っているプログラムは、横軸の間隔をスライドバーで変更するものでして、
さらに一定間隔で太い区切り線を入れたり入れなかったりするものなのです。
コードを見ればお分かりいただけるかと思いますが、これだと別な線を引いても、スライドバーを移動させると一行目のpicture1.clsのせいで削除されてしまいます。
また、一行目のpicture1.clsを削除すると、一度引いた線が残ってしまうために、最終的に線だらけになってしまいます.そこで皆様の知恵をお借りしたいわけです。
スライダー部分のコード
Private Sub Slide_scroll()
Picture1.Cls
temp1 = Slide.SelStart
kankaku = temp1 * 120
Picture1.Line (xzahyo, 0)-(xzahyo, 500)
For hr(0) = 1 To 24 Step 1
xzahyo = hr(Index) * kankaku
Picture1.DrawWidth = 3
Picture1.Line (xzahyo, 0)-(xzahyo, 500)
Next
For min(0) = 1 To 1439 Step 1
xzahyo = kankaku / 60 * min(Index)
Picture1.DrawWidth = 1
Picture1.DrawStyle = 2
Picture1.Line (xzahyo, 0)-(xzahyo, 500)
Next
一定間隔の線を引くか否かのスイッチ、ON OFFで表示切替。コードはONにする部分
For minq(0) = 1 To 96 Step 1
xzahyo = kankaku / 4 * minq(Index)
Picture1.DrawWidth = 2
Picture1.Line (xzahyo, 0)-(xzahyo, 500)
Next
0838デフォルトの名無しさん
2005/03/25(金) 15:19:260839836
2005/03/25(金) 15:48:15まず、もういっこPictureBox(picture2)を用意して、線を引く前の画像をコレに取っておく。
slider_scrollでclsの代わりに、picture2をpaintpictureでpicture1に上書きする。
そして、その上にlineで線を引く。
0841デフォルトの名無しさん
2005/03/25(金) 19:06:58( ; ゚Д゚)
・・・・やらかしてた・・・・・
何故動かなかったのか・・・
謎解けたり・・・
_| ̄|○
とりあえず つなげるようになったっす
ありがとうございました
0842デフォルトの名無しさん
2005/03/25(金) 21:14:18#vbの話じゃないような気も
webbrowserで開いたらなんとかなるのでは?
0843デフォルトの名無しさん
2005/03/25(金) 21:45:23で一発だな。画像は別だが。
0844デフォルトの名無しさん
2005/03/26(土) 10:20:36だが、スクロールバーのMaxプロパティが、内容が多くなってくると途中でオーバーフローしていまう。(32657を超えた)
つまり、Maxプロパティの型をlongにすれば解決する問題なのだが・・。
これってなんとかならないでつか。
0845844
2005/03/26(土) 10:22:05〜内容が多くなってくると途中でオーバーフローしていまう。(32657を超えた)
↓
内容が多くなってくると途中でオーバーフローしていまう。(32767を超えた)
くだらないミススマソ
0846デフォルトの名無しさん
2005/03/26(土) 14:07:20なんか根本的に考え方が間違ってる気がするね。
スクロールバーってのは全体に対する割合をビジュアルに指定するUIであって
Maxってのはその分母。
分母に画面の解像度以上の値を指定したって意味ないでしょ?
どうせユーザーは[1/スクロールバーの高さ(幅)]より小さい分解能で
割合を指定できないんだから。
0847844
2005/03/26(土) 14:44:270848デフォルトの名無しさん
2005/03/26(土) 14:47:540849デフォルトの名無しさん
2005/03/26(土) 14:52:190850デフォルトの名無しさん
2005/03/26(土) 17:11:0032767を越えないようにスクロールの幅を変えれば良い
0852デフォルトの名無しさん
2005/03/26(土) 19:33:20VB6(SP6)でform1,form2,form3が表示するようにしてありまして、
それぞれのフォームにcommand1ボタンが一つ、text1ボックスが一つあります。
それぞれのformには、
private sub command1_crick()
Do
text1.text = Now
Doevents
loop
end sub
とコードがかかれています。
各formのcommandボタンを押すと、
最後に押したformのみ現在の時間が表示されて、
残りの2つは時間がとまったままになってしまいます。
3つのformともリアルタイムで現在時間を表示するようにしたいのです。
どうか、よろしくご教授ください。
0853デフォルトの名無しさん
2005/03/26(土) 19:34:53何故素直にTimerコントロール使わないんだ?
0854852
2005/03/26(土) 19:43:01すばやいレスありがとうございます。
実をいうと、ある時間になったら、イベントを発生させるプログラムを
複数のformで作りたいのです。
Timerでは時間誤差が多すぎて、私には使えなかったもので・・・
0855デフォルトの名無しさん
2005/03/26(土) 19:48:39誤差はどれくらいの許容?
50ms以下などの世界なら他のやり方だし
大概はTimerコントロールを0.1秒おき(これでも細かすぎるが)に回して
その中で時間を比べる
0856852
2005/03/26(土) 20:02:341時間とかのスパンで誤差を1秒以内にしたいのです
0857デフォルトの名無しさん
2005/03/26(土) 20:07:19なら855の下の方法でOKだな
0858852
2005/03/26(土) 20:15:03Dim finaltime as date
finaltime = 日時の設定
private sub command1_crick()
Timer1.Enabled = True
end sub
Private Sub Timer1_Timer()
if finaltime = Now then イベント
end sub
とすれば・・・!
0859デフォルトの名無しさん
2005/03/26(土) 20:18:00それダケじゃだめだけどな。
0860852
2005/03/26(土) 20:44:273つのformにtext2ボックスを追加して、
Dim finaltime As Date
Private Sub Command1_Click()
Timer1.Enabled = True
finaltime = DateAdd("s", 10, Now)
End Sub
Private Sub Timer1_timer()
Text1.Text = Now
If finaltime = Now Then
Text2.Text = "OK"
Timer1.Enabled = False
End If
End Sub
というのを走らせたら、3つのformともリアルタイムで
現在の時間を表示して、10病後にOKの表示がでました。
なんとかなりそうです。
どうもありがとうございました。
0861デフォルトの名無しさん
2005/03/27(日) 01:31:18MSCommで232Cの受信ソフトを作ってるんですがデータが2進(ビット)です。
これを受信ソフトで10進に変換する方法が知りたいです。
どうやらエクセルには関数があるみたいですが、VBには見当たりません。
InputLenは16ビット指定で
buffer = MSComm1.Input
textbox1.text = buffer
とすると、とうぜん"0110010110001000"等とテキストボックスに表示されます。
これを10進にしたいんです。せめて特定のビットが1か0かを判断する方法
がわかると助かるんですが(ANDではうまくいきませんでした・・)。
0862デフォルトの名無しさん
2005/03/27(日) 02:05:57すんません、ふつうにできますた・・。
0863デフォルトの名無しさん
2005/03/27(日) 08:15:16えー、どうやったの?ただで教えて。
0864デフォルトの名無しさん
2005/03/27(日) 16:30:43エクセルファイルに書きむ処理で途中で改行させたいんだけど、どうすればよい?
例えば、セルAにある程度書き込んだら次にセルBに移るみたいにしたい。
えらい人教えて。
0865デフォルトの名無しさん
2005/03/27(日) 18:06:07それは改行とは言わない
0866デフォルトの名無しさん
2005/03/27(日) 18:27:36それってエクセルのブックに直書きってこと?
Dim xlApp As Excel.Application
Dim xlBook As Excel.Workbook
Dim xlSheet As Excel.Worksheet
Set xlApp = New Excel.Application
Set xlBook = xlApp.Workbooks.Add
Set xlSheet = xlBook.Sheets(1)
みたいにするってこと?
0867デフォルトの名無しさん
2005/03/27(日) 21:07:30皆さんどうしているかとお尋ねします。
ユーザーに選択させる場合、チェックボックスとオプション(ラジオ)ボタン
の使い分けはどのような基準で行っていますか?
たとえば配偶者の有無を選択させたいとき、「有」「無」二つのオプション
ボタンを用意するか、それとも「配偶者有り」というチェックボックスを
一つ用意する、の二つの方法があります。どちらが良いと思いますか?皆さんは
どちらをお使いですか?
また、いろんなウェブページを読んでみたのですが、このへんのデザインに
ついて論じられたページを見つけることができませんでした。もし、WIndows
プログラムのユーザーインターフェースについて手短にまとめられたウェブ
ページや書籍がありましたら、お教えいただきたいとも思います。
0868デフォルトの名無しさん
2005/03/27(日) 22:23:02チェックボックスは複数選択可の場合に使用
するんじゃないの?
ユーザーインターフェースについてはwindowsをデザインした
人が書いた本があるというのをどっかのホームページで
見た覚えがある。でも、確か絶版だったと思うし、本の題名も
忘れた。
0869デフォルトの名無しさん
2005/03/27(日) 22:23:44メモリのアドレスにアクセスする関数があったら教えていただきたいです。
0871868
2005/03/27(日) 22:37:22嘘ついてスマソ
0872867
2005/03/27(日) 23:13:47その原則ではどうもしっくりこない局面があるんですよ。
たとえば、IE6.0の「インターネットオプション」の「プライバシー」
タブに「ポップアップをブロックする」というチェックボックスが
あります。この選択は「する」か「しない」かですから、上記の原則
にのっとるなら、本来はオプションボタンが妥当なはずです。でも、
Microsoftはチェックボックスを使っていますね。この実装は、なんと
なく了解できるんですよ。
ご紹介の「Windowsユーザーインターフェイスデザインガイド」は昔
読んだことがあるのですが、Microsoftが自分の原則を曲げて実装
するのはよくある話です。ですから、原点に立ち返るというか、
そもそもどのような原則でHCIを考えたらよいのか、というのが私の
疑問でした。
スレ違いだったでしょうかね。
0873デフォルトの名無しさん
2005/03/28(月) 00:07:070874デフォルトの名無しさん
2005/03/28(月) 00:13:55原則、というか判断基準は、こういうと身も蓋もないかもしれないが
「ユーザーにとってその方法の方がより直観的に解かり易いかどうか」。
ガイドラインってのは、こういう場合一般的にこうすると原則に沿えますよ、
ってことでしょ。一般論だから当然例外はある。
もちろんガイドラインってフールプルーフ、つまりどちらが原則に沿うか
自分で判断できない人のアンチョコだったり、自己中な俺様UIの乱立を
防ぐものだったりするんだろうけど。
0875デフォルトの名無しさん
2005/03/28(月) 00:25:32基地外のようなキモい絵のスプラッシュとか外観色使いとか小さくて押し辛い_□×とか
0876デフォルトの名無しさん
2005/03/28(月) 00:46:26基本は無で、人によっては有って事で。
0877デフォルトの名無しさん
2005/03/28(月) 01:40:24スリープさせてその間マウスポインタを砂時計にする処理で
マウスポインタが砂時計になったりならなかったり(ほとんどならない)
するのですが何故でしょうか。
必ず砂時計にする方法はありませんかね。
フォームにCommand1が一個の再現ケース
Option Explicit
Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
Private Sub Command1_Click()
MsgBox "foo"
Me.MousePointer = vbHourglass
Sleep 3 * 1000
Me.MousePointer = vbNormal
End Sub
0879デフォルトの名無しさん
2005/03/28(月) 01:52:180880デフォルトの名無しさん
2005/03/28(月) 01:53:21Sleep 3 * 1000
の間にDoEventsをもぐりこませる。ループでまわすしかないかなぁ・・・
0881877
2005/03/28(月) 02:20:51>>880
ありがとうございます。
これ以外なさそうであれば880さんの方式でいこうかと思います。
本題とはずれますが、このループの間にフォームを閉じると
フォームのマウスポインターを後からいじるので(?)プロセスが残りますよね。
どうすればいいかご存知でしょうか。
0882デフォルトの名無しさん
2005/03/28(月) 07:09:40残りません。
0883デフォルトの名無しさん
2005/03/28(月) 09:09:22Dim i As Double: AutoRedraw = True: FontSize = 30
ScaleMode = vbPixels: i = Timer: Show
Do While Not Abs(Timer - i) > 0.4: DoEvents: Loop
Print Chr(-32054): i = Timer
Do While Not Abs(Timer - i) > 0.4: DoEvents: Loop
CurrentX = 40: CurrentY = 0: Print Chr(-32023)
i = Timer
Do While Not Abs(Timer - i) > 0.4: DoEvents: Loop
CurrentX = 73: CurrentY = 0: Print Chr(-32037)
End Sub
0884デフォルトの名無しさん
2005/03/28(月) 11:48:56親EXEから子EXEを立ちあげた時、子EXEの画面をモーダルモードで
開く方法、確かAPIでbったとおもうbナ、思い出さbケてくれませんbゥ?
0885デフォャ泣gの名無しさb
2005/03/28(月) 11:50:320886デフォルトの名無しさん
2005/03/28(月) 11:54:22'メモ帳を起動して終了まで待機する
Shell("notepad.exe", AppWinStyle.NormalFocus, True)
MsgBox("終了。")
[VB.NET]
System.Diagnostics.Process.Start("C:\test.txt")
[C#]
System.Diagnostics.Process.Start(@"C:\test.txt");
0887877
2005/03/28(月) 13:34:03>>883
そちらのソースでも試しましたが、
「ぬ」が表示された直後などでフォームを閉じるとフォームが再度ロードされますよね。
さらに、同じ処理をCommand1_Click()内に移して同様に
「ぬ」が表示された直後などでフォームを閉じれば見た目には
終了してプロセスだけが残ります。
いかがにすればよいでしょう。
フォーカスを移動するという動作をさせたいのですが
EnterキーはASCIIコードで表せないっぽいのです。
この場合どういう方法を取れば上手くいきましょうや?
0889デフォルトの名無しさん
2005/03/28(月) 14:22:24Command1_Click()の先頭で細工(実行中かどうかを判定)するしかないのでは?
0890877
2005/03/28(月) 15:05:47フォームがあるかないかとか判定するイメージですかね。
私にはむずかしそうなので
とりあえずフォームのアンロードで死ぬようにしようと思いますが
なにか問題ありそうでしょうか。
Private Sub Form_Unload(Cancel As Integer)
End
End Sub
0891デフォルトの名無しさん
2005/03/28(月) 15:14:54サブクラス化とかDLLのインポートをやってなければ
そう気にすることも無いと思う。
念のためにアプリを終了した後にタスクマネージャで
プロセスが残っていないか確認した方がいいと思うよ。
0892877
2005/03/28(月) 15:42:30ありがとうございます。その方向でやってみます。
ところで
>>877
の最初の問題は
Me.MousePointer = vbHourglassの処理が
完全に終わる前に制御を戻してくるところにあったように思われますが
なかなか痒いところに手が届かないものですね。
0893デフォルトの名無しさん
2005/03/28(月) 16:57:09そうだね。
0894デフォルトの名無しさん
2005/03/28(月) 19:13:59vbKeyReturn
0895877
2005/03/28(月) 19:37:36実際にインプリメントしてみて気が付きました。
#いろいろ議論した挙句で申し訳ないですが
DoEventsを入れることで、ユーザーがアプリケーションを操作できるようになってしまい、
スリープを入れた意味が失われてしまいました。
果たして
>>877
に立ち返ってなにか方策はありませんでしょうか。
メッセージボックスでOKをクリックした後に
ユーザがアプリケーションを操作できず、
マウスポインタが砂時計になるような。
上手くいきました、ありがとうございます。
vbKeyReturn でググったらそのものズバリの
ページも見つかりました。
0897デフォルトの名無しさん
2005/03/28(月) 20:37:43ttp://homepage1.nifty.com/MADIA/vb/vb_bbs/200402_04020045.html
0898877
2005/03/28(月) 21:01:04ありがとうございます。
そちらでの結論としても
DoEventsを入れましょうということのようですが、
>ユーザがアプリケーションを操作できず
というのは無理そうですね。。。
と、ここまで書いていてちょっと思いついて試してみたら次のコードで
うまく動作しました。
しかし端末スペックなど環境に依存するかもしれず心配ですが、
どうでしょうね。手がなければこれで進めようとも思いますが。(心配だ)
Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
Private Sub Command1_Click()
Me.MousePointer = vbHourglass 'ここを一ステップ前に
MsgBox "foo"
Sleep 3 * 1000
Me.MousePointer = vbNormal
End Sub
0899877
2005/03/28(月) 21:11:00自己レスでごめんなさい。
実験したところ、どうやらメッセージボックスでは必ずマウスポインタは矢印に戻るようです。
つまり、
Me.MousePointer = vbHourglassが早く処理されて
メッセージボックス表示以前に砂時計になってしまっても、
表示上は気が付かない。
Me.MousePointer = vbHourglassが遅く処理されても
メッセージボックスをいじる間には砂時計になっている。
ということで今回の件に限定すれば解決できそうです。
お騒がせしました。 & ありがとうございました。
0900デフォルトの名無しさん
2005/03/28(月) 21:14:09忘れたのと分からないのを混同しないでください。
0901デフォルトの名無しさん
2005/03/28(月) 21:53:53Dim i As Double: Show: ScaleMode = vbPixels: FontSize = 30
Do: DoEvents: ForeColor = QBColor(Rnd * 15)
CurrentX = 0: CurrentY = 0: i = Timer
Do While Not Abs(Timer - i) > 0.05: DoEvents: Loop
Print Chr(-32054): i = Timer: ForeColor = QBColor(Rnd * 15)
Do While Not Abs(Timer - i) > 0.05: DoEvents: Loop
CurrentX = 40: CurrentY = 0: Print Chr(-32023)
i = Timer: ForeColor = QBColor(Rnd * 15)
Do While Not Abs(Timer - i) > 0.05: DoEvents: Loop
CurrentX = 73: CurrentY = 0: Print Chr(-32037): Loop
End Sub
0902877
2005/03/28(月) 21:55:29>>898でもダメパターンありました。
(原因は特定できませんが)
さらに以下のようにおまじないをしてうまくいきました。
Me.Enabled = False
Screen.MousePointer = vbHourglass
これで気が付いたこと
>ユーザがアプリケーションを操作できず
→これEnabled = Falseで良かっただけでしたね。
日に日に衰えている気分です。
もう、次につまづいたらUIを変更します。
0903デフォルトの名無しさん
2005/03/29(火) 00:33:52>>889
0904デフォルトの名無しさん
2005/03/29(火) 13:09:50フォーカス移動した際に移動先のテキストボックスに表示されている
文字列が選択された状態にするにはどうすれば良いでしょうか?
0905デフォルトの名無しさん
2005/03/29(火) 14:00:13う〜ん。
ぱっと思いついたもの
移動先のテキストボックスがtxtBoxとして、gotfocusのところに
txtBox.SelStart = 0
txtBox.SelLength = Len(txtBox.Text)
じゃ、駄目かなぁ。
0907デフォルトの名無しさん
2005/03/29(火) 14:39:37UIから入力された文字をVBReportを用いて印刷しています。
帳票には、正方形のマス目があり一文字が1マスに印刷されます。
濁点も一マスに出力する必要があります。
しかし、例えば
UIにて「が」と入力すると帳票には「か」と「゛」
がそれぞれ1マスずつに出力させたいのですが
「が」と1マスに印刷されてしまいます。
「が」を「か」と「゛」に分ける際には
皆さんはどのような方法を用いているのでしょうか?
それとも、上記の文字編集を行うにはUIからの入力の際には
カナキーからに限定となるのでしょうか?
0908デフォルトの名無しさん
2005/03/29(火) 15:06:49いまの文字=「か」
次に文字を追加 「゛」
end if
こんなの?
0909デフォルトの名無しさん
2005/03/29(火) 15:20:40>>908
ご返答ありがとうございます。
「が」にかかわらず、全ての濁音で文字列編集したいのです。
if 今の文字列 =「濁点ありの文字 (例:ば)」 then
編集後文字列 = 「濁点をとった文字(例:は)] & "゛"
end if
こんな感じのことをしたいです。
0910デフォルトの名無しさん
2005/03/29(火) 15:25:36同様に全部やれば?
0911デフォルトの名無しさん
2005/03/29(火) 15:58:25配列使ってやれば?
0912デフォルトの名無しさん
2005/03/29(火) 18:19:06StrConv関数使ってやれば?
0913デフォルトの名無しさん
2005/03/29(火) 18:41:18現在、VB6.0で業務アプリを作っているのですが
VBからファイルをCDに焼きたいのです。
XPなら標準で焼き機能がついているので
なんとかできると思うのですが、今回はWINDOWS2000
なのです。
VBで処理することは不可能でしょうか?。。。
回答よろしくお願い致します。m(_ _)m
0914デフォルトの名無しさん
2005/03/29(火) 18:42:440915デフォルトの名無しさん
2005/03/29(火) 18:44:10OCX買えば?
自作で焼くプログラム組むのはきついぞ
0916デフォルトの名無しさん
2005/03/29(火) 19:03:49明日上司と相談してみることにします。。。
ありがとうございました。
(´・ω・)
0917デフォルトの名無しさん
2005/03/29(火) 19:41:50cdrecordみたいなコマンドラインで動作するのをshellか何かで呼んでやるのはどう?
0919質問
2005/03/30(水) 12:06:00プロパティとかは存在しますでしょうか?
0920デフォルトの名無しさん
2005/03/30(水) 12:23:07作りたいのですが、どうすればよいですか?
0921デフォルトの名無しさん
2005/03/30(水) 13:07:21Form.ActiveControl?
0922デフォルトの名無しさん
2005/03/30(水) 13:09:16Command関数
0923デフォルトの名無しさん
2005/03/30(水) 13:12:42ないと思う。GotFocusとLostFocusイベントじゃいけないの?
>>920
起動したときのコマンドラインはCommand関数で取得することができます。
0924デフォルトの名無しさん
2005/03/30(水) 13:15:020925920
2005/03/30(水) 14:01:160927質問
2005/03/30(水) 15:55:31Form1上のText1.Textを
Form2上のLabel2.Captionに
送る方法を教えて下さい。
Form1 [コード]
Form2.Show
Label2.Caption = Text1.Text
↑ではエラーが出てしまいます。
0928デフォルトの名無しさん
2005/03/30(水) 15:58:010929デフォルトの名無しさん
2005/03/30(水) 16:07:38じゃ俺が釣られまする…
form2.label2.caption = Text1.Text
ですよ。
ってかネタだよね?
0930927
2005/03/30(水) 16:16:33すみません、真面目に質問したのです。
参考書にはフォーム間での値のやり取りは
載っていなかったので…それはともかく
上手く動きました、ありがとうございます。
0931デフォルトの名無しさん
2005/03/30(水) 18:08:22Text2.SetFocus
End Sub
Private Sub Text2_GotFocus()
Text1.SetFocus
End Sub
ピコピコピコピコピコピコピコピコピコピ!!
0932デフォルトの名無しさん
2005/03/30(水) 18:27:260933デフォルトの名無しさん
2005/03/30(水) 21:17:060934質問
2005/03/31(木) 09:05:31・OutlookExpressのメッセージ作成フォームが
・宛先のメールアドレスが入力された状態で
・アクティブな状態で
起動されるにはどうすれば良いのでしょうか。
Private Sub cmdMail_Click()
Dim FuncRet As Variant
On Error Resume Next
FuncRet = Shell("c:\Program Files\Outlook Express\msimn.exe")
If FuncRet = 0 Then
MsgBox "メールソフトを起動出来ませんでした。"
End If
End Sub
↑をどう変えれば上手く行きますか?
0935デフォルトの名無しさん
2005/03/31(木) 09:10:55>>934
人にものを尋ねる態度じゃないな。
0936デフォルトの名無しさん
2005/03/31(木) 09:12:34google shellexecute mailto
0937デフォルトの名無しさん
2005/03/31(木) 10:50:03作成したアプリケーションの処理速度を向上させるための
チューニングを行おうと思っています。(ソースの改造も含めて)
どのモジュールがどれぐらいの処理時間を費しているかという
プロファイルを取り、それを元にチューニングを行うロジックを
特定しようと思ったのですが、こう言ったプロファイル情報は
どのようにして採取すればよいのでしょうか?
0938デフォルトの名無しさん
2005/03/31(木) 10:57:41人にものを尋ねる態度じゃないな。
0939デフォルトの名無しさん
2005/03/31(木) 11:03:12自前でコード化
0940デフォルトの名無しさん
2005/03/31(木) 11:20:12俺のマネをしたようだが君のは見当違い。
0941デフォルトの名無しさん
2005/03/31(木) 11:43:44TextBoxから金額の入力を受け付ける処理なんですが
…えーと、お手元にリアル電卓が有ればそれを御覧下さい
その電卓みたいな入力方法を再現したいのです。
標準の関数で用意されていても良さそうなものですが
見当たりません…どうか御助力願います。
なにとぞよろしくおねがいいたします。
0942デフォルトの名無しさん
2005/03/31(木) 11:45:52TextBoxを使わない方向で作ればいいじゃないか
0943941
2005/03/31(木) 12:07:45申し訳ありません、TextBoxを使わない方向
というのが分かりません。リアル電卓的な
入力を実現するコントロールが存在するという
ことでしょうか?それとも、Format関数を使って
一括変換するということでしょうか?
後者の方法の場合、操作感が求めるものと全く
違ってしまうので避けたいと考えています。
0944デフォルトの名無しさん
2005/03/31(木) 12:16:56ピクチャーボックスでもなんでも使って自作すりゃいいでしょ?
0945デフォルトの名無しさん
2005/03/31(木) 12:18:26「電卓InputBox関数」が欲しいのか?
どちらにしろ、自分で作れ。
0946941
2005/03/31(木) 12:27:09入力そのものはキーボードで行います
TextBoxのカーソル位置と表示法をリアル電卓
的に再現したいというつもりだったのです。
恐らく>945氏の仰る「電卓InputBox関数」
というモノが求めるものだと思います。
ググって探してみます、本当に申し訳あり
ません…
0947デフォルトの名無しさん
2005/03/31(木) 12:40:580948デフォルトの名無しさん
2005/03/31(木) 12:43:52それは、VBもしくは、Windows上で作ったプログラムのモジュール単位での
実行時間のプロファイルを採取する仕組みが標準では存在しないという事ですか?
Unix系だと、コンパイル、リンク時にプロファイルを採取する為のオプションを付けて
ロードモジュールを作成し、実行すると、結構詳しいデータが取れるんですが。
0949941
2005/03/31(木) 12:53:36入力は常に最下位桁でのみ受け付けて
途中の桁の値を書き換えたり挿入したり
出来無いってのをやりたいのです。
InputBox関数はちょっと違ったようです。
数字の表示はあくまでもTextBox上にされるように
したいので…KeyPressイベントでIf文を使ってやる
しかないようですね。スレ汚し御詫び申し上げます。
0950デフォルトの名無しさん
2005/03/31(木) 12:58:21どのようにすれば実現できるでしょうか?
0951デフォルトの名無しさん
2005/03/31(木) 13:03:39するな。
0952デフォルトの名無しさん
2005/03/31(木) 13:18:55常に最後の文字の後ろにカーソルがいくように作る。
TextBox.SelStart
TextBox.SelLength
0953デフォルトの名無しさん
2005/03/31(木) 14:55:20誰かにレビューしてもらって見当つけて直すのが効率的では?
ループ
ネットワークへの接続
SQL
ファイル操作
描画
そんなところを中心に
0955デフォルトの名無しさん
2005/03/31(木) 15:29:33場合分けするしかないですか?
0956デフォルトの名無しさん
2005/03/31(木) 15:30:20レスTHXです。
その「誰かにレビューしてもらって見当をつける」と言う部分を、
定量的に計測する方法がVBもしくは、Windowsに備わって
いるのであれば、それを利用してあたりをつけようかなと思った
訳です。
0957デフォルトの名無しさん
2005/03/31(木) 18:19:33こういう場合はどういうミドルウェアを使うのが常套手段ですか?
oo4oですか?
0958デフォルトの名無しさん
2005/03/31(木) 19:20:47いいたいことがまだ伝わらないようですな
0959デフォルトの名無しさん
2005/03/31(木) 19:20:59クラスモジュールでコンストラクタというか、プロパティをプライベートの状態
で初期値設定するのは、どのようにすればよいのでしょうか?
それと、プロシージャ内でstatic変数を宣言したときの初期化はどのようにする
のでしょうか?
お願いします。
0960デフォルトの名無しさん
2005/03/31(木) 19:23:53VBにクラスなんてないよ
0961デフォルトの名無しさん
2005/03/31(木) 19:40:13伝わっていないようです。
あ、もしかして、そういうことが調べたければ
そういうことを調べる仕組みを
自分で作れって言う意味ですか?
0962デフォルトの名無しさん
2005/03/31(木) 19:58:21Initialize
Static変数を任意の値で初期化したいってのはあきらめろ
0963デフォルトの名無しさん
2005/03/31(木) 20:18:45ありがとうございます。
staticをintegerで宣言した場合、初期値は0に設定されると言う事は保障され
ているのでしょうか?本当は-1からスタートしたかったのですが…。
0964デフォルトの名無しさん
2005/03/31(木) 20:47:07MSDNのStatic ステートメントの説明には
変数の初期化時には、数値変数は 0 に、可変長文字列は長さ
0 の文字列 ("") に初期化され、固定長文字列には 0 が埋められます。
と書かれている
0965934
2005/03/31(木) 21:08:28ググった先にそれらしい記事が有りました、
標準モジュールに記述される内容が難しくて
理解は出来ませんが動かすことは出来ました。
どうもありがとうございます。
>935
ご不快に思われたならお詫びします。 ごぬんなさい
後学の為にも、僕の書き込みの何所が
悪かったのかをご指摘下されば幸いです。
0966デフォルトの名無しさん
2005/03/31(木) 21:14:42随分右だな
0967デフォルトの名無しさん
2005/03/31(木) 21:19:08ありがとうございました。
クラスの方は、初期処理するメソッドを書こうと思います。
お世話になりました。
0968958とは別人
2005/03/31(木) 22:27:56自作するんじゃないかな。
でも結局遅い箇所がみつかってもそれが妥当な遅さか改善可能かは
分かる人が見極めるんだろうから、
最初から分かる人にレビューさせるのが手っ取り早い。
0969デフォルトの名無しさん
2005/03/31(木) 22:33:00スパムを送るのには使わせないよう頼みます。
0970デフォルトの名無しさん
2005/03/31(木) 22:54:19そうですか。
プログラムの種類にもよるかと思いますが、Unix系のOSで
プログラムの実行速度のチューニングを行う場合は、まず、
プロファイルを取って遅い箇所を探すっていうのがセオリー
なので、VB6やWindowsのプログラムに関してもそう言っ
た仕組みがあるのかなぁと思って質問していました。
こんなの。
ttp://docs.sun.com/app/docs/doc/805-7884/6j7dphvob?l=ja&a=view
0971デフォルトの名無しさん
2005/03/31(木) 22:59:21速度気にするプログラムはそもそもVB6のみでのプログラムはしない。
0972デフォルトの名無しさん
2005/03/31(木) 23:03:03学生か・・・
実際PGの仕事に就いたらそう単純でないことにすぐ気付くよ。
0973デフォルトの名無しさん
2005/03/31(木) 23:04:40給料泥棒は黙ってなさい。
0974デフォルトの名無しさん
皇紀2665/04/01(金) 11:10:17VBは速度を要求する場面に向かないけど、
だからといって速度をまったく気にしなくていい訳ではないよ。
0975デフォルトの名無しさん
皇紀2665/04/01(金) 12:04:25VB以外の部分がボトルネックになってるケースも多々。
ms単位の精度が要件となるなら、Win自体が向いてないような。
0976デフォルトの名無しさん
皇紀2665/04/01(金) 12:12:26VS 2005 Team System がリリースされるまで我慢するのじゃ。
かなり強力なプロファイラがついてくるよ。
0977デフォルトの名無しさん
皇紀2665/04/01(金) 12:16:36SQL Server にはプロファイラついてるね。
0978デフォルトの名無しさん
皇紀2665/04/01(金) 16:56:29Do Loopを抜ける処理があるのですが、キャンセルボタンが押されてもDo Loop処理を終わらせたい場合は
どのようにしたら良いですか?
良い知恵をご教授ください。
0979デフォルトの名無しさん
皇紀2665/04/01(金) 17:13:57こんな感じ。 ほかにもあるかも。
キーが押されたらパブリック変数を変える。Loopの中でその変数をチェックする。
もしくは、APIでリアルタイムキースキャン。
0980デフォルトの名無しさん
皇紀2665/04/01(金) 17:56:48回答有難うございます。
データ受信処理をしている関数の中の数箇所にパブリック変数をおいて、
変数の値が変ったらexit subで処理を抜ける・・・ってことですよね?
やってみます。
0981デフォルトの名無しさん
皇紀2665/04/01(金) 18:49:00が、それ以前にループで待機する、ってやり方自体がどうかと思うぞ。
そういう処理をしたい場合は、考え方を変えた方がいいと思う。
■条件を満たすまで待機
ではなく、
■一定時間ごとに条件を満たしているかチェックして、満たしていたら
「何かいいこと」をする。あるいはイベントを生成する。
0983972
NGNG意外に少ないよ、ということでした。
0984デフォルトの名無しさん
NGNG低レベルな給料泥棒は黙ってろってば。
0985デフォルトの名無しさん
NGNG根拠は?
0986デフォルトの名無しさん
NGNG0987デフォルトの名無しさん
NGNGそういうことは質問に答えられたら書こうね。
0988デフォルトの名無しさん
NGNGリーダーの人ゴメンナサイ、痒い所に手が届かなくてゴメンナサイ。
0989デフォルトの名無しさん
NGNG0990デフォルトの名無しさん
NGNGしかも、VBしか使えないくせに、VBのスキルがたいしたことなかったりしない?
0991デフォルトの名無しさん
NGNGまさにそれ!
リーダーの人が日に日にやつれていく…
0992デフォルトの名無しさん
NGNGvbしか知らないとか人の批判してるけど、お前らも社会からみたらたいした事ないからw
管理する人&経営する人の大変さが解るぐらい早く大人になれよw
0993デフォルトの名無しさん
NGNGなんで怒られるの?なんでwとか使うの?
VBしか出来ないことは悪く言ってないよ。
VB出来るって言って給料受け取ってるのに
仕事仕上げられない人を批判したら駄目?
同じ給料しか貰ってないのに尻拭いさせられ
てるんだから文句の一つも言いたくなるよ。
自分が完璧じゃなかったら他人の批判も出来ない
というなら、誰も何も言えなくなっちゃうでしょう?
貴方がどれだけ凄い能力をお持ちか知らないけど、
よく知りもし無いくせに上から物を言わないでよ。
0994デフォルトの名無しさん
NGNGついでに言えば使えないプログラマを非難する場所でもないんで
0995デフォルトの名無しさん
NGNGお互いの気持ちはいつも
そばに居るよ
0996デフォルトの名無しさん
NGNGまっ、喧嘩するほど仲がいいというやつですね。
0997デフォルトの名無しさん
NGNG根拠がどこにも書かれていないようですが?
0998デフォルトの名無しさん
NGNG09991
NGNG1000鳥次第移動してください。
http://pc8.2ch.net/test/read.cgi/tech/1112414085/
10001
NGNG10011001
Over 1000Threadもう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。