トップページ⇒tech
1001コメント345KB

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

レス数が1000を超えています。これ以上書き込みはできません。
0001デフォルトの名無しさんNGNG
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の話題できるだけひかえる。
0002デフォルトの名無しさんNGNG
いわゆるひとつの2ゲットですね
0003デフォルトの名無しさんNGNG
  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
0004デフォルトの名無しさんNGNG
USB機器を直接操作しようと思うのです。
CreateFileでなんとかなりそうという所までは
わかったのですがCreateFileにて指定する。
ファイルの部分{CreateFile(***,・・・}***の部分になにを
どのように取得したら良いのかわかりません。
ご存知の方申し訳ないのですが、お教えください。
サンプル等あるのでしたら、日本語、英語を問いませんのでURLをお教えください。
宜しく御願い致します。
0005デフォルトの名無しさんNGNG
>>4
USB機器っていってもいろいろあるわけでしょ。
VBのPGに、というかVBに限らずPG全体でもこういうこと詳しい人が
そんなにいるとは思えないけど、仮に詳しい人がいてもそれじゃ答えようがないと思う。

ベンダ独自のプロトコルを使い独自のドライバが必要なデバイスと
USB-IFのデバイスクラスでプロトコルが予め定義されてWindowsに
最初からドライバ入ってるデバイスじゃ全く違うだろうし、デバイスクラスが
定義されたものの中でもHID、ストレージ、サウンドではそれぞれ使う転送モードが
違うから全く違ってくると思うんだけど。

ま、とりあえずDDK手に入れてそのサンプルコードがすらすら読めるぐらいに
ならんとなんともならないんじゃないの?
0006デフォルトの名無しさんNGNG
最初に言いたいんですが、質問スレなんだから、
「1 ○○なんですけれどどうしたらよいですか?」
「2 ××がよいと思われ」
という流れに対して
「>2 それじゃ全然ダメだね」
「>2 ちょっとでも△△かじっていたらそんなことは怖くて出来ない」
と、思わせぶりに指摘だけするレスはやめていただきたいです。
「俺は本当のところを知っているけれど藻前らには教えないよクス」
としか受け取れません。実際そうやって釣ってるだけなのかも知れないが。
どこがどうダメでどうした方がベターなのか書いてください。というか
教えてください。ほかならいざ知らず質問スレなんだから。
質問自体がアフォとか釣りとかいうのは別だよもちろん。
0007デフォルトの名無しさんNGNG
自分で書いておいてなんだがどうせ>>6はただの偽善にしか
読めない罠・・・
あんまり他人に指図するつもりでもないので軽く流してくらさい。。
0008デフォルトの名無しさんNGNG
ついでにForm1からForm2のXXをチョメチョメしたいのですがどうしたらいいでしょう?
って馬鹿質問も一切禁止してほしい。
0009デフォルトの名無しさんNGNG
テキストファイルの最後の行を消す方法教えてください。
0010デフォルトの名無しさんNGNG
>>9
最後の行を書かないファイルを作ればいいじゃん。

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

ビジネス板とスクリプトスレでやらせろ
00144NGNG
>>12
貴重な情報ありがとうございます。
先日見ております、見た感じで申し訳ないのですが、
一度に複数の同一の機器を動かすことは出来ないように思えました。

>>5
DDKなのですが、DL出来なくなってるようです。
どなたかWindows2K DDKをDL出来る場所はないのでしょうか?
0015デフォルトの名無しさんNGNG
>>11
根本的な誤解があると思う。OSの仕組みに対して。
CreateFile使ってハンドル取得する、ってことは自動的にそのデバイスの
デバドラを使うってことなんだけど。

で、USBの(というかWDMの)ドライバの場合、CreateFileの引数として
必要なシンボリックリンク名?を取得するために、確かデバドラのGUIDが
必要になったはず。

というか、Windowsのアプリである以上、デバイスに勝手にアクセスなんて
普通はできないと思うんだけど。。
0016デフォルトの名無しさんNGNG
>>14
http://pc5.2ch.net/test/read.cgi/tech/1049116134/
http://pc5.2ch.net/test/read.cgi/tech/1063453024/
2Kドライバは直接のダウンロードはきえてるな
0017デフォルトの名無しさんNGNG
�@アイコン同士の間にあるような立体的な線はどうやる?
�Aメニューバーの部分をVb6のメニューバーみたいにフォームから少し浮いたようにするには?
Vb6です。よろしくお願いします。
0018デフォルトの名無しさんNGNG
>>17
また自分以外はエスパーだと思ってるおめでたい人が現れましたな。
というより、横着な人は書く文章にすらその横着ぶりが表れると言うべきか。
0019デフォルトの名無しさんNGNG
>>17
CoolBarの中にToolBarを入れてバンドでchildだ。エスパー同士ならこれで全てわかるよな。
0020デフォルトの名無しさんNGNG
エスパーってなんですか?
>>19すいませんアルファベットの部分とカタカナ部分がまったくわかりません。
0021デフォルトの名無しさんNGNG
>>14
申し込むと無料で送ってくれるよ
0022デフォルトの名無しさんNGNG
>>14
複数の同一機器はちゃんと使えるようだが。
00234NGNG
>>15 さん
知り合いにまず、聞いた時に、「CreateFileをつかってI/O操作で直接〜」
って言われたのを勘違いしてたみたいです。
ご指摘ありがとうございます。

>>16さん >>14 さん
ありがとうございます。
無料で送って貰えるのですね(^^)
すぐに申し込みします。

>>22
とりあえず、これからUUSBD.DLLを使って組んでみます。

情報提供してくださり有難うございます。
0024デフォルトの名無しさんNGNG
そもそもなぜ一つのデバイスしか操作できないと思ったんだろう?

こんな奴がデバイス操作する処理をコーディングするのか。
こえー!まじこえー!
0025デフォルトの名無しさんNGNG
>>24
得意げな(実は何も知らない)馬鹿を一応叩いておくか。
確かに、UUSBDを使って同一の種類の(同一のVid,Pidを持つ)デバイスを
複数扱えないことはない。デバイスハンドルさえちゃんと取得できれば。

しかし、あんたUUSBD.dllのソース読んだことある?
UUSBDでは、Vid,Pidを指定してデバイスのハンドルを取得すると、
たとえ同一のデバイスが複数接続されていても常に同じ(一番最初に接続された)
デバイスのハンドルが返ってくるようになっている。

だから、1種類のデバイス専用のドライバにしてしまうのならともかく、
複数種のデバイスで使用する可能性を残しておいた場合、同一種の複数のデバイスの
ハンドルを取得するのは簡単にできない。

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

ついでに作者の柏野もインターフェイスの記事でそのような使用法は
想定していないと書いている。
0026デフォルトの名無しさんNGNG
>>25
> 得意げな(実は何も知らない)馬鹿を一応叩いておくか。

思いこみっていいね。

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

間違ってるんだが。そんなに間違ってるってなんだよ(苦笑
00274NGNG
>>26
基本的にVBで組んでますので、C言語にて書かれたプログラムを改変して
自分好みの仕様に変更できるほどのスキルを持ってないのです。
まぁ脳みその中では、「あぁこのDLLのソースを元に改変すればできるだろうけど・・・」
とは思いましたが、なにぶんVB房なもので良い物を紹介して頂いたとは思っても
「うっ、ちょっと自分の用途には向かないかも」とも思うわけですよ。
ttp://www.otto.to/~kasiwano/newpage22.htm
の「1.1つのインターフェースにしか対応していない 」と書かれてれば
そりゃぁなんとかしようとスキルの有る人が思うのとスキルの無い人が
思うのであれば全然違った印象になっても不思議ではないのではと思うのですが。

>こんな奴がデバイス操作する処理をコーディングするのか。
>こえー!まじこえー!
ちなみに自分自身でも怖いですよ(w
しかし、怖いからと言ってなにもしないよりは良いと思うのですが。
壊しても自分の自己責任でやってることですので。
0028デフォルトの名無しさんNGNG
>>27
1つのインターフェイスにしか対応していないってのは、uusdbの元になっている
DDKのBulkUSBのことのはず。

UUSBはマルチインターフェイスに対応していたはずだと思う。

しかし、「インターフェイス」って言葉の意味がわからない人が
USBデバイス扱おうなんて無謀というか無理だと思う。

(ユーザーにとって)Easy Operationであることを、開発者にとってEasyであることと
取り違えてないか?
0029デフォルトの名無しさんNGNG
>>27
> しかし、怖いからと言ってなにもしないよりは良いと思うのですが。
> 壊しても自分の自己責任でやってることですので。

あ、趣味かなんかでやってんのね。ならお好きにどうぞ。
0030デフォルトの名無しさんNGNG
>>20
>>17みたいな聞き方しておいて>>19がわかんないってことはないだろ・・・
わかんなきゃ「Windowsユーザーインターフェースデザインガイド」でも
古本屋で探してきて「他人に通じる一般的な名前や表現」というのを
頭にたたきこめ。
0031デフォルトの名無しさんNGNG
4つの整数データ「24、17、16,18」が保存されている
配列があり、このデータを交換法で昇順に並び替える
そのときのプログラムが知りたいのですが誰か御存じないでしょうか?
0032デフォルトの名無しさんNGNG
クイックソートか?
ソートとアルゴリズムでググれば腐るほど出てくると思うが。
0033デフォルトの名無しさんNGNG
>>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
0034デフォルトの名無しさんNGNG
エスパーってのは、超能力者ということ。
つまり、手抜きのわけわからん質問をしても、超能力者なら
それで答えてくれるだろうと思っているだろうということだな。
0035デフォルトの名無しさんNGNG
その昔、超絶技巧を持ったプログラマはWizardって呼ばれてたから、あ
ながち間違いとも言い切れん罠。
0036デフォルトの名無しさんNGNG
でも魔法使いって30超えて童貞なんだろ?
0037デフォルトの名無しさんNGNG
それは隠れた必須条件でつね。
世間では下記の内容が伝わってるみたいだけど。
ttp://www.genpaku.org/realprogrammerj.html
0038デフォルトの名無しさんNGNG
じゃ オレ 魔法使いじゃねーや(爆
0039デフォルトの名無しさんNGNG
↓何事も無かったように次の質問ドゾー
0040デフォルトの名無しさんNGNG
質問です。
iniファイルで同一セクション名が複数ある場合は
getPrivateProfileString関数での値の取得はできないのでしょうか?
0041シャケNGNG
[条件]
・テキストボックスにRGBの輝度を入力し、実行ボタンをクリックすると、フォームの背背景をその色に変化させる。
・終了ボタンでプログラムが終了する。


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

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

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

すみません。
0046デフォルトの名無しさんNGNG
16進数の文字列をどうやって10進数の数字にできるんですか?
0047デフォルトの名無しさんNGNG
Dim s As String
Dim i As Long
s = "FE"
i = Val("&H" & s)
Debug.Print i
0048デフォルトの名無しさんNGNG
>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
これで終了
エラー処理まったくないので、今後の課題。
0049デフォルトの名無しさんNGNG
>>48
セイガクさんには一応、Command2でUnload Meと教えておいた方が。。。
どっちがいいんだろ。
0050デフォルトの名無しさんNGNG
お尋ねします。

メールの OutLook なんかで、メールが目録でリストビューになっているのを
単独または複数掴んでエクスプローラにドロップする(ドラッグアンドドロップする)
と全部ファイルになって保存されるのですが、これを同じ操作を実現したいのですが
可能でしょうか。

テストアプリ上のリストビューで、DragOverイベント時にGetFormat()でそれらの
DataObjectを見ると、それらはText形式のデータとなっていてその内容を展開する
と、OutLookの目録に見えている情報がテキストになっているだけでした。この後、
どうやったらエクスプローラで行なわれるのと同じ処理ができるのでしょうか?

すみませんが、よろしくお願いします。
0051デフォルトの名無しさんNGNG
>>50 訂正
>これを同じ操作を × >これと同じ操作を ○
0052デフォルトの名無しさんNGNG
プログラムが終了する、という条件ならEndかな
Unload Meとの違いも知っておく必要もあるけど、そこはまた別の話題になるし
0053デフォルトの名無しさんNGNG
>>40
そういうのはWin32APIスレで聞け。
ちなみにGetPrivateProfileSectionで重複するキーを含めて
セクション内の文字列を全部取得できます。あとはSplitで
Limitに1を指定してキーと値を各々自分で分ければOK。
0054デフォルトの名無しさんNGNG
>ALL
恥としれいッ!
0055デフォルトの名無しさんNGNG
>>54
おまいという存在が?
0056デフォルトの名無しさんNGNG
恥を知れの誤り
0057デフォルトの名無しさんNGNG
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
0058デフォルトの名無しさんNGNG
call cmdHelp_Click()
で ダメか?
0059ラッキーシリ( ´∀`)NGNG
☆★☆★★☆ラッキーシリ☆★★☆★☆

     ⊂⊃    .☆.。.:*・゚
     ∧_∧. /
    ( ´∀`)/ このシリに出会ったあなたは超桃尻。
    /,    つ  近々便秘が舞い込んでくることでしょう。
   (_(_, )
     しし'

☆★☆★★☆ラッキーシリ☆★★☆★☆
0060デフォルトの名無しさんNGNG
>>58
ありがとうございます。
何で気づかなかったんだろうorz
0061デフォルトの名無しさんNGNG
俺select caseの使い方間違ってるしorz
0062シャケNGNG
>>48
ありがとうございました。
とりあえず、解決できました。




006350NGNG
>>50
>DragOverイベント時に

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

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

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

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



でないと、分からん
0074デフォルトの名無しさんNGNG
あ、ヘルプに載ってるならバージョンはいいのか。。。

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

ってば
0076デフォルトの名無しさんNGNG
Debug.Print 1/0
でも走らせてみれば?
0077デフォルトの名無しさんNGNG
そもそも何でそんなことをしたいのか…?
007867NGNG
参照設定はOLEとかoracleとかoo4oとつくものは、片っ端から参照するよう
設定してみました。
それがまずかったんでしょうか?
0079デフォルトの名無しさんNGNG
>78
ヘルプで「参照設定」を嫁
0080デフォルトの名無しさんNGNG
>78
参照設定を「OracleInProcServer 2.X Type Library」だけにしてみSO
0081デフォルトの名無しさんNGNG
>>75
ttp://support.microsoft.com/default.aspx?scid=kb;ja;JP177636
0082デフォルトの名無しさんNGNG
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から再インストール
する事で直りましたが、又いつの間にか同じ事に成っていました。

長文・乱文で申し訳有りませんが、宜しくお願いいたします。
0083デフォルトの名無しさんNGNG
うちではそんなことはない。
0084デフォルトの名無しさんNGNG
>>57
cmdHelp.Value = Trueとか。
0085デフォルトの名無しさんNGNG
質問とちょと違うかも知れないが
みなさんコントロールの名前にプレフィックスつけてまつか?
漏れは変数にはプレフィックス付けてないんですが、コントロールには
ヘルプに習ってプレフィックス付けてます。
.NETでは一般にはどうなんだろとか思ったりして、そのうちC#かVB.NETに
移行するのは確実だから今から合わせた方がいいとか思いまして。
0086デフォルトの名無しさんNGNG
>85
保守性を考えたら付けたほうがいい
チーム開発ならなおさらだ
0087長文すまNGNG
>>85
いろいろ試したことがあるけどプレフィックスは付けた方がどうやら便利。
コード記述中にインテリセンスの自動ヒント中からコントロール名を
探すことは多いと思うが、プレフィックスをはずすと意味順に名前が
並ぶから探しやすいかと思ったんだが、数が多いとそうでもないようだ。
プレフィックスを付けて、まずコントロール別に絞り込んでから探す方が
探しやすいみたい。
たとえば
フォルダ(F): [       ][...]

みたいなラベルとテキストボックスとコマンドボタンがあるとき、
FolderPathLabel, FolderPath, FolderPathBrowseButtonにしたとする。
ここで「あのテキストボックスの名前なんだっけ」となったとき、
「最初がFolder」というのを思い出せればいいんだが、そうでない場合、
全コントロール中から探しつつ思い出さないといけない。これが大変。
フォームを出してクリックしてみた方が早い。
lblFolderPath, txtFolderPath, cmdBrowseFolderPathにしておくと、
とりあえず"txt"と打てばある程度見当が付く。
ちなみにフォルダLabel, フォルダ, フォルダ参照 みたいに付けてみると
比較的探しやすかった。思うに、フォームに「フォルダ」と書いてあるから
記憶に残っているからじゃないかと。
つまり
プレフィックスあり→コントロールの種類と名前が対応
プレフィックスなし漢字→フォームの文字情報と名前が対応
プレフィックスなし英字→対応するものなし
よって上の二つのうちどっちか、フォームに字が少なかったら「あり」が
よいと思われ。
0088デフォルトの名無しさんNGNG
プレフィックスは、いちいちどれをつけたらいいのか調べるのが面倒なんだよねぇ。
0089デフォルトの名無しさんNGNG
プレフィックスなんてつけてあたりまえでしょ?
0090デフォルトの名無しさんNGNG
別につけるのがあたりまえでも、探すのが面倒なのは変わらない。
0091デフォルトの名無しさんNGNG
↓ここで変数のプリフィックスとごっちゃ混ぜにしている厨登場。
0092デフォルトの名無しさんNGNG
↑ おまえ、ごちゃ混ぜにしていたのか(w
0093デフォルトの名無しさんNGNG
Shapeというコントロールがありますが、これは四画とか丸しかできないみたいです。
三角のが使いたいのですが、何かないでしょうか?
ぬりつぶしたいので、線で書くのは難しいです。
0094デフォルトの名無しさんNGNG
四角の間違いだ。
0095デフォルトの名無しさんNGNG
>>93
中を塗りつぶさないのなら、グラフィックメソッドのLineを使えばよし。
塗りつぶすのならAPIかな?
009695NGNG
>>93-94
なんだ四角かよ。
それだったらLineメソッドでOK。あとはヘルプで確認せよ。
0097つっこみ役NGNG
四画→四角なんだって
009895NGNG
>>97
ああ、失礼。そういうことだったのか...
だったら>>96は取り消しで。
0099デフォルトの名無しさんNGNG
ていうかShapeって塗りつぶし普通にできるし......。
0100デフォルトの名無しさんNGNG
Shapeのグループ化みたいなのってできるでしょうか?
0101デフォルトの名無しさんNGNG
>82
2chで聞いても・・・w
mlで識者の方がM$に報告してくれたじゃないですかw
うちはXP+VB6(SP6)で出ませんでしたが。


>100
めんどいから画像を貼れ
0102デフォルトの名無しさんNGNG
コントロールでラインはあるけど、矢印はないのでしょうか?
0103デフォルトの名無しさんNGNG
>>102
作ればあるよ。そのくらい作れ。(コントロール自作とか)
大してプログラム組まなくても便利に使える。それがVBのイイところ。
0104デフォルトの名無しさんNGNG
↑↑↓↓←→←→BA
0105デフォルトの名無しさんNGNG
作れば何だってあるよな(w
0106デフォルトの名無しさんNGNG
ABBAAB右右左
0107デフォルトの名無しさんNGNG
>矢印
何がしたいかによるよね。

まぁ標準コントロールには無いので絵を貼る以外は作るしかないがw
0108デフォルトの名無しさんNGNG
GrapeCity社のAxtiveXを使った
フリーウェア、シェアウェアって何かありますか?
0109デフォルトの名無しさんNGNG
GrapeCity社にお問い合わせください。
0110デフォルトの名無しさんNGNG
>>109
は?

0111デフォルトの名無しさんNGNG
個人で使うには高いからなぁ

ttp://www.asahi-net.or.jp/~cz1t-nd/wlc.html
とかいくつかはあるようだけど
プロが片手間に作ったものかね
0112デフォルトの名無しさんNGNG
グレープシティにしろコムラッドにしろ、なんでサードパーティ製の
ボタンOCXは、標準のボタンと外観が微妙に違うんだろうか。
プロパティをどういじっても同じにならない。
0113デフォルトの名無しさんNGNG
コレ読むと参考になるよw >グレープシティ
ttp://pc.2ch.net/prog/kako/1012/10123/1012381593.html
0114デフォルトの名無しさんNGNG
プログラムの勉強を始めて、まだ三ヶ月なんですが
はやくも行き詰るというか、何をしていいか分からなくなりました
まだまだ基礎の段階なんですが、なにをしたらいいんでしょうか・・・
みなさんは初心者時代どうされましたか?
0115デフォルトの名無しさんNGNG
>>114
経験則なんだが、入門書通りに勉強する奴は決して上達できない。
逆に自分でやりたいことがあって、それを実現するために勉強する奴は
どんな言語でも通じる技術を確立できる。

そもそも何がやりたくてプログラミング始めた?
「そういう会社に就職しちゃったから」とか「授業でやるから」とかであれば
悪いことは言わない、辞めた方がいい。決して長続きしない。
0116デフォルトの名無しさんNGNG
ファイルの分割ツールを作ろうと思ってるんですが
なにを重点的にやればいいんでしょうか?
0117デフォルトの名無しさんNGNG
その機能を実現する為には、具体的に何が必要だと思う?
0118デフォルトの名無しさんNGNG
プログラムを作るにあたって。

まず仕様書をつくる。
その次に処理の流れをつくる。
0119デフォルトの名無しさんNGNG
世にファイルリストを作るプログラムは砂の数ほどありますが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以外のものがある場合、エラートラップを使用せずに
取り除くにはどうしたら良いのでしょうか?
デスクトップで『マイコンピュータ』なんか混ざるとエラーで落ちちゃうんですよね。
0120119NGNG
良く分からなかったのでエラートラップに頼っちゃいました
0121デフォルトの名無しさんNGNG
>>119
GetFormat

おじさんはたとえVariantでも明示的に型宣言してほしいと思ったり
0122デフォルトの名無しさんNGNG
>>121
そうそう。宣言を省略したらVariantとは限らない。
0123119NGNG
121-122
ありがとうございます、GetFormatで解決しました。VBのヘルプだけだと分からないものですね
クリップボード専用の関数かと思ってました。

変数宣言は普段型名を付けますけど、本当の下書きだったので・・・・ただObject型なんかだと
省略しちゃうことがありますね。自分で使うための、本当に簡単なものしか作らないですし。

もっとも爺なものでおじさん達ほど元気じゃないという事情もありますが
0124デフォルトの名無しさんNGNG
メンテで人が書いたソースをみてたら iが Publicで宣言されてあった。
確かにループ用としてよく使うし、各モジュール単位で宣言するのも大変では
あるかもしれないが、こんなのアリ?!って感じだった。
0125デフォルトの名無しさんNGNG
典型的素人発想。
その調子だと、
数値型にするとなんかエラー出るからVariantにしますた♪
ってのもありそうでマズー
0126デフォルトの名無しさんNGNG
なんかよくわかりませんけどプロシージャの先頭に置いときますね

On Error Resume Next
0127デフォルトの名無しさんNGNG
On Error GotTo 0
0128デフォルトの名無しさんNGNG
OptionExplicit禁止
0129デフォルトの名無しさんNGNG
初心者の質問ですみませんが
ちょっとよくわからないところがあるので教えてください

コマンドボタンを押すと子フォームが出るようにして
dim frm as new myform
frm.show
こう記述したんですが、子フォームは1つしか出したくありません
インスタンスを複数作成したくないんです
で、モーダルで表示して必ず子フォームをひっこめるか
あるいは、ひっこめないとコマンドボタンを使えなくするかして
2回コマンドボタンを押せないようにして、その後フォームをNothingするか
general宣言部にprivate変数に子フォームで持たせて必ず確認するか
ちょっとこれぐらいしか思いつかなかったんですが
ふと、ローカルで宣言してあったらコマンドClickを抜けたら
ローカル変数(つまり子フォーム)は消えるんではと思った次第です
なぜ消えないんでしょうか?
0130バカですみませんNGNG
Dim mstrHoge() As String

がRedimされていない状態かどうかを調べる方法はあるのかないのかを教えてください。
あるならば、その方法を教えてください。
0131デフォルトの名無しさんNGNG
shapeコントロールでLabelコントロールの.Appearance=1(3D)のように3Dで描画する方法があれば教えてください。
0132デフォルトの名無しさんNGNG
>>129

me.hide
frm.show vbModal
me.show

じゃだめ?

>>130
IsEmptyじゃなかったっけ?

>>131
影とか重ねたら?
0133デフォルトの名無しさんNGNG
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
にすると、プログラムのあるフォルダがエクスプローラで開いてしまいました。
0134デフォルトの名無しさんNGNG
ShellExecute Me.hwnd, "Open", URL, _
vbNullString, App.Path, 1
ではなく、
ShellExecute Me.hwnd, "Open", A, _
vbNullString, App.Path, 1
でした。
0135HEPLNGNG
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())
という感じです。

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

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))
0137デフォルトの名無しさんNGNG
まさかと思うが、PictureBoxの「配列」ではなく
PictureBoxの「コントロール配列」を渡している、なんてオチではないよね?
0138HEPLNGNG
そ、そうなんですけど、どうしたらよいですか?
0139デフォルトの名無しさんNGNG
>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

じゃ、ダメなのか?
0140HEPLNGNG
ttp://www001.upp.so-net.ne.jp/matsuoka/vb/p003.htm

なんですね。
0141デフォルトの名無しさんNGNG
ん?じゃ、いいんだな?
解決マークでFA?
0142HEPLNGNG
助かりました。
FAでおねがいします。
0143デフォルトの名無しさんNGNG
正直、>>140のサンプル書いてる人はよくわかってないとしか思えん。
なんだよ、そのコード、言ってることとやってることが。。。って感じ。
0144デフォルトの名無しさんNGNG
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

でも動くが、なんとも怪しい使い方でもある。
参考までに。
0145デフォルトの名無しさんNGNG
ていうかね、何でパブリックなメンバ(つまり、コントロール配列の
ことね)を引数で渡す必要があるのかと小一時間。。。
0146HEPLNGNG
あ、だめです。
配列の添え字順に並ばない・・。
0147HEPLNGNG
>> 145
クラスの中に突っ込んで汎用的にしたいんですけど。だめですかね?
0148デフォルトの名無しさんNGNG
>145
まぁ、いいでないの。初めは色々なことをやってみたいものだろうから。
どうであろうと自ら考え、書いて動かないと悩むことはイイことだと思うし。
0149デフォルトの名無しさんNGNG
>>144
それだとCの要素数が0の時に死ぬな。
0150HEPLNGNG
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

だと添え字順に並ばなかったんです。コントロールの参照順が不明。
0151デフォルトの名無しさんNGNG
>>147
そんならメソッドの呼び出し元で本物の「配列」または
コレクションにコピーして渡せばいいだけじゃん。
万のオーダーのコントロールがあるとか頻繁にコールされるとかいう
わけでもなきゃ実行時間なんてほとんど無視していいし、
ほんの3,4行のコードだよ。
0152デフォルトの名無しさんNGNG
>>130
LBound(mstrHoge)

で、エラーを拾って処理するってのはどうかしらん?


0153デフォルトの名無しさんNGNG
>149
あ、そうか。んじゃ3行目に
If UBound(C) < 1 Then Exit Sub
を追加とか(単純)

>150
やりたい事が良く分からんが、>151の云う方が早いかもよ?

0154HEPLNGNG
>>147
仰る通りです。
せっかく、配列になってるから、それをそのまま使えないかと思ったのですが。
そうすることにします。
0155デフォルトの名無しさんNGNG
>154
ちなみに、オレの書いた >144+153 じゃダメなのか?
配列もそのまま使えるし一応、渡した順番に並ぶはずだぞ?



まぁ、いいけど
0156デフォルトの名無しさんNGNG
>>153
だから、If UBound(C) < 1 Then Exit Sub
で評価する前に死ぬんだって。
0157デフォルトの名無しさんNGNG
>156
ん〜良く分からんが、配列宣言していない変数を渡しちゃうなら確かに。。
でも、配列なら要素ゼロでも通ったぞ?

勘違いしてたらスマン。

もしアレだったら代わりに、If IsObject(C) Then Exit Sub とか?(←くどい)

0158デフォルトの名無しさんNGNG
>>156
Cの要素数が0ならコケはしないんじゃない?

初期化されてない動的配列を渡されると死ぬけど。
0159デフォルトの名無しさんNGNG
あ、If Not IsObject(C) Then Exit Sub だ・・
逝ってくる。。。
0160デフォルトの名無しさんNGNG
なるほど、コントロール配列をバリアントで強引に渡すのね。
空のコントロール配列ってのはありえないから>>149は杞憂に過ぎないし、
どうしても手を打っときたいならトラップすればいい。
0161HEPLNGNG
2ch っていい所なんですね。
0162デフォルトの名無しさんNGNG
>>160
VariantとObjectは、出来るだけ使いたくないけどねぇ。
0163デフォルトの名無しさんNGNG
よかったら使ってくれ。

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
0164HEPLNGNG
いい人続出。
0165デフォルトの名無しさんNGNG
>>164
何故HEPLなんですか?

HELPのtypoなんじゃないかと思うと気になって夜も眠れないです…
0166デフォルトの名無しさんNGNG
Visual Basic 6.0でExcelを利用せずにxls形式のファイルを保存する
事が可能にするフリーのライブラリってないですか?
0167デフォルトの名無しさんNGNG
>>166
ない
0168133NGNG
お願いします。
0169デフォルトの名無しさんNGNG
>>166
>>113嫁
0170デフォルトの名無しさんNGNG
>>168
ShellExecuteEx
0171デフォルトの名無しさんNGNG
>>167
(´・ω・`)ショボーン

>>169
文化オリエントのライブラリは高いだけで駄目駄目なんですね(`・ω・´)シャキーン
0172デフォルトの名無しさんNGNG
駄目とはなんだ駄目とは。つかえないヤツは買うな。
0173HEPLNGNG
次の問題

まず、一つコントロールを配置して、
それを動的に増やした場合、
次も同じ様に処理をしたいので、最初に定義した一つを除いて
動的に削除するには、どうしたらいいですか?
0174デフォルトの名無しさんNGNG
price = Val(txtprice.Text)という風に
変数を宣言したいんですが、認識してくれません
なぜでしょうか?おしえてください。初歩の質問で申し訳ないです
0175174NGNG
すみません自己解決しましたf^^;
0176デフォルトの名無しさんNGNG
>>173
バ〜カ
0177デフォルトの名無しさんNGNG
ひらがなの文字列を漢字に変換したいと思っています。
誤変換はそのままでいいのでIMEで入力して一回変換したときと同じ文字列を手に入れたいのですが
VB6のプログラム中からそういったことをするのは可能でしょうか?
IMEのオブジェクトのようなものがあったりするのでしょうか?
0178HEPLNGNG
>>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?
0179HEPLNGNG
あ、すみません、Unload Label1(i) ですね。
やっぱ、馬鹿だわ。
0180133NGNG
>>170
Declare Function ShellExecuteEX Lib "shell32.dll" Alias "ShellExecuteEx" (lpExecInfo As SHELLEXECUTEINFO) As Long
と宣言したら
「ユーザー定義型は定義されていません」
と怒られるのですが・・・。
0181デフォルトの名無しさんNGNG
SHELLEXECUTEINFO構造体を定義汁
0182デフォルトの名無しさんNGNG
>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

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

フォーム使ってやると、非常にプログラムが汚くなる気がするんだけど・・・
0187デフォルトの名無しさんNGNG
というわけで、よろしくお願い致します
0188デフォルトの名無しさんNGNG
フォームモジュールに貼り付けて(暗黙)LoadだけでShowしなければいいじゃん。
使用後のUnloadを忘れなければ、普通のクラスモジュールと同じように使えるよ。
0189デフォルトの名無しさんNGNG
>>188
なるほど、頭いいね
早速やってみま
0190デフォルトの名無しさんNGNG
>>188
クラスの中で、動的にフォームを作成したら
やはり使えないのでは?いや、大丈夫か?
0191デフォルトの名無しさんNGNG
Winsockってなんだかよく知らないが、>>186のリンク先とMSの変な翻訳の
説明読むと、問題が起きるのは(1)フォームに貼り付けずに、かつ(2)アーリバインディング
でオブジェクトを生成しようとした場合 なのだから、要はこの2つの条件を
満たさなければいいわけじゃないの?

つまり、(a)適当なフォームにとりあえずダミーで貼っといてもいいし、
(b)フォームに貼ったWinsockオブジェクトを、それを実際に使うクラスのインスタンスに
渡してやってもいいし、(c)アーリーバインディングではなくレイトバインディングで
インスタンス生成してやってもいい、ってことなんじゃないの?
0192デフォルトの名無しさんNGNG
VBでsin波形を書きたいのですが、どうしたらよいでしょうか?
sin波形描くための宣言なのがあるのでしょうか?
あれば御教授してください。
0193デフォルトの名無しさんNGNG
プログラムっていうかリンクについてなんですけど
テキスト、バナー以外にリンクしちゃいけないんですかね?
0194デフォルトの名無しさんNGNG
>>192
ttp://www.johoka.net/vbsin.htm
少しはGoogleなどで調べましょう
0195デフォルトの名無しさんNGNG
>>194
早速調べてきます、どうもありがとうございました。
0196デフォルトの名無しさんNGNG
VBでScriptControlを使おうと思ってるんだけど
スクリプトの関数側に、配列を渡すことは可能?

'プログラム側
dim tempArray( ) as string
 mScript.run "testfunc", tempArray

'スクリプト側
 sub testfunc(tempArray( ))
  ...
 end sub

とかしたいんだけど、何故かうまくいかない・・・
0197デフォルトの名無しさんNGNG
>>196
variant型で代用してみては?
0198デフォルトの名無しさんNGNG
スクリーンセーバーやフルスクリーンゲームとかよりも
強力に最前面表示させるソフトがあると聞きましたが、それはどうするんでしょう?
SetWindowposでは無理のようです。
0199デフォルトの名無しさんNGNG
>>166
亀だけど、
XLS形式だと、無償ではない。 .netマガジンとかの広告を参照して購入。

そうじゃなく、書式と色と罫線と簡単な数式でOKならば、SYLK形式という手がある。
詳細は、ぐーぐる様にお尋ねする、及びEXCELで同形式で保存してテキストエディターで研究。
0200デフォルトの名無しさんNGNG
>>197
ごめん、普段Variant型なんて使わないのでさっぱり・・・
配列をVariant型に代入できるってこと?
0201デフォルトの名無しさんNGNG
教えてください。
RDOで
Set en = rdoEnvironments(0)
Set cn = en.OpenConnection("", rdDriverPrompt, False)
とやると、ODBCドライバの画面がでて接続を選択できるんですけど、
ADOでこれと同じことってできますか?
方法があれば教えてください。
0202デフォルトの名無しさんNGNG
VBの仕様かどうか教えてください

今ここで
Dim AString as String などと定義し

AString = ChrB(&H1) & ChrB(&H0)

とやると,長さが1で中身はChrB(1)だけの文字列になります.

VB的にはこれでOKなのでしょうか.
0203デフォルトの名無しさんNGNG
>>202
オッケーでっす。
0204202NGNG
>>203
まじっすか!
0205デフォルトの名無しさんNGNG
>>202
ChrB 関数は文字ではなく、1 バイトを返します。
0206202NGNG
家に帰ってきたので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からバイナリを渡してあげたかった)
0207デフォルトの名無しさんNGNG
>>206
長さが1ってのはLen()で確認したのかい?
0208202NGNG
>>207
そうそう。



あ、LenBで確認してないぞw それか
0209デフォルトの名無しさんNGNG
>>206
VBの文字列型変数は文字長まで管理している。
文字列型の変数が指すのは「文字列の長さ」+「文字列へのポインタ」のはず。
0210202NGNG
>>209

208で解決したようです。 あと、もうひとつ気になったのは、
文字列定数を作ろうとして、色々試してみてたんですが、

Private Const A as String = ChrB(&H01) & ChrB(&H00)
とやると、怒られるので苦し紛れに

Private Const A as String = &H01 & &H00

とやると、0x31 0x30 となるというのも発見しましたが
これも仕様なんでせうか。つかそうなんだろうね。
静的変数に初期化時に放り込むしかない?
0211デフォルトの名無しさんNGNG
>>202
なんか文字コードに関する知識が全然欠けてるように思えるんだけど気のせい?
なんかPC-98時代どころか、8ビット時代のアスキーコードと同じ感覚で
考えてるんじゃないかという気がしてならないんだけど。
0212デフォルトの名無しさんNGNG
VB始めてから1ヶ月のものです。質問なのですが、CSVファイルである特定の文字を含んだ文字があると、その行は表示しないというツールを作りたいのですがどんな感じがいいでしょうか?よろしくお願いします。
0213デフォルトの名無しさんNGNG
>>212
InStr使え
0214デフォルトの名無しさんNGNG
>>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
0215デフォルトの名無しさんNGNG
>>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
ってやってるのとも同じだよ。
0216デフォルトの名無しさんNGNG
>>213
>>214
ありがとうございます。やってみます。
0217デフォルトの名無しさんNGNG
どなたか教えて下さい。
basp21の半角文字列→全角文字列変換(HAN2ZEN関数)を使用しないで、
「半角カタカナ」の文字列を「全角ひらがな」の文字列に変換したいです。
皆さんの知恵を分けて下さい。よろしくおねがいします。
0218デフォルトの名無しさんNGNG
VB6.0です
IEを立ち上げないでサイトにアクセスして以下の事ってできますか?
ソースから抜き出すのではなく表示上から目的の文字列を抜き取って(コピペ)
テキストファイルに書き出したいのですが・・・

無理ですかね?よろしくお願いします。
0219218NGNG
>目的の文字列
ではなく目的の行の間違いでした
0220デフォルトの名無しさんNGNG
>>217
一文字づつ処理しましょう

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

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

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

IHTMLDocument型を使うにはWebBrowserとは別のライブラリ(HTMLなんたら)を
参照設定する必要がある。参照設定しなくてもレイトバインディングになって
コード補完が出来ないだけで使えるけど。
0229217NGNG
>>220,224
返答ありがとうございます。
1文字ずつFor文使って判定→変換しないとダメなのでしょうかね。
ASPはまだまだ初心者なので、正直私にはコーディングが難しいです。
どなたかサンプルプログラムを掲載して頂けないでしょうか。
大変わがままを言ってしまい恐縮ですが、どなたかよろしくおねがいします。
0230デフォルトの名無しさんNGNG
>>217
StrConvは使えないの?
ていうか、これって人に助けを求めるような内容か?
初心者だろがベテランだろうが、こんな質問は私なら恥ずかしくてできんね。
0231デフォルトの名無しさんNGNG
>>217
StrConvにvbHiraganaってのがあるよ。
0232デフォルトの名無しさんNGNG
VBに限らず、文字コード変換、半角全角変換をやるならば、一度きちんとした知識をつけないとだめだよ。
サンプルぱくってやりましただと、応用が利かない。

VBの場合、VB内で処理で完結している限りはUNICODEでの処理なので非常にやりやすい。
(全角だろうが1文字として普通に扱えるし)
そこからAPIとか他システム連携になったときにはStrConvとかの出番だな。
0233デフォルトの名無しさんNGNG

今、VBからODBCのDNSの内容を取得することを考えたプログラムを作成しています。

ユーザDNS、もしくはシステムDNSに登録したODBCのデータソースの内容

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

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

0234 ◆jEYedeqAfU NGNG
VB5用の逆コンパイラはいつになったら出てくるのでしょうか
0235デフォルトの名無しさんNGNG
>233
DNSとDSNの違いを調べろ。話はそれからだ。
0236デフォルトの名無しさんNGNG
strconvは確か
全角かな->全角ひらがなは可能
半角かな->全角ひらがなは無理
ま、コードで考えれば半角かなだったら、一定数加算してやるとかになるんだろうが

>>232の言う通り
VB自体でやるならUnicodeでやるべきだと思うなぁ
ファイルシステムがらみでも半角かなは使わなくなってるような気がするんだが
半角かな使うってのが、どうなんだろうなって思っちまうな
むしろ半角かなは使わないように言われない?
0237デフォルトの名無しさんNGNG
なんから知らんが「ヴ」を変換したらどうなるかを忘れるな。
言いたい事はそれだけだ。
0238デフォルトの名無しさんNGNG
VBってOSに関係無くユニコードなんでしょうか?
VB1から。
0239デフォルトの名無しさんNGNG
「ヴ」を変換したら「う゛」になる(w
0240224NGNG
>217
じゃあ、ASPなんだな。VBやVBAじゃなくて。
だったらStrConvは無いので、やっぱりCHRを加減汁。
サンプルなんて、ググれば沢山出てくるので探せ。
ASP用のStrConvを自作公開しているページなんて山ほどあるぞ?
捜してくれ。以上。
0241デフォルトの名無しさんNGNG
? strconv(strconv("バイオリン", vbWide), vbHiragana)
? strconv(strconv("ヴァイオリン", vbWide), vbHiragana)
0242デフォルトの名無しさんNGNG
? strconv(strconv("バイヴレーター", vbWide), vbHiragana)
0243デフォルトの名無しさんNGNG
スレ立て・・でスルーされているのでこちらで質問ですが

VB6ですが、MultiPage内のTextboxにオブジェクト名って付けられないのでしょうか?
0244デフォルトの名無しさんNGNG
http://www.geocities.co.jp/SiliconValley-Oakland/8192/
↑VB使ってる香具師はこれ見て勉強汁
0245デフォルトの名無しさんNGNG
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 が最新の状態になっていません)。
接続文字列の記述が不足しているのか、やり方が変わったのか、システム
ファイルがおかしくなったのか、原因が分かりません。

解決策(またはそれが記述されているサイト)をお教え下さい。お願い致します。
0246デフォルトの名無しさんNGNG
>>244 別にVB使っている奴だけの話じゃないと思うが・・・。
0247246NGNG
なんだコピペ荒らしか。
0248236NGNG
おおお
vbWideなんてあったんだ
知らなかった世・・・・・VB3年も仕事で使ってるのに
やべえな、仕事でこういうのに直面しないからVBマスターした気になってたよ
あああこれじゃ.NETなんて夢のまた夢(W
0249デフォルトの名無しさんNGNG
VBって、どのバージョンからユニコードなのか教えて。
0250デフォルトの名無しさんNGNG
>>249
お前は本当にユニコードを使いたいのかと問いたい。問い詰めたい。
ユニコードと言いたいだけちゃうんかと。
0251デフォルトの名無しさんNGNG
まあUNICODEのテキストボックス入力さえできないからな。そういう意味ではVB6でも対応していない。
0252デフォルトの名無しさんNGNG
VBの中は ユニコードで処理しているって カキコしてあったじゃん。
>>232
0253デフォルトの名無しさんNGNG
過去ログ見てません。
MSDN見れません。

VB5.0で作ったアプリケーションをwinMEにインストールしようとすると
「システムの一部が最新でない為・・・」といった表示が出て
「再起動する必要があります」というので再起動するのです。
で、再起動後に再びインストールしようとするとまた同じメッセージで
先に進めません。

MSのサイトや答えてネット、愚ぐったりといろいろ探したのですがちから
及ばず・・皆様のお力をお貸し下さい。なにとぞよろしくお願い申し上げます。
0254253NGNG
書き忘れておりました。
上記問題はwinXPでは問題になっておりません。MEユーザーからのみです。
0255デフォルトの名無しさんNGNG
インストールしないで 入れられないのか?
自分で作ったソフトなら、それができるだろ。
0256253NGNG
>>255
ユーザーに配布しているので・・


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

すれ汚しスマソ
0257デフォルトの名無しさんNGNG
インストールしないで というのは、原因を知るためのひとつの切り分け。
インストールする際に どのファイルが問題になっているのか調べないと 
解決しないでしょう。
0258デフォルトの名無しさんNGNG
>>251
んだなぁ。幾ら内部でUNICODE表現になっていても肝心のフォームや
コントロールがUNICODE表示に対応してないってのはなぁ(´・ω・`)
0259デフォルトの名無しさんNGNG
質問です。
VB6.0で、マイク入力の音を、ダイレクトにスピーカーに流したいのですが、
方法はありますが?

用途は、カセットテープの音をwavファイルに録音したいのですが、
(カセットプレイヤー→PCマイク入力接続)
Win付属のサウンドレコーダーや、同系のフリーソフトでは、
録音前も録音中も音が流れない。
曲の頭出しや録音の停止等が厄介なので、
上記のようなプログラムを作れればと思いました。

よろしくお願いします。
0260デフォルトの名無しさんNGNG
>>259
waveOut系とwaveIn系のAPI使えばできそうだけどVBだと辛いだろうなぁ。
ってか、マイク入力の音って普通に聞こえるよような気がするけど。
ミュートになってないかオーディオのプロパティ見て確認した?
0261デフォルトの名無しさんNGNG
>>259
うちの環境だと、コントロールパネルのボリュームコントロールの
Microphone(オプションで出さないと出ていない)をミュート解除にすれば出るが。
0262デフォルトの名無しさんNGNG
>>260
>>261
ご解答有難う御座います。

>Microphone(オプションで出さないと出ていない)をミュート解除にすれば出るが。

これで解決しました。ありがとう御座いました。
0263デフォルトの名無しさんNGNG
Dim resttime As Date
と変数を宣言したんですが 【As Date】 のところが
青くならなくて、エラーになります
なぜでしょうか?教えてください
0264デフォルトの名無しさんNGNG
どんなエラーが出たか何故書けない!
0265デフォルトの名無しさんNGNG
>263
大方、全角で打ってるとか、そんなんだろうさ(フッ
0266263NGNG
すみませんf^^;
オブジェクト変数またはwithブロック変数が設定されていません
ってでます
全角ではありませんでした
0267デフォルトの名無しさんNGNG
>>265
VB は全角で打っても勝手に半角変換してウマーだったと思うが
0268デフォルトの名無しさんNGNG
InputManのOCXを使ったアプリを作成
VisualStudioInstallerでインストーラーを作成
OCXはWindowsシステムフォルダに入れる

これを
VBの開発環境のあるPC(InputManインストール済)に入れると
開発環境のInputManのOCXのリンク先というのでしょうか、おかしくなってしまいました。
で このアプリをアンイストールすると開発環境からこのOCXは消えてしまいました。

インストーラーを作るときに何か工夫が必要でしょうか?


WindowsXP Pro SP1
VisualStudio6.0 SP5
InputMan7.0
0269デフォルトの名無しさんNGNG
>>267
本当だ、普段流石にそんな馬鹿なことしないから気付かなかった。
0270デフォルトの名無しさんNGNG
Dim resttime As Date
と宣言しても エラーには ならなかった。
as string
とかに してもダメか?
0271デフォルトの名無しさんNGNG
>>263
Dim resttime As Date
よりも前の行にはどんなコードを書いてるのかな?

謎を解く鍵はその辺にありそうだ。
0272デフォルトの名無しさんNGNG
VBScriptで、バイナリファイルを開きたいのです。
VBならopenステートメントを使えばいいらしいとわかりましたが、VBscriptではエラー(ステートメント末尾が不正)になってしまいました。
VBScriptでは、どのようにすればバイナリファイルを扱えますか?
0273デフォルトの名無しさんNGNG
>>272
素の状態じゃできなかったと思うが。ぐぐると色々あるよ。
0274272NGNG
え、それは外部のライブラリ等を利用しないとできないってことですか(滝汗
VBScriptだめだぁ(;;
ググってきます。
0275デフォルトの名無しさんNGNG
>274
ん? ADODB.Stream じゃダメなのか?何がしたいんだ?
0276デフォルトの名無しさんNGNG
プリフィックスってわざわざつけるのは、めんどくさい。自動的につけてくれる方法はないの?
0277デフォルトの名無しさんNGNG
>268
インストーラを意味分からずに作成しているみたいなので、
説明はメンドイので、各開発環境のInputManを正しく再インスコ汁。

それで解決できる可能性50%
0278デフォルトの名無しさんNGNG
>276
んじゃ、付けなくていいんでない?
でも、共同作業でそんなことすると殴られる可能性99%
0279デフォルトの名無しさんNGNG
>266=263
開発環境はVB6なんだよね?


・・・と聞いてみるテスツ
0280デフォルトの名無しさんNGNG
だめだ・・・どうしても>263の再現が出来ん。。。。

どうすれば、そうなるのか、Date宣言の前後だけでいいから
ソース公開希望!>263
0281デフォルトの名無しさんNGNG
263が.netな可能性が50%
0282デフォルトの名無しさんNGNG
>>263
TabStripコントロールのTabオブジェクトを宣言するとき、そのままだと
組み込みのTab関数とぶつかるからDim T As MSComctlLib.Tabと書かなきゃ
駄目というのは聞いたことがあるんだが・・・
Dateクラスを作ったりしてもエラーにならないし、Sub Dateと書いたら
そもそもシンタックスエラーになるし。

考えたらこのエラー、(オブジェクト変数または With ブロック変数が
設定されていません。)実行時にしか発生しなよな。なのになんで
非実行文であるDimでこのエラーが出るんだ?ていうかエラーが発生したのは
コンパイル時ですか?実行中ですか?
>>263ではコンパイル時、>>266では実行時の出来事に読めるが・・
0283デフォルトの名無しさんNGNG
>>269
おれは全角文字を変数に使ってみたときに気がついた
あとでソースが非常に読みやすくていいんだが
打ち込みがはげしくめんどい


0284デフォルトの名無しさんNGNG
>>276
アドイン作れ
後からチェックする処理もいっしょに
0285デフォルトの名無しさんNGNG
URLが含まれた文字列を渡すとリンク貼ったHTML生成して返してくれる関数作ってくれ。
たとえば「2ちゃんねるはここ http://www.2ch.net」って渡したら
「2ちゃんねるはここ <a href="http://www.2ch.net/">http://www.2ch.net/<;/a>」って返すみたいなの。
0286デフォルトの名無しさんNGNG
そのくらい自分で作れよ。
0287デフォルトの名無しさんNGNG
function henkan(a as string) as string

henkan="<a href=""" & a """>" & a "/</a>"
End Function
0288デフォルトの名無しさんNGNG
賛成
0289デフォルトの名無しさんNGNG
>>287
恥ずかしくない?そんな事書いて・・・
0290デフォルトの名無しさんNGNG
ttp://www2s.biglobe.ne.jp/%7Es-sigeru/main.htm
このページの「かんたんマップ」のように画面に自由に線が引けるようなフォーム
を作りたいのですが、参考になるサイトを教えてください。
ダウンロードするとexeのみなので解析もできません。
0291デフォルトの名無しさんNGNG
>>285
まず、URIとして使える文字というものを調べる必要あり。monazilla.orgあたりがもしかしたら参考になるかも。
Const VALID_CHAR As String = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"
にょように、有効なキャラクタを定数としてあらかじめ用意しておいて、"http://"の位置を検索して、そこから
Forループ×Mid$で一文字ずつ取り出して、↑の定数と比較してけばおけ。比較的お手軽な手法。

それも面倒なら、正規表現しる。その場合、標準ではサポートされないのでBREGEXP.DLLとかVBScriptのライブラリとか使わんと。
0292デフォルトの名無しさんNGNG
>>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

空のフォームにコレをコピペしてみよう
0293デフォルトの名無しさんNGNG
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' オブジェクト

ってエラーが時々発生するんですが何故なのでしょう?
0294デフォルトの名無しさんNGNG
Format$(Trim$(XYZ.Fields("ABC")),"#####") & space(10)
というコードがあって、"ABC"の値が345だとします。
この場合、#####のところに00345というふうにだしてやりたいのですが、
どのようにやったらよいでしょうか?テーブルから
とってきた値が3桁なんですが、固定長で5桁に強制的に
してやらないといけなくて、0で穴埋めをするというものなんですが
ご教授お願いします。
0295デフォルトの名無しさんNGNG
>>294
"0####"
0296デフォルトの名無しさんNGNG
>>277
  インストーラーの作り方次第で開発環境に影響与えないように作れる?
0297277NGNG
>296
あるよ。
winフォルダでなくて、winsysフォルダにして味噌。
あと、マニュアル読んでる?
0298デフォルトの名無しさんNGNG
>>297

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

もう少しヒントください。
0299デフォルトの名無しさんNGNG
>>298 InputManのマニュアル嫁
0300デフォルトの名無しさんNGNG
VB5.0を使用しています。
文字列 "abc" を使って、グローバルやローカルに定義されている
変数 abc にアクセスしたいのですがどうしたら良いでしょうか?
phpやperlで言うところの可変変数です。
0301デフォルトの名無しさんNGNG
VB=ヴァギナバイブ
0302デフォルトの名無しさんNGNG
>>300
結論から先に言うけどできないよ。

どういうことがやりたいの?
0303デフォルトの名無しさんNGNG
>>292
本当にありがとうございます。これを参考に書いた線を消したりできるように、
調べてフォームを作り上げたいと思います。
0304デフォルトの名無しさんNGNG
>>300
Perlのようなインタプリタと違って、コンパイルすれば変数名は消える。
配列と変換テーブルを使って参照すれば?
0305デフォルトの名無しさんNGNG
>300
参考。
ttp://homepage1.nifty.com/MADIA/vb/vb_bbs/200303_03030012.html
どっちにしろ無用に複雑になりそう
0306デフォルトの名無しさんNGNG
>300
う〜ん。やっぱり304の云うとおり、変換テーブル作成した方がよさ毛
0307デフォルトの名無しさんNGNG
Javaでは\tのようなタブ挿入はVBではどうやればいいのでしょうか?
0308デフォルトの名無しさんNGNG
>>306
そんな発言する人がいるからVB厨って言葉ができちゃんんだよ。

VB6なら>>305のリンク先にあるようにCallByName使ってプロパティにアクセス
するのが最もまともなやり方だろうし、VB5だったらコレクションを使うべきでしょ。
0309デフォルトの名無しさんNGNG
>>307
ヘルプより。
vbTab Chr(9) タブ文字
0310デフォルトの名無しさんNGNG
ユーザーフォームを呼び出した時、Textboxへの入力が必ず、半角文字になる様に
したいんですが、Initializeに書く、入力を半角にするコードがわかりません。
お願いします。教えて下さい。
0311デフォルトの名無しさんNGNG
Textbox.ImeMode=3
0312310NGNG
ありがとうございました。助かりました。
0313デフォルトの名無しさんNGNG
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文字以上の文字列を入れても、エラーにはならないんですね。
困った。。。
0314デフォルトの名無しさんNGNG
Labelに画像を貼り付ける事ってできますか?
0315デフォルトの名無しさんNGNG
上から無理矢理描画させることはできるだろうけど、
ンな事するなら普通にPictureBoxとか使えばいいじゃん。
0316デフォルトの名無しさんNGNG
data="12345678901"
if len(data)=10 then msgbox "10文字だね"

って できるのか?
0317デフォルトの名無しさんNGNG
>>314
透明Labelの下にPicture置いたら?
0318デフォルトの名無しさんNGNG
>>316
できるかできないかの質問だったら自分でやってみろとのレスがつくだけ。
0319デフォルトの名無しさんNGNG
マウスの動きに合わせて四角形を描きたいのですが、どうしたらいいでしょう?
Lineプロパティを使用して <Line (X, Y)-(X, Y), ForeColor, B> このよう
に記述したのですが、マウスに合わせて細かい四角形がたくさん描かれてしまい
ます。マウスを動かした時に、動かした幅を対角線とした四角形を作りたいので
教えてください。わかりづらい文章でしたらすいません
0320デフォルトの名無しさんNGNG
宿題の匂いがする
0321デフォルトの名無しさんNGNG
mousedownをx1,y1
mouseupをx2,y2

x1,y1-------x2,y1
|          |
|          |
x1,y2-------x2,y2
0322デフォルトの名無しさんNGNG
>>319
ペイントみたいな書き方をするなら、マウスボタンの状態を拾って、対角
線の始点終点を取得したまい。
0323デフォルトの名無しさんNGNG
>宿題の匂いがする

どんな匂いなんだ?
0324デフォルトの名無しさんNGNG
>>319
そりゃあ、あんはん、当たり前やがな・・・始点と終点をどのように指定したら良いのか
自分で考えなはれ・・・・つうかネタ?・・・・じゃないとすると日本の明日は暗黒だな
0325デフォルトの名無しさんNGNG
>>323
学校の例題でよくある感じの問題。

こういう香具師は「unkみたいな味がする」って言うと、
お前unk食ったことあるのかよ!?って突っ込みするタイプだな。
0326デフォルトの名無しさんNGNG
正解(w

匂いもわからないクセによく、そんな表現をするもんだとほくそえむタイプ。
0327デフォルトの名無しさんNGNG
ちなみに〜な臭いってのが〜な感じって表現ははるか昔の文書きも使ってる。

これには嗅覚は味覚や触覚に比べ元々あいまいな表現が多く、
他の感覚に頼った表現をするところからry
0328デフォルトの名無しさんNGNG
匂いと臭い。漢字間違いなだけじゃん。
念のために言うと、「臭い」には疑わしいように見える。あやしい。
という意味がちゃんとある。
0329デフォルトの名無しさんNGNG
>>321>>324
レスありがとうございました。本当に申し訳ないのですが、自分が作りたかったの
はマウスを動かすと四角形がどんどん大きくなって、ボタンを離すと決定するよう
なペイントと同じ動きができるプログラムでした。説明が足らずですいませんでし
た。こういうのを作りたいときは教えてもらった方法からカスタマイズしていけば
できるでしょうか?

>>324
全然ネタじゃないです。情けない話です。
0330329NGNG
>>290ではないのですが、ここで紹介されている「簡単マップ」の四角形描画と同じ
ような動きをさせたいです。説明下手なので見ていただけたらありがたいです。
0331デフォルトの名無しさんNGNG
>>308
あんぽんたんですか?

可変の対象となる件数が数十件規模でも全部コードに
プロパティとして定義するんですか?
0332デフォルトの名無しさんNGNG
>>308
あんぽんたんですか?

可変の変数名が動的に付与される場合はどうするんですか?
0333デフォルトの名無しさんNGNG
>>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をフォームに貼り付けて、実行してね。応用力が大事だよ(はぁと
0334デフォルトの名無しさんNGNG
自分の大きいのは 臭いと言う。
0335デフォルトの名無しさんNGNG
>>331-332
全部コレクションで問題解決。
うだうだ言わないでコレクションがどういうものか調べてみろ。
その上で具体的に問題点を指摘しなさい。
0336デフォルトの名無しさんNGNG
>>335
自分の文章読み直せよ。

vb5.0以前ならって注釈付きじゃん。
要するに考えがおよんでないんだろ。
言われて気づいたくせに偉そうにするな。

あふぉは言い訳だけ得意。
0337デフォルトの名無しさんNGNG
>>335
じゃあ聞いてやるよ。

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

話の文脈が読めないみたいだから、自分がいかに「話の筋」からそれたレスを
しているのかわからず、揚げ足取りみたいなレスしか期待できんだろう。
0341デフォルトの名無しさんNGNG
揚げ足取りうんぬんより、なにも考えず煽り口調の308も
レベル的にはたいしてかわらないわけだが。さらに自作自演
の言い訳の見苦しさも。
0342293NGNG
誰か検証してくれない?(´・ω・`)
0343308NGNG
>>341
自作自演は君の判断に任せるが、少なくとも
「自作自演の言い訳」などしてないな。

こういうお方のことを「言語能力のない頭悪い奴」といっているんだが、
言ってる傍からご登場願えて光栄だね。(笑
0344デフォルトの名無しさんNGNG
まぁ、まともな技術者ならどれがコストが安いかすぐに
判断できるから誰が馬鹿なのかすぐにわかっているわけ
だが。
0345デフォルトの名無しさんNGNG
正直 ど う で も い い

が、あえて言うと>>308はもっと言葉を選んだ方がいいと思うなぁ。

>そんな発言する人がいるからVB厨って言葉ができちゃんんだよ。
これは余計な一言。

>VB6なら>>305のリンク先にあるようにCallByName使ってプロパティにアクセス
>するのが最もまともなやり方だろうし、VB5だったらコレクションを使うべきでしょ。

VB6なら〜アクセスすると言う手法も利用出来るし、VB5〜コレクションも使えるでしょ?

と書くだけで、一連のスレの流れが全然違っただろう。間違いない。
0346デフォルトの名無しさんNGNG
○○するのが当たり前みたいなことを言う馬鹿丸出し技術者の話は
○○という可能性もあるというふうに脳内変換すべしという教訓が
得られたということでいいのでは。
0347デフォルトの名無しさんNGNG
VB暦1.5ヵ月の初心者です。csvファイルで特定の項目を取り出すには、instr関数でカンマの位置を確かめてmid関数で項目を取り出すという以外にもベターな項目の取り出し方はあるでしょうか?アドバイスお願いします。
0348デフォルトの名無しさんNGNG
VB1.5ヵ月の者です。CSVファイルで特定の項目を取り出すにはInstr関数でカンマの位置を確認してからMid関数で項目を取り出すというやり方以外にもっとベターな方法はありますか?アドバイスお願いします。
0349デフォルトの名無しさんNGNG
VB1.5ヵ月の者です。CSVファイルで特定の項目を取り出すにはInstr関数でカンマの位置を確認してからMid関数で項目を取り出すというやり方以外にもっとベターな方法はありますか?アドバイスお願いします。
0350デフォルトの名無しさんNGNG
VB1.5ヵ月の者です。CSVファイルで特定の項目を取り出すにはInstr関数でカンマの位置を確認してからMid関数で項目を取り出すというやり方以外にもっとベターな方法はありますか?アドバイスお願いします。
0351デフォルトの名無しさんNGNG
VB1.5ヵ月の者です。CSVファイルで特定の項目を取り出すにはInstr関数でカンマの位置を確認してからMid関数で項目を取り出すというやり方以外にもっとベターな方法はありますか?アドバイスお願いします。
0352HEPLNGNG
助けてください。
スクロールバーのイベントを拾って、画面をスクロールさせる事に成功したのですが、
その後、スクロールバーの点滅が消えなくて困っています。
どうしたらよいでしょうか?
0353HEPLNGNG
助けてください。
スクロールバーのイベントを拾って、画面をスクロールさせる事に成功したのですが、
その後、スクロールバーの点滅が消えなくて困っています。
どうしたらよいでしょうか?
0354HEPLNGNG
助けてください。
スクロールバーのイベントを拾って、画面をスクロールさせる事に成功したのですが、
その後、スクロールバーの点滅が消えなくて困っています。
どうしたらよいでしょうか?
0355デフォルトの名無しさんNGNG
>>345
禿胴

こうでありたいですな。
ttp://jibun.atmarkit.co.jp/lskill01/rensai/devgenba02/devgenba01.html
0356HEPLNGNG
助けてください。
スクロールバーのイベントを拾って、画面をスクロールさせる事に成功したのですが、
その後、スクロールバーの点滅が消えなくて困っています。
どうしたらよいでしょうか?
0357HEPLNGNG
助けてください。
スクロールバーのイベントを拾って、画面をスクロールさせる事に成功したのですが、
その後、スクロールバーの点滅が消えなくて困っています。
どうしたらよいでしょうか?
0358デフォルトの名無しさんNGNG
>>345
禿胴

こうでありたいですな。
ttp://jibun.atmarkit.co.jp/lskill01/rensai/devgenba02/devgenba01.html
0359HEPLNGNG
助けてください。
スクロールバーのイベントを拾って、画面をスクロールさせる事に成功したのですが、
その後、スクロールバーの点滅が消えなくて困っています。
どうしたらよいでしょうか?
0360デフォルトの名無しさんNGNG
たかがにちゃんねるの掲示板も使えないやつにVBが使えるわけがないな<同じ内容の連続投稿のヤシ
0361デフォルトの名無しさんNGNG
移管問題で、各所でへんな動きが出てると思われ

http://dempa.gozans.com/prj/page/browser/ikan.html
0362デフォルトの名無しさんNGNG
さよか。じゃあ。
スクロールバーの点滅は、TabStopを切ればいい。
0363デフォルトの名無しさんNGNG
>>347
Input#とかSplit関数とか
0364デフォルトの名無しさんNGNG
>>263 亀レスだが。
参照設定を一旦外して再設定。で直ると思う。
0365このスレの6NGNG
まあ2ちゃんだし・・・
0366HEPLNGNG
>>362

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

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

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

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

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

0372デフォルトの名無しさんNGNG
>>371
あのなぁ。開発環境と運用環境の詳細もなしか。

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

懐かしいねぇ。もう忘れたけどさ。
0375デフォルトの名無しさんNGNG
開発者なら・・・、
・数学というか論理的に物事を整理できる脳みそはもて
・無知を自覚するのはいいが自慢するな。
0376厨NGNG
たぶんこうか??

中心の座標 = { x1, y1 }
円周上の座標 = { x2, y2 }

半径 = √( (|x2 - x1|)^2 + (|y2 - y1|)^2 )
0377デフォルトの名無しさんNGNG
>>370>>375
焦ってしまって調べ方が不十分でした。半径がわからないなら初めから「半径の
求め方」で調べればよかったのに。
Picture1.Circle (mX, mY), Abs((X - mX) + (Y - mY)), ForeColor
このやり方でうまく動かせました。レスありがとうございました。
0378デフォルトの名無しさんNGNG
ASPのスレッドはどこー?
0379デフォルトの名無しさんNGNG
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
にもどしているはずなのですが、何か足りない処理があるのでしょうか?
0380デフォルトの名無しさんNGNG
AutoRedrawがFalseならPaintイベント時に自分で書いてやらないと
詳しくはHELP見ろ
0381デフォルトの名無しさんNGNG
マウスムーブを使って
カーソルがある地点(座標A)から左右上下(座標B)に移動させるとラベルの文字が変化するようにしたいのですが
どのようにすればいいでしょうか。

------------------------------------------------------------
 
 座標Aから右に動かすとラベルのキャプションに「右に移動」と表示させる
 さらに移動したあとの座標をAにして同じような動作をさせたい

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

このようなことをしたいのですがよかったらお知恵を貸してくださると幸いです。
0382デフォルトの名無しさんNGNG
マウスムーブを使って
カーソルがある地点(座標A)から左右上下(座標B)に移動させるとラベルの文字が変化するようにしたいのですが
どのようにすればいいでしょうか。

------------------------------------------------------------
 
 座標Aから右に動かすとラベルのキャプションに「右に移動」と表示させる
 さらに移動したあとの座標をAにして同じような動作をさせたい

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

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

0389デフォルトの名無しさんNGNG
CADのコードを参考にするといい。線と線の交点の座標が第3の座標だ。
Cでのコードならもってたんだが、今、どこにあるかわからん。
0390388NGNG
ていうか、386は本当にそんなことがやりたいのかと。
ただ調子にのって質問しているだけちゃうんかと小一時間.......。
0391デフォルトの名無しさんNGNG
>>390
宿題なんです。
0392デフォルトの名無しさんNGNG
ならば授業でやってるだろ。
0393デフォルトの名無しさんNGNG
な〜んか適当な先生で、教科書みてやるみたいなんですけどさっぱりで。
0394デフォルトの名無しさんNGNG
先生のせいにするな。教科書みろよボケが
教科書の内容でできねえなら、できねえ理由を先生に突きつけろ
0395デフォルトの名無しさんNGNG
>>385
じゃ、どんなふうにやったのか書いてみそ。
問題点があれば指摘してくれるから。
0396デフォルトの名無しさんNGNG
>387
オイオイ


HTMLは違うだろ
0397デフォルトの名無しさんNGNG
>>391
とりあえずあれだ、>>391に限らず宿題とかでここに聞きに来てるやつにアドバイス










宿題終わったやつのをコピーさせてもらえや
どうせプログラムの知識なんかがほしいんじゃなくて単位がほしいだけだろ?
0398デフォルトの名無しさんNGNG
画像をサイズ指定して画面に貼り付けたいのですがどうしても上手くいきません。
サイズ指定は画面上でマウスを使おうとしています。MouseDownとMouseUPプロシ
ージャで開始x軸y軸と終了x軸y軸は求められるのですが、この後の貼り付けをど
のようにしたらいいか悩んでいます。是非教えてください。
0399デフォルトの名無しさんNGNG
お前は「上手くいきません」だけで相手がわかると思うのか?
だいたい、どこに貼り付けるんだよ。
0400デフォルトの名無しさんNGNG
>>399
PictureBoxに貼り付けようとしています。説明不足でした
0401デフォルトの名無しさんNGNG
だからさあ、上手くいかないってナニよ
命令がわからないの?正常にコピーできないの?エラーでるの?
コピーが反映されないの?消えるの?ずれるの?

患者:体の調子が悪いんですが
医者:どこがおかしいんですか?
患者:体の調子です
医者:だから、具体的にどこがどのように?
患者:体の調子(ry
0402デフォルトの名無しさんNGNG
>>401
命令がわかりません。調べていたらBitBltというのを見つけて使えそうと思った
んですが、ネット上のサンプルをコピーしてみたらBitBltの宣言の所でエラーが
出てしまい混乱してしまいました。
0403デフォルトの名無しさんNGNG
あっそー。じゃあ、もうちょっと探してきたらー
エラーの内容すら正確に書かない人にあわせるのは時間の無駄だしー。めしくってこよーっと
0404デフォルトの名無しさんNGNG
患者:悪い所くらい言わなくてもわかるだろ?それでも医者か!はやく治せ!
医者:あいにく、エスパーには知り合いがいませんで。占いは道路をはさんで向側のビルの3階です。
0405デフォルトの名無しさんNGNG
>>403
エラーの内容は「定数、固定長文字列、配列、ユーザー定義型およびDeclareステ
ートメントはオブジェクトモジュールのパブリックメンバとしては使用できません
」です。
0406デフォルトの名無しさんNGNG
そこのサイトには、標準モジュールなどに貼り付けろと書いてなかった?
0407デフォルトの名無しさんNGNG
>>406
モジュールに書くとなっているサイトとサンプルプログラム上でイベントプロシ
ージャのすぐ上に記述しているパターンがありました。
どちらでもいいのかな?と思っていました。
0408デフォルトの名無しさんNGNG
あとBitBltの内容を読んでいると、範囲指定の終点x軸y軸から画像の縦横の長さ
を求めなければならないのがわかって、ここでどうやるんだ?って止まってしま
いました。
0409デフォルトの名無しさんNGNG
Public と Privateの違いがあるだろ。時と場合だ。
0410デフォルトの名無しさんNGNG
もうね。小学校からやりなおせ。
0411デフォルトの名無しさんNGNG
BitBltなんて使わずに、PaintPicture使っときなさい。そんなに、パフォーマンスの差ないから。拡大縮小できるし。
0412デフォルトの名無しさんNGNG
>>411
レスありがとう。ちょうど今自分もPaintPictureを発見して試していました。
0413デフォルトの名無しさんNGNG
Labelたくさん貼り付けてクリックするとクリックしたところに丸が移動するのって
どうしたらいいんですか
0414デフォルトの名無しさんNGNG
>>413 Labelをたくさん貼り付けない
0415デフォルトの名無しさんNGNG
>>412
http://www.redout.net/data/osietekun.html
ここを読んでもう少しがんばれ
0416デフォルトの名無しさんNGNG
>>415
おかげで自分の力でできました
サンクス!
0417AkagiNGNG
VB5,DAO,ORACLE7を使用しています。

ODBCDirectワークスペースで、OpenRecordset("SQL文")を実行すると
「実行時エラー:3669 Execution Canceled」というエラーが
発生することがあります。
どうやら指定するSQL文が長い(複雑?)場合に発生するようです。
但し同じSQL文でも発生したりしなかったりと訳がわかりません!?。
同じような現象にあったことのある方、回避策等ご存知の方がいらっしゃいましたら
アドバイスをいただければと思います。
0418デフォルトの名無しさんNGNG
>>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
このような動作を期待しているんですか?見当違いかな。
ま、コントロールの貼りすぎはシステムリソースとコーディングに良くないから気をつけて。
0419デフォルトの名無しさんNGNG
もういいです
0420デフォルトの名無しさんNGNG
本当の初心者というのはわからない部分がわからないものです
プログラマのオサーンにはそれがわからんのですよ
0421デフォルトの名無しさんNGNG
わからない部分がわからない人は芯だ方がいいよ。
0422デフォルトの名無しさんNGNG
だから丁寧に教えてるだろうが
0423デフォルトの名無しさんNGNG
分からない部分が分からないってことは、論理的に考えられない証拠
そういう人はプログラムには向いてないと思う
0424デフォルトの名無しさんNGNG
新人教育の担当官が「異星人とのファーストコンタクトだと思って接する
といいよ」って言ってたが、あれは至言だったな。 (´・ω・`)
0425デフォルトの名無しさんNGNG
>>424
異星人とのファーストコンタクトよりも困難だと思うよ俺は(´・ω・`)
0426デフォルトの名無しさんNGNG
>420

それは依存心が強すぎ。
著しい自己解決能力の低下による症状だな。
努力すれば「どこまで分かって、ココが分からん」と
具体的に「分からない部分」が分かるものなのだが。

最近の小学校ではそんな教育ばかりなんだろうか。。



と、30才のオサーンは思うテスツ
0427デフォルトの名無しさんNGNG
テンプレの心得8に「やる気の無い椰子には答えない」も追加汁

0428デフォルトの名無しさんNGNG
>>426
つーかさ、きゃつらは「出発点から分かってない」から、その議論はもはや無意味。
例えば掛け算で言えば九九が分かってないって事だよ。

と、35歳のオサーンは思うデスク
0429デフォルトの名無しさんNGNG
>>427
「わからない部分をわからない人の質問は放置」とした方がいいかも。
お子ちゃまは(ry
0430デフォルトの名無しさんNGNG
そんなふーに小難しく考えるまでも、>>419みたいなカキコを見て思うことは、意欲の無さ。
わからない、わからないといっていてはいつまでもわからないでしょう。当たらないと、砕けられない。

と、17歳のコウボウは思うデスクリムゾン
0431デフォルトの名無しさんNGNG
意欲の無い奴は、はなから相手にしてないし






と、36歳のプロマネは思うデストラップ2Will
0432デフォルトの名無しさんNGNG
スクリプトコントロールを使うときに
クラスを定義して使う方法はないですか?
なんか、ぐぐったけど、いまいちよーわからんかったですよ
0433デフォルトの名無しさんNGNG
最近の傾向では

・スクリプトコントロール
・画像処理系

を聞いてくる奴は馬鹿だから相手にしないほうがいい。

何をしたいのか
何ができないのか
エラーが出るとしたらどこでどんなエラーがでるのか
解決するために何をしたのか(○○を調べた、○○のようにコードを変更したなど)
環境
自分のレベル
宿題です

最低上5つまでは書くのがあたりまえ。
0434433NGNG
たとえば432だと

「クラスを定義して使えよ馬鹿」が最適な答えです。
0435デフォルトの名無しさんNGNG
いや、


「 あ き ら め ろ 」


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

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

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

で、意訳しまくっても文意が理解できないような理解不能な文章書く横着で
他人に対する想像力を欠いた奴が他の人を助けるようなレスをするとも、
回答者に最低限の礼儀で報いるとも思えないわけで。
0439デフォルトの名無しさんNGNG
簒奪 ← 読めない人は漏れだけか。
0440デフォルトの名無しさんNGNG
>>439
ttp://dictionary.goo.ne.jp/search.php?MT=%d2%d5%c3%a5&jn.x=9&jn.y=5&kind=&mode=0
0441433NGNG
>>437
じゃあお前が全部超能力発揮して答えろよ。

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

ちなみに、VBScriptは、Class 〜 End Classでクラス使えるし、ScriptControlでも同じ。
0444433NGNG
>>443
「クラスを定義して使えよ」って書いてあるんだが。

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



と釣られてみるテストン
0449デフォルトの名無しさんNGNG
Virus Buster ?



と釣られてみるテストン
0450デフォルトの名無しさんNGNG
分かった!







Very Baka だろ?
0451デフォルトの名無しさんNGNG
仕切り魔が発生中の糞スレハケーン

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

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


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

(名)スル

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

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



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

と、適当な事を言ってみる。
0456デフォルトの名無しさんNGNG
>453

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

ttp://www.mb.ccnw.ne.jp/garger-studio/vbgame/105_7.html
0457453NGNG
もしかして、

tDC=GetDC(0)

描画

Call ReleaseDC(0,tDC)

だけでいいんですか?
0458453NGNG
こんな朝にレス早いっすね感謝感謝。

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

APIのみでフルスクリーンの恩恵受けられる方法ないですかね?
ユーザーがDXインスコ嫌がるんすよ。まじっさいパソのスペック低い方がほとんどで
0459245NGNG
>>245 自己レス。

Windows Update の履歴を見たら、

  Microsoft Data Access Components 用セキュリティ問題の修正プログラム (KB832483)

が2回適用されてたので、試しにシステムを2回目の適用前に復元
してみたら、そのエラー「は」出なくなった。

初回適用以前に戻して見るか・・・

ある ADO 関連のアップデートは失敗する時があって、失敗するとOS
の再インストールしか手段がないとかMSのサイトに書いてあったり
するから恐ろしい。
0460デフォルトの名無しさんNGNG
恐ろしいねえ。
0461デフォルトの名無しさんNGNG
はぁ。
0462デフォルトの名無しさんNGNG
>>458
DirectXが標準で入ってないのなんてWin95/NT4.0までだよ。
ついでに言うとDirectXでフルスクリーンにしても他のウィンドウの
処理はしているからパフォーマンスは全く関係ない。

DirectXを使わずに解像度を変えることは可能だが、それをやるなら
終了時に確実に元に戻す処理も必要。たとえアプリケーションが
クラッシュしても元に戻すこと。(DirectXならddhelpがやってくれる)
0463デフォルトの名無しさんNGNG
ActiveX DLLに関しての質問です
FormからActiveX DLL間で
ユーザー定義型を使ってデータを渡したいのですがどうもうまくいきません
Formの標準モジュールとActiveX DLL内でユーザー定義型を宣言しています
Classで渡すのはできるみたいなんですが
どうしたらよいでしょいか


0464463NGNG
自己解決しました

あと、どうしたらよいでしょうかでした
0465デフォルトの名無しさんNGNG
僕はVBに出会えて本当に良かった。
0466デフォルトの名無しさんNGNG
どうやって解決したか書いてくれたら知識の共有できるのに
0467デフォルトの名無しさんNGNG
ActiveX DLLのパブリッククラスモジュールでパブリックユーザ定義型を定義すれば
そのActiveX DLLを参照設定することでFormからもユーザ定義型を使用できるよ。
両方でユーザ定義しなくていい。というかするのは良くない。
(プロジェクトは違うけど)名前とメンバが一緒な
別の型として扱われるから。
0468デフォルトの名無しさんNGNG
>>465
VBが君に出会えてよかったと思ってるかどうかはわからんわけね(ショボーン
どうだろう
僕たちはなにかVBにできることがあるんだろうかああああ
0469デフォルトの名無しさんNGNG
>>462
なるほど。参考になりました。
がんばってみます^^
0470デフォルトの名無しさんNGNG
>>467
thank you
0471463NGNG
あ、あれ、そうなのか・・・・
Variant型で受け取って返したらうまくいったんですけども
0472デフォルトの名無しさんNGNG
バリアントは無敵!
なんでもOKだから、製作者を不安にさせるのがたまにキズだけど。


なので仕事ではなかなかバリアントを使う勇者は居ない。


・・・でもやっぱり憎めないんだよなぁ。
0473デフォルトの名無しさんNGNG
グローバル変数使わずにForm間で値の受け渡し方法って無いんだっけ?
0474デフォルトの名無しさんNGNG
いくらでもある。レジストリに書きこむとか、テキストファイルに入れるとか。
0475デフォルトの名無しさんNGNG
Formに はりつけたコントロール経由はどうだ?
数値だったら tag が おすすめ。
0476デフォルトの名無しさんNGNG
やっぱりFormにコントロール貼るしかないか。自作MsgBoxの戻り値を取得できれ
ばいいだけなので、その方法で行きます。
0477デフォルトの名無しさんNGNG
独自プロパティだろ
0478デフォルトの名無しさんNGNG
>>473
フォームにプロパティを作れば良い。
言っとくけどフォームに書いたパブリック変数はグローバル変数じゃないからね。
0479デフォルトの名無しさんNGNG
>>478
ですね。

感じとしては。

(渡される側のGeneral-Declarations)
Public hoge as String

(呼び出す側をForm1、渡される側をForm2として呼び出す場面で)
Load Form2
Form2.hoge = "xxx"
Form2.Show vbmodal
Unload Form2
'Form2側ではHideだけしてこっちでアンロードのほうが Load-Unloadが対になるのでベター

応用として、Form2の関数も呼べます。
これを知ってると知らないとでは、何でもグローバル変数度に差がでます。w
NGパターンが構造体渡しだったかな?(VB6で緩和されたっけ?)
0480479NGNG
作りたいのが自作MSGBOXですね。
なので、

Form2.Show vbmodal
hoge2 = Form2.hoge
Unload Form2

でOKですね。

後、Form2側のOKボタン等で戻り用hogeの値を設定後にHideするだけ。
注としては、Form2のLoadイベントできちんとhogeの初期化をしておくこと。
画面をコントロールボックスの閉じるとかで閉じられたときに値がきちんとしなくなる。
0481473NGNG
みなさんレスありがとうございました。
0482デフォルトの名無しさんNGNG
グローバル変数って何?Public変数と違うの?
0483デフォルトの名無しさんNGNG
>>482
MSDN の検索でスコープを見る。
変数の適用範囲という部分が、その答え。
0484デフォルトの名無しさんNGNG
>>476
俺はいつもこんな風にしてる。

独自MsgBox 内で、独自イベントを追加する(引数には、任意の型の
変数リストを並べる)。
  ↓
MsgBox の呼び出し側で、そのフォームへの参照を格納する変数を、
WithEvents付きで宣言する(MsgBox のイベントが拾える様になる)。
  ↓
MsgBox のインスタンスを作成し、呼び出し側の変数に参照させる。
  ↓
MsgBox をロードし、表示させる
  ↓
MsgBox の操作を行う。
  ↓
MsgBox 内で、独自イベントを発生させる。たいていは、Unload イベント
時に発生させる。
  ↓
呼び出し側にある MsgBox のイベントプロシージャ内で、戻り値を受け取る。
  ↓
必要ならアンロードし、MsgBox への参照を破棄する。

ちなみに、VBが暗黙のうちに作ってくれるフォームへの参照は使用しない。
0485デフォルトの名無しさんNGNG
FormにPictureBoxを貼り付けて、ボタンでPictureBoxの大きさを調整できるプロ
グラムを作りました。PictureBoxの幅を縮めたい時は

Private Sub cmdマイナス_Click()
Picture1.Height = Picture1.Height - 567 '567twpは1cm
end sub

のようにやっています。
PictureBoxに目一杯の四角形を描いて、保存する時にPictureBoxの幅を縮めた場
合は画面上のPictureBoxで見た通りの画像にしたいのですが、画像を確認すると
四角形が丸々残っている状態です。画面上の幅とピタリとあわせて保存したい場合
には何の処理が欠けているのでしょうか?
0486485NGNG
画像を保存する処理は
SavePicture Picture1.Image, .FileName
を使っています。
0487デフォルトの名無しさんNGNG
PictureBoxは自動で拡縮はしてくれないはず。
APIでできるのでそれを見る、確か最近このスレでその話題があったような・・・。
0488デフォルトの名無しさんNGNG
Imageだっけ、Stretchプロパティがあるのは・・・
0489デフォルトの名無しさんNGNG
>485

ちなみに、heightは「高さ」ですよ、と突っ込んでおいて・・・

Picture2.Picture = Picture1.Image として、Picture2を保存したいサイズに
してからPicture2を保存するといいみたい。
もちろん、Picture2のAutoSizeをFalseにしてね。
0490489NGNG
あ、分かりづらいね。

Picture1に「描いた絵」は、Picture2へコピーすることで
任意サイズに切り取れる、ってことです。

描いた本体のPicture1では、普通にサイズを変えても
描いた絵のサイズが残ってるというか、そんな感じ。


余計に分かりづらい? スマン。
0491デフォルトの名無しさんNGNG
>>478
フォームもクラスだから、フォームモジュールにパブリック変数書けばプロパティに
なるって事ですね…(´・ω・`)

プロパティ作る時にパブリック変数使わないから、うっかり見過ごしてたよ(´・ω・`)
0492485NGNG
みなさんレスありがとうございました。せっかくの機会なのでAPIにチャレンジして
みようと思います。Picture1の画像をPicture2にコピーしてから保存しようとして
います。コードの記述は

Ret = BitBlt(Picture2.hDC, 0, 0, Picture1.Width, Picture1.Height, Picture1.hDC, 0, 0, SRCCOPY)
Picture2.Refresh
SavePicture Picture2.Image, .FileName

です。マウスでPicture1に目一杯の四角形を描いてから、Picture1のheightとwi
dthを小さく変更して、この処理を行っているのですがpicture2の方には何のコピ
ーもできない状態です。何が原因でしょうか?自分の中のイメージではpicture1の
サイズを変更しても画像は残っているので、サイズ分だけコピーしてるつもりなの
ですが
0493デフォルトの名無しさんNGNG
>>492
2側のDCを直接渡していいんだっけ?
一旦変数としてのDCをつくって、それを操作じゃなかったかな・・・?
0494デフォルトの名無しさんNGNG
参考までに
ttp://nienie.com/~masapico/api_BitBlt.html

Picture1を小さくせずに、APIに設定するサイズだけを変えても駄目でしょうか?
また、そもそも小さくしない状態でAPIを呼んだ場合は通常に動いているのでしょうか?
0495485NGNG
>>493
>2側のDC
SavePicture Picture2.Image
この部分の事でしょうか?

>>494
そのページは読んでいました。戻り値が0以外であれば成功という事だったので
確認したら1でした。
>Picture1を小さくせずに、APIに設定するサイズだけを変えても駄目でしょうか?
早速試して報告します。
0496485NGNG
>>494
試してみました。
Ret = BitBlt(Picture2.hDC, 0, 0, Picture1.Width / 2, Picture1.Height / 2, Picture1.hDC, 0, 0, SRCCOPY)
このやり方でテストをしてみたのですが、結果は同じで保存された画像を見ると
真っ白でキャンバスのサイズも大きいままでした。
0497デフォルトの名無しさんNGNG
追加で、実際にRefreshでPicture2には何も表示されないのでしょうか?

また、SavePictureにImageではなくPictureを渡しても同じでしょうか?
0498デフォルトの名無しさんNGNG
>>491
Property だと、値が変更された時に実行する必要のある関連
処理が同時に行える。Public 変数を使うとそれが出来ない。
0499485NGNG
>>497
何度もレスありがとうございます。
はい。何も表示されません。SavePictureにPictureを渡すとプロパティエラーが
発生してしまいます。

SavePicture Picture1.Image, .FileName
Picture1.Picture = LoadPicture(.FileName)
Ret = BitBlt(Picture2.hDC, 0, 0, Picture1.Width, Picture1.Height, Picture1.hDC, 0, 0, SRCCOPY)
Picture2.Refresh
SavePicture Picture2.Image, .FileName

四角形を描いてから一度保存した方がいいのかと思い、上記のやり方も試して
みたんですが結果は同じで真っ白な画像が保存されてしまいます。
0500デフォルトの名無しさんNGNG
>>499
Retがエラーなんですよね?
GetLastErrorを取ってみるのが近道かと。
(Err.LastDllErrorも同じだっけ?)

あとPCDNで少し引いてみたけれど、AutoRedrawが悪さする場合もあるらしい。
PictureBox2を非表示にしてるとだめらしい。
PCDNも過去ログ一杯あるから引いてみれば?
0501デフォルトの名無しさんNGNG
Picture2のAutoRedrawはTrueになってる?
Imageのヘルプを読む限り、Trueになってる場合はhDC=Imageのデバイスコンテキストらしい。
0502デフォルトの名無しさんNGNG
標準モジュール内で

Dim p As Control
 Set p = Form1.Controls("text(1)")

とすると

「実行時エラー 730
コントロール 'text(1)' が見つかりません。」

が出ます。Form1には、text(1)が あります。

どうしたら コントロールを取得できるのでしょうか?
教えてください。
0503デフォルトの名無しさんNGNG
>>502
うそつきは釣りの始まりです。
( )はオブジェクト名に使用できません。
0504485NGNG
>>501
Picture2.Move 0, 0, Picture1.Width, Picture1.Height
Picture2.AutoRedraw = True
Ret = BitBlt(Picture2.hDC, 0, 0, Picture1.Width, Picture1.Height, Picture1.hDC, 0, 0, SRCCOPY)
Picture2.Refresh
SavePicture Picture2.Image, .FileName
Picture2.AutoRedraw = False

上記のやり方で試してみたら、やっと上手く画像の保存ができました。picture2
の大きさを1と同じにすればいいみたいです。ただしっかり理解できていない点も
たくさんあると思うので、まだ心配です。もっとシンプルにできるんじゃないかと
か何か余計な事をしているんじゃないか等
0505デフォルトの名無しさんNGNG
>>503

テキストボックスをインデックスで使用したいのですが、
それは どうすればいいのでしょうか?
0506502NGNG
で (1) をとると
実行時エラー 13
型が一致しません。
と なってしまいます。
0507デフォルトの名無しさんNGNG
>>505
コントロール配列にする。

コントロールをコピペしてみれば、配列にするか聞かれるので、あとは言われるがまま、されるがまま。
0508デフォルトの名無しさんNGNG
ひまわり>>>>>>>>VB
0509デフォルトの名無しさんNGNG
Form1.Controls("text1").item(1)
0510502NGNG
>>509
おお〜 なるほど。
ありがとう〜〜。
0511デフォルトの名無しさんNGNG
すみません教えてください
vcから受けた戻り値を
Dim temp(1 To 20) As Byte
で宣言した変数に格納すると
結果的に20バイト使わない値が返るとします。

StrConv(temp,vbUnicode)で変換しているのですが
文字列で使用した残りのバイトが中点でヴァーと埋まってしまいました
データをDBにインサートすると中点のせいでエラーになるのですが
うまい事除去する方法をおしえてください。
0512デフォルトの名無しさんNGNG
帰ってきたバイト配列の中に0があるはずだから、
0513デフォルトの名無しさんNGNG
>>512
レスありがとうございます。
Instrで0を探すということでしょうか?
0514デフォルトの名無しさんNGNG
strcnvとかCStrで済まないの?
0515デフォルトの名無しさんNGNG
Dim EllipseWidth As Double
Private Sub cmd細_Click()
If EWidth > 0.1 Then
EWidth = EWidth - 0.1
End If
End Sub
EWidthの値が0.1なのにif文の中を通ってしまうのは何故ですか?
0516デフォルトの名無しさんNGNG
ヒントありがとうございます。
要はNULLcharを探すということですね。理解いたしました。
0517デフォルトの名無しさんNGNG
Doubleじゃダメってことか?
0518デフォルトの名無しさんNGNG
本当にEWidthが0.1?
そのEWidthはどうやって求めてるんだ?
0519デフォルトの名無しさんNGNG
>Dim EllipseWidth As Double
で
>If EWidth > 0.1 Then
とは何事だ。

>cmd細_Click()
そんな名前付けるな
0520デフォルトの名無しさんNGNG
>>500
VBでDLLを呼び出した場合はErr.LastDLLErrorを使うべし。
GetLastErrorを使うと、正確な結果が返ってこない事があるそうな。

ttp://www.microsoft.com/japan/msdn/columns/office/office03082001.asp
0521デフォルトの名無しさんNGNG
>>519
コピペ間違えた

Dim EWidth As Double

です。FormLoadで初期値に1をセットしておいて、ボタンが押される度に0.1ずつ
減っていってい最低値を0.1にしたつもりだったんだけど何故か値が0.1でも-0.1
されてしまう。
0522デフォルトの名無しさんNGNG
浮動小数点だからな。0.1に見えても0.1ぴったりにはなっていないのであろう。
If EWidth - 0.1 > 0.01 Then
0523デフォルトの名無しさんNGNG
>>522
なるほど。サンクス
0524デフォルトの名無しさんNGNG
0.1は循環小数だからなあ
0525デフォルトの名無しさんNGNG
ああ、絶対値にするのわすれた。まあいいか。
0526デフォルトの名無しさんNGNG
どうでもいいよ。
0527デフォルトの名無しさんNGNG
コンボボックスAとコンボボックスBの二つあるのですが、そのコンボボックスAのリストと
表示されているものをそのまんま コンボボックスBにセットするには どうしたらいいのでしょうか?
0528デフォルトの名無しさんNGNG
ループしてADD
0529デフォルトの名無しさんNGNG
簡単にできるものは ないですか?
0530デフォルトの名無しさんNGNG
>529

528のアドバイスで十分だと思うが。。。

-------------------------------------------------------
Sub CboxCopy(MotoBox As ComboBox, SakiBox As ComboBox)
SakiBox.Clear
For i = 0 To MotoBox.ListCount - 1
  SakiBox.AddItem MotoBox.List(i)
Next
SakiBox.Text = MotoBox.Text
End Sub
-------------------------------------------------------

こんなのどうだ?ソースを示せば、「簡単」でしょ?
0531デフォルトの名無しさんNGNG
SET SakiBox = MotoBox
じゃ ダメか
0532デフォルトの名無しさんNGNG
>>531
それが何を意味するか分かって書いてる?
0533デフォルトの名無しさんNGNG
>>511
VB6なら
Hage = Split( Hige, vbNullChar )(0)
とかね。
0534530NGNG
>531
なんとなく気持ちは分かる気がするがw


なんとなく心配になって530の自分のレスをVBでコピペしたら・・・
全角のスペースって、VBIDEで勝手に半角スペースに変換して
くれるのね。ちょっと感動。全角2文字スペースが半角4スペースになった。
この前の>265-267といい、VBソースの全角扱いには今更だが恐れ入ったよ。

これからも全角スペースでソースをレス貼ろうっと。
0535デフォルトの名無しさんNGNG
>>531
せめてListItemsのコピーとかで書いてくれれば・・・。
それじゃオブジェクトインスタンスへの参照のコピーじゃない。
0536デフォルトの名無しさんNGNG
>>498
フォームモジュールでProperty使えるとは知らなかったよ。
クラスモジュールでしか使えないと思いこんでた…(´・ω・`)

フォームモジュールがFormを継承しているクラスモジュール
なんだと気付いたら、とても見通しのいいコードが書ける
ようになりますた。

修行が足りないな、俺(´・ω・`)
0537デフォルトの名無しさんNGNG
VB初心者です。
フォームにPDFファイルを表示させたいんですけど、(・∀・)イイッ!方法ってありますか?
スマソしょぼい質問で。
0538デフォルトの名無しさんNGNG
PictureBoxのMouseDownイベントとMouseUpイベントがマウスの左クリックを
高速連打した場合に使い物にならなくて困っています。

ゆっくりクリックした場合、
Picture1_MouseDown
Picture1_MouseUp
Picture1_MouseDown
Picture1_MouseUp
とDownとUpが対になるのですが、連打すると
Picture1_MouseDown
Picture1_MouseUp
Picture1_MouseUp
Picture1_MouseDown
Picture1_MouseUp
Picture1_MouseUp
となってしまいます。
高速連打でもDownとUpイベントを対に検出する方法はないのでしょうか?
ご存知の方よろしくお願いします。
0539485NGNG
早速問題が発生してしまいました。
BitBltを利用して画像を任意のサイズで保存や印刷する事ができるように
なったのですが(>>504)、PictureBoxサイズ一杯の画像をサイズを小さくし
て保存し、継続してその画像に加工しようとサイズを元に戻そうとすると保
存した画像サイズより大きい部分が消えてしまっていました。何も加工しな
いでサイズを元に戻すと画像はそっくり残っているので、四角形や直線を描
いてから戻すとダメなようです。試しに加工する前にPictureBoxにRefresh
をかけてみたのですが結果は同じでした。何が原因なのでしょうか?
0540デフォルトの名無しさんNGNG
>>537
IEのコンポーネントを貼りつけてそこにpdfを表示したらできるかもしれない。
0541デフォルトの名無しさんNGNG
>>538
そもそも、OSがどうやってキューしてるかの確認では?
スパイとかで監視して、その順だったら手がでない。
そうじゃなければOSはきちんとしてるのにVBかどっかが駄目だということ。
0542デフォルトの名無しさんNGNG
>>540レス�d
なるほど
ネット&過去ログでAcrobatReaderのOCXをどうたらっていう書き込みを見かけたんですが
やぱしDLLとか関係してくるんですかね?
0543デフォルトの名無しさんNGNG
>>538
確認方法が不適切なだけの予感。。

本当にそんな風にイベントが発生するとしても、
単に同じイベントが連続してきたら無視するコード書けばいいだけだと思うんだけど。
0544デフォルトの名無しさんNGNG
MSFlexGridで あるセルの内容によってそのセルの行を表示したり、表示しない
というようなことは できますか?
たとえば 1とか2とか入っている列があり、その1だけの行を表示したいとか
したいのですが。
0545デフォルトの名無しさんNGNG
ユーザーコントロールのイベント内で、
ユーザーコントロール自身を移動するにはどうしたら良いでしょうか?
(.Left, .Top や、.Move が見当たりません)


0546デフォルトの名無しさんNGNG
ユーザーコントロールって自分で作ったんだろ?
0547デフォルトの名無しさんNGNG
>>544
RowHeightプロパティを調べてみそ。
ついでにColWidthプロパティもね。

0548デフォルトの名無しさんNGNG
ああ、高さというのがあった。
グリッドで行の削除とかしないで 高さを0にすればいいだけなのか。
0549デフォルトの名無しさんNGNG
>>546
はい
0550デフォルトの名無しさんNGNG
>>548
いいだけなのかどうかは君が作るソフトの仕様で決まると思う
んだが。

行を削除したいのであればRemoveItemメソッドを使えばいいし、
単に非表示にしたいのであればRowHeightプロパティを使えば
いいって話。
0551デフォルトの名無しさんNGNG
>>545 です。

通常のコントロールならば、以下のようなコードで、クリックする度に右に移動しますが、
ユーザーコントロールだと .Left が参照できないのでエラーになってしまいます。
Private Sub UserControl_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
With UserControl
.Left = .Left + 100
End With
End Sub

コンテナにやらせるしかないんでしょうか?
0552デフォルトの名無しさんNGNG
サードパーティ製の画像表示コンポーネントで、
TIFF-G4の縦横70000(65535)ピクセル以上の読み込み、書込みができるものをご存知ないですか?
PHOTOSHOPなどでも表示はできないんですが、IrFanViewでは可能なようなのです。
どなたかご存知でしたら、オススメを教えて下さい。
よろしくおねがいします。
0553デフォルトの名無しさんNGNG
>>538
Spy++でメッセージを見ていると、高速連打(ダブルクリック)したときに
WM_LBUTTONUPが二回発生しているね。
WM_LBUTTONDOWN→WM_LBUTTONUP→WM_LBUTTONDBLCLK→WM_LBUTTONUP と言う風に。
これはOSの仕様だと思う。
そういえばMSDNにこれに関しての説明があったようなきがする。
0554デフォルトの名無しさんNGNG
>>545 です。

なんとなく原因が分かってきました。
質問を変えると、

ユーザーコントロール内で、現在のコードを実行しているインスタンスを指定するキーワードってなんですか?
(Me とか java の this みたいなの)

0555デフォルトの名無しさんNGNG
MSFlexGridで 一行分 (固定列を除いて)バックの色を変えるには
どうしたらいいのでしょうか?

また、選択できる行を1行だけにするには、どうしたらいいのでしょうか?
0556デフォルトの名無しさんNGNG
>>554
うひょひょ。勝手に動くw

[UserControl]
Private Sub Timer1_Timer()
Extender.Left = Extender.Left * 1.1
End Sub
0557デフォルトの名無しさんNGNG
>>556

Extender でしたか!
ありがとうございます!!
0558485NGNG
原因がわかりました。保存や印刷は全く関係ありませんでした。
症状はpicture1に目一杯の円や四角形を描いた後、サイズを縮小して線を追加すると、サイズを元に戻した時に、
最初に描いた図形の縮小で隠れてしまった部分が消えてしまうというものでした。原因は円や四角形を描く時に、
その大きさをわかりやすくするためにマウス軌道を画面で見れるようにしたためでした。

Private Sub Picture1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
  mblnMouseDown = True
  Picture2.Picture = Picture1.Image
  mX = X: mY = Y
End Sub
Private Sub Picture1_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
Static SX As Single, SY As Single
  If mblnMouseDown Then
    Picture1.DrawWidth = IIf(LineWidth > 1, LineWidth, 1)
    If Button And vbLeftButton Then
      Picture1.Picture = Picture2.Image
      Picture1.Line (mX, mY)-(X, Y), LineColor, B
      SX = X: SY = Y
    End If
  End If
  SX = X
  SY = Y
End Sub
Private Sub Picture1_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
  mblnMouseDown = False
  Picture1.Refresh
End Sub

以前教えてもらった上記の方法を使っています。原因はPicture1_MouseDownプロシージャの
Picture2.Picture = Picture1.Image
部分だというところまではわかりました。picture1のimage渡す事で複数の図形を描けるようになっているので、こ
こを無くすわけにもいかず解決策が見つけられませんでした。こういう時はどういう処理を追加したらいいでしょうか?
0559あいタン ◆3QC.t4i5w6 NGNG


( ノ ̄∇ ̄)ノ みんなーーーーーーー、あいでーーす!!( ̄ー ̄)ニヤリッ

ヨロピクネ
0560デフォルトの名無しさんNGNG
パソコン上でやり取りされるパケットを表示・記録させるソフトをVB6.0で作りたいのですが、
お勧めの参考書や情報誌など教えていただけないでしょうか?
0561デフォルトの名無しさんNGNG
>>560
↓のようなもんか?
ttp://homepage2.nifty.com/spw/tips/PacketDump.html
0562デフォルトの名無しさんNGNG
>>538
DirectInput使ってみたら?
バッファリングモードで使えばそんなことになったことないよ。
オイラが気づいてないだけかもしれんけどw
0563560NGNG
>>561
はい。
他にも以下のようなソフトやソースは見つけましたが、
VB6.0じゃないので参考にできませんでした。

ttp://xcorp.saposen.com/toolz/xlog.html
ttp://www.baba-lab.com/syunlog/
0564デフォルトの名無しさんNGNG
>>563
いや、参考にしろ。
VBでWinsock使う方法調べて、それ試せばいいじゃん?
俺は試してないんでこれ以上はわかんないが。。

http://www.int21.co.jp/pcdn/vb/noriolib/vbmag/9802/winsock/
0565560NGNG
>>564
アドバイスありがとうございます。
もっと調べて勉強しながら頑張ります。
0566デフォルトの名無しさんNGNG
vbでcgiにデータをpostで渡す方法を教えて下さい。
0567デフォルトの名無しさんNGNG
>>566
ヌヒはどの程度の知識を持っているのだ?Telnetで手動でPOSTできるくらいの腕はあるのか?
0568デフォルトの名無しさんNGNG
>>566
まず何を使ってアクセスするのかハッキリしる
0569デフォルトの名無しさんNGNG
>>538
そう。たとえばImageでツールバーボタンを模倣しようとするとき、
これのせいで連打に耐えられないものしか作れなかった。
DblClickでMouseDownをコールしてあーだこーだいろいろやった記憶が・・・

PictureBoxだったら、SetClassLongでウィンドウクラスの属性から
「ダブルクリックを検出する」というのを削除すれば確か希望の動作に
なったと思うが・・・ただしプロセス内の全PictureBoxがそうなるという
諸刃の剣。

  Dim ClassLong As Long
  ClassLong = GetClassLong(Picture1.hwnd, GCL_STYLE)
  Debug.Print ClassLong
  ClassLong = ClassLong And (Not CS_DBLCLKS)

  SetClassLong Picture1.hwnd, GCL_STYLE, ClassLong
0570569NGNG
なんか>>568の上4行は違う話だ。DblClickのせいでClickが発生しないとか
そういう。
0571デフォルトの名無しさんNGNG
だから、連続して同じイベントが発生したら無視するコード書くだけのことで
こんなもののどこを悩む必要があるのかと。。

モジュールレベルでフラグ1つ作れば済むことだと思うんだが。
0572デフォルトの名無しさんNGNG
>>571
元質問者じゃないけれど・・・、

無視をする=操作者のイメージと違う動作をする。
が確定しますよね。

そうならずに解決する方法を模索するのも仕事かと。
まあ、OS上で動いているものだからどうしようもない部分も多々ありますが。

仕様レベルで防ぐ手立てをするとか。
0573デフォルトの名無しさんNGNG
ある時間になると起動するプログラムを、日付が変わるたびに実行させる(毎日自動で実行させる)には
どうしたらいいでしょうか?

以下のような形で6時間ごとに"Macro"を実行させたいのですが、現状ではこの操作が1ターンすると
プログラムが終了してしまいます。
例を挙げると、3時に実行した場合、6,12,18,翌0時の4回分はMacroを実行するのですが、次の6時には
実行しないのです。

Application.Run "Macro"
Application.OnTime TimeValue("00:00:00"), "Macro"
Application.OnTime TimeValue("06:00:00"), "Macro"
Application.OnTime TimeValue("12:00:00"), "Macro"
Application.OnTime TimeValue("18:00:00"), "Macro"

どなたか良い方法をお教えくださいませ。
0574デフォルトの名無しさんNGNG
1秒毎にタイマー割り込みを発生させ
そのときに、処理時刻をチェックし、その時刻にあった処理を
実行させてやればいい。
0575573NGNG
>574
即レスありがとうございます。
調べながらやってみます。
初心者なものでうまくいくかどうか。。。
0576デフォルトの名無しさんNGNG
つづき。
ただ、問題となるのは、処理実行中に次の時間になった場合、どうするかだ。
ま、6時間ごととか言ったら、そんなことはないと思うが。
0577デフォルトの名無しさんNGNG
VB6.0sp6です。
TreeViewコントロールについて質問です。
現在選択されているノードが親なのか子なのかを調べることはできないでしょうか?
0578デフォルトの名無しさんNGNG
>538
続けて押した時の2回目のダウンは、
ダブルクリックに置き換えられてるみたいですね
0579デフォルトの名無しさんNGNG
>>577

そのノードの親、子があるかチェックするなり、フルパス取得してチェックするなり
0580デフォルトの名無しさんNGNG
>操作者のイメージと違う動作をする。
うーん、マウスのボタンを16連射する奴がそんなにいるとも思えないんだけど。
ていうか、そんな「連射」が必要なUIってのは、そもそもそういうUIが
間違っているんじゃないか?

あるいは本当に「連射」が必要なUIであるのなら
マウスボタンなんて使っちゃダメだと思う。
0581577NGNG
すみません。もう少し詳しく教えていただけませんか?
フォームにTreeViewコントロールを一つ配置してノードを登録し
Private Sub TreeView1_NodeClick(ByVal Node As Node)
If Node.Children = 0 Then
MsgBox "子です"
End If
End Sub
これで一応はできたのですが、でもこれだと子を持たない親まで
反応してしまいます。
0582デフォルトの名無しさんNGNG
>>574
細かいけれど。

秒単位でタイマー回しても、1秒1回の保障はないので、
設定時刻との比較は、( 設定時刻 − 前回時刻)と(今回時刻−設定時刻)の計算結果で見たほうがいいよ。
イコール判定だと飛ぶ可能性がある。

(タイマーは指定秒数”以上”経過後にイベントを発生させます)
0583デフォルトの名無しさんNGNG
>>581
親がいるか調べるとか。
ヘルプでどんなプロパティがあるか確認してみ
0584デフォルトの名無しさんNGNG
>>580
たとえばツールバーの[貼り付け]ボタンを2、3回(必要な回数)ぺぺっと押すくらい
なら誰でもやると思うが。
0585566NGNG
>>567
あります。
winsockってのをつかえばよさそうですね。
何か参考になるページがありませんか?
0586デフォルトの名無しさんNGNG
押されたボタンは、処理が終わるまでイネーブルをFalseにしといたほうが無難だ。
0587デフォルトの名無しさんNGNG
>585
telnetでできるんなら、それを送ればいいだけやん
0588デフォルトの名無しさんNGNG
少し高度な問題になるのですが、解決方法ご存知の方いらっしゃいましたら
是非アドバイスいただきたいと存じます。
実行時エラー '10': この配列は固定されているか、または一時的にロックされています
再帰処理の関数をもったDLLを作成してるのですが
コンパイル後に実行すると上記のエラーが発生します。
困ったことにプロジェクトを開いてデバッグしても発生しません。

いろいろページを見たのですがコードの見通しが悪い個所は
ないはずなのですが。。。。vb5で作成してます。よろしくおながいします。

インターネットで

0589デフォルトの名無しさんNGNG
VB6.0のエントリー画面で「堧(ぜん)」という漢字を入力したいのですが、
人名変換や手書きではでてくるのに、VBのテキストボックスだと
変換確定後「?」になってしまいます。 どうやらMSDEでつなげているテーブルでも
同じ現象が起こるようですが、どうやったら登録できるでしょうか。
わかる方ぜひ教えてください。
0590デフォルトの名無しさんNGNG
>>589
いわゆるUNICODEな文字だからな。むりだ。まともに対応しているVB.NETでやれ。
0591デフォルトの名無しさんNGNG
突然なんですが
VB6.0でOutlookのアドイン(プラグイン)ソフトを作ろうと思っています。
VB6.0のActiveX DLLで作ることまではわかったのですが、
そのさきが・・・・・・
どこか参考になるようなサイトはないでしょうか?
どなたかご教授お願いします。
0592デフォルトの名無しさんNGNG
あるFormがアクティブ状態の時に、そのFormを閉じるまで他のFormに移れない
ようにするにはどうしたらいいですか?
0593デフォルトの名無しさんNGNG
>>592
その閉じたくないフォームとやらのロストフォーカスイベントで
そのとじたくないフォームとやらにセットフォーカスする
0594デフォルトの名無しさんNGNG
モーダルだろ。
0595デフォルトの名無しさんNGNG
モーダルは初心者が使ったらハマるからやめておけ
0596デフォルトの名無しさんNGNG
modalって何ですか?
0597デフォルトの名無しさんNGNG
>>596
ダイアログの表示モード制御
0598デフォルトの名無しさんNGNG
モーダルの何が難しいんだ?モードレスならわかるが・・
0599デフォルトの名無しさんNGNG
ADO 3.5で Executeを用いて 何回もINSERTするんですが、
最初の1行しか mdbのテーブルに保存されません。
どうしたら何行も保存できるのでしょうか?
0600デフォルトの名無しさんNGNG
コード貼ってみれ
Insert構文に切っているSQL文自体ちゃんとデータが空白なく格納されてる?
それからもし空白もありえるデータの場合MDBのテーブルって空白行許可してる?
0601デフォルトの名無しさんNGNG
>>599
ADOじゃなくてDAOでない? 
0602デフォルトの名無しさんNGNG
Executeした後、何かしないと次の処理ができないの?
0603デフォルトの名無しさんNGNG
>>601
あ、失礼 DAO 3.51 でした。
ずっと勘違いしてた・・・。
0604バッカーですNGNG
VBとは直接関係無いんだけど、OS入れ替えたらマウスのスクロールが無効になってしまいました。
VC++ではちゃんと動きます。なぜかVBだけダメです。
使ってるマウスは中国製みたいなMSオプティカルマウスで、ドライバはMSサイトからダウンロード
したけどダメです。
VS6.0です。イライラして発狂しそうです。
教えてエロい人!
0605バッカーですNGNG
ロジのドライバ入れてみたらVBでも動きました。
とりあえずこれでヨシとします。
スレ汚しスマソ
0606デフォルトの名無しさんNGNG
VB5,DAO,ORACLE7を使用しています。

ODBCDirectワークスペースで、OpenRecordset("SQL文")を実行すると
「実行時エラー:3669 Execution Canceled」というエラーが
発生することがあります。
どうやら指定するSQL文が長い(複雑?)場合に発生するようです。
但し同じSQL文でも発生したりしなかったりと訳がわかりません!?。
同じような現象にあったことのある方、回避策等ご存知の方がいらっしゃいましたら
アドバイスをいただければと思います。
0607デフォルトの名無しさんNGNG
>>606
ただ単に処理時間がかかりすぎていてタイムアウトしてるだけじゃないの?
(これくらいはわかっているか(^^;;)
処理を工夫して単純にするか、タイムアウト値をのばせばうまくいかない?

・・とかDBなんてほとんど使わないハード屋が独り言をいってみたりして。
0608デフォルトの名無しさんNGNG
探すのが面倒なので、あえてぐぐらないで質問するが
文字列中のあるバイトが、S-JISの2バイト文字の一部か
それとも、単に'a'とかの1バイトで完結する文字か簡単に判断する方法ある?
0609デフォルトの名無しさんNGNG
ある
0610デフォルトの名無しさんNGNG
>>485です。一向に解決策が見つからず困っています、どなたかレスお願いします。
0611デフォルトの名無しさんNGNG
>>485
天は自ら助くる者を助く。

そういうことはインスタントに「こうやればできる」なんて言えない。
しかし、VB(というかWindows)の描画の仕組みを理解していれば、それは
たいして難しいことではない。

そしてそれを解説してるVBのウェブページは腐るほどある。
解決しないのは、君がなにも行動を起こしてないから。
0612デフォルトの名無しさんNGNG
>>611
>>558の所までは何とか調べる事ができ、Work用のPicture2にpicture1の全体を
上手く渡す事ができればいいんじゃないかなと考えてします。試しにmouse_down
プロシージャでpicture1.pictureを渡してみて結果を調べてみたのですが、pict
ure2を見ているとpiture1の画像から1テンポ遅れていました。pictureをRefres
h追加してみても同じ結果になってしまいました。ウェブでも解説しているページ
を探したいと思います。何か検索方法がおかしいのかもしれないので
0613enum大好きNGNG
VB6.0を使用しています。
デバッグ中に、enumで割り当てられた数字=>enum変数名 への変換がしたいです。
あっさりした方法を教えてください。

private enum SN'Sushi Neta
  SN_Maguro
  SN_Ika
  SN_Ikura

  SN_00Count
end enum
'とし、てきとうなサブ関数で

private sub SushiNeta()
  dim SushiNetaName(SN.SN_00Count) as string

  SushiNetaName(SN.SN_Maguro) = "まぐろ"
  SushiNetaName(SN.SN_Ika) = "いか"
  SushiNetaName(SN.SN_Ikura) = "イクラ"
end sub
'なんてして使っています。
'いま、SushiNetaName(1)が狂っていることがわかっているのですが、
'この数字の 1 から SN_Ika という名前を得る方法が知りたいのです。

人間の目で一行一行数えろなんていうのは勘弁してください…
0614デフォルトの名無しさんNGNG
>>613
MSDNのEnumのとこ読め。
0615デフォルトの名無しさんNGNG
APIについての質問です。
Public Const SRCAND = &H8800C6 '描画先BMPと描画元BMPをAND演算で結合する

Ret = StretchBlt(Picture1.hdc, 0, 0, 100, 100, _
Picture4.hdc, 0, 0, Picture4.Width, Picture4.Height, SRCAND)
コードが何か間違っていますか?戻り値が0でエラーになってしまうんです。
picture1のAutoRedrawもtrueにしているんですが
0616enum大好きNGNG
>>614
もう一歩突っ込んだ回答をお願いします…
0617デフォルトの名無しさんNGNG
>>616
MSDNを読んでもわからないってことか、それとも読む気がないってこと
かどっち? 前者ならどの部分がわからないのか書くべきだし、後者なら
もうこなくていいって言われるのがオチだと思う。
0618enum大好きNGNG
>>617
MSDN には、enum変数名 => 数値 への変換は簡単にできると
書いてありますが、数値 => 変数名への変換についての記述が
見つかりません。
どうか そこのところを教えてください
0619デフォルトの名無しさんNGNG
>>618
>数値 => 変数名への変換についての記述が見つかりません。
VBにそんな機能はないから。

たしかに一般論としては、デバッグ時にそういう機能があったら便利だとは思うが
しかし君のケースでは「そんな機能が欲しくなるような」コードの書き方の方に
問題があると思うけど。

一行一行数えるのがシンドイ、ってそんなら少なくとも
列挙型のメンバに明示的に値を指定することはできる。
0620デフォルトの名無しさんNGNG
>>615
の方もお願いします。コピーはできるのにAND演算ができないのは何故でしょうか
?
0621デフォルトの名無しさんNGNG
>>618
あるわけないだろ。

Private Enum X
  X_1
  X_2
  X_3
End Enum

Private Enum Y
  Y_1
  Y_2
  Y_3
End Enum

と言う状況で、2 はどっちに変換するんだ ?
0622デフォルトの名無しさんNGNG
>>621
突っ込む方がアホだと激しく萎えるな。
その例だとXとYは型が違うのだから、本来>>618の言うようなことが
できてもおかしくはない。

「変換」という言葉をあいまいに使っている(文字列に変換したいのか、
何なのか?)のはどうかと思うが。
0623デフォルトの名無しさんNGNG
>>622
そりゃ型まで指定してくれれば何とかなるが、>>613 に

> あっさりした方法を教えてください。

と書いてあるのが見えないのか ?
0624デフォルトの名無しさんNGNG
>そりゃ型まで指定してくれれば何とかなるが、
重症だな、こりゃ。
0625デフォルトの名無しさんNGNG
??? 粘着なのか ? 釣りなのか ? はっきりしてくれ。
0626デフォルトの名無しさんNGNG
>>613の例が悪すぎるんじゃね?

普通Enum使うなら型宣言すると思うから、逆変換は可能だろうけど
例のように添え字に使ってるならどうしようもないのでは?
0627デフォルトの名無しさんNGNG
>>626
>>622=>>624 には可能らしい。(藁
0628デフォルトの名無しさんNGNG
つまりさ
>>613の答えにないなら、ないって書きゃすむんだ
よしんば、>>614のような答えを出すとしても
答えられる範囲で書くときゃいいものを
さらに>>621のように答えにならんような物を出してくるから
馬鹿が露呈された
というお話でファイナルアンサー?
0629デフォルトの名無しさんNGNG
馬鹿くさ。

>>626
>普通Enum使うなら型宣言すると思うから、逆変換は可能だろうけど
>例のように添え字に使ってるならどうしようもないのでは?
理解していないことを無理に書くから文章をなしてない。

Enumってのはそれ自身が型宣言なの。だからそのデバッグ時、
列挙型の変数の現在の値インテリセンスで表示することは本来できてもおかしくない。
別の型(たとえばLong)にキャストしてるのでもなければね。

ていうか、「逆変換」って何?笑うところですか。
0630ねただとは思うが...。NGNG
こいつマジで書いてるのか ?

君が思う「できない理由」を書いてみてくれ。

もちろん、>>621 の理由とは違うんだよな。
0631デフォルトの名無しさんNGNG
いかん、アンカー書かなくてもいいかと思ったら、割り込まれた。

と思ったら、似たようなアフォだった...。(藁

> 別の型(たとえばLong)にキャストしてるのでもなければね。

1 と言う数字は、明らかに「別の型」なんだけどな。
0632enum大好きNGNG
>>626
>普通Enum使うなら型宣言すると思うから
賢い方法を教えてください…

デバッグ中に、さくっと知りたいのです。
デバッグウィンドウ(イミディエイトペイン)で
?SN_Ika ってやると、割り当てられた1が返りますよね。

多次元配列における UBound(arrayname[, dimension])みたいな勢いで、デバッグウィンドウで
vbの裏技関数(SN,1) [return]
ってしたら
SN_Ika
って返ってくるような、素敵な関数は用意されていませんかねぇ…

0633デフォルトの名無しさんNGNG
新たな厨房の登場ですか?
>>631
>> 別の型(たとえばLong)にキャストしてるのでもなければね。
>1 と言う数字は、明らかに「別の型」なんだけどな。
だから理解してもいないことを無理に書きなさんな。
別の型だから「キャスト」って言葉をつかってるんだよ。
0634デフォルトの名無しさんNGNG
>>632
だから、とりあえず列挙方の各メンバの値を明示的に指定したら?

それでも面倒なら、コレクションか何か使ってデバッグ用に列挙型の
値をメンバ名を表す文字列に変換する関数でも作るしかないよ。
0635enum大好きNGNG
>>634
>各メンバの値を明示的に指定
すでにプロジェクトはデスマーチを始めており、更新箇所が膨大です。
何よりボスが納得しません。

>関数でも作るしかないよ
しかありませんか…
0636デフォルトの名無しさんNGNG
関数は>>621の理論だと作れませんね・・・
0637デフォルトの名無しさんNGNG
>>635
> すでにプロジェクトはデスマーチを始めており、更新箇所が膨大です。

何のために列挙形を使ってるのか...。
そんなことだから、デスマーチになるんだと子一時間...。
0638enum大好きNGNG
>>636
それは2つでも3つでもそれようの関数を書けば良い訳で、
作れないことはありません。作ってしまえば解決しますが、
ときおり enum の内容項目が増えたり減ったり順番が変わったりします。
更新が大変です。
0639デフォルトの名無しさんNGNG
>>629
じゃあさ、配列の添え字を任意の型で宣言する方法教えてくれよ
SushiNetaName(1)の1はSN型に宣言しないとSN_Ikaかどうかわかんないだろ

0640デフォルトの名無しさんNGNG
>>638
なんかさ、手段が目的になってきてないかい?
本当の目的はSushiNetaName(1)の内容がおかしい原因を調べることなんじゃないのか?
0641enum大好きNGNG
>>640
そのとおりです。おかしなデータを入力したオペレータは死刑です。
しかし、だれが入力したのか突きとめなければいけません。
SushiNetaName()は実際にはStringではなく、非常に豪勢な構造体です。
()内の添え数字によって、構造体の内容を正しく直さなければいけないのですが、
()内の添え数字(この例では1です)がenum SN のどれを指しているのか、
すぐわかるとデバッグ上、有益です。
0642デフォルトの名無しさんNGNG
なんか粘着質というか、1つのことに固執して頭の切り替えができない人だね。
だからさ、VBでは列挙型の値をメンバ名で知ることはできないんだから、
他の方法を考えるしかないでしょ?

どういう問題があって、何を知りたいのか明確でないからなんとも言えんが
構造体配列のインデックスとして列挙型の値を使ってるのなら、構造体の
メンバの中に“寿司ネタの名前”を保持する文字列変数持たせて初期化時に
適当な文字列セットしとけばそれで代用できるんと違うの?
0643enum大好きNGNG
>>642
>メンバの中に“寿司ネタの名前”を保持する文字列変数持たせて初期化時に
>適当な文字列セット
まったくそのとおりです。そうすれば問題ありません。
しかしそこまで大げさにしたくないのです。
あっさり解決!する魔法の粉を探しているのです。
「オブジェクトブラウザで一発だよ」とか。
0644デフォルトの名無しさんNGNG
沼地に高層ビルを建てるがごとし…
0645デフォルトの名無しさんNGNG
>>643
Enum使う方がよっぽど大げさ。
0646デフォルトの名無しさんNGNG
Enum使うのは別に大げさでもなんでもない。
極めて当然のコーディング作法の一つ。

しかし、>>643はムカつく釣り師だな。確信犯的に馬鹿な質問をしている。
そんなことして何が楽しいのかね。
0647デフォルトの名無しさんNGNG
VBでのループ処理速度について御意見をお聞かせください。

[OS ver.]Win2KSP4
[VB ver.]VB5.0SP3

[内容]
Dynasetからレコードを取り出してテキストファイルやワークTBLに吐き出すのですが
この時のループ処理の実装方法として

1.一旦Dynaset.Count()を変数に格納し、For 〜 Next文を使用
2.          〃             Do 〜 Loop文を使用
3.While Not Dynaset.EOF を使用

が考えられますが、処理速度が最も速くなるのはどれになるでしょうか?

tp://www.gj.il24.net/~nakasima/vb/tech/style/ の項番15.から考えると、
3.は避けた方がよいかと思うのですが
1.と2.でどちらが早くなるのかが見当が付きません。
自分でも調べてみたのですが、参考になるような資料を見つけることが出来ませんでした。

扱うデータ量が10万件単位なので、できるだけ処理時間を稼ぎたいと考えております。
よろしくお願いします。
0648デフォルトの名無しさんNGNG
>>647
た め し て み ろ よ !
0649デフォルトの名無しさんNGNG
>>648
言えてる…
0650デフォルトの名無しさんNGNG
>>642
> だからさ、VBでは列挙型の値をメンバ名で知ることはできないんだから、
実を言うと、ActiveX DLLで宣言した列挙型の場合、
TypeLib Informationを使えば列挙型の値を
メンバ名で知ることができる。  たぶん。

イレギュラーだけどね。
0651デフォルトの名無しさんNGNG
>648
ってゆーか、それ言ったらこのスレの存在意義って何よ?
そんな事しか言わないんだったら、始めから来んな。

って漏れも手元に環境がないからわかんねーけど(藁
0652デフォルトの名無しさんNGNG
実験出来る事を実験しないってのは技術者としてどうかと。
0653デフォルトの名無しさんNGNG
>>651
ってゆーか、お前の環境が >>647 の環境とまったく一緒でないと意味ないぞ。

だから、○○ と △△ のどちらが速いですかという質問の場合は、よほど変なことしてない限り >>648 の回答しかありえない。
0654デフォルトの名無しさんNGNG
つか、>>647よ。仕様が決まってて実現方法も幾つか考え付いてるのに
なぜ自分で試してみないんだ?

おぢさんにはそれが不思議で夜も眠れないよ(´・ω・`)
0655650NGNG
ほい。
http://www.jasonbock.net/enumnames.html

DLLファイルからの場合はTypeLibInfoFromFile。
レジストリの場合はTypeLibInfoFromRegistry。

どちらでもない場合のやり方があるのかどうかは知らん。
0656デフォルトの名無しさんNGNG
>>651
本気で言ってるのであれば、プログラマとしてのセンスのかけらもない人だな
0657647NGNG
自分の質問でもめてしまって申し訳ありません。
実際には2、3人で何度か試しているのですが
上記の2、3人が完全に同一の環境ではない為
(端末機種が異なりますし、開発に不要なアプリを入れてる人もいるようなので)
どの動作結果が正しいのか断定が出来なかったのです。

ココだったらVBに詳しい人が多いと思い
理論的な裏づけ(どうして早くなるのか)が分かるかと思い質問させていただきました。
動作結果の単なる数値をはじき出すだけなら動作をさせればよかったのですが
原理的な部分を知りたかったので…。すみません。

自分は質問させていただくには、レベルが低すぎたようです。
申し訳ありませんでした。
0658デフォルトの名無しさんNGNG
>>657
アセンブラレベルでCPUのクロック計算して云々すれば結果はでるが、
ループ判定見直すあれば他にする事があると思うぞ
0659デフォルトの名無しさんNGNG
>>657
たぶん、VBの知識を深めるよりDBの知識を付けたほうがいいと思う。
おらはDBについて全然わからんけど、ヘルプとかに、こうすれば効率が良くなる
という感じのTips書いてないかな。
0660デフォルトの名無しさんNGNG
>>657
2,3人で試して結果がばらつくというのであれば、お客さんの
環境でどれが早いかも一概に言えないってことじゃないか?
だったらしょうがないから、一般論で早いと言われている方法
(そういう資料があればな)を採用するか、あなたのところで実験して
統計的に早そうな方法を採用するしかない。
お客さんの環境が固定で、現時点で判明しているのであれば、話は簡単
その環境を作ってそれ専用にチューニングするのがこの場合のベスト。
(それも、Windows環境は断片化とか経年変化するから厳密には100%
安心は出来ない、とか言い出したらきりがない。断片化はこの際
無関係だと思うけど)

ちなみにwww.gj.il24.net/~nakasima/vb/tech/style/ の項番15.って
「While...Wend ステートメントよりDo...Loop ステートメントを使用する」
のこと?
これはたぶん、While...WendはレガシーステートメントだしExit...が
存在しないからDo While...Loopをつかえという意味じゃないかと。
今手元で実験したらWhile...Wendの方が早いし、それも10万回ループを
100万回繰り返してその差がおよそ100分の2秒とか(Pen4 2.4C)、無視していい
差だから、気にすることはないと思われ。
いちいちEOFプロパティを見るのは遅いから、という理由なら、(それが
本当なら)わかるが。
0661デフォルトの名無しさんNGNG
>>647
DBの処理とループ判定の処理、比べる単位がちゃうと思うぞ。
F1とかの予選で1/100秒を争ってるとき、
ドライバーの靴紐の長さを気にしてるようなもんだ。

確かに(3)は環境によっては影響が大きいと思うが
それもDBやDynaset次第だろう。一般解なんて存在しない。
(あったらMSが実装してるぞw。MSもそこまでバカじゃない)

キャッシュつくるとかその処理用のテーブルを用意するとか
DB構造を改善した方が絶対幸せになれるよ。
(PCのメモリ増やすとかした方が
 無駄な金と時間かからんような気がするけどな)
0662デフォルトの名無しさんNGNG
>>655
ほう。すると列挙型だけでもActiveX DLLにしておくとなにかと便利と。
情報ありがとうございます。
0663デフォルトの名無しさんNGNG
普通はやらないようなことのためにActiveX DLLにする必要はないと思うが。
0664デフォルトの名無しさんNGNG
>>657
おまいさんのレベルが低すぎるんじゃなくて

> 実際には2、3人で何度か試しているのですが
> 上記の2、3人が完全に同一の環境ではない為
> (端末機種が異なりますし、開発に不要なアプリを入れてる人もいるようなので)
> どの動作結果が正しいのか断定が出来なかったのです。

って>>647に書いてれば、遠回りせずに済んだ様な希ガス
ガン( ゚д゚)ガレ
0665デフォルトの名無しさんNGNG
突然VB関連業務を引き継ぐことになった初心者です。

VBpro ver5 は Win XPで使用可能でしょうか?
また、VB.net、Visual Studio は機能強化版という理解でよろしいのでしょうか?

データベース関連のアプリもどきの保守をするのですが、
開発環境その他詳細資料は無く、VBの箱だけを残して前任者が消えてしまいました。

頭弱すぎの質問ですがよろしくお願いします。

0666デフォルトの名無しさんNGNG
>>665
ここ見たら、Ver.5はWin98までだーね。
Ver.6でぎりぎりXP対応だが、若干問題あり。
SP6を当てて、どうにか実用っぽい感じ。
.netはかなり毛色が変わってるから、そのまま移行できるのかは個人の技
量によると思う。

ttp://www.microsoft.com/japan/msdn/vs_previous/vstudio/techinfo/toolos.htm

業務内容と自分の力量を再検討して、開発環境の移行も検討したほうがい
いかもしんないよ。
0667デフォルトの名無しさんNGNG
>>665
多いんだよな、初心者だからVBやらせとけって言うの・・・

基本的にプログラムは言語うんぬんより、そのアプリで何やるかだから
設計仕様書の把握をまずするってのが第一だと思うよ
それでこういうことしたいんですけどって言えば、3割くらいの人が答えてくれるはず(w
0668665NGNG
>>666
>>667
ありがとうございます。
期限、能力とその他の要求事項も含めて検討しなおします。


0669デフォルトの名無しさんNGNG
>665
VB.netは、文法が若干似ているだけで中身は全くの別物と思っておいた方がいい。
詳しいバージョン間の差異やOSの対応状況はMSのサイトにあるからそっちをみるべし。
大変なのは理解できるが、だからこそ確実な情報源を探して確実に進むほうが結局近道だぞ。
0670デフォルトの名無しさんNGNG
VB5も6もXPで全く問題ないと思うが
0671デフォルトの名無しさんNGNG
うっす

磁気カードリーダーのソフトやってるんだが
キーボード入力の変わりにしたいんだよね。
当たり前だけど。

標準入力に出力すればキボードで入力した事になるような
気がするけど、標準入力ってどこになるの?

以前プリンタにエスケープシーケンスを送った時、
ファイルのつもりで"C:\LPT1"とかオープンして
書き込んで使った記憶があって同じような気がするんだけど。
0672デフォルトの名無しさんNGNG
>>671
なにが当たり前なんだかさっぱりわかんねーな。

磁気カードで入力したデータをキーボードの入力の
変わりにしたいんだよな?
磁気カードで入力したデータはどんな形式でどこに出力されるんだ?
0673デフォルトの名無しさんNGNG
>>672
あたかもキーボードで入力したが如く!

フォーカスのあるどこにでも出力したいのです。
0674デフォルトの名無しさんNGNG
>>673
馬鹿には答える気がしねーな。

その磁気カードリーダーは読み取りしたデータはどんな形式でどこに出力
されるのよ?

何度も同じ質問させるな。死ね。
0675デフォルトの名無しさんNGNG
現状での流儀、常識を調べもせずに、何か喚いてますね。

インターフェースとなる部分をActiveXにでもして、データ受信でイベント起こしてあげればいいんじゃないの?
0676デフォルトの名無しさんNGNG
>>674

だからいいんですって、
磁気カードデータがどんな形式でも皆さんには関係ないでしょ。

RS232cの手動式磁気カードリーダーよ!
それをキーボード入力の替わりに使いたいの!

どこに出力って、キーボード入力出来るところよ。
どこでもいいの。そう言ってるでしょ。
0677デフォルトの名無しさんNGNG
>>675
>データ受信でイベント起こしてあげればいいんじゃないの?
ワシもアホじゃないからそんな事はわかんの!
その続きを知りたいの。
0678677NGNG
おっと閃いた!
sendkeysを使えばいいのかな?
0679デフォルトの名無しさんNGNG
>>678
頼むから自分のレベルはかなり低いってことを示してから質問してくれ。

キーボードイベント使え。
0680デフォルトの名無しさんNGNG
>>677
sendkeysレベルがわかんねーくせにあふぉじゃねーとか
偉そうに言うな。

てっきりカードリーダーから受け取るデータが特殊なんだと
思い込んだじゃねーか。
0681デフォルトの名無しさんNGNG
>>670
VB5が問題ないとは、どこにMicrosoftからの正式発表があるのですか?
0682デフォルトの名無しさんNGNG
バーコードの読み取り方を調べろよ。
0683デフォルトの名無しさんNGNG
>>681
どうせ>>670の環境でちょこちょこさわって、問題ないって言ってる程
度のような悪寒。公式ソースの無い情報で開発環境をどうこうするような
無茶はしたくないね。
0684デフォルトの名無しさんNGNG
>>683
MSの基本姿勢は、後で出たものは基本的に対応しないよね。

ただ、VB6は最近でたSP6でXP対応だったような、違うような。
VB5はXP上での動作保障はないはず。
0685デフォルトの名無しさんNGNG
それにしても、一人騒いでる彼、分け和漢ねーよ。

あなたの実現しようとしている機能の仕様は多分糞です。
取得したデータをきー入力に変換なんて別に簡単な話。
ただ、その送り先はそのときの画面状態とかに依存するから、最終的に問題を起こすと思う。
0686デフォルトの名無しさんNGNG
>>684
VB6+SP6をXP Proで使ってるけど、SP5のころにあった不具合(フォント
の変更ダイアログを出すとフリーズもどき)が直ってるからありがたかっ
たよ。

公式にはリモートデスクトップおよびユーザーの簡易切り替えに問題あり
って出てるけど、そんなの滅多に使わないから無問題。

>>685
どうせ現場で叩かれるだけだから、華麗にスルーかいいかと。
0687677NGNG
ところでSendkeysでいいと思いますか?
それとも他の送り方もありますか?

迷える子羊にお知恵を下さい。
0688デフォルトの名無しさんNGNG
むしろ子豚かデブ豚のような
0689デフォルトの名無しさんNGNG
俺なら素直にキーボードI/Fの磁気カードリーダーを使うけどなぁ。
0690デフォルトの名無しさんNGNG
>>687
>>679
少しは嫁よ。

SendMessageでやるとかいろいろあるじゃん。
0691デフォルトの名無しさんNGNG
>>690
読んでも理解できないんだろ。馬鹿だから。

>>677
好きにすればいいじゃん。答えようとしている人の
質問にもまともに返答しないような自分勝手な奴に
まともな回答をしてくれる人が居ると思うのか?
0692デフォルトの名無しさんNGNG
キーボードイベントもセンドキーもセンドメッセージも関係ないだろ。
カードから読み込んで、それをテキストボックスか何かに送ればいいだけの事だろ?
0693デフォルトの名無しさんNGNG
バカニマジレスカコワル(・∀・)イイ!!
0694デフォルトの名無しさんNGNG
>>692
それすらできない馬鹿なんだからしょうがないだろ。

今後予想される馬鹿丸出し質問(理解不能の日本語で偉そうに質問されます)
・送っているはずなのに貼り付かないのですが(という趣旨の質問)
・読み込んだデータの体裁がどうとやら(という趣旨の質問)
・そんなことはどうでもいいんです
・etc

馬鹿仲間の職場の奴に質問しれよ。
0695デフォルトの名無しさんNGNG
>>692
馬鹿の糞仕様を推察するに、読み込んだ値を不特定のWindowに投げつけたいんだろ?
0696デフォルトの名無しさんNGNG
>>694
じゃあお前はどんな話をしたいんだ?
0697デフォルトの名無しさんNGNG
>>696
そういうものの言い方はやめろ。
0698デフォルトの名無しさんNGNG
>>697
すまん。>>692じゃないんだけど、あんまり馬鹿馬鹿言ってるから
0699デフォルトの名無しさんNGNG
>>696
まともな奴が困っている質問にまじめに答えたいそれだけだ。
0700デフォルトの名無しさんNGNG
MScommが華麗にスルーされているのはなんで?
0701デフォルトの名無しさんNGNG
>>700
そこは分かっていることになってるからだろ。

レス読め。そんなことはどうでもいいって言ってるから。
0702デフォルトの名無しさんNGNG
なんか何にもしらないVB厨が騒いでるけど、
別に>>671のような仕様は糞でもなんでもないよ。

こういう需要って結構あるし、もちろん製品もちゃんとある。
当然業務用だけどね。

>>671
SendKeys使ってもいいと思うけど、本来はキーボードの仮想デバドラ
作るべきだと思う。
0703デフォルトの名無しさんNGNG
>>702
そうかなぁ。俺なら、仕様を決める段階で、カードリーダーの他に
キーボードでの入力も有効にしたい、って言うのであれば、最初
からキーボードI/Fのカードリーダーにするけどなぁ。

仮想ドライバについては激しく同意。
0704デフォルトの名無しさんNGNG
まぁ、ひとまず>>671は自分の質問がどれくらい低レベルか
分かっただろうから良かったのでは?

>>702
需要は結構あるけど結構ある分質問せずにこなせるのが当たり
前なんだが。
SendKeys使って実装する後の問題にも何にも調べないで質問して
きそうだけどな。お前が全部答えるの期待してるよ。
0705デフォルトの名無しさんNGNG
馬鹿の話題はもういいじゃん。次の質問どうぞ。
0706デフォルトの名無しさんNGNG
終わってる所申し訳ないw
バカのやろうとしていることと同じようなやつを
10年近く前にやったときあったなぁ。なんかすんげーなつかしい。
得体の知れないバーコードリーダー(シリアル)もってこられて、
これで明後日デモしたいんだけどドライバがないとかいわれて
通信フォーマット調べながら(笑)、VB2で作ってやったことあるよ。
半日もかからんかったっけ。
仕様がわかってるならココにいるようなやつなら1時間もかからんだろなぁ。

そういえば磁気カードライタって昔入手しづらかったんだよな。今もかな?
とりあえず自分のキャッシュカードのコピー作ってみたっけなw
流石に使う勇気はもってなかったけど。
0707デフォルトの名無しさんNGNG
>>706
単に読んだ結果を見れればいいのならターミナルで済ましちゃいそうだw

今ならコントロールパネル開いて、ユーザー補助でシリアルキーデバイス
設定してやってメモ帳開いてガーっと読むとか。
0708デフォルトの名無しさんNGNG
どう考えても>>671より、彼を馬鹿呼ばわりしている奴の方が「脳が足りない」
ように私には見える。

>>671に書いてあることを見て「わかるように書け」って、
そりゃあんたの読解力か知識の方に大いに問題があるだろう。

どう読んだって、何らかの入力デバイスからの出力を使って
キー入力をエミュレートしたい、という意図が普通に読み取れる。
個人的にこういうガキ臭い文体は嫌いではあるが、それは全く別の問題。
0709デフォルトの名無しさんNGNG
ID出ない板だと楽でいいですね(^^
0710デフォルトの名無しさんNGNG
削り取られたプライドを少しでも取り返そうと必死ですね。(^^
文章のフォローアップするよりも、少しはコードを書いたほうがいいよ。
0711711NGNG
質問です。
VB6.0で、オンラインゲームのハンゲームで使えるソフトを作ろうとしています。
画面から様々な情報を取得したいのですが、チャットの内容(テキストデータ)を取得する事はできるのでしょうか?
ハンドルの取得などは、できたのですがその内容をどうやって取得するのかわからなくて困っています。
誰か 助けてください。 m(__)m
0712デフォルトの名無しさんNGNG
>>671の可能性

1.釣り
2.馬鹿
3.お山の大将

わかった!>>671の正体は釣りバカ大将だ!
0713デフォルトの名無しさんNGNG
>>712
馬鹿丸出しを指摘されたのち、自作自演も効果が無いことが分かると
後から釣りだった事にするレスがつくのはデフォルトなんだな。

馬鹿の癖に保身に走る奴って本当にうざい。
0714デフォルトの名無しさんNGNG
>>711
通信パケットを解析するか、画面上の文字を画像として切り出しOCRのような
画像>文字解析して取得する。
普通のテキストボックスじゃないのならな。
0715デフォルトの名無しさんNGNG
どうでもいいけどカードリーダーごときで粘着すんなよ。
やつがやりたいことくらいみんなわかってんだよ。
入力デバイスだエミュレートだそんな難しい話じゃねんだよ。
ただ読み込んで送るだけだろ。起動フロッピーと同じじゃねえか。
何をそう難しく考えてる。
んなこともわかんねえのか馬鹿ってみんな言ってるだけだよ。
0716デフォルトの名無しさんNGNG
つーかなんでうだうだいっているんだろ。答えだせばすぐ終わるのに。
なんか途中は荒らしに見えるので無視。

>>671
残念ながらGUIのコントロールは標準入力から
読み取っているわけじゃないので標準入力は関係ない。

キーボード入力の変わりにしたいのなら、
SendKeysやそれに相当するAPIを使う。
RS232Cを監視してデータがきたらSendKeysを呼び出す。
SendKeysはバグ関係でいろいろトラブルの元になりそうなんでAPIの使用をオススメする。

もちろんキーボード入力の変わりにしないで、
あるコントロール(テキストボックス)でキー入力とともに
RS232Cを監視してデータがきたらText1.Text=入力データ。という方法もある。

まあどちらがいいかは場合によるだろうから好きな方をどうぞ。
0717677NGNG
>>695
あなたが一番できる人みたいだ。

>>679 >>690 >>716 Thanks

みんな私が嫌いだろうが無駄にレスするなスレが流れる。
0718デフォルトの名無しさんNGNG
>>717
>>690と>>695は私なんだけど。

まず、あなたが場に馴染めないならここでこれ以上質問をしない。
単なる嵐だ。

で、これ以上質問を継続したいならば、どの質問に対して、どういうトライをして、どの部分が不明だかをはっきりさせる。
その際に、自分が実現したいことをきちんと明示する。

この程度は質問をする側の常識として捉えてください。
0719デフォルトの名無しさんNGNG
>>717
> みんな私が嫌いだろうが無駄にレスするなスレが流れる。

いいねぇ典型的な嫌われ者だな。
0720デフォルトの名無しさんNGNG
↑
五.荒らしは相手しない。
0721デフォルトの名無しさんNGNG
>>677がやりたい事はみんな分かってると思うのね、ただ、>>718の言うように

>で、これ以上質問を継続したいならば、どの質問に対して、どういうトライをして、どの部分が不>明だかをはっきりさせる。
>その際に、自分が実現したいことをきちんと明示する。
>この程度は質問をする側の常識として捉えてください。

これが出来ないような奴に真面目に答える筋合いはないと。
>>718の言ってる事は技術者以前に人としての基本だよ。
0722677NGNG
んーまぁ色々ごめんな。
でもおかげ様でどうしたらいいか解りました。
ありがと。
0723711NGNG
>>714
チャットのテキスト表示部分のクラス名はEditと出ていますが、これで何か解りますか?・・・
0724702=708NGNG
あったこともない他人に自分の勝手な価値観で説教ぶつような無礼な奴が
「人の道」を説くなんてお笑いだと私は思うけどね。

♪弱いもの達が夕暮れ さらに弱いものを叩くってか?
情けない。(>>677が弱者とは言ってない)
0725デフォルトの名無しさんNGNG
さすがに自分の事はよくわかっているようですね。
0726デフォルトの名無しさんNGNG
では次の質問ドゾー
0727デフォルトの名無しさんNGNG
>>723
GetWindowTextで取れなかったら、>>714
質問するのに情報少なすぎ。
せめてそのソフトの開発言語ぐらい調べろよ。
0728デフォルトの名無しさんNGNG
vsflex3を使っているんですが、複数ある列のうち 一列だけ、コンボボックスにする
やり方を教えてください。

また、別の一列を チェックボックスにしたいのですが、どうすればいいのでしょうか?
0729デフォルトの名無しさんNGNG
>>724
うぜえよ。粘着。バカにされて悔しいなら他の掲示板行け。
0730デフォルトの名無しさんNGNG
UserContorolの名前は、あたまに何をつけたらいいのでしょうか?
btn とか img みたいなやつです。
0731デフォルトの名無しさんNGNG
usr
0732デフォルトの名無しさんNGNG
>>731
そっかぁ。
どうもありがとう。
0733デフォルトの名無しさんNGNG
>>728
ヘルプのFlexArrayコントロール=>チュートリアル=>Editプロジェクトに載っとる
今体験版落として確認した
即刻わかるようなことをなぜ調べもせんで質問してくるんだ?
0734デフォルトの名無しさんNGNG
そのヘルプは いまいちだ。
0735デフォルトの名無しさんNGNG
>>731
漏れctlなんだけど、プリヒックス。
0736デフォルトの名無しさんNGNG
>>735
ファイルのプリヒックスはctlなのだけど
インスタンス名もctlだと、名前がかぶってしまって。
汎用のユーザーコントロールじゃなくて
一箇所でしか使わないユーザーコントロールね。
Dim usrHoge as ctlHoge
みたいな〜♪
0737デフォルトの名無しさんNGNG
>>730
プリヒックスは型というかオブジェクト(クラス)の種類を判別するために
つけるんだから、ユーザーコントロール全種類同じプレヒックスにしたら
効果半減だと思うんだが。というか俺はそう思ってるので、たとえば
ShapeLabelコントロール作ったらsplとかshplblとかそのつど考えてるぞ。
OCXはtbrとかsbrとかいちいち分けて付けるでしょ?ユーザーコントロール
だってコンパイルすればOCXになるんだから同じことだ。
モジュール自身にプレフィックス付けるんだったら、まあ拡張子にならって
ctlかな(ctlShapeLabelみたいに)
0738デフォルトの名無しさんNGNG
>>736
Dim ctlHoge1 as ctlHoge
とか。
Dim ctlHoge as ctlHoge
とか。意外に混乱はしない。
0739デフォルトの名無しさんNGNG
>>738
気分悪くないか?
特定の領域に対して同じ名前で有効なものが2つあるのって。

できないけど
Dim integer as integer
と同じだよね。
0740デフォルトの名無しさんNGNG
プリヒックス?
0741デフォルトの名無しさんNGNG
 質問させてください。
 昔の(10年位前)の工業機器とRS232Cでデータ通信をする事になりまして、
    ・機械側  調歩同期方式 半二重通信 4800bps 偶数パリティー
           スタートビット 1ビット データビット 8ビット ストップビット 1ビット

    ・PC側   VB6のMscomm使用
           Mscomm1.Setteings = "4800, e, 8, 1"
 
 上記の様に設定し、PC側から機械に
   Mscomm1.Output = Chr(&h5) + Chr(&h3) 'ENQ+ETX
 と送信した所、機械からの返信が"ACK:ETX"という様にデータの末尾にETXがつかなくては
 ならないのに ACKのみが返って来てしまいました。
 何度試しても変化はなく、プロトコルアナライザで見ても返信はACKのみでした。
 (アナライザから同じデータを送ると、ACK:ETXと正常な応答をしました。)
 通信方式が半二重というのが怪しいと思ってネットで検索したのですが全二重、半二重を
 切りかえる方法が解りませんでした。
 VBでRS232Cの通信方式を切り替える方法はあるのでしょうか?
 また、上記のような現象はプログラムで解決出来るのでしょうか?
 もしかしたら、とんでもなく方向違いの質問かも知れませんがよろしくお願いします。
0742デフォルトの名無しさんNGNG
ユーザーコントロールってのはその名のとおりユーザーが作ったコントロールなわけで、
コントロールといったらTextBoxやらLabelのことなわけで、
これに習って、ユーザーコントロールの名前も当然プリフィックスなしで
NumberTextBoxのような名前にすべき。
でこの型の変数にはプリフィックスをつける。
Dim ntbID As NumberTextBox
0743デフォルトの名無しさんNGNG
>>741
全二重、半二重ってのは(検索したのならわかってると思いますが)
ハードウェア寄りの設定じゃなくて、ソフト寄り、というかそのアプリの
「お約束」の話ですからMsCommの設定には当然ないでしょう。

要はデバイスのプロセッサの都合か何かで
昔のHAMみたいに送信と受信は同時に行わない(行えない)、ってだけの意味だと思う。

書いてあるだけの情報じゃ何もいえないけど、
Mscomm1.Output = Chr(&h5) + Chr(&h3)
のように1バイト同時に送信してはダメで、
時間を置いて1バイトずつ送ってやる必要がある可能性はないですか?
0744デフォルトの名無しさんNGNG
>>741
Chr(&h5) + Chr(&h3)を
ChrB(&h5) + ChrB(&h3)にしたらうまくいかないかい?
0745741NGNG
レスありがとうございます
>>743
 ググっていくと全二重を半二重に変換するコネクタ等が出てきて混乱しています。
 アナライザと同じデータを送信して、何故1バイト分しか返らない理由がどうにも解らないです。

 時間を置いて送信することは試してみましたが結果は変わりませんでした。

>>744
 >ChrB(&h5) + ChrB(&h3)にしたらうまくいかないかい?
 これは試していませんでした。今度試してみます。
 (だた、工場で動いている機械なので今度触れるのは何時か解らなかったりします)
0746デフォルトの名無しさんNGNG
>>739
うーん、だけどたとえばWordやExcelなんかのActiveX EXEは
Applicationクラスの中にApplication型のオブジェクトを返す
Applicationプロパティとかあるし。Workbooksコレクションを返すのは
やっぱりWorkbooksプロパティだし。
ScreenオブジェクトだってVB.GlobalクラスのScreenプロパティだし。
こういう、「そこで唯一の存在」にならばクラス名で変数を作っても
いいというか、かえって分かりやすいかもしれない。
で>>736は一カ所でしか使わないと言ってるわけだからどうかと。

あとちなみにComboBox.ItemDataなんか、オブジェクトブラウザで見ると
Property ItemData(Integer) As Long
とかって書いてある。ずるいぜ、ゲイツだけはこんな名前使いやがって。
0747746NGNG
>>746で言ってるのは全部、変数じゃなくてプロパティ(プロシージャ)
だけどね。。。

あと>>742に激しく同意しておきまつ。
だから>>737は、モジュール(クラス)名はShapeLabelで、インスタンス
(個々のコントロール)はsplHogeとかにしろってことね。
0748デフォルトの名無しさんNGNG
>>742
コントロールという意味ではそうなんだけど
モジュール名だという意味でみると
frmHogeForm
basHegeBas
ctlHegeCtl
ってしたくなるというか、そうしろ見たいにヘルプにあったような。

ただまぁ、
Dim frmHogeForm As frmHogeForm
はやりたくない(できない?)から
Dim frmNewHogeForm As frmHogeForm
とかしてるけど、気持ち悪い・・・

Dim ctlHogeForm As ctlHogeForm
を
Dim usrHogeForm As ctlHogeForm
とする技をここで教えてもらったわけですが
Dim hfmHoge As HogeForm
なのかなぁ

汎用のユーザーコントロールじゃなくて
一箇所でしか使わないユーザーコントロールってのは間違っているのか・・・
0749デフォルトの名無しさんNGNG
8251とか8255とかいう石に対して、半二重とか全二重とか命令を
出すんじゃなかったけかなぁ。
http://web.kyoto-inet.or.jp/people/pessi/PC9800HOWTO-13.html
0750デフォルトの名無しさんNGNG
>>749
オイオイ、いつの時代のやり方だ
石に直接なんて、機体依存の方法するな
0751デフォルトの名無しさんNGNG
プッ
モノが古いのに?
0752デフォルトの名無しさんNGNG
>>748
frmとか付けロッテヘルプにあったような機がするし、実は漏れも
最近まで付けていたんだが、今は付けなくなってしまった。
たとえばfrmMain→MainFrame, frmOpenFile→ OpenFileDialog
clsEnumFile→FileEnumlatorみたいに。理由は>>742と同様で。
たとえばFileSystemObjectだってclsFileSystemObjectじゃないでしょ。
コントロールもモジュールも、クラスの定義ということでは同一です。
C#やVB.NETだと付けないし。
>Dim frmHogeForm As frmHogeForm
と言うのは出来る。たとえば暗黙に使ってるForm1なんて言うのは、隠しで
Public Form1 As New Form1
と宣言されているのに相当する。(自分で同じこと書いてもエラーに
ならないんだが)

>汎用のユーザーコントロールじゃなくて
>一箇所でしか使わないユーザーコントロールってのは間違っているのか・・・
別に間違っちゃいないですよ。機能とデータをまとめてオブジェクトに
する目的なら一カ所専用というのも全然蟻です。
で一カ所なんだったら複数のインスタンスを区別する必要とかないんだから
クラス名と同じ変数名とか、>>748みたいにNewを挟むとか、漏れはMyを
挟んだりしたこともあるが、まあそんなんでいいと想いまつ。
ローカル変数ならいっそDim HF As HogeForm とか。(あくまでローカルならね)
0753デフォルトの名無しさんNGNG
↑いつも長くてすまん。

思い出したんだが、VB4までのプロジェクトウィンドウって、今みたいに
フォームモジュール、標準モジュールとかにカテゴライズされていなくて
全部ごちゃ混ぜに一覧表示されていた記憶がある。VB2までだったかな?
それをソートするために、頭にfrmとか付け始めたのではなかろうか。と
想像してみるテスト
0754デフォルトの名無しさんNGNG
なんかね、ローカルルールばかり多くてさ イマイチだと思わないって話だね。
VBが 勝手に Textとかつけてくれるんだったら それに なんとかとつけたほうが
共通性があっていいかもってわけだ。
0755デフォルトの名無しさんNGNG
人のつくったソースを見てて 「予想外のエラー」というメッセージを出す処理が
あった。予想外のエラーが出るなんて 予想しているのに 予想外とは これいかに・・・

0756デフォルトの名無しさんNGNG
>>751
古いのはターゲットとお前だろ
0757デフォルトの名無しさんNGNG
>>755
例)

private sub hoge()
on error goto errh

exit sub

errh:
megbox "予想外"
exit sub
0758デフォルトの名無しさんNGNG
画像の特定部分のコピーを取りたくてstrechBlt()を使っているのですが、どうも
座標の位置がずれているようです。
Picture1のある部分のコピーを別のPictureに移したいです。
コードは
Private Sub Picture1_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
  クリップボード.AutoRedraw = True
  クリップボード.Width = Abs(dX - X): クリップボード.Height = Abs(dY - Y)
  Ret = StretchBlt(クリップボード.hdc, 0, 0, クリップボード.Width, クリップボード.Height, _
  Picture1.hdc, mX, mY, クリップボード.Width, クリップボード.Height, SRCCOPY)
  クリップボード.Refresh
  クリップボード.AutoRedraw = False
End Sub
です。dX・dYはマウスダウン時の座標をグローバル変数で保管しておいた値です。
座標が全然ずれている場合と何もコピーされていない2パターンの現象がおきて
います。
原因がわかる方がいたら、よろしくお願いします。
0759デフォルトの名無しさんNGNG
座標系?
0760デフォルトの名無しさんNGNG
>>759
イエス。会社の人に聞こうにも画像系やった事無いからわからないときた。
そんなの俺に託すなよ
0761デフォルトの名無しさんNGNG
>>758
mX,mYってなによ。
0762デフォルトの名無しさんNGNG
>>761
ごめん、dX・dYと間違えてた。
0763デフォルトの名無しさんNGNG
>>762
じゃああれだな。左上からドラッグしたときと右下からドラッグしたとき
じゃどうかんがえてもおかしいだろ。
0764763NGNG
左上からドラッグしたときだけうまくいってないか?
0765デフォルトの名無しさんNGNG
コンボボックスをドロップダウンリストにして使用しているとき、
コンボボックスの表示を変更した場合、どのイベントが発生するのか教えてください。
Changeかと思うのですが、Changeには ぜんぜんきませんでした。
0766デフォルトの名無しさんNGNG
>>765
全部のイベントで確かめればすぐわかるだろ。
0767デフォルトの名無しさんNGNG
クリちゃんを刺激してみる
0768デフォルトの名無しさんNGNG
>>765
>>766の言うとおり。
全イベントにちょこっとソースを書けばいいだけ。
但しデバッカでブレークしたら駄目。フォーカス関連が微妙になる。

Debug.Print文とかで順序、発生を見るのがよし。
0769デフォルトの名無しさんNGNG
758も765もちゃんとMSDN読めばすぐに分かるはずなんだがなぁ。
0770デフォルトの名無しさんNGNG
>>763
確かに考えてみたらおかしくなりそうですね、コピーができない自体が上手く
いかないから頭がそこまで回って無かったよ。

>>769
マジですか、、、msdnとwebの両方調べてたのに理解できてないなんて
0771デフォルトの名無しさんNGNG
>>770
まぁ、てんぱってるときは頭回らなくなるもんだな。
0772デフォルトの名無しさんNGNG
>>764
右下からやった場合の処理もおかしくならないようにしました。
ただ座標のズレや真っ白になる症状は未だに同じです。いろいろ試してみてわかっ
た事があります。左上の方の画像をコピーしようとすると座標のずれた画像をコ
ピーして、下の方の画像をコピーすると真っ白です。>>758のコードの中で>>763
以外にもおかしな点はありますか?
0773デフォルトの名無しさんNGNG
どうも、お疲れ様です。
VBでプログラミングを学習しているものです。
すみません、教えていただきたいのですが、
"バージョン " & App.Major & "." & App.Minor & "." & App.Revisionで
アプリケーションのバージョンを取得することができますが
ここでのバージョンはいつ1.23とかになったりするのでしょうか?
0774デフォルトの名無しさんNGNG
まさかとは思うが、スケールモードが違うとかってオチじゃないよな?
0775デフォルトの名無しさんNGNG
>>773
プロジェクトでバージョンを設定しる
0776デフォルトの名無しさんNGNG
>>775
ありがとうございます。
わかりました。
すぐにレスしてくれてありがとうございます。
0777デフォルトの名無しさんNGNG
CD制御をしたいと思ってるんですが、mciSendCommandとmciSendStringのどっちにしようか迷ってます。
調べたら、どっちも似たようなもんみたいですが、皆さんどっちがオススメですか?

一般的に解説されてない不具合があるとか、そういう部分で総合的に判断してです。

回答よろしくお願い致します!
0778デフォルトの名無しさんNGNG
作ったプログラムのexeを実行しようとすると

DLLHOST.EXE(COM Surrogate)
msdtc.exe(MS DTC console program)

が外部にアクセスしようとします。
現在は、ファイアウォールでブロックしています。
これって、何ですか?
0779デフォルトの名無しさんNGNG
>>778
自分の作ったプログラムすら疑うんだな。

Google検索すらせずに、お前プログラマなんてやめちまえよ。
0780778NGNG
>>779
exeを作成しようとしたときでした。。。
ググッたら、なんの問題もないことがわかりました。
すいませんでした。m(_ _)m
0781デフォルトの名無しさんNGNG
>>766-768
まぁそうなんだが、コンボボックスのイベントは確かに直感的ではないな。





なんでClickイベントに割り当ててるんだか(´・ω・`)
0782デフォルトの名無しさんNGNG
Combobox=Text + Listbox
Change → Text部分の変更に反応
Click → Listbox部分のクリック(=選択)に反応
0783デフォルトの名無しさんNGNG
>>782
コンボボックスはテキストボックスとリストボックスを継承してるのか。
コンボボックスと言う独立したコントロールだと思ってたよ(´・ω・`)
0784デフォルトの名無しさんNGNG
スレ違いかもしれんけど困っているので教えてください。
VBをつかってある機械をコントロールしようと思います。 機械といっても
スイッチ3つをいれたり切ったりするだけ なのですが・・・・・・。
この場合一番安上がりにできる方法は何でしょうか。 ソフトもハードも両方
教えてください。 出力はプリンター出力でもUSBでもシリアルでも結構です。
なお、当方電子回路はある程度わかるので、インターフェースは簡単なものな
ら自作できると思います。
一番丁寧に教えていただいた方には謝礼を出してもいいです(うまく動作すれば)。 
そのくらい困っています。 どうかよろしくお願いします。
0785デフォルトの名無しさんNGNG
>>784
スイッチを入れるトリガーを人間が操作するのなら

機械のスイッチを人間が直接押す

っていうのが一番安上がりだと思うが。

謝礼をくれるのなら実装まで手伝ってやってもいいぞ。
都道府県はどこだ?
0786デフォルトの名無しさんNGNG
>>784
のスキルだと
ttp://www.cqpub.co.jp/hanbai/books/36/36421.htm

この辺読めば出来るんちゃうかな?

パラレルI/O(プリンタポート)を使うのがハード、ソフト的に
一番簡単だと思う。
0787デフォルトの名無しさんNGNG
>>785
その人間の操作というのはあなたがやるんですね。
ハード作成よりも安く、かつ、長年つかえると。すごい人だ。
0788デフォルトの名無しさんNGNG
> 長年つかえると。

はぁ ?
そんな条件は、要件定義時に言ってくれないと困ります。
もう、操作回数2回 (入れたり、切ったりですから) で設計しちゃったので、「長年」とか言われるなら仕様変更とさせてくださいね。
0789デフォルトの名無しさんNGNG
>>788
所詮その程度の設計しかできない人なんですね。日頃から、使えない人だなと言われてませんか?
0790デフォルトの名無しさんNGNG
売り言葉に買い言葉ばっかだな。モチツケ。
0791デフォルトの名無しさんNGNG
784じゃないが、VBでパラレルって簡単につかえたっけ?2000やXPで。
0792784NGNG
784です。
>>786
ありがとうございます。良い本を紹介していただきました。
さっそく注文しました。うまくいった場合はお礼をしたいの
で下記のアドレスまでご連絡ください。
[email protected]
>>785
ありがとうございます。
もしやっていただけるのならおねがいします。
ただし条件は次のとおりです。
朝7時30分から夜6時頃まで
1日約30回のスイッチのオンオフ
期間はわかりませんが最低6年はお願いします。
日当は10円ほどしか出せません。
0793デフォルトの名無しさんNGNG
拘束時間が長い割には 日当が安いな。
最低賃金以下で、労働基準法にひっかかりまくりだな(w
0794デフォルトの名無しさんNGNG
余計なことを書くとネタと思われる。
0795デフォルトの名無しさんNGNG
ネタだろw
0796デフォルトの名無しさんNGNG
>>795
質問自体が。
0797デフォルトの名無しさんNGNG
wshを使って、excelのファイルを加工したいのですが、
引数の詳細とか調べるには、何処を調べれば良いのでしょうか?

現在 excelのマクロを参考に、Workbooks.OpenTex にexcelのVBAの引数を
渡そうとしているのですが上手く渡せません。
引数を省略した場合は、openできるのですが。

ぐぐってみましたが、引数を省略した例ばかりで
参考になる書籍やページがあるなら教えて下さい。

0798デフォルトの名無しさんNGNG
VB6.0で、16進数とシフトJISコードとを相互変換できるプログラムを作りたいのですが
どの様な方法、関数、APIなどを使えば良いでしょうか?
例)こんにちは。 ←→ 82B182F182C982BF82ED8142

n進数同士やコード同士の変換ならグーグルで山ほど資料は見つけましたけど、
この変換については1件しか見つけられませんでした。
ttp://hp.vector.co.jp/authors/VA027424/hexstr.html
↑のソフトは1文字のみ相互変換できます。
初歩的な質問だと思いますが、なにかヒントを教えて頂けないでしょうか?
0799デフォルトの名無しさんNGNG
>>798
strconvでバイト形の配列に受ければいいんじゃないの?
0800デフォルトの名無しさんNGNG
VS−FLEX Ver3のヘルプのみかたを 教えてくれてありがとうでした。

また、VS−FLEXに関して、質問なんですが、ひとつのセルに入力しながら2行いれたいのですが
どうすればいいのでしょうか?
0801デフォルトの名無しさんNGNG
あ、もちろん WordWrapは Trueに してあります。
0802デフォルトの名無しさんNGNG
スレ違いかもしれんが、誰か俺のかわりにアセンブリ言語のプログラム
作ってもらえないか?
またはそういう掲示板を教えてくれ
頼む
0803デフォルトの名無しさんNGNG
アセンブリ言語のプログラム
って何だ?
0804デフォルトの名無しさんNGNG
>>802
http://pc5.2ch.net/test/read.cgi/tech/1085867636/509
http://pc5.2ch.net/test/read.cgi/tech/1084544243/802
http://pc5.2ch.net/test/read.cgi/tech/1086612317/99
http://pc5.2ch.net/test/read.cgi/tech/1076157613/853
0805デフォルトの名無しさんNGNG
リストボックスの項目をダブルクリックで実行ってどうすんの?
0806デフォルトの名無しさんNGNG
>>805
あなたは何をしたいのですか?
0807798NGNG
>>799
StrConvとバイト配列でググりましたが
頭が固いせいか、どうやったら16進数に変換されるのか理解できませんでした。
もっと時間かけて丹念に調べてみます。
0808デフォルトの名無しさんNGNG
>>807
ぐうぐるさまへの信心が足りません。

strconv sjis 変換 16

で検索したら3つめでいい感じがでてきました。
ttp://nadia.kabe.to/bluewater/techniq/#String1
0809デフォルトの名無しさんNGNG
>>805
そのやうにコーディングしる
0810デフォルトの名無しさんNGNG
>>800-801
意味不明
改行したいということなら Ctrl + Enter
0811デフォルトの名無しさんNGNG
>>810
サンクス。
改行コードが 不明だった。Alt+Enterかと思ってた。
0812デフォルトの名無しさんNGNG
>>811
人に訊く前にいろいろと試してみる勇気は必要じゃぞ。
ただし、Shift+Delだけはやっちゃいかん。
0813デフォルトの名無しさんNGNG
あと VS−FLEXでチェックボックスのチェックのつけ方も教えてください。

.CellChecked = flexChecked
とやってもぜんぜんチェックがついてくれません。
0814デフォルトの名無しさんNGNG
>>813
VS-FLEX Ver.3.0J 体験版ならフツーにつくが
他の処理が干渉してんじゃねーのか?
いちからコントロール貼り付けてやってみろ
0815218NGNG
VB6.0
VBで作成したアプリで��他アプリの特定のボタンを押す�%ョ作を
実行したいのですがどうしたらいいですか?
よろしくお願いします
0816デフォルトの名無しさんNGNG
findwindowでアプリケーションのハンドルを取得
FindwindowExでボタンのハンドルを取得
sendwindowで右クリックを押すのと話すメッセージを送る
0817デフォルトの名無しさんNGNG
PCが起動した時に、
こちらのユーザーID(及びパスワード)が登録されていないサーバに自動でログインさせて、
ネットワークで閲覧する際にユーザー名、パスワードが聞かれないようにしたのですが、
何かいい方法はありませんか?
0818218NGNG
>>816
回答ありがとうございます
他もいろいろ調べてみたら、似たような質問がありました
816さんと同じ流れみたいでした。ありがとうございました
0819youngmanNGNG
ADOつかっても、以下の問題が起きないためにはどうしたらよか
ですか?

顧客台帳 - 商品台帳 - 注文台帳

のような典型的なリレーションを貼ったAccessDBにアクセスする
ためのVBの皮で、データグリッドにて呼び出した商品の情報を削
除しても、商品台帳のアイテムが消えたりしない方法です。

Data Environmentを使うとふつうに問題が起きないのに、どういう
わけかADOだと注文台帳からそのアイテムを消すと商品台帳のア
イテムまで消えてしまいます。

はじめはリレーションの貼り方の間違えかとも思ったのですが、
Access本体のみで作ったときには何ら問題がおきません。ADO+VB
の時だけがおかしな挙動になります。

どうしたらこの部分が解決できますでしょうか?今、家計簿ソフトを
作る上での大きな課題になっとります。
0820デフォルトの名無しさんNGNG
>>819
頼むからADOの本一冊買え。

今回誰かがお前の意味のわかんねー質問を一生懸命解読しながら
回答を得られたとしても今のお前のレベルじゃ次々と問題でてくる
だろ。
0821デフォルトの名無しさんNGNG
MsgBoxで出すメッセージボックスのボタンのキャプションって
変更できませんか?
MessageBox API見てみたけど、コールバックプロシージャとか指定
出来ないみたいだし。
0822デフォルトの名無しさんNGNG
ごめん、今自分でMessageBoxIndirectとか見つけました。
0823デフォルトの名無しさんNGNG
>>821-822
と思ったら、AddressOfはAPIの引数の中でだけ使えるという制限が・・・
MessageBoxIndirectは引数が一個の構造体だからAddressOf使えないぢゃんorz
0824デフォルトの名無しさんNGNG
>>819
なんか過去に聞いたことのあるような質問だったり・・・
Accessだけに起こるんじゃなかったけか?
0825デフォルトの名無しさんNGNG
>>820
 本を買っても独特な言葉の使い方は変わらないのでは
なかろうか・・・

>>819
 過去ログに書いてあると思うが・・・
 Jet OLEDB Providerの仕様なので、さっさとDAOにする
のが吉。
 でなければ、MSDEかSQL Serverに変えれ。
 変な仕様のProviderと喧嘩しても、労ばかり多くて実りは
少ない。
0826デフォルトの名無しさんNGNG
IEが表示しているHTMLの文章をVBで取得することは出来るのでしょうか?

はてなというサイトのポイント配分機能がとても使いにくいので
自分でツールを作ろうとおもいましたが
表示されている内容を手入力するのが手間なので
自動取得したいと思いました。
0827デフォルトの名無しさんNGNG
>>826
自分でIEもどきを作ればいい
0828デフォルトの名無しさんNGNG
つうか>>820みたいな阿呆がどうにかならんかと思うんだが
>>825見たく答えを書いてから煽るならセンスも光るんだが
答えもかけねえやつがなぜ偉そうに言えるかねぇ
要は知らんかったんだろ?
まぁ仕事でそう言われ続けてきたんだろうがな
可哀想なやつだ
0829デフォルトの名無しさんNGNG
>>828
定期的にこういうレスする奴が居るけど。同類だって気づいてないのかなぁ?
0830829NGNG
あ、同類は>>828=>>820ね。
0831デフォルトの名無しさんNGNG
>>826
Dim sw As New ShDocVw.ShellWindows
Dim i As Object
For Each i In sw
  i.document.〜
Next i
0832デフォルトの名無しさんNGNG
そうすると>>828=>>820=>>829ですな
0833デフォルトの名無しさんNGNG
そして>>828=>>820=>>829=>>831永久ループっ
実際、ここの住人って入れ替えないんだろうな
ひょっとして10人くらいでスレ回してるんじゃ・・・いや・・・そんなはず・・・
0834youngmanNGNG
>>824
>>825
ありがとうございます。DAOで明日、書き換えてみたいと思います。

うまく稼働しているところだけADOで問題の箇所だけDAOってのは、
あまりよろしくないかもしれませんが、そちらもやってみたいと思い
ます。

MSDEについてはAccessを皮にしてやっていますが、是非VBで1本
作り上げたいですが、配布が難しい。
0835youngmanNGNG
タイミング悪かったでしょうか?

ずっと悩んでいたので、それがそういう仕様だと言うことがわかったので
今夜はゆっくりプログラミングに励めそうです。
0836デフォルトの名無しさんNGNG
>>821
自作した方がよさげ。modalでformを呼び出せ。
hideかunloadで呼び出した側に処理が戻る。
0837デフォルトの名無しさんNGNG
>>823
よくわからんが、こういうことがしたいのか?

Debug.Print fptr(AddressOf foo)

Function fptr(ByVal ptr As Long) As Long
fptr = ptr
End Function

あとMsgBoxのキャプションを変えるのはVBでも使える、
CBTフックあたりでもできたと思う。
0838デフォルトの名無しさんNGNG
すみませんが教えてください。
VB6で自ホストのIPアドレスを書き換える処理をしたいのですが、
どのようなAPI?を使うべきでしょうか?
0839838NGNG
ちなみにやりたい事は、このHPにあるIP Selecterって
ソフトと同じことなんですよぉ。
でもこれってWinXPで動かないんですよね・・・
だからWinXPバージョンを自作しようかと思ったのです。
お願いします。

このHP
ttp://www.artemissoftservice.com/softlib/pc_soft.html
0840838NGNG
なんどもすみません。838です。
このIPチェンジソフトですが、ひょっとしてJavaでも
作れるもんなんですかねぇ?
Javaアプリで行けるならJavaでもいいかなあって
ちょっと気になったもので・・・
すみません、スレ違いですよね(^_^;)
0841838NGNG
ほんとたびたびすんません・・・
調べてたらnetshコマンドって便利なもんがあるみたいですね。
ちょっとこれでやってみますです。
すみませんですた。
0842デフォルトの名無しさんNGNG
>>831
わぁどうもありがとう。たすかりました。
0843デフォルトの名無しさんNGNG
おまいら。
TextBoxにvbTabを表示させたときの幅を
8→4にしたいのだが、
変える方法をどーか教えてください。
0844デフォルトの名無しさんNGNG
>>843
EM_SETTABSTOPS
0845デフォルトの名無しさんNGNG
DAO3.51 なんですが
Dim r As Recordset

で
r![項目名]
で それぞれのフィールドを表しますが、
r![項目名]の 項目名を 関数の引数に使いたいのですが、どう宣言すれば
いいのでしょうか?

0846デフォルトの名無しさんNGNG
Formを一つ前の状態に戻したい時はどうしたらいい?
UNDO使える?WEBで調べてたんだけど使えそうなサンプル発見できず
0847デフォルトの名無しさんNGNG
>817
Windowsの共有フォルダの話かい?
ベタな方法だが、NET USEをドライブ名を指定せずに実行するとか。
スタートアップに放り込んでおけばいいんでない?
DOS窓出るけど。
0848デフォルトの名無しさんNGNG
>>846
ひとつ前の状態を覚えていて自前で戻す。

そもそもどんなコントロールを使っているフォームかをはっきりさせずに以下略
0849デフォルトの名無しさんNGNG
>>845
言っている意味がよくわからないけど、
r.fields(hoge)
じゃだめか?
0850デフォルトの名無しさんNGNG
連れ(日本から出張中)が台北にいて、日本語と中国語(繁体字)も表示したいらしいけど、できなくて困っているみたい。
EXCELにある単語を貼り付けた時点で文字化けするらしい。
VBのフォントを中国語の物に変えてもダメだそうな。
フリーのエディッタとかでは表示できるらしいので、VB側の問題なのかなぁ。
0851デフォルトの名無しさんNGNG
ラベルだけだったら、画像を貼るという手もある。
が、入力は対処できないだろ。
0852デフォルトの名無しさんNGNG
値渡しの仕方が良く分からん。てか、渡す意味が良く分からん。
尚、このレスはただの愚痴ですので激しく、なおかつ軽やかにスルーして下さい。
0853デフォルトの名無しさんNGNG
>>852
ぶぅぁぁぁぁぁぁっくぅあ
0854デフォルトの名無しさんNGNG
Dim obj As Object

Set obj = Controls.Add(Name , "Hoge")
obj.Parent = Picture1
obj.Visible = True

動的に生成したコントロールをPictureの上に乗せたいのですが
obj.Parent = Picture1
がエラーになってしまいます。どうしらたいいのでしょうか?
0855850NGNG
>>851 さん
 今は、まさにその状態で、画像ではどうしても対応しきれなくなってきているらしいです。
入力は、いらないらしいのでソースコードにでも直接コピペ出来ればOKみたいです。
0856デフォルトの名無しさんNGNG
Setup.exe
このファイルを事故するとOSが起動しなくなります。
皆さんもお試しくあださい。
0857デフォルトの名無しさんNGNG
>>856
外人
0858デフォルトの名無しさんNGNG
>>854
Set obj.Container = Picture1
obj.Visible = True
で解決しました
0859デフォルトの名無しさんNGNG
ラベルコントロールの表示倍率って変えられるんでしょうか?
0860デフォルトの名無しさんNGNG
HTMLをXMLに変換するライブラリを作りたいのですが、
すでにそういうライブラリってありますか?
もしくは、そのライブラリを作る為に役立ちそうなライブラリでも結構です。
また、お勧めのライブラリ(なんでも)あったら教えてくださいー。

お願いしますー。
0861843NGNG
>>844 サンクスコ(=゚ω゚)ノ
0862デフォルトの名無しさんNGNG
>>850
たしか、VBの文字列型は実にハンパな仕様で、シフトJISで文字じゃない文字、
例えば制御コードにあたるようなものを入れると、ぬるぽに変換されて格納される気がする。
そこらへんの問題じゃないのかな?バイト型を使えば、とりあえずバイナリの一致はできるけどさ。
文字コードは詳しくないのでパス
0863デフォルトの名無しさんNGNG
>>862
普通の制御コードは保持されるけど
ユニコードとANSIコードページの間で変換できない文字の場合は悲惨なことになるな
0864デフォルトの名無しさんNGNG
>>789
私のことはどうでもいいので、仕様変更にするかこのまま納入させていただけるか、早く決めてくださいね。
0865デフォルトの名無しさんNGNG
>>831
document 以下の構成について
解説などあるページをご存知ないでしょうか
0866デフォルトの名無しさんNGNG
>>865
あ、DOMってやつでいいのかしら・・・
0867デフォルトの名無しさんNGNG
さすがに>>859はどこからどう突っ込んだらよいものか。
とりあえず、ヘルプやマニュアルに載っている言葉で説明し直してください。
どこかの本に「表示倍率」と載ってるんだったらその本を紹介よろしく。
0868デフォルトの名無しさんNGNG
>859

表示倍率というプロパティは無い。
LabelのAutoSizeをTrueにして、自分で好きにフォントサイズを変えれ。
0869デフォルトの名無しさんNGNG
>854

その行は省いて、

Set obj = Controls.Add(Name , "Hoge", Form1.Picture1)

とかで、いけると思うぞ。
0870デフォルトの名無しさんNGNG
>>869
なるほど!どうもありがとう。
0871デフォルトの名無しさんNGNG
おれベンチャー起こそうと思うんだけどな。
0872デフォルトの名無しさんNGNG
んじゃ、明日5:00に起こしてくれ・・
0873デフォルトの名無しさんNGNG
変数がオブジェクトを参照しているか否かを判定するには、どうすれば良いですか?

Public Sub SetObj(ByRef o As MyObj)

   'ここでoがオブジェクトを参照していれば
   Set Obj = o
   'みたいなことをやりたいです

End Sub
0874デフォルトの名無しさんNGNG
>>873
if o is nothing then
else
endif
でいいか?

>>871
じゃぁVCスレ逝け。
0875デフォルトの名無しさんNGNG
>>874
即レスありがとうございます。
0876デフォルトの名無しさんNGNG
>>874
> じゃぁVCスレ逝け。

うまい !!
0877デフォルトの名無しさんNGNG
ventureじゃないのか?
いや>>874が洒落て言ったのか
VBじゃ無理ってことで言ったのかわからんが・・・
0878デフォルトの名無しさんNGNG
ベンチャーいうたらVB(Venture Buisiness)ってネタなんじゃねーの?
>>871は。それがおもしろいかどうか別として。

そう考えると>>874の何がうまいのかさぱーりわからん。自演?
0879デフォルトの名無しさんNGNG
Venture Capitalというのもあるわけだが。
0880デフォルトの名無しさんNGNG
>>850>>855
なにをやりたいのかな?

「ソースコードに直接コピペでもいい」って事は、VBで作った
アプリのフォーム上に日本語と中国語(繁体字)を同時に表示
したいのかな?

繁体字は試してないんだけど、Windows2000で簡体字中国語
と、日本語を同時に表示する技ならよく使ってるよ。
0881デフォルトの名無しさんNGNG
Outlookとかでメールを保存したら出来るファイルで〜.emlって言うのがあるけど
VBからaaaa.emlファイルを開いて宛先にメールアドレスと件名に文字列を
自動的に入れて開くにはどうすればよいですか!?
0882デフォルトの名無しさんNGNG
>>881
取り敢えず、なにをしたいのかが読み取れないんだけど…

届いたメールに対して自動返信したいのけ?
0883デフォルトの名無しさんNGNG
>>871
そうか、よかったな
0884850NGNG
>>880さん

そうです。フォーム上に日本語と中国語を表示したいです。
何か特別な技があるのでしょうか?
0885デフォルトの名無しさんNGNG
>>884
俺はWindows2000でしかチェックしてないので、使えるか
どうか分からんが書いておく。

(1)開発に日本語版のWindows2000を使ってるなら、コントロー
ルパネルの「地域のオプション」の中にある「既定値の設定」
で、簡体字なら「中国語(中国)」、繁体字なら「中国語(台湾)」
に設定して再起動する。

(2)アプリ側は、Font.Charsetプロパティと、Font.Nameプロパ
ティを中国語が表示出来るようにする。例えば、簡体字なら、

hoge.Font.Charset=134
hoge.Font.Name="NSimSun"

って感じ。繁体字ならCharsetは136だね。フォントはMingLiU
辺りが使えるかと。フォント名は1バイトの名前で記述しとけば
文字コードの影響をかわせる。

で、(1)の環境で実行すれば、表示は、日本語と中国語が
混在して表示出来る。中国語の文字セットに平仮名やカタ
カナが入ってるので、見た目混在が可能になるのよ。

ただ、真面目にコード変換している訳じゃないので、表示の
みだと思った方がいいかも。
0886デフォルトの名無しさんNGNG
>>882
例えば、デスクトップとかにひな型(宛先と件名が空の状態)となるTemplate1.emlのファイルを
作っておいて、VBからメールアドレスと件名を指定すると、そのTemplate1.emlの宛先と件名に
自動的に入力されて開かれるってのをしたいのです。
なんか、説明下手ですけど、よろしくお願いします。
0887デフォルトの名無しさんNGNG
>886
> 自動的に入力されて開かれる

だから、最後は「何で」開くのか?OLか?VBなのか?
もう少し分かり易く書かないと、ロクなレスが付かないぞ。
0888デフォルトの名無しさんNGNG
>>887
ごめんなさいです。
基本的には、Outlookで開きたいです。
ただ、emlに関連付けされたソフトで
開ければそれでいいです。
0889デフォルトの名無しさんNGNG
>>888
これでいいのか?

mailto:shiroyagi@domain?Subject=さっきのお手紙&body=ご用事なあに?
0890デフォルトの名無しさんNGNG
SP5で終わると思っていたところSP6が出ておどろいたのはオレだけ?
0891デフォルトの名無しさんNGNG
.netへ順調に移行させるため、XPで不具合を抱えてるSP5じゃまずいと思
ったんでないかな?
0892はちみつ三郎NGNG
テキストエディタを作っています。
ほかのものを見ると、よくタブの間隔を設定できますよね。
あれをやってみようと思ってるんですけど、どうもうまくいきません。
調べてみると、SendMessageでEM_SETTABSTOPSを送ってやるといいそうなのですが。
コピーして関数を作ってみたんですが、これではタブの間隔が設定値どおりにいかないし、しかもばらばらなんです。
いまいちわかっていないのですが…どこがいけないのか教えてください。。

'水平ダイアログボックス単位を取得
lngHorizonDialogBoxUnit = (GetDialogBaseUnits And &HFFFF&) / 4

'タブ位置を格納するバッファを確保
ReDim lngTabsArray(argTabStops)

'タブストップ位置を10ダイアログボックス単位間隔に指定
For lngLoopCount = LBound(lngTabsArray) To UBound(lngTabsArray)
lngTabsArray(lngLoopCount) = (lngLoopCount + 1) * (10 * lngHorizonDialogBoxUnit)
Next lngLoopCount

With argTextBox
'既存のタブストップを解除
lngWin32apiResultCode = SendMessage(.hWnd, EM_SETTABSTOPS, 0, vbNullString)

'新しいタブストップ位置を設定
lngWin32apiResultCode = SendMessage(.hWnd, EM_SETTABSTOPS, argTabStops, lngTabsArray(0))

'テキストボックスを強制的に更新
.Refresh
End With
0893デフォルトの名無しさんNGNG
>>892
戻り値は? ばらばらというのは具体的にどうなる?
中途半端にソースを晒すより、どこを変えたのか、書くほうがわかりやすい。
ttp://vbvbvb.com/jp/gtips/0701/gSendMessageEmSettabstops.html
0894デフォルトの名無しさんNGNG
PictureBoxにUNDO機能って使えないの?画面のバックアップ取りながらやれば
できたんだけど、もし使えるならUNDO使ってみたい
0895デフォルトの名無しさんNGNG
>>894
俺の知る限り、標準の機能としてサポートされてない。
0896デフォルトの名無しさんNGNG
「:=」の意味がわからーん!!
MSのヘルプもgoogleも検索にひっかからん。
教えて
0897デフォルトの名無しさんNGNG
>>896
It feels without thinking : )
0898デフォルトの名無しさんNGNG
>>896
名前付引数?
0899デフォルトの名無しさんNGNG
a:=1

Delphiとか こう記述するよな。
0900896NGNG
名前付き引数で調べたらわかりました。
VB初めて2時間で挫折するとこだった。
ありがドゥ
0901デフォルトの名無しさんNGNG
お願いします。
0902デフォルトの名無しさんNGNG
伝票発行のため、DBから読んだデータを印刷したいのですが…
出力幅の狭いところに出力したいため、
Format((Main_Table("列名")), "####,##0") とし、
たとえば 5555555 の場合
"5555,555" と表示させたいのですが、なぜか
"5,555,555" というように普通の3桁区切りになってしまいます。
自由にコンマを入れるにはどうしたらよいでしょうか。
0903デフォルトの名無しさんNGNG
text1やlabel1の「1」の部分を変数で指定することは
可能でしょうか?
テキストBOXが3個あったとしてtext1,text2,text3と
したときにfor〜nextでテキストBOXに順番に表示させていきたい
のですが、なかなかうまくいきません。
text & (n)とかいろいろ試してみたのですが無理でした。
どうぞご教授お願いします。
0904903NGNG
↑の質問ですけどコントロール配列は無しで
お願いします。
0905デフォルトの名無しさんNGNG
>>902
????
「自由にコンマを入れるには」自由にコンマを入れればいいんじゃないの?
たとえば、"###,###,###,###,##0"とでもすればいいんじゃないの?

>>903
お願いだから入門書の一冊でも買って読んでください。
どんな腐れ入門書でも、そういうこと実現するにはどうすればいいか
書いてあるはず。

いくら質問スレっていっても、人に聞いて恥ずかしいこととそうでないことが
あるでしょ。
0906デフォルトの名無しさんNGNG
>>903
じゃあヒントだけ教えてやるよ。

ヒント:Contorolsコレクション
0907デフォルトの名無しさんNGNG
7つのセグメントを使ってデジタル数字が表現できますよね。
これが写っている画像から、その数値を読み取る(=デジタル数字のみOCR)ための
既存のライブラリなどはありますでしょうか?御存知の方御教授下さい
0908デフォルトの名無しさんNGNG
>>902
Left$ とか Mid$ とか Right$ とかで区切って適当にカンマをはさんで文字列連結
0909はちみつ三郎NGNG
>>893
中途半端でしたね。。
戻り値はなしで、参照渡しのテキストボックスに直接設定します。
対象のテキストボックスと、間隔の数(long)を引数にしました。
a,Tab,b,Tab,c,Tab,d,Tab,e...と入力して間隔を4にした場合、
よっつめのTabまでは間隔が4でいつつめが3、むっつめが7というように定まりません。
なぜなんでしょうか…
0910デフォルトの名無しさんNGNG
HTTPでGETする記述どこかに載っていないでしょうか?
0911デフォルトの名無しさんNGNG
>>910
そこらじゅうに載ってます。
0912ぷちNGNG
VBではなく、N88日本語ベーシックなんですが。。。。
INPUT文は、数字しか入力できないんですか?
文字を入力したら、必ず"0"が出力されるんですが、
文字を出力する方法があれば教えてください 
0913デフォルトの名無しさんNGNG
ActiveXですが、ShellExecuteなどで実行するファイルの引数に
Webサーバ上の同じディレクトリにあるファイルを指定したいのですが、
どうしたらいいのでしょうか?
どうしてもローカルPC上のファイルになってしまいます。
0914デフォルトの名無しさんNGNG
>>912
できますよ。
0915デフォルトの名無しさんNGNG
>>912
$をつけてないだけじゃないかと思うんだが、気のせいだよね。
ttp://homepage3.nifty.com/skis/n88/n88-INPUT.htm
0916デフォルトの名無しさんNGNG
VCでclassをexportするDLLを作り、
これをVBから使用する方法があれば教えてください。
よろしくおねがいします。
0917デフォルトの名無しさんNGNG
>>916
どぞー
http://www.google.co.jp/search?hl=ja&ie=UTF-8&q=VC+DLL+VB&lr=lang_ja
0918843NGNG
>>892
lngTabsArrayの定義してある数が足らんと見た。
テキトーに大きな数を設定しておくと、わりと大丈夫でつ。

イカソース。

'TABを設定する個数を自力で定義
argTabStops = 100      '←これ

'タブ位置を格納するバッファを確保
ReDim lngTabsArray(argTabStops)

'TAB幅の設定↓4TABなら"8"、8TABなら"16"になる
lngTAB幅 = (lngA_Indent * 2) * lng_HorizonDialogBoxUnit

'タブストップ位置を10ダイアログボックス単位間隔に指定
For lngLoopCount = 0 To argTabStops
  lngTabsArray(lngLoopCount) = (lngLoopCount + 1) * lngTAB幅
Next lngLoopCount
0919デフォルトの名無しさんNGNG
VB6でDataReportを使おうと思っています。
試しにData Reportを追加して、テキストを貼り付けて、
表示してみようとしたのですが、「データソースが無効です」
といわれます。Data ReportはRecord Setが無いと使用できないのでしょうか?
0920デフォルトの名無しさんNGNG
>>907
サイズが固定なら、7箇所調べるだけ。
これを文字数だけ繰り返せばいい。

サイズがフリーのはちょっと面倒。
公開とかされてないと思う。
0921デフォルトの名無しさんNGNG
>>909
lngWin32apiResultCode が戻り値だよ。
その書き方だと、タブについてちゃんと理解してるかどうか疑問。
0922デフォルトの名無しさんNGNG
VB5.0でWINNT4.0で開発しています。
clipboard.clear
clipboard.settext strWork
msgbox "コピーしました。", vbinformation

というコードを実行するexeを作って
win2kで実行すると

---------------
コピーしました。
--------------
OK
---------------

というような、あたかもメッセージボックスの
内容をコピーしたようなテキストが
クリップボードに格納されます。
なぜでしょう?
0923デフォルトの名無しさんNGNG
strWorkには何が入ってたんだ?
0924デフォルトの名無しさんNGNG
なにかメッセージボックスを出して
Ctrl+Cをしてみてテキストエディタに貼り付けてみてください。
メッセージボックスのイメージがテキストとして貼り付けられます。
これが実行されてしまうようです。
0925デフォルトの名無しさんNGNG
Public Property Set Hoge(RHS as Hoge)

というのは、問題ないですか?常識的に。
クラス名と同じプロパティー名なんですが…
0926デフォルトの名無しさんNGNG
N88-BASICその他レガシーBASICでは一般に
INPUT ステートメント: Enterまでの文字列を読み取り変数に記憶(scanf)
INPUT$ 関数: 直後に入力した1文字を文字列変数に記憶(getc)
INPUT # ステートメント: ファイルからカンマ区切りで文字列を読み取る。

INPUT ステートメントでは、変数に数値型も文字列型も指定できる。ただし数値型変数を指定しておいて数値と判断できない文字列を入力するとエラーになる処理系と0を返す処理系とがあり、N88-日本語BASIC(86)は忘れちゃったんですがN88互換BASICでは0を返す。

というわけで結論から言うと変数に$付けて文字列型にしましょう。あるいはDEFSTR。
10 DEFINT A-Z
20 INPUT A
30 INPUT A$
40 PRINT "A=";A
50 PRINT "A$=";A$
このときA(A%)とA$は別の変数として扱われるから注意ね。
0927デフォルトの名無しさんNGNG
MDIフォームのプロジェクトで、外部プログラムを
子フォームとして起動する方法はないもんでしょうか?
0928デフォルトの名無しさんNGNG
>>927
それはVBにエミュかOSになれといってるようなものじゃないか?
普通にVBとかじゃなくても無理。
0929デフォルトの名無しさんNGNG
日付の変換をしようと思ってるのですが
2004/06/22
 ↓
20040622
のように/を抜いて変換するにはどうすればいいでしょうか。。

初心者の質問ですみません。。
検索しても単純すぎるせいかなかなか引っかからなくて困ってます。
0930デフォルトの名無しさんNGNG
Replace
0931デフォルトの名無しさんNGNG
>>917
ここにくるまえにかなりぐぐったんですが結局できないようですね。
おせわかけました
0932ドンがばNGNG
あるフォルダの中にたくさんあるOutlookのテンプレートファイル(.OFT)をリストに表示して、
選択したらその内容をプレビューで表示したいと思っているのですが、メッセージ部分を表示
するプレビューウィンドウ(編集不可)を自分のソフトに付けることは、VB6で作成可能で
しょうか?もし可能なら方法を教えていただければ幸いです。
0933はちみつ三郎NGNG
>>918
ありがとうございます、ためしてみます!!
家のマシンには開発環境入れてないので、明日会社でやってみます!
今日は忙しくて趣味のほうまで手が回りませんでした。。


>>929
Replace関数で"/"を""に置換するのはどうでしょう。
0934デフォルトの名無しさんNGNG
1列20行のレコードセットを20個のラベル(コントロール配列)に
それぞれ表示したいのですが、何か良い方法ないでしょうか?
0935デフォルトの名無しさんNGNG
>>927
SetParentなんかのAPIとあれこれ
VBでやるようなことじゃないな、きっと
0936デフォルトの名無しさんNGNG
>>929
あとFormatを使うってのもある
日付の形式を変えてくれって言われる可能性があるならそっちの方がよいかも
0937デフォルトの名無しさんNGNG
vbだけで時給いくらもらえますか?
0938デフォルトの名無しさんNGNG
>>929
CStr(Year(Date)) & CStr(Month(Date)) & CStr(Day(Date))

>>930>>933
日付の形式は、ロケールによって変化するから、単純に
Replace関数で置換するのは頂けない。

まぁ日本語ロケール限定、ってのであればいいかもしれない
けど。
0939デフォルトの名無しさんNGNG
>>937
おまい次第。
求人サイトで検索してみそ。
0940デフォルトの名無しさんNGNG
>>937
まぁ一時期よりはいいかも
それでもコントロール使えりゃ2000円〜じゃないかな
HTMLみたいに暴落はないだろうと思うよ(w
ただデジタル土方系は技術革新は早いから、
社員の方がそういったものに対しては対応はいいんじゃないかな(余計なお世話か)
0941929NGNG
レスありがとうございます。
CStr(Year(Date)) & CStr(Month(Date)) & CStr(Day(Date))
でやってみると
2004/06/22
 ↓
2004622
となってしまったので

strDateに日付を突っ込んで
Format(strDate, "yyyymmdd")
とすることで解決しました。

CStrやYear,Month,Day、Format、Replaceの使い方を覚えられてよかったです。
ありがとうございました。
0942デフォルトの名無しさんNGNG
>>927
外部プログラムをActiveX EXEとして作っておけば
MDIの子フォーム内に貼れるよ
0943デフォルトの名無しさんNGNG
Listボックスの内容を保存するにはどうしたらいいでつか
0944デフォルトの名無しさんNGNG
>>943
List.SaveFile "Filename.txt"
0945デフォルトの名無しさんNGNG
>>941
元が文字列の”2004/06/16”ならば、MID関数で切り出せ。
不要な文字->日付->文字の型変換はすべきではない。

あと、strDateが文字列型で、それに日付型を代入しているとしたら、その時点で型変換が行われてしまっている。
その代入時点でFormatすること。
0946デフォルトの名無しさんNGNG
>>943
SaveFileというメソッドが無いって怒られますた。

Dim j, max As Integer
max = List1.ListCount
Open "C:\Windows\File1.txt" For Output As #1
For j = 1 To max
Write #1, List1.List(j - 1)
Next
Close

これで一応保存できたのですが、行数が多いとエラーが起こってしまいます。
行数が多いListBoxの保存方法をおしえてくださひ・・・
0947デフォルトの名無しさんNGNG
>>946
>Dim j, max As Integer

だめだこりゃ
0948デフォルトの名無しさんNGNG
>>947

Longに変えてみたのですがだめでした。。
途中でエラーが出ずにフリーズしてしまっているのですが
何が原因でしょうか。
0949デフォルトの名無しさんNGNG
oo4oはORACLE_HOMEに対応してないってほんと?
0950デフォルトの名無しさんNGNG
>>948
リストボックスの上限
0951948NGNG
事故レス

コードの書き方が間違ってました・・
947さん助言サンクスです。
0952デフォルトの名無しさんNGNG
>>949
配布がDLLであること。
参照するオブジェクト名が同一であること。

上記を考えると、別バージョンのOO4Oを別認識できないように思える。
だもんで、対応はできないと思う。
0953デフォルトの名無しさんNGNG
ビットマップの角度を自由に変更したい時GetPixel・SetPixelV以外を使う方法は
ないでしょうか?
>ttp://homepage1.nifty.com/MADIA/vb/vb_bbs/200104_01040009.html
こちらのページのサンプルを利用して実際にやってみたのですが、かなりスロー
でした。できればもっと高速にしたいのですが。
ページの下の方にGetDIBits/SetDIBitsを使うと高速になるとあるのですが、
こちらを使ったサンプルが見れるようなサイトを教えてもらえるとありがたい
です
0954デフォルトの名無しさんNGNG
>>953
サンプルもいいけど自分でAPIをいじられるように
勉強した方がいいんじゃないのか?
0955デフォルトの名無しさんNGNG
画像は正しい知識がないと危険だからね。
APIにしてもきちんと扱えないとリークしまくりのソースが完成するし。

下手なAPIよりは、条件が許すならばコントロール買ったほうが早いし安全。
0956デフォルトの名無しさんNGNG
>>952
やっぱりですか(´・ω・`)
くまった。
0957デフォルトの名無しさんNGNG
File=1234
DATA=123,111,1234,22222,3212

というテキストファイルからDATAの部分だけ抜き出して

123
111
1234
22222
3212

のように出力したいのですが、どうしたらよいでしょうか。
1byteずつ読み込む方法も考えたのですが、DATAの部分がかなり多く
処理に困っています。どうかご教授ください。
0958デフォルトの名無しさんNGNG
>957
「DATA=」以降をMidで切り出して
「,」でSplitして配列化して
あとはFor〜To〜Nextで回して出力しろ。
0959デフォルトの名無しさんNGNG
>>958
DATA=の切り出しもSplit(Limit:=1)でいけるで。
0960デフォルトの名無しさんNGNG
ディストリビューションウィザードで
ActiveXのcabファイルを作ったのですが、
実行しても追加したファイルをPCにコピーができません。
infの編集が必要なのでしょうか?
0961はちみつ三郎改めはちみつ六郎NGNG
>>918
ありがとうございます、いけました!!
TabStopってばらばらにも設定できるってことですねー。

0962デフォルトの名無しさんNGNG
先生方、質問です。
今 PictureBox に Clibboard.GetData で時間によって変化するBMPが表示されています。
やりたい事はこの画像の「指定ピクセルのRGB値の一定時間毎の取得」です。

APIのGetPixel、あるいはPicture1.Point(X,Y)でRGB値の取得はできるのですが、
これは画像が画面上に表示されてる時のみ有効な様なのですが、そんなものなのでしょうか?
つまり他のダイアログで当該画像を見えなくすると、有効な値が得られないのです。

これでは上記「一定時間毎」の条件を満たすのが困難です。
プログラム動作中に他の作業もやりたいので、画像は隠れているのが前提ですし、
取得の度に最前面に画像をもってくると、その度に他の作業の邪魔になります。

これを解決する良い手立てはありますでしょうか?
一定時間毎に画像を保存し、ファイルを直接解析するのが良いかもと思いましたが、
BMPの解析をどう実装したらいいのか見当がつきませぬ。

何卒お知恵を貸して下さいませ・・・
0963デフォルトの名無しさんNGNG
>>962
おーとりどろーはTrue?
0964962NGNG
>>963
お返事ありがとうございます。
御助言に従いまして、AutoRedrawをTrue(Falseでした)にしたところ、

・・・何ということでしょう!隠れたPictureBoxのpixelのRGB値が取得できるではありませんか!

先生、本当に感謝です。ありがとうございました!
そして私の勉強不足を痛感致しました。今後精進致します。
0965教えて!!NGNG
----VB側の宣言-----------------------------------------------------------
Public Declare Sub ReadBinData Lib "VBDLL.dll" (ByRef PathName As String)
----VB側-----------------------------------------------------------------
Call ReadBinData(PathName)
----VC側-----------------------------------------------------------------
int ReadBinData(char file_name[])
----.def-----------------------------------------------------------------
EXPORTS
ReadBinData@1
-------------------------------------------------------------------------
VC側というのは、.cppではなく.cで作成したものです。
VB側からVCの関数を呼び出す際に、ファイル名などを上記のように送ると、
エラーが出てしまいます。引数を無くすと上手くいきました。
何か、いいサンプルやアドバイスがありましたら、どなたか、教えてください。
0966デフォルトの名無しさんNGNG
エラーはどのレベルで出るのでしょうか?
VC側をデバッカ起動して張ってみれば?
0967デフォルトの名無しさんNGNG
>>965
VB側を
Byval PathName As String

VC側を
int _stdcall ReadBinData(char *file_name)

こんな感じだった気がするけどよく思い出せない。
0968デフォルトの名無しさんNGNG
初心者で申し訳ない。バイナリ読み出しに関する質問です。

get文でバイナリファイルからintegerで読み出しました。
2バイトずつ読んでると思います。
ところが出力を見ると「00×01」を格納された値が1ではなく256になっています。
つまり、「00×01」を「01×00」と読んでいるわけです。

vbではbyte単位で読んで、自分でひっくり返すしかないのでしょうか
自分の読み方が何かおかしいのでしょうか?
コードは以下のとおりです。

dim n as Long
dim a() as integer
dim fl as string

fl="c:\temp\test.a"
Open fl For Binary As #1

Do Until EOF(1)
n = n + 1
Get #1, , a(n)
Loop
close #1

fl="c:\temp\test_res.a"
Open fl For Output As #1

 For i=1 to n
Write #1,a(i)
Next i
close #1
0969デフォルトの名無しさんNGNG
>>968
リトルエンディアンとビッグエンディアンでググってみると何かヒントがあるかもしれない。
0970教えて!!NGNG
早速の返信ありがとうございます。
デバッグではVC側に入れまして、
file_nameに確かにVBで指定したファイル名が入っているのですが、
ファイルポインタfpに値が入らず、エラー終了してします。
VB側の呼び出し方は
Call ReadBinData(PathName)
でよろしいのですか?
バイナリファイルのオープンが上手くいきません。
fpに値が入らないのです。
デバックも実行時のエラーもありません。

int ReadBinData(char file_name[])
FILE*fp;
if((fp = fopen(file_name,"rb")) == NULL )
{
//printf( "InFile Open Errer!\n" );
return -1;
}
ここで、ファイルオープンエラーになり終了してします。
0971968NGNG
>>969
サンクス、即ググル。ありがトン
0972デフォルトの名無しさんNGNG
>>970
VB側の文字列を固定長にしたらどうでしょうか?
あと、VCに渡った文字列はNULL止めされてますか?

文字列の受け渡しはMSDNの中に記述があったはずなので、それを参照してみては?
0973968NGNG
968の続きで再び質問なんですが、MAC並びのバイナリをintelマシンの
vbで読み出すことになるわけですが、どうやるんでしょうか?

試しにOpenコマンドの最後にLen節をつけてLen=2を追加してみたのですが、
相変わらずです。こういうことじゃないんでしょうか?

スンマセンがお願いします。
0974デフォルトの名無しさんNGNG
>>973
htons htonl ntohs ntohl などがあるが、自力で変換するのもいいと思う
0975デフォルトの名無しさんNGNG
VBのGetステートメントでInteger型を読み出そうとするとどうしてもリトルエンディアンで読んでしまいます。
これをビッグエンディアンで読み出す場合は、Byte型の変数を2つ用意し、

(略)
Dim B(0 to 1) as Byte

(略)
Get #1, , B(0)
If (Not EOF(1)) Then
Get #1, , B(1)
a(n) = CInt("&H" & Right("0" & Hex(B(0)), 2) & Right("0" & Hex(B(1)), 2))
(略)
End If
(略)

というようにすればByte型(0〜255)とInteger型(-32768〜32767)の符号関係も考える事なく読み込む事ができます。
0976デフォルトの名無しさんNGNG
>>975
たしかにそうなんだけど、ファイルがでかいとすごく重そうだナ
直接MoveMemなどでやりたい所だ
0977975NGNG
>>976
それはその通り。
オレは関数の説明とかするのが嫌いな面倒くさがりなだけ。
0978968NGNG
>>974-976 皆さん、コードまで書いてくれてありがトン

調べられることは、とことん調べます。

で、MoveMemってAPIかと思ってMSDNで引いたのですが出てきません。
書式なんかは検索すりゃ分かるとして、これはそもそも何なんでしょう?
(今回、カナーリ教えて君で申し訳ない)
0979デフォルトの名無しさんNGNG
>>978
出てこないというのはヘンだが
ttp://homepage1.nifty.com/MADIA/vb/API/MoveMemory.htm
0980968NGNG
>>979
やはりAPIだったか。サンクス。
このページは自分もお気にに入れてるっす。

おかげで今日一日ケコーウ勉強になった。
0981デフォルトの名無しさんNGNG
うーん、これぐらいのことでAPI使う必要あるかなあ。
>>975は論外として、VBの機能だけでやるとしたらこんな感じか?

If B(0) And &H80 = 0 Then
I = B(0) * 256 + B(1)
Else
I = ((B(0) And &H7F) * 256 + B(1)) Or &H8000
End If
0982デフォルトの名無しさんNGNG
>>968
>>975
>>981
((B(0) And &H7F) * &H100 + B(1)) Or CInt((B(0) And &h80) = &H80) and &H8000
0983デフォルトの名無しさんNGNG
質問です。
テキストボックスに入りきらない長さの文字列を
自動でスクロールさせて表示させたいのですが、
VBにはそういう機能ってあるんでしょうか?
0984デフォルトの名無しさんNGNG
ない
0985デフォルトの名無しさんNGNG
ないんですか・・・

地道にタイマーで文字列切り貼りして頑張ります。
ありがとうございました。
0986デフォルトの名無しさんNGNG
ちうか、なぜテキストボックスの文字列をスクロール
表示させたいんだろう?

何をしたくてスクロールに行き着いたのかが非常に
興味ある今日この頃。
0987デフォルトの名無しさんNGNG
>>986
アンカー使って文字が流れまくるトホホなウェブサイトみたいなことしたいんでしょ。
わたしゃ、そんな糞アプリ速攻でアンインストールするけど。
0988デフォルトの名無しさんNGNG
おっと、アンカーじゃなくてマーキーだね。失礼。
0989デフォルトの名無しさんNGNG
ラベルはどのように宣言すればいいのですか?
0990デフォルトの名無しさんNGNG
HTMLメールの内容(画像付き)を表示したいのだけど、
WebBrowserとかのコントロールで表示すること出来ますか?
メールの送受信は出来たけど、受信したのを開くことが出来ないっす。
HTML形式に変換とかしないといけないのかな?

0991デフォルトの名無しさんNGNG
>>986
電光掲示板みたいなアプリ作ってるんですが、
HTMLのトホホなウェブサイトみたいに楽にできないかなぁと(汗
それだけです。すいません。
0992デフォルトの名無しさんNGNG
そろそろ次スレたててくれ
と他力本願してみるテスト
0993デフォルトの名無しさんNGNG
>>991
PictureBox1 の中に PictureBox2 を作成し、PictureBox2 の枠を消して、
PictureBox2 に文字を書いて、PictureBox2.Leftプロパティ か PictureBox2.Topプロパティ でスクロールさせろ。
0994デフォルトの名無しさんNGNG
新スレ

VBプログラマ質問スレ(6.0以前) Part 35
http://pc5.2ch.net/test/read.cgi/tech/1087519251/
0995デフォルトの名無しさんNGNG
>>991
Web Browser コントロール使う。
0996デフォルトの名無しさんNGNG
うめーーーっシュ
0997デフォルトの名無しさんNGNG
うめ うめこです。
0998968NGNG
>>981-982 サーンクス

礼しか言うこと無くて申し訳ないが、
どうせ埋めるだけならお礼だけでも言っとく
0999デフォルトの名無しさんNGNG
imada
1000デフォルトの名無しさんNGNG
1000ゲット
10011001Over 1000Thread
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。