VB初心者質問スレ Part6
■ このスレッドは過去ログ倉庫に格納されています
0001引っ越しました
NGNGPart1 = http://piza.2ch.net/test/read.cgi?bbs=tech&key=968328471&ls=50
Part2 = http://piza2.2ch.net/test/read.cgi?bbs=tech&key=990793224&ls=50
Part3 = http://pc.2ch.net/test/read.cgi/tech/1000523122/
Part4 = http://pc.2ch.net/test/read.cgi/tech/1006922992/
Part5 = http://pc.2ch.net/test/read.cgi/tech/1010624646/
Win32 API関連スレ
http://pc.2ch.net/test/read.cgi/tech/1006783012/l50
心得
壱.質問する前に過去ログにも目を通してみる。
弐.質問する前に MSDN などで調てみる。
参.VBScript もこのスレでOK。
四.インストーラーなどの質問もOK。
0002デフォルトの名無しさん
NGNG0003デフォルトの名無しさん
NGNG0004デフォルトの名無しさん
NGNG最初からリンク切れ
0005通りすがり
NGNGPart2 = http://piza2.2ch.net/tech/kako/990/990793224.html
0006通りすがり
NGNGPart3 = http://pc.2ch.net/tech/kako/1000/10005/1000523122.html
Part4 = http://pc.2ch.net/tech/kako/1006/10069/1006922992.html
0007デフォルトの名無しさん
NGNG0008デフォルトの名無しさん
NGNG0009デフォルトの名無しさん
NGNGVBの仕事請けなければいいのよ。
パンがないなら、ケーキを食べればー。
0010デフォルトの名無しさん
NGNG0011デフォルトの名無しさん
NGNG0012デフォルトの名無しさん
NGNG0013初登場
NGNGaaa > bb
となってしまう。
文字数を無視して、bbの方を大きいとみなしたいのですが
どうしたら良いでしょうか?
0014デフォルトの名無しさん
NGNGもしかしたらそういうことができる関数がVBにあるかもしれないけど、
aaaとbbの中の文字列を抜き出してASCIIコードで比較するようにすればいいのでは。
0015デフォルトの名無しさん
NGNGTrue
001614
NGNG>aaaとbbの中の文字列を抜き出して
aaaとbbを1文字ずつ抜き出してに訂正
001714
NGNGところで"AA"と"AAA"ではどっちが大きくなるの?
ここでは"AAA"の方を大きくしている。
同じときには"同じ"を返すようにしてる。
= 比較("aaa","bb")
Function 比較(A As String, B As String) As String
Dim c As Integer, i As Integer, Ok As Byte
If A = B Then 比較 = "同じ": Exit Function
If Len(A) > Len(B) Then
c = Len(B): 比較 = B
Else
c = Len(A): 比較 = A
End If
Ok = 0
For i = 1 To c
If Asc(Mid(A, i, 1)) <> Asc(Mid(B, i, 1)) Then
If Asc(Mid(A, i, 1)) > Asc(Mid(B, i, 1)) Then
比較 = A
Else
比較 = B
End If
Ok = 1
End If
If Ok = 1 Then Exit For
Next i
End Function
001914
NGNG"bb"の方が大きいんですけど。
わしって踊らされてたんですか?
0020デフォルトの名無しさん
NGNG>>15を見よ。
0021真厨房
NGNG<P>タグ1行のHTML返ス例で
0023デフォルトの名無しさん
NGNG悪いことは言わない。止めときなさい。
代わりにPHP使うのがいいよ。
002413
NGNG"aaa" > "BBB" になってしまうのです。
その前にsortをしているのですが、ソートでは、
aaa
BBB
の順に並んでいるんですけど、
比較すると、aaaの方が大きくなってしまうので、
マッチングできないんです。。
0025デフォルトの名無しさん
NGNGまさかリストボックスでソートしているとか、そんな素人っぽいこと言わないよね。
単純に"aaa" < "BBB"にしたいなら、モジュールにOption Compare Textを書けばOK。
ただし、この方法はモジュール全体に適用されるので、StrComp関数を使用して
第三引数にvbTextCompareを指定した方が良い。
ただし、これをやってもソートで使用している比較ルーチンの結果と
同じになるとは限らないので注意すること。
0026デフォルトの名無しさん
NGNG標準出力を GetStdHandleして、WriteFileで文字列を送る。
sHeader = "Content-type: text/html" & vbCrLf
sHtml = "<HTML><HEAD><TITLE>test</TITLE></HEAD>" & vbCrLf & _
"<BODY><P>This is a test.<BR></BODY></HTML>" & vbCrLf
0027デフォルトの名無しさん
NGNGIf KeyCode = 9 Then
KeyCode = Asc(" ")
End If
End Sub
TABキー押されたとき、RichtextBoxにTabコード(&H9)を入れたいのですが、、、、
無理やりこんなこと(スペースに置き換え)やってます。
なんか方法ないのでしょうか?
0028デフォルトの名無しさん
NGNGMSFlexGridで、アンドゥリドゥを製作したいのですが、どうしたら良いでしょうか。
配列に入れて・・等考えましたが、複雑になりますし、簡単にコントロールの内容を保存させたりする関数や方法は無いのでしょうか。
それと、ネットの画像をDLしてMSFlexGridのセルに表示したいのですが・・
詳しい説明が載っている場所が無かったので、お願いします。
0029デフォルトの名無しさん
NGNGワードとかエクセルに付いてるVBAとかでも
同じ事できるかなぁ?
ちょっと勉強してみようかなと思っとる。
0030デフォルトの名無しさん
NGNG一旦バッファに取り込んで、tabを挿入して書き換える以外に方法は
ありません。 リッチではTabを挿入するのはあきらめましょう。
0031デフォルトの名無しさん
NGNGDelphiならタダです。断然そちらを強く推します。
0032デフォルトの名無しさん
NGNGVB6でデータベースの作成!! 凄い! 惚れたよ。
アンドゥ リドゥ がやりたいなら、[Commandパターン]を使うべし。
0033デフォルトの名無しさん
NGNG将来性を考慮したらC++BuilderやJBuilderの方がいいんでないかい。
0034デフォルトの名無しさん
NGNGRichTextBox以外TabStop=Trueのコントロールをフォーム上に置かなければ、
普通にTab入るはず。
0035デフォルトの名無しさん
NGNGhttp://www.microsoft.com/japan/presspass/releases/021402msdn.htm
VB.NET Standardは\12,800-
003613
NGNGthanks you.
比較はif文でLOOPさせてやってたんですけど、
その方法でやってみます。
0037デフォルトの名無しさん
NGNG"Memento" じゃねーの?
0038デフォルトの名無しさん
NGNGVBAでも大体一緒。結構違うけど。
004027
NGNG巧く行きました。
004128
NGNGサンプル等在れば教えて欲しいのですが・・
MSFlexGridのNetでDLした画像表示ですが、
http://homepage2.nifty.com/inform/vbmania/source/geturl.htm
のを使ってローカルに保存し、表示も心見ましたが、別の方法が在ると思われるんですが・・
これだとちょっと遅いような気がするんですが、仕方ないでしょうか
0042デフォルトの名無しさん
NGNGPopupMenuを表示したいのですが、Eventが巧く取れません。
2回クリックしない反応しません。
バグなのでしょうか?
どなたかお願いします。
Private Sub txtTheme_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
If Button = 2 Then '右クリックをチェック
PopupMenu RightClick ’ポップアップメニュー表示
End If
End Sub
0043ヤン
NGNG0044デフォルトの名無しさん
NGNGText1.textの文字が0だった場合「正しいです」が表示されて、それ以外だった場合「違います」が表示されるのは出来ました。
If no1 = Chr(48) Then
MsgBox ("正しいです")
Else: MsgBox ("違います")
End If
Text1.textが0か1だった場合に「正しいです」が表示され、それ以外の場合に「違います」が表示されるようにするにはどうすればいいのでしょうか?
0045デフォルトの名無しさん
NGNGtxtTheme.Enabled = False
txtTheme.Enabled = True
PopupMenu RightClick
>>43
VBの参考書なんてどーれも一緒
>>44
If no1 = "0" or no1 = "1" Then
MsgBox ("正しいです")
Else: MsgBox ("違います")
End If
0046デフォルトの名無しさん
NGNGプログラミング Microsoft VisualBasic6.0〈VOL.1〉基礎編 マイクロソフト公式解説書
http://www.amazon.co.jp/exec/obidos/ASIN/4891001348/qid%3D/250-0054436-1965029
この本以外は、糞。
004744
NGNG出来ました。 ありがとう!!
0048デフォルトの名無しさん
NGNGLeftとかTopとかのプロパティが変わったりFrameの
EnableをFalseにすると使用不可になったりするじゃないですか。
と言う訳で、Frameの上に配置したコントロールを取得したいのですが、
何かいい方法はないでしょうか?
0049デフォルトの名無しさん
NGNGこんなもんかねぇ。ヘルプも見てないで間違ってるかも。
For I = 0 To Form1.Controls.Count - 1
If Form1.Controls(I).Container Is Frame1 Then
' 処理
End If
Next
0050デフォルトの名無しさん
NGNGControlsコレクションで列挙して、Containerプロパティをチェック。
0051デフォルトの名無しさん
NGNGありがとうございます
Containerに添字は必要なかったのですね。
(0)とか入れて地獄に逝ってました。
ありがとうございます
0052デフォルトの名無しさん
NGNG合ってるけど、Eachを使うほうがモアベター。
0053デフォルトの名無しさん
NGNGVB初心者掲示板の投稿消しとけよ
0054デフォルトの名無しさん
NGNG質問する時はコードを見せろ、バカ!
0055デフォルトの名無しさん
NGNG誤爆?
005641
NGNG詳しい説明お願いします。
0057誤爆者
NGNG0058デフォルトの名無しさん
NGNG>VB初心者掲示板の投稿消しとけよ
V友の超初心者専用Q&A掲示板ではなく?こちらも同時期に回答ついてるぞ。
「VB初心者掲示板」がどこかは知らないけど、別の掲示板なら、
他所でもらった回答をまとめて、解決方法をレスしとけよ。>>49
0059デフォルトの名無しさん
NGNGマルチ坊やに理屈は通じない。
こないだから平気でマルチし続けてる。
006032
NGNGCommandパターンじゃなくて、>>37 が指摘したようにMementoパターンだった。
http://www.ff.iij4u.or.jp/~ahirusan/Java/patterns/memento.html
http://www11.u-page.so-net.ne.jp/tk9/ys_oota/mdp/Memento/index.htm
俺も勉強中だし、今、理解できなくてもいいよ。
20年後に、そういえば掲示板でMementoとか言ってたなと思い出してくれ。
さて、MSFlexGridで遅い件だけど、
HTTPのダウンロードが遅いの? MSFlexGridの表示が遅いの?
もうちょっと答えられるように質問してよ。
006258
NGNG他所でもらった回答をまとめて、解決方法をレスしとけよ。>>48
006356
NGNGMementoパターンですか・・よく判りませんが見たり調べてみます。
遅い件は、多分DLしてファイルとして保存>開くのところが遅いんだと思いますが・・
ちょっとコードを変えてますが、こんな感じでやっています
Dim b() As Byte
b() = Inet.OpenURL("http://www.dd.iij4u.or.jp/~cap/images/logo.gif", 1)
Open "Date.jpg" For Binary Access Write As #1
Put #1, , b()
Close #1
On Error Resume Next
Picture1.Picture = LoadPicture("Date.jpg")
Set List1.CellPicture = Picture1.Picture
MSFlexGrid1.RowHeight(List1.Row) = Picture1.Height
もうちょっと簡単にすれば早くなると思うのですが・・・
0064デフォルトの名無しさん
NGNGそれはVBの本だと思うけど、VBAの本でなくて良いのですか?
0066名無しさん
NGNG0067デフォルトの名無しさん
NGNG作って分かるVisual Basic
0068デフォルトの名無しさん
NGNG一通り読んでみそ。
0069デフォルトの名無しさん
NGNGMSDN見ながら実際やってみることだな
それだけでジュウだな
APIはVB用の解説WEBでさがすことだな
007032
NGNGList1ってのが何かわからん。ListBox? でも、CellPictureなんてプロパティないしな。
なんでさ、ダウンロード と 表示を一つのサブルーチンでやっちゃうわけ?
そうやっちゃうから、どちらが遅いのかという質問に答えられないんだよ。
学生さん? ならば許す。
とりあえず、On Error Resume Next 以降を少し簡略化してみた。
Dim nRow As Long
Dim nCol As Long
nRow = 1
nCol = 1
With Me.MSFlexGrid1
.Row = nRow
.Col = nCol
Set .CellPicture = LoadPicture("logo.gif")
.ColWidth(1) = .CellPicture.Width
.RowHeight(1) = .CellPicture.Height
End With
俺の環境ではべつに遅くないけどな。
007132
NGNG× >>56
↓
○ >>63
× .ColWidth(1) = .CellPicture.Width
× .RowHeight(1) = .CellPicture.Height
↓
○ .ColWidth(nCol) = .CellPicture.Width
○ .RowHeight(nRow) = .CellPicture.Height
0072デフォルトの名無しさん
NGNGform1をロードして数秒後に(たとえば2秒後)
form2を立ち上げる。
というようなことをしたいんですがどうすればいいんでしょうか。
0073デフォルトの名無しさん
NGNGタイマーを使う。
0074デフォルトの名無しさん
NGNGそれはわかるんですが・・・。
0075デフォルトの名無しさん
NGNGんじゃ何がわからんのよ?
タイマーのIntervalを2000にして、
Private Sub Timer1_Timer()
Timer1.Enabled = False
Form2.Show
End Sub
とすりゃ完成やんけ。
0076デフォルトの名無しさん
NGNGあっ!!
ホントだ!
感謝感謝です。
ありがとございました。
0078デフォルトの名無しさん
NGNGかちゅとか使ったら?
0079デフォルトの名無しさん
NGNGif result=vbyes then
msgbox"",""
end if
↑たぶんあんまりあいてない・・・
008079
NGNG0081デフォルトの名無しさん
NGNGこんな感じ?
if result=vbyes then
msgbox"",""
end if
それともこんな感じかな?
if result=vbyes then
msgbox"",""
end if
0082デフォルトの名無しさん
NGNG上は半角スペース4つの代わりに全角スペース2個
下は半角スペースの代わりに「 」を入れてみた
0083デフォルトの名無しさん
NGNG「そんなスレありません」と表示されても、
左下に倉庫のリンクがあるから、クリックしてみ!
008463
NGNGすみません、List1というのはMSFlexGridです。改名してたのを忘れてました・・
この処理を10回〜50回程度連続でやらせるんです。そうするとかなり低速で・・
いちいち保存>開く等せずにちょくせつピクチャボックスに入れられれば、早くなると思うのですが、どうなんでしょう。
ちなみに10代で学生ですが・・
008563
NGNGそれを保存し開いてMSFlexGridに設定するまでが7秒でした。こんな物なのかな・・
0087デフォルトの名無しさん
NGNG「既に起動されています」のメッセージを出力して、
既に起動されているプログラムをActiveにする。
という事をしたいのですが、どうすればよいのでしょうか?
0088デフォルトの名無しさん
NGNGVB6のソフトウェアをつくったのですけれど、MMCONTROLを使って、
音が入るソフトを作るとVISUALSTUDIOをインストールしていない
パソコンでは動きません。これはどうやって解決したらいいんでしょうか??
ご指導お願いします。DLLをパックするような。。そんな気もするんですけど
どのDLLかもわかりません。
0089デフォルトの名無しさん
NGNGディストリビューションウィザードとか使いましょう。
0091デフォルトの名無しさん
NGNG[OK]ボタンを押してもゾンビの様に何度も表示されます。
----------------------------------------------------------
VB6 のページ違反です。
モジュール : KERNEL32.DLL、アドレス : 017f:bff7b9f5
Registers:
EAX=1001cdbc CS=017f EIP=bff7b9f5 EFLGS=00010202
EBX=007ffe28 SS=0187 ESP=00700000 EBP=00700024
ECX=1001cdbc DS=0187 ESI=00000001 FS=495f
EDX=00000001 ES=0187 EDI=8194055c GS=0000
Bytes at CS:EIP:
56 57 89 65 e8 75 04 33 c0 eb 54 85 c0 74 4b c7
Stack dump:
007ffe28 1001cdbc 00000001 007ffe28 1001cdbc 00701df8 bffc0ab0 bff79250 ffffffff 00701e08 bff7cef4 1001cdbc 00000001 1001e37d 1001cdbc 00701e30
0092デフォルトの名無しさん
NGNGせめてKERNEL32.DLLのソースコードをMSからもらってきてw
0093初心者
NGNGformにgifアニメを貼り付けるにはどうしたらいいんでしょうか。
0094デフォルトの名無しさん
NGNGgif -> aviコンバータをどこからか持ってきて、
Animationコンポに読ませる。
UNISYSの特許はまだ切れてないだろー。
0095初心者
NGNGありがとうございます。
0096名無しさん
NGNGPrivate Sub TextBox1_Change()
for i = 1 to 100
next i
End Sub
0097デフォルトの名無しさん
NGNGつくりたいんですがこれってどういうコマンドを使えばいいんですか?
009877
NGNG教えてくれた人ありがとう!
0099デフォルトの名無しさん
NGNGApp.PrevInstance
>>97
pingをリダイレクトしたファイルを読み、削除する。
わりと短く書ける。
同じことをAPIでやると、100行以上になる。
0100デフォルトの名無しさん
NGNGApp.PrevInstance
AppActivate
>>96
CreateObjectでExcel起動しておくこと。
指定のブックの指定のシートのRangeプロパティかCellsプロパティ使って、
For文の中でA2〜A101を指定する。
後は各セルにデータを代入するだけ。
Webで調べてみ。現状からはこれ以上回答できんし。
>>97
Shell関数でDOS経由でPingコマンド飛ばすとか。
リダイレクトでファイルに書き込むようにしておいて、
そのファイルをVBで読み込む。
■ このスレッドは過去ログ倉庫に格納されています