前のログ 次のログ

No.650 NTのサービス状態の取得 [99/8/11(水)15:42分]

NTのサービスを監視(動作しているかどうか?)したいのですが、APIなり、
何か監視できる方法は有りませんか?

No.649 フレキシブルグリッド複数選択不可  投稿者:トム [99/8/11(水)13:59分]

はじめまして。トムといいます。

さっそくですが、フレキシブルグリッドで、複数選択をさせたくありません。
何か方法があるのでしょうか?サブクラス化しないと出来ないのでしょうか。
どなたか教えて下さい!

No.648 お礼:複数セルのコピー、ペーストについて   投稿者:neptune [99/8/10(火)17:55分]

花ちゃん さんへ


御礼が遅くなりすみません。パソコンが暴れていましたので・・・

サンプルプログラムまで組んでいただきありがとうございました。

おかげさまで、ゆう(U)さんにアドバイスしていただいた方法とを
組み合わせることで、連続、不連続なセルを、コピー、ペーストが
出来るようになりました。
 しかしMSFlexGridのプロパティは何度も見ていたのですがClipの中身は
見ていませんでした。やっぱり全部見なければ行けないのですね。

本当にどうもありがとうございました。

No.647 VBで、E-Mail は発信できませんでしょうか?  投稿者:燐 [99/8/10(火)15:09分] http://www3.airnet.ne.jp/bril/

ボタンを押したら、E-MAILが送信されるプログラムを作りたいのですが、

どういうAPI(MAPI?)を使ったらいいのか、また、どう使えば良いのか分かりません。

MS-OUTLOCKや、OEが起動した状態でしか使えないので有れば その監視方法も教えて下さると幸いです。

どうか、分かる方いらっしゃいましたら、宜しくお願いいたします。

No.646 Msflexgrid上での件数取得方法  投稿者:初心者 [99/8/09(月)13:03分]

先日、テキスト読込でお世話になりました 初心者 です。

先日はお答え頂きありがとうございました。

今度はMsflexgridについてお聞きしたいことがあり、カキコさせて頂きます。
Cell内に数値を入力し、その入力された件数を数えたい時、どのような関数で取得する
事が出来るのでしょうか?
VBAでは『COUNTA』という関数で取れるようなのですが、VBではどういった命令に
なるのでしょうか?

因みに、cellには
 Row=1,col=1 ・・・ 1 Row=1,col=2 ・・・ 2 Row=1,col=3 ・・・ 3
 Row=2,col=1 ・・・ 2 Row=2,col=2 ・・・ 1 Row=2,col=3 ・・・ 4
 Row=3,col=1 ・・・ 3 Row=3,col=2 ・・・ 4 Row=3,col=3 ・・・ 5 と入力し、

 Row=4,col=1 ・・・ 3 Row=4,col=2 ・・・ 4 Row=4,col=3 ・・・ 5 と結果を 表示したいのですが。
 
 (row=4,col=2の4は、col1に3種類の数値がありcol2にはcol1と同じ数値が2つ含まれているので
 同じものは抜き、4だけが新しい数値として入力されている為、4を表示する。col=3も同条件です)

どなたかご存知の方がいらっしゃいましたら、お教え下さい。

宜しくお願い致します。 

No.645 RE:サイズ変更ハンドル  投稿者:亜莉子 [99/8/09(月)12:44分]

サイズ変更ハンドルが消えてしまう問題は、

ControlContainerプロパティをTrueにすることで解決しました。

No.644 起動時に発動させるには?  投稿者:あい [99/8/09(月)2:01分]

パワーポイントファイルの起動時に発動するマクロもしくはVBは
どうやってつくればいいのでしょうか?

どなたかおしえてくださーい。

No.643 VBAでダイヤルアップ接続したいんですが  投稿者:ひこ [99/8/08(日)19:00分]

みなさん、はじめまして。ひこと申します。

さっそくなんですが質問に入らせていただきたいと思います。

実は今、ACCESSを用いてシステムを構築中なんですが、その中でダイヤルアップ接続を
用いて遠方に接続する方法を考えています。
なんとかVBAを用いてダイアルアップ接続ウィンドウの起動と接続中のものに切断をかける
制御ができないものでしょうか?

またこういった書物とかも探しているんですが、何か良い本がありましたらぜひ教えて下さい。

よろしくお願い致します。


No.642 RE:不連続のセルの選択の件(追加)  投稿者:花ちゃん [99/8/07(土)20:30分]

貼付け先のセルをクリックして、”貼付け”のボタンをクリックすることで

任意の場所に次々貼付けできます。

Private Sub Mpaste_Click()
If SelDatCount = 0 Then
SubDatCopy
If SelDatCount = 0 Then Exit Sub
End If
SelCopyCount = SelCopyCount + 1
If SelCopyCount > SelDatCount Then
SelCopyCount = 0
SelDatCount = 0
ReDim SelDat(0)
Exit Sub
End If
With MSFlexGrid1
.Row = MyRow
.Col = MyCol
.Text = SelDat(SelCopyCount)
End With
End Sub

これを追加すれば先ほどのサンプルは一部追加修正が必要です

No.641 RE:不連続のセルの選択の件  投稿者:花ちゃん [99/8/07(土)12:55分]

私なりの方法を考えて見ました。

データを入力してのテストをしていませんので、バグ等ありましたらお許し下さい。
Ctrl キーを押しながらクリックしたセルを反転色にして、後で(コピー等する前) 反転色のセルを調べその
セルの内容を変数に代入(コピー先に貼り付け)しています。

Option Explicit
Dim KeyCtrl As Boolean 'Ctrl キーが押されているかの判定
Dim SelDatCount As Long 'セルデータのカウント


Private Sub MSFlexGrid1_Click()
If KeyCtrl = True Then
With MSFlexGrid1
If .CellBackColor = QBColor(1) Then
'再クリックした場合セル色を元に
.CellBackColor = QBColor(15)
.CellForeColor = QBColor(0)
Else
'セルに反転色を指定
.CellBackColor = QBColor(1)
.CellForeColor = QBColor(15)
End If
End With
End If
End Sub

Private Sub MSFlexGrid1_KeyDown(KeyCode As Integer, Shift As Integer)
If Shift = vbCtrlMask Then
KeyCtrl = True 'Ctrl キーが押された
Else
KeyCtrl = False
End If
End Sub

Private Sub MSFlexGrid1_KeyUp(KeyCode As Integer, Shift As Integer)
KeyCtrl = False
End Sub

Private Sub SubDatCopy()
Dim i As Integer
Dim j As Integer
Dim SelDat() As Variant 'セルの内容取得用
SelDatCount = 0
'表示を早くするために一旦非表示に設定
With MSFlexGrid1
.Visible = False
'固定列は除く
For i = .FixedCols To .Cols - .FixedCols
'固定行は除く
For j = .FixedRows To .Rows - .FixedRows
.Col = i
.Row = j
'反転色のセルを探す
If .CellBackColor = QBColor(1) Then
SelDatCount = SelDatCount + 1
ReDim Preserve SelDat(SelDatCount) As Variant
'又はコピー先を指定して直接コピー
SelDat(SelDatCount) = .Text
.CellBackColor = QBColor(15)
.CellForeColor = QBColor(1)
End If
Next j
Next i
.Visible = True
End With
End Sub

No.640 RE:複数セルのコピー、ペーストについて  投稿者:neptune [99/8/06(金)17:55分]

ゆう(U) さん

アドバイスありがとうございます。
今から調べてみます。

宜しければ下に投稿しました、不連続のセルの選択の件もご教授お願いします。

No.639 お礼:複数セルのコピー、ペーストについて  投稿者:neptune [99/8/06(金)17:51分]

花ちゃんさん

Resどうもありがとうございました。

>私もMSFlexGridは色々試してみたのですが簡単な方法はないようです。
>おっしゃってるように起動時配列にでも読み込み For 〜 Next でコピーするしかないのでは
やはりそうですか(-_-)
ロジック今から考えてみます。でも実際に使えるものを作るのは結構ややこしそう。(;_;)

これに関連してですが、MSFlexGridでWinの標準の様にCtrlを押しながらクリックして
連続してないセルを選択することは出来るのですか?

私なりに少しやってみたのですが判りません。
どなたか教えてください。宜しくお願いします。


No.638 Re:複数セルのコピー、ペーストについて  投稿者:ゆう(U) [99/8/06(金)16:25分]

とりあえず、コピー・ペーストに使えそうなのは・・・


Clip プロパティ (フレキシブルグリッドコントロール)
ですけど・・・

範囲(選択領域)設定などは自分でおこなう・・・って事で。

No.637 RE:デフォルトのプリンターの設定変更  投稿者:花ちゃん [99/8/06(金)9:11分]

サンプルプログラムは下記にあります。



http://www.microsoft.com/mscorp/worldwide/japan/support/kb/articles/j041/5/84.htm

No.636 デフォルトのプリンターの設定変更  投稿者:YU [99/8/06(金)0:55分]

デフォルトのプリンターの設定変更について教えて下さい。


他の掲示板にも記載したんですが、まだ未解決ッス。よろしくお願いします。

他の掲示板の過去のログ、HELPを参考にして、以下のようなプログラムを
組んだんですが、変更できなんです。どの部分が悪いのか
教えて下さい。
=========================
Private Sub Form_Load()
Dim prtTemp As Printer

For Each prtTemp In Printers
'プリンター名の取得
Combo1.AddItem prtTemp.DeviceName
Next
End Sub
=========================
Public Sub Set_Printer(p_name As String)
'指定したPrinterを通常使うPrinterに設定する。
'引数 p_name:設定したいPrinter名

Dim PR As Printer

'Printersコレクション検索
For Each PR In Printers
If PR.DeviceName = p_name Then
'
Set Printer = PR
'Printerの検索の中止。
Exit For
End If
Next
End Sub

=========================
Private Sub Combo1_Click()
Call Set_Printer(Combo1.Text)
End Sub
=========================

コンボボックスに表示されたプリンター名を選んだとき、
デフォルトのプリンターを変えたいのです。

どうもうまく行きません。
分かる方どうぞ教えて下さい。

また、デフォルトのプリンターを変更するサンプルプログラム等
があれば教えて下さい。

よろしくお願いします

No.635 RE:複数セルのコピー、ペーストについて  投稿者:花ちゃん [99/8/05(木)23:18分]

私もMSFlexGridは色々試してみたのですが簡単な方法はないようです。

おっしゃってるように起動時配列にでも読み込み For 〜 Next でコピーするしかないのでは

テキストの読み込みについて  解決されているのに何ですけどこんな方法も有りかな!

MyDat = "1999080A1999071A0A1999061A0A東京1999"

MyDat1 = StrConv(MidB$(StrConv(MyDat, vbFromUnicode), 1, 8), vbUnicode)
MyDat2 = StrConv(MidB$(StrConv(MyDat, vbFromUnicode), 9, 8), vbUnicode)
MyDat3 = StrConv(MidB$(StrConv(MyDat, vbFromUnicode), 17, 2), vbUnicode)
MyDat4 = StrConv(MidB$(StrConv(MyDat, vbFromUnicode), 19, 8), vbUnicode)
MyDat5 = StrConv(MidB$(StrConv(MyDat, vbFromUnicode), 27, 2), vbUnicode)
MyDat6 = StrConv(MidB$(StrConv(MyDat, vbFromUnicode), 29, 4), vbUnicode)

No.634 御礼です  投稿者:bjya [99/8/05(木)21:52分]

 花チャン、いろいろお世話かけます。プログラム、文法もあるのですが、

VBの使い方も覚えたいので、1からしてます。
 ツールバー、イメージリストは手強いです。てこずってます。

 まずは、御礼まで。次の講座は、DAO,ADO,データベース講座期待しています。(^_^;)

No.633 Re:テキストの読み込みについて  投稿者:初心者 [99/8/05(木)10:11分]

ゆう(U)さん はじめまして。


親切な説明ありがとうございます。
早速、ゆう(U)さんの教えていただいた方法でやってみたら出来ました(#^.^#)

RANDOMアクセスで、GETを使用したところ、きちんとデータの読み取りが出来ました。
本当にありがとうございました。
(これで1ヶ月くらい悩んでいました^_^;)

花ちゃんさん、MOOさん、ゆう(U)さん 本当にありがとうございました。
これでやっと先に進めそうです。

こちらの掲示板は非常にみなさんやさしい方なので、私のようなド素人でも
お教え頂き、素晴らしい掲示板だと思います。
又、解らないことがあったときはこちらにカキコをさせて頂くかも知れませんが
その時はよろしくお願い致します。

No.632 複数セルのコピー、ペーストについて  投稿者:neptune [99/8/05(木)9:28分]

neptuneと申します。

2度目の書込みです。宜しくお願いします。

MSflexgridで質問があります。
1.2つから5つのセルを選択しコピーし、貼り付けたい範囲の左端のセルを選択したら コピーされた範囲と同じ範囲にペーストしたい。
  私に考えられる方法は、位置、範囲、データを変数に取り込んでおいて それをセルにコピーするという方法ぐらいですが、もっと簡単な方法はないでしょうか?

2.1に伴い、選択できる列を制限したい。
  SelectionMode プロパティは、コントロール全体しか適用できないのでしょうか?

以上宜しくお願いいたします。
  

No.631 RE:住所録2のアイコン  投稿者:花ちゃん [99/8/04(水)23:52分]

たびたび、御迷惑をおかけしております。

作り直したときに ImageList に入っているから要らないと思い添付しておりませんでした。
一から作る場合には必要ですので添付するように致します。
とりあえず、サンプルの ImageList1 をコピーして貼り付けて頂いたらアイコンも入った
ままコピーできるかと思います。

No.630 Re:テキストの読み込みについて  投稿者:ゆう(U) [99/8/04(水)23:18分]

レコードが固定長のテキストファイルなら・・・


Type myRec
Field01 As String * 8
Field02 As String * 8
Field03 As String * 2
Field04 As String * 8
Field05 As String * 2
Field06 As String * 4
Field07 As String * 4
Field08 As String * 2
Field09 As String * 2
Field10 As String * 2
Field11 As String * 2
Field12 As String * 4
Field13 As String * 28
Field14 As String * 67
Field15 As String * 2
Field16 As String * 1
Dummy As String * 2 ' CRLF分、実際には使用しない
End Type
で変数を宣言するようにして、バイナリオープンして
Getでレコードを取得するとか・・・

例えば、Field13 As String * 28 のフィールドが
"12345678901234"
の場合・・・
"12345678901234" & String$(14, vbNullChar)
のような状態になりますので、vbNullChar部分を消去する必要が
出ます。
※Unicodeへの変換のため全角文字分のvbNullCharが
 加わります。

No.629 RE:テキストファイルの読み込みについて  投稿者:初心者 [99/8/04(水)22:44分]

花ちゃんさん MOOさん こんばんは。


プログラム内容まで提示して頂き、誠にありがとうございます。
MOOさんのやり方でやってみようと思います。

結果はまたご報告させていただきます。
本当ありがとうございました。

No.628 ありがとう!  投稿者:高塚一人 [99/8/04(水)22:38分]

MOOさん、またまたお世話になったようですね。

さっそく「APIを使った方法に挑戦してみます!!
返事が遅くなってしまって申し訳ありませんでした。
どうもありがとうございました。

No.627 住所録2のアイコン  投稿者:bjya [99/8/04(水)22:08分]

  現在、住所録その2で、またまた止まっております。


 ツール・バーを作ろうとしているのですが、*.ICOを見つけること
ができません。イメージリストの[ピクチャーの挿入]でアイコン選択
なのですが、Addres2s.lzhの中には見当たりません。FRXの中から、
またはAddres2pのexeの中から取り出すのですか。または、私が見当
違いの方向に行っているのでしょうか。そうだったら、すいません。(
先に謝っておきます。^_^;)ヒントください。

No.626 RE:テキストファイルの読み込みについて(追記)  投稿者:MOO [99/8/04(水)10:32分]

さっきのMidBytes関数に間違いがありました。


b = 0
For i = 0 To Len(Str) - lStart 'Len(Str)ではない
Char = Mid$(Str, lStart + i, 1)
If Asc(Char) >= 0 And Asc(Char) <= 255 Then

失礼しました。

No.625 RE:テキストの読み込みについて   投稿者:MOO [99/8/04(水)10:13分]

RE:テキストの読み込みについて


思ったより難しい。
テキストの読込はやはりLineInputでおこなうしかないでしょう。
問題は文字列トークンの切り出しで、Mid$()関数は文字数で
抜き取りを行うので、全角半角が混在しどちらを使うかわからない
状況ではうまく抜き出せません。
MidB$()関数ならどうかと思いましたが、VBでは半角でも2バイト
とみなされるようです。(つまりLen("a")もLenB("a")も同一の値を
返す)。そこで次のような関数を作成してみました。
ちょっとスペースを食います。(すみません)

Private Function MidBytes( _
Str As String, Start As Long, Bytes As Long) As String

Dim Char As String, RetStr As String
Dim b As Long, lStart As Long, i As Integer

'開始点サーチ
For i = 1 To Len(Str)
Char = Mid$(Str, i, 1)
If Asc(Char) >= 0 And Asc(Char) <= 255 Then
b = b + 1 '1バイト文字
Else
b = b + 2 '2バイト文字
End If
If b >= Start Then
lStart = i
Exit For
End If
Next i

b = 0
For i = 0 To Len(Str)
Char = Mid$(Str, lStart + i, 1)
If Asc(Char) >= 0 And Asc(Char) <= 255 Then
b = b + 1
Else
b = b + 2
End If
RetStr = RetStr & Char
If b >= Bytes Then Exit For
Next i

MidBytes = RetStr
End Function

Mid()関数と同じようですが、開始点と切り取り分をバイト
数で指定します。
要は1文字づつ文字コードを調べて、0-255は半角(1バイト)
とみなし、その他を全角(2バイト)として加算していき、
目的のバイト数で処理を終了するというものです。
但し、指定バイトでちょうど切れていないと1バイト余分に
もってくるという問題点が残っています。
ちなみに、バイト数オーバーの場合の処理をしていないので、
スタートや切り取り分がオーバーするとエラーが出ます。
文字列の総バイト数を求める関数を下に書いておきます。
エラートラップ等に活用して下さい。

Private Function GetTotalBytes(Str As String) As Long

Dim b As Long, i As Integer, Char As String

If Str = "" Then
GetTotalBytes = 0
Exit Function
End If
For i = 1 To Len(Str)
Char = Mid$(Str, i, 1)
If Asc(Char) >= 0 And Asc(Char) <= 255 Then
b = b + 1 '1バイト文字
Else
b = b + 2 '2バイト文字
End If
Next i

GetTotalBytes = b
End Function

急ごしらえなので完璧な回答とは言い難いですね。
参考程度にしておいて、もっと良いものを作ってみて
下さい。(完成したら教えて下さい。)

No.624 排他ロック  投稿者:つっち〜 [99/8/03(火)23:42分]

JetDBが排他ロックがかかって開けません。

排他ロックの権限をはずす方法等知っている方教えて下さい。
よろしくお願いします。

No.623 RE:テキストの読み込みについて  投稿者:花ちゃん [99/8/03(火)22:19分]

LineInputで一行まるごと読み込みMID$()関数で取り出す方法ではだめでしょうか?


No.622 アクセスファイルの最適化  投稿者:tomo [99/8/03(火)17:36分]

マイクロソフトアクセスのmdbファイルをVBから最適化したいのですが、

office97の時はできたんですが、office2000にしてから、うまく動作しません。
なぜでしょうか? わかるかたお願いします!

No.621 Re:当たり判定  投稿者:PG [99/8/03(火)10:50分]

詳しく優しくと言われても、掲示板では限度があります。

おっしゃっているようには、出来ないと思います。
それに、例え誰かが書き込んでも他の掲示板のように
「ごちゃごちゃしてわからない」なんて言われたらやって
られません。
なぜ、教えてもらった掲示板でわからない所を質問しな
かったのでしょうか?それが、あなたではなく他の人への
回答でも、それについての質問はできたはずです(掲示板
ですから)。

こういう所で探した方がいいかもしれません。
http://www.geocities.co.jp/SiliconValley/6113/links.html
http://www.tcup5.com/507/kanain.html



No.620 テキストの読み込みについて  投稿者:初心者 [99/8/03(火)0:40分]

始めまして。

実はご存知の方がいらっしゃいましたらぜひお教え頂きたいのですが、
テキストファイルの読みこみで区切りの無いファイルの読みこみは
LineInputで読みこみをすれば良いのでしょうか?
レコード内には漢字も含まれているのですが、同処理をした良いかわからず
ほとほと困っております。
処理方法等をご存知の方がいらっしゃいましたら、ぜひお教え頂ければ幸いです。

とりあえず、サンプルを載せておきます。
------------------------------------------------------------------------------------
1999080119990718011999061901東京1999020611131540サンプルデータ サンプルデータです
。 120
----------------------------------------------------------------------------------
因みに桁は
8、8、2、8、2、4、4、2、2、2、2、4、28、67、2、1 です。

以上、宜しくお願い申し上げます。

No.619 御礼re:住所録  投稿者:bjya [99/8/02(月)23:55分]

 Mooさん、Resありがとうございます。


 ご指摘の2点はその通りでした。うまくいきました。感謝!
Dos時代にBasicとC(途中挫折)をかじったので、コーディン
グの部分は大体理解できるのですが、windowsとVBの構造には
まったく初心者です。最後まで住所録挑戦してみます。(頑固 ^_^;)
他の方に迷惑かけるような質問などあれば、どんどん指摘して
ください。打たれ強い方です。(^_^;)

No.618 当り判定について  投稿者:キューブ [99/8/02(月)21:36分]

当り判定って、たとえばRPGで壁とかにぶつかったときに

それより先に進めないじゃないですか。その判定のことなん
ですけど、もしかすると当り判定ていわないんですかねえ。
どなたか教えてください。
プログラムの方も。

No.617 PictureBoxの印刷  投稿者:日比 学 [99/8/02(月)18:06分]

Mooさんありがとうございます。


No.616 RE:住所録に再挑戦  投稿者:MOO [99/8/02(月)14:23分]

1. ラベルが見えなくなる現象

恐らくラベルをフレームの外側に配置している為です。
後からフレームを配置した場合などにありがちです。
先にフレームを配置してフレームの内部にラベルを配置するか、
一度ラベルを切り取ってフレームに貼りつける等して対応して下さい。

2. サンプル実行時のエラー
これは恐らくMSIME98を導入していないせいでしょう。
「プロジェクト(P)」→「参照設定(N)...」で“参照不可”のチェックを
外せば直るようです。

尚、このサンプルはファイル入出力あり、APIあり、構造体あり
と初心者には少し難しすぎるのでは?もう少し簡単なところから
始める事をお勧めします。

※このサンプルはいくつかまずいところが有るようです。それは、
@ 処理を前に戻すGoTo文を使用している。これは言語を問わず
プログラムのタブーです。(流れが見えなくなる)
A ファイル入出力で「#1」「#2」とファイル番号を決めていますが
本来はFreeFile関数で算出します。(これはVBの仕様です)
B 同じく、ファイル入出力において開いたファイルは同じモジュール
内ですぐCloseすることが望ましい。わかりにくいバグの原因と
なります。

No.615 住所録に再挑戦。  投稿者:bjya [99/8/02(月)12:43分]

  VB6でVBに挑戦しました。見事に挫けてしまいました。


 しかし、再挑戦することにしました。教室に入って住所録から
始めてます。その1のフォームレイアウトでフレームを貼り付け
てから、ラベルとテキストボックスをレイアウトしていますが、
フレームでラベル等が見えなくなります。いろいろプロパティを
変えてみたのですが、ラベルだけは見えません。ただし、RUNすれ
ば、正常に動いています。フレームはなぜ使うのですか?フレー
ムでHelp検索してもいまひとつわかりません。
 
 そこで、サンプルを実行したのですが、fMMyPathのright$で、
エラーが出るので(ライブラリがありません)、ここのリンクで
見にいったのですが、見つかりません。

 できれば、教えてください。


No.614 RE:通常使うプリンターの変更  投稿者:MOO [99/8/02(月)10:58分]

サンプルが

http://www.galliver.co.jp/vbtips/
の129番にありました。但し、Windows APIを駆使している為、
非常に難しいです。

自分のアプリが印刷する対象のみ変更するのであればもう少し
簡単な方法があります。
PrintersコレクションとPrinterオブジェクトを使う方法で、
Printers.Countで使用可能なプリンター数
Printers(0〜Printers.Count-1)でプリンター列挙
Set Printer=Printers(index)でプリンター変更
といったところです。
MSDNライブラリにも「Printer オブジェクト、Printers
コレクション」でサンプルがあります。

No.613 Re:当り判定  投稿者:1taro [99/8/02(月)10:10分]

当り判定って何?

No.612 通常使うプリンターの変更  投稿者:高塚一人 [99/7/30(金)20:21分]

こんばんわ!!

通常使うプリンターをVBで変更する方法をどなたか
ご存知ありませんか?

No.611 当り判定  投稿者:キューブ [99/7/29(木)19:09分]

こんにちは。現在、Visual Basic 4.0を使用しています。

それで、ゲームを作っているのですが、当り判定はどう処理
したら良いのか分かりません。他の掲示板を見ましたが、
ごちゃごちゃ書いてあり、分かりません。どなたか、詳しく
、そして優しくわかりやすく教えてくださいませんでしょう
か?できれば、サンプルとか紹介していただくと、幸いです。
お願いします。

No.610 RE:インターネットへの接続方法    投稿者:初心者 [99/7/28(水)17:05分]

MOOさん、早速の返答ありがとうございます。

さっそく試してみます。
また解らないときは、どうかよろしくお願いします。

No.609 RE:インターネットへの接続方法  投稿者:MOO [99/7/28(水)16:12分]

Windows APIの ShellExcute関数で接続できました。

但し、これは私の環境( WIN95+IE4.01SP1,プロキシサーバー
経由 )でしか確認していません。
参考程度にしてください。

Module1の内容

Public Declare Function ShellExecute Lib "shell32.dll" _
Alias "ShellExecuteA" ( _
ByVal hwnd As Long, _
ByVal lpOperation As String, _
ByVal lpFile As String, _
ByVal lpParameters As String, _
ByVal lpDirectory As String, _
ByVal nShowCmd As Long _
) As Long

Public Const SW_SHOWNORMAL = 1

コマンドボタンのプロシージャ
Private Sub Command1_Click()
Dim MyURL As String
MyURL = "http://www.Test/" 'URLは自分で変更して下さい
Call ShellExecute(0, "Open", MyURL, 0, 0, SW_SHOWNORMAL)
End Sub

実際には関数の戻り値を確認して接続失敗の場合等の処理が必要に
なるかと思います。
ShellExecute関数の詳細はMSDNライブラリ(英語でした)か、
又はそれと同等レベルの参考書で調べて下さい。

No.608 RE:RE:メッセージボックスについて    投稿者:八幡太郎 [99/7/28(水)13:49分]

MOOさん、ありがとうございました。

@の方法では、正常にMsgBoxが機能していることを確認しました。
Aの方法では、異常が発生するのを確認しました。

もしかして、どこかでメモリを破壊しているのではと思い、
プロシージャ内で不必要な変数を二つばかり、削除したら、
うまく関数が機能することを確認しました。

これって、見た目上は解決したかに見えますが、
根本的なところは、どんなもんでしょうね。

No.607 RE:メッセージボックスについて  投稿者:MOO [99/7/28(水)10:15分]

前のメッセージがダブってしまった。


記入されている現象は再現できませんでした。
この1行だけなら正常に実行されました。
例えば、
@ この1行を現在正常に機能しているMsgBox関数
の場所に記述した場合異常が発生するか
A この異常部分のメッセージやボタンを変更しても
異常が発生するか
等を確認する事をお勧めします。
@ に該当する場合はあなたの Windows や VB自体に問題があるかも。
A に該当する場合はMsg関数を呼び出す前に何か問題があるかも。

No.606 リザルトセットからユーザー定義型へ設定?  投稿者:おっさん [99/7/27(火)20:25分]

はじめて投稿させて頂きます。


RDOのリザルトセットから、ユーザー定義型の変数に設定したいのですが、
こんなことってできますか。1レコードづつでも、結果セット全てでもどちらでもいいんですが。

VB6.0が登場したころ、色々実験してて、これが出来たような気がするのですが、
今、やろうとすると、どうしても出来ません。
あれは、夢だったんでしょうか。

No.605 メッセージボックスについて  投稿者:八幡太郎 [99/7/27(火)20:00分]

はじめて、投稿させていただきます。


単に、MsgBox関数を用いて、メッセージを表示させているのですが、
ある箇所だけ、メッセージボックスのボタンのキャプション、メッセージの内容
および、タイトルなど、一切表示されません。
表示されるのは、メッセージボックスのフォームと、何も表記されていないボタンだけです。
以下のように、メッセージボックスを表示させています。

MsgBox "検索条件に合致するデータは存在しません。", vbOKOnly, "通知"

他のメッセージボックスでは、同様の呼び方で、正常に表示されています。
上記の現象に、何か考えられる要因がありましたら、教えてください。

No.604 インターネットへの接続方法  投稿者:初心者 [99/7/27(火)17:27分]

はじめまして。ヘルプを見ても理解できなかったので投稿しました。

VBからインターネットに接続する方法を教えていただけないでしょうか。
いま現在、Form上にあるCommandボタンを押すと、インターネット上の "http://www.Test"画面を見る事ができる、
という感じのものを作りたいのですが・・・うまくいきません。
VBからインターネットを使用する為には、コンポーネントにあるWinsockを使用するのですが、
どの様にプログラムを書けばいいのかすら解らない状態です。
どなたかサンプルを掲示して頂けないでしょうか。
どうかよろしくお願いします。

No.603 ありがとうございました!!  投稿者:カモねぎ [99/7/27(火)15:55分]

MOOさんどうもありがとうございました。

「Nullの透過性」というのがあるのですか。
とても勉強になりました。
MSDNも読んでみました。
こういう時はIsNull関数を使ってプログラムすることにします。
本当にどうもありがとうございました。

No.602 PictureBoxの印刷−追記  投稿者:MOO [99/7/27(火)14:37分]

ひとつ書き忘れた。


Printer.PaintPicture Picture1.Picture, 0, 0
Printer.EndDoc

EndDocメソッドで印刷開始です。
(知ってた?)

No.601 RE:PictureBoxの印刷  投稿者:MOO [99/7/27(火)14:34分]

PrinterオブジェクトのPaintPictureメソッドを

つかうといいのでは?
対象のピクチャーボックスをPicture1とすると

Printer.PaintPicture Picture1.Picture, 0, 0

とか。
PaintPictureメソッドの引数はもっとたくさんあるので
後は自分で調べてみて下さい。


        

前のログ 次のログ

       



VBレスキュー(花ちゃん)
Visual Basic6.0  VB6.0