VBプログラマ質問スレ(6.0以前) Part34
1 :
デフォルトの名無しさん :
04/05/14 23:17
2 :
デフォルトの名無しさん :04/05/14 23:20
いわゆるひとつの2ゲットですね
4 :
デフォルトの名無しさん :04/05/14 23:33
USB機器を直接操作しようと思うのです。 CreateFileでなんとかなりそうという所までは わかったのですがCreateFileにて指定する。 ファイルの部分{CreateFile(***,・・・}***の部分になにを どのように取得したら良いのかわかりません。 ご存知の方申し訳ないのですが、お教えください。 サンプル等あるのでしたら、日本語、英語を問いませんのでURLをお教えください。 宜しく御願い致します。
>>4 USB機器っていってもいろいろあるわけでしょ。
VBのPGに、というかVBに限らずPG全体でもこういうこと詳しい人が
そんなにいるとは思えないけど、仮に詳しい人がいてもそれじゃ答えようがないと思う。
ベンダ独自のプロトコルを使い独自のドライバが必要なデバイスと
USB-IFのデバイスクラスでプロトコルが予め定義されてWindowsに
最初からドライバ入ってるデバイスじゃ全く違うだろうし、デバイスクラスが
定義されたものの中でもHID、ストレージ、サウンドではそれぞれ使う転送モードが
違うから全く違ってくると思うんだけど。
ま、とりあえずDDK手に入れてそのサンプルコードがすらすら読めるぐらいに
ならんとなんともならないんじゃないの?
最初に言いたいんですが、質問スレなんだから、 「1 ○○なんですけれどどうしたらよいですか?」 「2 ××がよいと思われ」 という流れに対して 「>2 それじゃ全然ダメだね」 「>2 ちょっとでも△△かじっていたらそんなことは怖くて出来ない」 と、思わせぶりに指摘だけするレスはやめていただきたいです。 「俺は本当のところを知っているけれど藻前らには教えないよクス」 としか受け取れません。実際そうやって釣ってるだけなのかも知れないが。 どこがどうダメでどうした方がベターなのか書いてください。というか 教えてください。ほかならいざ知らず質問スレなんだから。 質問自体がアフォとか釣りとかいうのは別だよもちろん。
自分で書いておいてなんだがどうせ
>>6 はただの偽善にしか
読めない罠・・・
あんまり他人に指図するつもりでもないので軽く流してくらさい。。
ついでにForm1からForm2のXXをチョメチョメしたいのですがどうしたらいいでしょう? って馬鹿質問も一切禁止してほしい。
9 :
デフォルトの名無しさん :04/05/15 12:55
テキストファイルの最後の行を消す方法教えてください。
10 :
デフォルトの名無しさん :04/05/15 13:24
>>9 最後の行を書かないファイルを作ればいいじゃん。
っていうかこんなの自分で考えられないのはだめだろ。
>USB機器を直接操作しようと思うのです。
ドライバを通さずに、USBに直接送り付けたいのです。
(この表現も微妙な気がしますけど。)
ベンダ独自のプロトコル仕様も手には入れているのですが、
{CreateFile(***,・・・}***にて指定する部分に
何をどう取得して、やればいいのかがわからないのです。
以前はCOMポートのプログラムの時は{COM3}と直に書くことで
制御できていたのです。
>>5 さんの言われてる通りDDKに書かれてるから読めばいいということ
なのでしょうか?
>>4 なんでそんな事をしたいのかが疑問だが、UUSBD.DLL でもGoogleで調べてみたら?
>>1 ここでVBAとVBScriptの質問はさせるな うざい。
ビジネス板とスクリプトスレでやらせろ
>>12 貴重な情報ありがとうございます。
先日見ております、見た感じで申し訳ないのですが、
一度に複数の同一の機器を動かすことは出来ないように思えました。
>>5 DDKなのですが、DL出来なくなってるようです。
どなたかWindows2K DDKをDL出来る場所はないのでしょうか?
>>11 根本的な誤解があると思う。OSの仕組みに対して。
CreateFile使ってハンドル取得する、ってことは自動的にそのデバイスの
デバドラを使うってことなんだけど。
で、USBの(というかWDMの)ドライバの場合、CreateFileの引数として
必要なシンボリックリンク名?を取得するために、確かデバドラのGUIDが
必要になったはず。
というか、Windowsのアプリである以上、デバイスに勝手にアクセスなんて
普通はできないと思うんだけど。。
17 :
デフォルトの名無しさん :04/05/15 15:56
@アイコン同士の間にあるような立体的な線はどうやる? Aメニューバーの部分をVb6のメニューバーみたいにフォームから少し浮いたようにするには? Vb6です。よろしくお願いします。
>>17 また自分以外はエスパーだと思ってるおめでたい人が現れましたな。
というより、横着な人は書く文章にすらその横着ぶりが表れると言うべきか。
>>17 CoolBarの中にToolBarを入れてバンドでchildだ。エスパー同士ならこれで全てわかるよな。
20 :
デフォルトの名無しさん :04/05/15 16:17
エスパーってなんですか?
>>19 すいませんアルファベットの部分とカタカナ部分がまったくわかりません。
>>14 複数の同一機器はちゃんと使えるようだが。
>>15 さん
知り合いにまず、聞いた時に、「CreateFileをつかってI/O操作で直接〜」
って言われたのを勘違いしてたみたいです。
ご指摘ありがとうございます。
>>16 さん
>>14 さん
ありがとうございます。
無料で送って貰えるのですね(^^)
すぐに申し込みします。
>>22 とりあえず、これからUUSBD.DLLを使って組んでみます。
情報提供してくださり有難うございます。
24 :
デフォルトの名無しさん :04/05/15 19:12
そもそもなぜ一つのデバイスしか操作できないと思ったんだろう? こんな奴がデバイス操作する処理をコーディングするのか。 こえー!まじこえー!
>>24 得意げな(実は何も知らない)馬鹿を一応叩いておくか。
確かに、UUSBDを使って同一の種類の(同一のVid,Pidを持つ)デバイスを
複数扱えないことはない。デバイスハンドルさえちゃんと取得できれば。
しかし、あんたUUSBD.dllのソース読んだことある?
UUSBDでは、Vid,Pidを指定してデバイスのハンドルを取得すると、
たとえ同一のデバイスが複数接続されていても常に同じ(一番最初に接続された)
デバイスのハンドルが返ってくるようになっている。
だから、1種類のデバイス専用のドライバにしてしまうのならともかく、
複数種のデバイスで使用する可能性を残しておいた場合、同一種の複数のデバイスの
ハンドルを取得するのは簡単にできない。
つまり複数の同一のデバイスを同時にアクセスできない、という印象を持っても
そんなに間違ってない。
ついでに作者の柏野もインターフェイスの記事でそのような使用法は
想定していないと書いている。
26 :
デフォルトの名無しさん :04/05/15 20:50
>>25 > 得意げな(実は何も知らない)馬鹿を一応叩いておくか。
思いこみっていいね。
> つまり複数の同一のデバイスを同時にアクセスできない、という印象を持っても
> そんなに間違ってない。
間違ってるんだが。そんなに間違ってるってなんだよ(苦笑
>>26 基本的にVBで組んでますので、C言語にて書かれたプログラムを改変して
自分好みの仕様に変更できるほどのスキルを持ってないのです。
まぁ脳みその中では、「あぁこのDLLのソースを元に改変すればできるだろうけど・・・」
とは思いましたが、なにぶんVB房なもので良い物を紹介して頂いたとは思っても
「うっ、ちょっと自分の用途には向かないかも」とも思うわけですよ。
ttp://www.otto.to/~kasiwano/newpage22.htm の「1.1つのインターフェースにしか対応していない 」と書かれてれば
そりゃぁなんとかしようとスキルの有る人が思うのとスキルの無い人が
思うのであれば全然違った印象になっても不思議ではないのではと思うのですが。
>こんな奴がデバイス操作する処理をコーディングするのか。
>こえー!まじこえー!
ちなみに自分自身でも怖いですよ(w
しかし、怖いからと言ってなにもしないよりは良いと思うのですが。
壊しても自分の自己責任でやってることですので。
>>27 1つのインターフェイスにしか対応していないってのは、uusdbの元になっている
DDKのBulkUSBのことのはず。
UUSBはマルチインターフェイスに対応していたはずだと思う。
しかし、「インターフェイス」って言葉の意味がわからない人が
USBデバイス扱おうなんて無謀というか無理だと思う。
(ユーザーにとって)Easy Operationであることを、開発者にとってEasyであることと
取り違えてないか?
29 :
デフォルトの名無しさん :04/05/15 21:56
>>27 > しかし、怖いからと言ってなにもしないよりは良いと思うのですが。
> 壊しても自分の自己責任でやってることですので。
あ、趣味かなんかでやってんのね。ならお好きにどうぞ。
>>20 >>17 みたいな聞き方しておいて
>>19 がわかんないってことはないだろ・・・
わかんなきゃ「Windowsユーザーインターフェースデザインガイド」でも
古本屋で探してきて「他人に通じる一般的な名前や表現」というのを
頭にたたきこめ。
31 :
デフォルトの名無しさん :04/05/17 00:18
4つの整数データ「24、17、16,18」が保存されている 配列があり、このデータを交換法で昇順に並び替える そのときのプログラムが知りたいのですが誰か御存じないでしょうか?
クイックソートか? ソートとアルゴリズムでググれば腐るほど出てくると思うが。
33 :
デフォルトの名無しさん :04/05/17 10:52
34 :
デフォルトの名無しさん :04/05/17 13:48
エスパーってのは、超能力者ということ。 つまり、手抜きのわけわからん質問をしても、超能力者なら それで答えてくれるだろうと思っているだろうということだな。
その昔、超絶技巧を持ったプログラマはWizardって呼ばれてたから、あ ながち間違いとも言い切れん罠。
でも魔法使いって30超えて童貞なんだろ?
38 :
デフォルトの名無しさん :04/05/17 17:16
じゃ オレ 魔法使いじゃねーや(爆
↓何事も無かったように次の質問ドゾー
40 :
デフォルトの名無しさん :04/05/17 17:59
質問です。 iniファイルで同一セクション名が複数ある場合は getPrivateProfileString関数での値の取得はできないのでしょうか?
[条件] ・テキストボックスにRGBの輝度を入力し、実行ボタンをクリックすると、フォームの背背景をその色に変化させる。 ・終了ボタンでプログラムが終了する。 高校でのプログラミングの課題なのですが、全く分かりません。 どういう操作をすれば、良いのか教えて下さい。 お願いします。
>>41 >全く分かりません。
それは全然調べてないから。逆に言えば、ちょっと調べればそんなこと
嫌でもわかる。VBなんて文献だってネット上の情報だって腐るほどあるんだから。
学校の勉強でしょ?少しは調べてみたら?
それも嫌なら人のやつ丸写しすれば同じことじゃん。
>>41 RGBくらいは何か分かるか?
ペイントの色の編集で赤緑青あるだろ。あれ。
高校でのプログラミングの課題であれば、それまでの授業の内容に答えはあるはず。 答えを教えるのは簡単だが、それではその先生に失礼だからなあ
ある事情で、いきなり授業を受けることになったので 現時点では全く意味が分からない状態です。 周りはオタクだらけで、なにも聞かずとも理解しているようです。 これから勉強していくとして、とりあえず目先の課題だけはやれないと どうにもならないので、質問させていただきました。 すみません。
46 :
デフォルトの名無しさん :04/05/17 23:30
16進数の文字列をどうやって10進数の数字にできるんですか?
Dim s As String Dim i As Long s = "FE" i = Val("&H" & s) Debug.Print i
>41 TextBoxを三つ作る(Text1〜Text3(R,G,B入力用)) CommandButtonを二つ作る(Command1(実行ボタン)Command2(終了ボタン)) Command1をダブルクリックし、クリックイベントに Me.BackColor = RGB(Val(Text1.Text), Val(Text2.Text), Val(Text3.Text)) これで背景がかわる Command2に End これで終了 エラー処理まったくないので、今後の課題。
>>48 セイガクさんには一応、Command2でUnload Meと教えておいた方が。。。
どっちがいいんだろ。
50 :
デフォルトの名無しさん :04/05/18 01:06
お尋ねします。 メールの OutLook なんかで、メールが目録でリストビューになっているのを 単独または複数掴んでエクスプローラにドロップする(ドラッグアンドドロップする) と全部ファイルになって保存されるのですが、これを同じ操作を実現したいのですが 可能でしょうか。 テストアプリ上のリストビューで、DragOverイベント時にGetFormat()でそれらの DataObjectを見ると、それらはText形式のデータとなっていてその内容を展開する と、OutLookの目録に見えている情報がテキストになっているだけでした。この後、 どうやったらエクスプローラで行なわれるのと同じ処理ができるのでしょうか? すみませんが、よろしくお願いします。
51 :
デフォルトの名無しさん :04/05/18 01:07
>>50 訂正
>これを同じ操作を × >これと同じ操作を ○
プログラムが終了する、という条件ならEndかな Unload Meとの違いも知っておく必要もあるけど、そこはまた別の話題になるし
>>40 そういうのはWin32APIスレで聞け。
ちなみにGetPrivateProfileSectionで重複するキーを含めて
セクション内の文字列を全部取得できます。あとはSplitで
Limitに1を指定してキーと値を各々自分で分ければOK。
>ALL 恥としれいッ!
56 :
デフォルトの名無しさん :04/05/18 10:14
恥を知れの誤り
57 :
デフォルトの名無しさん :04/05/18 15:42
vb6.0で以下の動作を行うために必要な命令は何でしょう? MSDN検索掛けても判りませんでした。 Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer) Select Case vbKeyF1 [ここでイベント"cmdHelp_Click"を呼び出したい。] Case vbKeyF2 (略) End Select End Sub Private Sub cmdHelp_Click() (略) End Sub
58 :
デフォルトの名無しさん :04/05/18 15:43
call cmdHelp_Click() で ダメか?
☆★☆★★☆ラッキーシリ☆★★☆★☆ ⊂⊃ .☆.。.:*・゚ ∧_∧. / ( ´∀`)/ このシリに出会ったあなたは超桃尻。 /, つ 近々便秘が舞い込んでくることでしょう。 (_(_, ) しし' ☆★☆★★☆ラッキーシリ☆★★☆★☆
>>58 ありがとうございます。
何で気づかなかったんだろうorz
俺select caseの使い方間違ってるしorz
>>48 ありがとうございました。
とりあえず、解決できました。
>>50 >DragOverイベント時に
は、正確には >OLEDragOverイベント時に
でした。すみませんが、よろしくお願いします。
>>64 操作としては逆の内容で、たとえばエクスプローラからのD&Dはできています。
メーラーからの場合はメーラーの提供するオブジェクトかなにかを
知る必要がある?のかなあとも。どうなんでしょ?
IDEで実行しているのか、コンパイル済みなのかを コード中で判別する方法を教えてくささい
67 :
デフォルトの名無しさん :04/05/19 11:51
VBでバインド配列を使いたいので Dim IdArray As OraParamArray とすると↑の行で「ユーザー定義型は定義されていません」 ってエラーが出ます。 どういうことでしょう? お願いします、教えてください。
68 :
デフォルトの名無しさん :04/05/19 11:59
OraParamArray ってのが ないんだろ。
>>68 oo4oのヘルプ見たらいきなり
Dim OraSession As OraSession
Dim OraDatabase As OraDatabase
Dim EmpnoArray As OraParamArray
Dim EnameArray As OraParamArray
みたいな書き出しされていたんです。
ネットで調べてもほぼ同様・・・
それらはどこかで定義されているんでしょうか?
70 :
デフォルトの名無しさん :04/05/19 12:23
オラクル関係のものをアドインとかしたりしないのか?
>>70 OraParamArray以外のoo4o関係のものは正常に動作しています。
なのでアドイン関係では無いのかな、と思っていますが・・・。
参照設定はどうなってる?
73 :
デフォルトの名無しさん :04/05/19 13:53
そーだそーだ!oo40のバージョン晒せ! でないと、分からん
あ、ヘルプに載ってるならバージョンはいいのか。。。 んじゃ参照設定だけでイイんでない?
IDEで実行しているのか、コンパイル済みなのかを コード中で判別する方法を教えてくささい ってば
Debug.Print 1/0 でも走らせてみれば?
そもそも何でそんなことをしたいのか…?
参照設定はOLEとかoracleとかoo4oとつくものは、片っ端から参照するよう 設定してみました。 それがまずかったんでしょうか?
>78 ヘルプで「参照設定」を嫁
>78 参照設定を「OracleInProcServer 2.X Type Library」だけにしてみSO
VB6のComboBoxに関して 環境は WinXP Pro (SP1) VisualStudio 6.0 Pro (SP6) MS-Office 2000 (SR-2) 皆さんにご相談したいのは、 ・新規プロジェクトを作成し、フォームにコンボボックスを置きます。 ・このコンボボックスのプロパティ(List)に「ABC」を追加します。 ・このコンボボックスのプロパティ(ItemData)には、この時点で 「0」が自動生成されていますが、これを「1」に変更します。 ・再度、コンボボックスのプロパティ(ItemData)を見ると又、 「0」に戻ってしまいます。 因みに、「10」等2桁を設定すると、そのまま残っています。 この様な、現象が発生したりその対策を知っている方が居ましたら 助けてください。 因みに、以前にも同じ現象が発生しその時は、OSから再インストール する事で直りましたが、又いつの間にか同じ事に成っていました。 長文・乱文で申し訳有りませんが、宜しくお願いいたします。
うちではそんなことはない。
>>57 cmdHelp.Value = Trueとか。
85 :
デフォルトの名無しさん :04/05/19 22:55
質問とちょと違うかも知れないが みなさんコントロールの名前にプレフィックスつけてまつか? 漏れは変数にはプレフィックス付けてないんですが、コントロールには ヘルプに習ってプレフィックス付けてます。 .NETでは一般にはどうなんだろとか思ったりして、そのうちC#かVB.NETに 移行するのは確実だから今から合わせた方がいいとか思いまして。
>85 保守性を考えたら付けたほうがいい チーム開発ならなおさらだ
>>85 いろいろ試したことがあるけどプレフィックスは付けた方がどうやら便利。
コード記述中にインテリセンスの自動ヒント中からコントロール名を
探すことは多いと思うが、プレフィックスをはずすと意味順に名前が
並ぶから探しやすいかと思ったんだが、数が多いとそうでもないようだ。
プレフィックスを付けて、まずコントロール別に絞り込んでから探す方が
探しやすいみたい。
たとえば
フォルダ(F): [ ][...]
みたいなラベルとテキストボックスとコマンドボタンがあるとき、
FolderPathLabel, FolderPath, FolderPathBrowseButtonにしたとする。
ここで「あのテキストボックスの名前なんだっけ」となったとき、
「最初がFolder」というのを思い出せればいいんだが、そうでない場合、
全コントロール中から探しつつ思い出さないといけない。これが大変。
フォームを出してクリックしてみた方が早い。
lblFolderPath, txtFolderPath, cmdBrowseFolderPathにしておくと、
とりあえず"txt"と打てばある程度見当が付く。
ちなみにフォルダLabel, フォルダ, フォルダ参照 みたいに付けてみると
比較的探しやすかった。思うに、フォームに「フォルダ」と書いてあるから
記憶に残っているからじゃないかと。
つまり
プレフィックスあり→コントロールの種類と名前が対応
プレフィックスなし漢字→フォームの文字情報と名前が対応
プレフィックスなし英字→対応するものなし
よって上の二つのうちどっちか、フォームに字が少なかったら「あり」が
よいと思われ。
88 :
デフォルトの名無しさん :04/05/20 09:34
プレフィックスは、いちいちどれをつけたらいいのか調べるのが面倒なんだよねぇ。
プレフィックスなんてつけてあたりまえでしょ?
90 :
デフォルトの名無しさん :04/05/20 11:06
別につけるのがあたりまえでも、探すのが面倒なのは変わらない。
↓ここで変数のプリフィックスとごっちゃ混ぜにしている厨登場。
92 :
デフォルトの名無しさん :04/05/20 11:23
↑ おまえ、ごちゃ混ぜにしていたのか(w
93 :
デフォルトの名無しさん :04/05/20 11:47
Shapeというコントロールがありますが、これは四画とか丸しかできないみたいです。 三角のが使いたいのですが、何かないでしょうか? ぬりつぶしたいので、線で書くのは難しいです。
94 :
デフォルトの名無しさん :04/05/20 12:00
四角の間違いだ。
>>93 中を塗りつぶさないのなら、グラフィックメソッドのLineを使えばよし。
塗りつぶすのならAPIかな?
>>93-94 なんだ四角かよ。
それだったらLineメソッドでOK。あとはヘルプで確認せよ。
四画→四角なんだって
>>97 ああ、失礼。そういうことだったのか...
だったら
>>96 は取り消しで。
ていうかShapeって塗りつぶし普通にできるし......。
100 :
デフォルトの名無しさん :04/05/20 13:18
Shapeのグループ化みたいなのってできるでしょうか?
>82 2chで聞いても・・・w mlで識者の方がM$に報告してくれたじゃないですかw うちはXP+VB6(SP6)で出ませんでしたが。 >100 めんどいから画像を貼れ
102 :
デフォルトの名無しさん :04/05/20 14:49
コントロールでラインはあるけど、矢印はないのでしょうか?
>>102 作ればあるよ。そのくらい作れ。(コントロール自作とか)
大してプログラム組まなくても便利に使える。それがVBのイイところ。
↑↑↓↓←→←→BA
105 :
デフォルトの名無しさん :04/05/20 16:31
作れば何だってあるよな(w
ABBAAB右右左
>矢印 何がしたいかによるよね。 まぁ標準コントロールには無いので絵を貼る以外は作るしかないがw
108 :
デフォルトの名無しさん :04/05/21 00:02
GrapeCity社のAxtiveXを使った フリーウェア、シェアウェアって何かありますか?
GrapeCity社にお問い合わせください。
グレープシティにしろコムラッドにしろ、なんでサードパーティ製の ボタンOCXは、標準のボタンと外観が微妙に違うんだろうか。 プロパティをどういじっても同じにならない。
プログラムの勉強を始めて、まだ三ヶ月なんですが はやくも行き詰るというか、何をしていいか分からなくなりました まだまだ基礎の段階なんですが、なにをしたらいいんでしょうか・・・ みなさんは初心者時代どうされましたか?
>>114 経験則なんだが、入門書通りに勉強する奴は決して上達できない。
逆に自分でやりたいことがあって、それを実現するために勉強する奴は
どんな言語でも通じる技術を確立できる。
そもそも何がやりたくてプログラミング始めた?
「そういう会社に就職しちゃったから」とか「授業でやるから」とかであれば
悪いことは言わない、辞めた方がいい。決して長続きしない。
ファイルの分割ツールを作ろうと思ってるんですが なにを重点的にやればいいんでしょうか?
その機能を実現する為には、具体的に何が必要だと思う?
118 :
デフォルトの名無しさん :04/05/21 09:12
プログラムを作るにあたって。 まず仕様書をつくる。 その次に処理の流れをつくる。
世にファイルリストを作るプログラムは砂の数ほどありますがD&Dされたファイル名をテキストボックスに 表示してくれるようなソフトが見つからなかったので簡単なものを作ろうと思って手元にるVB5 Learning Editionで↓のようにでっち上げ始めたのですが Private Sub Text1_OLEDragDrop(Data As DataObject, Effect As Long, Button As Integer, Shift As Integer, X As Single, Y As Single) Dim aData For Each aData In Data.Files Text1.Text = Text1.Text & Chr$(13) & Chr$(10) & aData Next End Sub 基本部分はこれだけですが「Data」中にFile以外のものがある場合、エラートラップを使用せずに 取り除くにはどうしたら良いのでしょうか? デスクトップで『マイコンピュータ』なんか混ざるとエラーで落ちちゃうんですよね。
良く分からなかったのでエラートラップに頼っちゃいました
>>119 GetFormat
おじさんはたとえVariantでも明示的に型宣言してほしいと思ったり
>>121 そうそう。宣言を省略したらVariantとは限らない。
121-122 ありがとうございます、GetFormatで解決しました。VBのヘルプだけだと分からないものですね クリップボード専用の関数かと思ってました。 変数宣言は普段型名を付けますけど、本当の下書きだったので・・・・ただObject型なんかだと 省略しちゃうことがありますね。自分で使うための、本当に簡単なものしか作らないですし。 もっとも爺なものでおじさん達ほど元気じゃないという事情もありますが
124 :
デフォルトの名無しさん :04/05/21 15:09
メンテで人が書いたソースをみてたら iが Publicで宣言されてあった。 確かにループ用としてよく使うし、各モジュール単位で宣言するのも大変では あるかもしれないが、こんなのアリ?!って感じだった。
典型的素人発想。 その調子だと、 数値型にするとなんかエラー出るからVariantにしますた♪ ってのもありそうでマズー
なんかよくわかりませんけどプロシージャの先頭に置いときますね On Error Resume Next
On Error GotTo 0
OptionExplicit禁止
初心者の質問ですみませんが ちょっとよくわからないところがあるので教えてください コマンドボタンを押すと子フォームが出るようにして dim frm as new myform frm.show こう記述したんですが、子フォームは1つしか出したくありません インスタンスを複数作成したくないんです で、モーダルで表示して必ず子フォームをひっこめるか あるいは、ひっこめないとコマンドボタンを使えなくするかして 2回コマンドボタンを押せないようにして、その後フォームをNothingするか general宣言部にprivate変数に子フォームで持たせて必ず確認するか ちょっとこれぐらいしか思いつかなかったんですが ふと、ローカルで宣言してあったらコマンドClickを抜けたら ローカル変数(つまり子フォーム)は消えるんではと思った次第です なぜ消えないんでしょうか?
Dim mstrHoge() As String がRedimされていない状態かどうかを調べる方法はあるのかないのかを教えてください。 あるならば、その方法を教えてください。
131 :
デフォルトの名無しさん :04/05/21 18:29
shapeコントロールでLabelコントロールの.Appearance=1(3D)のように3Dで描画する方法があれば教えてください。
>>129 me.hide
frm.show vbModal
me.show
じゃだめ?
>>130 IsEmptyじゃなかったっけ?
>>131 影とか重ねたら?
133 :
デフォルトの名無しさん :04/05/21 19:48
VB5.0です。
ShellExecute Me.hwnd, "Open", "
http://www.yhaoo.co.jp ", _
vbNullString, App.Path, 1
でIEから起動することは出来たのですが、
変数AにURLが入っており、そのURLをIEで開きたい場合はどうすればよいでしょうか?
ShellExecute Me.hwnd, "Open", URL, _
vbNullString, App.Path, 1
にすると、プログラムのあるフォルダがエクスプローラで開いてしまいました。
ShellExecute Me.hwnd, "Open", URL, _ vbNullString, App.Path, 1 ではなく、 ShellExecute Me.hwnd, "Open", A, _ vbNullString, App.Path, 1 でした。
VB6.0 です。 ピクチャーコントロールの配列がありまして、 それを縦に整列させるプログラムを書いています。 Public Sub LineUpPictureBox(Target() As PictureBox) Dim I As Integer Dim x As Integer Dim y As Integer x = 0 y = 0 For I = LBound(Target) To UBound(Target) Target(I).Top = y y = y + Target(I).Height Next I End Sub 呼び出し側 Call obj.LineUpPictureBox(picTitle()) という感じです。 ですが、「型が一致しません。配列またはユーザー定義型を指定してください」 とでて動かないのです。 誰か助けてください。
ちなみに、これだと動くのですが、かっこ悪すぎて困っています。 Public Sub LineUpPictureBox2(pic1 As PictureBox, _ pic2 As PictureBox, _ pic3 As PictureBox, _ pic4 As PictureBox, _ pic5 As PictureBox) Dim y As Integer y = 0 pic1.Top = y y = y + pic1.Height pic2.Top = y y = y + pic2.Height pic3.Top = y y = y + pic3.Height pic4.Top = y y = y + pic4.Height pic5.Top = y y = y + pic5.Height End Sub 呼び出し側 Call obj.LineUpPictureBox2(picTitle(0), picTitle(1), picTitle(2), picTitle(3), picTitle(4))
まさかと思うが、PictureBoxの「配列」ではなく PictureBoxの「コントロール配列」を渡している、なんてオチではないよね?
そ、そうなんですけど、どうしたらよいですか?
>135-136 細かいことは良く分からんが Sub Narabe() Dim A As Object, y As Long For Each A In Me With A If A = Picture Then Top = y .Left = 0 y = y + .Height End If End With Next End Sub じゃ、ダメなのか?
ん?じゃ、いいんだな? 解決マークでFA?
助かりました。 FAでおねがいします。
正直、
>>140 のサンプル書いてる人はよくわかってないとしか思えん。
なんだよ、そのコード、言ってることとやってることが。。。って感じ。
FA了解。ちなみに、>135のようにしたかったら Sub Narabe2(C) Dim A As PictureBox, i As Long, y As Long For i = LBound(C) To UBound(C) With C(i) .Top = y .Left = 0 y = y + .Height End With Next End Sub でも動くが、なんとも怪しい使い方でもある。 参考までに。
ていうかね、何でパブリックなメンバ(つまり、コントロール配列の ことね)を引数で渡す必要があるのかと小一時間。。。
あ、だめです。 配列の添え字順に並ばない・・。
>> 145 クラスの中に突っ込んで汎用的にしたいんですけど。だめですかね?
>145 まぁ、いいでないの。初めは色々なことをやってみたいものだろうから。 どうであろうと自ら考え、書いて動かないと悩むことはイイことだと思うし。
Public Sub LineUpPictureBox(frm As Form, Target As Control) Dim I As Integer Dim y As Integer y = 0 Dim cnt As Control For Each cnt In frm.Controls If cnt.Name = Target.Name Then Debug.Print cnt.Name cnt.Top = y y = y + cnt.Height End If Next End Sub だと添え字順に並ばなかったんです。コントロールの参照順が不明。
>>147 そんならメソッドの呼び出し元で本物の「配列」または
コレクションにコピーして渡せばいいだけじゃん。
万のオーダーのコントロールがあるとか頻繁にコールされるとかいう
わけでもなきゃ実行時間なんてほとんど無視していいし、
ほんの3,4行のコードだよ。
>>130 LBound(mstrHoge)
で、エラーを拾って処理するってのはどうかしらん?
>149 あ、そうか。んじゃ3行目に If UBound(C) < 1 Then Exit Sub を追加とか(単純) >150 やりたい事が良く分からんが、>151の云う方が早いかもよ?
>>147 仰る通りです。
せっかく、配列になってるから、それをそのまま使えないかと思ったのですが。
そうすることにします。
>154 ちなみに、オレの書いた >144+153 じゃダメなのか? 配列もそのまま使えるし一応、渡した順番に並ぶはずだぞ? まぁ、いいけど
>>153 だから、If UBound(C) < 1 Then Exit Sub
で評価する前に死ぬんだって。
>156 ん〜良く分からんが、配列宣言していない変数を渡しちゃうなら確かに。。 でも、配列なら要素ゼロでも通ったぞ? 勘違いしてたらスマン。 もしアレだったら代わりに、If IsObject(C) Then Exit Sub とか?(←くどい)
>>156 Cの要素数が0ならコケはしないんじゃない?
初期化されてない動的配列を渡されると死ぬけど。
あ、If Not IsObject(C) Then Exit Sub だ・・ 逝ってくる。。。
なるほど、コントロール配列をバリアントで強引に渡すのね。
空のコントロール配列ってのはありえないから
>>149 は杞憂に過ぎないし、
どうしても手を打っときたいならトラップすればいい。
2ch っていい所なんですね。
>>160 VariantとObjectは、出来るだけ使いたくないけどねぇ。
よかったら使ってくれ。 Function IsEmptyArray(objArray() as Object) as Long On Error Goto HandleErr dim nRet as long nRet = UBound(objArray) IsEmptyArray = 0 Exit Function HandleErr: IsEmptyArray = -1 Err.Clear End Function
いい人続出。
>>164 何故HEPLなんですか?
HELPのtypoなんじゃないかと思うと気になって夜も眠れないです…
Visual Basic 6.0でExcelを利用せずにxls形式のファイルを保存する 事が可能にするフリーのライブラリってないですか?
お願いします。
>>167 (´・ω・`)ショボーン
>>169 文化オリエントのライブラリは高いだけで駄目駄目なんですね(`・ω・´)シャキーン
駄目とはなんだ駄目とは。つかえないヤツは買うな。
次の問題 まず、一つコントロールを配置して、 それを動的に増やした場合、 次も同じ様に処理をしたいので、最初に定義した一つを除いて 動的に削除するには、どうしたらいいですか?
price = Val(txtprice.Text)という風に 変数を宣言したいんですが、認識してくれません なぜでしょうか?おしえてください。初歩の質問で申し訳ないです
すみません自己解決しましたf^^;
176 :
デフォルトの名無しさん :04/05/22 08:39
ひらがなの文字列を漢字に変換したいと思っています。 誤変換はそのままでいいのでIMEで入力して一回変換したときと同じ文字列を手に入れたいのですが VB6のプログラム中からそういったことをするのは可能でしょうか? IMEのオブジェクトのようなものがあったりするのでしょうか?
>>176 やっぱそうですかね。なんとなくそうでないかとは察していたのですが。
Private Sub del()
Dim i As Integer
For i = 1 To LabelCnt
Unload Label1(LabelCnt)
Next i
End Sub
Private Sub del1()
Unload Label1(1)
Unload Label1(2)
Unload Label1(3)
Unload Label1(4)
End Sub
ラベルを追加したあと、消去しよう、
上のコードだと、怒られるんです、
下のコードは使えないけど、これだと動く様子です。
Why?
あ、すみません、Unload Label1(i) ですね。 やっぱ、馬鹿だわ。
>>170 Declare Function ShellExecuteEX Lib "shell32.dll" Alias "ShellExecuteEx" (lpExecInfo As SHELLEXECUTEINFO) As Long
と宣言したら
「ユーザー定義型は定義されていません」
と怒られるのですが・・・。
SHELLEXECUTEINFO構造体を定義汁
>180 その行の下にでも、これを追加汁 Type SHELLEXECUTEINFO cbSize As Long fMask As Long hWnd As Long lpVerb As String lpFile As String lpParameters As String lpDirectory As String nShow As Long hInstApp As Long lpIDList As Long lpClass As String hkeyClass As Long dwHotKey As Long hIcon As Long hProcess As Long End Type っていうか・・ググレ
>>182 ありがとうございました。
検索してきます。
>>166 やったことはないけどOpenOfficeをOLEオートメーションで
操ってやればできそうだけど、どうだろう?
185 :
デフォルトの名無しさん :04/05/22 14:16
>>108 「うきうき家計簿」がInputManを使ってるのは解った
187 :
デフォルトの名無しさん :04/05/22 22:29
というわけで、よろしくお願い致します
フォームモジュールに貼り付けて(暗黙)LoadだけでShowしなければいいじゃん。 使用後のUnloadを忘れなければ、普通のクラスモジュールと同じように使えるよ。
>>188 クラスの中で、動的にフォームを作成したら
やはり使えないのでは?いや、大丈夫か?
Winsockってなんだかよく知らないが、
>>186 のリンク先とMSの変な翻訳の
説明読むと、問題が起きるのは(1)フォームに貼り付けずに、かつ(2)アーリバインディング
でオブジェクトを生成しようとした場合 なのだから、要はこの2つの条件を
満たさなければいいわけじゃないの?
つまり、(a)適当なフォームにとりあえずダミーで貼っといてもいいし、
(b)フォームに貼ったWinsockオブジェクトを、それを実際に使うクラスのインスタンスに
渡してやってもいいし、(c)アーリーバインディングではなくレイトバインディングで
インスタンス生成してやってもいい、ってことなんじゃないの?
192 :
デフォルトの名無しさん :04/05/23 15:07
VBでsin波形を書きたいのですが、どうしたらよいでしょうか? sin波形描くための宣言なのがあるのでしょうか? あれば御教授してください。
193 :
デフォルトの名無しさん :04/05/23 15:09
プログラムっていうかリンクについてなんですけど テキスト、バナー以外にリンクしちゃいけないんですかね?
195 :
デフォルトの名無しさん :04/05/23 15:35
>>194 早速調べてきます、どうもありがとうございました。
196 :
デフォルトの名無しさん :04/05/23 23:36
VBでScriptControlを使おうと思ってるんだけど スクリプトの関数側に、配列を渡すことは可能? 'プログラム側 dim tempArray( ) as string mScript.run "testfunc", tempArray 'スクリプト側 sub testfunc(tempArray( )) ... end sub とかしたいんだけど、何故かうまくいかない・・・
スクリーンセーバーやフルスクリーンゲームとかよりも 強力に最前面表示させるソフトがあると聞きましたが、それはどうするんでしょう? SetWindowposでは無理のようです。
199 :
デフォルトの名無しさん :04/05/24 10:41
>>166 亀だけど、
XLS形式だと、無償ではない。 .netマガジンとかの広告を参照して購入。
そうじゃなく、書式と色と罫線と簡単な数式でOKならば、SYLK形式という手がある。
詳細は、ぐーぐる様にお尋ねする、及びEXCELで同形式で保存してテキストエディターで研究。
>>197 ごめん、普段Variant型なんて使わないのでさっぱり・・・
配列をVariant型に代入できるってこと?
201 :
デフォルトの名無しさん :04/05/24 16:34
教えてください。 RDOで Set en = rdoEnvironments(0) Set cn = en.OpenConnection("", rdDriverPrompt, False) とやると、ODBCドライバの画面がでて接続を選択できるんですけど、 ADOでこれと同じことってできますか? 方法があれば教えてください。
202 :
デフォルトの名無しさん :04/05/24 18:14
VBの仕様かどうか教えてください 今ここで Dim AString as String などと定義し AString = ChrB(&H1) & ChrB(&H0) とやると,長さが1で中身はChrB(1)だけの文字列になります. VB的にはこれでOKなのでしょうか.
>>202 ChrB 関数は文字ではなく、1 バイトを返します。
家に帰ってきたのでID変わってますが202でぃす。
>>205 はなんか勘違いしてるようなのでスルーして、
これってVBの文字列の管理がヌルターミネートだと言う事だから
なんでしょうか。
例えば文字長まで管理しているDelphi( またはTurbo PASCAL )の
ShortString だと、
Var
A_String : String ( ShortString ) ;
に
A_String := chr( 1 ) + chr( 0 ) ;
とすると、文字列長は2でそのオーダーはx01x00となります。
(これはA_Strig[0]に文字列長が入っているからですが)
VBではこうはならなくて、バイナリの0を含むデータ列を生成したいのなら
バイト型でアレイでも作ってろてことですか、という事を確認したかったのでいす。
(自作の出刃どらに、仕事の都合でVBからバイナリを渡してあげたかった)
>>206 長さが1ってのはLen()で確認したのかい?
>>207 そうそう。
あ、LenBで確認してないぞw それか
>>206 VBの文字列型変数は文字長まで管理している。
文字列型の変数が指すのは「文字列の長さ」+「文字列へのポインタ」のはず。
>>209 208で解決したようです。 あと、もうひとつ気になったのは、
文字列定数を作ろうとして、色々試してみてたんですが、
Private Const A as String = ChrB(&H01) & ChrB(&H00)
とやると、怒られるので苦し紛れに
Private Const A as String = &H01 & &H00
とやると、0x31 0x30 となるというのも発見しましたが
これも仕様なんでせうか。つかそうなんだろうね。
静的変数に初期化時に放り込むしかない?
>>202 なんか文字コードに関する知識が全然欠けてるように思えるんだけど気のせい?
なんかPC-98時代どころか、8ビット時代のアスキーコードと同じ感覚で
考えてるんじゃないかという気がしてならないんだけど。
VB始めてから1ヶ月のものです。質問なのですが、CSVファイルである特定の文字を含んだ文字があると、その行は表示しないというツールを作りたいのですがどんな感じがいいでしょうか?よろしくお願いします。
>>212 Private Sub Command1_Click()
Dim whatever As String
Open "As it is.CSV" For Input As #1
Do While Not EOF(1)
Line Input #1, whatever
If InStr(whatever, "I realy hate this string") = 0 Then List1.AddItem whatever
Loop
Close #1
End Sub
>>202 解説しよう(えらそー
> Private Const A as String = &H01 & &H00
これは、A = cstr(&H01) & cstr(&H00) と同じ。
つまり1と0という数値ががそれぞれ"1"と"0"という「文字」に変換されて
連結されているってこと。
演算子「&」は文字列の連結なんで「暗黙の変換」が行われてるわけ。
> AString = ChrB(&H1) & ChrB(&H0)
VBの文字列はUnicodeで管理されるってのは知ってるかい?
「ChrB(&H1) & ChrB(&H0)」はバイト列で「01 00」なわけだけど、
これを文字列変数に入れているんで「01 00」がそのままUnicodeとして入るんよね。
だから「ChrB(&H1) & ChrB(&H0)」は「ChrW(&H0001)」と同じなの。
これは
dim mm(1) as byte
mm(0) = &H01 : mm(1) = &H00
AString = mm
ってやってるのとも同じだよ。
217 :
デフォルトの名無しさん :04/05/25 00:17
どなたか教えて下さい。 basp21の半角文字列→全角文字列変換(HAN2ZEN関数)を使用しないで、 「半角カタカナ」の文字列を「全角ひらがな」の文字列に変換したいです。 皆さんの知恵を分けて下さい。よろしくおねがいします。
218 :
デフォルトの名無しさん :04/05/25 00:31
VB6.0です IEを立ち上げないでサイトにアクセスして以下の事ってできますか? ソースから抜き出すのではなく表示上から目的の文字列を抜き取って(コピペ) テキストファイルに書き出したいのですが・・・ 無理ですかね?よろしくお願いします。
>目的の文字列 ではなく目的の行の間違いでした
>>220 ソースだと余計な文字列(タグ)から抜き出さないといけないじゃないですか
単純に表示されている文字列から取り出せたほうが手間8コード)が省けて
いいかなと思ったんですが・・・・
どんなもんでしょうか?
>>218 Webbrowserコントロールで文字だけとれなかったかな?
>218 WebBrowserコントロールで表示→BODYオブジェクトからダイレクトに 文字を抜けるとは思うけど・・・余計メンドウなような・・・ガンガレ
>217 ASPで書くの?まぁASPでもVBでも良いが。 「カタカナ」 -> 「ひらがな」だけだったら、単純にCHRを加減すれば?
>>222-223 返答ありがとうございます。
余計面倒ですか・・・
素直にソースから抽出したほうがいいんですかね(苦笑
なんとなく表示されてるのから取れたら楽だろうなぁと思ったんですが
どっちが効率いいか試してみます。ありがとうございました
報告よろしく
>>225 目的の文字列にもよるけど、WebBrowserを使っても面倒にはならないと思うよ。
WebBrowserに目的のURLを表示。(非表示状態でも良い)
WebBrowser.documentをIHTMLDocument(だっけ?)オブジェクトに代入。
IHTMLDocument.documentElement.innerText(だっけ?)で全テキストのみ取得。
これだけだから。HTMLDocumentはJavaScriptで操作するあのDOMなんで、
そこらへん知っていると好きなタグの中身とかいろんな部分を簡単に取得できる。
×IHTMLDocument(だっけ?)オブジェクトに代入。 ○IHTMLDocument(だっけ?)型に代入。 IHTMLDocument型を使うにはWebBrowserとは別のライブラリ(HTMLなんたら)を 参照設定する必要がある。参照設定しなくてもレイトバインディングになって コード補完が出来ないだけで使えるけど。
>>220 ,224
返答ありがとうございます。
1文字ずつFor文使って判定→変換しないとダメなのでしょうかね。
ASPはまだまだ初心者なので、正直私にはコーディングが難しいです。
どなたかサンプルプログラムを掲載して頂けないでしょうか。
大変わがままを言ってしまい恐縮ですが、どなたかよろしくおねがいします。
>>217 StrConvは使えないの?
ていうか、これって人に助けを求めるような内容か?
初心者だろがベテランだろうが、こんな質問は私なら恥ずかしくてできんね。
>>217 StrConvにvbHiraganaってのがあるよ。
232 :
デフォルトの名無しさん :04/05/25 10:58
VBに限らず、文字コード変換、半角全角変換をやるならば、一度きちんとした知識をつけないとだめだよ。 サンプルぱくってやりましただと、応用が利かない。 VBの場合、VB内で処理で完結している限りはUNICODEでの処理なので非常にやりやすい。 (全角だろうが1文字として普通に扱えるし) そこからAPIとか他システム連携になったときにはStrConvとかの出番だな。
233 :
デフォルトの名無しさん :04/05/25 11:37
今、VBからODBCのDNSの内容を取得することを考えたプログラムを作成しています。 ユーザDNS、もしくはシステムDNSに登録したODBCのデータソースの内容 (ホスト名、ポート番号など) プログラムから参照する方法はありませんでしょうか?
VB5用の逆コンパイラはいつになったら出てくるのでしょうか
>233 DNSとDSNの違いを調べろ。話はそれからだ。
strconvは確か
全角かな->全角ひらがなは可能
半角かな->全角ひらがなは無理
ま、コードで考えれば半角かなだったら、一定数加算してやるとかになるんだろうが
>>232 の言う通り
VB自体でやるならUnicodeでやるべきだと思うなぁ
ファイルシステムがらみでも半角かなは使わなくなってるような気がするんだが
半角かな使うってのが、どうなんだろうなって思っちまうな
むしろ半角かなは使わないように言われない?
なんから知らんが「ヴ」を変換したらどうなるかを忘れるな。 言いたい事はそれだけだ。
238 :
デフォルトの名無しさん :04/05/25 13:22
VBってOSに関係無くユニコードなんでしょうか? VB1から。
239 :
デフォルトの名無しさん :04/05/25 13:23
「ヴ」を変換したら「う゛」になる(w
>217 じゃあ、ASPなんだな。VBやVBAじゃなくて。 だったらStrConvは無いので、やっぱりCHRを加減汁。 サンプルなんて、ググれば沢山出てくるので探せ。 ASP用のStrConvを自作公開しているページなんて山ほどあるぞ? 捜してくれ。以上。
? strconv(strconv("バイオリン", vbWide), vbHiragana) ? strconv(strconv("ヴァイオリン", vbWide), vbHiragana)
? strconv(strconv("バイヴレーター", vbWide), vbHiragana)
243 :
デフォルトの名無しさん :04/05/25 14:25
スレ立て・・でスルーされているのでこちらで質問ですが VB6ですが、MultiPage内のTextboxにオブジェクト名って付けられないのでしょうか?
245 :
デフォルトの名無しさん :04/05/25 14:37
Windows XP Pro. 上で、ADO経由で Access の mdb ファイルにアクセス するコード(VB 6.0 で記述)を書き、正常に動作していました。 (ここでは体裁上、コードの左端の余白は全角の空白文字にしていますが、 実際は半角スペースです)。 Dim adCn As ADODB.Connection Set adCn = New ADODB.Connection With adCn .ConnectionString = "Provider = Microsoft.Jet.OLEDB.4.0; " _ & "Data Source = " & sPath & "\" & sFile Call .Open End With ところが、Windows Update で Windows を最新の状態にした後に上記の処理 を実行すると、 'Open' メソッドは失敗しました: '_Connection' オブジェクト という実行エラーが発生し、接続出来なくなりました。ちなみに、 参照設定は Microsoft ActiveX Data Objects 2.7 Library MsJet40.dll のバージョンは、4.0.8618.0 msado15.dll のバージョンは、2.71.930.0 上記バージョンのファイルで正常に実行できる Windows XP Pro の環境もあり ます(ただしそのPCは、Windows XP が最新の状態になっていません)。 接続文字列の記述が不足しているのか、やり方が変わったのか、システム ファイルがおかしくなったのか、原因が分かりません。 解決策(またはそれが記述されているサイト)をお教え下さい。お願い致します。
>>244 別にVB使っている奴だけの話じゃないと思うが・・・。
なんだコピペ荒らしか。
おおお vbWideなんてあったんだ 知らなかった世・・・・・VB3年も仕事で使ってるのに やべえな、仕事でこういうのに直面しないからVBマスターした気になってたよ あああこれじゃ.NETなんて夢のまた夢(W
249 :
デフォルトの名無しさん :04/05/25 15:20
VBって、どのバージョンからユニコードなのか教えて。
>>249 お前は本当にユニコードを使いたいのかと問いたい。問い詰めたい。
ユニコードと言いたいだけちゃうんかと。
まあUNICODEのテキストボックス入力さえできないからな。そういう意味ではVB6でも対応していない。
252 :
デフォルトの名無しさん :04/05/25 15:57
VBの中は ユニコードで処理しているって カキコしてあったじゃん。
>>232
253 :
デフォルトの名無しさん :04/05/25 16:14
過去ログ見てません。 MSDN見れません。 VB5.0で作ったアプリケーションをwinMEにインストールしようとすると 「システムの一部が最新でない為・・・」といった表示が出て 「再起動する必要があります」というので再起動するのです。 で、再起動後に再びインストールしようとするとまた同じメッセージで 先に進めません。 MSのサイトや答えてネット、愚ぐったりといろいろ探したのですがちから 及ばず・・皆様のお力をお貸し下さい。なにとぞよろしくお願い申し上げます。
書き忘れておりました。 上記問題はwinXPでは問題になっておりません。MEユーザーからのみです。
255 :
デフォルトの名無しさん :04/05/25 16:22
インストールしないで 入れられないのか? 自分で作ったソフトなら、それができるだろ。
257 :
デフォルトの名無しさん :04/05/25 17:00
インストールしないで というのは、原因を知るためのひとつの切り分け。 インストールする際に どのファイルが問題になっているのか調べないと 解決しないでしょう。
>>251 んだなぁ。幾ら内部でUNICODE表現になっていても肝心のフォームや
コントロールがUNICODE表示に対応してないってのはなぁ(´・ω・`)
259 :
デフォルトの名無しさん :04/05/25 23:02
質問です。 VB6.0で、マイク入力の音を、ダイレクトにスピーカーに流したいのですが、 方法はありますが? 用途は、カセットテープの音をwavファイルに録音したいのですが、 (カセットプレイヤー→PCマイク入力接続) Win付属のサウンドレコーダーや、同系のフリーソフトでは、 録音前も録音中も音が流れない。 曲の頭出しや録音の停止等が厄介なので、 上記のようなプログラムを作れればと思いました。 よろしくお願いします。
>>259 waveOut系とwaveIn系のAPI使えばできそうだけどVBだと辛いだろうなぁ。
ってか、マイク入力の音って普通に聞こえるよような気がするけど。
ミュートになってないかオーディオのプロパティ見て確認した?
>>259 うちの環境だと、コントロールパネルのボリュームコントロールの
Microphone(オプションで出さないと出ていない)をミュート解除にすれば出るが。
262 :
デフォルトの名無しさん :04/05/25 23:40
>>260 >>261 ご解答有難う御座います。
>Microphone(オプションで出さないと出ていない)をミュート解除にすれば出るが。
これで解決しました。ありがとう御座いました。
Dim resttime As Date と変数を宣言したんですが 【As Date】 のところが 青くならなくて、エラーになります なぜでしょうか?教えてください
どんなエラーが出たか何故書けない!
>263 大方、全角で打ってるとか、そんなんだろうさ(フッ
すみませんf^^; オブジェクト変数またはwithブロック変数が設定されていません ってでます 全角ではありませんでした
>>265 VB は全角で打っても勝手に半角変換してウマーだったと思うが
268 :
デフォルトの名無しさん :04/05/26 08:32
InputManのOCXを使ったアプリを作成 VisualStudioInstallerでインストーラーを作成 OCXはWindowsシステムフォルダに入れる これを VBの開発環境のあるPC(InputManインストール済)に入れると 開発環境のInputManのOCXのリンク先というのでしょうか、おかしくなってしまいました。 で このアプリをアンイストールすると開発環境からこのOCXは消えてしまいました。 インストーラーを作るときに何か工夫が必要でしょうか? WindowsXP Pro SP1 VisualStudio6.0 SP5 InputMan7.0
>>267 本当だ、普段流石にそんな馬鹿なことしないから気付かなかった。
270 :
デフォルトの名無しさん :04/05/26 09:10
Dim resttime As Date と宣言しても エラーには ならなかった。 as string とかに してもダメか?
>>263 Dim resttime As Date
よりも前の行にはどんなコードを書いてるのかな?
謎を解く鍵はその辺にありそうだ。
272 :
デフォルトの名無しさん :04/05/26 13:28
VBScriptで、バイナリファイルを開きたいのです。 VBならopenステートメントを使えばいいらしいとわかりましたが、VBscriptではエラー(ステートメント末尾が不正)になってしまいました。 VBScriptでは、どのようにすればバイナリファイルを扱えますか?
>>272 素の状態じゃできなかったと思うが。ぐぐると色々あるよ。
え、それは外部のライブラリ等を利用しないとできないってことですか(滝汗 VBScriptだめだぁ(;; ググってきます。
>274 ん? ADODB.Stream じゃダメなのか?何がしたいんだ?
276 :
デフォルトの名無しさん :04/05/26 15:55
プリフィックスってわざわざつけるのは、めんどくさい。自動的につけてくれる方法はないの?
>268 インストーラを意味分からずに作成しているみたいなので、 説明はメンドイので、各開発環境のInputManを正しく再インスコ汁。 それで解決できる可能性50%
>276 んじゃ、付けなくていいんでない? でも、共同作業でそんなことすると殴られる可能性99%
279 :
デフォルトの名無しさん :04/05/26 16:13
>266=263 開発環境はVB6なんだよね? ・・・と聞いてみるテスツ
だめだ・・・どうしても>263の再現が出来ん。。。。 どうすれば、そうなるのか、Date宣言の前後だけでいいから ソース公開希望!>263
263が.netな可能性が50%
>>263 TabStripコントロールのTabオブジェクトを宣言するとき、そのままだと
組み込みのTab関数とぶつかるからDim T As MSComctlLib.Tabと書かなきゃ
駄目というのは聞いたことがあるんだが・・・
Dateクラスを作ったりしてもエラーにならないし、Sub Dateと書いたら
そもそもシンタックスエラーになるし。
考えたらこのエラー、(オブジェクト変数または With ブロック変数が
設定されていません。)実行時にしか発生しなよな。なのになんで
非実行文であるDimでこのエラーが出るんだ?ていうかエラーが発生したのは
コンパイル時ですか?実行中ですか?
>>263 ではコンパイル時、
>>266 では実行時の出来事に読めるが・・
>>269 おれは全角文字を変数に使ってみたときに気がついた
あとでソースが非常に読みやすくていいんだが
打ち込みがはげしくめんどい
>>276 アドイン作れ
後からチェックする処理もいっしょに
そのくらい自分で作れよ。
287 :
デフォルトの名無しさん :04/05/26 17:02
function henkan(a as string) as string henkan="<a href=""" & a """>" & a "/</a>" End Function
賛成
290 :
デフォルトの名無しさん :04/05/26 17:20
>>285 まず、URIとして使える文字というものを調べる必要あり。monazilla.orgあたりがもしかしたら参考になるかも。
Const VALID_CHAR As String = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"
にょように、有効なキャラクタを定数としてあらかじめ用意しておいて、"
http:// "の位置を検索して、そこから
Forループ×Mid$で一文字ずつ取り出して、↑の定数と比較してけばおけ。比較的お手軽な手法。
それも面倒なら、正規表現しる。その場合、標準ではサポートされないのでBREGEXP.DLLとかVBScriptのライブラリとか使わんと。
>>290 Private mblnMouseDown As Boolean
Private Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
mblnMouseDown = True
End Sub
Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
Static sX As Single, sY As Single
If mblnMouseDown Then Me.Line (sX, sY)-(X, Y)
sX = X
sY = Y
End Sub
Private Sub Form_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
mblnMouseDown = False
End Sub
空のフォームにコレをコピペしてみよう
VIsual Basic6.0(SP6)を使っています。 フォームにCommandButtonとMSHFlexGridを置いて Private Sub Command1_Click() Dim i As Long For i = 1 To 100 With Me.MSHFlexGrid1 .Rows = 0 .Rows = i End With Next End Sub こんなコードを書いて実行していると、.Rows = 0の行で 実行時エラー '-2147417848 (80010108)' 'Rows' メソッドは失敗しました: 'IMSHFlexGrid' オブジェクト ってエラーが時々発生するんですが何故なのでしょう?
294 :
デフォルトの名無しさん :04/05/26 20:32
Format$(Trim$(XYZ.Fields("ABC")),"#####") & space(10) というコードがあって、"ABC"の値が345だとします。 この場合、#####のところに00345というふうにだしてやりたいのですが、 どのようにやったらよいでしょうか?テーブルから とってきた値が3桁なんですが、固定長で5桁に強制的に してやらないといけなくて、0で穴埋めをするというものなんですが ご教授お願いします。
296 :
デフォルトの名無しさん :04/05/26 20:43
>>277 インストーラーの作り方次第で開発環境に影響与えないように作れる?
>296 あるよ。 winフォルダでなくて、winsysフォルダにして味噌。 あと、マニュアル読んでる?
298 :
デフォルトの名無しさん :04/05/26 22:01
>>297 Winsysフォルダでやってるけど駄目でした
ヘルプとかいろいろ見て
SharedLegacyFile がそうかと思って変えてみたりして試してますが
まだうまく作れません。
もう少しヒントください。
300 :
デフォルトの名無しさん :04/05/27 04:39
VB5.0を使用しています。 文字列 "abc" を使って、グローバルやローカルに定義されている 変数 abc にアクセスしたいのですがどうしたら良いでしょうか? phpやperlで言うところの可変変数です。
301 :
デフォルトの名無しさん :04/05/27 06:13
VB=ヴァギナバイブ
>>300 結論から先に言うけどできないよ。
どういうことがやりたいの?
303 :
デフォルトの名無しさん :04/05/27 10:05
>>292 本当にありがとうございます。これを参考に書いた線を消したりできるように、
調べてフォームを作り上げたいと思います。
>>300 Perlのようなインタプリタと違って、コンパイルすれば変数名は消える。
配列と変換テーブルを使って参照すれば?
>300 う〜ん。やっぱり304の云うとおり、変換テーブル作成した方がよさ毛
307 :
デフォルトの名無しさん :04/05/27 12:31
Javaでは\tのようなタブ挿入はVBではどうやればいいのでしょうか?
>>306 そんな発言する人がいるからVB厨って言葉ができちゃんんだよ。
VB6なら
>>305 のリンク先にあるようにCallByName使ってプロパティにアクセス
するのが最もまともなやり方だろうし、VB5だったらコレクションを使うべきでしょ。
>>307 ヘルプより。
vbTab Chr(9) タブ文字
310 :
デフォルトの名無しさん :04/05/27 13:21
ユーザーフォームを呼び出した時、Textboxへの入力が必ず、半角文字になる様に したいんですが、Initializeに書く、入力を半角にするコードがわかりません。 お願いします。教えて下さい。
311 :
デフォルトの名無しさん :04/05/27 13:43
Textbox.ImeMode=3
ありがとうございました。助かりました。
313 :
デフォルトの名無しさん :04/05/27 14:59
Dim str As String * 10 strが String * 10で宣言されたってわかることできませんかね? Function FncCut(data as Variant) As Variant っていう、関数作った場合、 内でTypeName(data)とかVarType(date)で Stringってのは分かるんですけど、文字列長まではわからない。 Unicodeなので、余分なスペースはここでカットして返したいのですが、 なんとかならないでしょうか? でも、dataは本当にStringになってるみたいで、 dataに10文字以上の文字列を入れても、エラーにはならないんですね。 困った。。。
314 :
デフォルトの名無しさん :04/05/27 15:06
Labelに画像を貼り付ける事ってできますか?
上から無理矢理描画させることはできるだろうけど、 ンな事するなら普通にPictureBoxとか使えばいいじゃん。
316 :
デフォルトの名無しさん :04/05/27 15:11
data="12345678901" if len(data)=10 then msgbox "10文字だね" って できるのか?
>>314 透明Labelの下にPicture置いたら?
>>316 できるかできないかの質問だったら自分でやってみろとのレスがつくだけ。
319 :
デフォルトの名無しさん :04/05/27 16:32
マウスの動きに合わせて四角形を描きたいのですが、どうしたらいいでしょう? Lineプロパティを使用して <Line (X, Y)-(X, Y), ForeColor, B> このよう に記述したのですが、マウスに合わせて細かい四角形がたくさん描かれてしまい ます。マウスを動かした時に、動かした幅を対角線とした四角形を作りたいので 教えてください。わかりづらい文章でしたらすいません
宿題の匂いがする
mousedownをx1,y1 mouseupをx2,y2 x1,y1-------x2,y1 | | | | x1,y2-------x2,y2
>>319 ペイントみたいな書き方をするなら、マウスボタンの状態を拾って、対角
線の始点終点を取得したまい。
323 :
デフォルトの名無しさん :04/05/27 17:20
>宿題の匂いがする どんな匂いなんだ?
>>319 そりゃあ、あんはん、当たり前やがな・・・始点と終点をどのように指定したら良いのか
自分で考えなはれ・・・・つうかネタ?・・・・じゃないとすると日本の明日は暗黒だな
>>323 学校の例題でよくある感じの問題。
こういう香具師は「unkみたいな味がする」って言うと、
お前unk食ったことあるのかよ!?って突っ込みするタイプだな。
326 :
デフォルトの名無しさん :04/05/27 17:36
正解(w 匂いもわからないクセによく、そんな表現をするもんだとほくそえむタイプ。
ちなみに〜な臭いってのが〜な感じって表現ははるか昔の文書きも使ってる。 これには嗅覚は味覚や触覚に比べ元々あいまいな表現が多く、 他の感覚に頼った表現をするところからry
匂いと臭い。漢字間違いなだけじゃん。 念のために言うと、「臭い」には疑わしいように見える。あやしい。 という意味がちゃんとある。
329 :
デフォルトの名無しさん :04/05/27 17:50
>>321 >>324 レスありがとうございました。本当に申し訳ないのですが、自分が作りたかったの
はマウスを動かすと四角形がどんどん大きくなって、ボタンを離すと決定するよう
なペイントと同じ動きができるプログラムでした。説明が足らずですいませんでし
た。こういうのを作りたいときは教えてもらった方法からカスタマイズしていけば
できるでしょうか?
>>324 全然ネタじゃないです。情けない話です。
>>290 ではないのですが、ここで紹介されている「簡単マップ」の四角形描画と同じ
ような動きをさせたいです。説明下手なので見ていただけたらありがたいです。
>>308 あんぽんたんですか?
可変の対象となる件数が数十件規模でも全部コードに
プロパティとして定義するんですか?
>>308 あんぽんたんですか?
可変の変数名が動的に付与される場合はどうするんですか?
>>329 Private mX As Single, mY As Single
Private Sub Form_Load()
Me.AutoRedraw = True
Picture1.Visible = False
Picture1.AutoSize = True
End Sub
Private Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
Picture1.Picture = Me.Image
mX = X: mY = Y
End Sub
Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
Static sX As Single, sY As Single
If Button And vbLeftButton Then
Me.Picture = Picture1.Image
Me.Line (mX, mY)-(X, Y), , B
sX = X: sY = Y
End If
End Sub
Private Sub Form_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
Me.Refresh
End Sub
PictureBoxをフォームに貼り付けて、実行してね。応用力が大事だよ(はぁと
334 :
デフォルトの名無しさん :04/05/27 18:34
自分の大きいのは 臭いと言う。
>>331-332 全部コレクションで問題解決。
うだうだ言わないでコレクションがどういうものか調べてみろ。
その上で具体的に問題点を指摘しなさい。
>>335 自分の文章読み直せよ。
vb5.0以前ならって注釈付きじゃん。
要するに考えがおよんでないんだろ。
言われて気づいたくせに偉そうにするな。
あふぉは言い訳だけ得意。
>>335 じゃあ聞いてやるよ。
たかが可変の変数名の変数の集まりをコレクションで
扱うことのメリットとデメリットを言ってみろよ。(爆笑
キレたもの負けだーな。
答えなんて、ひとつじゃないし。
>>335 VB厨、というより言語能力のない頭悪い奴は放置でいいよ。
話の文脈が読めないみたいだから、自分がいかに「話の筋」からそれたレスを
しているのかわからず、揚げ足取りみたいなレスしか期待できんだろう。
揚げ足取りうんぬんより、なにも考えず煽り口調の308も レベル的にはたいしてかわらないわけだが。さらに自作自演 の言い訳の見苦しさも。
誰か検証してくれない?(´・ω・`)
>>341 自作自演は君の判断に任せるが、少なくとも
「自作自演の言い訳」などしてないな。
こういうお方のことを「言語能力のない頭悪い奴」といっているんだが、
言ってる傍からご登場願えて光栄だね。(笑
まぁ、まともな技術者ならどれがコストが安いかすぐに 判断できるから誰が馬鹿なのかすぐにわかっているわけ だが。
正直 ど う で も い い
が、あえて言うと
>>308 はもっと言葉を選んだ方がいいと思うなぁ。
>そんな発言する人がいるからVB厨って言葉ができちゃんんだよ。
これは余計な一言。
>VB6なら
>>305 のリンク先にあるようにCallByName使ってプロパティにアクセス
>するのが最もまともなやり方だろうし、VB5だったらコレクションを使うべきでしょ。
VB6なら〜アクセスすると言う手法も利用出来るし、VB5〜コレクションも使えるでしょ?
と書くだけで、一連のスレの流れが全然違っただろう。間違いない。
○○するのが当たり前みたいなことを言う馬鹿丸出し技術者の話は ○○という可能性もあるというふうに脳内変換すべしという教訓が 得られたということでいいのでは。
VB暦1.5ヵ月の初心者です。csvファイルで特定の項目を取り出すには、instr関数でカンマの位置を確かめてmid関数で項目を取り出すという以外にもベターな項目の取り出し方はあるでしょうか?アドバイスお願いします。
VB1.5ヵ月の者です。CSVファイルで特定の項目を取り出すにはInstr関数でカンマの位置を確認してからMid関数で項目を取り出すというやり方以外にもっとベターな方法はありますか?アドバイスお願いします。
VB1.5ヵ月の者です。CSVファイルで特定の項目を取り出すにはInstr関数でカンマの位置を確認してからMid関数で項目を取り出すというやり方以外にもっとベターな方法はありますか?アドバイスお願いします。
VB1.5ヵ月の者です。CSVファイルで特定の項目を取り出すにはInstr関数でカンマの位置を確認してからMid関数で項目を取り出すというやり方以外にもっとベターな方法はありますか?アドバイスお願いします。
VB1.5ヵ月の者です。CSVファイルで特定の項目を取り出すにはInstr関数でカンマの位置を確認してからMid関数で項目を取り出すというやり方以外にもっとベターな方法はありますか?アドバイスお願いします。
助けてください。 スクロールバーのイベントを拾って、画面をスクロールさせる事に成功したのですが、 その後、スクロールバーの点滅が消えなくて困っています。 どうしたらよいでしょうか?
助けてください。 スクロールバーのイベントを拾って、画面をスクロールさせる事に成功したのですが、 その後、スクロールバーの点滅が消えなくて困っています。 どうしたらよいでしょうか?
助けてください。 スクロールバーのイベントを拾って、画面をスクロールさせる事に成功したのですが、 その後、スクロールバーの点滅が消えなくて困っています。 どうしたらよいでしょうか?
355 :
デフォルトの名無しさん :04/05/27 22:52
助けてください。 スクロールバーのイベントを拾って、画面をスクロールさせる事に成功したのですが、 その後、スクロールバーの点滅が消えなくて困っています。 どうしたらよいでしょうか?
助けてください。 スクロールバーのイベントを拾って、画面をスクロールさせる事に成功したのですが、 その後、スクロールバーの点滅が消えなくて困っています。 どうしたらよいでしょうか?
助けてください。 スクロールバーのイベントを拾って、画面をスクロールさせる事に成功したのですが、 その後、スクロールバーの点滅が消えなくて困っています。 どうしたらよいでしょうか?
たかがにちゃんねるの掲示板も使えないやつにVBが使えるわけがないな<同じ内容の連続投稿のヤシ
さよか。じゃあ。 スクロールバーの点滅は、TabStopを切ればいい。
>>263 亀レスだが。
参照設定を一旦外して再設定。で直ると思う。
まあ2ちゃんだし・・・
>>362 grate!
いけました。
ありがとうございました。
367 :
デフォルトの名無しさん :04/05/28 10:54
>>333 ありがとうございました。上手く思い通りの四角形が描けるようになりました。
このやり方を応用してCircleプロパティで円も描けるようにしたいのですが、
難しいです。radiusをどうすべきかで悩んでいます。インターネットでいろい
ろ検索してるのですが、なかなか見つからないです。
>>367 円なら中心点と円周の一点を二点指し示すだけでかけるんじゃないか?
馬鹿か?おまえ。
369 :
デフォルトの名無しさん :04/05/28 11:17
>>368 レスありがとうございます。
まだまだ知識が浅く初歩的な質問になってしまっていますね。
>円なら中心点と円周の一点を二点指し示すだけでかけるんじゃないか?
円の中心はマウスをクリックした座標で問題ないのですが、半径の求め方で
悩んでいます。
VBからBSMTP.DLLを使用し、メールに添付ファイルで受発注を行う アプリケーションを作成し、現在客先で運用しております。 社内での動作確認では、エラー発生などせず順調に稼動していたのですが、 いざ客先で運用を行ったところ、メール受信時に下記のようなエラーが発生し、 原因が究明できず困っております。 <エラー内容> 1.メール受信時に「Microsoftへエラーを送信」というメッセージが 表示され、受信処理が強制終了してしまう。 2.メール受信時になんの前触れもなく、システムが強制終了されてしまう。 ※なお、EXEは業務毎に作成しており、メインメニューから各EXEを実行 する仕組みになっております。 また、メール送信処理は一度もエラー発生しておりません。 <処理の流れについて> (1)メールサーバからメール受信 ※受信失敗に対応する為、一連の処理が終了するまでサーバからは削除しない。 (2)受信した添付ファイルを指定フォルダに格納 (3)受信ファイルをDBに反映 (4)処理終了後、メールサーバのメールを削除
>>371 あのなぁ。開発環境と運用環境の詳細もなしか。
処理の流れのどこでエラーが起きてるのか自分で切り分けろよ。
最近馬鹿ばっかりだな。
374 :
デフォルトの名無しさん :04/05/28 12:58
>ピタゴラスの定理って知ってる? 懐かしいねぇ。もう忘れたけどさ。
開発者なら・・・、 ・数学というか論理的に物事を整理できる脳みそはもて ・無知を自覚するのはいいが自慢するな。
たぶんこうか?? 中心の座標 = { x1, y1 } 円周上の座標 = { x2, y2 } 半径 = √( (|x2 - x1|)^2 + (|y2 - y1|)^2 )
377 :
デフォルトの名無しさん :04/05/28 13:25
>>370 >>375 焦ってしまって調べ方が不十分でした。半径がわからないなら初めから「半径の
求め方」で調べればよかったのに。
Picture1.Circle (mX, mY), Abs((X - mX) + (Y - mY)), ForeColor
このやり方でうまく動かせました。レスありがとうございました。
378 :
デフォルトの名無しさん :04/05/28 14:38
ASPのスレッドはどこー?
379 :
デフォルトの名無しさん :04/05/28 18:06
With Picture1 .AutoSize = True .AutoRedraw = True Printer.PaintPicture .Image, 800, 400, .Width, .Height .AutoSize = False .AutoRedraw = False Printer.EndDoc DoEvents End With この方法でPictureBoxの印刷に成功したのですが、印刷後に絵を加工しようと してもできなくなってしまいます。.AutoSizeと.AutoRedrawをコメントにす れば描けるのですが、何故でしょうか?Trueにして印刷した後しっかりFalse にもどしているはずなのですが、何か足りない処理があるのでしょうか?
AutoRedrawがFalseならPaintイベント時に自分で書いてやらないと 詳しくはHELP見ろ
マウスムーブを使って カーソルがある地点(座標A)から左右上下(座標B)に移動させるとラベルの文字が変化するようにしたいのですが どのようにすればいいでしょうか。 ------------------------------------------------------------ 座標Aから右に動かすとラベルのキャプションに「右に移動」と表示させる さらに移動したあとの座標をAにして同じような動作をさせたい ------------------------------------------------------------ このようなことをしたいのですがよかったらお知恵を貸してくださると幸いです。
マウスムーブを使って カーソルがある地点(座標A)から左右上下(座標B)に移動させるとラベルの文字が変化するようにしたいのですが どのようにすればいいでしょうか。 ------------------------------------------------------------ 座標Aから右に動かすとラベルのキャプションに「右に移動」と表示させる さらに移動したあとの座標をAにして同じような動作をさせたい ------------------------------------------------------------ このようなことをしたいのですがよかったらお知恵を貸してくださると幸いです。
タイマーつかえばいいべさ?マウスムーブじゃ枠外出たときめんどくさいべ?
一辺の長さとその両端の角をそれぞれ自由に決めて、それを使って三角形を書きたいのですが…。
C/C++/Java/HTML…… とやったがVBが一番やってて面白くないことに気付いたVB暦4日目の俺。
数学的には両端の座標と角度から2辺の直線の方程式を求めて、 二直線の交点を求める、つまり二元一次の連立方程式を解けば それが知りたい座標になるんだが、これをコードで書くのは面倒だな。
CADのコードを参考にするといい。線と線の交点の座標が第3の座標だ。 Cでのコードならもってたんだが、今、どこにあるかわからん。
ていうか、386は本当にそんなことがやりたいのかと。 ただ調子にのって質問しているだけちゃうんかと小一時間.......。
ならば授業でやってるだろ。
な〜んか適当な先生で、教科書みてやるみたいなんですけどさっぱりで。
先生のせいにするな。教科書みろよボケが 教科書の内容でできねえなら、できねえ理由を先生に突きつけろ
>>385 じゃ、どんなふうにやったのか書いてみそ。
問題点があれば指摘してくれるから。
>387 オイオイ HTMLは違うだろ
>>391 とりあえずあれだ、
>>391 に限らず宿題とかでここに聞きに来てるやつにアドバイス
宿題終わったやつのをコピーさせてもらえや
どうせプログラムの知識なんかがほしいんじゃなくて単位がほしいだけだろ?
398 :
デフォルトの名無しさん :04/05/29 11:22
画像をサイズ指定して画面に貼り付けたいのですがどうしても上手くいきません。 サイズ指定は画面上でマウスを使おうとしています。MouseDownとMouseUPプロシ ージャで開始x軸y軸と終了x軸y軸は求められるのですが、この後の貼り付けをど のようにしたらいいか悩んでいます。是非教えてください。
お前は「上手くいきません」だけで相手がわかると思うのか? だいたい、どこに貼り付けるんだよ。
400 :
デフォルトの名無しさん :04/05/29 11:30
>>399 PictureBoxに貼り付けようとしています。説明不足でした
だからさあ、上手くいかないってナニよ 命令がわからないの?正常にコピーできないの?エラーでるの? コピーが反映されないの?消えるの?ずれるの? 患者:体の調子が悪いんですが 医者:どこがおかしいんですか? 患者:体の調子です 医者:だから、具体的にどこがどのように? 患者:体の調子(ry
402 :
デフォルトの名無しさん :04/05/29 11:49
>>401 命令がわかりません。調べていたらBitBltというのを見つけて使えそうと思った
んですが、ネット上のサンプルをコピーしてみたらBitBltの宣言の所でエラーが
出てしまい混乱してしまいました。
あっそー。じゃあ、もうちょっと探してきたらー エラーの内容すら正確に書かない人にあわせるのは時間の無駄だしー。めしくってこよーっと
患者:悪い所くらい言わなくてもわかるだろ?それでも医者か!はやく治せ! 医者:あいにく、エスパーには知り合いがいませんで。占いは道路をはさんで向側のビルの3階です。
405 :
デフォルトの名無しさん :04/05/29 12:15
>>403 エラーの内容は「定数、固定長文字列、配列、ユーザー定義型およびDeclareステ
ートメントはオブジェクトモジュールのパブリックメンバとしては使用できません
」です。
そこのサイトには、標準モジュールなどに貼り付けろと書いてなかった?
407 :
デフォルトの名無しさん :04/05/29 12:39
>>406 モジュールに書くとなっているサイトとサンプルプログラム上でイベントプロシ
ージャのすぐ上に記述しているパターンがありました。
どちらでもいいのかな?と思っていました。
408 :
デフォルトの名無しさん :04/05/29 12:43
あとBitBltの内容を読んでいると、範囲指定の終点x軸y軸から画像の縦横の長さ を求めなければならないのがわかって、ここでどうやるんだ?って止まってしま いました。
Public と Privateの違いがあるだろ。時と場合だ。
もうね。小学校からやりなおせ。
BitBltなんて使わずに、PaintPicture使っときなさい。そんなに、パフォーマンスの差ないから。拡大縮小できるし。
412 :
デフォルトの名無しさん :04/05/29 13:34
>>411 レスありがとう。ちょうど今自分もPaintPictureを発見して試していました。
413 :
デフォルトの名無しさん :04/05/29 14:12
Labelたくさん貼り付けてクリックするとクリックしたところに丸が移動するのって どうしたらいいんですか
416 :
デフォルトの名無しさん :04/05/29 15:26
>>415 おかげで自分の力でできました
サンクス!
417 :
Akagi :04/05/29 16:14
VB5,DAO,ORACLE7を使用しています。 ODBCDirectワークスペースで、OpenRecordset("SQL文")を実行すると 「実行時エラー:3669 Execution Canceled」というエラーが 発生することがあります。 どうやら指定するSQL文が長い(複雑?)場合に発生するようです。 但し同じSQL文でも発生したりしなかったりと訳がわかりません!?。 同じような現象にあったことのある方、回避策等ご存知の方がいらっしゃいましたら アドバイスをいただければと思います。
>>413 表現があいまい過ぎ。自分が何をしたいのかを的確に伝える事もプログラマの一つの能力として重要ですよ。
Label1という名前でコントロール配列としてラベルを配置して、↓のような、
Private Sub Label1_Click(Index As Integer)
Dim lblItem As Label
For Each lblItem In Me.Controls
If lblItem.Index = Index Then lblItem.Caption = "○" Else lblItem.Caption = ""
Next lblItem
End Sub
このような動作を期待しているんですか?見当違いかな。
ま、コントロールの貼りすぎはシステムリソースとコーディングに良くないから気をつけて。
もういいです
本当の初心者というのはわからない部分がわからないものです プログラマのオサーンにはそれがわからんのですよ
わからない部分がわからない人は芯だ方がいいよ。
だから丁寧に教えてるだろうが
分からない部分が分からないってことは、論理的に考えられない証拠 そういう人はプログラムには向いてないと思う
新人教育の担当官が「異星人とのファーストコンタクトだと思って接する といいよ」って言ってたが、あれは至言だったな。 (´・ω・`)
>>424 異星人とのファーストコンタクトよりも困難だと思うよ俺は(´・ω・`)
>420 それは依存心が強すぎ。 著しい自己解決能力の低下による症状だな。 努力すれば「どこまで分かって、ココが分からん」と 具体的に「分からない部分」が分かるものなのだが。 最近の小学校ではそんな教育ばかりなんだろうか。。 と、30才のオサーンは思うテスツ
テンプレの心得8に「やる気の無い椰子には答えない」も追加汁
>>426 つーかさ、きゃつらは「出発点から分かってない」から、その議論はもはや無意味。
例えば掛け算で言えば九九が分かってないって事だよ。
と、35歳のオサーンは思うデスク
>>427 「わからない部分をわからない人の質問は放置」とした方がいいかも。
お子ちゃまは(ry
そんなふーに小難しく考えるまでも、
>>419 みたいなカキコを見て思うことは、意欲の無さ。
わからない、わからないといっていてはいつまでもわからないでしょう。当たらないと、砕けられない。
と、17歳のコウボウは思うデスクリムゾン
意欲の無い奴は、はなから相手にしてないし と、36歳のプロマネは思うデストラップ2Will
432 :
デフォルトの名無しさん :04/05/30 01:21
スクリプトコントロールを使うときに クラスを定義して使う方法はないですか? なんか、ぐぐったけど、いまいちよーわからんかったですよ
最近の傾向では ・スクリプトコントロール ・画像処理系 を聞いてくる奴は馬鹿だから相手にしないほうがいい。 何をしたいのか 何ができないのか エラーが出るとしたらどこでどんなエラーがでるのか 解決するために何をしたのか(○○を調べた、○○のようにコードを変更したなど) 環境 自分のレベル 宿題です 最低上5つまでは書くのがあたりまえ。
たとえば432だと 「クラスを定義して使えよ馬鹿」が最適な答えです。
いや、 「 あ き ら め ろ 」 が最適じゃないか ?
チェリーボーイには無視が最適じゃないか?ベイベ。
教える方は電卓や算数ドリルの解答集ぢゃないんで、人として最低限のマナーは守ってもらわないと。
>>433 の例みたいにそこまで形式ばる必要は無いとは思うんだけども、質問する方が状況説明が出来ないと、
>>434-436 のような煽りが飛んできて、スレの雰囲気も悪くなるからさ。「初心者お断り」みたいな空気ね。
日本のサイト×Googleじゃ限度があるかもしれないから、海外サイト(PSC等)で調べるのもオススメカモナー
ほとんどの人は初心者お断りじゃなくて、「教えてクン」お断りだと思うけどね。 普通の人は、相手に一方的に「簒奪」されるような関係には不快感を感じるわけで、 やっぱりGive & Takeの互助会的な関係の方が望ましいと思うわけでしょ。 で、意訳しまくっても文意が理解できないような理解不能な文章書く横着で 他人に対する想像力を欠いた奴が他の人を助けるようなレスをするとも、 回答者に最低限の礼儀で報いるとも思えないわけで。
439 :
デフォルトの名無しさん :04/05/30 15:21
簒奪 ← 読めない人は漏れだけか。
>>437 じゃあお前が全部超能力発揮して答えろよ。
って言われたいの?
>>438 教えてクソに海外サイトの内容を理解できるほどの語学力はないと思うけど。
つーか、質問スレなんだから、できるか出来ないかだけでも答えてあげれば? その上で、いくらでも煽ればいいだけだと思うんだが。 カルシウム少なすぎ。 ちなみに、VBScriptは、Class 〜 End Classでクラス使えるし、ScriptControlでも同じ。
>>443 「クラスを定義して使えよ」って書いてあるんだが。
読めないの?
(´-`).。oO(なんでそんなに必死なんだろう・・・)
>>445 つっこまれすぎると自分のレベルがわかっちゃうからでしょ
煽るぶんにはレベルわかんないしね
そういえば、VBってVisualBasicの略じゃなかったんだな 初めて知ったよ
Venture Business ? と釣られてみるテストン
Virus Buster ? と釣られてみるテストン
分かった! Very Baka だろ?
451 :
デフォルトの名無しさん :04/05/31 03:11
仕切り魔が発生中の糞スレハケーン 答えるつもりがないんじゃなくて 答えられない低脳なら ごまかし嫌味を言わずにシカトしろ お呼びじゃないデツヨ 「教えてクン」より 勘違い「教えてやるから感謝しろ」クンお断り。 ここは質問スレ。
おぉ。同志が結構居たのねw
>451
ちゃんと質問として分かるものには誰かがレス付けてくれてるでしょ?
ttp://dictionary.goo.ne.jp/search.php?MT=%BC%C1%CC%E4&kind=jn -----------------------------------------
しつもん 【質問】
(名)スル
疑問点やわからない点を問いただすこと。
-----------------------------------------
>420みたいに、「分からない部分が分からない」ということを聞いてくるのは質問ではない。
勝手な親切心で答えてるから、そりゃ嫌味を言うのもルール違反だが、低脳とか「感謝は
しないのが普通」みたいな書き込みも、人としてルール違反だと思うぞ。
とオサーンが言い返してみるテスツ
あれてるとこすいませんが、 API使ってフルスクリーン表示ってどうやるんでしょうか。 フォームの枠消して最大化のように 「見た目はフルスクリーンだが実際はその他のwindowのDCの処理もしてて重い」 のではなく、フルスクリーン表示にすることで軽くなるようにしたいんです。 よろしくお願いします。
DirectXにしないとフルスクリーンの恩恵は得がたい。
まてよ、OpenGLという手もあるかな と、適当な事を言ってみる。
もしかして、 tDC=GetDC(0) 描画 Call ReleaseDC(0,tDC) だけでいいんですか?
こんな朝にレス早いっすね感謝感謝。 DX使わずにいきたかったんですが やっぱり意味無いというか恩恵は受けらんないですか、、、 APIのみでフルスクリーンの恩恵受けられる方法ないですかね? ユーザーがDXインスコ嫌がるんすよ。まじっさいパソのスペック低い方がほとんどで
>>245 自己レス。
Windows Update の履歴を見たら、
Microsoft Data Access Components 用セキュリティ問題の修正プログラム (KB832483)
が2回適用されてたので、試しにシステムを2回目の適用前に復元
してみたら、そのエラー「は」出なくなった。
初回適用以前に戻して見るか・・・
ある ADO 関連のアップデートは失敗する時があって、失敗するとOS
の再インストールしか手段がないとかMSのサイトに書いてあったり
するから恐ろしい。
恐ろしいねえ。
はぁ。
>>458 DirectXが標準で入ってないのなんてWin95/NT4.0までだよ。
ついでに言うとDirectXでフルスクリーンにしても他のウィンドウの
処理はしているからパフォーマンスは全く関係ない。
DirectXを使わずに解像度を変えることは可能だが、それをやるなら
終了時に確実に元に戻す処理も必要。たとえアプリケーションが
クラッシュしても元に戻すこと。(DirectXならddhelpがやってくれる)
ActiveX DLLに関しての質問です FormからActiveX DLL間で ユーザー定義型を使ってデータを渡したいのですがどうもうまくいきません Formの標準モジュールとActiveX DLL内でユーザー定義型を宣言しています Classで渡すのはできるみたいなんですが どうしたらよいでしょいか
自己解決しました あと、どうしたらよいでしょうかでした
僕はVBに出会えて本当に良かった。
466 :
デフォルトの名無しさん :04/05/31 22:54
どうやって解決したか書いてくれたら知識の共有できるのに
ActiveX DLLのパブリッククラスモジュールでパブリックユーザ定義型を定義すれば そのActiveX DLLを参照設定することでFormからもユーザ定義型を使用できるよ。 両方でユーザ定義しなくていい。というかするのは良くない。 (プロジェクトは違うけど)名前とメンバが一緒な 別の型として扱われるから。
>>465 VBが君に出会えてよかったと思ってるかどうかはわからんわけね(ショボーン
どうだろう
僕たちはなにかVBにできることがあるんだろうかああああ
>>462 なるほど。参考になりました。
がんばってみます^^
あ、あれ、そうなのか・・・・ Variant型で受け取って返したらうまくいったんですけども
バリアントは無敵! なんでもOKだから、製作者を不安にさせるのがたまにキズだけど。 なので仕事ではなかなかバリアントを使う勇者は居ない。 ・・・でもやっぱり憎めないんだよなぁ。
473 :
デフォルトの名無しさん :04/06/01 14:07
グローバル変数使わずにForm間で値の受け渡し方法って無いんだっけ?
474 :
デフォルトの名無しさん :04/06/01 14:11
いくらでもある。レジストリに書きこむとか、テキストファイルに入れるとか。
475 :
デフォルトの名無しさん :04/06/01 14:13
Formに はりつけたコントロール経由はどうだ? 数値だったら tag が おすすめ。
476 :
デフォルトの名無しさん :04/06/01 14:17
やっぱりFormにコントロール貼るしかないか。自作MsgBoxの戻り値を取得できれ ばいいだけなので、その方法で行きます。
独自プロパティだろ