VB初心者質問スレ Part4
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
NGNGhttp://pc.2ch.net/test/read.cgi/tech/1000523122/
0323デフォルトの名無しさん
NGNG上でもLearning使って難儀してる人いたよ。最低でもProにしとけ。
高い!って思うなら、Delphiとかは?
Personalは確かに機能限定はあるけど、なにしろタダだし...
0324デフォルトの名無しさん
NGNGマウスカーソルの移動をさせる動作が、どうしても
うまくゆきません。
Call mouse_event(MOUSEEVENTF_MOVE, x, 0, 0, 0)
とやったら、Xピクセルほど移動してくれなくてなんか変な場所に
カーソルが行ってしまったりします。
ともかく、ディスプレイ上の(x,y)の座標にカーソルを移動させる方法
を誰かお願いします。
0325321
NGNG>323
サンクスコ
何か作ったらウプするよ。
0326314
NGNGドラッグで処理しようっていうこと自体がどうも間違いだったみたい(汗)。
MouseMoveは使わない方がいいよ。コードによってはスタック不足になりやすいから。
DragOverもふさわしくなかった。動けない方向へは動けないようにするために、
1ドットでもマウスの移動を検知したら、ドラッグを即キャンセルするんだけど、
斜めの場合、XY方向のどちらを重視するかとか、余計な処理が必要になる。
で、解決法だけど、Image上のクリックだけで空いてる方向に動かすのはどう?
スライドパズルの場合、動ける方向はほとんど決まってるわけだから。
ただし、1コマ大が左右または上下の2方向に動ける場合とかは、
そのつど、Imageのどちら半分がクリックされたか判定すればオッケー。
0327314
NGNGx座標と変な場所の法則性は?
xの型と値は?
ピクセル座標系に変換してるかな?
これが一番間違いやすいと思う。
0328箱入り娘作成中
NGNGImage上のクリック・・・・。
確かにBitBltを使いこなすのは初心者の私には
難しいかもしれない。
でもー、サンプルのJAVAのソース↓
http://hp.vector.co.jp/authors/VA006860/hako/HakoApplet.java
だと、MouseDownとかMouseDragとかいう関数が・・・。
JAVAアプレットだと作りやすいのかな?
よくよく考えたらWindowsアプリじゃないしー。
同じ方法でやろうとしてたって事が間違ってた・・・・。
うんうん、理解、理解。
0329箱入り娘作成中
NGNGImage上のクリック・・・。
そっかー、そのやり方がいまのところ
ベストかもしれないです。
BitBltはVB初心者の私には難しすぎるっ
でもー、サンプルのJAVA(アプレット?)は
mousedownとかmousedragとかあるんですけど、
やっぱり、全然作り方が違うのかなー。
よくよく考えるとJAVAのサンプルはWindowsアプリじゃないし、
やっぱりマウスの制御でやろうというのは方向性が
間違っていたんだー。うんうん、理解、理解。
0330デフォルトの名無しさん
NGNGText1に手打ちで「C:\Windows\aaa」などとパスを書いて、
そのフォルダが有るか無いか判断するにはどうしたら良いですか?
お願いします。
0331ヒッキー@プログラミング
NGNGDir関数を使われてはどうでしょう?
0332なつかしいね〜
NGNG私もVB6.0PROを買いたかったんだけど
アカデミックと通常版の値段を見て買う気
をなくした。
別に金が無かったわけじゃないけど、ムカツイテ
Delphi6.0PROを買ったよ。
0333デフォルトの名無しさん
NGNGあと7000円ほど出せばEntも買えましたけど。
0334デフォルトの名無しさん
NGNG0335デフォルトの名無しさん
NGNG安くしているんじゃなくて、それがコスト+儲けなんだよ。
商用利用に使えるやつ(通常版)は、そのソフトを使って儲けるわけだから高いんだよ。
0336ひどいよマイクロソフト
NGNG0337335
NGNG0338デフォルトの名無しさん
NGNGガキを洗脳するのが重要なんだよ。
将来の大事な金づるだ。
0339ひどいよマクロメディア
NGNG0340デフォルトの名無しさん
NGNG0341箱入り娘作成中
NGNGほとんど同じ内容でカキコしてしまった。
スマソ
0342ひどいよマイクロソフト
NGNG0343デフォルトの名無しさん
NGNGなんてMSがやるわけないだろゴルァ
金がある奴からは搾り取る
ガキはどうせ払えないんだから、他社より安くして洗脳する
そのうちアカデミックフリーとかやりだすかもな
0344VB使い
NGNG今日は休みなんでサンプル作ってみた。
フォームにコマンドボタン貼り付けて
フォームにこのコードを貼り付けること。
Private Declare Sub mouse_event Lib "user32" (ByVal dwFlags As Long, _
ByVal DX As Long, ByVal dy As Long, ByVal cButtons As Long, _
ByVal dwExtraInfo As Long)
Private Const MOUSEEVENTF_ABSOLUTE = &H8000
Private Const MOUSEEVENTF_MOVE = &H1
Private Sub Command1_Click()
Dim x&, y&
x = 1200: y = 300 '移動したい座標
mouse_event MOUSEEVENTF_ABSOLUTE Or MOUSEEVENTF_MOVE, _
x * (65535 / (Screen.Width / Screen.TwipsPerPixelX)), _
y * (65535 / (Screen.Height / Screen.TwipsPerPixelY)), 0, 0
End Sub
もしかしたらもう解決済みか?(w
昨日の話だしなあ。
0345>
NGNG0347
NGNG2つのキャラクターとかがぶつかったときの
あたり判定とかってどうやって設定したらいいんですか?
0348デフォルトの名無しさん
NGNGhttp://www.microsoft.com/japan/developer/vstudio/
毎日チェックせれ。
0349314
NGNG自前ドラッグのサンプル。フォームにイメージを1個貼って実行。
右方向に1コマ分しか動かせないという条件です。
Dim DragX As Single, DragY As Single
Dim OrgX As Single, OrgY As Single
Dim MoveFlag As Boolean
Private Sub Form_Load()
Image1.Appearance = 0 '' フラット
Image1.BorderStyle = 1 '' 実線
OrgX = Image1.Left: OrgY = Image1.Top
MoveFlag = False
End Sub
Private Sub Image1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
MoveFlag = True '' ドラッグ開始
DragX = X: DragY = Y
End Sub
Private Sub Image1_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
Dim NowX As Single
If MoveFlag = True Then '' ドラッグ中?
NowX = Image1.Left + X - DragX
If NowX >= OrgX And NowX < OrgX + Image1.Width Then '' 範囲内?
Image1.Move NowX, OrgY
End If
End If
End Sub
Private Sub Image1_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
MoveFlag = False '' ドラッグ終了
End Sub
0350VB使い
NGNG基本は矩形(四角形)処理。
APIにもそれ用の関数がある。
つまり、矩形1と矩形2とを比べて、
重なっていたらヒット。
重なってなかったらはずれ。ってな感じで。
キャラごとに矩形をいくつか設定すると
複雑なキャラでも結構それなりに使える。
格闘ゲーム系も同じやり方でやってる。はず。(w
0351デフォルトの名無しさん
NGNGHotTrackingプロパティの説明に
「マウスすプロパティ・・・」と書かれているんですけど、これが普通ですか?
Microsoftに言ったら何かもらえますか。
0353デフォルトの名無しさん
NGNGコンパイルする度に.obj生成してlinkしてcleanしてるような気がする
C2.exeとLink.exeの引数解ればnmake.exeで
コンパイルする事は可能ですかね?
教えてちょ
0354>345
NGNG0355デフォルトの名無しさん
NGNGデータへのアクセスというところででてきた、フレキシブルグリッドというコンポーネント
が使用できなくて困ってます。
プロフェッショナルをインストールしてあるのに、
フレキシブルグリッドを使用するためのライセンスがありませんといわれます。
なぜ??
0356314
NGNG2時間ぐらいで、例のJavaアプレットをVBに移植しました。遊べます。
コマはまだ色の四角形ですが、GIF画像ファイルを入手すれば
即置き換えられます。
マウス座標の取得がFormと別々になるので、Imageコントロールは使わず、
Formだけにして、非表示のPictureBoxからPaintPictureします。
Java固有のスレッドやイベントの制御コード部分は無視してかまいません。
ほか
1.あのままではマウス移動の判定が鈍いので、改良。
2.手数を表示。←これは必須
0357箱入り娘作成中
NGNGん?板チェックしに来たら、もう出来てる?!
私はまだ完成してません。
もしかしてImageコントロールをFormにペタペタ貼ってた
のが、ただでさえ初心者の私をさらに追い込んでたとか・・・。
そんな気がしてきた!
0358とて〜も初心者
NGNG私のパソコンでは(VAIOノートのPCG-FX33G/BP)DLLがないとか
言われたことはありません。
DLLを入れた記憶はないのですが、メーカー製のものってDLLとかが標準で
入ってるってことですか?
0359デフォルトの名無しさん
NGNG0360箱入り娘作成中
NGNG作ってる私も解けません。
0361箱入り娘作成中
NGNGファイルのパスは合ってるのに。なんで?
Private Sub Form_Load()
Dim Pic_Waku As Picture
Set Pic_Waku = LoadPicture("C:\〜省略〜\koma0.gif")
frmMain.PaintPicture Pic_Waku, 0, 0
End Sub
0362デフォルトの名無しさん
NGNGfrmMainにじかに書いているわけですね。
恐らくfrmMainのAutoRedrawがFalseになってるせいです。
この辺はWindowsの仕組みを理解していないとわからない所ですね。
0363箱入り娘作成中
NGNGくそー!!!
めちゃくちゃくやしい!
(と心の中で思い、太股をこぶしで殴打)
0364VB使い
NGNGVB6.0で作ったEXEをWindowsで動かすときに最低限
用意しなければいけないものはMSVBVM60.DLLだけです。
(一応VB6JP.DLLも。無くても文字化けしながら一応動く。)
標準でついているもの以外を使った場合はそれ用の
DLLやらOCXやらがいるけど、使ってないならいりません。
そしてMSVBVM60.DLLが標準でついているOSもあり、
WinMe,2000,XPです。(なぜかVB6JP.DLLはついてない。)
上記OS以外でDLLがないという文句を言われないメーカー製PCは
メーカーがトラブルを避けるために入れているのでしょう。
0365デフォルトの名無しさん
NGNG文字列として取り込みたいのですが、
VBヘルプをみるとダブルクォートしか文字列として対応してないみたいです。
何か良い方法がありますか?
レコードを一文字ずつばらしてカンマを検出し、
文字列の両端のシングルクォートを削るしか、VBでは方法がないのでしょうか?
0366デフォルトの名無しさん
NGNGSplit関数使ってみれ。
0367365
NGNGそんな便利な関数があったんですね。
ありがとう
0368366
NGNG低脳ワザと言われそうな ex...
データ 'TEST_1','TEST_2' ってなってたら
Dim strX() As String
strBuf = "'," & "'TEST_1','TEST_2'" & ",'"
strX = Split(strBuf, "','")
でどうよ?
0369366
NGNG添え字最低値、最大値はそれぞれLBound、UBound関数で判る。
但し、空要素の配列で何かしようとするとエラーが発生するので
自前で空配列を調べるような関数を作っておくべし。
0370デフォルトの名無しさん
NGNG[コンピュータの管理(ローカル)]-[システムツール]-[共有フォルダ]を右クリックして現れるメニューの
[すべてのタスク→]-[コンソールメッセージの送信...]をVBで制御する方法はありませんか?
これを使えれば、他のマシンと色々交信できて楽しそうなんですが。。。
0371ヒッキー@プログラミング
NGNGコマンドプロンプトから「net send」コマンドを
実行してはどうでしょうか。
使い方は、net /? で調べてみてください。
0372370
NGNGこれなら簡単にいじれますね。ありがとうございます。
0373デフォルトの名無しさん
NGNGどうしたらいいでしょうか。できればドメインごとに取得したいです。
0374デフォルトの名無しさん
NGNG全世界とかいうなら無理だと思うが、とりあえずやってみ
IPアドレスをしらみつぶしに調べる(当然特別なIPアドレスは省く)
0.0.0.0 〜 255.255.255.255
とりあえずpingでも飛ばしてみ。
http://www.geocities.co.jp/SiliconValley-SanJose/3279/scrap.html
http://w3.one.net/~kevinw/VB/s_modules.htm
IPアドレス→ホスト名は、このあたりを参考に。
http://www.mitene.or.jp/~sugisita/family/papa/vb/api_net.html
おまけのwhoisはこのあたりを参考に。
http://www.vbip.com/winsock/winsock_whois.asp
0375とて〜も初心者
NGNG0376デフォルトの名無しさん
NGNGとりあえず WinSock でもいじってみれ。
0377デフォルトの名無しさん
NGNG完全匿名“Freenet”のクローンでも作ってよ。
ソースも公開されているし。
「freenet0.4+frostスレ Key1」
http://tmp.2ch.net/test/read.cgi/download/1007824064/
0378箱入り娘作成中
NGNGすいませ〜ん!356さん
>1.あのままではマウス移動の判定が鈍いので、改良。
どんな風に改良したんですか?
まだ、完成してません・・・・。
0379デフォルトの名無しさん
NGNG1.移動ベクトルの傾きを計算して、XとYのどちらを優先するかをまず判断。
実際にはAbsで絶対値の大小比較をするだけ。
今度は敏感すぎて、2マス連続で移動しちゃう(笑)。
2.マウスボタンを離した点で判定してたのを押し始めの点で判定。
困ったこと。ふつうは1マスずつ移動させるのですが、それだと瞬間移動みたいだから、
あの作者はわざわざ半マス移動方式にしたんでしょうね。
でも、手数のカウントが面倒です。いまは単純に2で割ってるだけです。
ほか、改良点としては効果音をつけました。
0380デフォルトの名無しさん
NGNGGetGlyphOutline()でできるようなこと書いてあったのですが
1.APIビュワーからコピペしたものを使おうとしたら
「ユーザー定義型は定義されていません」となってしまいます。
("lpgm As GLYPHMETRICS"と"lpmat2 As MAT2"がひっかかってる?)
2.引数になにを入れたらいいかわかりません(汗
どなたかご教授お願いします。
0381箱入り娘作成中
NGNG移動ベクトルの傾き・・・
押し始めの点で判定・・・・
もうちょっと勉強してから出直してきますっ
0382デフォルトの名無しさん
NGNGむずかしく書いちゃったけど、ここのとこです。
If y - oldy > 32 Then Call DownKoma(x, y)
これを
If Abs(x - oldx) > Abs(y - oldy) Then でまず判定して、
If y > oldy Then Call DownKoma(oldx, oldy)
移動は1ドットでもオッケー(笑)。
ボタンを離した点と書いたのはカン違いで、ドラッグ中の点でした。
だから、そのままでもいいのかも。
GIF画像は、サイトにあったのを使いましたが、koma12.gifは
「You Win!」って大きく書いてあるだけなので、パス。
0383デフォルトの名無しさん
NGNG.wavファイルのループ再生を行うにはどうすればいいのでしょうか。
現在標準モジュールに
Declare Function sndPlaySound Lib "winmm.dll" _
Alias "sndPlaySoundA" (ByVal lpszSoundName As String, _
ByVal uFlags As Long) As Long
Public Const SND_SYNC = &H0
Public Const SND_ASYNC = &H1
Public Const SND_NODEFAULT = &H2
Public Const SND_LOOP = &H8
Public Const SND_NOSTOP = &H10
フォームに
Private Sub Command2_Click()
Call sndPlaySound("A:\中略\game.wav", SND_LOOP)
End Sub
と書いているのですが、エラー音しか出ないのです。
どこが間違っているのか教えてやってください。
0384デフォルトの名無しさん
NGNGヘルプから抜粋:
指定されたファイルが見つからなかった場合、PlaySound関数はデフォルトの
サウンド(一般の警告音)を鳴らそうとします。
pszSoundパラメータで指定したサウンドは、使用可能な物理メモリに収まる
サイズでなければなりません
この辺で引っかかってませんか?
0385373
NGNGネットワークに繋がっているとは、単にネットワークコンピュータで
表示されるパソコンのことです。
やりたいことは、たとえばWORKGROUPにぶら下がるPC名の一覧が欲しいのです。
それで、さらにWORKGROUP以外にもグループがあったとしたら、そちらの
PC名もほしいのです。
0386VB5
NGNG標準のコントロールでは何を使うのが一番いいんでしょうか?
0387ヒッキー@プログラミング
NGNGDataGridかDataBoundGridなんかはどうでしょうか。
0389デフォルトの名無しさん
NGNGMicrosoft DataGrid Control 6.0。
0390デフォルトの名無しさん
NGNGいつ出んだろ?
0392デフォルトの名無しさん
NGNGDataGridはVB6です。
VB5なら Data Bound Grid かな
0393デフォルトの名無しさん
NGNGWNetEnumResource()API、WNetOpenEnum()APIあたりで
昔やった記憶があるよ。
0395質問です。
NGNG今度、中途の就職活動のSEの求人先で、「意欲はあるのは分かるが
何か言語試して欲しい」と言われました。それでPC環境的にもてっと
り早いのがVBではないかと、言われたのです。基本は取りあえずわか
りそうなのですが、何か何でもいいから作って欲しいと言われた課題内
容をどうしたものかと考えています。
VBの初心者として最初に組めたら良い、メルクマール的な、プログラム
って何でしょうか?教えて下さい。
研修で良く初心者に課題として課される者でも良いのですが・・・。
よろしくお願いします。
0396デフォルトの名無しさん
NGNG連続で二回以上送信すると当然のようにうまくいきません。
画面を表示しない仕様のため、標準モジュールで処理を行っています。
(fromはVisibleをFalseにしています)
うまく一回ずつ間を空けるように出来ないでしょうか。
Win2000
0397396
NGNGWin2000のVB6.0を使ってます。
0398デフォルトの名無しさん
NGNGおめでてーな。
0399デフォルトの名無しさん
NGNG本気でそんな質問しないよね?
0400デフォルトの名無しさん
NGNG小・中学生、高校生、バカな大学生が対象なら、
とりあえず、「日付と時刻のプロパティ」のようなものを
標準のコントロールだけで作らせる。
0401デフォルトの名無しさん
NGNGようにするにはどうすればよいのでしょうか?
WindowStateを変更するとエラーが発生して、
標準にしか設定できません。
0402とて〜も初心者
NGNGそりゃー「HelloWorld」に決まりでしょ
0403デフォルトの名無しさん
NGNGなんかデータベースにつないでInsert/Update/Deleteなどを一通りやってみたら?
SEってことだから設計能力も問われると思われ。
はっ、マジレスしてしまった
0404質問です。
NGNG全く未経験という場合には課題を課しているそうです。
0405とて〜も初心者
NGNG課題ができないと落とされるってワケか?
0406質問です。
NGNG事らしいです。しかし、課題が何でも言いと言われても・・・。テキストには
時計プログラムとか載っていますが・・・。
0407デフォルトの名無しさん
NGNGネタかと思ったんだが・・・。
その会社はオープン系なんか?
じゃ、403さんの言うとおりのDBとの連携なんかが
いいんじゃネーノ?
IEコンポーネント貼ったブラウザもどきとかもいいかもな。
ちなみに俺が前受けた会社はBMP画像の拡大をするもの
とかが課題だったな。ゲーム系だが。
クソまじめにラグランジュ補完とかやったな。落ちたけど。
0408407
NGNGしかし、395さんよ、SEとして成功したいならさ、
提案能力も問われるわけだろ?
「そういう要求に対してどういう提案が出来るか」が
その会社の人間が見たいとこだろうと思うぞ。
ここで、聞いて参考にするのもいいけど、
やっぱさ、自分で考えることに意味があるんじゃないの?
0409デフォルトの名無しさん
NGNGdocファイル文章内すべて文字「XXX」検索して、置換するというプログラムを作ろうとしているのですが、
Findメソッドを使用し、Do loopで末尾までぐるぐる回そうとしたのですが、
文章の末尾どう取得してよいかわかりません。
Do loopで文章の先頭から末尾まで回すときは、どんな条件にするればいいでしょうか?
0410デフォルトの名無しさん
NGNGSelection.WholeStory
Selection.Find.ClearFormatting
Selection.Find.Replacement.ClearFormatting
With Selection.Find
.Text = ""
.Replacement.Text = ""
.Forward = True
.Wrap = wdFindAsk
.Format = False
.MatchCase = False
.MatchWholeWord = False
.MatchByte = False
.MatchAllWordForms = False
.MatchSoundsLike = False
.MatchWildcards = False
.MatchFuzzy = True
End With
Selection.Find.ClearFormatting
Selection.Find.Replacement.ClearFormatting
With Selection.Find
.Text = "キーワード1"
.Replacement.Text = "キーワード2"
.Forward = True
.Wrap = wdFindAsk
.Format = False
.MatchCase = False
.MatchWholeWord = False
.MatchByte = False
.MatchAllWordForms = False
.MatchSoundsLike = False
.MatchWildcards = False
.MatchFuzzy = True
End With
Selection.Find.Execute Replace:=wdReplaceAll
0411デフォルトの名無しさん
NGNGありがとうございます。
[XXXA1234]を[ZZZA1234]ではなく[ZZZ12A34]
というような置換をしたいのですが、この場合は
1.一行アクティブして、
2.INSTR関数で「XXX」を検索し
3.アクティブ行を置換
という順序で考えています。
説明不足ですいませんが、お願いします。
0412デフォルトの名無しさん
NGNGどうしてわざわざ1行ずつやるの?
INSTRで文書全体検索すればいいじゃん。
0が返ってくるまで。
0413デフォルトの名無しさん
NGNGな、なんといっていいか・・・
あ、ありがとうございます。
0414デフォルトの名無しさん
NGNGExcelのセル内改行はvbLfのようだけど 他はvbCrLfでなくても改行されます。
じゃあ vbNewLine じゃなくてもWindowsでは勝手に判断してくれるの?
0415デフォルトの名無しさん
NGNGttp://pc.2ch.net/test/read.cgi/tech/1000523122/193-197
0416デフォルトの名無しさん
NGNGレスありがとうございます。
リンク先の
>vbNewLine : 一応プラットホームに依存しない(事になってる)コードを書ける。
>まあ気休めだけどね。
は見ました。
聞きたかったのは
vbNewLine じゃなくてもWindowsでは勝手に判断してくれるの?
と書いたように、vbLf,vbCrを使用してもWindowsでは
改行してくれるので意識しなくてもようのかとか、vbLfでないとだめな場合とかをお聞きしたかった
のです。
0417416
NGNG意識しなくてもよいのか とか
0418デフォルトの名無しさん
NGNG勝手に判断はしてくれない。
有名なところでは、メモ帳はvbLfやvbCrで改行しない。
逆に、vbCrLfでダメな場合は例外的ケースで、そんなに多くないはず。
それだけ覚えておけばいい。
もちろん、いつかは仕様変更されると思う。
だから、vbNewLineを使っておけば、いちおう安心ってことね。
0419質問です。
NGNGまあ、営業力とか問われるのは分かっています。
そう言う業界だったんですが前職。
あからさまに聞けないことも2chなら、まあ聞いてもイイかなと思いまして。
結局決めるのは自分だってのは分かってます。
0420null
NGNGフリーのメール送信dll等も使わず、mapiを使わずに、
メール送信ってできますか?
0421デフォルトの名無しさん
NGNGできるっしょ
■ このスレッドは過去ログ倉庫に格納されています