VBプログラマ質問スレ(6.0以前) Part34

このエントリーをはてなブックマークに追加
1デフォルトの名無しさん
VB(6.0以前)の質問スレです。
VB.NETの話題はできるだけひかえてください。

前スレはこちら
  Part25 http://pc2.2ch.net/tech/kako/1052/10526/1052627913.html
  Part26 http://pc5.2ch.net/tech/kako/1055/10551/1055145106.html
  Part27 http://pc5.2ch.net/tech/kako/1058/10586/1058674927.html
  Part28 http://pc5.2ch.net/tech/kako/1061/10612/1061296197.html
  Part29 http://pc5.2ch.net/tech/kako/1065/10654/1065446334.html
  Part30 http://pc5.2ch.net/test/read.cgi/tech/1069160036/
  Part31 http://pc5.2ch.net/test/read.cgi/tech/1073732636/
  Part32 http://pc5.2ch.net/test/read.cgi/tech/1077216109/
  Part33 http://pc5.2ch.net/test/read.cgi/tech/1080606445/

Visual Studio 6.0 Service Pack 6 正式リリース
http://msdn.microsoft.com/vstudio/downloads/updates/sp/vs6/sp6/default.aspx

【VB.net関連スレ】VB.net質問スレ (Part5)
http://pc5.2ch.net/test/read.cgi/tech/1078134703/

【Win32 API関連スレ】Win32API質問箱 Build18
http://pc5.2ch.net/test/read.cgi/tech/1081702990/

心得
壱.質問する前に過去ログにも目を通してみる。
弐.質問する前に MSDN などで調べてみる。
参.VBScript もこのスレでOK。
四.インストーラーなどの質問もOK。
五.荒らしは相手しない。
六. VB情報募集中。
七.VB.NETの話題できるだけひかえる。
2デフォルトの名無しさん:04/05/14 23:20
いわゆるひとつの2ゲットですね
  Part 1 http://piza2.2ch.net/tech/kako/968/968328471.html
  Part 2 http://piza2.2ch.net/tech/kako/990/990793224.html
  Part 3 http://piza2.2ch.net/tech/kako/1000/10005/1000523122.html
  Part 4 http://pc.2ch.net/tech/kako/1006/10069/1006922992.html
  Part 5 http://pc.2ch.net/tech/kako/1010/10106/1010624646.html
  Part 6 http://pc.2ch.net/tech/kako/1013/10138/1013844542.html
  Part 7 http://pc.2ch.net/tech/kako/1015/10158/1015836357.html
  Part 8 http://pc.2ch.net/tech/kako/1018/10187/1018794901.html
  Part 9 http://pc.2ch.net/tech/kako/1020/10208/1020830472.html
  Part10 http://pc.2ch.net/tech/kako/1022/10221/1022127528.html
  Part11 http://pc.2ch.net/tech/kako/1024/10243/1024380249.html
  Part12 http://pc3.2ch.net/tech/kako/1026/10266/1026642565.html
  Part13 http://pc3.2ch.net/tech/kako/1029/10292/1029241786.html
  Part14 http://pc3.2ch.net/tech/kako/1030/10309/1030947162.html
  Part15 http://pc3.2ch.net/tech/kako/1032/10327/1032706491.html
  Part16 http://pc3.2ch.net/tech/kako/1034/10343/1034302532.html
  Part17 http://pc3.2ch.net/tech/kako/1036/10361/1036154952.html
  Part18 http://pc3.2ch.net/tech/kako/1038/10381/1038103769.html
  Part19 http://pc3.2ch.net/tech/kako/1039/10398/1039859691.html
  Part20 http://pc2.2ch.net/tech/kako/1041/10418/1041879465.html
  Part21 http://pc2.2ch.net/tech/kako/1044/10440/1044028945.html
  Part22 http://pc2.2ch.net/tech/kako/1046/10463/1046354784.html
  Part23 http://pc2.2ch.net/tech/kako/1047/10477/1047743187.html
  Part24 http://pc2.2ch.net/tech/kako/1050/10501/1050151126.html
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
最後の行を書かないファイルを作ればいいじゃん。

っていうかこんなの自分で考えられないのはだめだろ。
114:04/05/15 14:42
>USB機器を直接操作しようと思うのです。
ドライバを通さずに、USBに直接送り付けたいのです。
(この表現も微妙な気がしますけど。)
ベンダ独自のプロトコル仕様も手には入れているのですが、
{CreateFile(***,・・・}***にて指定する部分に
何をどう取得して、やればいいのかがわからないのです。
以前はCOMポートのプログラムの時は{COM3}と直に書くことで
制御できていたのです。
>>5さんの言われてる通りDDKに書かれてるから読めばいいということ
なのでしょうか?
>>4
なんでそんな事をしたいのかが疑問だが、UUSBD.DLL でもGoogleで調べてみたら?
>>1
ここでVBAとVBScriptの質問はさせるな うざい。

ビジネス板とスクリプトスレでやらせろ
144:04/05/15 15:36
>>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
申し込むと無料で送ってくれるよ
>>14
複数の同一機器はちゃんと使えるようだが。
234:04/05/15 16:54
>>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
> 得意げな(実は何も知らない)馬鹿を一応叩いておくか。

思いこみっていいね。

> つまり複数の同一のデバイスを同時にアクセスできない、という印象を持っても
> そんなに間違ってない。

間違ってるんだが。そんなに間違ってるってなんだよ(苦笑
274:04/05/15 21:11
>>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
>>32
>>31は「交換法で」としか言ってないから基本交換法かも知れないぞ。
ttp://search.yahoo.co.jp/bin/query?p=%a5%bd%a1%bc%a5%c8+%b8%f2%b4%b9%cb%a1%a1%a1VB&hc=0&hs=0
34デフォルトの名無しさん:04/05/17 13:48
エスパーってのは、超能力者ということ。
つまり、手抜きのわけわからん質問をしても、超能力者なら
それで答えてくれるだろうと思っているだろうということだな。
その昔、超絶技巧を持ったプログラマはWizardって呼ばれてたから、あ
ながち間違いとも言い切れん罠。
でも魔法使いって30超えて童貞なんだろ?
それは隠れた必須条件でつね。
世間では下記の内容が伝わってるみたいだけど。
ttp://www.genpaku.org/realprogrammerj.html
38デフォルトの名無しさん:04/05/17 17:16
じゃ オレ 魔法使いじゃねーや(爆
↓何事も無かったように次の質問ドゾー
40デフォルトの名無しさん:04/05/17 17:59
質問です。
iniファイルで同一セクション名が複数ある場合は
getPrivateProfileString関数での値の取得はできないのでしょうか?
41シャケ:04/05/17 22:00
[条件]
・テキストボックスにRGBの輝度を入力し、実行ボタンをクリックすると、フォームの背背景をその色に変化させる。
・終了ボタンでプログラムが終了する。


高校でのプログラミングの課題なのですが、全く分かりません。
どういう操作をすれば、良いのか教えて下さい。
お願いします。
>>41
>全く分かりません。
それは全然調べてないから。逆に言えば、ちょっと調べればそんなこと
嫌でもわかる。VBなんて文献だってネット上の情報だって腐るほどあるんだから。

学校の勉強でしょ?少しは調べてみたら?
それも嫌なら人のやつ丸写しすれば同じことじゃん。
>>41
RGBくらいは何か分かるか?
ペイントの色の編集で赤緑青あるだろ。あれ。
高校でのプログラミングの課題であれば、それまでの授業の内容に答えはあるはず。
答えを教えるのは簡単だが、それではその先生に失礼だからなあ
45シャケ:04/05/17 23:26
ある事情で、いきなり授業を受けることになったので
現時点では全く意味が分からない状態です。
周りはオタクだらけで、なにも聞かずとも理解しているようです。

これから勉強していくとして、とりあえず目先の課題だけはやれないと
どうにもならないので、質問させていただきました。

すみません。
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
恥としれいッ!
>>54
おまいという存在が?
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
62シャケ:04/05/18 20:56
>>48
ありがとうございました。
とりあえず、解決できました。




6350:04/05/18 23:25
>>50
>DragOverイベント時に

は、正確には >OLEDragOverイベント時に
でした。すみませんが、よろしくお願いします。
>>50
個別にファイルを作って ttp://soramimi-i.com/my2/vb/11/110105.htm
みたいにすりゃできそうじゃん?後処理いるけどさ。
6550:04/05/19 08:19
>>64
操作としては逆の内容で、たとえばエクスプローラからのD&Dはできています。

メーラーからの場合はメーラーの提供するオブジェクトかなにかを
知る必要がある?のかなあとも。どうなんでしょ?
66バカですみません:04/05/19 11:51
IDEで実行しているのか、コンパイル済みなのかを
コード中で判別する方法を教えてくささい
67デフォルトの名無しさん:04/05/19 11:51
VBでバインド配列を使いたいので
Dim IdArray As OraParamArray
とすると↑の行で「ユーザー定義型は定義されていません」
ってエラーが出ます。
どういうことでしょう?
お願いします、教えてください。
68デフォルトの名無しさん:04/05/19 11:59
OraParamArray ってのが ないんだろ。
6967:04/05/19 12:02
>>68
oo4oのヘルプ見たらいきなり

Dim OraSession As OraSession
Dim OraDatabase As OraDatabase
Dim EmpnoArray As OraParamArray
Dim EnameArray As OraParamArray

みたいな書き出しされていたんです。
ネットで調べてもほぼ同様・・・
それらはどこかで定義されているんでしょうか?
70デフォルトの名無しさん:04/05/19 12:23
オラクル関係のものをアドインとかしたりしないのか?
7167:04/05/19 13:30
>>70
OraParamArray以外のoo4o関係のものは正常に動作しています。
なのでアドイン関係では無いのかな、と思っていますが・・・。
参照設定はどうなってる?
73デフォルトの名無しさん:04/05/19 13:53
そーだそーだ!oo40のバージョン晒せ!



でないと、分からん
あ、ヘルプに載ってるならバージョンはいいのか。。。

んじゃ参照設定だけでイイんでない?
75バカですみません:04/05/19 14:10
IDEで実行しているのか、コンパイル済みなのかを
コード中で判別する方法を教えてくささい

ってば
Debug.Print 1/0
でも走らせてみれば?
そもそも何でそんなことをしたいのか…?
7867:04/05/19 14:13
参照設定は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
保守性を考えたら付けたほうがいい
チーム開発ならなおさらだ
87長文すま:04/05/20 00:54
>>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かな?
9695:04/05/20 12:02
>>93-94
なんだ四角かよ。
それだったらLineメソッドでOK。あとはヘルプで確認せよ。
97つっこみ役:04/05/20 12:05
四画→四角なんだって
9895:04/05/20 12:10
>>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社にお問い合わせください。
>>109
は?

個人で使うには高いからなぁ

ttp://www.asahi-net.or.jp/~cz1t-nd/wlc.html
とかいくつかはあるようだけど
プロが片手間に作ったものかね
グレープシティにしろコムラッドにしろ、なんでサードパーティ製の
ボタンOCXは、標準のボタンと外観が微妙に違うんだろうか。
プロパティをどういじっても同じにならない。
コレ読むと参考になるよw >グレープシティ
ttp://pc.2ch.net/prog/kako/1012/10123/1012381593.html
プログラムの勉強を始めて、まだ三ヶ月なんですが
はやくも行き詰るというか、何をしていいか分からなくなりました
まだまだ基礎の段階なんですが、なにをしたらいいんでしょうか・・・
みなさんは初心者時代どうされましたか?
>>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以外のものがある場合、エラートラップを使用せずに
取り除くにはどうしたら良いのでしょうか?
デスクトップで『マイコンピュータ』なんか混ざるとエラーで落ちちゃうんですよね。
120119:04/05/21 12:13
良く分からなかったのでエラートラップに頼っちゃいました
>>119
GetFormat

おじさんはたとえVariantでも明示的に型宣言してほしいと思ったり
>>121
そうそう。宣言を省略したらVariantとは限らない。
123119:04/05/21 14:11
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を抜けたら
ローカル変数(つまり子フォーム)は消えるんではと思った次第です
なぜ消えないんでしょうか?
130バカですみません:04/05/21 18:24
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
でした。
135HEPL:04/05/21 22:44
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())
という感じです。

ですが、「型が一致しません。配列またはユーザー定義型を指定してください」
とでて動かないのです。
誰か助けてください。
136HEPL:04/05/21 22:56
ちなみに、これだと動くのですが、かっこ悪すぎて困っています。

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の「コントロール配列」を渡している、なんてオチではないよね?
138HEPL:04/05/21 23:53
そ、そうなんですけど、どうしたらよいですか?
>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

じゃ、ダメなのか?
140HEPL:04/05/22 00:18
ん?じゃ、いいんだな?
解決マークでFA?
142HEPL:04/05/22 00:23
助かりました。
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

でも動くが、なんとも怪しい使い方でもある。
参考までに。
ていうかね、何でパブリックなメンバ(つまり、コントロール配列の
ことね)を引数で渡す必要があるのかと小一時間。。。
146HEPL:04/05/22 00:30
あ、だめです。
配列の添え字順に並ばない・・。
147HEPL:04/05/22 00:31
>> 145
クラスの中に突っ込んで汎用的にしたいんですけど。だめですかね?
>145
まぁ、いいでないの。初めは色々なことをやってみたいものだろうから。
どうであろうと自ら考え、書いて動かないと悩むことはイイことだと思うし。
>>144
それだとCの要素数が0の時に死ぬな。
150HEPL:04/05/22 00:35
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の云う方が早いかもよ?

154HEPL:04/05/22 00:41
>>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は杞憂に過ぎないし、
どうしても手を打っときたいならトラップすればいい。
161HEPL:04/05/22 00:58
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
164HEPL:04/05/22 01:24
いい人続出。
>>164
何故HEPLなんですか?

HELPのtypoなんじゃないかと思うと気になって夜も眠れないです…
Visual Basic 6.0でExcelを利用せずにxls形式のファイルを保存する
事が可能にするフリーのライブラリってないですか?
>>166
ない
168133:04/05/22 01:43
お願いします。
>>168
ShellExecuteEx
>>167
(´・ω・`)ショボーン

>>169
文化オリエントのライブラリは高いだけで駄目駄目なんですね(`・ω・´)シャキーン
駄目とはなんだ駄目とは。つかえないヤツは買うな。
173HEPL:04/05/22 04:43
次の問題

まず、一つコントロールを配置して、
それを動的に増やした場合、
次も同じ様に処理をしたいので、最初に定義した一つを除いて
動的に削除するには、どうしたらいいですか?
price = Val(txtprice.Text)という風に
変数を宣言したいんですが、認識してくれません
なぜでしょうか?おしえてください。初歩の質問で申し訳ないです
175174:04/05/22 06:21
すみません自己解決しましたf^^;
176デフォルトの名無しさん:04/05/22 08:39
>>173
バ〜カ
ひらがなの文字列を漢字に変換したいと思っています。
誤変換はそのままでいいのでIMEで入力して一回変換したときと同じ文字列を手に入れたいのですが
VB6のプログラム中からそういったことをするのは可能でしょうか?
IMEのオブジェクトのようなものがあったりするのでしょうか?
178HEPL:04/05/22 11:11
>>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?
179HEPL:04/05/22 11:16
あ、すみません、Unload Label1(i) ですね。
やっぱ、馬鹿だわ。
180133:04/05/22 11:20
>>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

っていうか・・ググレ
183133:04/05/22 12:25
>>182
ありがとうございました。
検索してきます。
>>166
やったことはないけどOpenOfficeをOLEオートメーションで
操ってやればできそうだけど、どうだろう?
185デフォルトの名無しさん:04/05/22 14:16
>>108
「うきうき家計簿」がInputManを使ってるのは解った
チョット質問
ttp://homepage1.nifty.com/MADIA/vb/vb_bbs/200303_03030024.html
に書いてある、クラスモジュール内でWinsockオブジェクトの作成、って
今でも不可能?

フォーム使ってやると、非常にプログラムが汚くなる気がするんだけど・・・
187デフォルトの名無しさん:04/05/22 22:29
というわけで、よろしくお願い致します
フォームモジュールに貼り付けて(暗黙)LoadだけでShowしなければいいじゃん。
使用後のUnloadを忘れなければ、普通のクラスモジュールと同じように使えるよ。
>>188
なるほど、頭いいね
早速やってみま
>>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
プログラムっていうかリンクについてなんですけど
テキスト、バナー以外にリンクしちゃいけないんですかね?
>>192
ttp://www.johoka.net/vbsin.htm
少しはGoogleなどで調べましょう
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

とかしたいんだけど、何故かうまくいかない・・・
>>196
variant型で代用してみては?
スクリーンセーバーやフルスクリーンゲームとかよりも
強力に最前面表示させるソフトがあると聞きましたが、それはどうするんでしょう?
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
オッケーでっす。
204202:04/05/24 18:34
>>203
まじっすか!
>>202
ChrB 関数は文字ではなく、1 バイトを返します。
206202:04/05/24 20:01
家に帰ってきたので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()で確認したのかい?
208202:04/05/24 20:10
>>207
そうそう。



あ、LenBで確認してないぞw それか
>>206
VBの文字列型変数は文字長まで管理している。
文字列型の変数が指すのは「文字列の長さ」+「文字列へのポインタ」のはず。
210202:04/05/24 20:18
>>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
InStr使え
>>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
ってやってるのとも同じだよ。
>>213
>>214
ありがとうございます。やってみます。
217デフォルトの名無しさん:04/05/25 00:17
どなたか教えて下さい。
basp21の半角文字列→全角文字列変換(HAN2ZEN関数)を使用しないで、
「半角カタカナ」の文字列を「全角ひらがな」の文字列に変換したいです。
皆さんの知恵を分けて下さい。よろしくおねがいします。
218デフォルトの名無しさん:04/05/25 00:31
VB6.0です
IEを立ち上げないでサイトにアクセスして以下の事ってできますか?
ソースから抜き出すのではなく表示上から目的の文字列を抜き取って(コピペ)
テキストファイルに書き出したいのですが・・・

無理ですかね?よろしくお願いします。
219218:04/05/25 00:33
>目的の文字列
ではなく目的の行の間違いでした
>>217
一文字づつ処理しましょう

>>218
ソースから抜き出さない理由は?
221218:04/05/25 00:50
>>220
ソースだと余計な文字列(タグ)から抜き出さないといけないじゃないですか
単純に表示されている文字列から取り出せたほうが手間8コード)が省けて
いいかなと思ったんですが・・・・
どんなもんでしょうか?
>>218
Webbrowserコントロールで文字だけとれなかったかな?
>218
WebBrowserコントロールで表示→BODYオブジェクトからダイレクトに
文字を抜けるとは思うけど・・・余計メンドウなような・・・ガンガレ
>217
ASPで書くの?まぁASPでもVBでも良いが。
「カタカナ」 ->  「ひらがな」だけだったら、単純にCHRを加減すれば?
225218:04/05/25 01:22
>>222-223
返答ありがとうございます。
余計面倒ですか・・・
素直にソースから抽出したほうがいいんですかね(苦笑
なんとなく表示されてるのから取れたら楽だろうなぁと思ったんですが
どっちが効率いいか試してみます。ありがとうございました
報告よろしく
>>225
目的の文字列にもよるけど、WebBrowserを使っても面倒にはならないと思うよ。

WebBrowserに目的のURLを表示。(非表示状態でも良い)
WebBrowser.documentをIHTMLDocument(だっけ?)オブジェクトに代入。
IHTMLDocument.documentElement.innerText(だっけ?)で全テキストのみ取得。

これだけだから。HTMLDocumentはJavaScriptで操作するあのDOMなんで、
そこらへん知っていると好きなタグの中身とかいろんな部分を簡単に取得できる。
×IHTMLDocument(だっけ?)オブジェクトに代入。
○IHTMLDocument(だっけ?)型に代入。

IHTMLDocument型を使うにはWebBrowserとは別のライブラリ(HTMLなんたら)を
参照設定する必要がある。参照設定しなくてもレイトバインディングになって
コード補完が出来ないだけで使えるけど。
229217:04/05/25 07:59
>>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のデータソースの内容

(ホスト名、ポート番号など)

プログラムから参照する方法はありませんでしょうか?

234 ◆jEYedeqAfU :04/05/25 12:45
VB5用の逆コンパイラはいつになったら出てくるのでしょうか
>233
DNSとDSNの違いを調べろ。話はそれからだ。
strconvは確か
全角かな->全角ひらがなは可能
半角かな->全角ひらがなは無理
ま、コードで考えれば半角かなだったら、一定数加算してやるとかになるんだろうが

>>232の言う通り
VB自体でやるならUnicodeでやるべきだと思うなぁ
ファイルシステムがらみでも半角かなは使わなくなってるような気がするんだが
半角かな使うってのが、どうなんだろうなって思っちまうな
むしろ半角かなは使わないように言われない?
なんから知らんが「ヴ」を変換したらどうなるかを忘れるな。
言いたい事はそれだけだ。
238デフォルトの名無しさん:04/05/25 13:22
VBってOSに関係無くユニコードなんでしょうか?
VB1から。
239デフォルトの名無しさん:04/05/25 13:23
「ヴ」を変換したら「う゛」になる(w
240224:04/05/25 13:39
>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にオブジェクト名って付けられないのでしょうか?
http://www.geocities.co.jp/SiliconValley-Oakland/8192/
↑VB使ってる香具師はこれ見て勉強汁
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使っている奴だけの話じゃないと思うが・・・。
247246:04/05/25 14:47
なんだコピペ荒らしか。
248236:04/05/25 15:05
おおお
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のサイトや答えてネット、愚ぐったりといろいろ探したのですがちから
及ばず・・皆様のお力をお貸し下さい。なにとぞよろしくお願い申し上げます。
254253:04/05/25 16:15
書き忘れておりました。
上記問題はwinXPでは問題になっておりません。MEユーザーからのみです。
255デフォルトの名無しさん:04/05/25 16:22
インストールしないで 入れられないのか?
自分で作ったソフトなら、それができるだろ。
256253:04/05/25 16:25
>>255
ユーザーに配布しているので・・


自己解決しました
http://support.microsoft.com/default.aspx?scid=kb;ja;413232

すれ汚しスマソ
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
大方、全角で打ってるとか、そんなんだろうさ(フッ
266263:04/05/26 07:20
すみません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
素の状態じゃできなかったと思うが。ぐぐると色々あるよ。
274272:04/05/26 14:12
え、それは外部のライブラリ等を利用しないとできないってことですか(滝汗
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
アドイン作れ
後からチェックする処理もいっしょに
URLが含まれた文字列を渡すとリンク貼ったHTML生成して返してくれる関数作ってくれ。
たとえば「2ちゃんねるはここ http://www.2ch.net」って渡したら
「2ちゃんねるはここ <a href="http://www.2ch.net/">http://www.2ch.net/</a>」って返すみたいなの。
そのくらい自分で作れよ。
287デフォルトの名無しさん:04/05/26 17:02
function henkan(a as string) as string

henkan="<a href=""" & a """>" & a "/</a>"
End Function
賛成
>>287
恥ずかしくない?そんな事書いて・・・
290デフォルトの名無しさん:04/05/26 17:20
ttp://www2s.biglobe.ne.jp/%7Es-sigeru/main.htm
このページの「かんたんマップ」のように画面に自由に線が引けるようなフォーム
を作りたいのですが、参考になるサイトを教えてください。
ダウンロードするとexeのみなので解析もできません。
>>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で穴埋めをするというものなんですが
ご教授お願いします。
>>294
"0####"
296デフォルトの名無しさん:04/05/26 20:43
>>277
  インストーラーの作り方次第で開発環境に影響与えないように作れる?
297277:04/05/26 21:50
>296
あるよ。
winフォルダでなくて、winsysフォルダにして味噌。
あと、マニュアル読んでる?
298デフォルトの名無しさん:04/05/26 22:01
>>297

Winsysフォルダでやってるけど駄目でした
ヘルプとかいろいろ見て
SharedLegacyFile がそうかと思って変えてみたりして試してますが
まだうまく作れません。

もう少しヒントください。
>>298 InputManのマニュアル嫁
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
参考。
ttp://homepage1.nifty.com/MADIA/vb/vb_bbs/200303_03030012.html
どっちにしろ無用に複雑になりそう
>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
312310:04/05/27 14:28
ありがとうございました。助かりました。
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
全然ネタじゃないです。情けない話です。
330329:04/05/27 17:54
>>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
じゃあ聞いてやるよ。

たかが可変の変数名の変数の集まりをコレクションで
扱うことのメリットとデメリットを言ってみろよ。(爆笑
キレたもの負けだーな。
答えなんて、ひとつじゃないし。
340308:04/05/27 19:17
>>335
VB厨、というより言語能力のない頭悪い奴は放置でいいよ。

話の文脈が読めないみたいだから、自分がいかに「話の筋」からそれたレスを
しているのかわからず、揚げ足取りみたいなレスしか期待できんだろう。
揚げ足取りうんぬんより、なにも考えず煽り口調の308も
レベル的にはたいしてかわらないわけだが。さらに自作自演
の言い訳の見苦しさも。
342293:04/05/27 19:29
誰か検証してくれない?(´・ω・`)
343308:04/05/27 19:30
>>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関数で項目を取り出すというやり方以外にもっとベターな方法はありますか?アドバイスお願いします。
352HEPL:04/05/27 23:07
助けてください。
スクロールバーのイベントを拾って、画面をスクロールさせる事に成功したのですが、
その後、スクロールバーの点滅が消えなくて困っています。
どうしたらよいでしょうか?
353HEPL:04/05/27 22:56
助けてください。
スクロールバーのイベントを拾って、画面をスクロールさせる事に成功したのですが、
その後、スクロールバーの点滅が消えなくて困っています。
どうしたらよいでしょうか?
354HEPL:04/05/27 23:08
助けてください。
スクロールバーのイベントを拾って、画面をスクロールさせる事に成功したのですが、
その後、スクロールバーの点滅が消えなくて困っています。
どうしたらよいでしょうか?
355デフォルトの名無しさん:04/05/27 22:52
356HEPL:04/05/27 22:58
助けてください。
スクロールバーのイベントを拾って、画面をスクロールさせる事に成功したのですが、
その後、スクロールバーの点滅が消えなくて困っています。
どうしたらよいでしょうか?
357HEPL:04/05/27 22:59
助けてください。
スクロールバーのイベントを拾って、画面をスクロールさせる事に成功したのですが、
その後、スクロールバーの点滅が消えなくて困っています。
どうしたらよいでしょうか?
359HEPL:04/05/27 23:02
助けてください。
スクロールバーのイベントを拾って、画面をスクロールさせる事に成功したのですが、
その後、スクロールバーの点滅が消えなくて困っています。
どうしたらよいでしょうか?
たかがにちゃんねるの掲示板も使えないやつにVBが使えるわけがないな<同じ内容の連続投稿のヤシ
移管問題で、各所でへんな動きが出てると思われ

http://dempa.gozans.com/prj/page/browser/ikan.html
さよか。じゃあ。
スクロールバーの点滅は、TabStopを切ればいい。
>>347
Input#とかSplit関数とか
>>263 亀レスだが。
参照設定を一旦外して再設定。で直ると思う。
365このスレの6:04/05/28 02:34
まあ2ちゃんだし・・・
366HEPL:04/05/28 10:00
>>362

grate!
いけました。
ありがとうございました。
367デフォルトの名無しさん:04/05/28 10:54
>>333
ありがとうございました。上手く思い通りの四角形が描けるようになりました。
このやり方を応用してCircleプロパティで円も描けるようにしたいのですが、
難しいです。radiusをどうすべきかで悩んでいます。インターネットでいろい
ろ検索してるのですが、なかなか見つからないです。
>>367
円なら中心点と円周の一点を二点指し示すだけでかけるんじゃないか?

馬鹿か?おまえ。
369デフォルトの名無しさん:04/05/28 11:17
>>368
レスありがとうございます。
まだまだ知識が浅く初歩的な質問になってしまっていますね。
>円なら中心点と円周の一点を二点指し示すだけでかけるんじゃないか?
円の中心はマウスをクリックした座標で問題ないのですが、半径の求め方で
悩んでいます。
>>369
中学生の数学からやりなおせよ。
VBからBSMTP.DLLを使用し、メールに添付ファイルで受発注を行う
アプリケーションを作成し、現在客先で運用しております。

社内での動作確認では、エラー発生などせず順調に稼動していたのですが、
いざ客先で運用を行ったところ、メール受信時に下記のようなエラーが発生し、
原因が究明できず困っております。

<エラー内容>
 1.メール受信時に「Microsoftへエラーを送信」というメッセージが
   表示され、受信処理が強制終了してしまう。
 2.メール受信時になんの前触れもなく、システムが強制終了されてしまう。

   ※なお、EXEは業務毎に作成しており、メインメニューから各EXEを実行
    する仕組みになっております。
    また、メール送信処理は一度もエラー発生しておりません。
  
<処理の流れについて>
 (1)メールサーバからメール受信
   ※受信失敗に対応する為、一連の処理が終了するまでサーバからは削除しない。
 (2)受信した添付ファイルを指定フォルダに格納
 (3)受信ファイルをDBに反映 
 (4)処理終了後、メールサーバのメールを削除

>>371
あのなぁ。開発環境と運用環境の詳細もなしか。

処理の流れのどこでエラーが起きてるのか自分で切り分けろよ。
最近馬鹿ばっかりだな。
>>369
ピタゴラスの定理って知ってる?
374デフォルトの名無しさん:04/05/28 12:58
>ピタゴラスの定理って知ってる?

懐かしいねぇ。もう忘れたけどさ。
開発者なら・・・、
・数学というか論理的に物事を整理できる脳みそはもて
・無知を自覚するのはいいが自慢するな。
376:04/05/28 13:21
たぶんこうか??

中心の座標 = { 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にして同じような動作をさせたい

------------------------------------------------------------

このようなことをしたいのですがよかったらお知恵を貸してくださると幸いです。
タイマーつかえばいいべさ?マウスムーブじゃ枠外出たときめんどくさいべ?
>>382
何故やってみてから聞かないの?
>>384
やってから聞いていますが何か?
一辺の長さとその両端の角をそれぞれ自由に決めて、それを使って三角形を書きたいのですが…。
C/C++/Java/HTML……
とやったがVBが一番やってて面白くないことに気付いたVB暦4日目の俺。
数学的には両端の座標と角度から2辺の直線の方程式を求めて、
二直線の交点を求める、つまり二元一次の連立方程式を解けば
それが知りたい座標になるんだが、これをコードで書くのは面倒だな。

CADのコードを参考にするといい。線と線の交点の座標が第3の座標だ。
Cでのコードならもってたんだが、今、どこにあるかわからん。
390388:04/05/29 00:48
ていうか、386は本当にそんなことがやりたいのかと。
ただ調子にのって質問しているだけちゃうんかと小一時間.......。
>>390
宿題なんです。
ならば授業でやってるだろ。
な〜んか適当な先生で、教科書みてやるみたいなんですけどさっぱりで。
先生のせいにするな。教科書みろよボケが
教科書の内容でできねえなら、できねえ理由を先生に突きつけろ
>>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たくさん貼り付けてクリックするとクリックしたところに丸が移動するのって
どうしたらいいんですか
>>413 Labelをたくさん貼り付けない
>>412
http://www.redout.net/data/osietekun.html
ここを読んでもう少しがんばれ
416デフォルトの名無しさん:04/05/29 15:26
>>415
おかげで自分の力でできました
サンクス!
417Akagi: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つまでは書くのがあたりまえ。
434433:04/05/30 11:54
たとえば432だと

「クラスを定義して使えよ馬鹿」が最適な答えです。
いや、


「 あ き ら め ろ 」


が最適じゃないか ?
チェリーボーイには無視が最適じゃないか?ベイベ。
教える方は電卓や算数ドリルの解答集ぢゃないんで、人として最低限のマナーは守ってもらわないと。
>>433の例みたいにそこまで形式ばる必要は無いとは思うんだけども、質問する方が状況説明が出来ないと、
>>434-436のような煽りが飛んできて、スレの雰囲気も悪くなるからさ。「初心者お断り」みたいな空気ね。

日本のサイト×Googleじゃ限度があるかもしれないから、海外サイト(PSC等)で調べるのもオススメカモナー
ほとんどの人は初心者お断りじゃなくて、「教えてクン」お断りだと思うけどね。

普通の人は、相手に一方的に「簒奪」されるような関係には不快感を感じるわけで、
やっぱりGive & Takeの互助会的な関係の方が望ましいと思うわけでしょ。

で、意訳しまくっても文意が理解できないような理解不能な文章書く横着で
他人に対する想像力を欠いた奴が他の人を助けるようなレスをするとも、
回答者に最低限の礼儀で報いるとも思えないわけで。
439デフォルトの名無しさん:04/05/30 15:21
簒奪 ← 読めない人は漏れだけか。
441433:04/05/30 19:06
>>437
じゃあお前が全部超能力発揮して答えろよ。

って言われたいの?
>>438
教えてクソに海外サイトの内容を理解できるほどの語学力はないと思うけど。
つーか、質問スレなんだから、できるか出来ないかだけでも答えてあげれば?
その上で、いくらでも煽ればいいだけだと思うんだが。
カルシウム少なすぎ。

ちなみに、VBScriptは、Class 〜 End Classでクラス使えるし、ScriptControlでも同じ。
444433:04/05/30 21:48
>>443
「クラスを定義して使えよ」って書いてあるんだが。

読めないの?
(´-`).。oO(なんでそんなに必死なんだろう・・・)
>>445
つっこまれすぎると自分のレベルがわかっちゃうからでしょ
煽るぶんにはレベルわかんないしね
そういえば、VBってVisualBasicの略じゃなかったんだな
初めて知ったよ
Venture Business ?



と釣られてみるテストン
Virus Buster ?



と釣られてみるテストン
分かった!







Very Baka だろ?
451デフォルトの名無しさん:04/05/31 03:11
仕切り魔が発生中の糞スレハケーン

答えるつもりがないんじゃなくて
答えられない低脳なら
ごまかし嫌味を言わずにシカトしろ
お呼びじゃないデツヨ

「教えてクン」より
勘違い「教えてやるから感謝しろ」クンお断り。
ここは質問スレ。
452426:04/05/31 03:49
おぉ。同志が結構居たのねw


>451
ちゃんと質問として分かるものには誰かがレス付けてくれてるでしょ?
ttp://dictionary.goo.ne.jp/search.php?MT=%BC%C1%CC%E4&kind=jn
-----------------------------------------
しつもん 【質問】

(名)スル

疑問点やわからない点を問いただすこと。
-----------------------------------------

>420みたいに、「分からない部分が分からない」ということを聞いてくるのは質問ではない。
勝手な親切心で答えてるから、そりゃ嫌味を言うのもルール違反だが、低脳とか「感謝は
しないのが普通」みたいな書き込みも、人としてルール違反だと思うぞ。



とオサーンが言い返してみるテスツ
あれてるとこすいませんが、
API使ってフルスクリーン表示ってどうやるんでしょうか。
フォームの枠消して最大化のように
「見た目はフルスクリーンだが実際はその他のwindowのDCの処理もしてて重い」
のではなく、フルスクリーン表示にすることで軽くなるようにしたいんです。
よろしくお願いします。
DirectXにしないとフルスクリーンの恩恵は得がたい。
まてよ、OpenGLという手もあるかな

と、適当な事を言ってみる。
>453

DirectX7forVBのDirectDrawで
フルスクリーンモードとウィンドウモードの切り替えサンプル↓

ttp://www.mb.ccnw.ne.jp/garger-studio/vbgame/105_7.html
457453:04/05/31 04:34
もしかして、

tDC=GetDC(0)

描画

Call ReleaseDC(0,tDC)

だけでいいんですか?
458453:04/05/31 04:37
こんな朝にレス早いっすね感謝感謝。

DX使わずにいきたかったんですが
やっぱり意味無いというか恩恵は受けらんないですか、、、

APIのみでフルスクリーンの恩恵受けられる方法ないですかね?
ユーザーがDXインスコ嫌がるんすよ。まじっさいパソのスペック低い方がほとんどで
459245:04/05/31 11:11
>>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で渡すのはできるみたいなんですが
どうしたらよいでしょいか


464463:04/05/31 21:54
自己解決しました

あと、どうしたらよいでしょうかでした
僕はVBに出会えて本当に良かった。
466デフォルトの名無しさん:04/05/31 22:54
どうやって解決したか書いてくれたら知識の共有できるのに
ActiveX DLLのパブリッククラスモジュールでパブリックユーザ定義型を定義すれば
そのActiveX DLLを参照設定することでFormからもユーザ定義型を使用できるよ。
両方でユーザ定義しなくていい。というかするのは良くない。
(プロジェクトは違うけど)名前とメンバが一緒な
別の型として扱われるから。
>>465
VBが君に出会えてよかったと思ってるかどうかはわからんわけね(ショボーン
どうだろう
僕たちはなにかVBにできることがあるんだろうかああああ
>>462
なるほど。参考になりました。
がんばってみます^^
>>467
thank you
471463:04/05/31 23:35
あ、あれ、そうなのか・・・・
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の戻り値を取得できれ
ばいいだけなので、その方法で行きます。
独自プロパティだろ