1 名前:d mailto:age [2008/03/30(日) 09:01:59 ] このスレッドはVBについて、 他のスレッドでは書き込めない超低レベル、 もしくは質問者自身何が何だか分からない質問を勇気を持って書き込むスレッドです。 VB使いが優しくコメントを返しますが、 お礼はVBの布教はしなくてよいので、初心者の救済をお願いします 前スレ くだすれVB6.0以前(超初心者向け) pc11.2ch.net/test/read.cgi/tech/1165574205/
771 名前:デフォルトの名無しさん mailto:sage [2009/04/08(水) 15:53:54 ] 入れてもないし触ってもないけど なんとなくサンプル見たらDeclareしてVarPtrで普通にいけそうなんだけど
772 名前:デフォルトの名無しさん [2009/04/09(木) 11:11:15 ] 質問です。 VB6.0とVSSをインストールしてあるのですが VB6.0上でVSSを使用しファイル管理をするには まず何をしたらいいのでしょうか・・・?
773 名前:デフォルトの名無しさん mailto:sage [2009/04/09(木) 12:08:25 ] まず基礎を自力で勉強したらいいと思うよ 勉強する気がないならプログラミングなんてやめちまえ
774 名前:デフォルトの名無しさん mailto:sage [2009/04/09(木) 12:45:21 ] >772 プロジェクトをVSSに追加するとこから あとはVBの中からチェックアウト/インできる
775 名前:デフォルトの名無しさん mailto:sage [2009/04/09(木) 12:51:24 ] VSSのヘルプを見てみてはどうか
776 名前:デフォルトの名無しさん mailto:sage [2009/04/09(木) 19:24:54 ] gotfocusって、setfocusしないと呼び出せないの? それともフォーカスされると自動的にgotfocusが呼び出されるの?
777 名前:デフォルトの名無しさん mailto:sage [2009/04/09(木) 19:54:37 ] Tab移動でも良いしマウスクリックでも良いし 対象のコントロールにフォーカスが移動した時に呼ばれるよ 実際に試してみると良いよ 呼び出されなくて悩んでるなら何のコントロールにどういうコードを書いてるのか 教えてもらわないと何も言えない
778 名前:デフォルトの名無しさん mailto:sage [2009/04/09(木) 21:20:57 ] >>777 ありがとう〜 フォーカスの仕方によって、フォーカス対象のラベルが二通りに変動する処理を作ろうかと思ってて質問しますた ある時はラベルにAと表示して、またある時はラベルにBを表示する みたいに
779 名前:770 mailto:sage [2009/04/10(金) 04:13:24 ] >>771 レスありがとうございます。色々四苦八苦していました。 GSD_GetTexture(0, &info); ↓ Call GSD_GetTexture(0, ByVal VarPtr(Ginfo)) この様な感じでVarPtrでポインタをを指定しているのですが戻りが返ってきません。 他のバージョン取得等は戻り値が帰ってくるのでdll自体は使えてると思うのですが・・・ 色々調べてみようと思います。
780 名前:デフォルトの名無しさん mailto:sage [2009/04/10(金) 09:18:12 ] GSD_TextureInfo がどういう宣言のし方してるんだろうな・・・ Ginfoのバイト数とかはC++のそれと同じにしてるんだろうか とか・・・ 詳しい動作の話になるとやってみないと突っ込めないけど
781 名前:デフォルトの名無しさん mailto:sage [2009/04/10(金) 11:28:45 ] >>780 マニュアルでは struct GSD_TextureInfo { BOOL active; DWORD texSize; int x, y; DWORD color; DWORD align; BYTE *data; }; とありましたので Private Type GSD_Info GSD_Active As Boolean GSD_TexSize As Long GSD_X As Integer GSD_Y As Integer GSD_Color As Long GSD_Align As Long GSD_BYTE() As Byte End Type と置き換えました。 最後のByteは「テクスチャを格納したバッファへのポインタ」と書いてました。
782 名前:デフォルトの名無しさん mailto:sage [2009/04/10(金) 21:28:58 ] BOOLとintはVBのLongに対応する。 あとBYTE*もLongにして、コード中で別の配列変数からVarPtrで取得した値を代入するしかないと思う。 ところで元と名前を変えるのキモい。
783 名前:デフォルトの名無しさん mailto:sage [2009/04/10(金) 22:57:02 ] >>782 ありがとうございます。早速やってみようと思います。 >ところで元と名前を変えるのキモい。 すみません・・・以後気をつけます
784 名前:770 mailto:sage [2009/04/11(土) 04:40:18 ] >>782 Private Type GSD_Info active As Boolean texSize As Long x As Long y As Long color As Long align As Long data As Long End Type --- Dim Ginfo As GSD_Info Dim GByte(256) As Byte Ginfo.data = VarPtr(GByte(0)) Call GSD_DataLock Call GSD_GetTexture(0, ByVal VarPtr(Ginfo)) とし、Ginfo.texSizeを取得しても戻って来るはずのテクスチャサイズが 戻ってきませんでした。 置き換えって難しいですね・・・更に試行錯誤してみます。
785 名前:デフォルトの名無しさん mailto:sage [2009/04/11(土) 08:10:46 ] ところで GetTexture の宣言文どうなってるの?
786 名前:770 mailto:sage [2009/04/11(土) 12:03:47 ] >>785 BOOL GSD_GetTexture(int index, struct GSD_TextureInfo *info); とマニュアルに記載いたしておりましたので Private Declare Function GSD_GetTexture Lib "gsd.dll" (GSD_Index As Long, GSD_TextureInfo As Long) As Long といたしました。
787 名前:デフォルトの名無しさん mailto:sage [2009/04/11(土) 13:58:30 ] >>786 ByVal 指定がないじゃん。
788 名前:デフォルトの名無しさん mailto:sage [2009/04/11(土) 20:26:58 ] だね。こんな感じでどうだ。 Private Declare Function GSD_GetTexture Lib "gsd.dll" (ByVal index As Long, ByRef info As GSD_Info) As Long
789 名前:デフォルトの名無しさん mailto:sage [2009/04/11(土) 23:02:10 ] 予想通りの展開の予感
790 名前:デフォルトの名無しさん mailto:sage [2009/04/12(日) 00:03:06 ] >>752 ちょいまち Err.RaiseもRaiseEventもQBにはないよ、と揚げ足をとる。
791 名前:デフォルトの名無しさん mailto:sage [2009/04/12(日) 00:09:32 ] お前は視野が狭く小さい人間だ QBだけの話じゃない事すら見えていない 人間のクズだ ゴミだ 何故おまえはここにいる お前の目は飾り物か ガラスの玉でも入れておけ お前の頭は帽子のスタンドか 帽子すら置けない役立たずか
792 名前:デフォルトの名無しさん mailto:sage [2009/04/12(日) 08:07:13 ] どこを縦に読むんだ?
793 名前:デフォルトの名無しさん [2009/04/13(月) 23:18:04 ] >>790 そもそもどちらもRaiseではあるけど、 まったく別の用途だから並んでることにすごい違和感を覚える。 クラス間連携でRaiseEventを使わざるを得ないこともあるし、 On Error Resume Next で拾わざるを得ない処理は Err.Raise 必須だし、 どちらも一般的に使いそうなもんだけどなぁ。
794 名前:デフォルトの名無しさん mailto:sage [2009/04/14(火) 09:45:23 ] >>793 俺もそう思う
795 名前:デフォルトの名無しさん mailto:sage [2009/04/14(火) 18:21:00 ] officeXPのaccessのmdbをVB6でGetObjectしています。 それからDoObj.RunSQLでSQL設定しています。 ところが、accessをoffice2007に変更すると、 GetObjectのところでunknown errorになってしまいます。 何かDLLか足りないみたいですが、ググっても 見つかりませんでした。どなたかヒントあったら下さい。 お願いします。
796 名前:デフォルトの名無しさん mailto:sage [2009/04/15(水) 02:28:57 ] 救世主スレ見つけたw VBで作ったスケジュール管理システムを、ネットを使って外からスケジュールをアップデートできるようにしたいんですけど VBをHTMLでネット経由で動かす方法がまったくわかりません(´・ω・`) 学校の一学期使ったプロジェクトレベルのシステムなので、そんなに複雑じゃないので十分です。 自分はHTML担当で、VBを稼動ブラウザか何かで稼動させなくちゃならないのですが、 知識が無さ過ぎて何をググって良いのかも分からないっす(><) 何か良いページでもあったら、教えてくださいm(_ _)m
797 名前:デフォルトの名無しさん mailto:sage [2009/04/15(水) 02:53:15 ] VBでhttpdを作りたいって事?CGIとしてVBプログラムを動かしたいって事?クライアントがVBって事?
798 名前:デフォルトの名無しさん mailto:sage [2009/04/15(水) 03:04:48 ] >>797 >CGIとしてVBプログラムを動かしたいって事? おそらくこれです! MSISSとOracleとVBとAccessでスケジュール管理システムを構築するのですが、 利用者が自宅からスケジュールをチェックしたり更新したりする必要があるので そのインターフェースをHTMLで。との事です。
799 名前:デフォルトの名無しさん mailto:sage [2009/04/15(水) 03:09:25 ] では VB CGI IIS でぐぐればいいんじゃないか?
800 名前:デフォルトの名無しさん mailto:sage [2009/04/15(水) 03:12:14 ] >>799 どうもありがとうございます! 逝ってきますノシ
801 名前:デフォルトの名無しさん mailto:sage [2009/04/15(水) 03:32:05 ] >>787 >>788 助言ありがとうございました。 あれから色々試してみたのですが、どうもダメでした・・・ せっかく教えて下さったのに申し訳ありません。
802 名前:デフォルトの名無しさん mailto:sage [2009/04/15(水) 10:34:13 ] VBでCGIは作れないよ IIS使えるならASPで
803 名前:デフォルトの名無しさん mailto:sage [2009/04/15(水) 10:46:32 ] Win32APIで標準入出力できるからCGIは普通に可能 でもhttpdはCGIを呼ぶ側だろ httpdもWinsockなどを使えば当然作れる
804 名前:デフォルトの名無しさん mailto:sage [2009/04/15(水) 11:01:55 ] API実装してまでやるんだったら Cで書いた方が早くね?
805 名前:デフォルトの名無しさん mailto:sage [2009/04/15(水) 12:25:46 ] VBでやりたいって言うんだからしょうがないだろ
806 名前:デフォルトの名無しさん mailto:sage [2009/04/15(水) 16:51:07 ] FSOでできるだろ
807 名前:デフォルトの名無しさん mailto:sage [2009/04/15(水) 23:26:48 ] 普通に考えたら、コンポーネント化して、ASP/ASP.NET から呼ぶだろ
808 名前:796 mailto:sage [2009/04/16(木) 01:26:57 ] えっと・・・。何がなにやら・・・。 自分達はプログラマーじゃなくて、システム管理のクラスをとってるだけなんです(´・ω・`) VBとSQLの基礎をちょっとやった事があるくらいのレベルなのに、 自分達でシステムをくみ上げなければいけないと言うクレイジーな状況でして・・・。 自分もHTMLのHPくらいは作った事あるけど、データを扱うとか皆目検討が付かないorz 一応ソースの一部を提供されてるんですけど、何がなにやら。 ソースの一部です。 <body lang=EN-US style="tab-interval: .5in"> <form ACTION = "/cgi-bin/Demo1" METHOD =GET> <p>Type a word in each box, then press the Submit button <p> <p><INPUT TYPE="text" NAME="Field1" VALUE></p> <p><INPUT TYPE="text" NAME="Field2" VALUE></p> <p><INPUT TYPE="submit" VALUE="Submit Message"></p> <p> <p> The button will call the VB program Demo1.exe </form> </body>
809 名前:デフォルトの名無しさん mailto:sage [2009/04/16(木) 01:34:23 ] こりゃあ一般人が二階建て住居を建てるようなもんだな がんばれよ
810 名前:デフォルトの名無しさん mailto:sage [2009/04/16(木) 01:38:03 ] ちょwwまwwww 何か参考になるサイトの紹介でもいいんで、助けてプリーズ・・・orz
811 名前:デフォルトの名無しさん mailto:sage [2009/04/16(木) 01:42:17 ] VB → VBScript exe → asp にかえてもらえ。 たいしてかわらんだろ。
812 名前:796 mailto:sage [2009/04/16(木) 01:48:42 ] >>811 あ、できると思います。 あくまで参考のソースなんで、使っても使わなくてもいいらしくて。 最終的には「ちゃんと動けばいい」くらいの話なんで。 質問には答えるけど、自分達で調べて勉強しろよー。と言う 千尋の谷に突き落とすと言う名の半手抜き講義っす(# ^ω^)
813 名前:796 mailto:sage [2009/04/16(木) 01:59:44 ] >>811 ありがとうございます! asp vbscript のセットでぐぐったら、入門ページがいっぱw 見てきます(・ω・)ノシ
814 名前:デフォルトの名無しさん mailto:sage [2009/04/16(木) 23:34:28 ] なんともこの業界の輝かしい未来のあるスレよ
815 名前:デフォルトの名無しさん mailto:sage [2009/04/18(土) 10:05:03 ] 素人なのですが、VB6.0で遊んでます。手軽にWYSIWYGエディタ 機能 を 実現できる dhtmled.ocx(AvtiveX)が便利なのですが、 なにやrら、ネットに接続した場合脆弱性の問題が生じるとか。 その問題はWindowsXP環境だと最新にアップデートしてあれば クリアできる?
816 名前:デフォルトの名無しさん mailto:sage [2009/04/18(土) 10:36:26 ] クリアできるかどうかすら定かにならないからセキュリティー問題ってのは難しいんだよ そもそもこんなところで聞いて「クリアできる」って答えが返ってきたら、君はそれを信用するのか? だとしたらソフトやコンポのセキュリティー以前に、君の思考セキュリティーに問題有りだ。 逆に信用しないなら、聞くこと自体意味がない
817 名前:デフォルトの名無しさん [2009/04/18(土) 18:43:07 ] >>816 激しく同意 >>815 まずコンポーネントのメーカに確認しろよ
818 名前:デフォルトの名無しさん mailto:sage [2009/04/19(日) 02:20:53 ] >>793 VBのキーワードのおおらかさ(笑)を言い出したら、 N-BASICの時点でGETがグラフィックだったりファイルIOだったり するしなあ・・・ いまじゃファイルIOとプロパティかw
819 名前:デフォルトの名無しさん mailto:sage [2009/04/19(日) 17:17:49 ] Form2.Show vbModal, Form1 のようにオーナーフォームを指定して呼び出した場合に Form2のForm_Loadでオーナーフォームを取得する方法を教えてください。 手続き的にはForm2にグローバルプロパティとか作って、Showの後に直接Form1を渡せば Form2側でForm1を取得すること自体は出来ますが、そういう方法ではなくForm2から辿る方法を知りたいです。 FormオブジェクトのメンバにOwnerFormとかParentObjectとか有るかなと思ったけど無いようだし、 GetWindowLongのGWL_HWNDPARENTでは、ThunderRT6FormDC(フォーム)ではなくThunderMainが取得されてしまい 他に有用なAPIも見あたらないです。 ThunderRT6FormDCを列挙するだけなら出来ますが、どれがオーナーフォームに設定されてるか 或いはオーナーフォーム指定無しで呼び出されているのかを取得するにはどうすれば良いのでしょうか?
820 名前:デフォルトの名無しさん mailto:sage [2009/04/19(日) 18:02:38 ] GW_OWNER指定してGetWindowでハンドルが取れるらしいけど。 ハンドルが取れればFormsで列挙して探せるんじゃないのかな。 でも、オーナーを指定して表示&オーナーフォームの取得ができるフォームの インターフェイスを定義してそれを実装する方が簡単な気もする。 しかし、VBってそんなプロパティもなかったんだっけ。
821 名前:デフォルトの名無しさん mailto:sage [2009/04/21(火) 20:40:14 ] VB6を使用してIISアプリを作成したいのですが、 新規にプロジェクトを作成すると「IISかPWSが必要です」とエラーが表示されてしまいます。 IISはインストール済みなのですが他にも必要なものがあるのでしょうか? OSはWindows2000Proです よろしくお願いします。
822 名前:デフォルトの名無しさん mailto:sage [2009/04/21(火) 22:01:24 ] >>821 IISのバージョンが新しすぎる。VB6時代の古いのが必要。
823 名前:デフォルトの名無しさん [2009/04/22(水) 00:26:25 ] VBEの ツール/オプション/エディタの設定 で、コードの文字色とか背景色とか設定できるけど ここで指定できる色を書き換えるのってどうやるんだっけ? 以前何処かで見たんだが、そのときは「へぇ、こんな事も出来るんだぁ」くらいにしか思ってなかったが 今になってどうしてもやりたくなったので、知ってる人が居たら教えてください
824 名前:デフォルトの名無しさん mailto:sage [2009/04/28(火) 00:26:49 ] クラスモジュールって、初めは何なのか全く理解不能な怪物だったな。 クラスモジュールの説明をしてる本って無いんか。 VB4〜6の本やExcel VBAの本やWord VBAの本で、いずれも見たことが無い。 VBをほったらかして、別のプログラム言語を学習してたので、その知識を応用 すれば、理解できるようになった。 VBで直接クラスモジュールの学習をしたことが無い。 Visual C++人の作ったソースファイルだから、C++言語の学習しといて正解だった。 正しくVB用語使ってくれないからな。そのせいで、危うく理解不能で仕事失格になる ところだったぞ。ユーザー定義型を構造体って言ったり、オブジェクトの参照のこと をポインタと言ったりするのは、まだCにもあるから序の口だが、メンバ関数とか、 コンストラクタとか、デストラクタって言葉はC++の用語だということを後から知った。 クラスモジュールは上級者用の本なら載ってるんかいな。
825 名前:デフォルトの名無しさん mailto:sage [2009/04/28(火) 00:33:43 ] どこからタイムスリップしてきたんだ?
826 名前:デフォルトの名無しさん mailto:sage [2009/04/28(火) 00:34:12 ] 載ってるだろ
827 名前:デフォルトの名無しさん mailto:sage [2009/04/28(火) 00:39:17 ] どの本に載ってるんだ。
828 名前:デフォルトの名無しさん mailto:sage [2009/04/28(火) 00:42:53 ] > ユーザー定義型を構造体って言ったり、オブジェクトの参照のこと > をポインタと言ったりするのは、まだCにもあるから序の口だが、メンバ関数とか、 > コンストラクタとか、デストラクタって言葉はC++の用語だということを後から知った。 世の中と違う用語(MS俺様用語)を使うのはVBくらいのもので、それ以外の言語では どこいっても通じるんですよ。
829 名前:デフォルトの名無しさん mailto:sage [2009/04/28(火) 00:43:45 ] 上級者用プログラミング言語C++のプログラム人も、VB6を使うこともあるんですか。
830 名前:デフォルトの名無しさん mailto:sage [2009/04/28(火) 00:44:36 ] 俺は「VBCOM」って本で勉強した記憶がある ググるの面倒だから勝手に探して
831 名前:デフォルトの名無しさん mailto:sage [2009/04/28(火) 02:05:31 ] モジュール変数の宣言をPrivateと書くな、Dimと書け。
832 名前:デフォルトの名無しさん mailto:sage [2009/04/28(火) 02:08:18 ] >>831 何故それを強要するの?
833 名前:デフォルトの名無しさん mailto:sage [2009/04/28(火) 20:18:49 ] 変数はDimで宣言が普通。ちょっと知的なムードを漂わせたい時はGlobalかな。 変数名は短く略語で大文字で。 クラスモジュールは言語オタクの為の機能だから禁止。
834 名前:デフォルトの名無しさん mailto:sage [2009/04/28(火) 20:34:12 ] >>833 しぬの?
835 名前:デフォルトの名無しさん mailto:sage [2009/04/30(木) 08:54:03 ] 質問があります。 環境:VB6 SP6@XP Pro SP3 ・リッチテキストボックスかテキストボックス内で、改行のみの行を削除したいです。 ========= あいうえお かきくけこ ←改行のみの、この行を削除 ←上に同じ さしすせそ ========= 以上、どうかよろしくおねがいします。
836 名前:デフォルトの名無しさん mailto:sage [2009/04/30(木) 09:03:52 ] リストに突っ込むときに if( 項目 = vbcrlf) then とかではじけばいいじゃないか・・・・
837 名前:デフォルトの名無しさん mailto:sage [2009/04/30(木) 10:32:46 ] あいうえお[vbCrLf]かきくけこ[vbCrLf][vbCrLf][vbCrLf]さしすせそ ってことだから、vbCrLfの連続をvbCrLf単一に置換すれば良いだけでしょ 正規表現使えば、2個以上→1個を一発で出来るし 2個→1個でループ回せば、正規表現無しでも出来る
838 名前:835 mailto:sage [2009/04/30(木) 10:36:51 ] >>836 レスありがとうございます。 一気に>>835 に書いた例で取り込んでしまっているのです。 >>873 レスありがとうございます。 ループの方で試してみたいと思います。 ありがとうございました。
839 名前:デフォルトの名無しさん mailto:sage [2009/04/30(木) 10:55:54 ] VB6だと配列を返す関数を下のように書いて動くの? 俺はVB使いじゃなくてVBAなのだが、VBAじゃAs Integer()としないと動かないんだが。 もっともExcelのユーザー定義関数として使うなら引数もInteger型にしないと動かないけど。 動く動かないはおいといてByte型はないと思うな。 これって数値に使う型じゃねーもんな。 Function fnc(ByVal a As Byte, ByVal b As Byte) As Integer Dim ar(1) As Integer ar(0) = a + b ar(1) = a - b fnc = ar End Function ここに書いてあった。 oshiete1.goo.ne.jp/qa3511531.html?from=navi_ranking
840 名前:デフォルトの名無しさん mailto:sage [2009/04/30(木) 11:43:05 ] > VB6だと配列を返す関数を下のように書いて動くの? ↓ > すみません Ano3です > 関数宣言の As Integer は As Integer() でした って補足回答ついてるじゃん > これって数値に使う型じゃねーもんな。 数値に使う型だよ バイナリってのが0〜255の正数の配列だから 0〜255の正数を扱うByte型を配列にした物が、バイナリの格納にも利用されるってのが正しい解釈で Byte型ってのがバイナリ用なわけではなく、あくまでもByte型は数値を扱う型ね
841 名前:839 mailto:sage [2009/04/30(木) 12:23:07 ] >>840 補足見落としてたのか。 Byte型を数値計算に使うべきじゃないと思うけどな。 そこは考え方の違いとしてもfnc(255,1)はオーバーフローするな。
842 名前:839 mailto:sage [2009/04/30(木) 12:30:21 ] >すみません Ano3です なので見落としたのか。 Ano3じゃないもんな。
843 名前:デフォルトの名無しさん mailto:sage [2009/04/30(木) 12:38:15 ] >>841 使うべきか使うべきじゃないかなんて話は一言もしてないよ Byte型が数値に使う型か否かって話をしただけだ 君が「この場合は相応しくない」という状況に応じた話ではなく 「(Byte型は)数値に使う型じゃねー」という定義付けの話をしたから俺も定義付けの話をした そのユーザー提議関数で使うべきか否かって話なら、俺の意見も「使うべきじゃない」だ >>842 A no 3 じゃん [A]nswer(回答) [No](ナンバー) [3]番目
844 名前:デフォルトの名無しさん mailto:sage [2009/04/30(木) 12:45:49 ] >>843 別にユーザー定義関数として使わなくてもByte型はないと思うな。 「数値に使う型じゃねー」じゃなくて「数値計算に使う型じゃねー」って書けばよかったかな? Ano3は俺も書いた後気がついた。 あそこは初めてなのでそんな使い方するとは知らなんだ。
845 名前:デフォルトの名無しさん mailto:sage [2009/04/30(木) 13:09:07 ] >>838 おそれすだけど SPLIT使って配列にしてしまえば? 対象は改行で 改行が CRLとCRLF交るとか言うならREPLACEでやってからとか 配列にしときゃぁどうにでもなるっしょ?
846 名前:835 mailto:sage [2009/04/30(木) 15:03:22 ] >>845 レスありがとうございます。 改行コードはCR+LFなので、Splitでも試してみたいと思います。 どうもありがとうございました。
847 名前:デフォルトの名無しさん mailto:sage [2009/05/08(金) 00:04:49 ] VB6.0からWordを操作しようと思ってるのですが、 「WINWORD.EXE /a」の様に、起動スイッチを付加して applicationオブジェクトを生成することは可能なのでしょうか? ご教示お願いします。
848 名前:デフォルトの名無しさん mailto:sage [2009/05/08(金) 00:07:11 ] >>847 無理。起動してから GetObject() とかでどう?
849 名前:デフォルトの名無しさん [2009/05/08(金) 08:41:35 ] >>848 なるほど、GetObjectですか。試してみます、ありがとうございます!
850 名前:デフォルトの名無しさん [2009/05/08(金) 14:05:17 ] はじめまして VB6のプログラムを修正することになり、 試行錯誤で頑張っているのですが、 どうしても情報が少なくて行き詰ってしまいました、 ここの皆様のお知恵を貸して頂けますでしょうか アナログモデムを使って、遠隔地のデータセンターと接続し、 ベーシック手順でデータの送受信を行う そんなことがVBでできるのかすらわからないのですが、 調べた情報として グレープシティの「PowerTools ActiveComm」という製品で、 モデムを使った送受信ができそう というところまでで、行き詰ってしまいました この製品で大丈夫なのか、遠隔地との接続はどうするのかなど、 まだわからないことばかりですが、 何卒、宜しくお願いいたしますm(__)m
851 名前:デフォルトの名無しさん mailto:sage [2009/05/08(金) 14:22:15 ] MSCommでよさそうなものだが
852 名前:デフォルトの名無しさん mailto:sage [2009/05/08(金) 20:49:45 ] 自作は敷居高くね 全銀ベーシック手順なら、通信してテキストファイルに落してくれるパッケージ買った方が早いと思う。
853 名前:デフォルトの名無しさん mailto:sage [2009/05/08(金) 21:01:53 ] 自作ってのはWin32API使って実装することだろ それにMSComm任せなら十二分に敷居は低い
854 名前:デフォルトの名無しさん [2009/05/11(月) 00:30:39 ] VB6でフォームのあるディスプレイの解像度の取得方法は可能なのでしょうか。 VB.NETでいうところのScreen.GetBoundsにあたるやつです。 VB6ではできない、など助言をいただけますと助かります。 どうぞよろしくお願いします。
855 名前:デフォルトの名無しさん mailto:sage [2009/05/11(月) 00:37:49 ] Screen オブジェクトから取れなかったっけか?
856 名前:デフォルトの名無しさん mailto:sage [2009/05/11(月) 00:52:49 ] >>855 情報小出しですいませんでした。 プライマリとセカンダリのディスプレイがある構成で、 セカンダリの方の解像度が知りたかったのです。 Screen.Widthですとメインのディスプレイしか取得できませんでした。 現在フォームがあるディスプレイの解像度を取得することで セカンダリの解像度わかるはずと思ったのですが、 VB.NETのScreen.GetBoundsの情報しかなかったため質問させていただきました。 なんとか実現する方法はありませんでしょうか。
857 名前:デフォルトの名無しさん mailto:sage [2009/05/11(月) 01:02:11 ] マルチモニタ用の API を呼ぶしかないね。
858 名前:デフォルトの名無しさん mailto:sage [2009/05/11(月) 01:20:50 ] APIで。モニタを列挙して該当モニタの情報を取得、だったかな。
859 名前:デフォルトの名無しさん mailto:sage [2009/05/11(月) 01:30:27 ] >>857 >>858 アドバイスありがとうございます。 フォームのあるモニタのハンドルを取得(フォームをサブモニタ位置に移動してから) MonitorFromWindow モニタの情報を取得 GetMonitorInfo でサブモニタのbottom,left,right,top座標を取得することができました。 マジ感謝しております。 ありがとうございました。
860 名前:850 [2009/05/11(月) 09:28:13 ] >>851-853 返信ありがとうございます MSCommで調べてみたところ、解決できそうな気がしてきました ありがとうございました
861 名前:デフォルトの名無しさん mailto:sage [2009/05/13(水) 07:53:34 ] Dim c As Long Dim s As String c = RGB(&H12, &H34, &H56) s = _ "R: " & Right("00000000" & Hex(c And &HFF), 8) & vbCrLf & _ "G: " & Right("00000000" & Hex(c And &HFF00), 8) & vbCrLf & _ "B: " & Right("00000000" & Hex(c And &HFF0000), 8) MsgBox s と書いて R: 00000012 G: 00563400 B: 00560000 が表示されるんですが G を 00003400 として加工するにはどうすればいいですか?
862 名前:デフォルトの名無しさん mailto:sage [2009/05/13(水) 08:48:50 ] RightString(8, "0")" & Hex((c Mod &H10000) And &HFF00), 8)
863 名前:デフォルトの名無しさん mailto:sage [2009/05/13(水) 18:56:04 ] >>862 ありがとうございました おかげで希望通りの文字列が取得できました しかし理解力に乏しいのでまだよくわかりません >>861 で書いた c And &HFF00 の時点で(1)の結果を期待してましたが実際には(2)です Andでどういう風に演算されているのでしょうか? 00000000 01010110 00110100 00010010 (&H563412) 00000000 00000000 11111111 00000000 (&HFF00) -------- -------- -------- -------- And 00000000 00000000 00110100 00000000 (&H3400)..........(1) 00000000 01010110 00110100 00000000 (&H563400)..........(2)
864 名前:デフォルトの名無しさん mailto:sage [2009/05/13(水) 19:20:22 ] >>863 ウォッチウィンドウで&hff00を入れてみると、Integer型で-256と解釈されていることが分かる。 -256を符号拡張すると&hfffffff00になるというわけ。
865 名前:デフォルトの名無しさん mailto:sage [2009/05/13(水) 20:22:00 ] >>864 ありがとうございます 確かにIntegerとして扱われてました おかげでなぜうまくいかないのか把握できました
866 名前:デフォルトの名無しさん [2009/05/18(月) 08:55:14 ] 質問です。 VBでプログラムのデバッグをしたいのです。 エラーを発生させて確認したいのですが イミディエイトウインドウにうちこむ Err.Raiseを使うときの引数の渡し方がわかりません。 Err.Raise(゙゙,゙゙,゙゙,゙゙) それぞれどう設定すればいいのでしょうか。 画面番号やヘルプテキストなど。 あと、Callなどを付けずに、Err.Raiseだけいれてエンターキー押せばいいのですか? よろしくおねがいします。
867 名前:デフォルトの名無しさん [2009/05/18(月) 23:42:37 ] >>866 Err.Raise エラー番号 ex) Err.Raise 9 --------------------------- Microsoft Visual Basic --------------------------- 実行時エラー '9': インデックスが有効範囲にありません。 --------------------------- OK ヘルプ --------------------------- まぁ、ヘルプくらい嫁
868 名前:デフォルトの名無しさん [2009/05/19(火) 13:11:46 ] >>867 解答ありがとうございます。 Err.Raise 9 を入力したのですが、 エラーを発生させて、あらかじめラベルを貼った Errorラベルにデバッグで移動をしないのです。 やりたいのは On Error GoTo Error1 処理〜 Error1: エラーメッセージ出力 これでF8キーで実行してデバッグ中に Err.Raiseを使用して、Error1ラベルに移行したいのですがうまくいきません。 コードを編集せず、イミディエイトウインドウで行いたいのです。 よろしくおねがいします。
869 名前:デフォルトの名無しさん mailto:sage [2009/05/19(火) 14:15:14 ] 停まってる車で目的地に行きたいと言ってるのか
870 名前:デフォルトの名無しさん [2009/05/19(火) 20:40:34 ] >>869 はい。 何らかの処理でエラーが発生してErrにコードが設定されますよね。 例;ファイル書き込み異常など。 その時に、予め設定しておいたエラー処理に移行するのですが、 それをデバッグ中に、コードや環境をいじらず行いたいのです。 Err.Raiseで起こせると過去のログで読んで試したのですが、うまくいかず。 イミディエイトウインドウに教えていただいたコードを設定したのですが、 ポップアップウインドウは出るのですが エラー処理に移行しないので。 その方法を教えてもらいたいのです。 ソースは、引数のない関数を呼び出しているだけなので、 環境でエラーを起こす方法が、それ以外なくて困っています。 よろしくお願いします。
871 名前:デフォルトの名無しさん mailto:sage [2009/05/19(火) 22:11:31 ] GoTo Error1 でいいんじゃね?