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

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

■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん2006/02/03(金) 22:58:33
VisuarlStudio
0593デフォルトの名無しさん2006/02/12(日) 22:41:01
>>591
おいおいマジかよw
0594デフォルトの名無しさん2006/02/12(日) 22:41:15
>>591
変数名は人間のためにあるものだよ。
人間がA0001、A0002、A0003・・・とかいう変数名を使えば
スコープなんて要らない。

人間のためにわかりやすい変数名を使えるようにしたから
名前が重なったときに解決するためのスコープというものが出来た。
0595デフォルトの名無しさん2006/02/12(日) 22:42:04
>>592
だったら解決じゃん。いちいちそんな確認が必要なソースなんて書かないのが普通。
だから>>540なわけで。
0596デフォルトの名無しさん2006/02/12(日) 22:43:11
>>592
そういう場面って?
たとえば一つの関数内で、違う意味で同じ変数名を使いたいって事?
意味が違うのに???
0597デフォルトの名無しさん2006/02/12(日) 22:43:35
>>580
はいはい、わかったわかったw
オレがVBしかやったこと無い人ってことにしといていいし
君は、とても複雑で高度で難解なコードをたくさん書けるスーパーハカーでいいから、
早く同名の変数であふれかえったコードを書く作業に戻ってくれw
0598デフォルトの名無しさん2006/02/12(日) 22:43:37
>>594
スコープはあくまで言語を成立させるためのルールであって、
必ずしもそれを推奨してるわけじゃないからね。
どっちをとるか決めないと言語として成立しないし、コンパイラだって書けないし。
0599デフォルトの名無しさん2006/02/12(日) 22:46:23
>>597
> 早く同名の変数であふれかえったコードを書く作業に戻ってくれw
違う関数・オブジェクトでは同名の変数たくさんあるけどなw
全部違う名前にするなんて人間には不可能だし。
多人数で作業していればなおさら。

だからスコープというものがあって、
名前が被っても問題ないようになっているんだけどね。
VBを含めてほとんどの言語が。
0600デフォルトの名無しさん2006/02/12(日) 22:46:41
>>594
変数名とスコープは全然違う物だけど。
0601デフォルトの名無しさん2006/02/12(日) 22:47:35
>>599
逆だよ。
0602デフォルトの名無しさん2006/02/12(日) 22:48:36
>>600
そうだね。
でもスコープというものは人間のために出来たということ。
名前が完全に一意であれば、スコープなんて必要ないから。
0603デフォルトの名無しさん2006/02/12(日) 22:48:49
>>599
だからそれは普通でしょ?
で、スコープが被る場面で同一の名称って何?っていってるわけで。
例えばフォームのheightと被るとして、その中の値って本当に単なるheightなのか?って。
何かに属するheightなら構造体のメンバーだし・・・ってそれに全く答えてないよね。
自分のクラスわけが間違っていないって前提が間違ってるのに・・・。
0604デフォルトの名無しさん2006/02/12(日) 22:48:52
>>600
えー?
さすがにスコープと変数名別にしたらコンパイラ書けんでしょ。
0605デフォルトの名無しさん2006/02/12(日) 22:49:23
>>601
反論無いと信用されませんよ。
0606デフォルトの名無しさん2006/02/12(日) 22:50:46
このなかにコボラーがおる
おまえやろ
0607デフォルトの名無しさん2006/02/12(日) 22:50:51
>>599
>違う関数・オブジェクトでは同名の変数たくさんあるけどなw
んなの、あたりまえだろ
なんでプロジェクト全体でユニークにするなんて極論に行き着くんだよw
0608デフォルトの名無しさん2006/02/12(日) 22:51:02
>>603
あー。わかった。

> で、スコープが被る場面で
このスコープが被る場面ってのを具体的にどういうコードなのか言ってみて。
そうすれば、何を勘違いしているのか(みんなに)わかるだろうから。
0609デフォルトの名無しさん2006/02/12(日) 22:51:55
>>608
それを俺に聞くな。
俺は被らん派なんだから。
0610デフォルトの名無しさん2006/02/12(日) 22:53:21
被らん派ってのも意味がわからんw

どういうのが被らないのか、自分でわかっているから言えるんだよね。
どういう状態が被らないと言っているのか説明してみて。
0611デフォルトの名無しさん2006/02/12(日) 22:55:08
>>610
>>603に書いてあるだろ?
そのHeightなりってのが、そもそも他の何かに属するHeightであるならば、それは構造体のメンバー。
この時点でまず被らない。
そうじゃないとしても、何かのHeightだから、xxxHehghtとなるはず。
0612デフォルトの名無しさん2006/02/12(日) 22:55:13
やっぱ議論は会議室でやらないとな。
ホワイトボード使って。
0613デフォルトの名無しさん2006/02/12(日) 22:57:46
スコープの話と変数名の付け方の話、2つが流れてるのか?
0614デフォルトの名無しさん2006/02/12(日) 22:57:47
長々とやって結局命名規則の話かよ。

グローバル・メンバ・ローカル変数に名前が被らないように
プリフィックスをつける派とつけない派。

そういうことだろ?
0615デフォルトの名無しさん2006/02/12(日) 22:59:32
命名規則でもないだろ?
単なる高さじゃないものに対して、なんでもheightって命名する人って。
それをいっちゃー、変数なんてa,b,cでいいじゃんってのと同レベルと思うけど。
0616デフォルトの名無しさん2006/02/12(日) 22:59:33
>>611
構造体のメンバーとか何いってんの?

ぶっちゃけ、途中参加で過去スレよんでないのよ。
飯食い終わったから退場するよ。
0617デフォルトの名無しさん2006/02/12(日) 23:01:00
>>610
Public Height と Private Height と Dim Height が被ることは無い
Dim Height が異なる関数内で存在することは当然ある
話の発端が >>539 から来てるんだから、このくらいは理解しろよ
0618デフォルトの名無しさん2006/02/12(日) 23:03:36
>>616
死ね。
0619デフォルトの名無しさん2006/02/12(日) 23:03:45
>>617
ちょwwwおまwwwww
0620デフォルトの名無しさん2006/02/12(日) 23:05:49
>>617
ほうほう。

>>539
DimとPrivateは同じとして、

これからは、プライベートメンバ変数にはm_という
プリフィックスをつけるようにするといいよ。
君もm_のよさがわかったね!

※これはスコープに関するプリフィックスなので
型に関するプリフィックスであるハンガリアンではありません。
0621デフォルトの名無しさん2006/02/12(日) 23:08:48
どうでもいいけど、名前を変えずに>>539を解決できる言語って無いよな?
0622デフォルトの名無しさん2006/02/12(日) 23:09:33
いや。あるか。
0623デフォルトの名無しさん2006/02/12(日) 23:14:31
ないあるよ。
0624デフォルトの名無しさん2006/02/12(日) 23:21:41
ローカル変数、モジュール変数、グローバル変数

これって便利じゃん!!
0625デフォルトの名無しさん2006/02/12(日) 23:23:25
>>624
便利だね。
0626デフォルトの名無しさん2006/02/12(日) 23:29:18
祭に遅れた・・・



うんこは寝て食えっていうことですかね?
0627デフォルトの名無しさん2006/02/12(日) 23:35:50
MSXML2.XMLHTTPを使用してSendを実行した場合で、
タイムアウトだとどうなりますか?(エラーコードが帰ってきますか?)
0628デフォルトの名無しさん2006/02/12(日) 23:59:04
>>627
まずやってみろと。
0629デフォルトの名無しさん2006/02/13(月) 03:39:41
>>628
まず答えろと。
0630デフォルトの名無しさん2006/02/13(月) 09:17:43
>>629
答える為にはやらないといけない。
それよりも、質問者本人がやってみるのが一番早い。
二度手間。
0631デフォルトの名無しさん2006/02/13(月) 09:32:04
>>627は質問じゃないわな。作成依頼。
奇特な人がやってくれるでしょ?w

質問ってのは、どういう状態でどうだから、何が問題ってなるわけで。
0632デフォルトの名無しさん2006/02/13(月) 09:40:40
vbで自分のIPとデフォルトゲートウェイを変更するプログラムを
作りたいんですが、やっぱりWINDOWS API叩かないと駄目なんでしょうか
ググって見てもそれらしいものが見つけられなかったので
知ってる人がいたら教えてください
0633デフォルトの名無しさん2006/02/13(月) 10:46:51
>>631
だね。
自分でこんなコードでやってみたけどこうなった。何故?とかさ。
0634デフォルトの名無しさん2006/02/13(月) 11:01:53
>>632
取得ではなく列挙だけど・・・
長すぎて投稿出来ないので改行してあるけど、全部で一行です。
ttp://64.233.179.104/search?q=cache:V8ZwjmNGhmcJ:vbvbvb.com/jp/gtips/0151/gGetAdaptersInfoAddress.html
+%E3%83%8D%E3%83%83%E3%83%88%E3%83%AF%E3%83%BC%E3%82%AF%E3%82%A2%E3%83%80%E3%83%97%E3%82%BF
%E3%81%AE%E7%89%A9%E7%90%86%E3%82%A2%E3%83%89%E3%83%AC%E3%82%B9%E3%82%92%E5%88%97%E6%8C%99
%E3%81%99%E3%82%8B&hl=ja&gl=jp&ct=clnk&cd=1&lr=lang_ja
0635デフォルトの名無しさん2006/02/13(月) 11:04:21
ttp://support.microsoft.com/kb/q160215/
0636デフォルトの名無しさん2006/02/13(月) 11:08:29
>>632
win2kとかwinxpならipconfigさんを使った方がマシだとおもお
0637デフォルトの名無しさん2006/02/13(月) 13:01:40
>>632
routeコマンドを実行すればよい
0638デフォルトの名無しさん2006/02/13(月) 15:50:20
>>623
あるのかないのかどっちなんだ
お前は修羅か
0639デフォルトの名無しさん2006/02/13(月) 15:51:33
ないあるよ
0640デフォルトの名無しさん2006/02/13(月) 16:03:54
ttp://ex14.2ch.net/test/read.cgi/news4vip/1139796916/1/
この問題をVBで解いてよ。
0641デフォルトの名無しさん2006/02/13(月) 16:29:00
VB6でデータベース関連のプログラミングの勉強しています。
今までADOでMicrosoft.Jet.OLEDB.4.0を使いAccessと対話してたのですが
今回からADOでODBCデータベースと対話したいと思いぐぐってみたのですが
どうも接続するための構文がわからないためエラーがでてしまいます。
FromLoadに書く接続用の構文おしえてください。
おねがいします。

VB6で参照設定
Microsoft ActiveX Data Objects 2.1 Library
Win2kSP4でODBCのシステムDSNに
Microsoft Access Driverでデータソース名をODBCTestと言う名前で登録しています。

あとODBCデータベースをAのPCで実行しておき
BのPCからVBでデータベースにアクセスすることはできるでしょうか?
0642デフォルトの名無しさん2006/02/13(月) 16:30:10
>>641
http://www.connectionstrings.com/
0643デフォルトの名無しさん2006/02/13(月) 16:38:52
>>641
接続文字列の違いだけだな
ADO+ODBC+VB6でググッたら出てきたのがこれ↓

Microsoft OLE DB Provider for ODBC Drivers -> Provider=MSDASQL;User ID=<ユーザーID>Data Source=<データソース名>
Microsoft Jet 3.51 OLE DB Provider -> Provider=Microsoft.Jet.OLEDB.3.51;Data Source=<MDBファイル名>
Microsoft OLE DB Provider for SQL Server -> Provider=SQLOLEDB;User ID=<ユーザーID>;Data Source=<サーバー名>
Microsoft OLE DB Provider for SQL Server -> Provider=SQLOLEDB;User ID=<ユーザーID>;Data Source=<サーバー名>
Microsoft OLE DB Provider for Oracle -> Provider=MSDAORA; User ID=<ユーザーID>;Data Source=<データベース別名>

"->"の左側をデータソースに設定すれば使えるはず

後半の質問はしらね
データベースの種類によるんじゃない?って事で
0644デフォルトの名無しさん2006/02/13(月) 16:53:04
>>641
一度に一つのPCからしかアクセス出来ないDBなんて
使い物にならないが。
0645デフォルトの名無しさん2006/02/13(月) 16:54:03
Visual Basic 2005で
Dim DialogRet As Integer
のDialogRetってどう変えればいいの?
0646デフォルトの名無しさん2006/02/13(月) 16:54:44
>>645
マルチ子ね
0647デフォルトの名無しさん2006/02/13(月) 17:06:34
>>645
質問の意味が全く不明。
0648デフォルトの名無しさん2006/02/13(月) 17:08:01
>>643

ありがとうございます。
ConnectionStringの
Providerのとこがわかってなかった
orz

>>644

排他制御とかちゃんとできるのかが気になって・・・。
0649デフォルトの名無しさん2006/02/13(月) 17:17:25
>>648
それはDBMSの仕様とDBをオープンする時の設定。
「ちゃんと出来るのか気になる」んじゃなく、「自分でちゃんとやる」。
0650デフォルトの名無しさん2006/02/13(月) 18:28:17
VB6でMySQL4.1に接続して
テーブル"table1"にレコードを追加したいんですけど
MySQLには接続できるんですけど、新しいレコードを
追加できません。
エラーメッセージは
 Unknown column 'ID'in'fieldlist'
とでます。

Dim SQL As String
Dim ID As Integer
Dim name As String
Dim cmd As ADODB.Command

Set cmd = New ADODB.Command
ID = Text1.Text
name = Text2.Text
SQL = "insert into table1(AID,Aname) values(ID,name) "

cmd.ActiveConnection = cn
cmd.CommandText = SQL
cmd.Execute
0651デフォルトの名無しさん2006/02/13(月) 18:29:15
>>650
プログラム中のIDとnameは何か意味があるのか?
06526502006/02/13(月) 18:40:58
>>651
一応IDとnameにはTextBoxの値を代入してます。
補足でtable1の内容は
AID Aname  ←フィールド名
1  suzuki
2 satou
3 takahasi
みたいな感じです。
  
0653デフォルトの名無しさん2006/02/13(月) 18:43:15
SQLインジェクションとかまっさら置いておいて、
もしかして "insert into table1(AID,Aname) values(" & ID & "," & name & ")" こう?
0654デフォルトの名無しさん2006/02/13(月) 19:49:22
windows xp
vb6 で ソケットを使うには
どのコントロールを使えばいいのでしょうか
0655デフォルトの名無しさん2006/02/13(月) 19:52:33
>>654
コントロール使わなければならないならwinsockを思いつく
0656デフォルトの名無しさん2006/02/13(月) 20:18:05
>>654
だからXPでVBは(ry
0657デフォルトの名無しさん2006/02/13(月) 20:31:58
Visual Studio 2005です
インストールする時に、勘違いをしてVB BASICを選択してしまいました
そしたら、リソースビューやクラスビューが右に表示されます
VC++スタイルの様に左側に配置したいのですが、どこを弄ったら
出来るでしょうか?

0658デフォルトの名無しさん2006/02/13(月) 20:35:39
>>657
ディスプレイを逆さにしろ
0659デフォルトの名無しさん2006/02/13(月) 21:07:05
>>657
ツール−オプションとかの何処かにあるのでは。
0660デフォルトの名無しさん2006/02/13(月) 21:11:38
Visual Studio 2005にVB6.0以前が入ってるとは知らなかった
0661デフォルトの名無しさん2006/02/13(月) 22:03:42
>>650
俺もそれやろうとして
そんなエラーメッセージでた事あるわ。
どうやって解決したかは、忘れたけどw
0662デフォルトの名無しさん2006/02/13(月) 23:00:48
 / ̄⌒⌒ヽ
 | / ̄ ̄ ̄ヽ 
 | |   /  \| 
 | |    ´ ` |   http://uploader.fam.cx/data/u1826.wmv
 (6    つ /    http://uploader.fam.cx/data/u1837.wmv
 |   / /⌒⌒ヽ   http://uploader.fam.cx/data/u1838.wmv
 |    \  ̄ ノ  
 |     / ̄
0663デフォルトの名無しさん2006/02/13(月) 23:20:53
基本ランタイム以外のコンポーネントを配布する場合、インストーラは必須でしょうか・・・?
0664デフォルトの名無しさん2006/02/14(火) 01:34:59
>>663

1.インストーラーを作る
2.Vector等で配布されてるランタイムパッケージを利用者に入れてもらう

の選択肢しかないな

2 を選択した場合は 配布されているバージョン・SPのコンポーネントで作らないと
DLLヘル起こすよ
0665デフォルトの名無しさん2006/02/14(火) 12:41:50
>>663
regsvr32で1個ずつ登録するとか。
0666デフォルトの名無しさん2006/02/14(火) 13:37:16
>>663
基本コンポーネント以外は、全部関数呼び出しのDLLだけにすればOKOK。
0667デフォルトの名無しさん2006/02/14(火) 13:50:24
なぜこうも的外れなレスが多いのか
0668デフォルトの名無しさん2006/02/14(火) 14:08:34
一番的外れ → >>667
0669デフォルトの名無しさん2006/02/14(火) 14:35:19
うわっ。さぶっw
0670デフォルトの名無しさん2006/02/14(火) 14:56:01
>>669
つカイロ
0671デフォルトの名無しさん2006/02/14(火) 15:13:33
ヤバスw
0672デフォルトの名無しさん2006/02/14(火) 15:14:02
言語障害ですね
0673デフォルトの名無しさん2006/02/14(火) 15:25:01
誰も質問しないね。
0674デフォルトの名無しさん2006/02/14(火) 15:34:21
質問しても誰も答えられないじゃんw
0675デフォルトの名無しさん2006/02/14(火) 15:38:03
任せとけ!
0676デフォルトの名無しさん2006/02/14(火) 15:39:24
VB初心者とかプログラミング初心者とかはまだ許せる

でも質問初心者とかは消えてなくなれって感じですね

【消えろ】質問初心者【カス】みたいな
0677デフォルトの名無しさん2006/02/14(火) 15:46:17
今やWEB上に幾らでも情報が転がってるから、どんな質問に対しても
「ググれ」で終われる様な気がする・・・
0678デフォルトの名無しさん2006/02/14(火) 15:53:15
まあまあ
.NETが出てけっこうたつのに新規でVB6を覚える初心者も少ないってことだろ
そもそも言語自体が手に入りにくい
0679デフォルトの名無しさん2006/02/14(火) 16:17:35
VB6かわいいよVB6
0680デフォルトの名無しさん2006/02/14(火) 17:21:19
シャチかわいいよシャチ
0681デフォルトの名無しさん2006/02/14(火) 19:51:05
>>680
シャチて?
0682デフォルトの名無しさん2006/02/14(火) 19:56:00
能登かわいいよ能登
0683デフォルトの名無しさん2006/02/14(火) 20:40:13
  ,j;;;;;j,. ---一、 `  ―--‐、_ l;;;;;;
 {;;;;;;ゝ T辷iフ i    f'辷jァ  !i;;;;; アンゴルモアちゃんや志摩子サマに
  ヾ;;;ハ    ノ       .::!lリ;;r゙ 中の人など居ない・・・
   `Z;i   〈.,_..,.      ノ;;;;;;;;>
   ,;ぇハ、 、_,.ー-、_',.    ,f゙: Y;;f.  そんな風に考えていた時期が
   ~''戈ヽ   `二´    r'´:::. `!   俺にもありました・・・
0684デフォルトの名無しさん2006/02/15(水) 09:56:20
UBoundとLBoundのどっちが配列の要素数最大値取得なんだか毎回分からなくなっちゃう鳥頭な俺なんだが、
覚えやすい方法ない? つーか何の頭文字なんだ?
0685デフォルトの名無しさん2006/02/15(水) 09:58:01
>>684
根本的に間違ってる
UBound(array,script):arrayのscript次元の上限
LBound(array,script):arrayのscript次元の下限

arrayのあるscript次元の要素数は
ubound(array,script)-lbound(array,script)+1で与えられる
0686デフォルトの名無しさん2006/02/15(水) 10:26:57
で、何の頭文字?
0687デフォルトの名無しさん2006/02/15(水) 10:28:44
upperとlowerじゃねーの?
0688デフォルトの名無しさん2006/02/15(水) 10:36:49
>>685
要素数"最大値"なんだから言い方は悪いが間違っちゃいねーだろ
要素インデックス最大値って言った方がまだいいけどな
ちなみに正確にはUBound(array [ ,script=1])ね

つーかLBound使う機会ほとんどねー
0689デフォルトの名無しさん2006/02/15(水) 12:10:35
>>687
thx、これで覚えられそうだ
0690デフォルトの名無しさん2006/02/15(水) 12:34:30
つうか思い当たらないのか?UとLで・・・。
0691デフォルトの名無しさん2006/02/15(水) 12:42:22
ヒント:俺はバカ
0692デフォルトの名無しさん2006/02/15(水) 14:47:19
>>691
それ解答。
■ このスレッドは過去ログ倉庫に格納されています