VB初心者質問スレ Part6
レス数が1000を超えています。これ以上書き込みはできません。
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で読み込む。
0102おれが100
NGNG>97に関してだけどそれだとNT系のやつだとダメっぽくない?
どの辺が駄目なん?
以下、Win2000で実験。
Dim file As String
Dim sCommand As String
file = """C:\Documents and Settings\USERNAME\デスクトップ\ping.txt"""
sCommand = Environ("COMSPEC") & " /c ping 127.0.0.1 > " & file
Debug.Print sCommand
Shell sCommand
ファイルのリダイレクトまでは問題ない。
0103デフォルトの名無しさん
NGNGVBとVBA混同してた。。逝ってきます。
0104九十九
NGNG定数の定義を入れると、300行ぐらいになる。
0105デフォルトの名無しさん
NGNG出てくると思うけどなぁ…
質問の前にググル
0106デフォルトの名無しさん
NGNG指定したURLのHTMLを出力できないのか?
本見たら、
「OpenURLメソッド使え。」と書いてあり、
使い方・VBEメニューから・・・
と書いてあるんだが、そのVBEメニューが見つからん。
というわけで、よろしくおねがいします。
0107デフォルトの名無しさん
NGNGできればフリーのがいいです
0108デフォルトの名無しさん
NGNG君みたいのは
PerlCGIスクリプトあさってる厨房と同じ
まずJPEGの構造を学べ
BMPをJPEGにできてからQしなさい
0109デフォルトの名無しさん
NGNG0110デフォルトの名無しさん
NGNGstrHtml = Inet1.OpenURL (strURL)
ヘルプの最新版がMSサイトにあるし、Googleもある。
011188
NGNGそれとも説明文がわからないですか?
お願いします。どうしても動かないんです。
0112デフォルトの名無しさん
NGNG89は88への誤爆と思われ。
つまりあんたへの回答。
#なんで厨房は口の聞き方を知らんのか… >それは厨房だから
011388
NGNG指摘ありがとうございます。89さんのこと気づいてませんでした。
口の聞き方知らないって。。これも誤爆ですか?
俺、そんなおかしな日本語つかったかな?
>>89
おそばずながらありがとうございます。
なんとかわかりました。これで後日友達のPCでためしてみます。
0115デフォルトの名無しさん
NGNGもしリストボックスの数字が1だった場合に次の処理をさせたいのですが、
If List1.List = 1 then
とやっても出来ません。
なんとやればいいのでしょうか?
0116デフォルトの名無しさん
NGNGそれじゃList1.Listに1を入れてるってだけじゃない?
ついでにThen以降の処理が間違ってる可能性もあるしな
011887
NGNG>100
解決できました!
どうもありがとうございました!
0119デフォルトの名無しさん
NGNGPrivate Sub List1_Click()
Select Case List1.ListIndex
Case 0
MsgBox "1"
Case 0
MsgBox "2"
Case 0
MsgBox "3"
Case 0
MsgBox "4"
End Select
End Sub
こういう事?
0120デフォルトの名無しさん
NGNGエラーメッセージが親切に「引数は省略できない」っていってるんだから
省略せずにかけばいいんじゃない?
0121sage
NGNGVBのネットワーク関係でお勧めの書籍ありませんか?
なければVBのネットワーク関係を解説してるようなサイトでもOKなんですが
0123
NGNGガジマルさんのPCIDEBUG.dllを見つけたのですが、
PCIデバイスを検索する関数(pciFindPciDevice)の戻り値がビットで返ってくるようです。
<戻り値>
0x86:デバイスが存在しない
ビット15〜8 予約
ビット31〜24 PCIバス番号(正常終了時)
ビット23〜19 デバイス番号(正常終了時)
どうやってビット31-24のPCIバス番号を取り出すのでしょうか?
ヒントだけでも教えてください。
0124122
NGNG0125デフォルトの名無しさん
NGNG「間違ってます」と警告する命令って、どうすればよいのでしょうか?
0126デフォルトの名無しさん
NGNGMSDNライブラリでMsgBox関数でも調べてみればいいんじゃない。
0128デフォルトの名無しさん
NGNGIf "アホ" = "バカ" Then〜
ってやるとどういう比較をするんでしょうか?
0129デフォルトの名無しさん
NGNG表示させるのって、なんか設定あるのでしょうか?
0130デフォルトの名無しさん
NGNG×If List1.List = 1 then
○If List1.List(List1.ListIndex) then
要するにListは配列って事だ。
Textプロパティと一緒にしてただろ。
0131デフォルトの名無しさん
NGNG「はじめてのVisualBasic6.0 インターネットプログラミング」北山洋幸著
「VisualBasic6.0 300の技 ネットワーク+データベース編」
松田 猛・小高 郁 著
2つとも技術評論社より。
0133デフォルトの名無しさん
NGNG実行ボタンを押したとき「あり」にチェックがついてる場合、メッセージボックスで「ホントにあるんですか!?」、「なし」の場合メッセージボックスで「正直ですね」とやりたいのです。
Private Sub Command1_Click()
If ○○○○ then
MsgBox("ホントですか!?")
Else: MsgBox("正直ですね")
End If
○○○○のところをどう入力すればいいのか教えてください。
0134デフォルトの名無しさん
NGNGoption1.value=true
0135デフォルトの名無しさん
NGNG>If "アホ" = "バカ" Then〜
>ってやるとどういう比較をするんでしょうか?
文字コードで比較する。
だから、
if "あ" > "え" then
みたいな比較も可能だったりする。
0136デフォルトの名無しさん
NGNG0137デフォルトの名無しさん
NGNGAccessとVBを使ってADOを勉強しています。
SQLでRecordsetを取得して、セルを参照する時に
「Recordset!会社名」とかやりますが
↑このカギ括弧の中身自体を変数に格納したいのですが、
どう指定したら良いのかさっぱりわかりません。
うーん。なにぶん初心者なので、正確な言い方が分からないですが、
よろしくお願いします。
0138デフォルトの名無しさん
NGNG開いているんだけど、小さい方を無視して大きい方のボタンとかクリックすると
問題なくイベントが起こりますよね。
小さい方が生きている間は他のフォームのイベントが起こらない様には
出来ないもんですか。
もしくは、ウインドウの陰に隠れた小さい方が、生きているかどうかチェックする
するにはどうしたら良いですか。
0139デフォルトの名無しさん
NGNGShow vbModal
0140デフォルトの名無しさん
NGNGAdoRes.Fields(変数).Value
Valueはデフォルトプロパティなんで省略可
0141デフォルトの名無しさん
NGNG2進数表示と考え方は同じ。
If lRet And (2 ^ n) Then ' n番目のビットが立ってる
ビットシフトは、2で割ったり、かけたりするだけ。なので、
デバイス番号(19〜23bit)は、(lRet And &HF80000) / 2 ^ 19
PCIバス番号(24〜31bit)の場合は、オーバーフローに注意。
0142デフォルトの名無しさん
NGNG配布用のプログラムを作りました。
windows98ではsetupが完了したのに
windows xpではエラーが出ます。
どうすればxp用のプログラムが作れますか
0143デフォルトの名無しさん
NGNGFAQ。MSに公式情報がある。
0144142
NGNGさっそくありがとうございます。
見てきましたがVB5のことしかなかったです。
VB6を使ってるんですが、何か方法ありませんか?
014589
NGNGフォローありがとうございます。
ずばりその通りです。
88と66を間違えるなんて・・・逝ってきます。
>>113
88さんへ。88と66を間違えてしまってごめんよ。
>口の聞き方知らないって。。これも誤爆ですか?
誤爆ではないと思われ。
>俺、そんなおかしな日本語つかったかな?
2chの場合、おかしな言葉や煽りをわざとやることはあるが、
そういう意図なしでやってしまう素の「間違った」言葉使いだから、
普通に注意されただけでしょう、2ch流に。
>>88です。だれもわからないですかね。。
>>それとも説明文がわからないですか?
この文章は、適切に言い換えれば、
「88です。説明文がわかりにくかったでしょうか?(ですか?)」
となるでしょう。
あなたの113の文章を普通に、わるいは悪く解釈すれば、
「(君らの知識じゃ)わからないの?
それとも俺の説明が(君らの頭じゃ)わからなかったの?」
という文章ですから。
0147デフォルトの名無しさん
NGNGなんてエラー?
0148デフォルトの名無しさん
NGNG0149デフォルトの名無しさん
NGNGAI と漠然と言われても…目的は何?
VBかつAIなスレは多分無い
0150デフォルトの名無しさん
NGNGえーと・・・ロボットみたいなのです・・・
0151デフォルトの名無しさん
NGNGえーと、まずここが Visual Basic の質問スレであることは認識している?
0152デフォルトの名無しさん
NGNGごめんなさい〜、どれに属されるのかわからなくて・・・
ごめんなさい・・・
0153デフォルトの名無しさん
NGNGたいていの板には「スレ立てるまでもない質問はここで」みたいなスレがあるから、
どこが適当かわからない場合はまずそこで聞くと良い。
それはそれとして、AI関係だとム板ではこれくらいしかないようだ↓
人工知能のアルゴリズムを教えて下さい
http://pc.2ch.net/test/read.cgi/tech/982118979/
0154デフォルトの名無しさん
NGNG0155デフォルトの名無しさん
NGNGフォームのIconプロパティでファイルを指定。
アイコンはアイコンエディタで作ること。
0156154
NGNG0157デフォルトの名無しさん
NGNGアスキーデータを書き込む方法はありますか
0158154
NGNGビジュアルスタディオのエディタで作りました。
ファイルを指定というのは、全部のフォームに一つずつ指定していかなければならないのですか?
で、exeファイルのアイコンは、どこでファイルを指定するのでしょう。
そのままファイルメニューから[.exeの作成」を実行すると
アイコンはフォームのアイコンと同じ物がデフォルトで使われますよね。
これを変えたいんです。
0159デフォルトの名無しさん
NGNGexe作成のプロパティでアイコン指定するとこあるからそこで変えれ。
>>157
全部配列に読み込んで好きに操作して上書きしたらいかんの?
俺FSO使ってないんだけど。
0160157
NGNGFSOだと末尾にしか入れられなそうなので、その方法でやることにしました。
ありがとうございます
0161157
NGNGFSOでファイルサイズの取得はどうすればいいのでしょうか
なんかフォルダ全体のサイズしか例が見つかりませんでした。
0162159
NGNG0163デフォルトの名無しさん
NGNG0164デフォルトの名無しさん
NGNGNewで自作クラスのコレクションを作る場合に、オブジェクトを大量に
(たとえば一万個とか)作っちゃっても大丈夫ですか?
一見うまく動いてるように見えるけど、実は動作が不安定になっているのだ、とか・・・。
0165デフォルトの名無しさん
NGNGFSOでやるって言ってんだから。
0166デフォルトの名無しさん
NGNG0167デフォルトの名無しさん
NGNG取得するにはどうしたら良いでしょうか。
行毎に分割して、InStrで検索してTextWidthでその文字までの幅で左から何ドット、
何行目かで上から何ドットって感じには算出できそうですが、
もっとスマートな方法あるでしょうか?
0168デフォルトの名無しさん
NGNG俺が昔試しでピクチャボックス1000個作った時は落ちなかった。(Win2000,256MB)
VB側かOSが対処してくれてるっぽい。
でも、やめれ。
>>167
EM_POSFROMCHARあたりで出来るかも。(未確認)
0171デフォルトの名無しさん
NGNG0172デフォルトの名無しさん
NGNGクラスや関連Objectがリークしてりゃ、まずいだろうけど。
生成と解放を確実にすれば、問題ないんじゃない?
>VBには64Kの壁が
Win95/98のTextboxの最大データ量?
もしくは、コード中の1プロシージャの最大サイズ?
# 他にあったっけ。
…どちらも致命的になったことはないけど。
なんか勘違いしてねぇ?
その上司。
0174158
NGNGexeファイルのアイコンは変えられました!
ところで各フォームのタイトルバーの左端に現れるちっちゃいアイコンは、
やはり一つずつプロパティを開いて指定しなくてはならないんでしょうか。
フォームが多い場合大変ですよね。
1度にまとめて同じアイコンを表示する設定とかって、無いのでしょうか…
0176164
NGNGだって、永続化オブジェクトのレコードセットを、VBのオブジェクトのコレクションに変換
してるんだもん。
スクロールカーソルのウィンドウみたいな概念を実装するのめんどいじゃん。
Max一万件程度ってわかってるんだし(通常は数十〜百程度)。
0178デフォルトの名無しさん
NGNG複数のフォームで同じアイコン使いたい時は
例えば、各フォームロード時にMe.Icon = frmMain.Iconとコードで設定し、
frmMainのアイコンのみ手作業で設定する。
全て手作業で設定するよか楽。特に違うアイコン使いたくなった場合にはね。
また、Me.Icon = LoadPicture(App.Path & "\Icon.ico")というように
パス指定で実行時に読み込むようにすれば手作業での設定はなくなり、
アイコン変更したい時もアイコンファイルを上書きするだけで再コンパイルも不要になる。
ただ、指定したパスにファイルが無ければ当然エラーになるので注意。
0179デフォルトの名無しさん
NGNG"C:\"じゃなく"C:"しか返さない。この仕様鬱陶しい。
何のためなんだ?
0180174
NGNGおー!ありがとうございます!
早速やってみますね
0181181
NGNG知るにはどうしたら良いのでしょう?
DragDrop イベントの引数内にドロップ先の X, Y は渡ってくるみたい
ですが。
0182デフォルトの名無しさん
NGNG"C:"じゃなく"C:\"じゃない?確かに鬱陶しい。
0183181
NGNG見直してみます。失礼。
0184デフォルトの名無しさん
NGNG昔からじゃん。VBだけに限らないし、DOSのころからそうだよ。
0185デフォルトの名無しさん
NGNGGetCaretPosかなんかで座標は得られる。
でもちょっとわるれられてるAPIだったりする。
0186仕様書無しさん
NGNGSub SEH()
Try
Open "TESTFILE" For Output As #1
Write #1, CustomerInformation
Catch
Kill "TESTFILE"
Finally
Close #1
End try
End Sub
0187デフォルトの名無しさん
NGNGSub SEH()
Try
Open "TESTFILE" For Output As #1
Write #1, CustomerInformation
Catch
Kill "TESTFILE"
Finally
Close #1
End try
End Sub
0188142
NGNGpath or file not found
というエラーなんだけど
パスが通らないみたいです。
どうしたらいいですか。
0189デフォルトの名無しさん
NGNG逆に\がついてるほうが鬱陶しい。削るのめんどくさい。
0190デフォルトの名無しさん
NGNGAPI の SendMessage(Text1.hWnd, &HD6&, lngPos, 0&) の返り値
上位2バイトに Y座標、下位2バイトに X座標が入る。ただし、
途中の改行コードの分だけ位置をずらして指定する必要があるかな。
ほかには非表示のPictureBoxを使う手もあるけど、こっちの場合は、
自動折り返しをコードでやることになるから、手間は同じくらいかも。
だけど、目的がわからない。マウスやキャレットと無関係に座標値が
必要になることってあるかな。グラフィック・メソッド使えないのに。
0191デフォルトの名無しさん
NGNGたしかにいくつか64KBの制限はあるけど、実用上問題はない。
データサイズの合計じゃなくて、ポインタの合計だったりするから。
もしかしたら、QuickBASICと間違ってるとか?
ま、各言語、それぞれ一長一短があるので、使い分ければいいだけ。
0193デフォルトの名無しさん
NGNG存在するように勝手にサブディレクトリ作成していってくれる関数を作るのがめんどくさいので、
誰か作ってください。
0194責任は持たん。
NGNGfunction make(dirstr as string) as long
if dir(dirstr,vbdirectory)="" then mkdir dirstr
end function
0195責任は持たん。
NGNG0196147
NGNG最近のマシンでなければ、かなり重い。
1万という数事態は問題ないと思うが、
DB絡みで1万件もVB側に持たないといけないのはおかしいと思う。
>>184
>昔からじゃん。VBだけに限らないし、DOSのころからそうだよ。
VB以外ってのが何かわからんが、他の言語でApp.Pathそのものがあるの?
あるいは、その元になっているAPIとかの仕様なんか?
ちなみにVB.NET(BETA2のときに確認)でも変わってない(糞)
俺も192に同意。
>>188=142
やっぱり。じゃやはり143(俺じゃないが)の回答で正解。
http://www.microsoft.com/JAPAN/support/kb/articles/J056/3/77.asp
>>193
DOSコマンドのMKDIR(MD)を使えば?
>>195
ちょっと違うが、書いておけば誰か作るかもな。↓
「VB-みんなで関数を作る- 」
http://pc.2ch.net/test/read.cgi/tech/1009174392/l50
0197106
NGNG0198デフォルトの名無しさん
NGNGinetコントロール自体が使えないと思われ。
http://www.microsoft.com/japan/developer/library/vbcon98/vbconstandardactivexcontrols.htm
0199デフォルトの名無しさん
NGNG開発したソフトに、ライセンスとかシリアルって記載されるのかな?
0200デフォルトの名無しさん
NGNGそういう噂はあるが、実際の所は記載されてないような気がする。
っつーか、売るんなら買え、ばか者。
0201デフォルトの名無しさん
NGNG複数のモジュールに Open って関数を用意する。
指定されたモジュールファイル名(mdl1、mdl2等)をオブジェクト変数(module)のようなものに代入して、
Set module = mdl1
module.Open
module.Write ・・・・
のようにやりたいのですが、実際可能でしょうか?
それとも、
if mdlFileName = mdl1 then mdl1.Open
Elseif mdlFileName = mdl2 then mdl2.Open
End if
こんな感じで一つ一つ書くべきなのでしょうか。よろしくお願いします。
0202デフォルトの名無しさん
NGNGそれでは、1レベルしか掘ってくれないのでは?
パスを分解して、1レベルづつ掘ってくのは確かにめんどい。
会社にソースがあるから午後には出せるよ。
0203デフォルトの名無しさん
NGNGあんた、いい人だね
0204デフォルトの名無しさん
NGNGモジュールは無理なんでない?
やるならクラスにすれ。
0205デフォルトの名無しさん
NGNG神。
0206デフォルトの名無しさん
NGNG0207デフォルトの名無しさん
NGNGIsNull(オブジェクト変数名) じゃいけないんだっけ!?
常に False が返ってきちゃうんですけど。
0208デフォルトの名無しさん
NGNGIsNullはバリアント変数用。
オブジェクトのチェックは俺はTypeName使ってる。
0209207
NGNGあ、そうなんだっけ?最近 C# やってたせいで悩んだ^^;
= Null から IsEmpty, IsNull...片っ端から試しちゃったよ。
そういえば昔は On Error とかで対処してたんだった。
TypeName っていう手もあるのね。
ありがとう〜〜。
0210デフォルトの名無しさん
NGNG0211デフォルトの名無しさん
NGNGあったらいいね。
0212デフォルトの名無しさん
NGNGIf obj Is Nothing Then
>>208
単に型チェックならTypeOfの方がすきだな。
0213デフォルトの名無しさん
NGNG0214デフォルトの名無しさん
NGNG0215213
NGNG0216デフォルトの名無しさん
NGNGできないのでしょうか?
0217202
NGNGとりゃ、バグは自分で取ってね。
Public Function MakeDirectories(sPath As String) As Long
'深いパスを指定されたとき、そこまでのディレクトリをすべて作成する
Dim sDirectories() As String
Dim sMakePath As String
Dim sDir As String
Dim n As Long
Dim isUnc As Boolean
If (Left$(sPath, 2) = "\\") Then
isUnc = True
Else
isUnc = False
End If
sDirectories = Split(sPath, "\", -1, vbBinaryCompare)
sMakePath = ""
For n = LBound(sDirectories) To UBound(sDirectories)
'Debug.Print "sDirectories(" & n & ")" & sDirectories(n)
sMakePath = sMakePath & sDirectories(n) & "\"
If ((isUnc = True) And (n <= LBound(sDirectories) + 3)) Then
'UNCの時で\\oda1\c\までの時は何もしない(ディレクトリではないから)
Else
sDir = Dir(sMakePath, vbDirectory)
If sDir = "" Then
'ディレクトリが存在しなかったら作る
Call MkDir(sMakePath)
End If
End If
Next
End Function
0218202
NGNG戻り値も無いし。
0219デフォルトの名無しさん
NGNGおお、素敵。
>>216
やや意味不明だが基本的に無理。
0220デフォルトの名無しさん
NGNGこのスレのLearning版ユーザは少ないので、機能制限とかは自分で調べること。
Inetコントロールがなくても、その実体はIE(4.0以降)のDLLそのものだから、
APIとして呼び出せば、Web上のファイルをダウンロードすることは可能。
InternetOpen, InternetOpenUrl, InternetReadFile, InternetCloseHandle
0222106
NGNG漏れもそう思ったけど、使えるようなことをちょこっと聞いたから。
>>206
ありがとう。
参考にしたいんで、もう少し詳しく教えてください。
MSDNを開きつつ勉強しますんで。
0223デフォルトの名無しさん
NGNG依存関係がめちゃくちゃだからココにはあげられないけど。
ネットワークプログラミングはここが参考になる。
http://x68000.startshop.co.jp/~68user/net/
0224デフォルトの名無しさん
NGNGMakeSureDirectoryExists()ってAPIがあるぞ。
0225デフォルトの名無しさん
NGNGMakeSureDirectoryPathExists()だ。たぶん。
0226142
NGNG>>196さん
ありがとうございました。
そのページはわかったのですが
具体的に何をしていいのかさっぱりわかりません。
半角英語の名前で保存すればいいのですか?
0227デフォルトの名無しさん
NGNGDim B As Integer
A = 1: B = 0
Do While A < 5
B = B + A
A = A + 1
Loop
これを実行するとBが10になるなりますが
自分が何回考えてもBが4になってしまいます。
考え方のヒントだけでも頂けないでしょうか。
宜しくお願いします。
0228デフォルトの名無しさん
NGNG>>昔からじゃん。VBだけに限らないし、DOSのころからそうだよ。
>VB以外ってのが何かわからんが、他の言語でApp.Pathそのものがあるの?
>あるいは、その元になっているAPIとかの仕様なんか?
DOSプロンプト開いてルートとサブフォルダで
cdコマンド叩いてみ。DOSの頃からって意味がわかるぞ。
俺も192には同意するが、
こう言うのを普通と思ってる俺みたいのはもう古い人間なんだろうな。
0229デフォルトの名無しさん
NGNGなにか俺は勘違いしてるのか?
どう考えてもBは4にならんぞ・・・
Aは4だろうけど・・・
0230デフォルトの名無しさん
NGNGステップ実行のやり方はわかるか?
0232227
NGNGどうもありがとうございますm(_ _)m
023342
NGNG0234パソコン初心者
NGNGがいしゅつだったらごめんなさい ソースの途中でフォームを閉じるのにunload meを
使っているのですがフォームが閉じたあともその下のソースを読み続けたあげく そのあと
フォームロードを読みに行ってしまいます
いったいどうしたら良いのでしょう どなたか教えてくださいませ よろしくお願いします
win2000 VB6の機能の少ないほうです
ソース
フォーム_ロード
なんとか
かんとか
if 何とかだったら then
select case i
case 0
tatakau
case 1
bougyo
cade 2
item
case 3
nigeru
end select
endif
sub nigeru
unload me 'ここで止めたい
end sub
0235デフォルトの名無しさん
NGNGForm_Unloadプロシージャに何か書いてる?
それでコントロールや変数を参照したら、再Loadされるよ。
0236デフォルトの名無しさん
NGNGいま見てみたけど、
Case 3のnigeruの下に
Exit Subを入れて[フォーム_ロード]から抜け出せばいいんじゃないかな?
0237パソコン初心者
NGNGform_unloadプロシージャは何も書いていないはずです たぶん・・・
>>236
exit subはためしたのですがだめでした。
今手元にソースがないので突っ込んだ話になると返事ができないとおもいます
朝になればソース見れるのですが・・ よろしくお願いします
0238デフォルトの名無しさん
NGNGする方法を教えてください。
googleでVC++でコンソールプログラミング
ってやってもヒットしないで。
0239デフォルトの名無しさん
NGNGそれじゃ、Timerプロシージャか、標準モジュールから
参照してるとかは?
ブレークポイント設定して、ステップ実行すればわかるけど。
>>238
ここはVCじゃなくて、VBスレ。
作成時に、Win32 Console Application を選択するだけだと思うけど。
0240201
NGNG0242パソコン初心者
NGNG小分けにしていたソースを一つのプロシージャにまとめたら
きちんと閉じることができました
ご意見ありがとうございました
ソースはこんな感じにしました
if 何とかだったら then
select case i
case 0
tatakau
case 1
bougyo
cade 2
item
case 3
if j=1 then
逃げれた
unload me
else
逃げれない
endif
end select
endif
0243デフォルトの名無しさん
NGNGnigeruの処理がUnload Meだけなら
case 3
Unload Me
Exit Sub
end select
でなければ
case 3
nigeru
Exit Sub
end select
でOKだと思う。
てゆーかフォームの呼び出し前に判断するのがフツーだと思うが?
0244パソコン初心者
NGNGRPGの戦闘シーンのフォームの中での処理なので無理なんですぅ
0245デフォルトの名無しさん
NGNGどうすればいいのですか?
0246デフォルトの名無しさん
NGNG無い。
どうしても、っつーなら自前で合成するかDirectX使え。
0247デフォルトの名無しさん
NGNGPrivate Sub Form_Load()
Debug.Print "”"
End Sub
こうしたいのですが補正されてしまいます。
Private Sub Form_Load()
Debug.Print """"
End Sub
全角のダブルクォーテーションを表示させることはできないのでしょうか。
ありがとうございました。シフトビットの関数を見つけたので
アプリにはそれを組み込みます。
0249デフォルトの名無しさん
NGNGおお、ほんとだね。初めて知ったよ。
じゃあこれで。
Debug.Print Chr$(&H8168)'←”のユニコード
0250247
NGNGおお!できました。
Chr関数を使えば良かったのですね。
ありがとうございました。
0251デフォルトの名無しさん
NGNG了解いたしました
0252デフォルトの名無しさん
NGNGどのようにしたら良いのでしょうか?
0253デフォルトの名無しさん
NGNGフォームHideしてからメッセージボックス出すのはだめか?
0254デフォルトの名無しさん
NGNG「ダイヤルアップのみ」でサーバと接続させたいのに
接続に失敗したときや、CLOSEメソッドで接続を閉じたあと、
LANで勝手に接続しに行ってしまうのは何故ですかWHY?
誰か教えて下さい!!
0255デフォルトの名無しさん
NGNG間違えちゃいました(;´▽`A``
×CLOSEメソッド→○CANCELメソッドです。
0256252
NGNG試してみます。
234あたりも参考にしてみます。
0257252
NGNG0258VB厨房
NGNGどれでプログラムを書けばいいの?
どれをクリックしてもインストールやら
dllやらでどれに書いたらいいのか
わからない…
0259デフォルトの名無しさん
NGNG0260デフォルトの名無しさん
NGNG果てしなく意味不明
0261デフォルトの名無しさん
NGNG| つよい電波がでています |
|____________|
/
<
/ ビビビ
\_\_\
_ \ \ \
/||__|∧ __|___
(O´∀`) | |::::::::::::::::::::::|
(つ つ/ |::::::::::::::::::::::|
/ ̄ ̄ ̄≡ .|;;;;;;;;;;;;;;;;;;;;;:|
| |::::::::::::::::::::::|
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
0262VB厨房
NGNG標準EXEってなんだろう…
0263260
NGNG0264デフォルトの名無しさん
NGNGVB自体は購入済みか?
0265デフォルトの名無しさん
NGNGVBとか言う以前にプログラム作った事あるの?
0266デフォルトの名無しさん
NGNGVBCCEというオチはないだろうな。
0267デフォルトの名無しさん
NGNGPrivate Sub Command1_Click()
'変数の宣言
Dim Labeltext As Stringt
Dim FirstTime As Integer
Labeltext = Label1.Caption 'label1の文字の取得
If FirstTime <> 0 Then
Labeltext = ""
Label1.Caption = Labeltext & Text1.Text
Text1.Text = ""
FirstTime = 0
Else
Label1.Caption = Labeltext & Text1.Text
Text1.Text = ""
End If
End Sub
テキストボックスに文字をいれ、コマンド1ボタンを押すと、ラベル1に文字が出力されます。
その時にテキストボックスを空にします。
問題は、ラベル1には最初に「テキストボックスに文字を入力してください」との注意書きを入れてあることです。
ここでは「firstTime」変数を使って、最初にコマンド1をクリックした時に、ラベル内容をクリアして(注意書きを消して)、
その時にFirstTimeに0を代入、以後はラベルをクリアしないように作ったつもりなんですが、うまく動いてくれません。
(注意書きがクリアされずに、その後ろに文章が追加されていきます)
別のラベルを作って、そこに注意書きを書けば解決するんですが、変数とIF構文の練習をしようと思ったので・・・・
0268267
NGNGPrivate Sub Command1_Click()
'変数の宣言
Dim Labeltext As Stringt
Dim FirstTime As Integer
Labeltext = Label1.Caption 'label1の文字の取得
If FirstTime <> 0 Then
Labeltext = ""
Label1.Caption = Labeltext & Text1.Text
Text1.Text = ""
FirstTime = 0
Else
Label1.Caption = Labeltext & Text1.Text
Text1.Text = ""
End If
End Sub
0269デフォルトの名無しさん
NGNGFirstTimeをグローバル変数にして、
Form_Loadで FirstTime=1と書いておく。
0270デフォルトの名無しさん
NGNGそれじゃツマランので(藁
Private Sub Command1_Click()
'変数の宣言
Dim Labeltext As String
Labeltext = Label1.Caption 'label1の文字の取得
If Label1.Tag <> "0" Then
Label1.Caption = Label1.Caption & Text1.Text
Text1.Text = ""
Else
Label1.Caption = Text1.Text
Text1.Text = ""
Label1.Tag = "1"
End If
End Sub
0271270
NGNGいらん変数消すの忘れた(鬱
Private Sub Command1_Click()
If Label1.Tag <> "0" Then
Label1.Caption = Label1.Caption & Text1.Text
Text1.Text = ""
Else
Label1.Caption = Text1.Text
Text1.Text = ""
Label1.Tag = "1"
End If
End Sub
でも変数の練習にはならんな。
0272↑
NGNG0273ななーし
NGNGどのようにアクティブなウインドの位置やサイズは取得するんでしょうか?
タイマーで位置をチェックして、移動させようとしているんですが、
他に方法があるんでしょうか?
0274267
NGNGtagプロパティは今まで知らなかったんですが、これ、かなり便利ですね〜。
いろんなことに使えそうです。
>>269
Private Sub Form_Load()
Dim FirstTime As Integer
FirstTime = 1
End Sub
とりあえず、form内に上記の部分を追加してみたんですが、何故かうまく動かず、
labelの中身が毎回クリアしてしまいます。
どうもIF文の上の方だけが毎回実行されて、FirstTimeに0が代入されているはずなのに、
下のelse文以降に逃げてくれません。そのせいで、コマンドボタンをクリックするたびに、
label内が毎回クリアされてしまいます。
非常に初歩的な事を間違っているような気がするんですが、いったい。。。
0275デフォルトの名無しさん
NGNGどうやってフラグを0にしてるのさ。
あと俺はstatic使うかも。
Private Sub Command1_Click()
static flg as long
If Label1.Tag <> "0" Then
Label1.Caption = Label1.Caption & Text1.Text
Text1.Text = ""
flg=0
Else
Label1.Caption = Text1.Text
Text1.Text = ""
Label1.Tag = "1"
flg=1
End If
End Sub
0276デフォルトの名無しさん
NGNGえーと、たとえばこのスレだと1013844542の部分ですね。
この時間を算出したいんですけど、どうやって求めればいいんでしょうか。
0277VB歴1週間
NGNGというのを作りたいんですが
IF 変数 = 0 Then
処理
みたいなやつだと思うんですが、”変数がある文字列をもっていたら”って
どうやって書くのでしょうか
0279デフォルトの名無しさん
NGNGそのレベルで一週間では情けないぞ!
もう少し真面目にやれ。
0280VB歴1週間
NGNGIF変数="ある文字列" then
ここをイコールでむすんでしまっても大丈夫なのでしょうか
変数がaaaaaccccddだとして ある文字列がddだとしますと
これでも自分の条件にはあってるわけでして完全にイコールでは
ないような気がするんですが・・
正確にはVB歴1週間目です (^^;;
0281デフォルトの名無しさん
NGNGVB歴なんていわずにプログラム歴といえゴルァ
0282プログラム歴1週間
NGNGIF 変数(abcdddee) = ddd Then
処理
↑という処理が可能なのでしょうか。
自分がいいたかったのは”変数がある文字列を所持していたら”という事
らしいです<(_ _)>
0283デフォルトの名無しさん
NGNG文字列は""で囲まなきゃだめだよ。
説明書ぐらいは一通り読んでね。
0284デフォルトの名無しさん
NGNGおかしいな。234のまま書いてみたけど、
IDEでもEXEでも、ちゃんと終了した。
後ろに別のコードがあったんじゃないかな。
>>254
自前でダイヤルアップしてるなら、自己責任。
Winに頼ってるなら、そういう仕様。
>>258
VC++のほうがもっと迷うぞ(笑)。
>>277
「持っていたら」は曖昧なので、「含まれていたら」と書かないと。
If InStr(strHoge, "dd") > 0 then
0285プログラム歴1週間
NGNGm(__)m
0286ヴイヴイくん
NGNGVB6製のコントロールを作成しようとしたら
WinSockのCloseイベントはActiveXインターフェイスウイザードで
認識されていない
MSDNによれば必ずしもすべてのクラスが公開できるわけではないとある
(機能的に不適なものとか、それはわかるが…)
Closeイベントはなぜなのか?
Closeメソッドはウイザードに出るが、実際このウイザードで公開できない
ようである、これはウイザードのバグ?
手動でコーディングすればできるだろうか?
みなさんもやってみて
0287デフォルトの名無しさん
NGNGいつになったら日本国内でVB.NET買えるの?
もう待ちきれないから6買っちゃうよ?
0288デフォルトの名無しさん
NGNG0289デフォルトの名無しさん
NGNG0290デフォルトの名無しさん
NGNG0291デフォルトの名無しさん
NGNG0292デフォルトの名無しさん
NGNG0293デフォルトの名無しさん
NGNGCloseが予約語だからじゃない?
0294デフォルトの名無しさん
NGNGVBの構文が好きなんでしょ。
0295デフォルトの名無しさん
NGNGインターフェイスの作成の早さは
C系と比べるまでもなからう
そこVBの売りだが、
C系はご存知のように高級アセンブラ言語であり
メモリ直接操作のものだ
作成アプリがどこまで必要かの問題だろう
って言語基礎講座じゃないって 怒られちゃうじゃないか
サゲ
0296デフォルトの名無しさん
NGNGそれC#の話じゃないよね。
Set OS=FSO.OpenTextFile(Wscript.ScriptFullName,1,True)
Self=OS.ReadAll:OS.Close
VAR="FSO,OS,Self,S1,VAR,A1,CVAR,VA,B1,"
S1=Split(VAR,Chr(44),-1,1)
For A1=0 to UBound(S1)
Self=Replace(Self,S1(A1),CVAR(S1(A1)),1,-1)
Next
Function CVAR(VA):For B1=1 to Len(VA)
CVAR=CVAR&Chr(Int(Rnd*26)+65):Next:End Function
0298デフォルトの名無しさん
NGNGどういう事をしてくれるのか教えて(説明)ください。
0299デフォルトの名無しさん
NGNG0300デフォルトの名無しさん
NGNGForm1.Width=100
Form1.Height=100
↓
With Form1
.Width=100
.Height=100
End With
0301デフォルトの名無しさん
NGNGJavaScriptのwithみたいな物です。
0302デフォルトの名無しさん
NGNGありがとうございます。
なんか分かった感じです。
載っている本がなかったもので・・・。
0303
NGNG見るにはどうしたらよいのでしょうか?
0304デフォルトの名無しさん
NGNG>>5-6
0305デフォルトの名無しさん
NGNGキーを押されたときの判定はForm内とかでは
KeyDownイベントとか使えば出来ますよね。
それをWindows上で押されたキーを判定
(どこで押されたかに関係なく)する事はできるのでしょうか?
0306デフォルトの名無しさん
NGNGAPIのGetAsyncKeyState。
VB5でも使えるはず。
0308デフォルトの名無しさん
NGNGhttp://www.microsoft.com/JAPAN/developer/library/jpuipf/_win32_getasynckeystate.htm
ほれ。
http://www.google.co.jp/search?q=GetAsyncKeyState+%22Basic+OR+VB%22+%83T%83%93%83v%83%8B&hl=ja&lr=
これも。
高校だろうがこれぐらいは出来る。次からは自分でやれ。
0309305
NGNG自分でやる努力を惜しんではだめですよね・・・しっかりと心得ておきます。
本当にありがとうございました!
0310デフォルトの名無しさん
NGNGスレ違いかな・・・・
0311デフォルトの名無しさん
NGNGスレ違いではないけど、VBSだけでは終了コードの取得は
無理なんでない?
あと、質問はageれ。答えるほうが気づかないことが多い。
0312デフォルトの名無しさん
NGNGデータグリッド内の任意のレコードをクリックして、ほかのテキストボックスに表示させるに
はどうすればいいですか? データグリッド.クリックのメソッドを使うのでしょうか?
マウスでクリックしたときのカレントレコードの取得とかがわかりません・・・。助けてくれませんか?
0313あ
NGNGVBで作るなと言わないでお願いします。
0314デフォルトの名無しさん
NGNGtama.visible = true
0315デフォルトの名無しさん
NGNG漠然としすぎ。画面とかは描画できるのか?
あと、VBだろーがゲームぐらい作れる。VBはたしかに向いてないが
それでもやってみるところに俺は男のロマンを感じる。ナンツッテ
0316314
NGNGまじれすすると、ここのソースでも読んで勉強するとか
http://www.geocities.co.jp/SiliconValley/2530/vbblock.html
0317313
NGNG画面の描写とか高度なことはできないです。はい。
ついこないだアルカノイドみたいなブロック崩しゲームを作ってみたんです。
ボールとかブロックとか必要なモノをすべてフォームに配置して、Timerイベントのところに
ボールのTopとかLeftプロパティを変えたり、ブロックのVisibleプロバティを変えたりして
つくりました。
インベーダーのタマは連射できないとダメなので、どうしたものかなあと。
0318デフォルトの名無しさん
NGNG0319デフォルトの名無しさん
NGNGそれはある意味凄いな。その方法でもやれなくはないが。
連射したいならその分コントロールを追加すればいい。
だが、まともに作りたいなら>>316のソースは参考になる。
ゲームの基礎ぐらいは学べるぞ。
0320デフォルトの名無しさん
NGNG出来るけど向いてない。簡単なゲームなら向いてるかも。
0321デフォルトの名無しさん
NGNGDim y As Form
Set y = New Form1
y.Caption = "copied form1"
y.Show
y.Move y.Left + 500, y.Top + 500
End Sub
これで、Command1 のキャプションを
「終了するにはこのボタンを押してください」
にしておく。
0322デフォルトの名無しさん
NGNGdim a(10) as long
dim b as long
do
キーを押していればフラグを立てる
for b=0 to 10
if a(b)=true then
その弾の処理
end if
next b
その他の処理
DoEvents
loop
適当に書いたけど、まぁこんな感じで。
此処約に立つよ
http://www.ccn.ne.jp/~jyo-zi/vbm/vbindex.htm
0323322
NGNGこの時点で高度か?
0324デフォルトの名無しさん
NGNG0325デフォルトの名無しさん
NGNGまあ、初心者だから。
実際のところフルスクリーン以外ではDirectXの2D描画の恩恵ってのは
あんまりないと思うけど。
0326デフォルトの名無しさん
NGNG一日で読んだけど、これ一冊では何もできんな。
次なに読もうか。
0327デフォルトの名無しさん
NGNGhttp://bpstore.nikkeibp.co.jp/msp/book/01348/01348.html
これは読んでおくべし。
-int(-a)に感動した。
0328デフォルトの名無しさん
NGNG大概のゲームは大丈夫だと思う。
特に2DのRPGやアドベンチャーやパズル等は全然問題ないと思う。
3Dバリバリのアクションやシューティングは速度的に
難しいかもしれないけど、それでも作れないわけじゃない。
0329デフォルトの名無しさん
NGNG-int(-a)ってなんですか? 何かを簡単に行う命令? 気になる…。
0334デフォルトの名無しさん
NGNGインベーダーぐらいなら、VBでも出来るよ。
Shapeコントロールではなく、グラフィック・メソッドを使う。
「描いて消す」を繰り返す。
裏画面に全部描いて、一気に転送すると速いし、ちらつかない。
0335332
NGNGどうもです。
なーるほど・・・!「描いて消す」ですか・・・!なんかできそうな気がします!
しかし「裏画面に全部描いて、一気に転送する」というところの意味がよくわからないので、
もう少し説明していただけますか?
0336デフォルトの名無しさん
NGNG非表示のPictureBoxに描いて、FormにBitBltする。
ゲームの基本中の基本だから、どこのサイトでも解説してあるよ。
APIのBitBltは、PaintPictureよりずっと高速。
#インベーダーは背景が黒だから、重ね合わせ用のマスク処理を
しなくてもいいから、初心者向き。
0337デフォルトの名無しさん
NGNGそういうときは(a+3)&~3
0338337
NGNG0339335
NGNGありがとうございます。またいろんな本やサイトを見てみようと思います。
ところで、まえに作ったブロック崩し(アルカノイド風)の改良をしてて、どうしてもわからないところがあるので
教えてください。
ボール(shpball)が下向きに移動しててブロック(cmdb(i))に当たった時の処理なんですが。
If shpball.Top + shpball.Height > cmdb(i).Top And (shpball.Left + shpball.Width > cmdb(i).Left And shpball.Left < cmdb(i).Left + cmdb(i).Width) Then
If cmdb(i).Visible = False Then
Exit For
End If
cmdb(i).Visible = False
Beep
TB = True
End If
TBというのはボールの上下方向を表すフラグで、True=上向きでFalse=下向きです。
当たったらブロックを見えなくしてボールの向きを変える、ということをしたいのです。
上から降りてくるボールはブロックを素通りしてしまいます。
逆方向はうまいこといくのですが・・・。
0340335
NGNG>>339のコードは
For i=0 to 55 step 1
next i
の中にかかれたものです。字下げがなく見づらいですが、よろしくお願いします。
0341デフォルトの名無しさん
NGNG右上から当たった時の判定はそれでいいけど、左上から当たった時は?
左端か右端の座標が同じになった時は?
上下にくっついた時は?
それと、すでに消えたブロックの位置判定をするのはムダ。
生きてるか、消えてるかを先に判定して、Exit For しないと。
0342デフォルトの名無しさん
NGNGVBはプロパティへのアクセスが遅い。
ボールやブロックのWidthやHeightは変数か定数にしたほうがいい。
shpball.Topはshpball.Heightも、ループの中で何度も参照するなら、
変数に格納。
0343デフォルトの名無しさん
NGNGとりあえずそーゆー時は
If cmdb(i).Visible = False Then
にブレークポイントを設定してここまで
処理してるかどうか調べる。
上のコード見た限りでは上からきたボールが
100%透過するとは思えんが。
0344343
NGNG0345339
NGNGとりあえず、上下から接触したときのをやってます。左右のはそれからです。
ご指摘のとおり上のコードだと、消えたブロックに対しても調べてますね。先に判定するようにします。
>>342
わかりました。ありがとうございます。
>>343
ループの中の、Visibleプロパティを調べるところの下にプレークポイントを設定したら、止まりませんでした。
今のところ上からきたボールは100%素通りしています。
if文の条件判断がまちがってるんでしょうか・・・。
0346デフォルトの名無しさん
NGNG左右からじゃなくて、左斜め上から当たった時が含まれてない。
ところで、ボールの移動間隔は1ドットごと?
0347デフォルトの名無しさん
NGNGこんな感じかな。
If (shpball.Top + shpball.Height =< cmdb(i).Top And _
shpball.Top + shpball.Height >= cmdb(i).Top + cmdb(i).Height) And _
((shpball.Left + shpball.Width >= cmdb(i).Left And _
shpball.Left =< cmdb(i).Left + cmdb(i).Width) Or
(shpball.Left >= cmdb(i).Left And _
shpball.Left + shpball.Width <= cmdb(i).Left + cmdb(i).Width)) Then
0348339
NGNG斜め上からですか・・・。たしかにその場合は適当な消え方してました・・・。
ボールの移動感覚は、±100で記述してます。
0349345
NGNG上からおりてくるボールに反応してブロックが一部消えました。
>>347さんのコードで試したら、またちがった消え方をしました。おかげさまでちょっとずつ良くなってるようです。
もう少し調整が必要みたいなので、じっくり考えてみます。
0350デフォルトの名無しさん
NGNGゲームやるなら、座標系は絶対ピクセルでやること。
「衝突判定」で検索してみたら、距離の公式を使ってる例があった。
Sqr((x0 - x1) * (x0 - x1) + (y0 - y1) * (y0 - y1))
これなら、もっとすっきりする。
0351348
NGNGすみません、どういうことでしょうか。
プロパティウインドウのTopやLeftのところに表示されている数字はピクセル単位ではないのですか?
0352デフォルトの名無しさん
NGNGScaleModeプロパティを見ると、デフォルトではTwipになってるはず。
これをピクセルに変更すればオッケー。
ただし、ボールの移動値とか、全部変更することになる。
0353351
NGNGありがとうございます。
FormのScaleModeプロパティを変えればいいんですよね。
でも、ピクセルよりTwipの方が細かくて、モノを動かすときもなめらかにできそうな気が
するんですが、どうなんでしょう?
>>350さんの「座標系は絶対ピクセルで」というところの意味を教えてほしいです。
0354デフォルトの名無しさん
NGNGTwipは細かいけど、ムダに細かい。
タテ15個×横15個=255個の座標値が画面上ではまったく同じ点。
0355デフォルトの名無しさん
NGNG同じ位置にShapeを置いてるだけ。
ウェイトかけてるのと同じ効果はあるが…。
とにかく、Twipでゲーム作ってるヤツはいないと思われ。
もともとTwipはビジネスアプリ用なんだし。
0356デフォルトの名無しさん
NGNG滑らかに動かす時は内部で小数点を使うがTwipを使う理由にはならない。
TwipってWindowsのフォントの大きさの設定用に作られたみたいなもんだと
俺は思ってる。
0357vbvb
NGNGVB6でActiveXを作り、HTML文章の中にObjectタグで入れました。
これをダブクリし、IE(Ver5.5)を起動すると、
「このページのActiveXコントロールは安全でない可能性があり・・・・」
といったダイアログが表示されます。
マシンは完全スタンドアロンで稼動するためウイルス進入の可能性はないのですが、
このダイアログがでないようにする方法はあるのでしょうか。
よろしくお願いします。
0358デフォルトの名無しさん
NGNG良い方法はないでしょうか?
本来ならPrinterオブジェクトのPaperSize、Hight、Widthを指定すればいいのでしょうが、公式に書かれてるとお
り、プログラム側からうまく設定できません。。プリンタのサーバプロパティに用紙サイズを作成し、デフォルトに
指定しておき、そのままEndDocで改ページしても15X11インチっぽい改ページになってしまいます。
もうひとつの方法として、作成したユーザ定義を使いExcelで印刷すると正しく改ページされるようなので、Excel
に出力して印字する方法で何とか解決出来そうな気もします。これから調べるところですが、Excelでユーザ定
義の用紙を設定できますよね?
ただ、出来ればC/Sシステムなので、クライアント側に用紙の設定をするという方法は好ましくないのです。可
能な限り、プログラム側で制御したいので用紙サイズをプログラム側でユーザ定義サイズに指定出来たという
方がいたら情報をお願いします。
過去ログ(Part1)にも同じような質問がありましたが、解決していなかったようなので。。
0359358
NGNGに良い方法はありませんか?ということです。
VBの印刷周りは評判が悪いので覚悟はしてましたが納期も近いのに苦労してま
す。。
0360358
NGNGツールの購入に走るつもりなので。
0361縞栗鼠(シマリス)の親方
NGNGご連絡有り難うございます。お心使い大変感謝しております。
縞栗鼠の親方様におかれましては、いかがお過ごしでしょうか。
前回の件でも貴兄、またご利用されている皆様方にも多大なご迷惑をお掛けし
お詫びの言葉も見あたりません。
縞栗鼠の親方様には度重なるご迷惑をお掛けし、その度にご連絡いただき
大変申し訳ございません。私共も実のところ、うんざりと言うのが実際のところです。
ご存じの通り、当学院では11月受検に向け当学院生徒、職員一丸となって
目標達成に向け日々邁進しております。一部の心ない行動により当学院の生徒にも
必要のない不安が生じるのではないかと心を痛めております。今の所、生徒からの苦情
問い合わせ等、わたくしの聞き及ぶところには御座いません。
しかしながら、今回の件でも、いくつか質問という形で真偽を問うリアクションが外部、又は
当学院の生徒の判断がつきかねますが、こちらのHPにも帰ってきているのも事実です。
こちらも具体的な方法で行動をとりたいのですが、この件だけに係り切りというのも状況が許しません。
只、日増しに悪質化してきているのも事実なので放置も出来ません。私共も準備に取りかかり、
然るべき処置を執りたいと存じ上げます。
大変身勝手ではございますが、これからも暖かいご支援宜しくお願い申し上げます。
また 縞栗鼠の親方様の益々のご活躍 心よりお祈り申し上げます。
中央高等学院
http://www.chuo-school.ac/
中央高等学院福岡校
http://chs-f.com/index.html
学院長 斉藤 守
0362デフォルトの名無しさん
NGNGTwipで作っても出来なくはないが、
あとで高速化のために Bitbltなど APIを使うようになると、移行が面倒だぞ。
APIはすべて Pixel単位。
036498使い
NGNGIE5.0のWebブラウザコントロールを使って、HTMLファイルを表示し
印刷するプログラムを作っています。
どうしても、HTMLファイル名が印刷されてしまいます。
ページの設定でフッターを消すとファイル名は印刷されない
ようになるのですが、プログラムを立ち上げなおすと元の設定
(フッターあり)に戻ってしまいます。
なんとかHTMLファイル名を印刷しない設定のままにしておく
方法はないものでしょうか?
ご助力の程、よろしくお願いします!
0366デフォルトの名無しさん
NGNGどのように書けばよいですか?
0367デフォルトの名無しさん
NGNGUnload Me
0368デフォルトの名無しさん
NGNG0369デフォルトの名無しさん
NGNGありがとうございます〜
0370デフォルトの名無しさん
NGNG学割が効くって話も聞いたことがあります。マイクロソフトのサイトにいったんですが、値段とかも書かれていなくて。
教えてください。
0371デフォルトの名無しさん
NGNG店
0372デフォルトの名無しさん
NGNG返せるよ
Quit(0)
0373デフォルトの名無しさん
NGNGVB5.0のタダバージョンでよければここで落とせるよ。
http://www.microsoft.com/japan/developer/vbasic/Controls/GUIDE.HTM
0374デフォルトの名無しさん
NGNGまず「やりたいこと」。フォームで
Dim cntrl As Control
For Each cntrl In Me.Controls
if cntrl.tag = "red" then
cntrl.BackColor = "赤にするねん"
end if
Next cntrl
とやってることを、ユーザーコントロール(.ctl)の中でもやりたい、っつーことです。
もちろん静的に色を変えるだけならデザイン時に設定しとけばいいだけの話だけど、
tagの内容とそのときのアプリケーションの状態によって動的に変えたいんですよ。
ということで、もし何かご存知の方がいればアドバイスをお願いします。
0375デフォルトの名無しさん
NGNGAPIってなんですか?
0376デフォルトの名無しさん
NGNGコピーする時に、画像を回転させてコピーさせる事は可能でしょうか?
もし可能で、コードの記述のしかたが分かれば教えて下さい。
0377デフォルトの名無しさん
NGNGX軸、Y軸対称の鏡像反転は出来るが、回転は出来ない。
0378デフォルトの名無しさん
NGNGPrivate Function isHoge(colHoge As Collection) As Boolean
Dim objHoge As clsHoge
For Each objHoge In colHoge
If objHoge.hage = True Then Exit Function
Next
Set objHoge = Nothing
isHoge = True
End Function
Set objHoge = Nothing って必要なんでしょうか?
もし必要なら、Exit Functionでも行わないといけないはず。
このプロシージャから抜けるときに暗黙にNothingされるような
気がするのだけど、どうなんでしょ?
ちなみにVB6sp5です。よろしくおねがいします。
0379デフォルトの名無しさん
NGNGしかし、昔(VB4あたり?)に明示的にNothingしないと
メモリが解放されないというバグ(ただの噂?)があったらしい。
現在(VB6)、自分はメモリが解放されないという現象にあったことは
ないが、昔からのくせ、VBを信用していない、なんとなく気持ち悪い
という理由のため明示的にNothingをしているらしい。
という説明でいいのかな。
関係ないけど、この例ならByValつけたほうがいいよ。
0380デフォルトの名無しさん
NGNG…Collectionを ByValしちゃうのか?
ByRefじゃないの?
0381デフォルトの名無しさん
NGNGお返事ありがとうございます。
0382デフォルトの名無しさん
NGNG座標を計算すれば可能。
Googleで漁ればサンプル出てくると思う。
>>375
Win32API:
Windowsが提供している、呼び出し可能な関数ってところか。
>>374
dim colObj as Collecion
set colObj=new Collection
colObj.Add Me.UserControl1
とかやれば良いんでないの?
0383382
NGNG逝ってくる…。
0384デフォルトの名無しさん
NGNGByRefにすると関数内でCollectionを再作成できたり
破棄できたりするじゃん。するならByRef、しないならByVal
0385374
NGNGごめんなさい。ちょっと説明がまずかったかもしれませんね。
BackColorを変えたい(他、プロパティを弄りたい)コントロールは、
ユーザーコントロール(.ctl)の『中』のコントロールなんです。
ユーザーコントロールのInitarizeで、>>374と同じコードを書いてみたのですが、
ユーザーコントロールのMeにはControlsコレクションが無いんですよ。
……っと、もしかして、中にあるコントロールを一つづつ名前を指定して、colObj
にAddしていけ、とゆーことなのでしょうか?(^^;
0386デフォルトの名無しさん
NGNGするにはどうすればよいのでしょうか?
コードが見づらいので困ってます。
0387デフォルトの名無しさん
NGNGまたまた教えて下さい。
こんなサンプルを見つけたのですが・・・
ビットマップイメージ画像をPicture1に読み込んで、
Picture2にその画像を回転させて表示するものです。
GetObject、GetBitmapBitsでPicture1のピクセルを取得して、
GetObject、GetBitmapBitsでPicture2のピクセルを取得して、
Sin、Cosを計算して、
Picture2の外枠を計算して、
SetBitmapBitsでPicture2に回転した画像を更新させます。
そこで、これでは読み込んだビットマップイメージ画像を回転させて
いますが、私がやりたいことはPicture1にMoveToEx LineToや
MoveToEx PolylineToやPolylineで描いた図形をPicture2に回転させて
表示させたいのです。
こういう場合はGetObject、GetBitmapBits、SetBitmapBitsではなく
違うAPIを使うのですか?
説明変かもしれませんが・・・教えてください。
p.s LineToのx、y座標をSin、Cosでというのではなくて、
これでしてみたいのです。
0388デフォルトの名無しさん
NGNG慣れましょう
0389デホルトの名無しさん
NGNGwindowsNT
でPrinterオブジェクト使って印刷してるんですけど
大量に印字したとき、ときどき固まってしまいます。
いっきに大量印字が原因なのかわかりませんが、Printerオブジェクト
また、NTとの関連でこういった不具合が出た方いますか?
出た方はどういう対応をしたのでしょう?
原因がつかめなくて困ってます。
情報お持ちの方、よろしくおねがいします。
因みに、マイクロソフトのサポート技術情報検索
http://search.support.microsoft.com/kb/c.asp?lng=jpn&sa=per
にて、PrinterやNTなどで検索を掛けましたがそれらしい
答えは見つかりませんでした。
0390デフォルトの名無しさん
NGNG亀レスすみません。
教えてくれて有難うございます。
初心者が始めるなら6も5も余り関係ないですよね?
早速本買おうと思います。
もしよろしければ、初心者に解かり易い本を教えていただければうれすぃです。
有難うございました。
0391デフォルトの名無しさん
NGNGユーザ定義用紙の設定ですが、APIのSetPrinterは使ってみましたか?
DOSプリンタで1行ずつ印刷するだけなら、APIのWritePrinterで可能です。
ESCP対応プリンタに限れば、ベクターにシェアウェアのOCXがあります。
プレビュー付きです。
>>339
Beepで鳴るのは、サウンド→一般の警告音で指定されてるWaveファイルなので、
個々のPC環境によって違い、あゆが「なんかヘンだよ〜」とか言ったりする。
>>375
Application Program Interface の略。
このスレでは主に Windows32 API のことを指す。
Windowsが用意してる関数のことだと思えばいい。
VBのコントロールもWin32APIを利用してるけど、ほんの一部だけでしかない。
直接呼び出せば全部使えるし、細かい処理が出来る。画像処理は格段に速くなる。
>>389
まず印刷スプールサイズを確認!
0392378
NGNGVB4の頃の習慣だったんですね…。
どうりで、古めの資料にはNothingしろって書いてあるはずだ。
ttp://www.gj.il24.net/~nakasima/vb/tech/Nothing/index.htm
ここ読んで納得しました。
0393デフォルトの名無しさん
NGNGそのサンプルはPointが遅いので、GetBitmapBits使ってるだけ。
これはラスター処理。
質問のケースでは、元座標値がわかってるから、
それに対しSin, Cosを使って、LineToで描けばいい。
こちらはベクター処理。
>>390
どういうテーマのサンプルコードに興味を持つか、人それぞれです。
幾何図形、電話帳、ゲームのひな型、etc。
0394デフォルトの名無しさん
NGNG自作コントロール作成時のMeが指すのは、
コントロール内部の自分で定義しているクラスです。
なので、IntelliSenseで表示されるプロシージャ、プロパティも
自分の定義したものだけ。
UserControlのプロパティとしてContainedControlsがある。
0395デフォルトの名無しさん
NGNGとかってやって、"abc"という文字列を調べたいのですが、
エラーがでてできません。一体どうやれば?
0396デフォルトの名無しさん
NGNG0397デフォルトの名無しさん
NGNGIf Label1.Caption="""abc""" Then
0399デフォルトの名無しさん
NGNGで確認できる。
0401379
NGNG自分で書いといてなんだがVB4あたりでそういうバグが本当にあったのか。
VB6では本当に問題ないのか知っている人いません?
自分はVB6からしか使っていないから知らんのよ。
0402デフォルトの名無しさん
NGNGNT使ってるから、メモリに残ったことはない。
聞いた話では、VB6ではPublicなObject変数だけ破棄すればいいらしい。
0403デフォルトの名無しさん
NGNGVB4の頃は、
Unload Me
Set Form1 = Nothing
にしろというお達しがMSページに載っていた。
でも、VB4upgrade2か、VB5ではそれは撤回されていた。
たぶん、そこでその不具合は修正されたものと思われ。
それ以来、念のために明示的にSet obj = Nothingを書いている人も
ままいるようだ。
通常のクラスモジュールでの話で同様のものがあったかどうかは不明。
漏れはVB4時代にはクラスモジュールは全然使ってなかったので、
単に知らないだけかもしれない。
>VB6では本当に問題ないのか知っている人いません?
問題ないことは誰にも証明できん。
が、現時点でそういう話は聞いたことがないので、
たぶん問題ないのでは?
0404ビーム単発サンプル
NGNGPrivate Sub Form_Click()
Dim Y As Long
Me.AutoRedraw = True
Me.ScaleMode = vbPixels
For Y = Me.ScaleHeight To 0 Step -1
Me.Line (150, Y)-Step(4, 9), Me.BackColor, BF ' 消す
Me.Line (150, Y - 10)-Step(4, 9), vbRed, BF ' 描く
Me.Refresh
Next
End Sub
手抜きサンプルだけど。
次は、連射のサンプル。
0405ビーム連射サンプル 前半
NGNGPrivate Type RECT
X As Long
Y As Long
End Type
Dim Beam(9) As RECT
Dim MyX As Long, MyY As Long
Dim SW As Long, SH As Long
Dim lBackColor As Long
Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
Dim i As Long
Me.Line (MyX, MyY)-Step(4, 2), lBackColor, BF ' 自機を消す
Select Case KeyCode
Case vbKeyRight
MyX = MyX + 5
If MyX > SW - 6 Then MyX = SW - 6
Case vbKeyLeft
MyX = MyX - 5
If MyX < 0 Then MyX = 0
Case vbKeySpace
For i = 0 To 9
If Beam(i).Y <= -10 Then
Beam(i).Y = SH - 5
Beam(i).X = MyX
Exit For
End If
Next
End Select
Me.Line (MyX, MyY)-Step(4, 2), vbBlue, BF ' 自機を描く
End Sub
0406ビーム連射サンプル 後半
NGNGMe.AutoRedraw = True
Me.ScaleMode = vbPixels
SW = Me.ScaleWidth
SH = Me.ScaleHeight
MyX = SW / 2
MyY = SH - 4
lBackColor = Me.BackColor
Timer1.Interval = 10
End Sub
Private Sub Form_Unload(Cancel As Integer)
Timer1.Interval = 0
Timer1.Enabled = False
End Sub
Private Sub Timer1_Timer()
Dim i As Long
For i = 0 To 9
If Beam(i).Y > -10 Then
Me.Line (Beam(i).X, Beam(i).Y)-Step(4, 9), lBackColor, BF ' 消す
Me.Line (Beam(i).X, Beam(i).Y - 10)-Step(4, 8), vbRed, BF ' 描く
Beam(i).Y = Beam(i).Y - 10
End If
DoEvents
Next
Me.Line (MyX, MyY)-Step(4, 2), vbBlue, BF ' 自機を描く
Me.Refresh
End Sub
' ここまで
0407デフォルトの名無しさん
NGNG大文字ってものすごく読みづらいんですけど、
VB環境のデフォルトを全部小文字にできませんか?
private sub timer1_timer()
0408379
NGNGPublicなObjectもアプリケーション終了時にNothingになるよね。
少なくともObjectのTerminateイベントは発生する。
Terminateイベントが発生したからといってメモリが解放されたとは限らないのだが…。
>>403
でもMeとForm1は厳密には違うよね。
それともVB4ではFormは一つしか作成できずMe = Formだったのか?
0409デフォルトの名無しさん
NGNG強制終了の時とかは?
0410デフォルトの名無しさん
NGNGエディタで書いて、貼ればいいじゃん。
それにたくさんソース見れば、すぐ慣れるよ。
0411デフォルトの名無しさん
NGNG0412403
NGNG>でもMeとForm1は厳密には違うよね。
厳密に言わなくても違うが、
Set Me = Nothingとはできない。
自分で自分を削除はできないから。
>それともVB4ではFormは一つしか作成できずMe = Formだったのか?
NothingにするのにMeは使えないので、
個々のオブジェクト変数Form1やらForm2・・・など
Nothingにする具体的な変数名を指定しないといけない。
#Form1.ShowなどとするときのForm1は暗黙にPublic Form1 As New Form1と宣言されているようなもの。
0413379
NGNGさすがに強制終了時にはTerminateは走らないでしょ。
そのときのメモリはOSが処理してくれるしかないのかな?
>>412
VB4ではNothingを代入することで削除することが出来るの?
VB6だが俺の認識では「全ての参照がなくなったときに削除される。」なんだよね。
たとえばForm1型のフォームがfrmという変数に作成したとき
Unload Me は意味があるけど
Set Form1 = Nothing には意味がないよね。
Form1型のフォームがForm1という暗黙の変数に作成されたときは
Set Form1 = Nothingをする意味は分かるが、これをしないと
メモリが解放されないというのは正常な動作だよね。
結局VB4でもバグではなかったの?
0414374
NGNG出来ました! Me.Controlsではなく、UserControl.Controlsとすればよかったんですね。
その上で、他にコレクションを公開したかったら
Public Property Get Controls() As Variant
Set Controls = UserControl.Controls
End Property
とする、と。(ユーザーコントロールの概念からすると、好ましくないことは解っていますが(^^;))
アドバイスありがとうございました(拝)
0415デフォルトの名無しさん
NGNG誰か↓答えてくれよ・・・・。
-------------------------------------------------------------------
VB6SP5
windowsNT
でPrinterオブジェクト使って印刷してるんですけど
大量に印字したとき、ときどき固まってしまいます。
いっきに大量印字が原因なのかわかりませんが、Printerオブジェクト
また、NTとの関連でこういった不具合が出た方いますか?
出た方はどういう対応をしたのでしょう?
原因がつかめなくて困ってます。
情報お持ちの方、よろしくおねがいします。
因みに、マイクロソフトのサポート技術情報検索
http://search.support.microsoft.com/kb/c.asp?lng=jpn&sa=per
にて、PrinterやNTなどで検索を掛けましたがそれらしい
答えは見つかりませんでした。
-------------------------------------------------------------------
(´・ω・`)ショボーン
0416デフォルトの名無しさん
NGNG5分に1回DoEvents
ダメならプロセス優先順位上げれ
0417デフォルトの名無しさん
NGNG恐ろしく書き難いです。みなさんどうやってます?
ENTERで改行しても元に戻るので、何度やってもイライラしてるんですが・・・・
0418デフォルトの名無しさん
NGNG>ENTERで改行しても元に戻るので
意味がワカラン。
俺は
'_/_/_/_/_/_/_/_/_/_/変数定義'_/_/_/_/_/_/_/_/_/_/
とかやって区切るけど何か?
0419デフォルトの名無しさん
NGNG0420デフォルトの名無しさん
NGNG果てしなく意味不明
0421デフォルトの名無しさん
NGNGスキンとかを作って外観を変える事ってできますか?
0422デフォルトの名無しさん
NGNGそこはかとなく、意味不明。
適当にPictureコントロール使うか、FormのPictureプロパティ使えば?
と答えてみる。
0423デフォルトの名無しさん
NGNGそのように作ればできるだろ、頑張れ。
0424デフォルトの名無しさん
NGNGNT使ってるのに、管理ツールの使い方も知らないの?
0425デフォルトの名無しさん
NGNG単にスプールに時間かかってるだけってのはないの?
俺昔ためしで1万枚印刷しようとしたけど別にハングしなかったけどなあ。
(VB6SP5+Win2000)
0426デフォルトの名無しさん
NGNGWinメッセージかアトムかファイル。
OLEとDDEもある。
>>421
映像部分だけ表示して周りにビットマップ貼るとか。
0427デフォルトの名無しさん
NGNGPrivate Sub Form_Load(): Dim i As Integer: i = 10: MsgBox i + b: End Sub
気持ちわりー。絶対こんな風に書くなよ。
0428デフォルトの名無しさん
NGNG形式に変換出来ないみたいなんです。frmからexeに変換できるツールは無いのでしょうか?
教えてください。
0429デフォルトの名無しさん
NGNGVB5CCEはEXE作れないよ。200-300ぐらいに出てたかな。
0430デフォルトの名無しさん
NGNG続きは製品版でお楽しみください
0431デフォルトの名無しさん
NGNGいやできないから、VB以外で変換できるツールが在るのなら欲しいなと思って書き込んだんです。
やっぱり無いんですか?
0432デフォルトの名無しさん
NGNGVBはMicroSoftが独自に開発してる言語だ。
VBはあまりに巨大すぎて独自に解析する人はいない。
C系みたいに共通言語でもない。
ゆえに、VBはMicroSoftしか作れない。
MicroSoftがVB以外のBasicコンパイラを出すと思うかい?
0433デフォルトの名無しさん
NGNGだったら実行時に指定したActiveXコントロールを表示するEXEってのが
あればよさそう。簡単に出来そうだね。
0434デフォルトの名無しさん
NGNGサービスパックからファイルを抜き出してあるファイルを
上書きすると製品版と同等になるとかなんとか、、、
という噂を聞いた。あやふやな情報でスマソ
0435デフォルトの名無しさん
NGNG厨にクラックの仕方教えるなよw
0436デフォルトの名無しさん
NGNGクラックパッチもastalavistaで一応探したんだけど無いんです。
厨だってクラックパッチ位知ってますよ。
XPのクラックもファイルをVL版に置き換るんでしたよね。
関係ないんですけど。
無いならいいや。
有難うございました。
0437sage
NGNG0438デフォルトの名無しさん
NGNG0439ウイルス作成ソフト
NGNGVirus Creation Tools (54)
http://vx.netlux.org/dat/vct.shtml
VBS Worm Generator
Author's Notes:
You need the microsoft Vb5 runtimes to run this program,
and the Windows Scripting Host 5.0 too.
What's New:
New code encription, fastet and smaller.
Select the random words lenght
New random words engine, added caps and numbers.
File downloading an execution.
Fixed more bugs
Outlook script modyfication to avoid Avp Heuristic detection
Mirc script modyfication to avoid Avp Heuristic detection
Main script modyfication to avoid Avp detection.
The sources have been modified to be just like the main ones.
Added New vbs reg file to add the Vbs file type
to the File/New explorer submenu
Modyfied the SaveAs dialog, cause it was causing troubles in some computers
Added setup!, made by me, so, it can have some bugs.
Added welcome Screen. Thanx Pepe Lepu for the Picture!.
Features:
Worm backup: It's just for having a copy of the worm in a safe place,
so you can be shure that it will no be lost.
Outlook Replication: Send as attachment: It uses the same function
that all the vbs's, js's or any other kind of worm, it sends a message,
that you can define, whit te worm attached to every preson in the user's address list.
Send in html code: The worm is added to the html code of the message,
so, when the person views it, they'e infected!
Mirc replication: Search for mirc.ini(what means that the mirc is there)
in the most commons floders(programfiles\mirc, c:\mirc, c:\mirc32)
and if it is found, the worm create "script.ini" in that folder,
that script make the mirc sends the worm to every person that join to a channel.
(see "If found Mirc, infect.")
Infect Files: The worm will search for all the hard drives
(and the network drives too, i think) for files whit the extencion
that you want(in this version only .vbs and vbe are searched)
and copy overwrite him whit itself.
0440デフォルトの名無しさん
NGNGカワイイアイコンをクリックしたら起動するようにしたいのですが
ペイントで作ったアイコンがプロパティがおかしいとか出てうまく
できません。どうしたらいいのでしょうか。。。
0441デフォルトの名無しさん
NGNGアイコン作成ツール使え。
ペイントのアイコンはアイコンじゃない。
Winが親切で表示してくれてるだけ。
0442デフォルトの名無しさん
NGNGそうだったんですか、ありがとうございます。
俺もカワイイアイコンに憧れてます
0443441
NGNG0444り
NGNGTB = Not TB
という書き方はまちがっていますか?
0445444
NGNG0446デフォルトの名無しさん
NGNGBooleanで定義してある変数なら問題なし。
個人的にはiifでやりたい
0447デフォルトの名無しさん
NGNGa=true:a=a-1:debug.print cbool(a),cbool(not a)
これの意味分かる?
分かってるんならよし。
0448444
NGNG勉強してきます・・・。
0449デフォルトの名無しさん
NGNGa=a+1でなくて?
Trueから 1引いても Trueだと思うけど。
VBの Trueは -1だよ。
>>436
素直に製品版買え。
厨なら Academicがある。
0450447
NGNGんーと、Boolean型はTrue,Falseだけだけど、中身はLong値じゃん。
VB側が0の時はFalse、それ以外の時はTrueを返すようにしているだけで。
で、Notは論理演算だから-2(True)が入ってると結果は1なんで
Trueが返ってくる。
つまり、-1と0以外の値が入っているとNotを使ってもTrue⇔Falseが
トグルになるとは限らないよ、ってことが言いたかったんよ。
分かりにくくてスマソ。
0451446
NGNG俺もそう思ったんだけど、型がBooleanなら-1以外でも
ちゃんとFalseを返すみたい。
でのなんか怖いので
iif(FLG,False,True)ってやりたい
0452447
NGNG気になったんで今調べてみた。
bl=Boolean型、i=Long型。
bl=10 → bl=-1
bl=0 → bl=0
bl=-1 → bl=-1
i=100:bl=i → bl=-1
結果:
Boolean型で宣言された変数に演算結果を代入する場合は
-1か0に修正されて代入される。
みたい。直接CopyMemoryとか、Get#とか使って代入するとBoolean型の
修正機能は働かないようだ。
やっぱり怖くて使う気にならんなw
0453デフォルトの名無しさん
NGNGなるほどね。
Variantとか Longなら、どちらもTrue返すね。
つーか、Variantは -1した段階で型変換してる。
Longは Trueセット時に -1になるし。
そうすると、非零だから全部 Trueだわな。
でも、 >>451 にもあるけど、
Booleanだと、True/Falseになるね。
-1したときに、Booleanの型を保つから…かな。
まともに宣言して使ってれば、まぁ Notは問題なしってところか。
0454デフォルトの名無しさん
NGNG知人からVBは簡単だからそれから始めれば?と言われました。
いずれは、CやJavaを・・・・と思ってるんですが、
VBからはじめるのが本当に無難なんですか?
VBやって無駄だとか弊害があるとかってないですか?
0455デフォルトの名無しさん
NGNGいずれ C や Java をやろうとと思ってるなら
最初からそうしたほうがいいのでない?
俺は最初 C から始めたよ。
俺は VB はやったことないからなんとも言えないが
やっても無駄って思ってる人も結構いるかと。
とりあえず C をやって無駄になることはないよ。
0456デフォルトの名無しさん
NGNG俺は主にVB使ってるけどCが最終目的ならVBは無駄だよ。
455に同意。
0457デフォルトの名無しさん
NGNG時間の無駄と気づくまで。
0458デフォルトの名無しさん
NGNGリッチテキストボックス内の表示内容がいっぱいになった時
リッチテキスト内の一番最新の追加された文字を表示させるために
表示位置を自動でスクロールしたいのですが
ご存知の方ご教授願えないでしょうか。
0459デフォルトの名無しさん
NGNGいまVB6インストール終わって、EXE作ってたら、ゾーンアラームが警告出したよ。
かってにサーバーになって、どこかに情報送信しようとしてた。
0460デフォルトの名無しさん
NGNGVC相談所が暇になったからってこっちまで来ないで下さい
0461デフォルトの名無しさん
NGNG暇になってるの?
0462デフォルトの名無しさん
NGNGMicro$oft の製品は全てトロイです。
XPはその最たるものです。
0463デフォルトの名無しさん
NGNGCやJavaが目標なら、そっちやった方が良いと思うな。
C←→Java間の文法の差異は比較的少ないけど、
VBは基本文法が違うから、面倒だよ。
俺は両方使ってるけど、
C→VBに行くと、文末にセミコロン打ったりするし。(w
VB→Cすると、セミコロン忘れとかやらかすし。
基本部分を押えるだけなら、VBも悪くないとは思うけど。
0464デフォルトの名無しさん
NGNG0466454
NGNGご返答ありがとうございます。
参考になりました。
で、ちょっと疑問に思ったのですが、
ではVBはどのような場合の方が勉強されるのでしょうか。
CやJavaが主流だと聞いたのですが、VBをやる意味というのはどのような場合ですか?
質問ついでですみません。
0467デフォルトの名無しさん
NGNGとにかく短期間で納品する小規模なプログラムを作るとき
0468デフォルトの名無しさん
NGNG移植性を考慮しなくてもイイとき。
メンテナンスコストを気にしなくてもイイとき。
0469456
NGNGお、俺の出番だねw
会社でやる時も趣味でやる時も、基本的には楽に完成させたい時に使う。
外部コンポーネントや標準関数なんか使うと簡単なアプリはすぐに作れちゃう。
しかも面倒なポインタやメモリ管理なんかを勉強する必要もない。
でも、その分実行速度は遅いし、ランタイムはいるし、高度なことは難しい。
速く高度なアプリも作れるけどそういう時はVC++のほうが倍は楽。
俺みたいなVBでMMX使おうとするバカモイルケドナー
0470454
NGNGということは、逆にCやJavaを一通り勉強してから
VBをやってみるというスタンスのほうが良さそうですね。
ご返答ありがとうございます。
0471454
NGNG0472デフォルトの名無しさん
NGNGRichTextBox1.SelStart = Len(RichTextBox1.Text)
あるいは、
RichTextBox1.SelStart = clngとっても大きな数
0473458
NGNGご返答ありがとうございます。
早速、試してみました。
感動しました!
本当にどうもありがとうございました。
0475超初心者
NGNGどうしても分からないのでお願いしたいのです。
ボタンをクリックするとマイドキュメントを開くようにしたいのですが、
マイドキュメントやお気に入りのような特殊フォルダ(?)のパスの取得は
どのように行えばよろしいのでしょうか。
レジストリを読み込めばいいのでしょうが、
Getsettingでは"VB & VBA Program Settings"以下のパスしか読み込めないみたいなので・・・
<愚痴>
金が惜しいからって
全くの初心者にプログラムを書かせないで欲しいです先生(;´Д`)
0476デフォルトの名無しさん
NGNGHKEY_CURRENT_USER\Software\\Microsoft\\Windows\\CurrentVersion\\Explorer\\Shell Folders
0477デフォルトの名無しさん
NGNGAPIならGetSpecialFolderPathか、ShFolder.dllがあるなら
SHGetFolderPath。
0478超初心者(475)
NGNG(そのパスは分かってるって書けばよかった・・・こちらの説明不足です)
すみません、そこでそれを読み込むにはどうすればよいのでしょうか?
>>477
申し訳ないです、それを利用するにはどうしたらよいのでしょうか。
返事をいただいたのに申し訳ないのですが、
具体的にお願いできますでしょうか。
「もっと調べろよ」と思われるかもしれませんが、
超初心者なものでかなり行き詰まっているもので・・・ほんとうにすみませんです。
ちきしょう、うまく言葉がでない!
0479477
NGNGI.E5以上ならこれで行けると思う。
Debug.Print GetSpecialPath(5か12)
いま会社なんでチェックできん。
Private Declare Function SHGetSpecialFolderPath Lib "SHELL32" Alias "SHGetSpecialFolderPathA" (ByVal hwndOwner As Long, ByVal lpszpath As String, _
ByVal nfolder As Long, ByVal fcreate As Long) As Long
Function GetSpecialPath(ByVal FolderID As long) As String
Dim St$, i&, rc&
St = String(260, Chr(0))
rc = SHGetSpecialFolderPath(0, St, FolderID, 0)
If rc = 0 Then GetSpecialPath = "": Exit Function
St = Replace(St, Chr(0), " ")
For i = Len(St) To 1 Step -1
If Asc(Mid$(St, i, 1)) <> 32 Then Exit For
Next
If i >= 1 And Len(St) >= 1 And i < Len(St) Then St = Mid$(St, 1, i)
GetSpecialPath = St
End Function
0480デフォルトの名無しさん
NGNGつーか、CじゃないんだからBooleanをLongと考えるなよ。
BooleanはBoolean。TrueかFalseを持つ変数。
aがBooleanだとしてそれを演算する必要ある?
JavaやVB.NET(Strict On)やC#なら怒られるよ。
BooleanはBooleanと考えTrueかFalseだけを代入するし、代入できない。
Booleanに型変換できる数値を入れたらBooleanに型変換される。
Booleanに型変換できる文字を入れたらBooleanに型変換される。
Booleanを数値に型変換したら0か-1になる。
Booleanを文字に型変換したら"True"か"False"になる。
BooleanはTrueかFalseしか保持しないのでNotで確実にトグルできる。
「怖くて使う気にならんな」って結局自分が変な使い方をしているだけじゃんw
ということで>>444さん、全然問題ありませんよ。
0481超初心者(475)
NGNGわざわざ書いていただいたところで恐縮なのですが、
GetSpecialFolderPathを検索したら参考になりそうなものを見つけてしまいました。
でも、このGetSpecialFolderPathという命令文(?)も
ここで聞かなかったら分からなかった事なので感謝です!本当にありがとうございました
0482デフォルトの名無しさん
NGNG終了してくれないのですが・・・。
0483デフォルトの名無しさん
NGNGUnload Me
End Sub
終了しますけど。
0484デフォルトの名無しさん
NGNGなんか処理中だったり解放し忘れてると終了しないよ。
0485名無しさんです
NGNGコード側からアイテムを選択して、そのアイテムがリストビューの
表示範囲の外だった場合、選択したアイテム周辺を表示範囲内に
もってくることってできるのでしょうか?
フックやサブクラス化しなければできないのであればあきらめますw
(Win98なんでデバッグがしずらい為)。
0486デフォルトの名無しさん
NGNG2.「command1を押すと、text1からtext2までの数字の中から、ある条件(割愛)に
見合ったものだけを抽出し、」
3. text3(MultiLineプロパティはTrueにに、上から順に逐一改行されながら表示
されていく。
・・・というものを作っています。
「3」の部分で行き詰まっておりまする。改行ができんのですたい。
「改行コード」やらなんやらで検索してみましたがわからんとです。
どうぞお助け下さいませ(嗚咽)
0487名無しさんです
NGNG0488486
NGNGされていく。
でした。
0489デフォルトの名無しさん
NGNG0490464
NGNG繰り返し処理でセルを次々に指定したい場合どうすれば良いんでしょうか?
cで言う
for(i=0;i<10;i++){
list[i][0];
list[i][0]=i;
}
みたいな処理です。
0491486
NGNGまだうまくいきません(泣)
Dim a As Integer
For a = Val(Text1.Text) To Val(Text2.Text)
(ここに抽出条件文)
(そして書き出し)Text3.Text = Label1.Caption & vbCrLf
next a
・・・と、こんな文にしてるのですが、どうもループの過程で
新しく抽出したものがその都度上書きされるようなのです。
「改行しながら付け足していく」という風にしたいのですが・・・
しくしく。
0492名無し
NGNGVBプログラマーは失業するだろうな。
http://www.zdnet.co.jp/news/0101/19/e_vb.html
0493デフォルトの名無しさん
NGNGループの回数が多いようなら直接Text3.Textに代入するより
文字列変数に入れていき最後にText3.Test = strとした方が速い。
0494デフォルトの名無しさん
NGNG一年前からVB.NET使ってますが何か?
0495486
NGNG結局改行コード以前のスキル不足だったようで。
最終的には493さんのご指導でうまくいきました。
ありがとうございました。
他にレスをくれたみなさんにも深く深く感謝です<(__)>
0496`
NGNG0497デフォルトの名無しさん
NGNG起動時にここに自動的にカーソルが行くようにしたいのですが
Private Sub Form_Load()
Text1.SetFocus
End Sub
これだとエラーになってしまいます。
どうしたらいいのでしょうか。アドバイスをよろしくおねがいしますm(_ _)m
0498デフォルトの名無しさん
NGNG0499デフォルトの名無しさん
NGNGだけなら、何もしなくてもフォーカスはテキストボックスに
行くはずです。
もし他にもコントロールが置かれており、起動時にそのうち
のどれかにフォーカスがいく、ということであれば、
Private Sub Form_Load()
Text1.TabIndex = 0
End Sub
これでよいでしょう。
0500497
NGNGうおー!ばっちりです!
本当に感謝です。ありがとうございました〜
0501デフォルトの名無しさん
NGNGへぼライターの書くことをそのまま鵜呑みにするぐらい無知なのか。
NETになってもたいして変わらないよ。
0502デフォルトの名無しさん
NGNGバグの多さもね。
0503デフォルトの名無しさん
NGNG読んでるけど、なかなか良いね。
一日で200ページ読んだ。
http://www.amazon.co.jp/exec/obidos/ASIN/4881357182/qid=1014819612/sr=1-7/ref=sr_1_2_7/250-4218930-7128232
0504デフォルトの名無しさん
NGNG.NETを使うときに備えてそのバグについて聞きたいんですが…。
0505デフォルトの名無しさん
NGNGSP10がでるまでお待ちください。
0506デフォルトの名無しさん
NGNGList1.ListIndex=そのアイテムのインデックス
はいかんの?
>>490
dim st$,i&
for i=1 to 10
st=worksheet.cells(i,1)
next
こんなかんじ。WorkSheetはその状況によってセットすれ。
>>501
かなり変わるけど、使えるかどうかは別問題、って感じでない?
0507485
NGNGう、リストボックスではなくリストビューなのです…。リストボックスだと
勝手にスクロールしてくれるのですが、リストビューではなぜか選択
しても選択アイテムのある場所へスクロールしてくれないのです。
なにか見逃してるのかなぁ。
0508デフォルトの名無しさん
NGNGそれ俺も昔悩んだことあるわ。
あきらめたけど(じゃあ書くなよってか・・)
0509485
NGNG>あきらめたけど(じゃあ書くなよってか・・)
いえいえ、同じ事で悩んでる(た)人がいるだけで少し安心
しますw。これが「んなもんもできんのかヴォケ!」ってな
レスだと「え、マジ?」ってなりますが。
0510デフォルトの名無しさん
NGNGMSDNあさってみたら ListItem.EnsureVisible ってのがあった。これか?
0511485
NGNGで、できたw
イイワケさせてもらうと、実はさっきListItem.EnsureVisible で
ためしたのですが、.EnsureVisibleの後にイコールを打ったら
tureかfalseを選ぶ項目が出てきたので「= True」にしてたら
怒られたんです。「= True」を消したら見事にスクロール
しました…。例を見れば一発でしたね。
ワラってやってくださいw
0512デフォルトの名無しさん
NGNGPictureボックス内で領域を作って、それぞれの領域(座標に)あるときに
それぞれの指示を出せるようにしたいと思ってます。
With50、Height50のPictureボックスを用意したとして、
対角線で区切った4つの領域を作って、それぞれの領域を1,2,3,4とします。
そして描画APIのMoveToEx〜LineTo等を中心から外に向かって一本描いて
その終点の位置(座標)が1,2,3,4の、どの領域にあるか、チェックしたい
のです。
この直線はTimerイベントで時計の針の様に(ちょっと違うのですが)
つねに動いていて、各領域を行ったり来たりしている状態にします。
☆領域の分け方、今どこの領域を指しているかのチェック、そして
領域の境目の処理(境目はどちらかの領域になるように)
教えて下さいまし。お願いします。
コードを記述してもらえると助かります。
0513デフォルトの名無しさん
NGNG今から宿題かい? おつかれさま。
終点の位置がわかってるなら、答えはすぐ出ると思うが?
自分で点を描画してるわけだし・・・。
まぁ、しばらく自分でがんばってみなよ。
0514デフォルトの名無しさん
NGNGコードを求めるのは禁句だ。
内容的には中三の数学だな。
0515デフォルトの名無しさん
NGNG極座標で求めると、境界で苦労する。
0516え
NGNGBackColorプロパティを変えればいいのかと思ったらちがうようです。
BackColorは「オブジェクト内の文字やグラフィックの表示で使用する背景色を設定します。値の取得も可能です。」
とあるのですが、これを変更しても何の変化もありませんでした。「オブジェクト内の文字」というのは、Captionプロパティのことではないのですか?
0517デフォルトの名無しさん
NGNGCommand1.Style = 1
0518デフォルトの名無しさん
NGNGそ、そうですか。中三の数学かぁ。
質問をレスしてから今までは、違う考え方で奮闘してました。
ところで、一ついいですか。
「もしx,y座標が・・・だったら」というのはどう書けばよいのでしょうか?
If…Then・・・
0519516
NGNGありがとうございました。
0520デフォルトの名無しさん
NGNGif x=○ and y=× then ...
こんなんでいいのか?
0521デフォルトの名無しさん
NGNGしっくりいきません・・・。黒い文字のままで、文字をいじらせないようにする
良い方法はありませんですか?
0522デフォルトの名無しさん
NGNGText1.Locked=trueだったかな?
0523デフォルトの名無しさん
NGNG背景が白のLabelとかな
0525デフォルトの名無しさん
NGNGお願いします。
0526デフォルトの名無しさん
NGNG>>518です。
どうもです。それでいけるのでしょうか?
後でやってみます。もろX,Yそのまんまですね。
また・・・それでよいか確認すること俺にできるかなぁ?
まあ、適当に本屋とかネットに行こうかな。
0527デフォルトの名無しさん
NGNG中3に聞けよ!
0528デフォルトの名無しさん
NGNGヘルプを見てもよくわからなかったので教えてほしいです。おねがいします。
0529デフォルトの名無しさん
NGNGsndPlaySound
0530528
NGNGさっそくのレスありがとうございます。
sndPlaySoundというキーワードをヘルプで探しても見つからないのですが、構文について
もう少し教えてもらえると非常にうれしいです。
0531529
NGNGhttp://www.microsoft.com/JAPAN/developer/library/jpgdipf/_win32_sndplaysound.htm
サンプル
http://www.google.com/search?hl=ja&q=sndPlaySound+%83T%83%93%83v%83%8B+%22VB+OR+Basic%22&lr=lang_ja
次からは自分でネットとか検索すれ。
0532528
NGNGありがとうございました。
0533デフォルトの名無しさん
NGNGTransferSpreadsheet
をつかってテーブルの内容をEXCELに書き込みたいんだけど
うまくいかないッス
ファイル(***.xls)だけはできるんだけど中身が無し
もう一度実行するとうまくいく…
出力するセルの位置が決まってるから
OutPutToだとだめなんです…
ちなみに97です
0534デフォルトの名無しさん
NGNGエクセルオブジェクトとRecoadSet使って転送してやれば?
0535椎名法子
NGNG作り方がわからないので教えて下さい。
*.CHMをフォームに貼ることができるのでしょうか?
*.CHMにJavaScriptを入れて CHMが開かれた時
JavaScriptに引数を渡せるのでしょうか?
0536デフォルトの名無しさん
NGNG保存するにはどうしたらいいですか?
0537デフォルトの名無しさん
NGNGSavePicture ステートメント
オブジェクトまたはコントロールに関連付けられた Picture プロパティ
または Image プロパティのピクチャをファイルに保管します。
構文
SavePicture picture, stringexpression
SavePicture ステートメントの構文の指定項目は次のとおりです。
指定項目 内容
picture ピクチャ ファイルに保管するピクチャを持つピクチャ (Picture)
コントロールまたはイメージ (Image) コントロールを指定します。
stringexpression ピクチャを保管するピクチャ ファイルの名前を指定
します。
解説
デザイン時または実行時にオブジェクトの Picture プロパティにファイル
からピクチャをロードしたとき、そのピクチャがビットマップ、アイコン、
メタファイル、または拡張メタファイルであれば、元のファイルと同じ形式
で保管されます。GIF ファイルまたは JPEG ファイルであれば、ビット
マップ ファイルとして保管されます。
Image プロパティ内のピクチャは、元のファイルの形式にかかわらず、
常にビットマップ (.BMP) ファイルとして保管されます。
0538デフォルトの名無しさん
NGNGhttp://www.google.com/search?num=100&hl=ja&q=htmlhelp+chm&btnG=Google+%8C%9F%8D%F5&lr=lang_ja
0539デフォルトの名無しさん
NGNGあれをVBで検出する事は出来るんでしょうか?調べてみたんですが、よく判りません・・
中央ボタンでフルキシルグリッドを上下にスクロールさせたいのですが・・
0540デフォルトの名無しさん
NGNGまた、TEXTBOXのEnablをFalseにした時、Textのフォントを黒のままにしたいのですが、
何か方法はありますでしょうか
0541デフォルトの名無しさん
NGNGhWndを持つコントロールの上にhWndを持たないコントロールを載せることは
出来ない。MSDNにのどっかに書いてある。
>Textのフォントを黒のまま
>>522参照
せめて最新50レスぐらいは見ようぜ。
0542デフォルトの名無しさん
NGNGありがとうございます。
ただ、Lockedと違って、Enableみたいにカーソルも当たらないようにしたいのです。
無理っすかね。。。。
0545デフォルトの名無しさん
NGNGどなたか教えていただけませんか?例を出していただけると有難いです。
ちなみに現在セルの横幅を指定しようと悪戦苦闘しています・・・。
0546さくさく
NGNGVBとか他の4GLとかで外部関数(DLL)インターフェースを持つ言語で作ったWinのアプリからMAPIを使用してMicrosoftのMailerから受信したMailを見たいのですが、
OutlookのMailの本文を取得するとencodeがかかったリソースのまま取得してしまいます。
MSFCのインタフェース(DLL)で、encodeタイプを指定したら2バイトコードに変換してくれるようなものってご存知ないですか?(decoder?)
ちょっと調べてみたのですが、分かりませんでした・・・
よろしくお願いしますっっっ
0547デフォルトの名無しさん
NGNGMAPI使ったことないからよく分からんけど
文字コード変換はNKF32.DLLが便利。
0548デフォルトの名無しさん
NGNGこの前といってもつい8時間前だがいつものようにエロゲーをやっていた。
そしてさてやるかと思い紙を取ろうとしたら紙がなかった。
しかたがないと妹の部屋に行ってもっらてくるかと思い。
ちょうどこの時間いつも妹は部活に行っていない。
紙は時どきもらっている。
折れは自分の息子をおっ立ててノックもしないでドアをあけた。
妹がいた。
「びっくりした、なにいきなり、ぁ」妹がいった。
たぶん「なにいきなり」と妹がいったとき
気がついたのであろう自分に向かってまっすぐ伸びた兄の息子に
折れは額から流れる汗を感じながら思った。
「なぜ泣く」
不幸は続くものだ。
その後、父親がその騒ぎに気がつき来たそして事情を知り部屋で話そうと言われた。
部屋のパソコンには某ファンディスクの画面が映し出されていた
それも画面には都合がいいようにサンタクロースのカッコをした某キャラが
それも画面の文字には「お兄ちゃん」というのが映し出されていた。
『もういいよ』
やっと今さっき20分前に両親から開放された。両親はまだ話し合っている。
もう前のようなれないと思ったそんな日のこと
0549デフォルトの名無しさん
NGNG0550デフォルトの名無しさん
NGNG正直泣いた。板違いと分かってても涙を押さえられなかった。
生きれ。生きれば良いことある。なんて思った。俺が氏のう・・・。
0551デフォルトの名無しさん
NGNGもう飽きたから止めれ。これでそれ見たの3度目だ。
0552デフォルトの名無しさん
NGNG奇遇だな。
俺も3度目だ。
そんでもって551の様なレスを見たのも3度目だ。
さらにこんなレスしてる俺も3度目だ。
0553デフォルトの名無しさん
NGNG’---------------------VBの話に戻る------------------------------
0554デフォルトの名無しさん
NGNG表示部分を、テキストボックスにして、
Private Sub Command1_Click()
Text1.Text = "Hello"
End Sub
これだとちゃんと表示します。次に、表示先をラベルにして、
Private Sub Command1_Click()
label1.Text = "Hello"
End Sub
だと、メンバーがありません、とかいうエラーになります。
なにがいけないのでしょうか。
0555デフォルトの名無しさん
NGNG0556デフォルトの名無しさん
NGNGPrivate Sub Command1_Click()
Label1.Caption = "Hello"
End Sub
にしたら動きました。
ラベルにはtextメンバがないから、代わりにCaptionメンバを使わないといけないんですね。
漏れってお茶目。
0557デフォルトの名無しさん
NGNGそうですね。今度から気をつけます。レスありがとうございます。
0559デフォルトの名無しさん
NGNG0560デフォルトの名無しさん
NGNGフルキシルグリッドはネタですか?
0561デフォルトの名無しさん
NGNG可能です。頑張ってください。
0562WebPro住人
NGNG私のつかっているルーターの設定はcgiで処理されていて
エディタで開いた時点でエイリアスを発見しました、
どうにかして仕組みを知りたいのです、どうか力を貸してください
0563デフォルトの名無しさん
NGNG可能。
専用ツールもあるけど、VBやってるなら、ヘッダ探して、切り出すのも簡単。
0564デフォルトの名無しさん
NGNGあなたの言っている意味を知りたいのです。でも力は貸さないで下さい。
0565デフォルトの名無しさん
NGNGbmpは37ビット以降に画像データが入っている
0566デフォルトの名無しさん
NGNGもうちょっとWinプログラマに分かるように言ってくれ。
>>565
(゚Д゚ )ハァ!?
0567デフォルトの名無しさん
NGNG37ビット以降って、5バイト目の途中から?(笑)
ちなみに、BMPのヘッダサイズは可変。
0569デフォルトの名無しさん
NGNGそう。色数によってパレットテーブルのサイズが変わるから。
ちゃんとオフセット値があるから、ゴミも置けるかな。
0570デフォルトの名無しさん
NGNG24bitビットマップ限定、ビットをバイトに置きなおしても違うぞ。
55バイト目以降だ。
0571デフォルトの名無しさん
NGNG指定のPictureBoxやCommandボタンの上にマウスポインタを置くと
マウスポインタが見えなくなるように出来ますか?
実行時はずっと見えないようにするのでもいいです。
0572デフォルトの名無しさん
NGNGコントロールの上なら、MousePointerで、何もないカーソルを指定。
まとめて非表示にするなら、APIの ShowCursor。
0573デフォルトの名無しさん
NGNGMousePointerに透明のアイコンを指定してもいいよ。半分ネタだけど。
0574デフォルトの名無しさん
NGNGありがとうございます。
0575デフォルトの名無しさん
NGNG誤爆?
ところでそのルーターはAirStationかね?
0576デフォルトの名無しさん
NGNGライン引いたりすることって出来るでしょうか。
0577デフォルトの名無しさん
NGNG失礼しました。
0578576,577
NGNG文字の下に描画したいんですけど、そうしたかったら画像描画したあとに、
テキストボックスの中の文字を更に上から書いてやるしかないですかね。
0579仕様書無しさん@568
NGNGん… >>565 は俺が言った訳じゃないよ。
俺はとりあえず、bitと byteを混同するほど痛くはない。(w
ドウデモイイカラ sage
0580578
NGNGSetBkMode hDC, Transparent
したあと、TextOutで上から描画したらうまいこと動いたけど、
これだと改行が入った時だめだな・・・1行毎に分割して
行数分ループして毎回TextOutするしかないかな。
なんかさっきから自己完結してばっかりな気がする。
0581仕様書無しさん@568
NGNGhDC取って、描画したあとに、文字を…か。
無事に行けるかどうかは、TextBox側の表示処理時の実装依存だね。
文字の更新の度に再描画しなきゃならんし。
PictureBoxでそれっぽくやる方が簡単かもしれんよ。
0582仕様書無しさん@568
NGNG逝ってこよ…(w
0583VBAでもいいかい
NGNG作って最初にデフォルト値を入れておきたい。
でも、テキストボックスの初期化のためにTextBox1.text = 65000 を
100行も並べないとだめなのかい?
よさげな方法を教えてくれないかい。
0584デフォルトの名無しさん
NGNGVBAでもFor〜Next使えるかい?
コントロール配列はどうだい?
TextBox100個って、クソ仕様じゃないかい?
0585デフォルトの名無しさん
NGNG(htmlファイルはIEと関連付けされています)
0586デフォルトの名無しさん
NGNGShell関数が使えるなら、Shell " (ここにフルパス)DreamWeaver.exe c:\test.html"
0588さくさく
NGNGNKF32.DLL、試してみます。
レスありがとうございました!!!
0589デフォルトの名無しさん
NGNGVB側でinsertを100回実行し実行後、
次ぎの処理でinsertしたテーブルのレコードをカウントすると70件くらいです
しばらくするとちゃんと100件になります
おそらくACCESS側で処理が完了していないうちにVBから次々とinsert文がおくられ
てるんだと思います
1回insertを行なう毎に処理が完了するまで待たせるような事はできないのでしょうか?
0590デフォルトの名無しさん
NGNG使用しているconnectionかdatabaseを同じにしなさい。
0591VBAでもいいかよ
NGNG繰り返し文を使いたいのだけど、
VBAにはコントロール配列が無いように見えるのだよ。
TextBoxにindex項目が無いのさ。
TextBox100個はクソ仕様か、やっぱり。
だれか教えてくれ。
0592デフォルトの名無しさん
NGNGエクセルならセルに値入れといてもいいと思うけど、何がしたいの?
フォーム作らないとダメなの?100個も入力するところあるのに?
0593デフォルトの名無しさん
NGNG俺もTextBox100個はクソ仕様だと思うが、
TextBoxに名前でアクセスできなかった?
たとえばMe.Controls("Text" & i)のように。
出来るならそれで使うとか、配列に入れてから使うとか。
0594デフォルトの名無しさん
NGNGここのゲームのオート化ってどうやるんですか?
0595デフォルトの名無しさん
NGNGフォルダを手で削除してゴミは残らないのでしょうか。
もしくは、他に正しい削除の仕方があるのでしょうか。
0596デフォルトの名無しさん
NGNGdim ctr as control
for each ctr in me.controls
if typename(ctr)="TextBox" then ctr.Text="65000"
Next
0597デフォルトの名無しさん
NGNGAccessのDocmdオブジェクトのメソッドは非同期実行だからズレが出るぞ。
0598デフォルトの名無しさん
NGNGconn.begintrans
conn.committrans
か
rst.updatebatch
使えばいいんじゃないの?
0599デフォルトの名無しさん
NGNG0600デフォルトの名無しさん
NGNGムリー。
0601デフォルトの名無しさん
NGNGでも不安定極まりなし!
0602デフォルトの名無しさん
NGNGIDE上では動いててもコンパイルすると動かなかったりするよね。
漏れはあきらめた。
0603VBAでもいいぜよ
NGNGme.controls
Meキーワードの不正と言われる。
VB6なら書けるのか?
0604デフォルトの名無しさん
NGNGVB側の変数の値を変更しちゃいけない。
VB側の関数を呼び出しちゃいけない。
こんな規則で使える処理って何?って感じ♪
0605デフォルトの名無しさん
NGNGVBAってMe使えたっけ?
Forms("frmMain").Controls("txtHoge").Name
とかじゃなかった?
0606デフォルトの名無しさん
NGNGレコードセットを新たに取得しないで、すぐにadLockOptimisticに変えることはできますか?
0607607
NGNGImage を使っているのですが、これを更新させるのにはどうしたら
良いのでしょうか?
Refresh メソッドはないみたいだし。
0608デフォルトの名無しさん
NGNG悪い、何かEXCELのVBAは特殊らしい。
今見たけどControlsが見当たらん。
てっきりAccessで使えるからExcelでもと思ったんだが..すまぬ
0609デフォルトの名無しさん
NGNGふむ、確かによく分からん。たしかに、Controlsが見つからん。
TextBoxはWorksheetに置いているだよね?
EXCEL2000なら最悪CallByName(Me,"TextBox" & i", vbGet)で
TextBoxを取得できるがこれより良い方法があるかもしれん。
後は詳しい人に任せる。
0610デフォルトの名無しさん
NGNGPictureBoxコントロールにAPI(TextOutなど)を用いて描画したフォントを
imageコントロールに代入できないのでしょうか?
Pictureプロパティ、imageプロパティのどちらも代入できませんでした。
API(TextOutなど)で描画したフォントは上に別のフォームが重なると、
その部分の文字が消えた状態になっています。
こういうことも関係しているのでしょうか?
0611デフォルトの名無しさん
NGNG普通、最初からOptimisticで開くと思うが。
0613デフォルトの名無しさん
NGNG--------------------------------宣言--------------------------------
Const SRCCOPY = &HCC0020 '転送先=転送元
Private Type POINTAPI
X As Long
Y As Long
End Type
Private Type RECT
Left As Long
Top As Long
Right As Long
Bottom As Long
End Type
Private Declare Function BitBlt Lib "GDI32" (ByVal hDestDC&, ByVal X&, ByVal Y&, ByVal nWidth&, ByVal nHeight&, ByVal hSrcDC&, ByVal xSrc&, ByVal ySrc&, ByVal dwRop&) As Long
Private Declare Function GetDC Lib "USER32" (ByVal hWnd&) As Long
Private Declare Function GetWindowDC Lib "USER32" (ByVal hWnd&) As Long
Private Declare Function GetForegroundWindow Lib "USER32" () As Long
Private Declare Function GetWindowRect Lib "USER32" (ByVal hWnd&, lpRect As RECT) As Long
Private Declare Function CreateCompatibleDC Lib "GDI32" (ByVal hDC&) As Long
Private Declare Function CreateCompatibleBitmap Lib "GDI32" (ByVal hDC&, ByVal nWidth&, ByVal nHeight&) As Long
Private Declare Function SelectObject Lib "GDI32" (ByVal hDC&, ByVal hObject&) As Long
Private Declare Function DeleteObject Lib "GDI32" (ByVal hObject&) As Long
Private Declare Function DeleteDC Lib "GDI32" (ByVal hDC&) As Long
Private Declare Function ReleaseDC Lib "USER32" (ByVal hWnd&, ByVal hDC&) As Long
------------------------------関数-----------------------------------------------
rc = GetWindowRect(hActiveWnd, R)
W = R.Right - R.Left
H = R.Bottom - R.Top
hSourceDC = GetWindowDC(hActiveWnd) 'フォーム全体のDC
hMemoryDC = CreateCompatibleDC(hSourceDC) 'デバイスコンテキストと同じ属性のメモリーを確保
hBMP = CreateCompatibleBitmap(hSourceDC, W, H) 'メモリー上のBMPのハンドル
rc = SelectObject(hMemoryDC, hBMP)
rc = BitBlt(hMemoryDC, 0, 0, W, H, hSourceDC, 0, 0, SRCCOPY) 'イメージをコピー
'デバイスコンテキストを開放
rc = DeleteObject(hBMP)
rc = DeleteDC(hMemoryDC)
rc = ReleaseDC(hActiveWnd, hSourceDC)
-------------------------------------------------------------------------------------------------------
俺にはコレくらいしか思いつかん。
あとはうまい事改良してくれ
0614デフォルトの名無しさん
NGNGTimer2を作って、そっちにイベントを振り分けたりした方が
良いのでしょうか?
教えて下さい。
0615デフォルトの名無しさん
NGNG0617デフォルトの名無しさん
NGNGSubステートメントとかFunctionステートメントのヘルプを見ましょう。
0618デフォルトの名無しさん
NGNG最初にDataGridで全レコードを表示して、そこから各レコードを選んで、別のフォームへ飛ばして修正
(Update)をさせたいので、最初からOptimisticにすると、DataGrid内でレコードの
改ざんできちゃう(変更される)ので、DataGrid内は閲覧のみにしたいのです。・・・。良い方法はないでしょうか?
0619デフォルトの名無しさん
NGNGキー部を引数にして新たにレコードセット開けば?
0620デフォルトの名無しさん
NGNGもちろん初心者ですよ。
0621デフォルトの名無しさん
NGNGそこは「初心者過ぎてスミマセン」と書くべきところだ。
「もちろん」では、開き直っている様に受け取られても仕方ないよ。
0622613
NGNGとりあえず関数にしてみた。>>613の宣言部の下に以下のコードを書いてくれ。
とりあえずTestはした。ちなみに
T1=TextBox
P1=PictureBoxの事だ。
Private Declare Function OpenClipboard Lib "USER32" (ByVal hWnd&) As Long
Private Declare Function EmptyClipboard Lib "USER32" () As Long
Private Declare Function SetClipboardData Lib "USER32" (ByVal wFormat&, ByVal hMem&) As Long
Private Declare Function CloseClipboard Lib "USER32" () As Long
Private Sub SetPicFromText(ByRef tHwnd As Long, ByRef pHwnd As Long)
Dim R As RECT
Dim rc As Long, H As Long, W As Long, hSourceDC As Long, hBMP As Long, hMemoryDC As Long
rc = GetWindowRect(tHwnd, R)
With R
W = .Right - .Left: H = .Bottom - .Top
End With
hSourceDC = GetWindowDC(tHwnd) 'フォーム全体のDC
hMemoryDC = CreateCompatibleDC(hSourceDC) 'デバイスコンテキストと同じ属性のメモリーを確保
hBMP = CreateCompatibleBitmap(hSourceDC, W, H) 'メモリー上のBMPのハンドル
rc = SelectObject(hMemoryDC, hBMP)
rc = BitBlt(hMemoryDC, 0, 0, W, H, hSourceDC, 0, 0, SRCCOPY) 'イメージをコピー
rc = OpenClipboard(Me.hWnd) 'クリップボードをオープン
rc = EmptyClipboard(): rc = SetClipboardData(2, hBMP) 'BMPをクリップボードへ
rc = CloseClipboard()
'デバイスコンテキストを開放
call DeleteObject(hBMP):call DeleteDC(hMemoryDC): call ReleaseDC(tHwnd, hSourceDC)
End Sub
Private Sub Form_Load()
P1.AutoSize = True : P1.AutoRedraw = True
End Sub
Private Sub T1_LostFocus()
Call SetPicFromText(T1.hWnd, P1.hWnd): P1.Picture = Clipboard.GetData(2): P1.Refresh
End Sub
0623デフォルトの名無しさん
NGNGスクロール位置を取得、設定する事ってできますか?
何行分スクロールアウトしてるか取得したり、
逆に何行分スクロールアウトさせるか設定して勝手にスクロールバーを動かしたり。
0624デフォルトの名無しさん
NGNGとして
app.exeに
A=変数
Msgbox(A&"です")
と書いた場合、Msgboxに「Aです」とでてくる。。。
「変数です」と表示させたいのだが、、、どうしたら??
(もちろん"変数"というのは変数のこと。"変数"という文字列ではない)
0625デフォルトの名無しさん
NGNG×A&
○A &
灰、次の人
0626624
NGNG正しくは
Call shell("app.exe 変数")
として
app.exeに
A=command()
Msgbox(A &"です")
と書いた場合、Msgboxに「Aです」とでてくる。。。
"変数"は文字列である("変数"という文字ではない。。。)
ご指導お願いします
0627VBAはくそかい
NGNGVBやVBAでTextBoxをたくさん使うのは、良くないということね!
0628デフォルトの名無しさん
NGNGAPIを使う。
>何行分スクロールアウトしてるか取得したり、
Call SendMessage(Text1.hWnd, &HCE&, LineScrollNumber, 0&)の返り値が
表示先頭行だから、これから計算。
>何行分スクロールアウトさせるか設定して勝手にスクロールバーを動かしたり。
Call SendMessage(Text1.hWnd, &HB6&, 行数, 0&)で指定行数だけスクロールできる。
>>626
引数を渡してるのだから、自分でわかってるはず。
渡された場合は、たしかにCommand関数を使うけど。
0629デフォルトの名無しさん
NGNG×Call shell("app.exe 変数")
○Call shell("app.exe " & 変数)
灰、次の人
0630EXCELVBAは糞
NGNGそだね。セルがいちばんかも
0631デフォルトの名無しさん
NGNGコントロールのムダ使いだからね。
コードも増えるし。
自分だったら、TextBox1個をクリックされた位置に動かす。
表示はラベルか、Formに直接描く(笑)。ちゃんと立体的に。
0633デフォルトの名無しさん
NGNGTimerイベントが長くなったのは、Private Sub なんたら()でいくつかに
分けてCallで呼ぶようにしてみました。
うまくいったのですが、Picture.DrawWithが実行されなくなっちゃった。
まあいいか。
0634デフォルトの名無しさん
NGNG何か表現のある線にすることはできますか?
例えば、ぼやけた線であったり、透明感のある線であったりなど・・・。
0635デフォルトの名無しさん
NGNGペン変えろやホゲェ
0636デフォルトの名無しさん
NGNGVBのLineも使えないくせに、LineTo使って、
くだらない質問ばかり繰り返すな!
小学生に聞いてこい!
0637デフォルトの名無しさん
NGNGクソスレあげんなホゲェ
0638デフォルトの名無しさん
NGNG変数名がそのまま文字列として扱われることは
ありえないので何かが間違ってる。
>>627
ま、使い方の問題っつーことで。
VBAは言語としては糞だがマクロとしては
よく出来てると思う。
俺も最初ExcelVBAやった時同じこと思ったケドナー
>>634
要するにアルファブレンドしたいんだよな?
線でアルファブレンドできる関数は基本的にないので
自前で計算すれ。
0639626
NGNGやってみたら、「ファイルが見つかりません」っていわれた。。
一応ソースをUPしとく。
http://isweb28.infoseek.co.jp/art/tokorosa/test.zip
実行ファイルはウイルスチェック済みだけど、怖かったら「logoff」と「シャットダウン」からexeを作ってください。
ちなみにこの二つは、さっきの例でいうと"app.exe"に値します。
よろしくお願いします
0640困ってます。
NGNG次に開こうと思ってパスワードを入れて開こうとすると、
ページ違反でexelが異常終了します。
バックアップとって無いので、どうにかして、ソースだけでも、
見れるようにしたいのですが、どうしたら良いでしょうか?
0641デフォルトの名無しさん
NGNGソースは、まめに保存すること。これが鉄則。
それと操作関係はビジネスSoft板のExcelスレで質問してね。
0642デフォルトの名無しさん
NGNGhttp://www.wotsit.org/
ここにxlsのファイルフォーマットが載ってる。(英語)
まあ、見れるようならセキュリティーホールなんだがw
0643デフォルトの名無しさん
NGNGソースがムチャクチャ。
バグ取りは、パーツに分解して確認。
パーツでわからなかったら質問。
ソース丸投げしたら、あかん。
0644デフォルトの名無しさん
NGNGアンタも酔狂な人やねw
0645デフォルトの名無しさん
NGNG( ´Д`) ・・・・・・・。
/⌒ ヽ
/| | /|. |
/ | | /, |. |
/ | | ./ .|. |
( | | ∧_∧
\ | |( ´Д`)_ ・・・・・・・・。
ヽ\) \)
/ /| | /|. |
/ / / | | /, |. |
/ /. / | | ./ .|. |
/ |( | | ∧_∧
uuuU゙゙ \ | |( ´Д`)_ ・・・・・・・・。
ヽ\) \)
/ /| | /|. |
/ / / | | /, |. |
/ /. / | | ./ .|. |
/ | ( ∪ \ ∪
uuuU゙゙ \ \ \
) ) )
/ //
/ //
(__つつ
0646デフォルトの名無しさん
NGNG宣言されていない変数が、大量にあるのが…すごく気になる。
今のうちに変な癖は直した方が良いぞ。
>「ファイルが見つかりません」
そりゃそうだろうな。
Exe名のあとに、区切りが無いじゃん。
半角スペース入れろって。
# >>629 じゃ、入ってるのが解るよね?
Shell関数呼んだときに、変数の中身まで含めてExeだとおもってるってわけさ。
0647デフォルトの名無しさん
NGNGうぉ、こんなところに俺がモナ板で書いたAAが張ってあるw
ビックラこいた。
激しくスレ違いレススマソ
0648プログラム歴2週間
NGNG別にVBを使わなくてもいいんですが・・
0649デフォルトの名無しさん
NGNGFFFTP で、拡張子によって、あらかじめパミションをふりわける機能あるよね。
0650デフォルトの名無しさん
NGNG自鯖か社内鯖?
>>649
それは便利。
0653プログラム歴2週間
NGNG0654506
NGNGオブジェクト無いぞゴルァ!ってエラー?
0656デフォルトの名無しさん
NGNGうん。
0657655
NGNGそうですか、じゃぁforでプログラム書きます。
0658デフォルトの名無しさん
NGNG128等身スレですか?
0659デフォルトの名無しさん
NGNG質問者じゃないけど。動いた。汎用的で、すごく参考になった。
でも、610の質問内容とは違うような。
610は、AutoReDrawか、Refreshか、DeleteDCのやり忘れのような。
0660デフォルトの名無しさん
NGNGIf Text1.Text = "secret" Then
Form2.Show 1
End
Else
MsgBox ("パスワードが違います"), , "確認"
End
End If
というのを組みました。
ですが上記のモノだとパスワードを入力する所が表示された状態で
別のフォームが出てきます。
パスワードの入力が合っていたら入力フォームを消して新しいフォームを
出すにはどうすればよいのでしょうか?
0661デフォルトの名無しさん
NGNG上のコードだと、パスが違っていてもフォームを強制終了してる。
だから、2番目のEndを消してみたら?
しかし、上のコード、どのプロシージャに書いてるのかな。
それと、1番目もEndではなく、Unload Me を使え。
0662デフォルトの名無しさん
NGNGかってに補足。
Showの引数も1じゃなくvbModalと書け。
0663認めたくないものだな…若さ故の過ちとは…
NGNGvbModalじゃなくても1でいいじゃん
0664デフォルトの名無しさん
NGNG慣れないうちは数字を使いたくなる。それはよくわかる。
しかし、少しずつVB定数に慣れたほうがいいよ。
VB定数のほうが日数が経っても可読性がいいから。
0665デフォルトの名無しさん
NGNG煽りか? 初心者か? 馬鹿か?
1って書いたらvbModalかvbModelessか分からんじゃないか。
0666デフォルトの名無しさん
NGNGいずれ定数使った方が分かりやすいって自分で気づくよ。
なるべく自分で分かった方が納得できるしね。
0667デフォルトの名無しさん
NGNGつーか、俺が1じゃわからんのよ。実際に実行して調べたし。
それとも俺が馬鹿か?
0668デフォルトの名無しさん
NGNGだいたいデフォルト値は 0じゃない?
そう言えば、MousePointer = VBNormal って
繰り返し書いてた上級者がいた(笑)。
0670デフォルトの名無しさん
NGNG0ってなによ? 省略時の動きがどうなるのかなぞ覚えていない。
上級者じゃないが初心者でもないが、
何回言ってもMousePointer = 11って書くやつがいた。
(あぁ11がなにか覚えちゃってるよ。鬱)
0671デフォルトの名無しさん
NGNG最初のうちは、11って書いてたよ(笑)。
HourGlass って日常的な英語じゃないからね。日本人には。
0672デフォルトの名無しさん
NGNG0〜7の8個の数字を並べ替えてできる数字の組合せのうち、
頭が『0』で始まらない数字を全てテキストファイルに書き出す問題出されたんですが、
書き込み方は分かるのですが、並び替え方がさっぱり分かりません。
どのようなアルゴリズムを考えればいいのでしょうか?
お分かりになる方、すいませんが教えて下さい。
0673デフォルトの名無しさん
NGNGShell Path & FilePath, vbNormalFocus
が
Shell Path & " " & FilePath, vbNormalFocus
である事が過去ログ見たらわかってヨカッター
ミンなきもち。
0674デフォルトの名無しさん
NGNGサイズ的に考えると、重複しないで使うわけね。
重複する組み合わせなら、簡単でしょ?
ポイントは、一度使われた数字を使わないように
どうやってチェックするかだと思うけど、
いろんなやり方があるなあ。
0675デフォルトの名無しさん
NGNGShell """" & Path & """ """ & FilePath & """", vbNormalFocus
こうしてないとそのうち引っかかるよ。
最初っからPathとFilePathにダブルクォーテーションが
含まれているなら別だが。
0676672
NGNGそうです。同じ数字は使わないでという事です。
重複できるなら、forを8個入れ子にして出来そうですが、
重複しないとなると、今の自分にはさっぱり分かりません。
できれば、1つだけでもお教え下さい。
0677デフォルトの名無しさん
NGNG出題されたって事はさ。
他人に聞いて答え出すんじゃなくて、自分で考えろってことじゃ無いの?
色々思いついたままに組んでみて、うまくいかなければやり直せば良し。
本当に何も思いつかないわけ?
面倒なだけだろ?
頭悪いコード:
8桁全部そろった段階で、IF文で8個のループカウンタを全部判定。
if (A=B) or (A=C) or (A=D) or (A=E) or (A=F) or (A=G) or (A=H) or (B=C) or (B=D) or .....
'書き込まずに抜ける
else
'書き込む
end if
このコードは良くない例だ。
まぁ初心者はこれでも動けば良い方だと思うけども。
0678むなし(笑)
NGNGフラグを8個用意して、未使用の数字を先頭から探して、
最初に見つかったのを各ループで使うようにすれば?
再帰処理にすれば、優もらえるかな。
0679672
NGNGお恥ずかしい話、これでも3日考えたんですけど、ずーと01234567から+1ずつ加算していって
なんとかならないかと思ってました。
でもさっき、674さんにレスもらった時に初めて0〜7をループすればいいと思いつきました、、、
1人で考えすぎて、やっぱりテンパってたようです。
教えて頂いた良くない例で1度コード書いてもっといいの考えてみます。
>>678さん
ありがとうございます。
でも、自分の頭足らずで、フラグは分かるのですが、未使用の数字をループで使うと
どううまくいくのか、今の時点ではチンプンカンプンです。
再起処理も分かってないので、677さんの例をコーディングしてみた後に、
よーく考えてみます。
ありがとうございました。
0680デフォルトの名無しさん
NGNG再帰だね
0681デフォルトの名無しさん
NGNGまず思いつくのは、8重ループの一番内側でIf文を並べる解法かな。
しかし、これは遅い。
各ループに入ったらすぐ重複をチェックしたほうがずっと速い。
これが出来たら、フラグ法とか、コレクション法とか、順番に説明するよ。
0682デフォルトの名無しさん
NGNG0683初心者
NGNGファイルから文字列を読み込み、テキストボックスに表示する際、
タブは半角8個分の幅になりますが、これを半角4個分にすることは可能ですか?
0684490
NGNGそうです。VB触るの初めてで勝手がわからんかったです。
でもイロイロ調べてく内に、望んだ処理をするようになったので解決です。
質問に答えてくださった方々、ありがとうございました。
0685デフォルトの名無しさん
NGNG参考書は CreateObject("Excel.Application") でエクセルを起動させているんですが
"Excel.Application" の部分はどうやって取得するんですか?
レジストリに情報があるんでしょうけど取得するツールとか有るんですか?
例えばメディアプレーヤーを起動させるには何て書けばいいですか?
なお自分はVBは持っていません。VBScriptの勉強をしています。
そこらへんも踏まえて教えてください。
(プログラミング自体は他の言語で経験あり)
0686デフォルトの名無しさん
NGNG> (プログラミング自体は他の言語で経験あり)
その言語がHSPとか言った日にゃあ(以下略
0687デフォルトの名無しさん
NGNGようにするにはどうすればいいのでしょうか?
0688デフォルトの名無しさん
NGNGHSPならまだいいがHTMLとかかもしれないよ
0689デフォルトの名無しさん
NGNGCASLだよ、きっと。
0690回答してみちゃったりする初心者
NGNGやったこと無いケド。
・画面サイズ(解像度)取っとく。
http://homepage2.nifty.com/inform/vbmania/source/screensize.htm
・リサイズと移動と両方で 自分の位置&幅&高さ を監視する。
・画面サイズと自分の位置の差がある一定より小さくなれば
・ぴたっとくっついた位置に移動させる。
って感じでイケそうだと思うんだけど。。。
0691デフォルトの名無しさん
NGNG0692デフォルトの名無しさん
NGNGここにありますよ
http://www.borland.co.jp/delphi/personal/
0693デフォルトの名無しさん
NGNGVBは全くわからないのです。
DelphiでVBのプロジェクトファイル開けましたっけ?
0694デフォルトの名無しさん
NGNGエラーはないけどい開けない。
つーか変な形で開かれる
0695デフォルトの名無しさん
NGNGンマンです。
0から10億までの数字を、ある条件に見合うかどうか検証させる
オモチャを作っているのですが、さすがに10億回もループさせよ
うとすると固まってしまいます。10万回くらいが限界のようです。
んで、そんなときには「スレッドを使えばよい」という話をちらっ
と小耳に挟んだのですが、そのスレッドとやらが何なのか、どうや
って使うのかがとんとわかりませぬ。心優しき御仁、ぜひご教授く
ださいませ。オラどうしてもフリーザを倒したいんです(泣)
0696デフォルトの名無しさん
NGNGフリーザを倒したいなら戦闘力10万くらいはないとな〜
0697デフォルトの名無しさん
NGNG10億回だろーが10兆回だろーがハングしない。
DoeventとSleep(API)使へ。
スレッドはどうせVBからじゃあ使う機会無いんで
もうちょっと勉強してからにすれ。
0698デフォルトの名無しさん
NGNG>ファイルから文字列を読み込み、テキストボックスに表示する際、
>タブは半角8個分の幅になりますが、これを半角4個分にすることは可能ですか?
たぶん出来ない。windowsの定義済みコントロールクラスの仕様だから。
RichTextBoxならたぶん出来る。
0699デフォルトの名無しさん
NGNG嘘はイカンぞ
replace(str,vbtab,space(4))でできる
0700デフォルトの名無しさん
NGNGで、何がしたいんだ
0701デフォルトの名無しさん
NGNGSendMessageでEM_SETTABSTOPS使へ。
使い方はMSDN見れ。
0703デフォルトの名無しさん
NGNGあー、開けないんですか。
デルファイは別になくてもいいんです。
評価版はないという事ですか?
0704デフォルトの名無しさん
NGNG10234567から76543210までループを回して
各桁の数字の合計が28になるものを全部書き出す、
というのではどうか。
0705デフォルトの名無しさん
NGNG0706704
NGNG頭から各数字の出現回数をカウントして、2回出現した数字があったらNG。
もちろん8,9があってもNG。で、全部OKだったら出力、に訂正。
0707695
NGNG自分は672とは別人ですが、作っていたものは
ほぼ704が述べてる通りのものです。偶然だけど。
0708672
NGNG>>677さんに教えて頂いたループの一番内側でIf文を書いたら、
>>679さんのおっしゃる通り、確かにウチのPCでは192秒も掛かりました。
だもんで、各ループに入って直ぐIf文で重複チェックに変え、
orを使わず条件を分けたりして、今の所、>>709のようにCase Select使って5.57秒になりました。
これでもまだ無駄が多い様な気がしますが、とにかく動きました。
ありがとうございます。
>>704さん
+1ずつ加算していく方法の参考になりました。ありがとうございます。
でも、ちょっと頭で考えただけでも0〜7のループより時間掛かりそうなので、
今回の自分のには合わなそうですね。
0709672
NGNGDim i, j, k, l, m, n, o, p As Integer 'ループ用カウンタ
For i = 0 To 7
For j = 0 To 7
Select Case j
Case i
Case Else
For k = 0 To 7
Select Case k
Case i
Case j
Case Else
For l = 0 To 7
Select Case l
Case i
Case j
Case k
Case Else
For m = 0 To 7
Select Case m
Case i
Case j
Case k
Case l
Case Else
For n = 0 To 7
Select Case n
Case i
Case j
Case k
Case l
Case m
Case Else
0710672
NGNGSelect Case o
Case i
Case j
Case k
Case l
Case m
Case n
Case Else
For p = 0 To 7
Select Case p
Case i
Case j
Case k
Case l
Case m
Case n
Case o
Case Else
sData = Format(i) & Format(j) & Format(k) _
& Format(l) & Format(m) & Format(n) _
& Format(o) & Format(p)
Print #FileNumber, sData
End Select
Next p
End Select
Next o
End Select
Next n
End Select
Next m
End Select
Next l
End Select
Next k
End Select
Next j
Next i
0712デフォルトの名無しさん
NGNGIf〜で、And条件を列挙しても、意外と高速だった。
If-2ではElseを使って条件判定を分解したら、
EXEにすると所要時間は同じになった。最適化?
(ループ変数を0〜7→48〜55、CStr→Chrにしてもほとんど同じ。)
配列フラグでは、Ifより遅くなった。
"01234567"から使った文字を次々と除いていくのが一番速かったが、
Ifはわかりやすいし、速度的に大差ないから、Ifでいいと思う。
方法 IDE EXE 単位は秒 (ファイル保存時間含む)
------------------------------------
If-1 2.6 1.6 If And の列挙
If-2 2.3 1.6 If Else
Flg 3.8 3.2 配列フラグ
Mid 1.3 1.0 選択除去法
ちなみに、マシンは遅い。
0713デフォルトの名無しさん
NGNGどうすればいいんでしょうか。
縦スクロール位置はSendMessageでTextBoxにEM_GETFIRSTVISIBLELINE送ったら
何行スクロールアウトしてるか取得できたんですが、
横はどうやって取得したらいいのか分かりません。
(横の場合は行という概念がないからドット数?取得できればいいんですが)
0714すまんが
NGNGF1キーを押しても「ヘルプが表示されません」って奴の、
原因か解決策書いてあったところ何処だっけ?
前に見たんだけどなー
環境再構築したら出なくなってしまったよ。(困;
MSDN入れてるか?というべたべたなのは勘弁してね(w
0715デフォルトの名無しさん
NGNGからかわれただけよ。CCEの情報はここ。
http://www.int21.co.jp/pcdn/activex/actxvb5.html
>>704
6630万回のループをしろと?
それは質問者が最初に考えたよ。
0〜7に限定した、183万回のループでも時間がかかるのに。
ループの外側で判断すれば、3万5280回ですむ。
0716デフォルトの名無しさん
NGNGCase i, j, k, l のように書いても、If文みたいに全部評価したりしないから、
速いし、見やすいと思う。
それと、書式を指定しないのに、Format()を使うのは無意味。
CStr()で数値→文字変換できる。
0717デフォルトの名無しさん
NGNGEM_GETTHUMB = &HBE でスクロールバーの位置が取得できるみたい。
使ったことないけど。
0718713
NGNGあ、それはもうやってみたんですけど、ダメだったです。
というか、使い方がイマイチよくわからない。
0719713
NGNG0720デフォルトの名無しさん
NGNGwParam と lParam で、値を受け取るみたい。
ちなみに、水平方向はドット単位じゃなくて、桁数。
0721720
NGNG垂直スクロール M_SCROLL
wParam:0〜3、lParam:0
任意のスクロール EM_LINESCROLL
wParam:桁数、lParam:行数
0722672
NGNG>>716さん
コード(>>709,710)を見て頂いてありがとうございます。
○○の一つ覚えで、なんでもかんでもFormat()使ってました。
Cstr()に書き直します。
>>715さん
183万回とか3万5280回とかよく直ぐに分かるんですね。感心します。
明日は、ループ回数を数える機能を、今日作ったのに追加してみて、
3万5280回以上の無駄なループしていないかチェックしてみます。
>>712さん
いろいろサンプル作って評価してもらったみたいで、本当にありがとうございます。
今度、選択除去法を勉強してみます。
ちなみに>>712さんが時間計測した表の方法欄に『Mid』と書いてありますが、
Mid関数使う訳ではないんですよね?
みなさんいろいろご親切にありがとうございます。
0723デフォルトの名無しさん
NGNGMSDNひけや。wParam, lParam は0にしろと書いてある。
ってか、「縦スクロールバー」の位置が得られるって思いっきり書いてあるぞ。
横スクロールバーの位置が知りたかったら、まずEM_CHARFROMPOSで
(0, 0) の位置の文字インデックスを調べる。wParam, lParam 両方0でOK。
これで、一番左上に表示されている文字が「先頭から何文字目か」と「何行目か」
がわかる。次にEM_LINEINDEXを送ると(wParamに行番号、lParamは0)
その行の先頭が何文字目かわかるから、後は引き算すれば何文字スクロール
しているかわかる。うわ、すげえ面倒臭え。
0724712=715
NGNG7*8*8*8*8*8*8 = 1,835,008
7*7*6*5*4*3*2 = 35,280
"01234567"から使った文字を次々と除いていくのに、LeftとMidを使う。
それにしても、結果を strBuf = strBuf & 〜 & vbCrLf とかしなくてよかったね。
これやったら、30分以上かかる(笑)。
0725デフォルトの名無しさん
NGNGそれだと正確なドット数の取得はできないですよね?
縦のスクロールだと1行1行きっかりスクロールアウトしていくから、
行が分かればドット数も分かるけど、
横のスクロールだと1ドット単位でスクロールアウトしていくから、
桁数が分かっても正確に何ドットぶんスクロールアウトしてるか分からないと・・。
0726デフォルトの名無しさん
NGNGTextBoxは仕様上、桁単位みたいよ。
ドット単位という根拠は?
0727デフォルトの名無しさん
NGNGスクロールアウトさせられるんで勝手にそう思ったです。
テキストのスクロールアウト量に従って描画処理するんで、
ズレが生じるとだめなんですわ。
桁数から何ドットぶんスクロールアウトされてるか取得できるのかな・・
まぁやってみます。
0728デフォルトの名無しさん
NGNGドット数っていうかスクロールバーの最小スクロール単位でいいんだったら、
そのまんま GetScrollPos(hwnd, SB_HORZ) でいけると思われ。
0730デフォルトの名無しさん
NGNGDataGridに表示したレコードセットのデータを、マウスからのクリックなどで
いじれないようにロックすることはできますか?
0731デフォルトの名無しさん
NGNG>Dim i, j, k, l, m, n, o, p As Integer 'ループ用カウンタ
これでは、i-oまでは全て Variantだ。
pしか integer宣言されていないぞ。
面倒でも、全部に As Integerを書くべし。
0732デフォルトの名無しさん
NGNGUpdateプロパティをEnabledにすればいい。
0733デフォルトの名無しさん
NGNGVBだけしかできないプログラマーは逝った方がいいと思いますか?
ここの板読んでて自信なくなってきた…
Windowsで業務アプリだけを作るっていうなら、VBプログラマでもいい?
0734デフォルトの名無しさん
NGNG特定言語を叩く奴は他の特定言語しかできない厨房。
普通は目的にあわせて使い分ける。会社からやれって言われりゃ
どの言語でもやるのが職業プログラマー。
俺は今のとこVB、VC++、MASM、Javaぐらいしか使えんが、
趣味でやるのはVB。欠点も多いが利点も多い。
というわけで、業務アプリを気軽に作りたいならVBで十分なり。
0735追記
NGNGこんな事は分かってる奴は誰でも分かってる。いちいち気にすな。
0736733
NGNGたまに来てもPerlとPHPという自分は気にしなくていいってことですね。
VBには絶対の自信がありますので…ありがとうございます。
でも、覚えておいて損はないだろうから、少しずつ勉強して行きます。
0737デフォルトの名無しさん
NGNG俺は VB/C/C++/Perl/PHP 使いだが…
VBは使いこなせばそれなりに便利なツールだし、パワーもそこそこある。
が、知識がVBだけじゃ、VBを本当に使いこなす事は出来ないと思う。
> VBだけしかできないプログラマーは逝った方がいいと思いますか?
仕事で VBしかしない場合でも、 Privateで Cでも触れば理解度に差が出る。
API が抵抗なく普通に呼べるレベルなら、VBはほぼ問題ない。
で、そうなれば、C(SDK)が使えるようになるまではあと一歩つーところだ。
すなわち「VBしか使えない」人間は、VBを使いこなしてるとは言い切れないと思う。
0738733
NGNG自分のスキルはどれくらいかわからないですが、
マルチスレッドやシステムフック(CallBackProcやMessageの概要は理解してます)
位なら抵抗無く出来ます。
Cもちょこっとはかじりました。
ポインタのポインタ位ならなんとか理解してます。
でもVC++にとっつけないんです。
Perlはわかりますんで、構文になじめないとかいう話じゃないと思うんです。
覚えようとするパワーが足りないだけかもしれないけど…
0739デフォルトの名無しさん
NGNG>>738
>マルチスレッドやシステムフック
これ、VBだけで出来るのか?俺は出来ないが。
やり方教えてくれると嬉しい。
0740734
NGNG0742デフォルトの名無しさん
NGNGできればデザイン時に。
0743733
NGNGできます。マルチスレッドは
CreateThread、ExitThread、GetExitCodeThread
を使うと出来ます。
CreateThreadで AddressOfを使用して、CallBackProcのポインタを渡してやります。
結果、CallBackProcが呼び出されることになります。
でも、VBのフォームにアクセスしたりするとすぐに強制終了で使えませんが…(w
しかも、IDE環境だとうまくいかないし…
システムフックは、
SetDefMouseProc、SetDefKeyboardProcでフックするんですけど、
これらの関数は、SetWindowsHookExから呼び出さなくてはいけないんです。
でも、SetWindowsHookExはSystemHook.dllの関数で、普通にSystemHook.dllから呼び出せないので、
LoadLibraryExを使用してメモリ上に読み込んでハンドルを取得しないといけないんです…
ちょっとややこしいですね。
0744737
NGNG…VBだけじゃもったいなくないかい?(w
俺も VC++はじつは使えんのよ。
ツールとして強力なのはわかるんだが、使いづらくてね。
C/C++はBCCで弄って FreeSoftは出してるけど、仕事ではもっぱら VB+RDBMS。(w
> システムフックは、
単に SetWindowsHookExを呼ぶと、自Threadしかフック出来ないよね。
# これはこれで使えるんだけど。
SystemHook.dll…は、MSDNじゃでてこんのだけど、Cとかで作る標準DLLのこと?
0745734
NGNGマルチスレッドはVB5の話?
VB6からはCreateThreadで作ったVBのスレッドは
必ず落ちるんで使いもんにならんのよ。
>SystemHook.dll
これがさっぱり分かんない。Windowsについてないみたいだけど。
自作のDLLならVBだけじゃなくなるしなあ。
>>744
>…VBだけじゃもったいなくないかい?(w
まじめにVBやってる奴には普通のことだと思われ。メッタニイナイケドナー
0746デフォルトの名無しさん
NGNGお答えありがとうございます。
でも、コードの記述の仕方がわかりません・・・
DataGrid1. の次にUpdateがでないし、いろいろ記述してみましたがわかりません。どう記述すればよいですか?
0747デフォルトの名無しさん
NGNGあ、できました!
DataGrid1.Enabled = False ですね。
でも、そうするとデータグリッド内をクリックもできなく、スクロールも
できなくなりますね・・・。
レコードの改ざんのみを制御することはできるのでしょうか?
よろしければ、教えてください。
0750733
NGNGすいません(恥
NET上で公開されている(?)DLLのようです。
いつのまにかPCに入っていたのでそのまま使ってました。
>>734
VB6でマルチスレッドの落ちる確率は、100%ではないですよ。
まぁ75%くらいだとは思うけど(W
>>746
AllowUpdateプロパティです。
0751デフォルトの名無しさん
NGNGどっかに説明あるかな。実験してみたいんだけど、
なんかマルチスレッドのコードがめんどくさそう。
どっかにサンプルないかな。
0752734
NGNG>VB6でマルチスレッドの落ちる確率は、100%ではないですよ。
exeにしても?75%てのは時間じゃないよな?
25%はずっと動き続けるんだよな?
ふーむ。出来たらサンプルほしいんだけど無理?
どっかに同じサンプルを置いてるHPがあるなら
それでもいいんだけど。
0753新参者
NGNGWindows2000だとセットアップできないそうなんです。
なので、exeファイルだけ取り出してあげたら、起動できないそうなんです。
原因が全くわからないので教えてください。できれば対処法も。
0755デフォルトの名無しさん
NGNGどーいうプログラムかわからんからアレだが、
単純にランタイムが入って無いだけじゃねーの?
Vectorあたりでランタイム拾って入れれ。
0756デフォルトの名無しさん
NGNG0757超初心者
NGNGfor i=0 to n
F(i)=function( )
next i
とするしかないですか?
これだと、何度もfunction( )を呼び出さないといけないので、
一発で、call文か何かで、main文で指定した配列名の中に
戻り値が入って帰って来るような方法は無いですか?
0758デフォルトの名無しさん
NGNGDim ret As XXXXX
ret = function()
For i = 0 To n
F(i) = ret
Next i
ってこと?
0759737
NGNGこれでも使うがよろし。
http://www.netlaputa.ne.jp/~stadt/vb/p13/tooltip.htm
他のがほしけりゃここへ逝くべし。
http://www.google.co.jp/search?q=%95%A1%90%94%8Ds+tooltip&hl=ja&lr=
検索ぐらいすれ。
>>750
なんかのソフトに付いてたやつを、ドキュメントなしで使ってるって訳ね。
それだけ出来れば、仕事は定時であげて自分でソフトでも出すほうが面白いかもよ。
マルチスレッドは、VB.Netのフリースレッド待ちだな、俺は。(w
>>745
> まじめにVBやってる奴には...
悲しいぐらいめったに居ないね。(w
0760超初心者
NGNGすみません。説明足らずでした。
Dim W(n) As XXXXX
DIm F(n) As XXXXX
For i=o to n
F(i)=function(W( ))
Next i
とすれば、W(i)を引き数として処理をした結果がF(i)に入れられますが、
もし、戻り値を、値でなく、配列で返せたらベストなのです。
0762デフォルトの名無しさん
NGNG配列は引数で渡した方がいいと思うけど、
Private Function fncHoge() As Byte()'←この括弧がミソ
Dim abytHage() As Byte
.....
fncHoge = abytHage()
End Sub
Sub Main()
....
F()=fucHoge()
って感じでできるよ。
0763デフォルトの名無しさん
NGNG何がしたいのかわからんが、
Private Sub Form_Load()
Dim F() As Long
Call farr(F())
End Sub
Sub farr(arr() As Long)
Dim a
Dim i As Long
a = Array(0, 1, 2, 3, 4, 5)
ReDim arr(UBound(a))
For i = 0 To UBound(arr)
arr(i) = a(i)
Next
End Sub
もしくは
ret=function( )
for i=0 to n
F(i)=ret
next i
0764760
NGNG括弧の点はどのキーなのでしょうか?
ど素人ですみません。
0766734
NGNG「VBのスキルが高い」と言うのは実は「VBでスキルを高める奴が少ないので
相対的にスキルが高く見える」ことが多いことに気づいてほしい。
VBで大抵のことが出来るようになるにはVBの裏技的なことをしなきゃいけないんだけど、
他の言語ではそんなスキルは意味がないことがほとんど。
さらにWindowsはCで開発することを前提にして作られてるので、VC++で作る方が
自然であり、Windowsが提供していることはVC++ならすべて使えるように作られている。
高度なWindowsアプリを作るならVBを極めるよりもVC++を極める方が自然で楽。
だからVBでスキルのある奴が少ない。
VBに自信を持つのはいいことなのだが、以上のことをふまえて頑張ってほしいな、と思う。
長文スマソね。昔の俺は何にも知らないくせに「VBなら負けないぜ!」とか思ってたから、
つい老婆心が。
0767760
NGNG本当にありがとうございます。
前半のやり方をやってみます。
0768デフォルトの名無しさん
NGNGVBでスキルが高いというのはAPI駆使したり、メモリを直接いじったり
することなのか?
俺的にはVBでスキルが高いというのはクラスモジュールやImplementsや
ActiveXを使いこなすことなんだが。
あと、ちゃんとした設計をするとか、デザインパターンを適用するとか
vbUnitによるユニットテストを行うとか。
こんなのは、裏技でもなんでもないしVB以外でも通用する。
俺はVBをまじめにやっているし、それなりにスキルもあるつもりなんだが
APIはほとんど使っていない。それにAPIを使用しなくても不自由はしない。
APIを使ってVB特有な裏技的なことをするのがスキルが高いとは思わないし、
それよりも準オブジェクト指向言語の一つであるVBという言語
(言語としてみれば他のオブジェクト指向言語とそんなに差は無い)
を使いこなすのがスキルが高いと思っているのだが間違っているだろうか?
0770768
NGNGいや、そんなに間違っていないと思う。
というのは、ほとんどの人の「VBのスキルが高い」ってのは
APIを駆使したり、そうしたことになっていると思うから。
でも俺的にはVBで他の言語と同じ事をするために要する技術は
どの言語でも同じレベルであって高いとみなしてないんだよね。
VBでやるのが難しすぎるのであればVB使わないし。
0771733
NGNGすいません。どこでお勉強したのかわからなくなっちゃって。
確かクラスになっているものが結構安定していたと思います。
>>734
自分が知っている言語の中では、VBだけは絶対の自信を持っている。という意味でした。
APIが利用できるかどうか。というのは、自分もVBのスキルには直結していないと思ってます。
NETで調べればサンプルコードなんていっぱい手に入るしね。
>>766の言う、クラスやImplementsも理解して使ってるつもりだし、
ActiveXDLLを作って、よく使うAPIをカプセル化して業務アプリに組み込んだりもしてます。
>高度なWindowsアプリを作るならVBを極めるよりもVC++を極める方が自然で楽。
これはよくわかるし、人から「VBでやる必要ない」と言われる理由だと思います。
でも、業務アプリを作る上で、Windows上の高度な機能って使いますか?
ユーザのわがままで、ListViewに2つチェックボックスがほしいとか、
マウスのホイールでスクロールしたいとか、それくらいだと思います。
俺の中で「高度なWindowsアプリ」って言うのは、デバイスとか扱うくらいなんだけど…
そんなソフトなら、俺だってVBで作ろうとはしませんよ。
2chでマジレスしてスマソ
0772デフォルトの名無しさん
NGNG~~~~~~~~~~
0773734
NGNG結構楽しかったっす。たまにはこういう議論もしたいなあ。
答えるだけってのもイマイチだし。
追記:今PhotoShopみたいなんをVBで作ってるんで
そんなん見かけたら「あ、あいつだな」とか
思ってくれると嬉しい。では。
0774733
NGNG荒らすような真似してスマソでした。
0775デフォルトの名無しさん
NGNG'_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/再開_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
0776デフォルトの名無しさん
NGNG戻り値を必要としない場合に関数を呼ぶ場合、
Call 関数名(引数1, 引数2,)
って感じに呼ぶのと、
関数名 引数1, 引数2
って呼ぶの、どう違うんですか?
0777訂正
NGNG↓
Call 関数名(引数1, 引数2)
0778デフォルトの名無しさん
NGNG>>729
実験してみたら、ちゃんと取れたよ。
>>731
あらかじめ DefInt i-p しておくという手もある。
素人にも玄人にもおすすめできないけど。
0779デフォルトの名無しさん
NGNG同じ
戻り値が必要なときには括弧をつけるし、括弧つけないと見にくいので
Call 関数名(引数1, 引数2)の方がいいと思うよ。
0780デフォルトの名無しさん
NGNGそんなたいした祭りでもないw
0781デフォルトの名無しさん
NGNGでも、このスクロール位置の値から”何ドットスクロールしたか”を導きたいんですが、
できますか?
ちなみに>>723の方法だと、確かに何文字目までスクロールアウトしてるかは取得できるんですが、
あくまで何文字目かなので、アバウトなスクロールドット数しか分からないのです。
(横(水平)スクロールだと、文字の半分だけスクロールアウトしてる場合などがあり得る)
0782デフォルトの名無しさん
NGNGうーん……
(1) TextBoxのクライアント領域の幅をpixel単位で求める
(2) GetScrollInfoでスクロールバーの「ページ」部分の長さ(nPage)を求める
(3) GetScrollPosでスクロール位置を求める(GetScrollInfoで一緒に求めてもよい)
として、
(3)の結果 × { (1)の結果 ÷ (2)の結果 }
でたぶんドット数になるんじゃないかな。試してないけど。
0783781
NGNG0784781
NGNGいやあのなんかですね、GetScrollPosで取得した値がそのままドット数っぽいです。
なんか。
ちょっとまだテスト中ですけど。
0785781
NGNG思い通りに動きました。
>>782さんには非常に悪いことしちゃったぽいですね、申し訳ないです。
0786デフォルトの名無しさん
NGNGリッチテキストにファイルの中身を表示するようにしたいのですが
下記のモノではリッチテキストにファイルのパスが出るだけでうまく
いきません。なにぶん始めたばかりで初心者な質問かと思いますが
どこがいけないのか教えていただけると幸いです。
Private Sub File1_Click()
SelectedFile = File1.Path & "\" & File1.FileName
RichTextBox1.Text = SelectedFile
End Sub
0787デフォルトの名無しさん
NGNG中身を見るにはOpen〜Get〜Closeを使うなり。
ファイル入出力をもうちょっと勉強すれ。
0788デフォルトの名無しさん
NGNG惜しい。RichTextBox1.LoadFile hoge.txt だ。
つーか、msdn読め。
0789787
NGNGおっと、そんなんあったのね。失礼。
0790786
NGNGありがとうございます。
解決いたしました。
msdnの2枚目のディスクを割ってしまいましてうまいこと読みだせませんでした。
0791デフォルトの名無しさん
NGNG文字化けしてしまいます。
XPで見るにはどうすればいいのでしょうか?
0792デフォルトの名無しさん
NGNGVBのランタイムを入れなされ。
0793デフォルトの名無しさん
NGNG関数名(引数1, 引数2)
としてもエラーにはならないんだよね。
ByVal になるみたいだけど。
0794デフォルトの名無しさん
NGNGエラーになりますが何か?
0795デフォルトの名無しさん
NGNGならないですが何か
0796デフォルトの名無しさん
NGNGちゃんと通りましたが何か?
0797デフォルトの名無しさん
NGNGこれは最近よく聞く"API"というものですか?
0798デフォルトの名無しさん
NGNGYes
0799デフォルトの名無しさん
NGNG長い音は鳴らせないのでそのつもりでな。
警告音とか効果音に便利。
0800デフォルトの名無しさん
NGNG見られるよね。それをボタン押すとソース見られるようにしたいんだけど
どうしたらいいんですか?
0801デフォルトの名無しさん
NGNG取得したhtml文書をメモ帳とかエディタで開くだけ。
0802672
NGNG>>731さん
コード(>>709-710)を見て頂いてありがとうございます。
ご指摘通り変数を1つずつIntegerで宣言したら、倍近く速くなりビックリしました。
ものぐさはだめですね。ありがとうございました。
>>712=>>715=>>724さん
度々ありがとうございます。
確率・統計の組合せは苦手を通り越して、サッパリなんですよね(W
そちらも高校から勉強し直します。
LeftとMid関数はそういう事にも使うんだと知りました。
まだ選択除去法はピンときませんがもっと勉強します。
0803デフォルトの名無しさん
NGNGPrivate Sub Command1_Click()
Winsock1.Connect "www.2ch.net", 80
End Sub
Private Sub Winsock1_Connect()
Winsock1.SendData "GET / HTTP/1.0" & vbCrLf & vbCrLf
End Sub
Private Sub Winsock1_DataArrival(ByVal bytesTotal As Long)
Dim A$
Winsock1.GetData A
Text1.Text = Text1.Text & A
End Sub
フォームにWinsockコントロールとText1とCommand1をぽとりぺたして、
Text1のMultiLine=Trueにして、このコードを貼れ。
細かい所は問題あるから自分で調整するよーに。でわ健闘を祈る!
0804デフォルトの名無しさん
NGNG全ループは、こうだった。
7*8*8*8*8*8*8*8 = 14,680,064回
フラグ法
flag_k(7) As Boolean
例えば 3を使ったら、Falg(3) = True とする。
ただ、各ループごとにフラグ配列を用意して、各ループに入ると同時に、
外側のフラグ配列をコピーする必要があって、これに時間がかかるみたい。
動的配列なので、コード自体は flag_j() = flag_i() ですむんだけど。
選択除去法(勝手に名前つけただけ)
"01234567"から1を使ったら"0234567"とする。
取り出しは、Mid(文字列, ループ変数+1, 1)でいいけど、取り出された後の
文字列を取得するのがちょっと面倒かな。勉強にはなると思うけど。
コレクションの代用ね。
0805デフォルトの名無しさん
NGNG関数名(引数1, 引数2)はエラーです。
関数名 引数1, 引数2 はエラーになりません。
Call 関数名(引数1, 引数2)はエラーになりません。
関数名(引数1)はエラーになりません。
理由はCallをつけないときは括弧をつけたらいけないからです。
関数名(引数1)がエラーにならないのは、
Call 関数名( (引数1) ) のCallと外側の括弧をはずしたものとみなされるからです。
引数が二つある場合「関数名 (引数1), (引数2)」となります。
関数名 (引数1) = Call 関数名( (引数1) )とした場合、
引数がByRefでも括弧をつけているためByValになります。
0806デフォルトの名無しさん
NGNG0807デフォルトの名無しさん
NGNGそういうことを言うやつに限って動かなくてはまるという罠
0808デフォルトの名無しさん
NGNGそう。エラーにならないのは、引数1個の時だけだった。
でも、どうしてカッコを付けると ByValになるの?
これが原因のバグってけっこうあるかも。
0809デフォルトの名無しさん
NGNGsubhoge (引数+0) とか書くのと同じことです。
0810デフォルトの名無しさん
NGNGかっこ「 ( ) 」という演算子だと思えばいいんではないかな。
Sub subHoge(ByRef i As Integer) だったとして、
Call subHoge( j ) は参照渡し、
Call subHoge( j + k ) は値渡し、
Call subHoge( ( j ) ) も値渡し。
0811805
NGNGByValになるっていうのは言い方が悪かった。
たぶん内部的にはByRefで処理されている。
なぜByValのように見えるのかというと、括弧で囲むことで
変数がByRefで渡るのではなく、(変数)という演算結果が渡されるから。
Call foo( Clng(A) )←この場合Aが変わらないのは納得いくでしょ。
Call foo( (A) ) ←これはAがfooの引数の型に変換されるだけ。
> これが原因のバグってけっこうあるかも。
「基本はByValをつける」を守っていればあまり問題は無いと思う。
ただ Sub foo(i As Long) のような関数を
Dim i As Integer: Call foo(i) じゃ呼べないのに
Dim i As Integer: foo (i) だと呼べたり
Sub foo(udt As UserDefineType)のような関数を
Dim udt As UserDefineType: Call foo (udt)だと呼べるのに
Dim udt As UserDefineType: foo (udt)じゃ呼べない
という結果を見てユーザ定義型の場合はCallをつけなければいけないとか
変な勘違いをしている人がいるかもしれない。
0812デフォルトの名無しさん
NGNG深い。深すぎて、理解しきれない。
なんとなくならわかりかけてきたような気もするけど、気のせいかも。
0813797
NGNG>>799
ブロック崩しゲーム(アルカノイド風)で球がはね返るときにwavファイルを鳴らそうと思ったんですが、
sndPlaySoundではどうも処理に時間がかかるようで、壁やブロックに当たるところで少しのあいだ止まってしまうのです。
0814デフォルトの名無しさん
NGNG0815デフォルトの名無しさん
NGNG非同期で鳴らしたら、まずいの?
0816800
NGNGわかった
やってみる、ありがとうおじさん
0817813
NGNGすみません、非同期ってなんですか?
0818デフォルトの名無しさん
NGNGフラグに SND_ASYNC を入れるといいぞ。
同期再生だと、再生が終わるまで関数が帰ってこない=固まる。
非同期再生だと、鳴らし始めたらすぐ帰ってくる。
あとは自分で検索してしらべた方が身になるよ。
0819デフォルトの名無しさん
NGNGVB6+SP5でPrinterオブジェクトを使用して
B4サイズで印刷しようとしています。
(使用するプリンタのデフォルト用紙サイズはA4)
WinNT4.0では
PaperSize=12 (=VbPRPSB4)
でB4出力できたんですが
Win2000の場合、同じプリンタなのに
PaperSize=126
と指定しないと出力できません。(VbPRPSB4を代入したらエラー)
「PaperSize=126」はプリンタのデフォルト用紙サイズをB4にして
PaperSizeを求めたら出てきました。
このように、プリンタが同じでもOSが違う(ドライバが違う?)と
用紙サイズの指定が上手くできないのです。
「PaperSize=126」はプリンタ独自のB4サイズの値なのでしょうか。
もしそうだとすると、どのプリンタを使用するにしても
プリンタごとの「B4サイズの値(12なり126なり)」を
求めることはできないのでしょうか?
GetPrinter使ったりするのかな・・・
とは思ったんですが、行き詰まってます。
意味不明な長文ですみません・・・
0820デフォルトの名無しさん
NGNG漏れも昔ソレで困った事があった。
その時はマニュアルに「プリンタの設定はA4にしてください」って書いて終わりにしちゃった☆
テヘッ♪
0821デフォルトの名無しさん
NGNGそれをクリックボタンを押して保存するときにRichTextBox1.SaveFile
で保存しようとしているのですがうまくいきません。
1というファイルが出来てその中に保存されています。
その1というファイルを開くと文字化けしています。
リッチテキストで開くとうまく表示されます。
どうしてうまく保存されないのでしょうか。
0822デフォルトの名無しさん
NGNGobject.SaveFile(pathname[, filetype])
SaveFile メソッドの構文の指定項目は次のとおりです。
filetype 省略可能です。保存するファイルのタイプを整数または定数で指定します。設定する値については、次の「設定値」を参照してください。
設定値
filetype の設定値は次のとおりです
rtfRTF 0 (既定値) リッチテキスト形式 (RTF)。リッチテキスト ボックス コントロールの内容を .rtf ファイルとして保存します。
rtfText 1 テキスト。リッチテキスト ボックス コントロールの内容をテキスト ファイルとして保存します。
ヘルプ見てくれ。
しっかり書いてあるから。
RichTextBox1.SaveFile "C:\hogehoge\hoge.txt",rtfText
見たいな感じです。
0823デフォルトの名無しさん
NGNGよかったら感想オネガイシマス。
ttp://www2.makani.to/akutoku/upload/dat/1015334740.lzh
0824デフォルトの名無しさん
NGNG403:アクセス不可
0825デフォルトの名無しさん
NGNG直リン不可。2ch不可。回線遅い。
今後気をつけましょう。
0826デフォルトの名無しさん
NGNGttp://www2.makani.to/akutoku/upload/の[1015334740.lzh]をダウンロードしてください。
0828デフォルトの名無しさん
NGNGファイルの生成の仕方がわかりません。
ファイルに書き込みたいんじゃなくて生成したいんでう。
教えてください。
0829デフォルトの名無しさん
NGNGOpen 開きたいファイル for binary as #1
close #1
0830デフォルトの名無しさん
NGNGURLの管理用に作ったものです。
簡単な検索機能が付いてます。
0831828
NGNGわかた、やってみるよ。ありがとう風のおじさん
0832823
NGNGそのなかに、そーす.txtというファイルが入ってます。
そこにすべての元データが入ってますので、危険かどうかは分かります。
使うときは、使い方.txtを見てください。自動セットアップなんて高等技術はできませんので
手動でセットアップになります。
0833デフォルトの名無しさん
NGNG落としてみたけど、パス決めうちかよ!
プログラムのあるディレクトリパスはApp.Pathで取れますがな
0834824
NGNGK大学かい?exe作るときは注意すれ。
他にもC直下に置くなとかボタン置きすぎとか
Captionが無いコントロール山ほどあるとことか
デフォルトボタンとキャンセルボタン作れとか
つっこみ始めればきりがないが。
まあでも最初のアプリはこんなもんか。頑張れ。
0836823
NGNGありがとうです。ご意見、ありがたく頂きます。
C直下に置いたことについてですが
起動時に1つだけどうしても読み込まないとだめなファイルがあって
そのファイルの場所を固定しなければならなくなり、C直下に置いてしまいました。
0837デフォルトの名無しさん
NGNGソースをざっくり見たが、かなり無駄が多いな。
ちゃんと書けば今の量の10分の1以下に抑えられるだろう。
細かい所を上げるとほんと、きりが無いけど少しだけ。
関数を作ってないみたいだね。知らないのなら関数に手をだしてみたら。
あと、ファイル番号(#???ってやつ)はFreeFile()で取得した方がいいよ。
0838デフォルトの名無しさん
NGNGttp://cgi.shutdown.server.ne.jp/SQ/minibbs.cgi
0840672
NGNG>>804さん度々ありがとうございます。
アドバイスに従って、選択除去法を書いてみました。
最初、If関数でループの変数が、まだ残ってる数字の中にあるかという考えで書いたんですが、
それだと、前のと変わらない事に気付きまして、下の様に書き直しました。
以前のものよりさらに速くなりましたが、考え方はこんな感じでいいでしょうか?
>>804さん始めレスくださったみなさん大変勉強になりました。ありがとうございました。
Dim sData As String '書込み用データ
Dim strBuff(6) As String '数字格納データ
Dim sKumiawase(7) As String '残りの組合わせ文字列
Dim i As Integer 'ループ用カウンタ1
Dim j As Integer 'ループ用カウンタ2
Dim k As Integer 'ループ用カウンタ3
Dim l As Integer 'ループ用カウンタ4
Dim m As Integer 'ループ用カウンタ5
Dim n As Integer 'ループ用カウンタ6
Dim o As Integer 'ループ用カウンタ7
Dim p As Integer 'ループ用カウンタ8
For i = 1 To 8
sKumiawase(0) = "01234567"
strBuff(0) = Get_Number(i, sKumiawase(0), sKumiawase(1))
For j = 1 To 7
strBuff(1) = Get_Number(j, sKumiawase(1), sKumiawase(2))
For k = 1 To 6
strBuff(2) = Get_Number(k, sKumiawase(2), sKumiawase(3))
For l = 1 To 5
strBuff(3) = Get_Number(l, sKumiawase(3), sKumiawase(4))
For m = 1 To 4
strBuff(4) = Get_Number(m, sKumiawase(4), sKumiawase(5))
For n = 1 To 3
strBuff(5) = Get_Number(n, sKumiawase(5), sKumiawase(6))
For o = 1 To 2
strBuff(6) = Get_Number(o, sKumiawase(6), sKumiawase(7))
sData = strBuff(0) & strBuff(1) & strBuff(2) & strBuff(3) & strBuff(4) & strBuff(5) & strBuff(6) & sKumiawase(7)
Print #FileNumber, sData
Next o
Next n
Next m
Next l
Next k
Next j
Next i
Public Function Get_Number(i As Integer, sKumiawase1 As String, sKumiawase2 As String) As String
Dim sLeft As String '取り出した数字の左側の文字列
Dim sRight As String '取り出した数字の右側の文字列
Dim iMojisuu As Integer '全体の文字数
iMojisuu = Len(sKumiawase1)
sLeft = Left(sKumiawase1, i - 1)
sRight = Mid(sKumiawase1, i + 1, iMojisuu - i)
sKumiawase2 = sLeft & sRight
Get_Number = Mid(sKumiawase1, i, 1)
End Function
0841804
NGNGたったあれだけのヒントでよく完成しましたね。
関数化した点を除けば、ほとんど同じです。
細かいことを言えば、Midって長さを省略できるんですよ。
それと、バリアントが返るMidより、Mid$のほうがちょっと速いです。Left$も同様。
さらに、ループ変数もIntegerよりLongのほうが速いです。CPUもOSもVBも32bitですから。
0842672
NGNG>>804=>>841さん。即レスありがとうございます。
お陰様で大変勉強になりました。
この選択除去の仕方は、次に作りたい物にも応用が利きそうです。
また、何かあった時はよろしくお願いします。
0843デフォルトの名無しさん
NGNG最近知って便利さにビクーリしたよ
0844デフォルトの名無しさん
NGNG(例えばvbDefaultトカ)を取得する事はできますか?
0845デフォルトの名無しさん
NGNGムリ。
つーか何がしたいんだ一体
0846844
NGNG特に意味は無いんです。できるのかなぁっていう興味だけで。
0847817
NGNGありがとうございました。勉強してみます・・・。
0848Enum......
NGNGaaa=1
bbb=2
End Enum
sub Test(p as Hoge)
end sub
---------------------------------------
1・Hoge.って打ってみ
2・dim a as Hoge:a= って打ってみ
3・call test(って打ってみ
0849デフォルトの名無しさん
NGNG印刷機能を改良してます。
サンプルとして、vb5のソースを貰ったんですが、
API(OpenPrinter,GetPrinterなど)が、ことごとく使えません。
プリンタの設定(使うプリンタ、用紙サイズ、縦・横)を変更したいんですが、
ここらへん詳しい方いらっしゃいましたら教えてください。
0850デフォルトの名無しさん
NGNGthx 愛してる
0851ツリービューについて
NGNGノードの2番目を選択させる方法がわからないので教えて下さい。
tre.Nodes(2).Selected = Trueで
うまくいくと思ったのですがうまくいきません。
マウスでノードをクリックしたような事をプログラムでやりたいです。
0852デフォルトの名無しさん
NGNG無理じゃないよ。ほれサンプル。最善のコードじゃないかもしれないけど。
「TypeLib Information」を参照設定してな
Private Sub Form_Load()
Dim tli As TypeLibInfo
'Set ti = TypeLibInfoFromRegistry("{FCFB3D2E-A0FA-1068-A738-08002B3371B5}", 6, 0, 9)
Set tli = TypeLibInfoFromFile("C:\WINNT\System32\MSVBVM60.DLL")
Call PrintConstantFromValue(tli, 0)
End Sub
Private Sub PrintConstantFromValue(ByVal tli As TypeLibInfo, ByVal Value As Long)
Dim ci As ConstantInfo
Dim mi As MemberInfo
For Each ci In tli.Constants
For Each mi In ci.Members
If mi.Value = Value Then
Debug.Print ci.Name, mi.Name
End If
Next mi
Next ci
End Sub
0853デフォルトの名無しさん
NGNGやっぱクリスタルレポートをインストールしている環境じゃないと
動かないのでしょうか。
もしそうなら、あんまり意味が無いような気がするけど。。。
0854デフォルトの名無しさん
NGNGだからセットアップexeを作る必要がある。
しかしそれが悲劇の始まり
0855853
NGNGうん?setup.exeって?クリスタルレポートで、ってことですか?
そんな機能あったっけ?
0856デフォルトの名無しさん
NGNG『クリスタルレポートで』か。
『クリスタルレポートを使った』と勘違いした。すまん
0857853
NGNGVBからPrintたたくソレです。
普通に作ったファイルなんですが。
0858デフォルトの名無しさん
NGNGVB6ならプログラム→vb6→vb6Tool→ディストリビューションウィザードで
setup.exeが作れるので、それに栗スタルレポートを入れればヨイ
0859853
NGNG明日会社でやってみます。
0860デフォルトの名無しさん
NGNGリッチテキストコンポーネントでエディタ部分作るんだけど予約語をリアルタイムで色つけたいと思うんだけどできるかな?
読み込み時にTextをリッチテキストフォーマットにすることは出来たんだが・・。
たとえば
switc と入れて最後にhをつけた瞬間にswitchが赤色に変わるとか
やっぱVBでは細かいことは出来ないのかな?
あとリッチテキストフォーマットの詳しい日本語説明のページ誰か知らない?
googleで検索しても全然ひっかからね〜〜・・・、MSDNのは英語だし・・
リッチテキスト自体もう死んでいくフォーマットだからかな
0861デフォルトの名無しさん
NGNGイベントでチェックすれ。
全部自前で描画してもよいよ。
0862デフォルトの名無しさん
NGNG横レスで申し訳ないのですが、テキストボックスで
2文字目から5文字目まで赤。とかできるんですか?
0864860
NGNGリッチテキストコンポーネントならできるよ
自分でリッチテキストフォーマットで書かなきゃならないようだけど
と言うかそれしか知らない
0865デフォルトの名無しさん
NGNGNT系だとうまくいきません。
98やNT系の両方で使えるようにしたいのですがこの場合どのように
すれば良いのでしょうか?
0866デフォルトの名無しさん
NGNGメインは1行なんだから、コード見せるべし!
たぶん環境変数COMSPECを使うといいよ。
0867デフォルトの名無しさん
NGNG前にShell関数でPing打つコード書いたがスレと番号がわからんかった。
>>866の回答+Environ関数を合わせて使う。
0868り
NGNGまたブロックを回転させる方法、他のブロックとの衝突を判定するアルゴリズムのヒントをください。
0869り
NGNGもちろんゲームに限りません。
0870デフォルトの名無しさん
NGNG>ブロックを何で作ればいいかわかりません。
Lineメソッドで■を描いてもいいし、ビットマップファイルをPictureBoxに
読み込んでおいて、PaintPictureメソッドで切り出して転送してもよい。
#ある程度、プログラムが動くようになったら、API関数のBitBltを使って、
#高速化すればいい。(←はじめたばかりなら#書きのところは気にするな)
>ブロックを回転させる方法
高校数学で習う回転の公式。
あるいは、単純にあるブロックの回転後の位置のパターンを全部用意してもOK。
>他のブロックとの衝突を判定するアルゴリズム
ブロックの管理は、例えば画面が横x縦を10x20とすると
そのサイズ + 左右上下2マス分だけ多い目の2次元配列を用意する。
で、2次元配列の中の数値の意味を、
・0なら何もない
・1なら移動中のブロック
・2なら固定されたブロック
・3なら画面の上下左右の壁
といった風に意味を決めておく。
ブロックを(上下左右に)移動させるときには、
各ブロックの移動後の位置の配列の中身をチェックして、
2や3に移動するブロックがあったら、移動不可とすればよい。
0871デフォルトの名無しさん
NGNGまるっきりの初心者なら、
カレンダー、電卓、(人対人の)オセロとか。
0872デフォルトの名無しさん
NGNGこのスレにインベーダーの基本になるソースがあるから、
それを元に改良してみたら?
参考になると思うよ。
0873デフォルトの名無しさん
NGNG0874デフォルトの名無しさん
NGNGコード上のある時点で、この変数が「ReDimで再定義されたかされていないか」、
つまり要素数を与えられたかそうでないか判断するにはどういう手法があるでしょうか?
例えば
If UBound(varbane()) > 1 then
とか記述すると、「インデックスが有効範囲にありません」というエラーになってしまいます。
0875kuromo
NGNG0876デフォルトの名無しさん
NGNGhttp://www.shoeisha.com/mag/vbm/
0877デフォルトの名無しさん
NGNG>プログラムをカッコよくするイけてるTips
これが気になります
0878デフォルトの名無しさん
NGNG文章になってんのか?
0879デフォルトの名無しさん
NGNG他にスマートなやり方があるのかもしれないけど、力ずくでやるなら
Function ubound_ex(aaa, Optional bbb) As Long
On Error GoTo err_ubound_ex
ubound_ex = UBound(aaa, IIf(IsMissing(bbb), 1, bbb))
Exit Function
err_ubound_ex:
ubound_ex = 0
End Function
こんな感じかな?
ubound_ex(varbane()) とすれば、
要素数が与えられていない時は0が返ってくると思う。
0880デフォルトの名無しさん
NGNGコラムスは消す時の判定が面倒ですよ。
ブロックの色も覚えておかなくてはいけない。
その点テトリスは連鎖も無いし、横の列だけ見てればいいし、
ブロックの種類というか色も考慮しなくてよい。
テトリスのほうが簡単だと思うなぁ。
昔DOSのテキストで作った感じでは、
初心者の定番のブロック崩しやインベーダーよりも
テトリスのほうが簡単だった。
0881874
NGNGな、なるほど……
場合によると
Redim vername(0)
とかが実行される可能性が有るのでエラーセクションの返り値を
-1にしましたが、ほぼそのままコード使わせていただきました。
どうもありがとうございます。
0882pingうちたいわけじゃないがEnvironってはじめて知ったもので・・・
NGNGこれってコマンドボタンかなにかにくみこめばいいのか?
0883り
NGNGありがとうございます。
ブロックの描画で学ぶことたくさんありそうです。
ひとつずつ勉強していきます。またいろいろ教えてください。
>>871
電卓は作りました。でもいきあたりばったりで、適当に変数をポコポコ作ってテストをくりかえしてたら
偶然うまいこと動いたって感じでした。かなり無駄の多いコードだと思います。カレンダーは本で見たかぎり、
日付の関数とかややこしくて逃げちゃいまちた。今度作ってみようと思います。
>>872
インベーダーにも挑戦してみたいと思ってます。ブロック崩しが大体できたので。
0884デフォルトの名無しさん
NGNGでも、操作があれば止めたい。
こーゆー時、どのようにするものなんでしょうか?
今、キーボードのスクロールロックキーのLEDを光らせて遊んでるんですが
ずーっと点滅させ続けて、要らなくなったら止める、という操作が出来ず
悩んでいます。お助け下さい。
0885デフォルトの名無しさん
NGNGPrivate blnFlag as Boolean
'ボタン1の中
Do
DoEvents
'LEDを点滅させるコード
If blnFlag Then Exit Do
Loop
'ボタン2の中
blnFlag = True
0886デフォルトの名無しさん
NGNGその中のHTTPRequestに関するものがありません。
一応APIビューアで検索したのですがそれらしいものは見つけられませんでした。
これってどこにあるんでしょうか?それとも検索の仕方が悪いのでしょうか?
0887デフォルトの名無しさん
NGNGhttp://www.google.com/search?num=100&hl=ja&q=internetopen+api+vb&lr=lang_ja
0888デフォルトの名無しさん
NGNGSet catDB = New ADOX.Catalog
catDB.ActiveConnection = "Provider=Microsoft.Jet.OLEDB.4.0;" _
& "Data Source=" & strDBLinkFrom
Set tblLink = New ADOX.Table
With tblLink
.Name = strLinkTblAs
Set .ParentCatalog = catDB
.Properties("Jet OLEDB:Create Link") = True
.Properties("Jet OLEDB:Link Datasource") = strDBLinkTo
.Properties("Jet OLEDB:Remote Table Name") = strLinkTbl
End With
catDB.Tables.Append tblLink
とすればいいのは判ったのですが、この時のリンク元に、
パスワードが設定されたMDBを使用したいのです。
どうしたらよいのでしょう?
0889884
NGNGありがとうございす。
点滅させ続けたりが自由にできるようになりました。
つーかこんな単純なことでお世話になって申し訳ないです。
今後はもっと七転八倒してから質問に来ます。
失礼しました。
0892デフォルトの名無しさん
NGNG検索してみましたが、パスワードつきMDBへのアクセス方しか見つけられませんでした。
catDB.ActiveConnection = "Provider=Microsoft.Jet.OLEDB.4.0;" _
& "Data Source=" & strDBLinkFrom _
& ";Jet OLEDB:Database Password = " & strPassword & ";"
では、リンク先のMDBの設定ですよね?
テーブルのPropertiesにはPassword設定できませんし……。
それとも、何か根本的に勘違いしてるんでしょうか?
0893デフォルトの名無しさん
NGNGちょっと調べてみた限り、
>暗号アルゴリズムは、OS に依存する。
>例えば、FreeBSD は MD5。Linux,Solaris は、DES が使われる。
みたいなことが書いてありますが。
つまり、ハッシュ方法は処理系依存。Perlでも同一性が保証されている
訳じゃないみたい?
アルゴリズムはDESかMD5のようなので、がんばればなんとかなりそうですが。
0894デフォルトの名無しさん
NGNG今試しているのですが、起動してくれないのです。
VBからバッチファイルを叩きたい場合はどうしたらよいのでしょう。。。
0895デフォルトの名無しさん
NGNG0896デフォルトの名無しさん
NGNGありがとうございます、調べてみます。
0897デフォルトの名無しさん
NGNG手軽さとShell関数と似た使い勝手ということで、WinExec APIもいいかも。
推奨されない方法らしいけど問題ないでしょ。
ただ、ハンドルが帰ってこないので、BATファイルの終了待ちをしたい場合は
ShellExecute使う方がいいかな。
ところでさ、MSDNライブラリのShellExecuteの項目、変じゃない? 途中で
StartPageの解説に入れ替わってる…。
VC5付録のASCIIのAPIリファレンスも、VB用の定義記述がRegQueryValueEx
に入れ替わってたし、もしかして鬼門か?(^^;
0898ナコルル
NGNGコモンダイアログのプリンタ設定から設定した値が、
コントロールパネルのプリンタプロパティに反映されないんですけど。
そして反映されてないのにもう一度ダイアログ開くと、設定変更後の値がでます。
http://210.233.22.220/VBlabo/commonDLG/J042959.htm
調べた結果、NTでの上記の方法があったので試してみました。
すると、ダイアログから設定した値が、
ちゃぁんとプリンタプロパティにも反映されて、成功。と思えるんですが、
ここでもう一度ダイアログを開いてみると、設定変更前の値が表示されます。
今度はそのままマシンを再起動して次の各設定を見てみると、
プリンタプロパティの設定 → 設定変更後
アプリのダイアログ → 設定変更前
と、二つの設定の値がなぜか異なります。
おそらく二つの設定の値がどこかに保持されているようで、
ひとつはレジストリだとはおもうんですが、
もうひとつはどこにあるのでしょうか?
このような現象が起こる具体的理由について誰か知らないでしょうか?
また、この現象に対して、有効な策というものはないのでしょうか?
0899デフォルトの名無しさん
NGNG仕様です って思いっきり書いてあるんで
素直に 仕様なのか〜って納得するんじゃ駄目?
0900Delフサギコ ◆zE1iiRdQ
NGNG〜′,,,,,,,,,,ミ,,゚Д゚彡 < メニューを表示せずにShortCutKey
UU"""" U U \の機能を使いたいのですが、どうすれば?
今は、FormのKeyPreviewをTrueにして
FormのKeyDownでCtrlとかShiftとかとキーの内容を
コードで処理してますですが、
もちっと、スマートな方法はないかしらと、思ってます。
VB6の普通のアプリです。よろしくスコ
0901デフォルトの名無しさん
NGNGコマンドボタン?だったら、
caption="キャプション" & "&P"みたいな感じでショートカットキーの
設定ができたと思われ
0902Delフサギコ ◆zE1iiRdQ
NGNGミ ゚Д゚彡
〜ミ,,,,uuミ ソリハ アクセラレータ では?
0903デフォルトの名無しさん
NGNGできるよ。
BATはスクリプトファイルで、実際に実行するのはコマンド・インタプリタ。
0904デフォルトの名無しさん
NGNG今の方法でいいとおもふ・・・。
0905デフォルトの名無しさん
NGNGTextStreemに入れる方法ないですか?
外部に置きたくないけど
モジュールに書くと編集が大変なんで
環境はVB6 SP5です
0906デフォルトの名無しさん
NGNG初めからチェックされた状態(ヘコませた状態)にしておく方法が分かりません。
Toolbar.Buttons(index).Style = tbrCheck
で、チェックボックスの様な動きをするボタンに出来たんですが、
(クリックすればへこんで、もう一度押せば普通に戻る)
コレをコードでヘコませる方法が分かりません。
えーと、具体的には前回の状態を保存して、前回ヘコませたままで終了してれば、
次回起動時にもヘコんだままで起動させたいんです。
当然、前回の設定を保存する方法とかはわかりますんで、
知りたいのはコードでチェックされた状態(ヘコませた状態)にする方法です。
0907デフォルトの名無しさん
NGNGToolbar.Buttons(index).Value = tbrUnPressed
Toolbar.Buttons(index).Value = tbrPressed
0908デフォルトの名無しさん
NGNG感謝。
出来ました。
0909長いかも
NGNGCOM+に登録しました。
ASPから呼び出しもうまくいってたんですが、実は問題があることがわかりました。
Mutexって作成したThreadなりProcessが開放されると自動的に開放されるはずなのですが、
この場合COM+のコンポーネントが作成元なので、呼び出し側できっちりReleaseしてあげないと、
Mutexが残ってしまいます。
これでは、呼び出し側が以上終了した場合のことを考えると恐ろしくて使えません。
うまいこと、このMutexを(自動的に)開放する方法はないもんでしょうか?
Public Sub MutexOn()
Dim PrevhMutex As Long
PrevhMutex = OpenMutex(MUTANT_ALL_ACCESS, 0, "TestMutex")
If PrevhMutex Then
CloseHandle PrevhMutex
Err.Raise 1 + 513 + vbObjectError, "TestCom", _
"Mutex作成済みです"
Exit Sub
End If
m_hMutex = CreateMutex(0, 0, "TestMutex")
End Sub
Public Sub MutexOff()
ReleaseMutex m_hMutex
CloseHandle m_hMutex
End Sub
0910デフォルトの名無しさん
NGNG・VC++でやるとメッセージ監視して処理、って感じ。
・VBのイベントはVBがメッセージを監視してイベントに変換。
・KeyPreviewはフォームできーイベントを一括処理するために用意されたたもの。
なので、それがVBではスマートだと思う。そんなことで
サブクラス化したって仕方ないしねー。
0912Delフサギコ ◆zE1iiRdQ
NGNG| ̄ ̄ ̄ ̄ ̄ ̄|
| .ありがと |
|______| >>904さん>>910さん
∧,,∧.. .||
ミ,,゚Д゚ミ..||
ミつ づΦ
〜ミ ミ
U''''.U DelphiではKeyPreviewもShortCutイベントも
非表示MenuItemもAction.ShortCutもあって
WM_COMMANDあたりのメッセージも取れるので
VBでもなんか方法があるものかと
思ってみたりしたんですが、
素直にKeyPreviewでやってみますです。
>>911さん、
不慣れですが、ぼちぼちとです。
0913デフォルトの名無しさん
NGNG探し疲れた・・
0914デフォルトの名無しさん
NGNGどうやったらいいんでしょうか。
検索してもなかなか見つからないです・・・
0915デフォルトの名無しさん
NGNGお疲れさま。漏れもさんざん探し回ったことあるけど、結局みつからなかったよ。
英語のドキュメントを一生懸命解読してなんとかしたです。
VBのRichTextBoxコントロールはWin9xとNT系で微妙な仕様の差とかあるから、
十分注意してくださいね。HangingIndentと改行関係が腐ってたな。
リソース漏らしてるのか、Selxxx系で繰り返し操作すると落ちたり、散々。
0916デフォルトの名無しさん
NGNGデスクトップウインドウのhDC取得して、マウスが操作された位置の色を取得すれば
いいんでないの?
マウスの操作を検知するのがキモかな。
0917デフォルトの名無しさん
NGNGどうもありがと〜
0918916
NGNGなんか無責任な気がしてきたので、少し作ってみた。ヒントになるかな。
フォーム内で選択するのではなくて、マウスポインタ直下の値を直接取得したい
なら、サブクラス化とかが必要になると思う。
Option Explicit
Private Declare Function GetDesktopWindow Lib "user32" () As Long
Private Declare Function BitBlt Lib "gdi32" (ByVal hDestDC As Long, ByVal X As Long, ByVal Y As Long, ByVal nWidth As Long, ByVal nHeight As Long, ByVal hSrcDC As Long, ByVal xSrc As Long, ByVal ySrc As Long, ByVal dwRop As Long) As Long
Private Const SRCCOPY = &HCC0020 ' (DWORD) dest = source
Private Declare Function GetWindowDC Lib "user32" (ByVal hwnd As Long) As Long
Private Declare Function ReleaseDC Lib "user32" (ByVal hwnd As Long, ByVal hdc As Long) As Long
Private Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
Me.Tag = IIf(Me.Tag = "", "lock", "")
End Sub
Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
Dim hDcDesktop&
If Me.Tag <> "" Then Exit Sub
hDcDesktop = GetWindowDC(GetDesktopWindow())
Me.Caption = BitBlt(Me.hdc, 0, 0, _
Screen.Width \ Screen.TwipsPerPixelX, _
Screen.Height \ Screen.TwipsPerPixelY, _
hDcDesktop, 0, 0, SRCCOPY)
Call ReleaseDC(GetDesktopWindow(), hDcDesktop)
Me.Caption = Hex$(Me.Point(X, Y))
End Sub
0919917
NGNGさっそく使わせてもらいます。
マジさんくす
0920916
NGNG書き忘れてたけど、フォームのScaleModeをピクセルにしてね。
このままのコードだと実用的じゃないので、工夫してね。
BitBltのかわりにStretchBlt使うと拡大鏡みたいにもなるよ。色を
抽出したいなら、便利かもしれない。
0921デフォルトの名無しさん
NGNGやっぱ英語の仕様を読むしかないのか
英語の能力もプログラマには必須だと思い知らされたよ・・
レスthanks
0922デフォルトの名無しさん
NGNGプログラムの中とかでフリーで使ってもいいアイコンとかってないですか?
探してはみたんだけどホームページ上のアイコンとかしかみつかりませんでした。
0923Delフサギコ ◆zE1iiRdQ
NGNGミ,,゚Д゚彡 < こんなんいかが?
ミ つ日 \___________
〜ミ,,,,,, ,,ミ
アイコンリンク
http://do.sakura.ne.jp/~junkroom/cgi-bin/megabbs/readres.cgi?bo=lounge&vi=999486538
の>>3
VB以外のトコで書かないと読んでもらえないのでは?
って、俺のことか.....
0924デフォルトの名無しさん
NGNG超サンスクコッ!
0925Delフサギコ ◆zE1iiRdQ
NGNGミ,,゚Д゚彡 < VBでテキストファイルアクセスで
ミつ つ゛ \改行コードがCRLFじゃなく
@ミ ミ CR単独とかLF単独でも
∪''∪ そのまま文字列に取得する方法
教えてください。
Line Input を使うと、かってにCRLFに変換されて
しまうようなの。
0926Delフサギコ ◆zE1iiRdQ
NGNGミ,,゚Д゚彡 < なんとなく、どんどこ、しつもーソ
U ミ \____________
@ミ ミ
∪''∪
動的配列についての質問です。
配列の中身を見るとき
Dim A() as Integer
For i=0 to UBound(A)
処理
Next i
としているのですが
ここでAが一度もReDimされてないと
なんちゃらエラーが発生します。
ですので
'UBond で エラーになるならTrueを返す関数
Function ArrayNullCheck(Values() As Integer) As Boolean
Dim A As Integer
On Error GoTo Err:
A = UBound(Values)
ArrayNullCheck = False
Exit Function
Err:
ArrayNullCheck = True
End Function
こんな関数を作って
UBound(A)をする前に
A配列の中身が定義されているかを調べているのですが
なんか、実に遠回りの方法を
行っている気がします。
こんなとき、何かよいやり方はありますでしょうか。
よろしくお願いします。
0927デフォルトの名無しさん
NGNG行単位で取り出して行の終わりがなになのかが大切なシステムなの?
(ちょっと用途が思いつかん)
input()で一文字づつ取り出すか、
一気に読みこんでSplit()で配列につっこむのがいいかな。
もっと細かくやりたいならバイナリで読みこんで
自分で文字列なりに変換するしかないだろな。
VBはWindowsの仕様に有利な解釈を勝手にしてくることが多いから
(VBにかぎったものじゃないけどな、自分に有利に解釈するのは)
Windowsべったりなやつを作るときはすごく便利なんだけど、
それ意外の仕様を扱うときは逆に面倒になることが多いね。
>>926
VBではOnErrorでトラップするやり方が普通なんよ。
他の言語を使ってると気持ち悪いって気持ちはすんごくわかるけどな。
0928デフォルトの名無しさん
NGNGどの改行コード(CR,LF,CRLF)でも通すなら
dim tLines$()
dim astr() as byte
dim tstr$
open "hoge.txt" for binary access read as #1
redim astr(lof(1))
get #1,1,astr()
close #1
tstr=replace$(replace$(strconv$(astr(),vbunicode),vbcrlf,vbcr)),vblf,vbcr)
tlines=split(tstr,vbcr)
ミタイナ感じ。滅茶苦茶な使い方だけど普通はこうやってるなー…
ファイルサイズとか何も考えてないんで大きいときは適宜ストリーミングするとか
0929デフォルトの名無しさん
NGNGよく考えると tstr$ 要らんな。むぅ。
0930デフォルトの名無しさん
NGNGいろいろご教授下さい。
0931デフォルトの名無しさん
NGNG初級・中級・上級なのかと聞かれた。
みんなはどれくらいの事が出来れば初級・中級・上級だと思う?
0932デフォルトの名無しさん
NGNG速さを求める、な。
本当に速さを求めるなら Cとかアセンブラとか直で機械語とか…は置いといて。
VBだと
・型は明示する ( Option Explicit 必須 )
・基本的に数値は Long
・文字列操作関数も型を明示する ( Left$ とか )
・描画系にVB標準のメソッドを使わない ( PSet, Line とか )
・プロパティ等を3回以上(曖昧)使うときは一旦変数に落とす
・iif とか遅い関数は使わない
・Sub とかの関数の、数値系の引数は明示的に ByVal する。
・除算時に小数点以下要らないのであれば / ではなく \ 演算子を使う
・多次元配列はできるだけ使わない (Cは大抵最適化されるがVBではまだ遅い)
・ネイティブコンパイル時にコンパイラオプションのチェック全部入れる
あと、VBに限らないけど
・For ループはできる限りデクリメントに
・無駄な計算はできるだけ省く ( テーブルとか使って )
・Sub, Functionできるだけ展開する
とか。最後のはコードの読みやすさとトレードオフだけど。
VBってビットシフト無いから乗算をビットシフトに、とかできないもんなー。
あと、 With ステートメントって遅くなった気がするがどうか?
適当に試してみたら使わない方が速かったよーな。調べてないからわからんけど。
言われて思いつくのはざっとこんな感じ。ツッコミキボンヌ
0933デフォルトの名無しさん
NGNGそれに答えるには、まず自分がどのレベルかを確認する必要があると思う。
あと、レベルってのは基本的に相対比較だから、「どの方面」でのレベルなのかが判らないと何とも。
技術面と言ったっていろいろあるでしょーに。
必要とされる技術を即戦力になるレベルで全て持ち合わせているのであれば、間違いなく上級、程度しか。
0934デフォルトの名無しさん
NGNG目的が良くわからんが…
TextBoxとか ListBoxとかに突っ込んで持たせる、つーのはいかが。
それ以外で埋め込むなら、Stringリソースだろうなぁ。
ただ、この場合も書き換えよりは定数的な使い方が普通だと思う。
モジュールには普通書かんよ、さすがに。(w
0935931じゃねーけどさ
NGNG>必要とされる技術を即戦力になるレベルで全て持ち合わせているのであれば、間違いなく上級、程度しか。
いくらなんでもこれはないだろっ。
ただ単に指定したブラウザを開くだけのものを要求されてそれを作るレベルの技術しか
持ち合わせてないやつを上級とはいわないだろ。(まぁそんなものを要求する会社なんてないだろうけど…)
0936930
NGNG勉強になりました。
Withって遅くなるんですか?
むしろ早くなると思って、必死に使ってました・・・鬱だ。
あと、数値型はなんでLong?Integerはダメですか?
0937デフォルトの名無しさん
NGNGのつかいかたがわからないのでおやさしいかたは
おしえてください。
0938デフォルトの名無しさん
NGNGあくまでもそれが「必要とされる」レベルであればそれはそれでその「社内」では上級者でしょう。(とか言ってみる
まぁでも「これができれば上級者」っていう定義はできなんだ。
いつの間にかそれに相応するスキルを持っていた、ってことはあっても。
…だって「ソフトウェア開発者試験の合格をもって上級とする」みたいなのあっても困るヤン。
0939デフォルトの名無しさん
NGNG技術上の問題が自己解決できる場合は、上級と見て良いと思う。
仕様上の質問はむしろしてくれる方が良いわけだけど。
0940デフォルトの名無しさん
NGNGWithを使うことで多少遅くなっても、コードが見やすくなるなら間違っては居ない。
むしろ速度面での差はたいしたこと無いだろうから、
見やすさ優先だと考えて今まで通りに行くのが吉かも。
> 数値型はなんでLong?Integerはダメですか?
ダメじゃないけど、VBがIntegerを扱う際には、内部でLong変換をかますらしい。
結果、速度が多少犠牲になる。
見やすさ優先なら、Integerの方が良いかもしれん。
速度優先なら、Longにそろえる方が早いらしい。
0941デフォルトの名無しさん
NGNGReadmeが付いてんだからそれを読めよ。
何のことはない普通の英文じゃねぇか。
で、君はこれを使ってどうするんだい?(w
0942デフォルトの名無しさん
NGNGInteger と Long で 1億回加算してみたけど、コンパイル前は 800msくらい Long の方が速い。( @PenIII 800MHz )
けど、コンパイル後は殆ど変わらない。
まぁどちらにしろ1億オーダーでこの程度なので
そんなに速度差はないけど、Longの方が速いよ、ってことで。
Withに関してはやっぱ俺の勘違いみたいです。スンマセン。
0943デフォルトの名無しさん
NGNG・Int よりも CInt の方が速い。けど CInt は四捨五入( Int は切り捨て) なので注意。
0944デフォルトの名無しさん
NGNGコーディングスタイル崩してまでVBでやることではない。
最低限避けるべきポイントだけ押さえとけ。
0945デフォルトの名無しさん
NGNGバイナリで取得するのが一番手っ取り早いと思われ
>>926
それ結構よく出てくる話題だな。
一応バリアントに代入してバリアントの実データ部分を
参照すれば判定できなくもないが、それぐらいなら
素直(?)にOn Error使っといたほうがいい。
>>930
VC++とインラインアセンブラ使え。なんつって。
基本は
・無駄な処理をなくすこと。
・速い関数、変数を使うこと
かな。
バリアントは速さでは最悪だからループとかで使わないのは基本。
あとは/と\の速さの違いを分かっておく事とか。VBが強制的に型変換する
時を覚えておくとか。
要は経験だと思う。
>>944
んなこた分かってんだよ。いちいち言うな。
0946デフォルトの名無しさん
NGNGおりゃ、Uboundの代わりにこーいう関数作って使ってるけど。
Public Function UboundNeo(ByRef ArrCheck As Variant, _
Optional ByVal Dimension As Long) As Long
Dim lngMax As Long
On Error GoTo Err
If Dimension > 0 Then
lngMax = UBound(ArrCheck, Dimension)
Else
lngMax = UBound(ArrCheck)
End If
UboundNeo = lngMax
Exit Function
Err:
lngMax = -1
Resume Next
End Function
0947デフォルトの名無しさん
NGNGもしくはコマンドボタンを押した時にブラウザの内容を更新するにはどのようにすればよろしいのでしょうか?
0948デフォルトの名無しさん
NGNGWebBrowser1.Refresh
0949デフォルトの名無しさん
NGNG大きなループの中で、毎回同じ参照をするときは、
Withを使うと速くなる。ポインタがキャッシュされるから。
MS-FlexGridとかで効果てきめん。
0950デフォルトの名無しさん
NGNGサンクス
0951デフォルトの名無しさん
NGNGサンプルソースにズバリ Optimize.vbp というのもある。
0952Delフサギコ ◆zE1iiRdQ
NGNG,ミ。_。ミ
ミ∪ ∪
〜ミ ,, ミ
∪ ∪
>>946さん、投稿した直後に自分でも考えました。
>>927さん
CRLF変換ツールを作ろうかと思ってまして
Delphiでもファイル入出力でかってにCRLF変換される
という罠はあるんですが、回避法がなんとかありまして。
VBでも同じものをつくりたくなったです。
>>928さん
明日、会社で試してみます。
0953デフォルトの名無しさん
NGNGできませんか?
0954デフォルトの名無しさん
NGNG>・Int よりも CInt の方が速い。けど CInt は四捨五入( Int は切り捨て) なので注意。
CInt関数は四捨五入ではなく、銀行型丸め処理なので間違いなきよう。
#暗黙の型変換、CLng関数等も同様。
0955デフォルトの名無しさん
NGNG> VBではOnErrorでトラップするやり方が普通なんよ。
> 他の言語を使ってると気持ち悪いって気持ちはすんごくわかるけどな。
C++やJavaならtry 〜 catchでエラー処理をする
そういう言語からみるとOn Errorはネストが出来ない、返せる情報が少ない
という点を除いてたいして変わらないので別に気持ち悪くは無い。
>>926
こういうのはどう?
http://www.gj.il24.net/~nakasima/vb/tips/index.htm#VBTIPS2
http://www.gj.il24.net/~nakasima/download/Array/index.htm
0956デフォルトの名無しさん
NGNGできるよ。でも、どこがわからないの?
3つのスクロールバーで色合成をするサンプルはあちこちにある。
あとは、それを応用するだけ。
指定ビットマップにどういう画像処理をしたいのかわからんので、以上。
0957953
NGNG指定ピクセルではなくその画像全体のRGB値を変更したいんです。
サンプルがたくさんあると書かれているので
もう一度調べてきます。
0958デフォルトの名無しさん
NGNGつまり写真全体を赤っぽくしたり青っぽくしたり暗くしたりしたいというわけね。
それぞれのピクセルのRGB値を配列変数に入れてやって、あとはFor文を使って
指定ピクセルを変えるのと同じようにやればいいんじゃないかな。
・
・
・
あれ?もしかして違う?
0959956
NGNGサンプルは、スクロールバーとRGB()を連動させるコード。
VB入門1日目でやるような例題。
これに対し、フィルタ処理のサンプルは少ない。
VBでやると死ぬほど遅いけど、勉強にはなるかも。
0961デフォルトの名無しさん
NGNG・For ループはできる限りデクリメントに
これはどうして速くなるの?解説求む。
0962デフォルトの名無しさん
NGNGうぁ、Iifって遅かったのか…。3項演算子のつもりで使いまくってた。鬱氏。
チェックしてみたらIfで開くより2倍以上遅いね。ループ内で使うのは無茶だな。
0963デフォルトの名無しさん
NGNG俺も分かんない。
Forループ内は出来るだけ簡略化しろ、だと解釈したが。
違うんだろーなー。
0964デフォルトの名無しさん
NGNGループカウンタ変数とゼロの比較のみすればよいからという理由だったんじゃないかな。
0966デフォルトの名無しさん
NGNGよろしかったら教えてください。
0967デフォルトの名無しさん
NGNG入力時に入力文字のチェック。
ValidateかLostFocus時に入力項目のチェック。
最後にもう一回チェックするのもよし。
0968932
NGNGありゃ。
Forループがデクリメントの方が速いって…For で シーケンシャルに配列 にアクセスするとき、でですな…。
…ってコレもVBで通用したかどうか怪しいけど…。
なんか滅茶苦茶だ。スンマセン。
0969963
NGNGいえいえ。
あと、小数点同士の演算なら\より/の方が速いよ。
>>953
ヒマになったんでちょっと作ってみた。要API。
Function RGBChange2(pic As PictureBox)
Dim IBMP As BitMapInfo, DAT() As Byte, PP&
Dim rc&, i&, UboundDAT&, t&
'BitMapInfoの取得
IBMP.biSize = 40
rc = GetDIBits(pic.hdc, pic.Image, 0, 0, ByVal 0, IBMP, 0)
UboundDAT = IBMP.biWidth * IBMP.biHeight * 3 - 1
ReDim DAT(UboundDAT)
'ビットマップの取得
IBMP.biBitCount = 24
IBMP.biSizeImage = UboundDAT + 1
IBMP.biCompression = 0
rc = GetDIBits(pic.hdc, pic.Image, 0, IBMP.biHeight, DAT(0), IBMP, 0)
'変換w
For i = 0 To UboundDAT
DAT(i) = CByte(CLng(DAT(i)) \ 2)
Next i
'表示
pic.Picture = LoadPicture()
rc = SetDIBitsToDevice(pic.hdc, 0, 0, IBMP.biWidth, IBMP.biHeight, 0, 0, 0, IBMP.biHeight, DAT(0), IBMP, 0)
End Function
宣言は自分でよろしこ。
いちいちビットマップ取得しなけりゃもっと速くなるよ。
0970デフォルトの名無しさん
NGNGインクリメント: +1 → 判定 → 判定結果でジャンプ
デクリメント: -1 → 演算結果(0とか符号)でジャンプ
という理由じゃないかな?
> Forループがデクリメントの方が速いって…For で シーケンシャルに配列 にアクセスするとき、でですな…。
ん〜。あったっけ?そんなの。俺が知らないだけかな。
あと、VBでの出力コードをちょっと調べてみたよ。
VBコード
Public Sub a()
Dim i As Long
For i = 0 To 1000
Call foo
Next i
End Sub
Public Sub b()
Dim i As Long
For i = 1000 To 0 Step -1
Call foo
Next i
End Sub
0971970
NGNG違うとこの範囲のみ抜粋。>のところが違う。
Sub a
> 00401B19 33 FF xor edi,edi
> 00401B1B 89 7D FC mov dword ptr [ebp-4],edi
00401B1E 8B 75 08 mov esi,dword ptr [Me]
00401B21 56 push esi
00401B22 8B 06 mov eax,dword ptr [esi]
00401B24 FF 50 04 call dword ptr [eax+4]
00401B27 8B 1D 10 10 40 00 mov ebx,dword ptr [__imp_@__vbaHresultCheckObj (00401010)]
00401B2D 8B 0E mov ecx,dword ptr [esi]
00401B2F 56 push esi
00401B30 FF 91 04 07 00 00 call dword ptr [ecx+704h]
00401B36 85 C0 test eax,eax
00401B38 7D 0E jge Form1::a+58h (00401b48)
00401B3A 68 04 07 00 00 push 704h
00401B3F 68 C4 15 40 00 push offset ___vba@001CDBFC (004015c4)
00401B44 56 push esi
00401B45 50 push eax
00401B46 FF D3 call ebx
> 00401B48 83 C7 01 add edi,1
00401B4B 70 27 jo $L36+1Fh (00401b74)
> 00401B4D 81 FF E8 03 00 00 cmp edi,3E8h
00401B53 7E D8 jle Form1::a+3Dh (00401b2d)
Sub b
> 00401BA9 C7 45 FC 00 00 00 00 mov dword ptr [ebp-4],0
00401BB0 8B 75 08 mov esi,dword ptr [Me]
00401BB3 56 push esi
00401BB4 8B 06 mov eax,dword ptr [esi]
00401BB6 FF 50 04 call dword ptr [eax+4]
00401BB9 8B 1D 10 10 40 00 mov ebx,dword ptr [__imp_@__vbaHresultCheckObj (00401010)]
> 00401BBF BF E8 03 00 00 mov edi,3E8h
00401BC4 8B 0E mov ecx,dword ptr [esi]
00401BC6 56 push esi
00401BC7 FF 91 04 07 00 00 call dword ptr [ecx+704h]
00401BCD 85 C0 test eax,eax
00401BCF 7D 0E jge Form1::b+5Fh (00401bdf)
00401BD1 68 04 07 00 00 push 704h
00401BD6 68 C4 15 40 00 push offset ___vba@001CDBFC (004015c4)
00401BDB 56 push esi
00401BDC 50 push eax
00401BDD FF D3 call ebx
> 00401BDF 83 EF 01 sub edi,1
00401BE2 70 23 jo $L51+1Fh (00401c07)
>00401BE4 85 FF test edi,edi
00401BE6 7D DC jge Form1::b+44h (00401bc4)
0972970
NGNGこれをみる限り、cmp edi,3E8hとtest edi,ediのどちらが速いかってことになるみたいだね。
testの方が命令数も少ないし速そうだけど俺は詳しくないから知らん。速さに違いがあるのか誰か教えて。
まぁ、通常は気にするまでもないのは確かだろうけど。
VBって数値の範囲チェック(joのとこ)を行っているからデクリメントにしても演算結果でジャンプできないんだろうね。
だから、最適化の詳細設定で整数の桁あふれチェックをしないにしてみたんだけど、そしたらどっちも同じコードになった。
さっきの所に対応するコードはこれ。
00401BAF BB E9 03 00 00 mov ebx,3E9h
00401BB4 8B 0E mov ecx,dword ptr [esi]
00401BB6 56 push esi
00401BB7 FF 91 04 07 00 00 call dword ptr [ecx+704h]
00401BBD 85 C0 test eax,eax
00401BBF 7D 0E jge Form1::b+5Fh (00401bcf)
00401BC1 68 04 07 00 00 push 704h
00401BC6 68 C0 15 40 00 push offset ___vba@001A4934 (004015c0)
00401BCB 56 push esi
00401BCC 50 push eax
00401BCD FF D7 call edi
00401BCF 4B dec ebx
00401BD0 75 E2 jne Form1::b+44h (00401bb4)
ループの速度を気にするなら、デクリメントにするよりも最適化をいじくった方が効果ははるかに高そう。
ちなみに、foo()を呼ばなくても、整数の桁あふれチェックをした場合はループは削除されない。
整数の桁あふれチェックをしないにしたらループは削除されるみたい。
0973963
NGNG0974970
NGNGVC++ 6.0
EXEを直接開いてステップ実行も出来ます。
VBでシンボリデバッグ情報を作成していると便利。
でもなんかソース行と同期が取れてないなぁ。
使い方間違っているのかな?
・・・って逆汗ツールかよ!?
0977932
NGNGそかそか、わざわざ調べてくれてアリガトン
てかdisasmする程でもないなーとか思ってたからやってなかったんだけど、
結局吐かれるコードは一緒なのね…
うむ、考えを改めるー
0978932
NGNG0979961
NGNG整数の桁あふれチェックを外して高速化。なるほどです。
でも実際比較してみたところ約9000ループしても目立った変化はないです。
効果は薄そうです。
0980963
NGNG表示させない方法知ってる人いる?
ずっと悩んでる問題の1つ。
0981970
NGNG吐かれるコードが一緒といっても、あの例はループ変数をループ内で
使用していなかったからで、使用したらさすがに同じにはならないです。
で使用してみたら予想通りインクリメントの方がcmp命令一個分多かったです。
まぁ、今のCPUは高速なんでcmpが1クロックで実行されるとして500MhzのCPU
でも500,000,000回実行してやっと一秒ですね。(あってるよね?)
私もいつもは逆汗なんかしないんですけど、面白そうだしちょうど暇だったから。
速度が重要ならVBつかいませんし。しかしVBも意外に悪くないコード吐きますね。
select caseも条件さえそろっていればジャンプテーブルに変換されますし。
0982デフォルトの名無しさん
NGNG横のスクロールバーが表示されません。
WebBrowserでのスクロールバーをコントロールする関数などあれば教えていただけないでしょうか?
0983デフォルトの名無しさん
NGNG0984デフォルトの名無しさん
NGNGVB初心者質問スレ Part7
http://pc.2ch.net/test/read.cgi/tech/1015836357/
0986デフォルトの名無しさん
NGNG0987デフォルトの名無しさん
NGNG日本語がよく分からんが勝手に補完して
「VBをしばらくいじってみた気づいたけど、これって中身昔ながらのBASICだよね?」
と解釈してみよう。
VBは昔ながらのBASICから50%ぐらい機能を削除して500%ぐらい機能を追加したものです。
0988デフォルトの名無しさん
NGNG( ・∀・) ニヤニヤ
( 1000 )
| | |
(__)_)
0989デフォルトの名無しさん
NGNGそもそも、タスクマネージャってプロセス全部表示されてるでしょ?
むりっしょ。
0990デフォルトの名無しさん
NGNG何もわかってないアホはすっこんでろ
0992980
NGNGプロセスは表示しててもいい。
0993デフォルトの名無しさん
NGNG0994デフォルトの名無しさん
NGNG0995デフォルトの名無しさん
NGNG0996デフォルトの名無しさん
NGNG( ・∀・) ニヤニヤ
( 1000 )
| | |
(__)_)
0997デフォルトの名無しさん
NGNG0998デフォルトの名無しさん
NGNG0999デフォルトの名無しさん
NGNGv
\△ ヤッタゼ!!
●\
□
/ \
1000デフォルトの名無しさん
NGNGv
\△ ヤッタゼ!!
●\
□
/ \
1000!
v
\△ ヤッタゼ!!
●\
□
/ \
1000!
v
\△ ヤッタゼ!!
●\
□
/ \
10011001
Over 1000Threadもう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。