VBプログラマ質問スレ(6.0以前) Part44
レス数が1000を超えています。これ以上書き込みはできません。
0001デフォルトの名無しさん
2005/10/25(火) 18:14:17質問者は使用しているOS、VBのバージョン、サービスパックのバージョン、
「何がしたくて、どうしたけど、どう困っているのか」を明確に書きましょう。
VB.NETは別物なので専門スレで、
VBS、APIの質問もそれぞれのスレで。(>>2 で紹介)
MSDN Online Japan ホーム
http://www.microsoft.com/japan/msdn/default.asp
Visual Studio 6.0 Service Pack 6 正式リリース
http://msdn.microsoft.com/vstudio/downloads/updates/sp/vs6/sp6/default.aspx
http://www.google.co.jp/
※「まず自分で調べる」クセを身につけよう。
○質問者の心得
一.質問する前に過去ログにも目を通してみる。
二.質問する前に MSDN などで調べてみる。
三.VBScript はこのスレでOK。
四.インストーラーなどの質問もOK。
五.荒らしは相手しない。
六.VB.NETの話題はできるだけひかえる。
七.質問は第三者にもわかりやすいよう簡潔かつ具体的に。
前スレ Part43 http://pc8.2ch.net/test/read.cgi/tech/1123952677/
0002デフォルトの名無しさん
2005/10/25(火) 18:15:37一.答えられない質問は無駄に罵倒せずスルー。
二.代用法を強制しない。
三.回答する上で必須ではない情報をむやみに聞き返さない。
四.荒らしは相手しない。
五.VB情報募集中。
六.VB.NETの話題はできるだけひかえる。
七.回答は質問者が理解できるよう具体的に。
○関連スレッド
VB.NET質問スレ (Part12)
http://pc8.2ch.net/test/read.cgi/tech/1121600038/
VisualBasic6.0 対 VisualBasic .NET 2003
http://pc8.2ch.net/test/read.cgi/tech/1116555483/
VBAについて Ver.4.0
http://pc8.2ch.net/test/read.cgi/tech/1105108229/
API関連の質問はこちらへ
Win32API質問箱 Build36
http://pc8.2ch.net/test/read.cgi/tech/1128951330/
0003デフォルトの名無しさん
2005/10/25(火) 18:18:15Part 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
0004デフォルトの名無しさん
2005/10/25(火) 18:18:54Part10 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
0005デフォルトの名無しさん
2005/10/25(火) 19:31:520006前スレ991
2005/10/25(火) 19:45:51えー、
>でもNetwork Addressってどこから出てきたんだろ?
これはネットから拾ってきたそのままです。
MSDEが入ってるマシンで
>"Network Address=〜"を削除して、"Data Source=データベースサーバー名"を入れるといい。
をやってみましたが、つながりませんでした。
リモートはいわずもがな。
で、
Dim strSQL As String
Dim ConStr As String
Dim Rs As New ADODB.Recordset
Dim Cn As New ADODB.Connection
ConStr = "Provider=SQLOLEDB.1;Password=test;Persist Security Info=True;User ID=test;Initial Catalog=testdb001"
Cn.Open ConStr
Debug.Print ConStr
strSQL = Text1.Text
Cn.Close
だと、
ローカルマシンだとつながります。
リモートはつながりません(まぁ当然でしょうが)
ConStr = "Provider=SQLOLEDB.1;Password=test;Persist Security Info=True;User ID=test;Initial Catalog=testdb001;Data Source=192.168.0.28"
としてもリモートからはだめでした。
0007デフォルトの名無しさん
2005/10/25(火) 19:47:490008前スレ991
2005/10/25(火) 20:34:250009前スレ994
2005/10/25(火) 21:11:58すみません、VBで書こうと思ったのですが、再現できませんでした。
その代わり、ExcelのVBAでは再現しました。
前に見たのも、もしかするとVBAだったかもしれません。
新規ブックを作成し、Sheet3にImageコントロールを貼り付けます。
Sheet1を表示した状態で、VBEditorを開き、
Sheet2に
Private Sub Worksheet_Activate()
Sheet3.PrintPreview
End Sub
Sheet3に
Private Sub Worksheet_Activate()
Image1.Visible = False
End Sub
を書き、Sheet2を開きます。
Sheet3のActivateは走りますが、Image1のVisibleはTrueのままプレビューされます。
Image1.Visible = False にブレイクポイントを置いてもらえば、
全然効いていないのが分かります。
0010前スレ994
2005/10/25(火) 21:16:37あー、でもやっぱり思い返せば、確かにVB6.0でも同じようなことが起こったんです。
0011デフォルトの名無しさん
2005/10/25(火) 22:14:35>Data Source=192.168.0.28
これが違う。IPアドレスではなくてデータベースサーバー名だよ。
MSDEをインストールしたPCのタスクトレイにSQL Serverサービスマネージャの
アイコンがあるでしょ?
アイコンにマウスポインタを当てるとポップアップで「実行中 \\SERVER1 - MSSQLSERVER」
が表示されるからこれでデータベースサーバー名が確認できる。
この場合は"Data Source=SERVER1"にするといいよ。
調べてみたらSQLOLEDBのパラメータにNetwork Addressがあった。
http://www.microsoft.com/japan/msdn/library/default.asp?url=/japan/msdn/library/ja/jpado260/htm/mdrefsqlprovspec.asp
0012デフォルトの名無しさん
2005/10/25(火) 22:53:47Data Source
Windowsの管理ツール「データソース (ODBC)」にて「ユーザーDSN」や
「システムDSN」、「ファイルDSN」のどれかのタグにあるもの。
あらかじめ接続の為の設定をしてある物がデータソース。
この引数で指定するのはそれ。
IPアドレスでサーバーを指定するなら、「Data Source」の記述を削除して
「Server=192.168.0.1」とすると良い。
なお、この場合、SQL Serverは「既定のインスタンス」で作成された物でないと
接続できない。
既定のインスタンスで無い場合は、「Server=192.168.0.1\インスタンス名」で
接続できると思うが未確認。
MSDEなら、通常は「既定のインスタンス」だと思うけども。
なお、「Server」が受け付ける引数は、IPアドレスだけではなく、コンピューター名でも、
FQDNでも、ネットワーク上で名前解決が出来る名前なら何でも良い。
0013前スレ991 改め 6
2005/10/25(火) 23:12:41ConStr = "Provider=SQLOLEDB;Data Source=TOSHIBA-NOTE;Initial Catalog=testdb001; User ID=test;Password=test"
だとローカルだとつながるのですが、リモートはつながりません。
リンク先を自分なりに読んでみて
ConStr = "Provider=SQLOLEDB;Data Source=TOSHIBA-NOTE;Initial Catalog=testdb001; User ID=test;Password=test;catalog location=192.168.0.28"
としてみてもやはりだめでした。ローカルからはこれでも接続できましが、
エラーの内容が「SQLサーバーがないかアクセスが拒否された」
から「接続文字列の属性がおかしい」に変わりました
アイコンにポインタおくと
実行中 - \\TOSHIBA-NOTE - MSSQLSERVER
と出ています。
0014デフォルトの名無しさん
2005/10/25(火) 23:20:55MSの掌で踊らされてるのかな。
実際今現在VB6で何も問題ない(?)わけだし
次期OSでも.NET Frameworkはネイティブにならんようだし。
0015デフォルトの名無しさん
2005/10/25(火) 23:30:09# 詳細は知らんけど
0017デフォルトの名無しさん
2005/10/26(水) 00:14:13001817
2005/10/26(水) 00:15:150019デフォルトの名無しさん
2005/10/26(水) 00:19:44それについては禿同だ
0020デフォルトの名無しさん
2005/10/26(水) 01:48:26とりあえずVistaは動作対象だよ
開発環境の方は一応動くけど保証対象外ってことらしい
0021デフォルトの名無しさん
2005/10/26(水) 08:37:51>ConStr = "Provider=SQLOLEDB;Data Source=TOSHIBA-NOTE;Initial Catalog=testdb001; User ID=test;Password=test"
接続文字列はこれであってる。
そもそもリモートのMSDEに接続できるのか確認した方がいいね。
まずはローカル側、リモート側の環境(OS、VB、MSDE、MDACのバージョンとSP)を書いてよ。
MDACのバージョンを見るにはこれを使うといいよ。
ttp://homepage2.nifty.com/digitalcraft/mdacvc/
当然pingは通っていて、エクスプローラで相手のPCが見えるよね?
ローカル側のPCにもMSDEを入れてるなら、コマンドプロンプトで次のように入力してみて。
C:\>osql -S TOSHIBA-NOTE -U test
パスワード : test
1> use testdb001
2> select * from test
3> go
ローカル側のPCにMSDEを入れてないなら、ODBCデータソースを作って接続テストしてみて。
コントロールパネル→管理ツール→データソース(ODBC)で「ODBCデータソースアドミニストレータ」を開き、
「ユーザーDSN」に「追加」。
ドライバ:SQL Server
データソースの名前:おまかせ
SQL Server サーバー名:TOSHIBA-NOTE
「ユーザーが入力するSQL Server用のログインIDとパスワードを使う」を選択
ユーザー名、パスワード、既定のデータベースを変更する。
他はデフォルトでOK。
0022デフォルトの名無しさん
2005/10/26(水) 09:27:54少なくともプロバイダがSQLOLEDBのときはサーバを指定するのにData Sourceを
使用しても大丈夫だよ。
*.udlが作成する文字列もData Sourceを使ってる。
もちろんIPアドレスでも、コンピュータ名でもおけ。
00236
2005/10/26(水) 10:52:02>>12
Server=192.168.0.1\TOSHIBANOTE
Server=192.168.0.1
どちらでも接続できませんでした。
>>21
変な表現で申し訳ないのですが
MSDEが入ってるほう(TOSHIBA-NOTE)をローカルと表現しておりました。
お互いにpingは通ります。
リモートと表現しているほうにはMSDEは入っておりません。
リモート側へのODBCデータソースの追加は
データソースの名前[test]、SQL Server サーバー名[TOSHIBA-NOTE]、ID[test]パスワード[test]
を入力して[次へ]をクリックすると、接続エラーが発生して作成できませんでした。
環境は、
ローカル側
OS:W2KSP4
VB6SP6
MSDE:8.00.760
MDAC:2.71.9040.2
リモート側
OS:XPSP2
VB6SP6
MSDE:nothing
MDAC:2.81.1117.0
です。
ODBCデータソースの追加については、いろいろ試してみようと思います。
00246
2005/10/26(水) 13:50:38>>前スレ993
>>11,12,21,22
接続文字は
Provider=SQLOLEDB.1;Password=test;Persist Security Info=True;User ID=test;Initial Catalog=testdb001;Data Source=MSDE
でいけましたが、これだけではだめでした。
ttp://isobe.exblog.jp/i20
ここの真ん中より下にある記事に解決法が載っておりました。
アドバイスありがとうございます。これでがんばれます。
0025デフォルトの名無しさん
2005/10/26(水) 15:36:50おつかれ。
ADOの学習ならこのページの「開発編��3 ADO 2.6 入門」がおすすめ。
http://www.microsoft.com/japan/SQL/techinfo/selfstudy/Self_doc.asp
00266
2005/10/26(水) 16:51:06便利なページがあるもんですね。
0027デフォルトの名無しさん
2005/10/26(水) 23:20:43Winsock1.SendDataでメッセージを送ろうとすると、
Private Sub Winsock1_DataArrival(ByVal bytesTotal As Long)
Dim StrData As String
Winsock1.GetData StrData ←ここでエラーが発生して、
実行時エラー"10054"
リモート側から接続がリセットされます。
と出ます。
ポートの設定は問題無いと思います。
また、参考書のプログラムなのでソースの間違いも無いと思います。
向こうには、メッセージは届いていませんでした。
また、でたらめな相手のIPを指定するとエラーが出ないので、
一応接続しているのかな、なんて思ったりしています。
助けてください、お願いします。
0028デフォルトの名無しさん
2005/10/27(木) 00:13:15関係ないかもしれんが、ググったらこんなのがあった。
http://support.microsoft.com/default.aspx?scid=kb;ja;JP263823
0029デフォルトの名無しさん
2005/10/27(木) 09:13:10ログを開いて解析するツールなのですが、時々ファイルが壊れているなどして
エラーになってしまいます。
本来FreeFileで使えるファイル#を探すのですが、一本一本開いて
処理し、終わったらCloseするため、固定で#1を使用しています。
この時、エラーが発生してOn error Goto〜 に処理が飛ばしたとき
もし#1のファイルが開かれている状態だったらCloseするというコードを
作成したいのですが、可能でしょうか?
開かれているかどうかの判定方法があれば教えてください。
0030デフォルトの名無しさん
2005/10/27(木) 11:48:21Visual Basicでノベル形式のアドベンチャーゲーム作りたいのですが、
一文字ずつタイピングしていくように文字を表示するにはどのようにすればいいですか?
またVBでゲームを作る上で参考になりそうなHPがあれば教えてください。
お願いします。
0031デフォルトの名無しさん
2005/10/27(木) 12:13:07エラーナンバー調べれば?
>>30
そのまま一文字ずつ描画すればいい
ていうかゲ製作板行け
0032デフォルトの名無しさん
2005/10/27(木) 14:12:08VBのコードで小数点の切り上げの処理はどのようにしたらいいんでしょうか?
intやfixは理解できたのですが、切り上げの関数コードがわかりません。
VBって切り上げって出来ないのでしょうか?
0033デフォルトの名無しさん
2005/10/27(木) 14:20:27切り上げをする関数は無いがな
0034デフォルトの名無しさん
2005/10/27(木) 14:21:35切り上げなんてintして+1すりゃええだけじゃん
首の上に乗っかってるデカブツは飾りか?
0035デフォルトの名無しさん
2005/10/27(木) 14:26:160036デフォルトの名無しさん
2005/10/27(木) 14:28:36なかなか勉強になりますな
0037デフォルトの名無しさん
2005/10/27(木) 14:50:150038デフォルトの名無しさん
2005/10/27(木) 14:54:36Const Table = "QWERTYUIOPASDFGHJKLZXCVBNM?"
Private Sub Command1_Click()
ango = Text1.Text
decode = ""
n = Len(ango)
For i = 1 To n
p = Mid(ango, i, 1)
If [ ] Then
Index = [ ]
Else
Index = 26
End If
decode = decode + Mid(Table, Index + 1, 1)
Next i
Text2.Text = decode
End Sub
Private Sub Form_Load()
Text1.Text = ""
Text2.Text = ""
End Sub
0039デフォルトの名無しさん
2005/10/27(木) 14:55:120040デフォルトの名無しさん
2005/10/27(木) 15:40:01小数点第1を切り上げて、変数をlong型にしたいのですが
int()+1だと皆切り上がってしまうので,だめなんです。
小数点がでる場合のみ、皆切り上げしたいのですが・・・
dim x
dim y as long
x=textbox1
y=x * 1.25
if y mod 1 <>0 then
y=y+1
end if
って、猿頭でがんばって見たのですが、だめでした。
0041デフォルトの名無しさん
2005/10/27(木) 15:44:05dim x as long
dim y
x=textbox1
y=x * 1.25
if y mod 1 <>0 then
y=int(y+1)
end if
0042デフォルトの名無しさん
2005/10/27(木) 15:45:150043デフォルトの名無しさん
2005/10/27(木) 16:00:41int()+0.9ですか?
馬鹿だからわからないです・・・
0044デフォルトの名無しさん
2005/10/27(木) 16:13:010045デフォルトの名無しさん
2005/10/27(木) 16:35:40貴方が馬鹿なのは貴方の親のせいなので両親に聞いてください
0046デフォルトの名無しさん
2005/10/27(木) 16:38:22でも、なんとかおかげでわかりました。
42さん、すげーなぁ〜
0.9かぁ〜
0047デフォルトの名無しさん
2005/10/27(木) 16:57:01なるほど、1.05を小数第一位で切り上げると1.0になるのか
なかなか勉強になりますな
つーか、加数は使用する小数桁によって変わるだろ
対象数値が小数第二位までなら0.999を足さないと
本来なら0.99でも良いはずだけど、小数演算誤差で1.01+0.99は
2にならず1.99999...になるからな
別に0.999ではなく0.991でも大丈夫だけどね
0048デフォルトの名無しさん
2005/10/27(木) 17:04:25小数第一位なら1.0だろ
小数点以下全部ならしらねぇがな
0049デフォルトの名無しさん
2005/10/27(木) 17:19:150050デフォルトの名無しさん
2005/10/27(木) 17:19:260051デフォルトの名無しさん
2005/10/27(木) 17:19:32はいはい、もうやめようね
0052デフォルトの名無しさん
2005/10/27(木) 17:22:250053デフォルトの名無しさん
2005/10/27(木) 17:32:25String型の一次元配列から、任意の文字列に一致するものがあるかどうかを高速に調べる方法を教えてください。
ループ回して1つずつ比較するのは遅いし、Filter関数では一致ではなく含むものが抽出され
さらにそれに対してループで比較しなくちゃなりません。
どうか「高速」に「一致」が有るかどうかを調べる方法をご教示ください。
文字列は英数記号で文字数、要素数ともに不定です。
0054デフォルトの名無しさん
2005/10/27(木) 18:00:50JoinしてからInStrとかダメかね?
0055デフォルトの名無しさん
2005/10/27(木) 18:21:59高速には思えないんだが。
0056デフォルトの名無しさん
2005/10/27(木) 18:41:48005754
2005/10/27(木) 18:44:120058デフォルトの名無しさん
2005/10/27(木) 18:44:280059デフォルトの名無しさん
2005/10/27(木) 18:55:20意地悪で任意のケタで切り捨てするコード書いてみたw
Public Function RoundDown(X As Double, Digit As Integer) As Double
If Digit < 1 Then
RoundDown = X
Else
Dim RounededX As Double
RounededX = Math.Round(X, Digit)
If RounededX <= X Then
RoundDown = RounededX
Else
Dim LeastSignificant As Double
LeastSignificant = 10 ^ (-1 * (Digit + 1))
RoundDown = Math.Round((X - LeastSignificant * 5), Digit)
End If
End If
End Function
一見無駄なIF(特に内側の)は安全のため。本当に無駄かどうかは実際やってみないとわからん。
>>53
配列を検索するのに高速な方法も糞もないでしょ。
普通にループで回す以上に高速な方法なんてありえん。
というか、どこの世界にわざわざ遅くなるような要素を仕込む馬鹿なコンパイラがいるかね。
そういうの高速にやるにはデータ構造を変えるしかないんじゃないの?
アルゴリズムの教科書には大体載ってるよそういう話。
0060デフォルトの名無しさん
2005/10/27(木) 19:03:37やってみたやループより遅かった@>>54
0061デフォルトの名無しさん
2005/10/27(木) 19:11:29該当スレが分からず、ここに来ました
ここで質問させていただいてもよろしいでしょうか
ちなみに携帯のみの環境ですので
新しくBASICスレを立てるのは僕には無理です
0062デフォルトの名無しさん
2005/10/27(木) 19:28:54すれ立てるまでもない質問はすれ立てるまでもない質問のスレで
0063デフォルトの名無しさん
2005/10/27(木) 19:35:49まあ、Joinして新しく領域作成する処理は遅いし、それに加え元の処理が1句ごとシフトして比較なのに対し、
たぶんだけどInStrは1文字ごとシフトして比較という処理なわけだから、メモリアクセスと計算回数からいっても、
JoinでInStrは速いとは思えない。
ソートしてゴニョゴニョか先頭文字で木を作ってからゴニョゴニョってのが無難だと思う。
サーチ用のキャッシュ作ってもいいという前提だけど。
0064デフォルトの名無しさん
2005/10/27(木) 19:47:400065デフォルトの名無しさん
2005/10/27(木) 21:36:01各主要言語の特徴が記載されておったのですが
BASIC言語の欄に「現在、世界中で最も使用されているコンピュータ言語」
なる記述がありました
VBを使用してられる皆様なら、BASICに精通されている方も多いと思います
そこで質問です
本当に 現在 最も使用されている言語はBASIC なのでしょうか
私の中では すでに終了している言語なのですが。
0066デフォルトの名無しさん
2005/10/27(木) 21:41:580067デフォルトの名無しさん
2005/10/27(木) 21:42:40あなたが学生であれば、先生に聞いてください
あなたが先生であれば、出版社に聞いてください
あなたが出版社であれば、著者に聞いてください
あなたが著者であれば、へそ噛んでください
0068デフォルトの名無しさん
2005/10/27(木) 21:45:52こんな笑いもアイロニーも何にもないネタに乗っかる奴の気が知れない。
ありていに言えば馬鹿じゃないの。
0069デフォルトの名無しさん
2005/10/27(木) 21:47:00自己分析乙
0070デフォルトの名無しさん
2005/10/27(木) 21:50:32イトーヨーカドー、ローソンのレジ会計・JRの定期発行期(みどりの窓口で係員がたたいてるヤツ)は
VBで作られているんだって。
つまりVBは最高なんだよw
0071デフォルトの名無しさん
2005/10/27(木) 21:52:00いや、残念ながらネタじゃない
まだ疑うのなら 明日書名、著者名、ページ数を書き込んでも良いぞ
0072デフォルトの名無しさん
2005/10/27(木) 21:52:25VBAまで含めりゃ、ACCESSやEXCELで作ったシステムでも使われてるからな
0073デフォルトの名無しさん
2005/10/27(木) 22:02:460074デフォルトの名無しさん
2005/10/27(木) 23:22:510075デフォルトの名無しさん
2005/10/28(金) 01:24:41OLEDragOverなどに引数で送られてくるDataObjectやMSComctlLib.DataObjectに何が入っているか分からない状態です。
どうすれば「マイドキュメント」であると認識できるでしょうか。
他のファイルと同様に処理すると、ピクチャーボックスに入れた場合は「ファイルが見つかりません。」、
treeviewに入れた場合はと「データの形式が一致しません。」と出ます
msgboxなどで中身の何かを見ようとすると「データの形式が一致しません。」と出ます。
0076予防線
2005/10/28(金) 14:29:28「○○するための具体的な方法」を知りたいときに、
「○○する方法はありますか?」という感じで謙虚に質問すると、
「ある」としか回答してくれません。
質問者のあなたにとっては、あるかどうかすら分からないことについて
しょっぱなから「○○するにはどうしたらよいですか?」と、あることを
前提に質問するのはぶしつけに感じるかもしれませんが、
一部の回答者は、質問者の意図を推測するような余計なことはせず、
コンピュータのように言葉を文字通りに理解しますので、「ありますか?」
という質問に「ある」とだけ回答します。
具体的な方法を知りたいときは、「具体的にはどうしたらよいか」という
フレーズを質問に含めるようにしてください。お手数をおかけします。
0077デフォルトの名無しさん
2005/10/28(金) 14:36:58以前「ある」とだけ回答されて途方に暮れた人か。可哀想に。
0078デフォルトの名無しさん
2005/10/28(金) 14:44:42謙虚じゃないのか?この聞き方
0079デフォルトの名無しさん
2005/10/28(金) 15:13:37ここには具体的な方法は知らないけど答えたいってヘボい奴が多いから、
回答した奴自身が必死でググって見つけたキーワードを出して
「あとはググれ」とか言われるのがオチだぞ
「具体的な方法」を聞いたところで「具体的な方法」を示せる奴なんてほとんど居ない
俺は解らない場合は無理に答えたり罵倒したりしないで放置するけどな
0080デフォルトの名無しさん
2005/10/28(金) 16:04:56これって定価以上じゃないのか。
ttp://page4.auctions.yahoo.co.jp/jp/auction/d55771948
0081デフォルトの名無しさん
2005/10/28(金) 16:24:35方向性を示して、キーになる技術提示して、あとはぐぐれで十分。
0082デフォルトの名無しさん
2005/10/28(金) 17:10:12答えを求めて来てる奴に、答え(ソース)を示して何が悪い?
ここは勉強会場じゃないんだから、答えだけ教えるのは質問者の為にならないなんてのは
具体的な答えを示すだけの知識がない奴の言い訳。
どこまでの回答で「じゅうぶん」かは、回答者が決める事じゃない。
0083デフォルトの名無しさん
2005/10/28(金) 17:18:000084デフォルトの名無しさん
2005/10/28(金) 17:18:20どこまで教えるかはこちらの自由。
答えを出したい人もご自由にどうぞ。
0085デフォルトの名無しさん
2005/10/28(金) 17:24:41具体的な方法教えてくれと言われたら
具体的な方法わかる奴が具体的な方法教えればいい
ヒントクレと言われたら、ヒントをやればいい
求められたことに答えられる奴が答えて、答えられない奴は黙ってればいい
答えられないのは罪でも恥でも無いし、答えないのも自由だが
求められた内容と違うレス付けて、回答したつもりになってる自称上級者が一番ウザい
0086デフォルトの名無しさん
2005/10/28(金) 17:29:09ここはこれの巣窟ですが、何か?
0087デフォルトの名無しさん
2005/10/28(金) 18:47:20質問者一般を擁護しようとか、回答者一般を擁護しようとか、もうアホかと。
馬鹿な質問者は叩いてよし、馬鹿な回答者は叩いてよし。
正解はこうでしょ。
まあしかしあえて俺の感想を言うと、
質問者の方に問題があるケースの方が圧倒的に多いんじゃないの。
テンプレをどうしろこうしろとか言ってる奴は、恐らく文章をなしていない
意味不明な質問をしたか、ろくに自助努力もしてないことミエミエの質問をして
なじられたのを逆恨みしてる奴なんじゃないのw
さらに言えば、スレの性質上馬鹿で幼稚な回答は大して害がなく単に無視すれば済むが、
(腐った奴ばかりじゃないんだから、まともな回答者の登場を待てばいいだけ)
そもそも質問が馬鹿だったり意味不明だったりでは話にもならんよ。
0088デフォルトの名無しさん
2005/10/28(金) 18:49:59画像ファイルをdrag&dropで表示させるには
どんなプログラムを書いたら良いのですか?
winxp vb6.0です
0089デフォルトの名無しさん
2005/10/28(金) 18:57:15まず、Drag&Dropして表示したい画像ファイルを表示する手段をお前は持っているか?
持っているか居ないかでその後の対応が変わる。
0090デフォルトの名無しさん
2005/10/28(金) 18:57:30【回答】
そのぐらいのこと自分で調べてなんとか出来ない人はプログラムを書くべきではありません。
0091デフォルトの名無しさん
2005/10/28(金) 19:01:07プロパティ:OLEDragMode=手動
イベント:OLEDragDrop and OLEDragOver
GetDropFileName()
あたりで何とかしてください。
色々分かってきたら>>75のことを教えてください。
0092デフォルトの名無しさん
2005/10/28(金) 19:15:34手段を持っていないので,その手段を手に入れたいのです.
別にそーゆー機能が欲しいのではなく,
そーゆープログラムを書けるようになりたいのです.
>90
すんません.
結構調べたけど出て来ないので・・・
調べ方が悪いのかな・・・
>91
はい.
ファイルネームを手に入れて,
そのファイルを表示させるという手順は分かります.
OLEDragDrop and OLEDragOver
GetDropFileName()
は試した事が無いので試して見ます.
0093デフォルトの名無しさん
2005/10/28(金) 20:01:11MSDNに載っています
人に聞かなきゃ分からないレベルなら
ハードディスク領域をケチらないでキチンとインストールしましょう
・OLEDragDrop
・OLEDragOver
をMSDNで引いてます。
OLEDragDrop ・・・ ソース コンポーネントをターゲット コンポーネントにドロップし、
ソース コンポーネントでドロップ可能と判断されたときに発生します。
OLEDragOver ・・・ コンポーネントがほかのコンポーネント上にドラッグされたときに発生します。
と載っています。
ドロップ操作は OLEDragDrop で処理すればいいかと予想つきます。
画像ファイルを表示させたいなら、ドロップされたファイルを取得できればOKです。次に OLEDragDrop の引数を見てみます。ファイルのパスはStringなので String型の引数を探します。でも String型の引数はありません。
じゃぁ無理だ 諦める前に DataObject という見た事ない型に注目してみます。DataObjectって名前で、いかにもドロップされたデータっぽいではあ〜りませんか。今度は DataObject をMSDNで引いてみます。
DataObjectはオブジェクトであります。では次にメンバーを見てみます。Filesっていうプロパティがありました。これがドロップされたファイルであるなと仮定します。
さらに調べると「Files コレクションを参照してファイル名の一覧を取得できます。」ってあります。Filesはコレクションである事も分かります
strFile = DataObject.Files(1)
で解決です。
チョッとは自分で調べようね MSDN に載ってなかったら ググるなりココで聞けばいい。調べよう。マジで調べよう。
0094デフォルトの名無しさん
2005/10/28(金) 20:05:02そこで終わりかよ!
0095デフォルトの名無しさん
2005/10/28(金) 20:11:28俺も同じレベルだから非難は出来ないけど、
上の下以上のレベルの奴が居ないってのも悲しいな。
0096デフォルトの名無しさん
2005/10/28(金) 20:16:150097デフォルトの名無しさん
2005/10/28(金) 20:44:02ダメだ・・・分からない・・・
ってか、余計分からない・・・
drag&dropしたら,ファイル名表示させる事は出来たのになー
0098デフォルトの名無しさん
2005/10/28(金) 22:42:30え?もしかして画像の表示方法が分からないのか?
strFile = DataObject.Files(1)
Set Picture1.Picture = LoadPicture(strFile)
VB6ではPNG読めないから注意してね
0099デフォルトの名無しさん
2005/10/28(金) 22:47:52×VB6ではPNG読めない
○VB6のLoadPicture関数ではPNG読めない
0100デフォルトの名無しさん
2005/10/29(土) 01:08:17キー入力を監視して、リアルタイムに変更したいのですが、
アイコンにマウスポインタを移さないと、変更されません。
バックグラウンドでも、アイコンを変更できるようにするには、
どうすればいいのでしょうか?
ちなみに作っているのは、キーボードのLEDをタスクトレイに表示するものです。
0101デフォルトの名無しさん
2005/10/29(土) 09:36:581秒おきにLEDをチェックする
0102デフォルトの名無しさん
2005/10/29(土) 10:08:26ソース晒せって言ったでしょ?
0103デフォルトの名無しさん
2005/10/29(土) 17:39:50作っているのですが、どうもうまくいきません。
いろいろ調べて
Dim AForms As Variant
For Each AForms In WebBrowser1.Document.Forms
If AForms.Name = "FORM1" Then
AForms.submit
Exit Sub
End If
Next
というように処理をしてうまくいくページもありますが、
アクセスが拒否されました
とエラーになってしまうページがあります。
エラーになるページのform部分は
<form action="/xxx" method="GET" name="FORM1" target="_top" onsubmit="return fnc001(this)">
<input type="hidden" name="aa" value="aaa">
<input type="hidden" name="bb" value="bbb">
<input type="text" name="cc" size="46" value=" maxlength="256">
<input type="submit" value="開始">
</form>
というふうになっています。
直接submitをクリックするようにしても同じエラーが出てしまいます。
どのようにすればうまくいくのかご教授お願いします。
0104100
2005/10/29(土) 21:34:37タイマーの間隔は、500ミリ秒です。
キーボードの状態をチェックするために、Win32api使っています。
Private Sub Timer1_Timer()
Dim keys(0 To 255) As Byte
Dim IconSwitch As Byte 'Ledの8種類の状態をいれる(0〜7)
< 一部省略>
'アイコン変更
udtNotifyIconData.hIcon = Image1(IconSwitch).Picture
Call Shell_NotifyIcon(NIM_MODIFY, udtNotifyIconData)
End Sub
これを、他のプログラムが動作しているときでも、
LEDが変更になるようにしたのですが、
どうすればいいでしょうか?
0105デフォルトの名無しさん
2005/10/29(土) 21:58:57方法の一つにWM_SETTEXT を TextBox_Change で受ける
という方法があるということまでは分かった。
すると、FindWindowでウィンドウハンドルを探すなりし、
その後、FindWindowExでTextBoxを探すのではないかと考えた。
しかし、FindWindowExでTextBoxを探す方法が分からない。
どなたかご教授いただけませんか。
0106デフォルトの名無しさん
2005/10/29(土) 22:29:30VB6のTextBoxのクラス名は「ThunderRT6TextBox」だからコレで探す。
VB以外のTextBoxのクラス名は「Edit」。ってか言語で違う。
複数のTextBoxがある場合は子ウィンドウを列挙して一つずつ。
VB6で作ったアプリ同士の通信なら デフォルトでDDE使えるから こっちの方がスマート。
0107デフォルトの名無しさん
2005/10/29(土) 22:53:04ありがとうございます。いけそうな気がします。
DDEは.netではサポートしていないそうで、
すこしでも将来移植が簡単なように考えてとの思いです。
関連する別の質問ですが、
子プロセスで処理した結果(文字列)を親プロセスに返す
ようなものを作りたいのですが、
このとき親プロセスのウィンドウハンドルを取得する方法などあるのでしょうか。
親と子は同じVBの実行ファイルです。
#質問が続いて申し訳ないので
#このあたりが調べられるサイトなどあればお知らせ下さい。
0108デフォルトの名無しさん
2005/10/30(日) 00:48:06GlobalGetAtomName
0109デフォルトの名無しさん
2005/10/30(日) 04:48:21ありがとうございます。
ちょっと調べたところでは
atomに文字列をセットしてIDをもらう
IDでatomにセットした文字列を引き出す
こんな感じですね。
ただ、IDを引き渡す方法がいって
これ自体がプロセス間で文字列をやり取りすることなので
atomを使うと何がうれしいかは私の能力では分かりかねました。
これは何がうれしいのでしょう?
で、この件は分からないまま、
親プロセスが子プロセスを産むときに引数で親のwhndを渡してあげて
うまく会話させるということで解決しようかと思い始めています。
しかし、心配なところがあります。
想定している処理は複数の子が親にメッセージを返し、
親はそのメッセージを処理するというようなものですが、
親は一人の子のメッセージを処理している間に別の子のメッセージが届いて
処理が割り込まれてしまわないかです。
特にTextBox_Changeで受けるようなときでも問題ないのでしょうか。
キューに並ぶならうれしいところですが。
どなたかご存知の方いたらお教え下さい。
0110デフォルトの名無しさん
2005/10/30(日) 21:20:07フォーム内のどこにフォーカスがあってもEscapeキーでソフトを終了させたいのですが
やり方がわかりません
Public Sub textbox_keydown(KeyCode As Integer, Shift As Integer)
If KeyCode = vbKeyEscape Then
End
End If
End Sub
今の所こんな感じで、特定のコントロールにフォーカスがあるときだけ終了できるんですが
textbox の所を Form1 に直すとか単純な話ではなさそうなので、困っています
0111デフォルトの名無しさん
2005/10/30(日) 21:24:28formのKeyPreview
0112デフォルトの名無しさん
2005/10/30(日) 21:49:32うまくできました、ありがとうございます
0113デフォルトの名無しさん
2005/10/31(月) 00:09:140114デフォルトの名無しさん
2005/10/31(月) 08:56:50組み合わせで安定してプログラムの作成は行えるでしょうか。
今まではWindowsNT(SP3)+VB5.0(SP3)+EXCEL97(サービスリリース対応)を
使用していましたがハードウェアの都合でWindowsNT(SP6a)を使う必要が
生じました。
どなたかご教授下さいますよう宜しくお願い致します。
0115デフォルトの名無しさん
2005/10/31(月) 09:30:37入手方法は自分で考えてね。
0116デフォルトの名無しさん
2005/10/31(月) 11:25:25ありがとうございます。
調べてみます。
他にも情報がありましたらご教授下さいますよう宜しくお願い致します。
0117デフォルトの名無しさん
2005/10/31(月) 12:38:270118デフォルトの名無しさん
2005/10/31(月) 13:36:57ssTabのタブの順番を入れ替える。
[ A ] [ B ] [ C ]
↓
[ A ] [ C ] [ D ]
0119デフォルトの名無しさん
2005/10/31(月) 14:34:170120デフォルトの名無しさん
2005/10/31(月) 15:52:27SSTabでは出来ない
TabStripでは [ C ] を削除して [ A ] の後に入れる
それにSSTabは Microsoftは認識しているけど放置されているバグが多いし
Windows・サービスパックのバージョンによっては発生しないイベント・作動いないプロパティとかあるし
だからあれほどSSTabは使うなって言ったのに…
0121118
2005/10/31(月) 16:19:37ありがとうございました。
「TabStrip」勉強してみます。
0122デフォルトの名無しさん
2005/10/31(月) 19:15:54ttp://www.tt.rim.or.jp/~rudyard/torii009.html
ここ見れ
0123デフォルトの名無しさん
2005/11/01(火) 11:45:35ttp://tokyo.cool.ne.jp/kanain/APIHTM/Susie.htm
で、ifjpegx.spiを使って表示をしているんですけど、
プラグインの設定は、どうやって呼び出し&登録すればいいのでしょうか?
susieに付いてるSpi_api.txtを読んではみたのですが、
サッパリだったので。。。
0124デフォルトの名無しさん
2005/11/01(火) 12:07:47> サッパリだったので。。。
つまり、おまえが手を出すのはまだ早いってことだ。
0125デフォルトの名無しさん
2005/11/01(火) 12:08:160126デフォルトの名無しさん
2005/11/01(火) 12:59:37ご指摘ありがとうございます。
0127デフォルトの名無しさん
2005/11/01(火) 13:48:15ifjpgxならDCT演算の方法とか、プラグイン自体の立ち上げをvbからコールする方法は?
って意味なんジャマイカ?
俺は知らんが。
0128デフォルトの名無しさん
2005/11/01(火) 17:33:22あぁ 何が言いたいのか俺には分かる
IFJPEGX.SPIの設定を自分でやりたいって事だろ
残念ながら設定を自分でやる事は出来んない(取得も出来ない)
設定ダイアログは IFJPEGX.SPI の中の ConfigurationDlg( )API を使って呼び出せるよ
定義 Declare Function ConfigurationDlg Lib "IFJPEGX.SPI" (ByVal parent As Long, ByVal fnc As Long) As Long
どうしても自分でやりたいなら「HKEY_CURRENT_USER\Software\Takechin\Susie\Plug-in\IfjpegX」以下をいじれ
>サッパリだったので。。。
Spi_api.txt読めない程度なら手を引いた方が良い領域です
あなたにはまだ早過ぎます マジ早過ぎ メモリクラッシュコード書かないようにな
0129デフォルトの名無しさん
2005/11/01(火) 20:13:540130デフォルトの名無しさん
2005/11/01(火) 23:56:28ファイル名に"#"が入っているとうまくコピーが
できず、困っています。
"#"がファイル名に入っていてもコピーする
にはどうすればよいのでしょうか?
---------------------------------------
dir1 = "c:\AAA\"
dir2 = "c:\BBB\"
fname = "file#.txt"
Filecopy dir1 & fname , dir2 & fname
↑
コピーされません。
ファイル名から#をとるとうまくいきます。
---------------------------------------
0131デフォルトの名無しさん
2005/11/02(水) 00:00:200132デフォルトの名無しさん
2005/11/02(水) 11:24:30int testSub(LPCTSTR p1, WORD p2, WORD p3, WORD P4[3]) ;
上記の関数を呼び出すにはVBのDeclare文はどう宣言すればよいのでしょうか?
下記のように宣言したんですが「DLLが正しく呼び出せません」ってエラーになります
↓こんなふうに宣言して
Declare Function testSub Lib "testSub.dll" Alias "?testSub@@YAHPBDGGQAG@Z" ( _
ByVal p1 As String, _
ByVal p2 As Long, _
ByVal p3 As Long, _
p4() As Long _
) As Long
↓こんなふうに呼んでみたのですが・・・
p1="abc"
p2=1
p3=2
p4(0)=0
p4(1)=0
p4(2)=0
ret = testSub(p1, p2, p3, p4())
助けてください。宜しくお願い致します。
0133デフォルトの名無しさん
2005/11/02(水) 11:31:02>int testSub(LPCTSTR p1, WORD p2, WORD p3, WORD P4[3]) ;
~~~~~~ ~~~~~~ ~~~~~~
>ByVal p2 As Long, _
↑なんでやねん
0134132
2005/11/02(水) 11:56:11ありがとうございます
WORDは、Integer なんですね
でも結果は同じですね_| ̄|○
0135デフォルトの名無しさん
2005/11/02(水) 12:06:34多分配列の渡し方が違う?
配列の場合は先頭のポインタだけ分かってればいいから
ByVal p1 As String, ByVal p2 As Integer, ByVal p3 As Integer, p4 As Integer
ret = testSub(p1, p2, p3, p4(0))
か
ByVal p1 As String, ByVal p2 As Integer, ByVal p3 As Integer, ByVal p4 As Long
ret = testSub(p1, p2, p3, VarPtr(p4(0)))
まぁ試してないから分からんけど
0136デフォルトの名無しさん
2005/11/02(水) 12:13:150138デフォルトの名無しさん
2005/11/02(水) 12:46:19VBのDeclare文はWINAPI(FAR PASCAL)タイプの関数を呼び出すことを想定している。
C/C++形式の関数だとスタックが逆になるうえにスタックの後片付けが呼び出し側になるため呼び出せない。
0139デフォルトの名無しさん
2005/11/02(水) 12:58:26というかDLLなら普通__stdcallではないのだろうか
0141デフォルトの名無しさん
2005/11/02(水) 16:10:55文字列から特定の文字を検索する方法は、キーワードは1つ
ですが、キーワードを複数にして、判定させたい。
こんなことができたらなー
flg=InStr(文字列, キーワード1,キーワード2)
0142デフォルトの名無しさん
2005/11/02(水) 16:27:38どっちか、若しくはどっちも含まれてなければ*0=0で結果はFalse
どっちも含まれてれば1以上が返るのでTrue
一発でやりたければ正規表現でも使うか関数化するかしな
0143デフォルトの名無しさん
2005/11/02(水) 17:24:00二度と開かなくなりました。
「問題が発生したため、Microsoft Excel for Windows を終了します。
ご不便をおかけして申し訳ありません。」
これが毎回出ます。
VBAコードだけでもどうしてもサルベージしたいんですが、何か案はありますでしょうか?
C:\Documents and Settings\SystemDev\Application Data\Microsoft\Excel\の
中のファイルを消す方法は試しましたが、症状変わらずでした。
0144デフォルトの名無しさん
2005/11/02(水) 17:27:31スレ違い
VBAスレで効くべきだが、Excelは単独で開けるのかどうかと他のユーザーでそのブックが開けるのかも追記しといた方が良いぞ
0145143
2005/11/02(水) 17:37:49すみません、ただVBAプログラマ質問スレが見あたらなかったもので・・・
Excel自体は単独で開けます、そのBookだけがエラーで落ちます。
他のユーザ-及び他PCでも開けませんでした
0146デフォルトの名無しさん
2005/11/02(水) 19:45:360147デフォルトの名無しさん
2005/11/02(水) 20:21:440148デフォルトの名無しさん
2005/11/02(水) 21:44:01上のような点と点を直線で結ぶのはLine命令ですぐできるんですが
曲線で結ぶにはどうすればよいでしょうか?
使用しているOSはXPで、VBのバージョンは6.0です。
0149デフォルトの名無しさん
2005/11/02(水) 21:45:58二点なら直線だからLINEだろ
0150デフォルトの名無しさん
2005/11/02(水) 21:47:59点は地図のマークっぽいイメージでマークとマークの間を
曲線で繋ぎたいのです。
0151デフォルトの名無しさん
2005/11/02(水) 21:50:080152デフォルトの名無しさん
2005/11/02(水) 21:50:53サンクス
0153デフォルトの名無しさん
2005/11/03(木) 02:46:050154デフォルトの名無しさん
2005/11/03(木) 08:05:570156デフォルトの名無しさん
2005/11/03(木) 09:21:11バイナリなので読めませんでした。
VB4をインストールすることなく変換あるいはテキスト化できる手段ってありますか?
0157デフォルトの名無しさん
2005/11/03(木) 14:05:57VB4をインストールしたってそんなことは出来ません。
0158デフォルトの名無しさん
2005/11/03(木) 14:38:29いや、まさかね…
0159デフォルトの名無しさん
2005/11/03(木) 14:40:22そんな馬鹿なことあるわけないじゃないかwwwwwwww
0160デフォルトの名無しさん
2005/11/03(木) 14:50:25いやー、分からんぞ。こんな世の中じゃ ポイズン
0161デフォルトの名無しさん
2005/11/03(木) 16:12:050162デフォルトの名無しさん
2005/11/03(木) 16:38:090163デフォルトの名無しさん
2005/11/03(木) 19:28:35釣れた釣れた(プゲラ
0164156
2005/11/03(木) 20:43:250165デフォルトの名無しさん
2005/11/03(木) 21:27:25VB4からはテキストだけだった。
もしかしてVB2のソースじゃないか?
ttp://www.nms.ac.jp/nms/physics/kagawa/vb6abc/vc3200.htm
0166デフォルトの名無しさん
2005/11/03(木) 21:35:52実は圧縮してあるとか。。。
0167デフォルトの名無しさん
2005/11/03(木) 22:27:49165,166見たいな事素で間違いえるヤシはいないって
0168デフォルトの名無しさん
2005/11/03(木) 22:48:51VB2以外バイナリ形式のソースは読めない。
圧縮なら解凍したらオケ。
0169デフォルトの名無しさん
2005/11/04(金) 11:37:20最小化ボタンの処理について伺いたいのですが
最小化ボタンを押したときウインドが画面左隅に最小化されてしまうんですが
タスク?に格納するにはどのようにすればいいのでしょうか?
0170デフォルトの名無しさん
2005/11/04(金) 11:39:44VBにてEXEからEXEを呼ぶことは
可能だと思いますが呼んだEXEが動いている間
呼出もとのEXEを表示できない(画面上)ように制御する
ことは可能ですか?
0171デフォルトの名無しさん
2005/11/04(金) 12:04:03標準でタスクバーに格納されるはず
偶にそういう現象を見るが、変なコード書いたか環境のせいだろ
システムがバグった時とか、全てのアプリがタスクバーに格納不可になったりするしな
> ことは可能ですか?
可能です
やり方は勉強しましょう
0172デフォルトの名無しさん
2005/11/04(金) 12:14:41フォームのタイプを変に弄ったとか
0173デフォルトの名無しさん
2005/11/04(金) 12:23:55もう少し調べてみます・・・
0174デフォルトの名無しさん
2005/11/04(金) 16:46:36ShowInTaskbar が False になってるから
>>170
外部EXEのプロセス情報が知りたい場合は CreateProcess( ) でEXEを起動すると幸せになれます
ってか、分からなければ 分からなければなりに タイマーでEXE監視とか 単純な手段も思い浮かばないのか?
もっと柔軟にアルゴリズムを考えられるように頭を訓練しましょう。
0175猫舌仮面
2005/11/04(金) 18:45:06以下のソースにより、擬似球体を描写しようとしているのですが
見えないはずの『向こう側の線』の判定をどのように扱えば分からず
困り果てております
『向こう側の線』を描写しない方法が分かればご教授下さい
↓ 拙ソース
0176猫舌仮面
2005/11/04(金) 18:47:15Piblic R,K As Integer
Function LOC_X(V1 As Integer, V2 As Integer)As Integer
Dim X,Y As Double
X = V1 * 15 * PI / 180
Y = V2 * 30 * PI / 180
LOC_X = R + Sin(X) * Sin(Y) * R
End Function
Function LOC_Y(V1 As Integer, V2 As Integer)As Integer
Dim X,Y As Double
X = V1 * 15 * PI / 180
Y = V2 * 30 * PI / 180
DK= K * PI /180
LOC_Y = R + Sin(X) * Cos(Y) * Sin(DK) * R - Cos(X) * Cos(DK) * R
End Function
'続きます ご勘弁
0177猫舌仮面
2005/11/04(金) 18:48:27Dim I,J As Integer
R = 200 '球半径
K = 20 '前傾角度
PI= 3.14159265358979
For I = 0 To 24
For J = 0 to 6
If (1) Then
With ActiveSheet.Shapes
.AddLine _
LOC_X(I+0,J+0),LOC_Y(I+0,J+0), _
LOC_X(I+0,J+1),LOC_Y(I+0,J+1)
End With
With ActiveSheet.Shapes
.AddLine _
LOC_X(I+0,J+0),LOC_Y(I+0,J+0), _
LOC_X(I+1,J+0),LOC_Y(I+1,J+0)
End With
End If
Next
Next
End Sub
0178デフォルトの名無しさん
2005/11/04(金) 18:55:19ttp://www.tt.rim.or.jp/~rudyard/torii009.html
ここ参照
0179デフォルトの名無しさん
2005/11/04(金) 18:59:22Kの値をゼロで固定したら大丈夫なはず
0180デフォルトの名無しさん
2005/11/04(金) 19:01:300181デフォルトの名無しさん
2005/11/04(金) 23:57:50プロパティの役割なんかをまとめたリファレンス的な本を探しているのですが
ネットで探してもこれ一冊しか見つけられませんでした
ttp://vbaclub.hp.infoseek.co.jp/book/BK9901.html
この本、もしくは他の本を知ってる方いますか?
いたら本の感想など伺いたいです
0182デフォルトの名無しさん
2005/11/05(土) 00:22:180183デフォルトの名無しさん
2005/11/05(土) 00:26:33んなもん腐るほどあるが、
確認の出来ない情報を掲示板で聞くなよ
ここで嘘教えられたら損するのはおまえだぜ
技術的な話なら、確認もできるけどな
ってことで、goto 本屋
0184デフォルトの名無しさん
2005/11/05(土) 00:37:01あのへんってインスコーラーに含めても大丈夫?
0185デフォルトの名無しさん
2005/11/05(土) 01:32:04入れていいものは明記されてる
それ以外は駄目
0186デフォルトの名無しさん
2005/11/05(土) 01:36:13えーとどこでしたっけ、そっけない.txtのファイルですよね確か?
0187デフォルトの名無しさん
2005/11/05(土) 01:51:51VBから「ネットの切断」が出来るようにしたいのですが
何か言い方法はありませんか?
AirHでダイヤルアップでプロバイダに接続しています。
0188187
2005/11/05(土) 02:05:29自己解決いたしました。
HangUp!!
0189デフォルトの名無しさん
2005/11/05(土) 07:09:07簡単じゃない。「陰線消去」でぐぐれ。
最近は自前で描画しないので、説明サイトも少なくなったけど。
>>176
>Dim X,Y As Double
この書き方だとXはVariantになる。
0190デフォルトの名無しさん
2005/11/05(土) 07:48:01>>176-177を実行できるようにいじって実際に動かしてみたら軽く感動した
解析しようにもSinとかCosとか、ありすぎてうまく理解できない
0192デフォルトの名無しさん
2005/11/05(土) 08:48:180193デフォルトの名無しさん
2005/11/05(土) 11:15:21>見えないはずの『向こう側の線』の判定
に使うんだと思ってた
0194デフォルトの名無しさん
2005/11/05(土) 13:32:12ソースでもあればと検索してみたのですがさっぱりでてこなかったもので・・
0195デフォルトの名無しさん
2005/11/05(土) 14:42:540196デフォルトの名無しさん
2005/11/05(土) 17:02:36VB6で作ったソフトをWEB公開しよーかなと製作中です
でも同人ソフトっぽいっていうかグレーゾーン?な感じなので
匿名でうpしたいです
実行ファイルに個人情報が入っちゃうことありますか?
パソコン所有者名、ログインユーザー名、VBのソフトの登録名、CPUのシリアルNo?
コメント文も残るのかな?
つうほうとかタイーホされないように対策とかあったら教えてください。
0197デフォルトの名無しさん
2005/11/05(土) 17:05:54また釣りか
0198196
2005/11/05(土) 17:17:25やはり、いけない事を聞いてしまったのでしょうか
0199デフォルトの名無しさん
2005/11/05(土) 17:25:570200196
2005/11/05(土) 18:00:46でも、諦めたらそこで試合終了です
とりあえずテキストでソースうpにします。親切な人が実行ファイル再うp
してくれるだろうし。
0201デフォルトの名無しさん
2005/11/05(土) 19:37:34逮捕されるような内容は作るな
やるんなら仲間内でコッソリやれ
こんな人の多い掲示板で聞くな
ちなみに>>196はIPで住所抜けるって信じているタイプ
0202デフォルトの名無しさん
2005/11/05(土) 19:47:450203デフォルトの名無しさん
2005/11/06(日) 02:06:510204デフォルトの名無しさん
2005/11/06(日) 02:11:540205デフォルトの名無しさん
2005/11/06(日) 14:23:030206デフォルトの名無しさん
2005/11/06(日) 17:09:55if drawflg then
picture1.line
endif
って文が出てきたけど,if文の条件式って,
drawflg=1 は省けるんですか?
省けるならどーゆー時に省けるんでしょうか?
0207デフォルトの名無しさん
2005/11/06(日) 17:11:190か否か
0208デフォルトの名無しさん
2005/11/06(日) 17:11:54true → 0以外
0209デフォルトの名無しさん
2005/11/06(日) 17:25:440210デフォルトの名無しさん
2005/11/06(日) 17:29:21や
(条件式) or (偽の場合の実行コード)
は使えますか?
0211デフォルトの名無しさん
2005/11/06(日) 17:31:38意味がわからない
0212デフォルトの名無しさん
2005/11/06(日) 17:33:48なんかそんな感じの。
0213212
2005/11/06(日) 17:35:12ごっちゃになってた。スマン
0214デフォルトの名無しさん
2005/11/06(日) 17:37:22>>210はショートカット演算子の事を言いたいんでしょ。
VBはショートカット演算子ではないね。
0215デフォルトの名無しさん
2005/11/06(日) 17:38:01Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)
If (MsgBox("終了しますか?", vbYesNo) = vbYes) _
And (MsgBox("本当に終了しますか?", vbYesNo) = vbYes) Then
Cancel = False
Else
Cancel = True
End If
End Sub
0216デフォルトの名無しさん
2005/11/06(日) 20:21:17VBでフォーム間の変数の値のやりとりは
標準モジュールでグローバル変数を宣言して
それを使用するしか方法はないんでしょうか?
よくグローバル変数は使うべきではないと
一般にプログラムのコーディングについて言われていますが、
VBでは結構使用されているような気がします。
みなさんはどうされていますか?
またスレ違いではありますが.NETではグローバル変数を
使用しないでフォーム間の値のやりとりができるのでしょうか?
0217デフォルトの名無しさん
2005/11/06(日) 20:41:010218デフォルトの名無しさん
2005/11/06(日) 20:59:110219デフォルトの名無しさん
2005/11/06(日) 21:49:23>VBでは結構使用されているような気がします。
プログラマの意識が足りないから。
グローバル変数を使いたい時は その変数を含むクラスを作成して
そのクラスを参照するようにする
例えば
アプリケーションクラス
┃
┣━ フォームコレクションクラス
┃ ┃
┃ ┣━ データ入力フォーム
┃ ┣━ データ印刷フォーム
┃ ┗━ データ登録フォーム
┃
┗━ グローバル宣言クラス
と言った構成で 設計したら時 データ入力フォームからグローバル変数を参照する時は
データ入力フォーム.フォームコレクションクラス.アプリケーションクラス.グローバル宣言クラス.変数
と言うふうにオブジェクト参照でできる用になる。この方法だとグローバル変数は1つも使わないでプログラムが組める。
グローバル変数をアプリケーションが持つデータとして扱う感じ。
まぁVBではあまりこんな風にやらないけどね。
0220デフォルトの名無しさん
2005/11/06(日) 21:50:22>使用しないでフォーム間の値のやりとりができるのでしょうか?
ない。あくまでも 組み方・設計。意識しない限りどんな言語使っても結果は同じ。
>フォーム間の値のやりとり
アプリケーションクラス
┃
┣━ フォームコレクションクラス
┃ ┃
┃ ┣━ データ入力フォーム
┃ ┣━ データ印刷フォーム
┃ ┣━ データ登録フォーム
┃ ┗━ フォーム間のデータやり取りクラス(コレクション階層に置くのは変か 勘弁してな)
┃
┗━ グローバル宣言クラス
俺だっからこうするかな…
0221デフォルトの名無しさん
2005/11/06(日) 21:59:02しかも2連続w
0222デフォルトの名無しさん
2005/11/06(日) 22:05:400223デフォルトの名無しさん
2005/11/06(日) 22:08:28正直、人に教えを垂れようって人間がこんなレベルじゃ。。
「グローバル宣言クラス」なんて絶対に必要ないし、
「フォームコレクションクラス 」こんなものも必要になるのはまず稀。
はっきり言って「策士策に溺れる」糞設計以外のなにものでもないね。
だいいち、糞設計は目を瞑るとしてこの質問者にそんなこと言って理解できるのかよ。
俺ならこう答えるね。
>>216
まずOOP的な考え方を勉強しましょう。
OOP的な考え方っていってもVBプログラマはコントロール操作するのに
意識せずに使っているのだから何も難しくない。
結論から言えば、他からアクセスしたい値はフォームのプロパティか
パブリックメンバにしましょう。
こういうビュー(フォーム)に直接プロパティを書いたりする設計は
よくないという人(言語マニアの学生さんに多い?)もいるが、よほど複雑な
アプリでもない限りこの方がむしろ直観的で簡単。
0224デフォルトの名無しさん
2005/11/06(日) 22:09:410225206
2005/11/07(月) 00:11:03boolean型の時ならなんとなく理解できますが、
integer型なのですけど・・・
0226212
2005/11/07(月) 00:12:030227デフォルトの名無しさん
2005/11/07(月) 00:16:44「0」か「0以外」かってのがそんなに難しいか?
0228デフォルトの名無しさん
2005/11/07(月) 00:18:24VB6のクラスはやや特種で、その中でもフォームオブジェクトはかなり特殊な位置にあるから
純粋にOOP風にしてしまうと余計にややこしくなる。
グローバル変数も計画的に使えば問題ない。正確には問題ない規模にプログラムを分割しておくことが大事だと思う。
0229デフォルトの名無しさん
2005/11/07(月) 00:26:19やーい、ばかばか
0230デフォルトの名無しさん
2005/11/07(月) 00:39:16また意味不明なことを言う。
VBのクラスが特殊だろうがなんだろうがグローバル変数なんてまず使わねえよ。
自分の理解不足や能力不足をVBのせいにしちゃダメだろ。
0231デフォルトの名無しさん
2005/11/07(月) 00:53:54Cだと論理型が無くて整数型のゼロと非ゼロで代用。Javaは論理型は整数型との混用は不可、しっかり区別している。
VBはその中間で論理型は別にあるが整数型と互換性がある、そんな言語仕様なのよ。
0232デフォルトの名無しさん
2005/11/07(月) 06:34:08純粋なオブジェクト指向というわけでないVBで、COMのためのクラスモジュールを無理にOO風に使うことや
共通モジュールとして正規に存在する機能を使わないことに意味があるか考えてみようというわけですよ。
OOの有用性はわかっているがそれなら.NETや他の言語を用いるべきで、
VB6はBASモジュールやグローバル変数を使う前提で旧来の構造化や変数のネーミングルールの範疇で
整然としたコーディングを目指すべきだと思う。
反論はあるだろうが流れと逆のことが言いたかったのですよ。
Form オブジェクトはNewなしで一つ目のインスタンスは自動生成されるわけだけど、必ずNewするぞという
ひとはどのくらいいるのかな。
0233デフォルトの名無しさん
2005/11/07(月) 08:02:350234デフォルトの名無しさん
2005/11/07(月) 08:18:06一応boolあるぜ?
BOOLじゃなくてboolな
どのみちメモリ上は数値だけどな
0235デフォルトの名無しさん
2005/11/07(月) 08:18:43俺いつもSub MainからスタートしてNewしてたぜ
0236デフォルトの名無しさん
2005/11/07(月) 08:49:25bool は C++から
>>235
俺はSub Main で Form1.Show 派
0237デフォルトの名無しさん
2005/11/07(月) 08:53:400238デフォルトの名無しさん
2005/11/07(月) 10:32:04値型も不純
0239デフォルトの名無しさん
2005/11/07(月) 12:22:52この際、flash部分を印刷するにはどうすればいいのでしょうか?
また、どこを調べればよいのでしょうか?
ご存知の方、ご教授下さい。
0240デフォルトの名無しさん
2005/11/07(月) 12:32:58意味不明。書いてることが何一つグローバル変数を正当化する理由になってない。
だから自分が足らないのをVBのせいにするなって。
>共通モジュールとして正規に存在する機能を使わないことに意味があるか考えてみようというわけですよ。
それを言うなら単に過去の資産との互換性のためやOOPが理解できないPGの
サルベージの為に残されているレガシー機能をわざわ使う意味はあるのか、でしょ。
答えは明白。そんなものは全くない。
0241デフォルトの名無しさん
2005/11/07(月) 13:00:140242デフォルトの名無しさん
2005/11/07(月) 13:20:09糞設計にならざるをえないから、普通にフォームにPublicメンバ宣言したほうがいいよね。
グローバル変数は無いほうがいいけど、使ってもいいか悪いかは語るのもマンドクセ
# 気軽に使ってもいいと言う人は再入等に意識を全く回さなかったりするからあまり関わりたくないね
VB6でOOPすると管理が煩雑になるから旧世代的な手法を使いたいっていうのは理解できる。
この辺りは言語設計が糞というより、VB6のIDEが悪いのだけれど。
# ActiveXで分割して管理するというのもできるけど吐き気がしますわ
>>241
フォーム間のデータのやり取りなら、Public変数かイニシャライザでも定義すればよろし。
アプリケーション全体に及ぶ話なら知らん。
0243デフォルトの名無しさん
2005/11/07(月) 13:27:05あれだ、クリックすると開いていろんな項目でてくるやつな
0244デフォルトの名無しさん
2005/11/07(月) 13:31:33ただのpublic変数は危険だな
>>243
田にコンポーネント名なんてねぇよ
0246デフォルトの名無しさん
2005/11/07(月) 13:55:50まあ、自分が無知だから突っ込んだ話を出せば自分が非難されるだけとわかってるのかな?
0247デフォルトの名無しさん
2005/11/07(月) 14:10:11それを含むコンポーネントなら知ってるがな
0248デフォルトの名無しさん
2005/11/07(月) 14:10:500250デフォルトの名無しさん
2005/11/07(月) 14:37:410251デフォルトの名無しさん
2005/11/07(月) 14:41:13マじゃなくたって大抵名前は知ってるし
0252デフォルトの名無しさん
2005/11/07(月) 15:43:53受け渡し用のデータオブジェクトを使う方法ならこんなとこか。
VBにはレガシーな機能が満載だから、存在する機能をなぜ使ったらいけないかを説明するのには苦労する。
レガシーな機能があることがVBの売りでもあるからなおさら。
■呼び出し側のフォーム
Dim DataObj As New 受け渡し用データクラス
Dim formPopup As New フォーム
DataObj.Data1 = 渡し
formPopup.SetData DataObj
formPopup.Show vbModal
もどり = DataObj.Data1
■呼び出される側のフォーム
Dim SaveDataObj As 受け渡し用データクラス
Public Sub SetData(ByRef DataObj As 受け渡し用データクラス)
Set SaveDataObj = DataObj
受け取り = SaveDataObj.Data1
End Sub
SaveDataObj.Data1 = 戻し
0253デフォルトの名無しさん
2005/11/07(月) 15:51:430254141
2005/11/07(月) 15:57:03ありがとうございました。
0255デフォルトの名無しさん
2005/11/07(月) 19:06:30それはグローバル変数だ。と思っている奴がいそうな気がする。
VBのクラスが他の言語のクラスに比べて特殊だろうが、
クラスにプロパティを定義できる以上、
「クラスが特殊だからグローバルを使う」なんて結論にはならない。
0256デフォルトの名無しさん
2005/11/07(月) 19:28:43VB→Delphi→PBと来たのですが不安です。
0257デフォルトの名無しさん
2005/11/07(月) 19:41:28フレームに囲まれたラジオボタン(オプションボタン)が真っ黒に描画されてしまいます。
他のコントロールにはちゃんとテーマが適応されています。
回避策があれば、教えて下さい。
0258デフォルトの名無しさん
2005/11/07(月) 19:44:22フォーム間の依存性が固定されてしまう。>>252の用にデータオブジェクトを別に準備するのがいいと思うが
データオブジェクトの代わりに呼び出し元のフォームの参照を渡すのも手だろうか?
VBにImplementというインターフェイスもどきのステートメントがあったと思うがこれは使えるのかな。
0259デフォルトの名無しさん
2005/11/07(月) 19:53:11そもそもVB6はビジュアルスタイルに対応してない
回避策はフレームを使わないことだ
0260デフォルトの名無しさん
2005/11/07(月) 20:58:26フォームはクラスだよ? だから...
クラス間のデータのやり取りで直接相手側のプロパティや公開メンバーにアクセスすると
クラス間の依存性が固定されてしまう。
↑自分で言っていて何か変だと思わない?
これって全然問題ないよね。
フォーム内部のテキストボックスとかを外部から
直接アクセスするのはなんか気持ち悪いけどさ。
0261デフォルトの名無しさん
2005/11/07(月) 21:02:030262デフォルトの名無しさん
2005/11/07(月) 21:55:19そりゃ細かい点はいろいろ違うが、OOP的に大きな違いといえるのは
引数付きのコンストラクタ作れることぐらいでしょ。
全然違うとかいって騒いでる人はVB6でもOOPしてなかった人なんじゃないの。
0263216
2005/11/07(月) 22:35:47色々な見解があるみたいですね。
>>252さんのようにクラスを作成するか、
>>223さんのようにフォームにパブリックメンバを
宣言して、アクセスするかにしようかなと思います。
自分にも理解できるやり方ですので。
ところで、このようなVBのグロバール変数をしないで
コーディングするやり方を書いたホームページや
書籍はありますでしょうか?
VBの本やホームページでここらへんについて詳しく書いた物を読んだ
ことないのですが…
0264デフォルトの名無しさん
2005/11/07(月) 23:35:11ないのか?w
0265デフォルトの名無しさん
2005/11/08(火) 00:16:26暗黙でインスタンスが生成されるフォームが特殊なのは分かるが…
継承出来ないから特殊なの?
VBのクラスはオートメーション・COMを使用+作成(IDispatch派生)の為に用意されているにしても
一つクラスから複数のインスタンスを生成できるオブジェクト指向の仕様は
取りあえずクリアしているんだからクラスはもっと積極的に活用するべきだと思う
チャンとやればデータを受け渡す為にグローバル変数なんて一切必要ないでしょ
VBでOOPするくらいなら他の言語使えってヤツほどオブジェクト指向勉強したほうがいいと思うよ
(こーゆーヤツは他言語でも変なの書くよ)
継承=オブジェクト指向 なんて勘違いしてるヤツいるだろ
よく使う ListView TreeView TabStrip なんてオブジェクト指向そのまんまだよ
用意されてるモジュールだけオブジェクト指向でなんて何か変だよ お兄ちゃん
0266デフォルトの名無しさん
2005/11/08(火) 00:37:37日付、時間、名前という3つの要素をもつType型のデータ型を作成しました。
これらのデータはユーザからランダムに入力されます。
最終的に日付と時間の昇順でソートしたいのですがVB6だとSORTのメソッドは
自作しないとだめなのでしょうか?継承とかして作るのはムリ?
0267デフォルトの名無しさん
2005/11/08(火) 00:50:160268デフォルトの名無しさん
2005/11/08(火) 01:30:340269デフォルトの名無しさん
2005/11/08(火) 02:56:13COMのオブジェクトモデルには実体継承が無い。
分散用のオブジェクトモデルで、あるのはインターフェイスのみ。このため包含と委譲が基本となる。
今はインターフェイス万歳が時流だからもしかしたらひょっとしたら時代を先取りしていたのかも知れない。
0270デフォルトの名無しさん
2005/11/08(火) 02:58:39>フォームはクラスだよ? だから...
>>252に対して、こういうことがしたいわけです。
■呼び出し側のフォーム
Impliments 受け渡し用データクラス
Dim formPopup As New フォーム
formPopup.SetData Me <−自分への参照が渡せる。
formPopup.Show vbModal
>これって全然問題ないよね。
ごもっとも言葉足らずでした。言いたかったのは呼び出される側のフォームから
呼び出し側のフォームの公開メンバーへ直接アクセスすることが問題で、
呼び出し側が変わっても対応可能なようなコールバックの手段を準備しましょうということです。
0271デフォルトの名無しさん
2005/11/08(火) 08:49:02フォームが暗黙でインスタンス作成されるんじゃなくて、
スタートアップに指定されたフォーム「のみ」が暗黙でインスタンス作成されるんだよ
フォーム自体が特殊なんじゃない
0272デフォルトの名無しさん
2005/11/08(火) 12:10:24Dim MyForm As New Form1 : MyForm.Show
でなくて
Form1.Show
でインスタンス作成されることを言ってるのだと思う。
0273デフォルトの名無しさん
2005/11/08(火) 12:18:41そうなるとメンテ対象のプログラムがOOで作られてればそれで
そうでなければOOなしで作ればいい。
・・・とわざと煽ってみる。
0274デフォルトの名無しさん
2005/11/08(火) 14:01:21デフォは灰色ですよね。
白にしたいと思っているんですが
どなたか、お願いします。
0275デフォルトの名無しさん
2005/11/08(火) 15:01:59オーナードロー。TCS_OWNERDRAWFIXED とか WM_DRAWITEM でググれ。
0276デフォルトの名無しさん
2005/11/08(火) 15:14:23CSVファイルを取り込むプログラムを作っています
CSVはカンマで区切られ、全項目(数値項目も)が""で囲まれています
""内にカンマや"がある場合を考慮した場合、
一項目づつ取得するしかないのでしょうか?
効率のよい方法とかありましたら教えてください
0277デフォルトの名無しさん
2005/11/08(火) 15:34:06はい
つーかCSVの仕様って"や,使っちゃいけないんだよな
なのに何故かそれらを入れたCSVもどきを吐き出すソフトが結構ある
"や,を使いたい場合はTSV使えよ
0278デフォルトの名無しさん
2005/11/08(火) 16:20:14ADOでCSVを読み込む。
""内の"は確認してないけど、""内にカンマや改行が入っていてもいける。
0279デフォルトの名無しさん
2005/11/08(火) 17:42:580280デフォルトの名無しさん
2005/11/08(火) 18:37:04CSVの正式な仕様ってのは存在しないよ。
データをカンマで区切っていればそれはCSV。
だから"が入っていてもいい。
カンマは区切り記号だから、そのままではデータとして入れられない。
その場合は"で囲めばOKってのもあるが、もちろん正式な仕様として決まっているわけじゃない。
0281デフォルトの名無しさん
2005/11/08(火) 18:52:39さすがVBスレって感じだなw
0282デフォルトの名無しさん
2005/11/08(火) 23:06:06そんな負け犬の遠吠えみたいな発言するやつはVB使いじゃないな。
なにか反論したいのなら、ソースでももってこい。
たとえば http://ja.wikipedia.org/wiki/CSV とかな。
もっとも、俺が言ったことは正しいから、どっちみち何の反論もできないだろうが。
> カンマ区切りテキストには、正式な仕様書が無いため、
> ExcelのCSV出力がデファクトスタンダードとなる事が多い。
> たとえば、項目中にカンマを入れるにはどうすればいいかという問題に対しては、
> 項目をダブルクォート(")で括り、ダブルクォート自体はどうするかというと、
> 二つ重ねることで対処するという。もっとも、全てのソフトが対応しているというわけではない。
毎度のことだが、VBを馬鹿にするやつは、本当に馬鹿だな。さてはて何言語厨なのやら。
0283デフォルトの名無しさん
2005/11/08(火) 23:29:02豪語してるわりには、ソースが
「素人共が自由に編集できる百科事典」
ってのが素敵だとは思いませんか?
しかもそれを得意げに引用しちゃったりしてw
0284デフォルトの名無しさん
2005/11/08(火) 23:37:53では素人ではない貴方様に是非書き直していただきとう存じます。
0285デフォルトの名無しさん
2005/11/08(火) 23:38:300286デフォルトの名無しさん
2005/11/08(火) 23:44:240287デフォルトの名無しさん
2005/11/08(火) 23:46:170288デフォルトの名無しさん
2005/11/08(火) 23:51:09しかも自分は何一つ反論できていないし。
馬鹿アンチって何に対してもアンチなんだね。
ばればれの自演も恥ずかしい。
0289デフォルトの名無しさん
2005/11/08(火) 23:52:02オープンな百科事典だから信用できないっていう
後進国的・北朝鮮的なご公儀マンセー的センスもどうかと思うが、
傍証の情報源が怪しかろうがなんだろうが>>282が正しい。
0290デフォルトの名無しさん
2005/11/08(火) 23:52:36> この「カンマ区切りテキスト」は、コンピュータに関連した書きかけ項目です。
> この記事を加筆・訂正などして下さる協力者を求めています。
0291デフォルトの名無しさん
2005/11/08(火) 23:53:300292デフォルトの名無しさん
2005/11/08(火) 23:53:46早く修正しろ!w
0293デフォルトの名無しさん
2005/11/08(火) 23:59:56現実として間違ったことを書くことも出来る辞典だからソースにはならないって事実だけで。
あそこは調べものの足がかりには便利だけど、鵜呑みには出来ないものだからな
0294デフォルトの名無しさん
2005/11/09(水) 00:02:28馬鹿じゃないの?
ソース[source]はもともと単に源という意味。
そういうセンスが後進国的なんだよw
こういう馬鹿が朝日新聞に煽られて無謀な戦争(略
0295デフォルトの名無しさん
2005/11/09(水) 00:02:30それをせずに、間違っていることもある(そんなのどの辞書にもあてはまる)というだけで、
反論した気になっている厨さん。こんにちはw
0296デフォルトの名無しさん
2005/11/09(水) 00:03:21自己フォローに必死な方が居ますね
0297デフォルトの名無しさん
2005/11/09(水) 00:04:570298デフォルトの名無しさん
2005/11/09(水) 00:05:25この流れを読むと>>282が正しいという結論なんだが、
それでいいんだよね。
0299デフォルトの名無しさん
2005/11/09(水) 00:06:12もう暫く踊ってく?
|> ・はい
・いいえ
0300デフォルトの名無しさん
2005/11/09(水) 00:06:170301デフォルトの名無しさん
2005/11/09(水) 00:11:09その実態はちょっと他の言語を使って初心者脱出したと
思っている初心者である。
煽っている相手をVBしか使えないと勘違いしているが、
そのVBもほかの言語も使いこなしている人たちなので
逆に追い詰められ恥をかく。
今回のやつ(CSVに正式な仕様があるとか思っている人)もその一人だね。
0302デフォルトの名無しさん
2005/11/09(水) 00:12:030303デフォルトの名無しさん
2005/11/09(水) 00:13:570304デフォルトの名無しさん
2005/11/09(水) 00:15:210305デフォルトの名無しさん
2005/11/09(水) 00:21:44解読中か(・∀・)ニヤニヤ
0306デフォルトの名無しさん
2005/11/09(水) 00:23:44その一個人が書いた資料がどうかしたの?
CSVはかなり昔からあるのに、Copyright 2001って書いてあるから
信頼性がない。
>>304
間違っているのなら修正するのがwikipedia
ほら。さっさと修正して来いw
0307デフォルトの名無しさん
2005/11/09(水) 00:27:560308デフォルトの名無しさん
2005/11/09(水) 00:28:24そういう機関が発行しているものを言うんだよ。
変なソース持ってきて後悔して、いま必死に
自己フォローの手段を考えているころでしょう。
0309デフォルトの名無しさん
2005/11/09(水) 00:30:57Wikipediaを挙げた時点でおまえは終わった
0310デフォルトの名無しさん
2005/11/09(水) 00:31:03これは事実だからソースの挙げようがない。
0311デフォルトの名無しさん
2005/11/09(水) 00:31:58このまま放置されたら、かわいそうだから、
このドキュメントの信頼性でも議論しようよw
0312デフォルトの名無しさん
2005/11/09(水) 00:33:21wikipediaは正しい情報もたくさんあるんだが?
間違いだというのなら、それを今修正するべきだし、
修正できないのなら、それは正しいと思われても仕方がない。
0313デフォルトの名無しさん
2005/11/09(水) 00:35:46まあ、オープンな百科事典ならその程度のレベルでもいいよね
普通は「正しい情報もたくさんある」なんてレベルじゃ使えないけど
0314デフォルトの名無しさん
2005/11/09(水) 00:42:40wikipediaは誰でも修正できるために、従来の辞典とは性質が違う。
こうして間違いだと言い張る人は、信頼性があるソースをもとに
修正できる。
間違いを気づかれない情報ならまだしも、今ここで気づかれているのに
今ここで修正されないのなら、その情報は正しいものといっても問題ない。
実際正しいんだがなw
ちなみに、英語版のwikipediaにも正式なドキュメントはないって書いてあったよ
0315デフォルトの名無しさん
2005/11/09(水) 00:44:080316デフォルトの名無しさん
2005/11/09(水) 00:45:370317デフォルトの名無しさん
2005/11/09(水) 00:47:17そういう発想が先進国的な常識なんだけどね。
オープンであるがゆえに信頼可能っていうね。
それを田舎者はご公儀でない馬の骨の書いた物など信頼に足らぬと来る。
昔タモリが名古屋のことを大いなる田舎って呼んだけど、
本当は日本全体が名古屋なんだよな。
0318デフォルトの名無しさん
2005/11/09(水) 00:47:21疑いを持った人が修正すべきだし、
それをしなければ本当だと思われても仕方ないという話だと思うが?
0319デフォルトの名無しさん
2005/11/09(水) 00:48:30クリレポ10で「SQLの表示」で表示されるSQLの修正はできないのでしょうか?
クリレポ9とかだとできましたよね?
現在VB6+クリレポ9で作成したアプリをVB6+クリレポ10対応させているのですが
上記の処理ができず、どうにもこうにも困っています。
できるのかどうか、もし出来るようでしたら
方法も教えていただけないでしょうか?
教えてちゃんですみませんが、
どうぞよろしくお願いします。
0320デフォルトの名無しさん
2005/11/09(水) 00:49:53折角踊りを見ながら楽しく飲んでたのに。
0321デフォルトの名無しさん
2005/11/09(水) 00:52:440322デフォルトの名無しさん
2005/11/09(水) 00:55:55とりあえず両者に対してひとつだけ言っておく。
Wikipediaが正しいと言うなら>>303も正しいと言うに足るものだ。
>>303が正しいと言うならWikipediaも正しいと言うに足るものだ。
Wikipediaが信頼性に劣る言うなら>>303も信頼できないものだ。
>>303が信頼性に劣る言うならWikipediaも信頼できないものだ。
この二つの信頼性は高いか低いかは別として、どちらが上と言えるものではない。
漏れはどっちにも肩入れしないけどね。
0323デフォルトの名無しさん
2005/11/09(水) 00:58:08反論してる香具師らも>>282きんもー☆とだけ書けば良いんだよ。どうせCSVの規格なんかに興味ないんだろ?
0324デフォルトの名無しさん
2005/11/09(水) 00:58:12踊ってくれるなら見ていくし、踊ってくれないなら寝る。
0325デフォルトの名無しさん
2005/11/09(水) 01:03:16>>282きんもー☆
と書くとまた自作自演扱いかな
0326デフォルトの名無しさん
2005/11/09(水) 02:42:57CSVについて語りたいならVIPにでも逝け
0327デフォルトの名無しさん
2005/11/09(水) 07:21:23>踊ってくれるなら見ていくし、踊ってくれないなら寝る。
きもっ
0328デフォルトの名無しさん
2005/11/09(水) 09:39:230329デフォルトの名無しさん
2005/11/09(水) 11:13:07ADOで対応している形式のCSVファイルの場合はね
0330デフォルトの名無しさん
2005/11/09(水) 20:02:00どんな理由が考えられますか?
0331デフォルトの名無しさん
2005/11/09(水) 20:08:590333デフォルトの名無しさん
2005/11/09(水) 22:40:57モーダル表示にすると ShowInTaskbar に True してもタスクバーに表示されない
Sub Main( )で フォームをモーダル表してるか見てみ
0334デフォルトの名無しさん
2005/11/09(水) 23:09:47宣言セクションで変数を宣言する場合
Private hoge
Dim hoge
の違いって何なんですか?
もし違いが無いとしたらどちらを使うのが正しいのですか?
ググってもPublicとPrivateの違いは腐るほど解説があるけどこれは見つからないです
0335デフォルトの名無しさん
2005/11/09(水) 23:13:120336334
2005/11/09(水) 23:35:03Public aPublic
Private aPrivate
Dim aDim
と宣言してみると、外部からはaPublicしか参照できませんでした
なので少なくとも「DimはPublic」というのは間違いなようですが
0337デフォルトの名無しさん
2005/11/09(水) 23:38:540338デフォルトの名無しさん
2005/11/09(水) 23:45:48Dim:変数を宣言し、メモリ領域を割り当てます。
Private:プライベート変数を宣言し、メモリ領域を割り当てます。モジュール レベルで使用します。
Public:パブリック変数を宣言し、メモリ領域を割り当てます。モジュール レベルで使用します。
恐らく、PrivateとPublicはモジュールレベル、Dimはプロシージャレベルで使うという考えなのだと思う
昨日的にどっちかでしかつかえないような規制は無いけどな
0339334
2005/11/09(水) 23:46:230340デフォルトの名無しさん
2005/11/09(水) 23:53:01VB.NET発売と同時にVB6を切り捨てたところだよな。
いちおー、今でもVB6で開発運用されているところはたくさんあるわけだから、
VB.NETにVB6をつけるべきだった。
0341デフォルトの名無しさん
2005/11/09(水) 23:57:170342334
2005/11/10(木) 00:00:13MSDNは読みましたし、他でも大抵同じような解説がされてますが、
>>334で書いたとおり宣言セクションでのPrivateとDimの扱いの違いを解説してるところが見つからないのです
モジュールレベルの宣言ではPrivateとDimに違いは無いがPrivateを使うべきということなのでしょうか?
自分の持ってるVB6の本では、一方は一律してPrivateでの宣言しか無く、
もう一方ではモジュールレベル変数もDimで宣言してあり、注釈としてPrivateを使っての宣言も出来ると書いてあります
両者とも違いについては触れてませんし、同じものだとも書いてません
0343デフォルトの名無しさん
2005/11/10(木) 00:06:26まずそもそも、モジュールレベルの変数は全て、PublicかPrivateの外部からのアクセスに対する設定が必要なのだから
Publicに対するにPrivate
あとその注釈はおかしいな
Privateがまるでオマケのように聞こえる
0344デフォルトの名無しさん
2005/11/10(木) 00:25:12多分その本のレベルがソレ程度なんだよ。
その本 入門書?
「モジュール内での Private と Dim は機能が同じなんだから 初心者にはその違いを詳しく解説する必要ない」
とかじゃない?
本に書いてないからって あまり気にしない方がいいよ
0345デフォルトの名無しさん
2005/11/10(木) 00:34:49Dimはモジュールの種類ごとの標準の動作をするということのようです。
C++のclassが標準Privateでstructが標準publicなのと似ている感じです。
0346デフォルトの名無しさん
2005/11/10(木) 01:26:48MSDNになかったか?
0347デフォルトの名無しさん
2005/11/10(木) 08:25:440348デフォルトの名無しさん
2005/11/10(木) 11:06:14あの、そびえたつ糞のような仕様は
もっと早く切り捨てるべきだった。
0349デフォルトの名無しさん
2005/11/10(木) 11:22:38hp basicでは↓VB6.0ではこの計算する方法ありますか?
10 PRINT EXP(CMPLX(0,-1))
20 END
0350デフォルトの名無しさん
2005/11/10(木) 11:34:130351デフォルトの名無しさん
2005/11/10(木) 11:53:050352デフォルトの名無しさん
2005/11/10(木) 13:03:56e^(-i) を求めるものだとしたら
VB標準では高度な数学関数がないから無理
自作するか、↓を使うとか
VBで複素数演算DLL
ttp://www.vector.co.jp/soft/win95/prog/se115041.html
0353デフォルトの名無しさん
2005/11/10(木) 14:15:35352さんのとおりです。
>>352
やはり、その方法しかないようですね。
自作する能力はないけど、買うのはなー
いづれにしてもありがとうございました。
0354デフォルトの名無しさん
2005/11/10(木) 14:35:35いずれ→○
0355352
2005/11/10(木) 14:45:19とりあえずこの答えだけを求めたいなら
e^(iθ)=cosθ+isinθ(オイラーの公式)
より
e^(-i)=cos(-1)+isin(-1)
cos(-1), sin(-1)はVBでも計算できる。
汎用性を求めたいなら >>352
p.s.
google に 数式 e^(-i) を入れて「検索」で計算できる
0356デフォルトの名無しさん
2005/11/10(木) 15:42:31ありがとうございました。
googleにそんな機能があるとは・・・
あっ・・354さん も
ありがトン。
0357デフォルトの名無しさん
2005/11/10(木) 16:05:23海外サイトのネット通販したいんですが、決済するところで下記のようなエラーメッセージが
でます。ぐぐって調べたのですが
「adNumeric フィールドを変換するために、 CDbl または CInt 関数を使います。」
とありましたが、CDbl,CIntの使い方が分かりません。ご教授下さい。
Error Type:
Microsoft VBScript runtime (0x800A000D)
Type mismatch: 'rs'
/eshop/cartlib/GetCst.asp, line 34
因みに↓に原因や解決方が書いてありましたが・・・です・・・・orz
ttp://support.microsoft.com/default.aspx?scid=kb;ja;306916
宜しくお願いします。
0358デフォルトの名無しさん
2005/11/10(木) 16:08:550359デフォルトの名無しさん
2005/11/10(木) 16:57:55無理です。
諦めましょう。
0360デフォルトの名無しさん
2005/11/10(木) 17:05:51どう見ても精子です。
ありがとうございました。
0361デフォルトの名無しさん
2005/11/10(木) 17:47:15コントロールパネルの地域設定をU.S.に設定してダメなら諦める。
0362デフォルトの名無しさん
2005/11/10(木) 19:16:51QuickBASICから普通の変数宣言にも使われるようになった。
VB2では、まだPrivateとPublicは無く、宣言セクションにはDimとGlobalを
書いた。宣言セクションのDimがモジュールレベルスコープ(後のPrivate)だった。
(フォームモジュールの宣言セクションにはDimしか書けなかった)
VB4でPrivateとPublicが導入されて、Globalと、宣言セクションでのDimは
古くなったが、互換性を考慮して、それぞれPublicとPrivateの意味で
残されている。
新参のプログラマーに宣言セクションでのDimを教えるのは推奨されない。
0363デフォルトの名無しさん
2005/11/10(木) 19:49:220364デフォルトの名無しさん
2005/11/10(木) 20:42:47社員コードを渡すと社員名を返してくれる
PL/SQLのFUNCTIONがあります
VBでこのFUNCTIONを実行し、社員名を受け取るのはどうすればいいですか
0365デフォルトの名無しさん
2005/11/10(木) 20:46:160366デフォルトの名無しさん
2005/11/10(木) 20:48:22ttp://homepage2.nifty.com/sak/w_sak3/doc/sysbrd/vb_s28.htm
0367デフォルトの名無しさん
2005/11/10(木) 21:26:51おいおいw
それを言うならVBやること自体(w
0368デフォルトの名無しさん
2005/11/10(木) 21:30:09ウザイから消えてね。
0370デフォルトの名無しさん
2005/11/10(木) 21:46:54なんだかな。
こういう奴って自分に自信がないから、誰かが自分を否定しないかいつもビクビクしてるのかな。
企業の上司でも学校の先生でもいいけど、
新参者に今からVB教えたりしないだろ。少しでも良心があるなら。
まともな神経してれば、「新参者に〜」なんてセリフはギャグにしか聞こえん。
0371デフォルトの名無しさん
2005/11/10(木) 21:48:250372デフォルトの名無しさん
2005/11/10(木) 21:51:27VBの仕事はまだあるっちゅうの。
今使うのに、将来使わないからやらないなんて言っていたらクビになるぞ。
0373デフォルトの名無しさん
2005/11/10(木) 21:51:410374デフォルトの名無しさん
2005/11/10(木) 21:59:53まあ「その人」を使い捨てにするつもりならそれでもいいんじゃないの。
それ以前に機会費用って概念がない甘いお人のようが気がするけどね。
0375デフォルトの名無しさん
2005/11/10(木) 22:04:51最もウザいわけだが。
0376デフォルトの名無しさん
2005/11/10(木) 22:06:23お前はVB"だけ"を教えるとでも思っているのか。
今VBで作られている物を、誰が保守するんだと。
全部VB.NET作り変えろとでも?
今VB知っている人がいつまでも保守しろと?
言語を勉強のための物としか発想がない、
実践を知らない学生が言いそうなこった。
0377デフォルトの名無しさん
2005/11/10(木) 22:09:30> 新参者に今からVB教えたりしないだろ。
今VBを使っている所(沢山ある。特に保守は。)なら教える。
ものすっごーく当たり前のことだと思うが?
0378デフォルトの名無しさん
2005/11/10(木) 22:35:360379デフォルトの名無しさん
2005/11/10(木) 22:56:15プログラマ以前にリーマンとして三流の発想だと思うよ。
人間の能力や気力、それに与えられた時間は有限だから、まともな企業人なら
機会費用というものを考えるべきだし、物事にはプライオリティがある。
だから「新参の」プログラマにVBを教えたりしない。まともな企業人ならね。
そんなものは後々他の仕事の合間か、本当に必要にせまられたときに覚えてもらえればいい。
はっきりいってその程度のことも考えないのは職務不履行だよ。
まあそんなこと考える立場にない人なんだろうけどさ。
0380デフォルトの名無しさん
2005/11/10(木) 23:04:350381デフォルトの名無しさん
2005/11/10(木) 23:22:10まとも、まとも うるさいよ。
君が言いたい事はよく分かる。
「俺の理想通りだとまとも。それ以外はまともじゃない。」といいたいんだろ。
自分が気に食わなかったら、それをまともじゃない決め付け
頭っから否定する。話を聞こうともしない。
はっきりいって、君に、まともかどうか判断する能力は無い。
頭が固い人間がよく使う手だよ。宗教関連でもよく使われるね。
信じていないといったら、かわいそうな人と決め付ける。
0382デフォルトの名無しさん
2005/11/10(木) 23:24:20本当に必要に迫られたときかもしれんだろ。
機会費用を考えた結果かもしれんだろ。
お前、一体相手の何を知っているというんだ。
なにも状況がわからないくせに、よくそんな偉そうなこといえるな。
0383デフォルトの名無しさん
2005/11/10(木) 23:25:080384デフォルトの名無しさん
2005/11/10(木) 23:26:09どこかよそでケツでも掘りあってろ。
0385デフォルトの名無しさん
2005/11/10(木) 23:33:21だからこそ、旧VBの保守が最優先事項の場合もある。
他言語はやっているが、VBは新参というプログラマーもいる。
これが現実。
0386デフォルトの名無しさん
2005/11/10(木) 23:33:480387デフォルトの名無しさん
2005/11/10(木) 23:37:27ま と も な 奴 ならねw
0388デフォルトの名無しさん
2005/11/10(木) 23:46:070389デフォルトの名無しさん
2005/11/11(金) 00:03:54>>342
Understanding the Scope of Variables
ttp://msdn.microsoft.com/library/en-us/vbcon98/html/vbconunderstandingscopeofvariables.asp
>At the module level, there is no difference between Private and Dim, but Private is preferred because it readily contrasts with Public and makes your code easier to understand.
日本語翻訳ドキュメントがもうWeb上になかったようなので本家英語サイトより
正規ユーザーならMSDN Lib日本語版に同じ箇所があるはず。
が、MSが好きならw(好まざるともw)この程度の英語は理解して欲しいw
ついでこの辺りも。
ttp://msdn.microsoft.com/library/default.asp?url=/library/en-us/vbcon98/html/vbconAdvancedVariableTopics.asp
0390362
2005/11/11(金) 23:41:45そこ論点じゃないよ>>367
話を広げたいんなら、ここは質問と回答を書くところなんだからスレ違いですよ。
「VBばかりやってると馬鹿になる」スレかどっかでやってくらさい。。。
0391デフォルトの名無しさん
2005/11/12(土) 12:18:23IEのプロクシの設定はどうやったらいいのでしょうか?
色々調べたのですが、なかなかたどり着きません。
よろしくお願いします。
0392デフォルトの名無しさん
2005/11/12(土) 12:20:290393デフォルトの名無しさん
2005/11/12(土) 12:35:550394デフォルトの名無しさん
2005/11/12(土) 13:01:41VB6だからなんなんだ
IEのツール→インターネットオプション→接続タブ→LANの設定ボタン→串鯖
>>393
.netスレ逝け池沼
0395デフォルトの名無しさん
2005/11/12(土) 13:12:31VBを使ってIEの設定を変えるって事じゃないんかな?
0396391
2005/11/12(土) 13:14:440397デフォルトの名無しさん
2005/11/12(土) 15:52:550398デフォルトの名無しさん
2005/11/12(土) 16:09:180399デフォルトの名無しさん
2005/11/12(土) 16:42:360400デフォルトの名無しさん
2005/11/12(土) 16:44:070401デフォルトの名無しさん
2005/11/12(土) 17:26:27毎回粘着して無駄にレス続けてるし。
0402デフォルトの名無しさん
2005/11/12(土) 17:33:09スレ違いだな。
0403デフォルトの名無しさん
2005/11/12(土) 18:25:470404デフォルトの名無しさん
2005/11/12(土) 18:53:270405391
2005/11/12(土) 19:09:160406デフォルトの名無しさん
2005/11/12(土) 19:14:530407デフォルトの名無しさん
2005/11/13(日) 01:59:01VB自前は無理なんでね?
他言語のサンプル見つけてVBに書き直すのが速いかも
0408デフォルトの名無しさん
2005/11/13(日) 03:43:23WMIでできねかい?とシラネのに言ってみるw
VCスレはアレだからWSHスレで聞いてみw
0409デフォルトの名無しさん
2005/11/13(日) 08:20:360410デフォルトの名無しさん
2005/11/13(日) 12:11:33宿題は自分でやれよ。
つーかこんなところで聞かずに友人に聞け。
0411デフォルトの名無しさん
2005/11/13(日) 12:13:570412デフォルトの名無しさん
2005/11/13(日) 13:00:480413デフォルトの名無しさん
2005/11/13(日) 13:14:090414デフォルトの名無しさん
2005/11/13(日) 15:36:160415デフォルトの名無しさん
2005/11/13(日) 17:47:41解きました
0416デフォルトの名無しさん
2005/11/14(月) 01:29:30IEの設定ってレジストリの変更だけじゃないのか?
変更前のレジストリをテキストファイルに書き出し、変更後のレジストリをテキストファイルに書き出しその差分を取ってそこで変わった内容と同じ事をプログラムから実行してやれば良い。
0417デフォルトの名無しさん
2005/11/14(月) 01:32:550418デフォルトの名無しさん
2005/11/14(月) 02:29:06取得したいのですが、どのようにすればよいでしょうか?
初歩的な質問で申し訳ありません、よろしくお願いします。
0419デフォルトの名無しさん
2005/11/14(月) 04:33:48WM_CLOSE
ウィンドウが閉じられる直前に送られてくる
0420デフォルトの名無しさん
2005/11/14(月) 07:21:59QueryUnload イベント
フォームが閉じられる直前に発生する。
Unload Me でも発生する。
0421デフォルトの名無しさん
2005/11/14(月) 08:11:34フォームが閉じられる時に発生する
0422デフォルトの名無しさん
2005/11/14(月) 10:11:59(follist(0)は親フォルダのパスで、1以降にサブフォルダのフルパスを列挙)
Private follist(0) As String
Private fsfol As Folder
Private Sub Command1_Click()
Dim MainPath As String
MainPath = "\\ServerPath\AB共有\プログラム\開発"
follist(0) = MainPath
Call sfoldersearch(fso.GetFolder(MainPath))
End Sub
Private Sub sfoldersearch(ByRef myfolder As Folder)
With myfolder
If .SubFolders.Count > 0 Then
For Each fsfol In .SubFolders
ReDim Preserve follist(UBound(follist) + 1) As String
'見つかったサブフォルダをリストに追加
follist(UBound(follist)) = fsfol.Path 'ココがオカシイ
'再帰的に関数を呼び出し
Call sfoldersearch(fsfol)
Next
End If
End With
End Sub
'ココがオカシイ の部分で、サブフォルダのパスが変に取得されてしまいます
"\\ServerPath\AB共有\プログラム\開発\新しいフォルダ"があったとしたら、
"\\ServerPath\ABq \プログラム\開発\新しいフォルダ"というように「共有」が
「q 」(後ろのスペースは3桁のスペース・・Nullかもしれません)
0423422
2005/11/14(月) 10:13:48"\\ServerPath\AB共有"と、ちゃんと化けずに取得できます
これは、どういう現象なんでしょうか
ちゃんとパス名を取得するには、どうしたら良いでしょうか
0424デフォルトの名無しさん
2005/11/14(月) 10:45:370425デフォルトの名無しさん
2005/11/14(月) 12:43:00再帰呼び出しされる関数内で使うってどうなのよ。
しかもByRefで。
正直、小手先でどうこうするのがオカシイというより、
プログラミングに対する考え方そのものがオカシイ。
0426デフォルトの名無しさん
2005/11/14(月) 13:17:28質問者は一般に質問する事柄について詳しくないんだから
あいまいな記述が出てきて当たり前だろ。
そのなぞなぞも質問のうちだ。
0427デフォルトの名無しさん
2005/11/14(月) 13:48:52うるせーよ、このしったかが
0428422
2005/11/14(月) 14:06:22既にある資源を活用したいので、
それはどうにもならなかったときにしたいです
>>425
何がマズいのかもよくわからないです
ごめんなさい
暗黙の了解みたいなのがあるんでしょうか
0429デフォルトの名無しさん
2005/11/14(月) 15:07:430430422
2005/11/14(月) 15:28:27すみません
手元に他の人が書きかけてそのままだったコードがあったので、
新しくAPIとか調べていちから書くよりも、極力それを利用したい、ってことです
というか、質問取り下げます・・・
私のレベルでは、質問もうまく書ききれてないみたいで、ごめんなさい
>>424さんの言うとおり、APIでの書き方を調べてみます
ありがとうございました
0431デフォルトの名無しさん
2005/11/14(月) 17:25:53どーしたら良いのでしょうか?
0432デフォルトの名無しさん
2005/11/14(月) 17:30:27スクロールバーのコントロールがあるでしょ?
0433デフォルトの名無しさん
2005/11/14(月) 17:30:42画像が大きすぎるので何とかしたいのです.
さらに解像度はそのままにしたいです
0434デフォルトの名無しさん
2005/11/14(月) 17:31:36HScrollとVScroll
0435デフォルトの名無しさん
2005/11/14(月) 17:32:50pictureboxを2つ重ね合わせるのですか?
ただ,画像が大きすぎるのか,画像全体を表示出来ないんですが
(フォームを最大にしても足らない)
どうしたら良いのでしょうか?
0436デフォルトの名無しさん
2005/11/14(月) 17:34:46Pictureの中にPicureとスクロールでも貼り付けてイベントとか計算とか書けば?
0437デフォルトの名無しさん
2005/11/14(月) 18:30:01VB6.0付属のヘルプ「スクロール バー コントロールの使用例 :
スクロール可能なグラフィックス ビューポートの作成」
0438デフォルトの名無しさん
2005/11/14(月) 20:39:13VB6.0で作成したOLEクライアントから利用する方法を教えてください。
1: Dim Click As Object
2: Set Click = CreateObject("AutoClick.Document")
3: Click.ShowWindow
4: Call Click.SetAllProps(50, 100, "Test")
5: Dim Point As Object
6: Set Point = Click.GetPosition()
7: Point.SetX (200)
8: Point.SetY (50)
9: Click.SetPosition (Point)
10: Set Point = Nothing
11: Set Click = Nothing
4行目までは正常に実行されるのですが、6行目で「オブジェクトは、このプロパティまたはメソッドをサポートしていません。」とエラーが出てしまいます。
OLEメソッドの戻り値をOLEプロパティで受け取る方法がわかりません。
0439デフォルトの名無しさん
2005/11/14(月) 21:09:09SCRRUN.DLL最新Verのバグかもしれん。
いっこまえのVer.5.6.7426では起こらなかったが、
5.6.8825だとうちの環境でも同じとこで文字化けした。
API使うのがいいよ。
#なんか昔のバージョンでも、同じバグがあった気がする・・・
0440デフォルトの名無しさん
2005/11/14(月) 21:45:47すみません下記のコードで解決しました。
1: Dim Click As Object
2: Set Click = CreateObject("AutoClick.Document")
3: Click.ShowWindow
4: Call Click.SetAllProps(50, 100, "Test")
5: Dim Point As Object
6: Set Point = Click.Position
7: Point.x = 200
8: Point.y = 50
9: Click.Position = Point
10: Set Point = Nothing
11: Set Click = Nothing
VC++のOLEクライアントのサンプルを参考にVBで実装してみたのですが
GetPosition()メソッドはVC++のスタブクラスが用意している物であり、
OLEとして外部に公開している名前は"Position"でした。お騒がせしました。
0441デフォルトの名無しさん
2005/11/15(火) 11:27:14学校の課題が3つ出たのですが意味不明なので力をお借りしたく。
1・繰り返しを利用して、九九の表を表示するプログラムを作成せよ
2・自然数nを入力すると、各i(i=1,2,3,...,n)に対して、1+2+3+...+nを計算するプログラムを作成せよ
3・自然数同士の乗算を加算の繰り返しで計算するプログラムを作成せよ
解かる問題だけでもどなたかお願いします・・・
0442デフォルトの名無しさん
2005/11/15(火) 11:36:55出された課題を自力で調べて解決しようともせんやつは何やっても無駄
0443デフォルトの名無しさん
2005/11/15(火) 11:38:37意味不明って……
ちゃんと勉強しろよ
0444デフォルトの名無しさん
2005/11/15(火) 12:31:40Dim I As Long
Dim J As Long
'1
For I = 1 To 9
Debug.Print CStr(I); "の段 ";
For J = 1 To 9
Debug.Print CStr(I * J); " ";
Next J
Debug.Print
Next I
Debug.Print "wwwwwwwwwwwwwwwwwwwwwww"
0445質問
2005/11/15(火) 12:51:08なんとかなりません?
0446デフォルトの名無しさん
2005/11/15(火) 12:58:32:で結ばなきゃいい
0447デフォルトの名無しさん
2005/11/15(火) 13:06:070448デフォルトの名無しさん
2005/11/15(火) 13:24:10どうにでもなるよ
Ifステートメントがどういう物なのかわかってればね
でもマルチステートメントなんか使うなよ
0449質問
2005/11/15(火) 13:30:54のようにしたいのですが、間に:を入れても駄目です。
Ifステートメントとはどういったものでしょう?
0450デフォルトの名無しさん
2005/11/15(火) 13:44:50好きにすれば?
つーか、それならマルチステートメント使うまでもないじゃん
0451デフォルトの名無しさん
2005/11/15(火) 13:59:200452デフォルトの名無しさん
2005/11/15(火) 14:02:051行でIfを使う場合はEndIFは付けない。
If x = 0 Then y = 1 Else y = 2
1行Ifでのマルチステートメント
If x = 0 Then y = 1: z = 8 Else y = 2: z = 9
0453質問
2005/11/15(火) 14:08:060454デフォルトの名無しさん
2005/11/15(火) 14:08:362.
Private Sub Test(ByVal n As Long)
Dim i As Long
For i = 1 To n
Debug.Print i, i * (i + 1) \ 2
Next i
End Sub
0455デフォルトの名無しさん
2005/11/15(火) 15:51:45それは反則
0456デフォルトの名無しさん
2005/11/16(水) 11:42:12データベースと接続し、データベースを表示させたいのですが、
データベースエンジンがMicrosoft.Jet.OLEDB3.51だとうまく表示してくれますが
4.0だとなぜか表示してくれません。
原因、対策などわかるでしょうか?
ソースは以下のように単純なものです。
Private cn As ADODB.Connection
Private rs As ADODB.Recordset
Private Sub Form_Load()
Set cn = New ADODB.Connection
cn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\パスワード管理.mdb"
cn.Open
Set rs = New ADODB.Recordset
rs.Open "パスワード", cn, adOpenStatic, adLockReadOnly
Set DataGrid1.DataSource = rs
End Sub
0457デフォルトの名無しさん
2005/11/16(水) 12:05:010458デフォルトの名無しさん
2005/11/16(水) 13:43:05ヒント:KB224192
0459デフォルトの名無しさん
2005/11/16(水) 14:03:22現象
Microsoft.Jet.OLEDB.4.0 と ADO のサーバー サイド カーソルを使用して取得したデータを
DataGrid に連結 (ADO データ コントロールを使って、あるいは直接グリッドに連結) したとき、
DataGrid にデータが表示されません。
原因
Microsoft.Jet.OLEDB.4.0 プロバイダは、DBPROP_LITERALIDENTITY プロパティをサポートしていません。
そのため、IRowsetIdentity インターフェイスをインプリメントする必要があります。
ADO では、このプロパティを行セットのオープン前に設定する必要があります。
解決方法
レコード セットを開く前に、RecordsetObject.Properties("IRowsetIdentity") = True を実行します。
0460デフォルトの名無しさん
2005/11/16(水) 14:53:24VB6.0つかってます。
Open App.Path & "\test.txt" for output as #1
write#1,"Test"
close #1
で保存したときtest.txtの内容が
"test"
となるのですがダブルローテーション消して保存する方法無いでしょうか?
0461デフォルトの名無しさん
2005/11/16(水) 14:58:210462デフォルトの名無しさん
2005/11/16(水) 15:07:11�d直りマスタ
WriteとPrintの違いでこんなのあったのかOTZ
0463デフォルトの名無しさん
2005/11/16(水) 16:28:04ダブル ロ ー テ ー シ ョ ン
0464デフォルトの名無しさん
2005/11/16(水) 16:32:330465デフォルトの名無しさん
2005/11/16(水) 18:36:01だれもW回転とか言ってないだろ
0466デフォルトの名無しさん
2005/11/16(水) 18:55:35下記tableDefineのような形式でアクセスのテーブル定義が与えられています。
この定義からSELECT文を生成したいと思います。
たとえば下のテーブル定義を用いると次のようになります。
SELECT UserCode, LogonTime , StartTime, ProcessID , EndTme
FROM AppEnd_Logs
そこで下記createQueryを作成したのですが、カタログオブジェクトのところで
”オブジェクトはもう有効ではありません”というエラーが出てしまいます。
どのような修正をすればよいか教えていただけ無いでしょうか?
0467デフォルトの名無しさん
2005/11/16(水) 18:55:58Public Function TableDefine(ByVal strTableName) As ADOX.Table
Dim tbl As ADOX.Table
'strTableNameでセレクト文
Set tbl = New ADOX.Table
With tbl
.Name = "AppEnd_Logs"
.Columns.Append "UserCode", adVarWChar, 64
.Columns.Append "LogonTime", adInteger
.Columns.Append "StartTime", adInteger
.Columns.Append "ProcessID", adInteger
.Columns.Append "EndTime", adInteger
End With
Set TableDefine = tbl
Set tbl =Nothing
END Function
0468デフォルトの名無しさん
2005/11/16(水) 18:56:43Public Function createQuery(t_tbl As ADOX.Table) As String
Dim cat As ADOX.Catalog
Dim col As ADOX.Column
Dim query As String
Set cat = New ADOX.Catalog
cat.Tables.Append tblNew
'***********
'↑で実行時エラー 3420 "オブジェクトはもう有効ではありません"
'***********
'field名の取得
For Each col In cat.Tables(t_tbl.Name).Columns
query = col.Name & "," & query
Next col
'末尾の","を消す
query = Left(query, Len(query) - 1)
'SELECT文を生成
query = "SELECT " & query & " From " & t_tbl.Name
createQuery = query
Set t_tbl = Nothing
Set cat = Nothing
End Function
0469466-468
2005/11/16(水) 18:59:33環境はWinXP(SP2),VB6.0(SP5)となっています。
0470431
2005/11/16(水) 19:24:34ありがとうございます!!
完成しました.
0471466-468
2005/11/16(水) 20:53:44×:cat.Tables.Append tblNew
○:cat.Tables.Append t_tbl
0472デフォルトの名無しさん
2005/11/17(木) 11:34:10ActiveX&EXEを同一のマシンAでコンパイルすると動作するのですがActiveXをマシンAでコンパイル、
EXEをマシンBでコンパイルすると、EXEからActiveXを呼び出す際に「型が一致しません」というエラーが
発生してしまいます。
具体的には以下のような感じです。なにか変なことをやってしまっているのでしょうか?
********************** EXE側 **********************
Private Sub MenuFile_Click(Index As Integer)
With form1.ActiveX1
Set .Grid = MSHFlexGrid1 'ActiveXにMSHFlexGridを渡しています。
l = .aaa() 'ActiveXのaaaメソッドを呼び出し
End With
End Sub
********************** ActiveX(ActiveX1.ctl)側 **********************
Private m_Grid As Object 'MSHFlexGrid
Public Property Set Grid(ctrGrid As Object) 'MSHFlexGrid
Set m_Grid = ctrGrid 'm_Gridに設定
End Property
Public Function aaa() As Long
Dim lngCount As Long
lngCount = bbb(m_Grid) ←ここで、m_Gridの「型が一致しません」エラー
PrintStart = lngCount
End Function
Public Function bbb(ctrGrid As MSHFlexGrid) As Long
略
End Function
0473デフォルトの名無しさん
2005/11/17(木) 11:54:11可能であればやりかたをお伺いしたいのですが
LANボードのリンク状況を示すLEDの点灯、点滅を
VB画面で判断し同じように連動させる事はできますか?
0474デフォルトの名無しさん
2005/11/17(木) 12:30:02バッキャッロー!
できるわけねぇーだろうが
0475デフォルトの名無しさん
2005/11/17(木) 12:33:090476デフォルトの名無しさん
2005/11/17(木) 12:46:48そこまで大げさなことをしなくても、LANボードのLEDの所から信号取り出して
DIOボードに入力してあげればOKだぉ
0477デフォルトの名無しさん
2005/11/17(木) 12:50:42簡単なことだぉ
0478デフォルトの名無しさん
2005/11/17(木) 12:53:170479デフォルトの名無しさん
2005/11/17(木) 14:00:590480デフォルトの名無しさん
2005/11/17(木) 14:08:520481デフォルトの名無しさん
2005/11/17(木) 14:19:47Set tbl =Nothing
↑
ここで作ったオブジェクトが無効になる
Nothingの代入がただの代入と思ってはいけない
TableDefineにbyRefでADOX.Table型を渡してそこにNew ADOX.Tableしてやる
0482デフォルトの名無しさん
2005/11/17(木) 14:54:44>Nothingの代入がただの代入と思ってはいけない
え、そうなの!?
>>468 はcatのActiveConnectionを設定してないせいだと思うが。接続無しで使えたっけ。
0483デフォルトの名無しさん
2005/11/17(木) 19:09:18オブジェクトはTableDefine変数で参照されているので、
オブジェクトは無効にはならない。
0484デフォルトの名無しさん
2005/11/17(木) 21:01:05>Public Function bbb(ctrGrid As MSHFlexGrid) As Long
↑パラメーターを ctrGrid As Object にすればいいのでは?
0485デフォルトの名無しさん
2005/11/17(木) 21:11:44それでも動きそうだけど、MSHFlexGridがインストールされてないとか
バージョンが違うからエラーが出ているんだろうね。
0486466-468
2005/11/17(木) 21:13:40下記のように処理順番を変えて、catにActiveConnectionを設定することで解決しました。
1.サーバ側DBと接続(con)
2.表定義からクエリ作成
3.サーバ側DBにクエリ投げてレコードセット取得
4.ローカルDB作成
5.表定義よりローカルDBテーブル作成
6.ローカルDB接続(con_mdb)
...
↓
1.サーバ側DBと接続(con)
2.ローカルDB作成
3.ローカルDB接続(con_mdb)
4.表定義からクエリ作成 ← cat.ActiveConnection = con_mdb を追加
5.サーバ側DBにクエリ投げてレコードセット取得 ...
0487デフォルトの名無しさん
2005/11/17(木) 22:12:42なにかお勧めの参考書,ホームページを教えて下さい.
一応,
林晴比古さんの新visualbasic入門のビギナー編とシニア編は持ってます.
0488デフォルトの名無しさん
2005/11/17(木) 22:22:25じゃあ、それで。
0489デフォルトの名無しさん
2005/11/17(木) 22:45:52そんじゃ漏れも、それがオススメってことで
0490デフォルトの名無しさん
2005/11/17(木) 23:08:21林晴比古さんの新visualbasic入門のビギナー編とシニア編って本がお奨め。
0491デフォルトの名無しさん
2005/11/17(木) 23:29:03林晴比古さんの新visualbasic入門のビギナー編とシニア編
じゃないかなぁ
0492デフォルトの名無しさん
2005/11/18(金) 00:36:59VBでコントロールのディープコピーってできますか?
0493デフォルトの名無しさん
2005/11/18(金) 01:28:56VB6.0なんですけど 教えてください。
http://www.vipper.org/vip142566.jpg
0494デフォルトの名無しさん
2005/11/18(金) 07:17:550495472
2005/11/18(金) 12:52:46回答ありがとうございます。
>>Public Function bbb(ctrGrid As MSHFlexGrid) As Long
>↑パラメーターを ctrGrid As Object にすればいいのでは?
やってみましたが、結局参照するMSHFlexGridを生成するところで
同じエラーがでました。
MSで調べてみたら、どうもこんなことはできないっぽいです・・・orz
0496デフォルトの名無しさん
2005/11/18(金) 13:42:16コントロール配列にしてLoadしてみたら?
Toolbarで試したけど、Buttonsはインスタンスコピーされたっぽい。
0497デフォルトの名無しさん
2005/11/18(金) 17:12:45出力先のプリンターを設定したいのですが
Printer.DeviceName = "hoge"
ではエラーになってしまいました。
どこが問題かわかるかたがおられましたら教えてください。
よろしくお願いします。
0498497
2005/11/18(金) 17:26:300499デフォルトの名無しさん
2005/11/18(金) 17:31:44private sub form_load(x as integer)
などとすると,エラーが出て来ます.
0500デフォルトの名無しさん
2005/11/18(金) 17:34:17笑わせてもらったよ
0501デフォルトの名無しさん
2005/11/18(金) 17:45:580502デフォルトの名無しさん
2005/11/18(金) 17:49:580503デフォルトの名無しさん
2005/11/18(金) 18:03:590504デフォルトの名無しさん
2005/11/18(金) 18:04:430505デフォルトの名無しさん
2005/11/18(金) 18:14:130506デフォルトの名無しさん
2005/11/18(金) 19:18:250507デフォルトの名無しさん
2005/11/18(金) 19:20:230508デフォルトの名無しさん
2005/11/18(金) 19:52:10組み込みイベントをラップして独自イベントを起こすか、単純に関数呼び出し
0509デフォルトの名無しさん
2005/11/18(金) 21:38:09組み込みコントロール以外のコントロールは
ActiveXを使って参照渡しできないよ。
同じマシンでコンパイルするとなぜかできるのが
謎だが
0510デフォルトの名無しさん
2005/11/18(金) 21:52:00たぶんForm_Loadに書いてある処理をまた実行したくなったんじゃないか?
だったらその処理を別のプロシージャにして、それをコールすればよいのですよ。
自作プロシージャの引数はご自由に。
Form_Load時に、呼び出し元のローカルな変数の値が欲しいのかな?
だったらFormにPublic変数を作って、そこに代入してからShowしましょう。
Form_LoadでそのPublic変数を参照すればおk。
それ以外の目的だったら書いてください。それによって手段が変わるから。
0511デフォルトの名無しさん
2005/11/19(土) 09:01:15外見が変わらないのですが、これは仕様ですか?
0512デフォルトの名無しさん
2005/11/19(土) 09:07:590513デフォルトの名無しさん
2005/11/19(土) 09:10:570514デフォルトの名無しさん
2005/11/19(土) 09:18:40ダミー&読みとり専用プロパティだからね
値を変えても外見が変わらないのは仕様って言えば仕様だな
0515デフォルトの名無しさん
2005/11/19(土) 09:31:17Label や TextBox を全部 フラット にしたのに、ComboBox だけ浮いて見えるw
最初からやり直すことにするか…
さっきから画面のデザインばっかりに時間がかかってしまって
そういったセンスが無いから正直しんどいw
0516デフォルトの名無しさん
2005/11/19(土) 09:38:140517デフォルトの名無しさん
2005/11/19(土) 09:38:27お礼を言うのを忘れてた
ありがとう!
0518499
2005/11/19(土) 09:39:40>510
ありがとうございます。
試してみますわ。
0519デフォルトの名無しさん
2005/11/19(土) 09:44:55どのようにするのが一番簡単でしょうか。
0520デフォルトの名無しさん
2005/11/19(土) 09:49:410521デフォルトの名無しさん
2005/11/19(土) 14:53:430522デフォルトの名無しさん
2005/11/19(土) 14:57:28public type
txt1 as textbox
txt2 as textbox
blnFlg as boolean
end type
のようなコントロールを含むユーザ定義型を作成して、
この中のテキストボックスをフォームに表示するにはどうしたらよいのでしょうか?
ユーザコントロールも作ってみたのですが、配列にするとうまくいきません。
どなたかヘルプお願いします。
0523デフォルトの名無しさん
2005/11/19(土) 16:45:59VB:Excel2003に標準付属のVB 6.0(特にサービスパックなどいれていません。)
Excel総合相談所 39 からVBスレで質問を、と誘導をうけてきたものです。
それでは質問させていただきます。
VBAを使用しInternetExprolerを起動させ、
ユーザアカウントとパスワードをフォームに自動入力させ、ログインする。
といったようなプログラムを組みたいのですが、ご教授お願いします。
その後エクセルと連動して、様々なユーザの場合を対応させて行くつもりです。
それではよろしくお願いいたします。
0524デフォルトの名無しさん
2005/11/19(土) 16:54:59VBじゃねぇ
0525デフォルトの名無しさん
2005/11/19(土) 17:26:51InternetExplorer.Application でページを開いて
DHTMLで ユーザアカウントやパスワード の入力欄を探して 値を入れて
送信(ログイン)ボタンをclick( ) で実行でOK
0526デフォルトの名無しさん
2005/11/19(土) 18:10:56VBA使いはやる気無しの丸投げが多いんだよな。
プログラミングを勉強していこうって奴じゃなくて、VBAで自動化出来るのを知って
VBAプログラミングも出来ないのに、なんでもかんでもVBAでやろうとするって奴。
VBAをちゃんと理解出来てれば、回答内容はVB使いに対するものとほぼ変わらないから
ここにヒントを貰いに来るのはいいけど、丸投げはNGね。
0527デフォルトの名無しさん
2005/11/19(土) 18:15:27ttp://www.tt.rim.or.jp/~rudyard/torii009.html
0528519
2005/11/19(土) 19:52:220529デフォルトの名無しさん
2005/11/19(土) 19:54:340530デフォルトの名無しさん
2005/11/19(土) 23:45:570531デフォルトの名無しさん
2005/11/20(日) 00:56:42select 受注No form 受注M で受注Noを取り出し、
while文で、受注Noごとのレコードをあるだけ表示させようと思うんですが、
終了条件が分かりません。
Nullになれば、終了させればいいと思うんですが、文法が分かりません。
すみませんが教えてください。
0532デフォルトの名無しさん
2005/11/20(日) 01:22:160533デフォルトの名無しさん
2005/11/20(日) 02:08:30name ○○○
を探して○○○を抽出したいのですが
一体どーやって実現したら良いんですか。
さっぱりです。
0534デフォルトの名無しさん
2005/11/20(日) 07:32:290535デフォルトの名無しさん
2005/11/20(日) 08:18:58"かきこむ"を"%8F%91%82%AB%8D%9E%82%DE"に変換する方法をおしえてもらいたいのですが。
JavaにあるEncodeのような関数はないのでしょうか?
0536535
2005/11/20(日) 08:33:21http://66.102.7.104/search?q=cache:T2YMQOG9gvYJ:www.atmarkit.co.jp/fdotnet/dotnettips/212urlencode/urlencode.html+VB%E3%80%80%E6%96%87%E5%AD%97%E5%88%97&hl=ja&lr=lang_ja
追記します
0537536
2005/11/20(日) 08:38:19ただ、まだ聞きたいことが増えました。
Hex$(bytSingle)のようにHexの右隣に$がついてるのはなぜでしょうか?
0538デフォルトの名無しさん
2005/11/20(日) 08:47:100539536
2005/11/20(日) 09:13:540540デフォルトの名無しさん
2005/11/20(日) 10:21:410541デフォルトの名無しさん
2005/11/20(日) 11:12:22「簡単」を妥協して「VB6で」を取るなら頑張って勉強しろ
「VB6で」を妥協して「簡単」を取るならVB.NETに移行しろ
どっちも妥協したくなければこういうことを簡単に実現できるだけの知識を身につけろ
以上
0542デフォルトの名無しさん
2005/11/20(日) 11:50:29If rs.EOF = True Then
Do Until rs.EOF
'ということですか?
rs.MoveNext
Loop
End If
>>533
’○○○はリテラルの文字列ですか?
Dim iFileNo As Integer
Dim ReadLine as String
Dim GetStr As String
iFileNo = FreeFile
Open "hoge.txt" For Input Shared As #iFileNo
Do While Not EOF(iFileNo)
Line Input #iFileNo, ReadLine
If Instr(1,ReadLine,"○○○") <> 0 Then
GetStr = Mid(ReadLine,Instr(1,ReadLine,"○○○"),Len("○○○"))
Call MsgBox(GetStr)
End If
Loop
Close #iFileNo
0543デフォルトの名無しさん
2005/11/20(日) 11:51:30nttkyo******.tkyo.nt.adsl.ppp.infoweb.ne.jpのようなホスト名を取得するには
どの関数を呼び出せばいいのでしょうか?
ちなみに、Winsockでサーバに接続しています(Winsock1というオブジェクトがあります)
0544540
2005/11/20(日) 12:17:18なるのですが・・・
520と529と541は同じ人ですよね。
他の方、お願いします。
0545デフォルトの名無しさん
2005/11/20(日) 12:22:29無理
0546デフォルトの名無しさん
2005/11/20(日) 12:32:04(俺 = 520) or (俺 = 529) or (俺 = 541) = true
0547デフォルトの名無しさん
2005/11/20(日) 12:35:540548543
2005/11/20(日) 12:42:260549デフォルトの名無しさん
2005/11/20(日) 12:44:330550デフォルトの名無しさん
2005/11/20(日) 12:45:03VB.NET使ったことないんで想像の域なんですけど
LinkLabelってクリックしたらWEBページに飛ぶような仕組みの
コントローラでしょうか?
だとしたらVB6でOCXコンポーネントにしてしまっては如何でしょう?
考え方としたらCtlフォームにラベルかテキストコントロールをデザインして
MouseMoveイベントでカーソルがコントロール上に来た時に
マウスカーソルを変更したり、文字列の色を青くするなりで見栄えは
再現できると思います。肝心のリンクですが
参照設定でMicrosoft Internet Controlsを設定し
Private Sub Text1_Click()
Dim ie As New InternetExplorer
'画面サイズの設定
ie.Left = 10
ie.Visible = True
ie.Height = 2000
ie.Width = 1000
'InternetExplorerの実行
ie.Navigate Text1.text
Exit Sub
End Sub
みたいな感じでいけないでしょうか?意味を取り違ってたらすみません
0551デフォルトの名無しさん
2005/11/20(日) 12:55:03質問が漠然としてるんで想像の域ですが
このような事ですか?
http://dobon.net/vb/dotnet/internet/dnslookup.html
0552デフォルトの名無しさん
2005/11/20(日) 12:58:52接続されているサーバ名です
わたしはNiftyで接続してるので、
nttkyo******.tkyo.nt.adsl.ppp.infoweb.ne.jpなんですが・・・・。
これを関数で取得したいのです。
Winsockオブジェクトのプロパティをみたところ、取得関数が見当たらないもので。
0553デフォルトの名無しさん
2005/11/20(日) 13:03:39Winsockオブジェクトとは
wsock32.dllを利用してるんでしょうか?
接続するIPアドレス等の情報があろうかとおもうのですが
gethostbyname()関数はありませんでしたか?
0554552
2005/11/20(日) 13:27:410555デフォルトの名無しさん
2005/11/20(日) 13:45:400556552
2005/11/20(日) 13:51:58一応解決。
あと、
' データ受信
Private Sub Winsock1_DataArrival(ByVal bytesTotal As Long)
データ受信で、「いつ受信が終わったのか」を知りたいのだが。
てっきり、受信終了のさいは、bytesTotalに0が代入されてるとおもってた・・・。
でも、0が代入されないな。
0557544
2005/11/20(日) 15:56:21やめてとお願いしたのにまたやるということは、日本語が
通じなかったということでしょうか?
>>546=false
間違っている上につまらない書き込みをする意図が分かりません。
>>550
コントローラ?何が言いたいんですか?
再現できると思います、って当たり前でしょ?
0558デフォルトの名無しさん
2005/11/20(日) 16:12:29つまり
519はネタだから相手にしないで下さい
ってことですね
さてでは次の話題に行きますか
0559デフォルトの名無しさん
2005/11/20(日) 16:14:09またか。いい加減、お前もうざい。
0560デフォルトの名無しさん
2005/11/20(日) 16:29:420561デフォルトの名無しさん
2005/11/20(日) 16:41:54なーなー そんな事よかさ
エビフィレオのCMでてる蛯原友里って可愛いとおもわん?
最高だよな。
0562デフォルトの名無しさん
2005/11/20(日) 17:48:590563デフォルトの名無しさん
2005/11/20(日) 17:50:35載っている場所等ご存知の方はいらっしゃいませんか?
0564563
2005/11/20(日) 18:00:460565デフォルトの名無しさん
2005/11/20(日) 18:06:42提案なのですが明日まで気長に待ってみてはいかがでしょうか?
0566デフォルトの名無しさん
2005/11/20(日) 18:17:37違います。
>>561
そうだけど結構前から有名。
0567デフォルトの名無しさん
2005/11/20(日) 18:36:21そしたら何が聞きたいんだよ?ちゃんと真面目にレスかえしてくれてる
奴にも喧嘩ごしじゃーん。
0568デフォルトの名無しさん
2005/11/20(日) 18:40:57バカを相手にするのが楽しいだけですが何か?
0569デフォルトの名無しさん
2005/11/20(日) 19:20:490570デフォルトの名無しさん
2005/11/20(日) 19:47:41VB6(SP6)で質問なのですが
フォームを表示せず、タスクバーに表示させる
方法を探しているのですが、分かりません。
どなたか知ってる方がいましたら、教えてください。
0571デフォルトの名無しさん
2005/11/20(日) 19:53:29常にフォームを最小化させとけばどうでしょう。
0572デフォルトの名無しさん
2005/11/20(日) 19:55:28で?
0573デフォルトの名無しさん
2005/11/20(日) 19:56:36> フォームを表示せず、タスクバーに表示させる
が必要なんだ?
0574デフォルトの名無しさん
2005/11/20(日) 19:56:56画面外に出しとけば?
0575デフォルトの名無しさん
2005/11/20(日) 20:20:38どうも返答ありがとうございました。
解決できました。
0576デフォルトの名無しさん
2005/11/20(日) 20:23:24最初に書いたとおりですが?
0577デフォルトの名無しさん
2005/11/20(日) 20:24:10他人が私のフリをした書き込みだったのですが、
その区別もつきませんか?
0578デフォルトの名無しさん
2005/11/20(日) 20:26:49もう教えな〜い 他のレスまってね。がんばって
0579デフォルトの名無しさん
2005/11/20(日) 20:29:41答えられるスキルのない人には初めから期待してませんよ。
0580デフォルトの名無しさん
2005/11/20(日) 20:31:510581デフォルトの名無しさん
2005/11/20(日) 20:51:31今日俺、女できたんだ、今日は何言われても許す。
0582デフォルトの名無しさん
2005/11/20(日) 21:06:06おめでとう
0583デフォルトの名無しさん
2005/11/20(日) 21:08:50どういたしまんこ
0584デフォルトの名無しさん
2005/11/20(日) 21:45:18分からないことを隠すときは皆さんそういう態度になりますね。
0585デフォルトの名無しさん
2005/11/20(日) 21:59:200586デフォルトの名無しさん
2005/11/20(日) 22:02:37貴方には無理そうなので結構です
0587デフォルトの名無しさん
2005/11/20(日) 22:02:52ちゃんと質問してみろよ
釣りじゃないならな
0588デフォルトの名無しさん
2005/11/20(日) 22:03:34まあそんな事言わずに、ホレ
0589デフォルトの名無しさん
2005/11/20(日) 22:04:43放っておけ
0590デフォルトの名無しさん
2005/11/20(日) 22:16:40けど対して困って無いんでしょ
レスの展開が煽りそのものだし
週末の暇潰しに煽りくれてるだけ
0591デフォルトの名無しさん
2005/11/20(日) 22:22:170592デフォルトの名無しさん
2005/11/20(日) 22:32:32そんな感じです。
>>591
言いません。
0593デフォルトの名無しさん
2005/11/20(日) 22:37:030594デフォルトの名無しさん
2005/11/20(日) 22:49:00自作しろ以外言いようが無いよ
「自作しろ」って回答に何が不満なんだ?
0595デフォルトの名無しさん
2005/11/20(日) 22:52:41コードを全て書いてください。
0596デフォルトの名無しさん
2005/11/20(日) 23:03:18これがポイントだってことだな。
一番簡単なのは諦めることだ。そして死ね。
0597デフォルトの名無しさん
2005/11/20(日) 23:22:08>>595
ちゃんとメインコード書いてくれてるやついるじゃねえか
それで参考ならないなら藻マイは無能のVB厨だ
VBで.Netを補うなら自力でやるしか無いのさ
概要がわからない奴は,Netだけ使いこなせるように励んどけボケ
0598デフォルトの名無しさん
2005/11/20(日) 23:27:39まあドトネト触れない奴の僻み
0599デフォルトの名無しさん
2005/11/21(月) 01:06:420600デフォルトの名無しさん
2005/11/21(月) 01:19:540601デフォルトの名無しさん
2005/11/21(月) 07:16:30あなたコードを書いた本人ですか?
あんなコードをよく恥ずかしげもなく投稿できますね。
PG1年目の私でも鼻で笑ってしまいましたよ。
0602デフォルトの名無しさん
2005/11/21(月) 10:56:540603デフォルトの名無しさん
2005/11/21(月) 13:27:32あぼ〜ん
0604550
2005/11/21(月) 13:37:04550でコードを書いた者です。私自身スキルが無く逆に混乱させるような回答してしまい
すみませんでした。少しでもお役に立てればと思いレスさせていただきます
実際に出来るかどうかの環境が無く、今日少し時間を見て作りこんでみました
エラーや入力条件などガッチリ作っていないですがご希望のOCXベースに
なればうれしいと思います。役に立たなければスルーしてください。
0605550
2005/11/21(月) 13:39:14Dim iSize As Integer
Dim sLnkLbl As String
Private Sub Text1_Click() 'クリック時
Dim ie As New InternetExplorer
ie.Left = 10
ie.Visible = True
ie.Height = 2000
ie.Width = 1000
ie.Navigate Text1.Text 'InternetExplorerの実行
End Sub
Private Sub Text1_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
Screen.MousePointer = vbUpArrow
End Sub
Private Sub UserControl_Initialize() '初期化
Text1.ForeColor = vbBlue
Text1.BackColor = vbScrollBars
Me.LinkLabel = "http://"
Me.FontSize = 10
End Sub
Private Sub UserControl_Resize() 'デザインされたコントロールのリサイズ時連動リサイズ
Text1.Height = UserControl.Height
Text1.Width = UserControl.Width
End Sub
0606550
2005/11/21(月) 13:40:03FontSize = iSize
End Property
Public Property Let FontSize(ByVal vNewValue As Variant) 'フォントサイズの変更
Text1.Font.Size = vNewValue
iSize = vNewValue
End Property
Public Property Let LinkLabel(ByVal vNewValue As Variant) '表示するリンクラベル
Text1.Text = vNewValue
sLnkLbl = vNewValue
End Property
Public Property Get LinkLabel()
LinkLabel = sLnkLbl
End Property
0607デフォルトの名無しさん
2005/11/21(月) 16:40:570608550
2005/11/21(月) 17:01:45�@上記の Text1_Click()イベントの最後に
Set ie = Nothingが抜けておりましたすみません。
�Aマウスカーソルを変更する処理は中途半端になってしまっています。すみません
�BVBで新しいプロジェクトの作成Project1(ActiveXコントロール)を開き
UserControl1に上記コードを貼り付けします。コントロールのデザインは
text1のみでOKです。Text1のBorderStyleプロパティを0-なし設定し
MultiLineをTrueに設定します。UserControl1画面とTextコントロールの
サイズを一致させるとデザイン時にキレイにレイアウトできると思います
次に参照設定でMicrosoft Internet Contorolsを設定しコンパイルしてください
�Cコンパイル後、出来あがったproject1.ocxのRegsvrを行います。
�D親画面(呼び元のメイン画面)となるプロジェクトを開きコンポーネントの追加にて
project1.ocxを設定し、画面デザインにて当該コンポーネントをデザインします。
Form_Loadイベント内に UserControl1.LinkLabel = "http://www.yahoo.ne.jp"
のようにURLを設定し、実行するとリンクラベルに似たコントロールが出来上がっています
これをクリックすると、当該URLのIEブラウザに遷移する仕組みです
0609デフォルトの名無しさん
2005/11/21(月) 17:15:540610デフォルトの名無しさん
2005/11/21(月) 17:23:470611デフォルトの名無しさん
2005/11/21(月) 17:42:43Private Sub Text1_Click() 'クリック時
Dim ie As New InternetExplorer
Set ie = Nothing
End Sub
最後で参照が消えるから自動でGCされると思ってたのだが、
必要だという奴や例を何度も見かけるんで自身がなくなってきた。
VBはそういうものなのか、以前Set NothingしないとGCされないようなバグでもあったのかどうなんでしょう。
0612デフォルトの名無しさん
2005/11/21(月) 18:02:56VBは変数のスコープが外れた時点で勝手に参照数が -1 される
参照数が 0 になった時点で 初めてGCの対象になる
でも実際どのタイミングでGCされるのかはVBのみぞ知るといった感じ?(知ってたら教えて)
Set Nothing は コードの読解性を高める為に書くんじゃない? 俺も書くよ
あとよく間違えてるヤツがいるけど
Nothing を代入する事がオブジェクトを開放する作業では無いので要注意
0613550
2005/11/21(月) 18:43:57>>608の補足としてですが、Textコントロールはコントロールからの入力をロックする等
プロパティの設定が厄介なのでLabelコントロールを利用したほうがラクで良いかもしれませんね
0614デフォルトの名無しさん
2005/11/21(月) 20:33:54ダイオードの点滅のシュミレーションプログラムです
________________________________________
● ● ● ● ● ● ○ ○
__________________________________
右から1個ずつ、右から2個ずつといった風に点滅させます。
黒い丸●を消灯、赤い丸○を点灯としてやってきます。
次にそのプログラム書くんで
だれか手伝ってください。
Text1.Text = Hex(s1)はテキストボックスに16進数で表示させてるだけで無視でいいです。
Case 4をベースに頼みます
後は
Case 5 右から5個ずつ点灯●●●●●●○○→●●●●●○○●
→●●●●○○●●
○○●●●●●●→○●●●●●●○
→●●●●●●○○ こんな感じで
Case 6 穴の移動(これはできました)
Case 7 左から一個ずつ点灯(これはできました)
Case 8 (これもいいです)
Case 9 左右から点滅○●●●●●●○→●○●●●●○●
→●●○●●○●●→●●●○○●●●
→●●●○○●●●→●●○●●○●●こんな感じで
どなたか暇な方お願いしますm(_ _)m。
0615614
2005/11/21(月) 20:35:36Dim k As Integer
Dim mode As Integer
Dim b(8) As Integer
select Case mode
Case 4 '右から1個
If k < 2 Then k = 8 Else k = k - 1
s = 2 ^ (k - 1)
For i = 0 To 7
b(i) = (s \ 2 ^ i) Mod 2
If b(i) = 0 Then FillColor = QBColor(0)
If b(i) = 1 Then FillColor = QBColor(12)
Circle (1200 * (i + 1), 2000), r
Next i
s1 = 2 ^ (8 - k)
End Select
Text1.Text = Hex(s1)
End Sub
___________________
0616デフォルトの名無しさん
2005/11/21(月) 20:42:060617デフォルトの名無しさん
2005/11/21(月) 20:55:230618デフォルトの名無しさん
2005/11/21(月) 20:59:490619デフォルトの名無しさん
2005/11/22(火) 00:43:31case 7のコード晒してみてくれ
挙動がよくわからんがcase 4 のコードだったら一気に描画されるんじゃない?
結果的にそのLEDだかが赤色になるだけじゃ駄目なんだよな?
タイマーとかスリープ使っていいんかいなぁ?
変数の定義あったり無かったり 初期化してたりなかったり
すげぇコードだなおいw
0620デフォルトの名無しさん
2005/11/22(火) 06:13:59つーか
つーかさw
せめて表示部を関数1つにまとめろと
ポケコンBASICでVBソース書いてるかと思ったw
0621デフォルトの名無しさん
2005/11/22(火) 07:10:31理由言ってみ
0622デフォルトの名無しさん
2005/11/22(火) 08:20:39高確率でアプリが落ちちゃうんですが、VB6以前でGDI+を使うのは結構
面倒ですよね。
尚SUSIE プラグインは標準のじゃなくて落ちにくいのでもそうなります。
他に良い方法は無いでしょうか?
0623622
2005/11/22(火) 08:22:490624デフォルトの名無しさん
2005/11/22(火) 08:23:200625デフォルトの名無しさん
2005/11/22(火) 08:32:29"IsSupportedJpg"使っても判別できないんですよ
他に読み込む前にやばいのが分かる方法ってありますか?
0626デフォルトの名無しさん
2005/11/22(火) 09:15:390627デフォルトの名無しさん
2005/11/22(火) 09:23:40強く断る
0628デフォルトの名無しさん
2005/11/22(火) 09:43:05却下
0629デフォルトの名無しさん
2005/11/22(火) 09:44:360630デフォルトの名無しさん
2005/11/22(火) 09:51:440631デフォルトの名無しさん
2005/11/22(火) 09:52:520632デフォルトの名無しさん
2005/11/22(火) 09:53:200633デフォルトの名無しさん
2005/11/22(火) 09:57:080634デフォルトの名無しさん
2005/11/22(火) 10:01:590635デフォルトの名無しさん
2005/11/22(火) 10:04:070636522
2005/11/22(火) 12:14:330637デフォルトの名無しさん
2005/11/22(火) 12:18:470638デフォルトの名無しさん
2005/11/22(火) 12:46:49ファイルの破損状況によると思う
余りのも無残に破損したファイルなら
何しようが無理だと思う
IFJPEGX.SPIを使うといいかも
ファイルをバイナリエディタでワザと壊しても
表示できてたよ(画像はメチャクチャだけど)
0639デフォルトの名無しさん
2005/11/22(火) 16:51:060640デフォルトの名無しさん
2005/11/22(火) 18:09:46550に糞コードocx化してもらえw
0641デフォルトの名無しさん
2005/11/22(火) 19:48:430642デフォルトの名無しさん
2005/11/22(火) 19:52:55どうでもいいですよ
0643デフォルトの名無しさん
2005/11/22(火) 20:17:020644エスパー伊藤
2005/11/22(火) 20:43:570645デフォルトの名無しさん
2005/11/22(火) 20:48:20たのむ>エス伊東
0646エスパー
2005/11/22(火) 21:14:22コントロールを含むユーザ定義型というが、
そこコードは、TextBox型の変数が定義されているだけであって、
TextBoxのインスタンスが生成されているわけじゃない。
プログラムで、TextBoxのインスタンスを生成して、
それをフォームに表示するやり方は他の人どうぞ。
ここまで説明すればエスパーじゃなくてもなにがしたいか分かるだろ?
0647デフォルトの名無しさん
2005/11/22(火) 21:25:39> VBはそういうものなのか、以前Set NothingしないとGCされないようなバグでもあったのかどうなんでしょう。
昔探したけど、そういうバグがあったとかいう情報は見つからなかった。
バグだ!という情報が無かったわけではないが、それはよく読むとそれはバグではなく勘違い。
昔のVBはクラスやらオブジェクトやらがなかった。それがVB4(?)あたりで導入されたときに、
アプリが終了しないことがある
↓
グローバルなForm1変数がForm1フォームを参照しているためにアプリが終了しない
↓
Form1にNothingを入れると、Form1フォームの参照がなくなるためにアプリが終了する
↓
Nothingを入れると解放。それだ!
という風に、VB4以前のプログラマがちゃんと原因を理解せずに解決してしまった方法 が、普及したのだと思っている。
0648デフォルトの名無しさん
2005/11/22(火) 21:30:010649デフォルトの名無しさん
2005/11/22(火) 21:34:10> でも実際どのタイミングでGCされるのかはVBのみぞ知るといった感じ?(知ってたら教えて)
どのタイミングでオブジェクトが破棄されるかは、そのコントロール(COMコンポーネント)の実装によるはず。
COMコンポーネント側から見ると、参照数が増える時点で、AddRef関数が即座に呼ばれ、
参照数が減る時点即座にで、Release関数が呼ばれる。
AddRef/Release関数の内部の処理を書くのは、COMコンポーネントプログラマの仕事
(実際はテンプレートそのままだろうけど)
たいていは、参照数が0になった時点で自分を破棄するように実装されている。
ただし、それは決まっているわけではなく、そうなっていないコントロールもあるらしい。
0650デフォルトの名無しさん
2005/11/22(火) 21:36:52たとえ、VB側で適切にコードを書いていたとしても、
COMコンポーネント自体にバグがあれば、ありえない話ではない。
COMコンポーネント部分がVBかという疑問は残るが。
0651デフォルトの名無しさん
2005/11/22(火) 21:45:060652デフォルトの名無しさん
2005/11/22(火) 21:52:26根拠は。
0653デフォルトの名無しさん
2005/11/22(火) 22:20:150654デフォルトの名無しさん
2005/11/22(火) 22:21:120655デフォルトの名無しさん
2005/11/22(火) 22:36:14見方の違いだけじゃないかな。COMの参照ポインタは確かに加算されるが、
下のようにVB内で3つの変数に代入したからといってCOMの参照カウンタは加算されない。
dim x1 as obj1, x2 as obj1, x3 as obj1
set x1 = new obj1
set x2 = x1
set x3 = x1
あくまでもNewされたobj1への参照がなくなったかどうかはVB内のGCによって管理され,
VBがGCするタイミングはx1, x2, x3からの参照がなくなった後任意のタイミング。
VBがこのobj1をGCするときにそれがCOMであれば参照カウンダを減算し開放するのは2次的なこと。
0656デフォルトの名無しさん
2005/11/22(火) 22:39:12ふるーいインタプリタBASICの時代からあるよ。
当時はせいぜい0や空文字になった変数や文字列用のワークを片付ける程度だったけどね。
0657522
2005/11/23(水) 06:02:57もうちょっとヒントください。
0658デフォルトの名無しさん
2005/11/23(水) 09:45:47最後にはコード全部書いてもらっちゃいましたとさ。
という展開を期待してるのか?
0659522
2005/11/23(水) 12:14:02変数を宣言してload とか setでインスタンスを作成→.container .visible等を変更してフォームに表示
だとどこかおかしいですか?
ネットでサンプルを探しても全然見つからないんですよorz
0660デフォルトの名無しさん
2005/11/23(水) 12:24:26たぶんエクセル関連のオブジェクトを突っ込んだときのオマジナイが
馬鹿の一つ覚え的にひろまったものじゃない?
「花ちゃん」とかいう有名なサイトに書かれているようなのね。
VBプログラマだけじゃないけど、経歴だけは無駄に長い(能力が経歴に比例してないw)
人ってプログラミングとはこういうオナジナイを覚えることだと思ってる節があるよね。
0661デフォルトの名無しさん
2005/11/23(水) 12:33:38今書いた動かないソース出せ。
0662デフォルトの名無しさん
2005/11/23(水) 12:54:05ひょっとすると自分でもよくわかってないんじゃないの?
まず何をしたいのか明確にしないと話始まらないよ。まあネタかもしれないけど。
>>522を普通に読めば、txt1とtxt2を含むフォームが欲しいなら
デザイナでそういうフォームを作るだけだろ、としか思えない。
0663デフォルトの名無しさん
2005/11/23(水) 13:37:34探してみたんですけどなかなか詳しいページが見つからなくてここで質問させていただきました。
0664デフォルトの名無しさん
2005/11/23(水) 15:18:51VBはJAVAではありませんので漠然とTextBoxのインスタンスが存在するんではなく
FormがあってのTextBoxなので
Set udt522.txt1 = New VB.TextBox
With udt522.txt1
Set .Container = Form1
.Visible = True
End With
なんて出来ません Containerも変更できません
Set udt522.txt1 = Form1.Controls.Add("VB.TextBox", "Text1")
Set udt522.txt2 = Form1.Controls.Add("VB.TextBox", "Text2")
udt522.txt1.Visible = True
udt522.txt2.Visible = True
ってやってください
0666デフォルトの名無しさん
2005/11/23(水) 16:14:210667522
2005/11/23(水) 17:31:52>Set udt522.txt1 = Form1.Controls.Add("VB.TextBox", "Text1")
あ、なるほど! ちょっとやってみます。ありがとうございました!
で、目的はテキストボックスが二つ乗ったフレームを動的に増減したいんです。
関係するフラグを別配列で持っていたんですが、フラグの種類が多くて管理しにくいのでユーザー定義型でできないのかと思った次第です。
ユーザコントロールを作成したのですが、配列にすると、
コントロール内のイベント定義と、フォーム内のイベントの引数が違い(byref indexがある・ない?)
?でうまくいきませんでした。
ちょっと話がそれるかもなんですが、VB6のコントロールのインスタンスってのは>>664さんのおっしゃるとおり漠然としたものなのでしょうか?
変数宣言すればインスタンス? Loadしてからがインスタンスなのでしょうか?
VB6にインスタンスって言葉を持ち込むこと自体がおかしいのでしょうか?
0668522
2005/11/23(水) 17:40:21その1
dim obj as object
set obj = new udt522 '←ここでエラー
with obj.text1
.container=form1
.visible=true
end with
その2
dim udt as udt522
load udt.text1 '←ここでエラー
その2が動かない理由がよくわからないのですが、精進します。ありがとうございました。
0669デフォルトの名無しさん
2005/11/23(水) 18:01:25のプログラムを
VBで作りたいのですが
どういう仕様で作ればいいでしょう?
ユーザコントロールでもいいとも〜
0670デフォルトの名無しさん
2005/11/23(水) 19:18:46漠然としてるのはVBのコントロールじゃなくて君の理解でしょ。
馬鹿じゃないの。
コントロールをフォームに追加する方法はググればいくらでも出てくる。
追加した複数のコントロールを一まとめで管理したいなら、
その追加したコントロールを構造体のメンバのオブジェクト変数に代入するだけ。
まあ構造体じゃなくてクラスにした方がいいと思うけどね。
イベントを扱うことやその他いろいろ考えると。
工夫すればフォームにコントロールを追加する処理をクラスの中に隠蔽できるわけだし。
0671デフォルトの名無しさん
2005/11/23(水) 19:38:15漠然としてるのはVBのコントロールじゃなくて君の理解でしょ。
馬鹿じゃないの。
0672デフォルトの名無しさん
2005/11/23(水) 20:49:42//C#ソース
namespace ClassATest
{
public class Class1
{
public Class1()
{
}
public int[] retint(int i, int[] j)
{
int[] matrix = new int[2];
matrix[0] = i*2;
matrix[1] = j[0]+j[1];
return matrix;
}
}
}
次に続く
0673162
2005/11/23(水) 20:50:17Sub test()
Dim obj As ClassATest.Class1
Dim j(2) As Integer, Ans As Variant
ReDim Ans(2)
j(0) = 10
j(1) = 20
Set obj = New ClassATest.Class1
Ans = obj.retint(5, j)
MsgBox Ans(0)
End Sub
実行すると、Ans = obj.retint(5, j)の行で「型が一致しません」
と言われてしまうのですが、何故でしょう…?
jを配列ではなく、普通のinteger型にするとうまく動くのですが、
C#のDLLに配列型を渡すにはどのようにしたらいいんでしょうか…?
0674デフォルトの名無しさん
2005/11/23(水) 20:50:23そういえばVBのマウスポインタでインターネットのURL上に来た時のマウス
「指先」はscreen,NousePointerのプロパティに存在しないんでしょうか
0675672
2005/11/23(水) 20:52:45それと上の書き込みの名前は672の間違いです。
0676デフォルトの名無しさん
2005/11/23(水) 21:02:56C#のintはVBAのLongではないか?
0677デフォルトの名無しさん
2005/11/23(水) 21:18:02存在しない
0679デフォルトの名無しさん
2005/11/23(水) 21:45:24ああわかんない事があればダメモトでとにかく人に質問すればいいんだと学習するか。
672が後者のウザい奴にならないことを祈るばかり。
0680672
2005/11/24(木) 01:46:290681デフォルトの名無しさん
2005/11/24(木) 02:10:32Open "text.txt" For Output as #1
For i = 1 to 5
print #1, i;
next i
Close #1
とループカウンタの値をファイルに書き込むと
1 2 3 4 5
と空白が入ります。
ループカウンタの値を使わずに
Open "text.txt" For Output as #1
print #1, 1;
print #1, 2;
…
print #i1, 5
Close #1
と出力すると空白が入らずに
12345
となってしまいます。
なぜこうなるのか原因を教えてください。おねがいします。
0682デフォルトの名無しさん
2005/11/24(木) 09:39:290683デフォルトの名無しさん
2005/11/24(木) 09:44:400684デフォルトの名無しさん
2005/11/24(木) 09:45:230685デフォルトの名無しさん
2005/11/24(木) 13:16:440686デフォルトの名無しさん
2005/11/24(木) 13:27:540687デフォルトの名無しさん
2005/11/24(木) 14:32:510688デフォルトの名無しさん
2005/11/24(木) 17:05:08ウチだと、どちらでも空白が入るな(VB6 SP6)。
数値型だから符号用に空白が入るんだろ。
print #1, CStr(i);
print #1, "1";
でやってみそ。
0689デフォルトの名無しさん
2005/11/24(木) 17:18:11空気読め
0690デフォルトの名無しさん
2005/11/24(木) 17:30:09イメージとして、メニュー型ランチャのOrchishのような物を作りたいと考えています。
ググったりして、フォームのあらかじめ用意して置いたラベルにアイコンをドラッグして登録、
それをクリックすると開く、という事はできましたが、なんとなく見当ちがいのことをしている気がしてなりません。
(例えばラベルなんて使わないんじゃないか?とか)
スタートメニューのようなメニューの作製には、
なにか適した専用のツール(コンポーネント?)みたいなものがあるのでしょうか?
もしそうならそれが何と言うものか教えてください。
VB6.0というより、VB6.0でプログラムの基礎を学んだ程度の知識しかないので、
もしこの質問自体がまったくの見当違いであれば、勉強すべきものを教えてください。
0691デフォルトの名無しさん
2005/11/24(木) 18:10:50文字列を右から表示し左へ消していくような
スクロールのような処理をつくりたいですが
どのように作ればすっきり動きそうでしょうか?
1秒5カラム(文字?)移動くらいを希望しております。
0692デフォルトの名無しさん
2005/11/24(木) 18:44:54アルゴリズムの質問スレが見つからない & VB6で開発しているので、
こちらで質問します。
ある多角形の中に、点を決められた個数プロットしたいんですが、
効率的にプロットするにはどうすればいいでしょうか?
たとえば、台形のような形の中に、点を100個(多くても少なくてもいけない)を
ランダムに打ちたいわけです。
今は多角形のリージョンを作成 & XYの最大最小を計算して、
その最大最小の中でランダムに点を発生させ、リージョンに入れば
合格の点としてカウント、それを望みの個数になるまで繰り返していますが、
個数が多くなったり、図形が細長かったりすると、非常に時間がかかります。
うまい解決方法はないでしょうか?
0693デフォルトの名無しさん
2005/11/24(木) 19:43:36単純な多角形で、かつ点の密度が均一でなくてもよければ
円内のランダムな点を極座標で作ってそれを多角形内の点に写像することを
考えれば計算量すくなそうだけど。
密度を均一にしたい場合はθの確率密度関数を求めて、
それに基づいてランダムな極座標を作る必要がありそうだけど…どうすりゃいいんだろ
このスレに数学的なセンスの持ち主って少なそうだから回答は期待薄だと思う。
0694691
2005/11/24(木) 19:53:39Sub Main()
strMoji = "本日は晴天のもよう"
StatusBar1.Panels(1) = " " & strMoji
Do Until InStr(1, StatusBar1.Panels(1), Chr(32)) = 0
If chKPrc.Value <> 0 Then Exit Sub
DoEvents
Call stopp(40000)
StatusBar1.Panels(1) = Mid(StatusBar1.Panels(1), InStr(1, StatusBar1.Panels(1), Chr(32)) + 1) '& strMoji
Loop
strLen = Len(strMoji)
i = 2
Do Until strLen = 0
DoEvents
StatusBar1.Panels(1) = Mid(strMoji, i) '文字部分本体を前部から除去して詰めていく
Call stopp(60000)
i = i + 1
strLen = strLen - 1 '文字数のデクリメント
Loop
End Sub
Private Sub stopp(ByVal intWt As Long)
Dim h As Long
h = 0
Do While h < intWt
DoEvents
h = h + 1
Loop
End Sub
0695デフォルトの名無しさん
2005/11/24(木) 20:04:31stopp じゃなくって Sleep 使え
素直にタイマーでやった方が負荷少なくていいと思うよ
ステータスバーの文字スクロールなら JavaScript で山ほどサンプルあるから
VBに書き換えて使ってみ
0696デフォルトの名無しさん
2005/11/24(木) 20:23:30サイズ関係無しに、ステータスバーの右端からだったら、
JavaScriptのサンプルなぞ役にたたん
0697デフォルトの名無しさん
2005/11/24(木) 20:57:12暇なんで書いてみた。こういう奴でよかったかな。
'Form1のコード
Private mDisplay As New Class1
Private Sub Form_Load()
With mDisplay
Set .Panel = StatusBar1.Panels(1)
Set .Timer = Timer1
.Message = "本日は晴天なり"
.ShiftPerSec = 5
.Start
End With
End Sub
0698デフォルトの名無しさん
2005/11/24(木) 20:59:17Private mPanel As Panel
Private WithEvents mUpdateTimer As Timer
Private mMessage As String
Private mCurrentMessageToShow As String
Private mLenCurrentMessageToShow As Integer
Private mShiftPerSec As Single
Public Property Set Panel(pnl As Panel)
Set mPanel = pnl
End Property
Public Property Set Timer(tmr As Timer)
Set mUpdateTimer = tmr
mUpdateTimer.Interval = 1000 / mShiftPerSec
End Property
Public Property Let Message(msg As String)
mMessage = msg
mLenCurrentMessageToShow = Len(msg)
End Property
0699デフォルトの名無しさん
2005/11/24(木) 20:59:50If spd > 0 Then
mShiftPerSec = spd
End If
If Not (mUpdateTimer Is Nothing) Then
mUpdateTimer.Interval = 1000 / mShiftPerSec
End If
End Property
Public Sub Start()
mUpdateTimer.Enabled = True
End Sub
0700967
2005/11/24(木) 21:11:48Private Sub Class_Initialize()
mMessage = "No Message !"
mLenCurrentMessageToShow = Len(mMessage)
mShiftPerSec = 5
End Sub
久々にVB触ったけどやっぱ不便だねいろいろ。
痒い所に手が届かない不条理感というかなんというか。。
0701デフォルトの名無しさん
2005/11/25(金) 08:41:22Delphiで作ったMainForm.exeと、VBで作ったフォーム無しexeが、
同一フォルダにあります。
VBのexeはMainから呼ばれてユーザ権限チェックをしてるんですが、
その結果をメインに返す方法をお教えください
0702デフォルトの名無しさん
2005/11/25(金) 08:52:37図形上の点の数なんて、
対象の図形を塗り潰しておいて、描点時に色を調べれば一発じゃない?
0703デフォルトの名無しさん
2005/11/25(金) 08:57:38VBでEXEのリターンコード設定するのは推奨されてないので
ファイルやマップ経由でやりとりするかプロセス間通信等で。
0704デフォルトの名無しさん
2005/11/25(金) 10:01:13そうそう。文字列を大量に使ってると不意に2秒くらい固まったりして
音楽演奏が途切れたり・・・ってもうベーマガ世代ばればれやん。
0705692
2005/11/25(金) 12:36:04すみません、自分もご他聞にもれず
数学にうといもので、書かれたこともあまり理解できてません・・(・∀・;)
ゆっくり調べてみます
>>702
や、それはリージョンの内包判定(PtInRegion)の方法を変えただけで、
その部分を問題にしてるわけではないんです。
>個数が多くなったり、図形が細長かったりすると、非常に時間がかかります。
というわけなんです。
ランダムを発生させる範囲を、真四角にしなければいいのかな・・・
0706デフォルトの名無しさん
2005/11/25(金) 13:36:16一旦矩形内の全ピクセルを調査し、リージョン内部にあるものを配列等に保存
そこからランダムにn個抽出してみては?
このほうが時間がかかるかもしれないが・・・
0707デフォルトの名無しさん
2005/11/25(金) 13:51:41コマンドボタンを配列にするとコンパイルエラーがでますた。
原因をおしえてね(はぁと)
Private Sub command1_Mousemove(Button As Integer, Shift As Integer, X As Single, Y As Single)
'もし、クリックされたのが右ボタンならポップアップメニューを表示する。
If Button = vbRightButton Then
Me.PopupMenu mnu
End If
End Sub
0708デフォルトの名無しさん
2005/11/25(金) 14:05:01>XYの最大最小を計算して
1. リージョンに外接する矩形を小さい矩形のメッシュに
分割、それと同要素数の 2次元配列 (Boolean) を作る。
2. 各々のメッシュがリージョンにかかっていれば True。
3. ある点がリージョンの内部かどうか判定する前に
その座標を元に直接この配列を参照する。
分割数によっては 2. でかえって時間が掛かるかも知れず。
0709デフォルトの名無しさん
2005/11/25(金) 14:27:43Index As Integer を付加
Private Sub command1_MouseMove(Index As Integer, Button As Integer, …
0710707
2005/11/25(金) 14:29:31うわっ!!!!
すっげぇーーーーー
できた!!!!!
おまい天才!!!!!
もう神!!!!!
助かったぜ!!!!
0711デフォルトの名無しさん
2005/11/25(金) 15:48:260712デフォルトの名無しさん
2005/11/25(金) 16:04:29ミスターTに聞けば良いと思うよ。
0713デフォルトの名無しさん
2005/11/25(金) 16:23:05発想がつまんねぇんだよ
存在ごと消えうせろ
0714デフォルトの名無しさん
2005/11/25(金) 16:30:260715デフォルトの名無しさん
2005/11/25(金) 16:32:33すっげぇーーーーー
できた!!!!!
おまい天才!!!!!
もう神!!!!!
助かったぜ!!!!
0716デフォルトの名無しさん
2005/11/25(金) 16:41:32大体でいいので誰か教えて
0717デフォルトの名無しさん
2005/11/25(金) 16:46:30VBが読めるくらいのレベル
0718デフォルトの名無しさん
2005/11/25(金) 16:54:19と
読
め
れ
ば
そ
れ
で
神
0719デフォルトの名無しさん
2005/11/25(金) 17:33:250720デフォルトの名無しさん
2005/11/25(金) 18:06:40>>709のとおりにしたらIndexがいくつなのか調べるのを忘れないで。
あと次からはエラー番号もお願い(ウフ)
0721デフォルトの名無しさん
2005/11/25(金) 19:04:26なにやってるか自然言語で説明できるくらい
0722デフォルトの名無しさん
2005/11/25(金) 20:59:470723デフォルトの名無しさん
2005/11/25(金) 23:02:31VB helpで検索しようとすると、
「ローカルディスクは、"MSDN VS 6.0 local"のファイルを含んでいません。
再度、ファイルの場所を指定してください。
C:\Program Files\Microsoft Visual Studio\MSDN98\98VS\1041\」
と表示されます。
VBの自宅での勉強のため、Microsoft visual studio 6.0 disc1と
MSDN disc1を会社から借り、インストールした状態です
(月曜日の返却時はアンインストールします)。
また、ググろうとすると、$の文字を認識してもらえないようで
$を無視した検索結果となります。
他の文字列での検索で、関数説明などは検索できたのですが、
$付と無しの差の説明は、まだ見つけられておりません。
VB5の入門マニュアルも会社から借りたのですが、
こちらには特に記述は無いようです。
ご教示をお願いしたく思います。
0724デフォルトの名無しさん
2005/11/25(金) 23:12:150725デフォルトの名無しさん
2005/11/25(金) 23:21:28説明足らずでした…。
来週月曜日に一旦会社に出て、12/1(契約開始日)から出勤となります。
0726デフォルトの名無しさん
2005/11/25(金) 23:27:16諦めが早すぎる。そういう粘着性が足りない人はプログラマ向かないよ。
現に、今思うに任せて「vb left "left$" 違い」でググってみたけど
ちゃんと解説してるところが見つかったよ。
0727デフォルトの名無しさん
2005/11/25(金) 23:29:530728デフォルトの名無しさん
2005/11/25(金) 23:33:04うああ!ありがとう (´;ω;`)
ググる時に、"で囲むことも勉強になりました。
もっと粘着しつつ精進します <(_ _)>
0729デフォルトの名無しさん
2005/11/25(金) 23:36:15>>727
ありがとう (´Д⊂
$無しでVariant型、$付でString型と判りました。
0730デフォルトの名無しさん
2005/11/26(土) 07:58:58はぁ?
$あろうが無かろうが文字列だよ
0731デフォルトの名無しさん
2005/11/26(土) 08:41:340732デフォルトの名無しさん
2005/11/26(土) 09:03:29$があろうが無かろうが文字列型だよ
0733デフォルトの名無しさん
2005/11/26(土) 09:22:24$があろうが無かろうが文字列型だよ
0734デフォルトの名無しさん
2005/11/26(土) 11:00:40かつてはそうだったかも知れないが、VB6現在でそうかどうかは疑問だな。
$つきはすでにレガシー構文じゃないかな。
0735デフォルトの名無しさん
2005/11/26(土) 11:47:050736デフォルトの名無しさん
2005/11/26(土) 11:51:42繰り返した回数 20,000,000
格納先をstring型とvaliant型二つ用意してかかった秒数比較
string型 valiant型
Mid$ 3 5
Mid 5 7
Left$ 2 3
Left 5 5
Right$ 3 3
Right 5 5
0737デフォルトの名無しさん
2005/11/26(土) 12:14:02さんくす
機能してるようですね
0738729
2005/11/26(土) 12:14:27リファレンスマニュアルが無いとだめか…。
>>736見て、$付けたままコーディングしてみる。
月曜日に聞いてみるよ。
レスありがとん。
0739デフォルトの名無しさん
2005/11/26(土) 22:32:070740デフォルトの名無しさん
2005/11/26(土) 22:46:10VB6でサーバーにあるテキストファイル(複数)を読み込んで
編集した内容をサーバーのあるフォルダに保存するような物を
作っているのですが、複数のファイルを読み込むにはどうしたら
良いのでしょうか?どなたか教えてください。
0741デフォルトの名無しさん
2005/11/26(土) 22:47:580742デフォルトの名無しさん
2005/11/26(土) 22:54:31レス有難うございます。色々本などを見たのですが
下記のような記述を見つけたのですが、これだと複数のファイルは
読み込めるのでしょうか?ファイル番号と言うのが良く分からないのですが,,,
↓
open ファイル名 For input As#ファイル番号
0743デフォルトの名無しさん
2005/11/26(土) 23:01:29>>740には早いような希ガス
0744デフォルトの名無しさん
2005/11/26(土) 23:03:54やっぱりDAOとかADOって言うのを使わないと
サーバーには接続出来ないんですか?
0745デフォルトの名無しさん
2005/11/26(土) 23:05:35ファイル番号は1〜511の範囲で勝手につければいい。同時に複数のファイルを
使用する場合は重複しないように気をつけて。
ただ、本とかの例では #1 とか #2 と直値で書いていることが多いけど
できれば FreeFile で、VB に空き番を管理させる方がいい。
以下、サンプル。
Dim File1 As Integer, File2 As Integer
File1 = FreeFile
File2 = FreeFile
Open "file-1" For Input As #File1
Open "file-2" For Input As #File2
INPUT #File1, Data1
INPUT #File2, Data2
Close #File1
Close #File2
0746デフォルトの名無しさん
2005/11/26(土) 23:07:000747デフォルトの名無しさん
2005/11/26(土) 23:08:13同時には発生しません
0748デフォルトの名無しさん
2005/11/26(土) 23:10:30こいつ、質問の意味がわかってんだろうか
0749デフォルトの名無しさん
2005/11/26(土) 23:11:31回答有難うございました。
ちなみにもう一つお聞きしたいのですが、ファイルのパス名とかは
どう記述すればよいのでしょうか?
例サーバー:\\j0001
読み込みたいファイルパス:\c:\db\***.txt
0750デフォルトの名無しさん
2005/11/26(土) 23:16:070751デフォルトの名無しさん
2005/11/26(土) 23:19:50有難うございます。
やってみます。
0752デフォルトの名無しさん
2005/11/26(土) 23:28:290753661
2005/11/27(日) 19:38:31縦に線が入るツール?を使っていた方がいたのですが、ご存知でしょうか?
目的としてはインデントを分かりやすくするものだと思うのですが。。。
ネストの連続になると結構便利なのかなと思います。
どうぞよろしくお願い致します。
0754デフォルトの名無しさん
2005/11/27(日) 19:55:26今書いた動かないソース出せ。
0755デフォルトの名無しさん
2005/11/27(日) 21:45:37ファイルの作成ってどうするんですか?
具体的にソースを書いてください
0756デフォルトの名無しさん
2005/11/27(日) 22:02:59,-ー──‐‐-、
,! || |
!‐---------‐
.|:::i ./´ ̄ ̄.ヽ.i
|::::i | |\∧/.|..||
|::::i | |__〔@〕__|.||
|::::i |.(´・ω・`)||
|::::i | キング ||
|::::i | カワイソース.||
|::::i L___________」|
|::::i : : : : : : : : : |
`'''‐ー------ー゙
0757デフォルトの名無しさん
2005/11/27(日) 23:16:44VB6を使って簡単な物を作ったことがある程度なのですが、
いま下記のようなツールを作っているのですが、ファイルの読み込みと
読み込んだファイルから在庫を減らすことが出来ません。
1.在庫リスト(Excel)を読み込む
2.使用した品物のリスト(txtx)を読み込む
3.読み込んだtxtファイルの使用数から、在庫リストの在庫数を引く
ヒント程度でも良いので、どなたか教えてください。
0758デフォルトの名無しさん
2005/11/27(日) 23:21:17ヒント:Excel + VBA
最終的にVB6でやるにしても、
Excel + VBAで同処理が出来るようにならないと始まらない
0759デフォルトの名無しさん
2005/11/27(日) 23:22:50在庫リストをtxtファイルにしたら、VB6だけで出来ますか?
0760デフォルトの名無しさん
2005/11/27(日) 23:37:11>>758を百回読んで脳手術受けろ
0761デフォルトの名無しさん
2005/11/27(日) 23:41:16?
0762デフォルトの名無しさん
2005/11/27(日) 23:46:32Excelのオートメーションを利用できる環境なら(Excelがインスコされてれば)
在庫リストがExcelファイルでもVB6で出来る
もちろんテキストやcsvでも問題ないけど
どっちにしろ出直してこい
0763デフォルトの名無しさん
2005/11/28(月) 00:09:040764デフォルトの名無しさん
2005/11/28(月) 00:12:490765デフォルトの名無しさん
2005/11/28(月) 00:18:52IMEをONにできますよね。
でもIMEがONだとスペースキーでボタンが押せなくなります。
ボタンにフォーカスされたときにIMEをOFFにして
ONにできないようにしたいのです。
こういうことは簡単にはできないんでしょうか。
VCプログラムだと何もしなくてもボタンにフォーカスがあるときは
IMEをONにすることができません。
これが合理的な仕様だと思います。
0766デフォルトの名無しさん
2005/11/28(月) 00:30:290767デフォルトの名無しさん
2005/11/28(月) 06:04:07ImmSetOpenStatus
ImmReleaseContext
VBからCのAPI呼ぶ方法はそこら辺でぐぐればいっぱい出てくるからあとは自力でどうぞ
0768デフォルトの名無しさん
2005/11/28(月) 08:29:310769765
2005/11/28(月) 12:56:40ありがとうございます。
IMEModeプロパティのないコントロールについては、
Got_FocusイベントでIMEをOFFにしたり入力モードを設定したりする処理を
全部書いてやる必要があるんですね・・・。
もうちょっと気の利いた仕様にしてほしいですね。VB。
0770デフォルトの名無しさん
2005/11/28(月) 13:38:380771次の患者です
2005/11/28(月) 21:19:38ログインと買い注文画面まで開くことは出来ました
↓で買い注文画面を表示させてその後どうすれば良いのか全くわかりません
宜しくお願いします。
-------------------------------------------------------
Sub ie_go_ken3()
Dim objIE As Object 'IEオブジェクト参照用
'インターネットエクスプローラーのオブジェクトを作る
Set objIE = CreateObject("InternetExplorer.application")
objIE.Visible = True '見えるようにする
'文字列で指定したURLに飛ぶ
objIE.navigate "https://trade.kabu.livedoor.com"
'表示終了まで待つ
Do While objIE.busy = True
DoEvents
Loop
End Sub
----------------------------------------------------------
0772デフォルトの名無しさん
2005/11/28(月) 21:31:570773771
2005/11/28(月) 21:52:37Private Sub Command1_Click()
WebBrowser1.Navigate "https://kabu.livedoor.com/login/input"
End Sub
Private Sub Command2_Click()
Dim i, j
For Each i In WebBrowser1.Document.Forms
Debug.Print i.Action, i.method
For Each j In i
If TypeOf j Is IHTMLInputElement Then
Debug.Print , j.Name; "="; j.Value
End If
Next j
Next i
End Sub
Private Sub Command3_Click()
Dim f As MSHTML.IHTMLFormElement
Set f = WebBrowser1.Document.Forms(0)
f.Item("koza1").Value = "xxx" '部店コード
f.Item("koza2").Value = "yyy" '口座番号
f.Item("passwd").Value = "zzz" 'パスワード
f.Item("submit").Click 'ログインボタンを押す (IHTMLInputButtonElement.click)
End Sub
0774デフォルトの名無しさん
2005/11/28(月) 22:33:04それじゃ買い注文だせないぞw
0775デフォルトの名無しさん
2005/11/28(月) 23:41:54VBAのIE操作を知りたいのです
宜しくお願い致します。
0776デフォルトの名無しさん
2005/11/28(月) 23:58:27>>526
0778デフォルトの名無しさん
2005/11/29(火) 00:05:330779デフォルトの名無しさん
2005/11/29(火) 00:16:06IEのって出てるぜ?
WEBサイトのチェックボックスを操作したいんじゃね?
0780デフォルトの名無しさん
2005/11/29(火) 00:16:22チェックボックスにチェックを入れるには HTMLInputElement の Checked を True に。 Value では出来ん
エラーの内容も書かないなんてw
タイプライブラリを参照していないから だったりしてなw
0781デフォルトの名無しさん
2005/11/29(火) 09:27:070782デフォルトの名無しさん
2005/11/29(火) 13:56:530783デフォルトの名無しさん
2005/11/29(火) 14:10:47たまには脳みそ使った方が良いぞ
InStrRev
Right
0784デフォルトの名無しさん
2005/11/29(火) 14:56:38Dim fso As New Scripting.FileSystemObject
Dim f As Scripting.folder
Set f = fso.GetFolder("C:\winnt\system32")
Debug.Print f.Name
0785デフォルトの名無しさん
2005/11/29(火) 15:13:41tmp(秒)をhour(時間)、minute(分)、sec(秒)にしたいときって
Dim hour As Long
Dim minute As Long
Dim sec As Long
sec = tmp Mod 60
minute = (tmp / 60) Mod 60
hour = tmp / 60 / 60
で、問題ないですか?
0786デフォルトの名無しさん
2005/11/29(火) 15:26:14↓
minute = (tmp - sec) Mod 60
折角最初に秒数出してるんだからそれを使わない手は無いと思うんだけどな
0788デフォルトの名無しさん
2005/11/29(火) 15:47:22いや、その理屈はオカシイ
0789デフォルトの名無しさん
2005/11/29(火) 15:52:52Dim t_minute As Long
Dim hour As Long
Dim minute As Long
Dim sec As Long
sec = tmp Mod 60
t_minute = (tmp - sec) / 60
minute = t_minute Mod 60
hour = (t_minute - minute) / 60
これでいい
0790デフォルトの名無しさん
2005/11/29(火) 15:53:45minuteとhourでわざわざ同じ計算が中に入ってるのが勿体無いな
0791デフォルトの名無しさん
2005/11/29(火) 16:15:59\ を使え
0792デフォルトの名無しさん
2005/11/29(火) 16:33:15>>789
0793デフォルトの名無しさん
2005/11/29(火) 17:09:380794デフォルトの名無しさん
2005/11/29(火) 17:30:21\ は整数での割り算
/ の計算結果を整数型へ代入するときに丸めか切捨てが発生するはずだが、
どっちだっけ?
0795デフォルトの名無しさん
2005/11/29(火) 17:46:05/ は丸めが発生する
>>789 は余りが0になるようにしている
0796デフォルトの名無しさん
2005/11/29(火) 18:01:19Dim a As Long
a = 3 / 2
a = 5 / 2
両方とも a は 2 になる
0797デフォルトの名無しさん
2005/11/29(火) 18:02:57Dim hour As Long
Dim minute As Long
Dim sec As Long
Dim vtime() As String
vtime = Split(Format(tmp / 86400, "hh:mm:ss"), ":")
hour = vtime(0)
minute = vtime(1)
sec = vtime(2)
で良いじゃん
0798デフォルトの名無しさん
2005/11/29(火) 18:11:58実数で計算されて代入時に銀行まるめ
>>794 が言いたいのはそういうことだろう。
/ の結果は 1.5 と 2.5 Long型に代入した時点で銀行丸めで 両方とも2になる。
0799デフォルトの名無しさん
2005/11/29(火) 18:21:050800デフォルトの名無しさん
2005/11/29(火) 18:22:030801800
2005/11/29(火) 18:26:570802デフォルトの名無しさん
2005/11/29(火) 18:41:08ダウンロードするというプログラムをVB5で作ることはできますか
0803デフォルトの名無しさん
2005/11/29(火) 18:41:112 つの数値の商を計算し、結果を整数で返します。
除算を実行する前に、数式はバイト型 (Byte)、整数型 (Integer)、または長整数型 (Long) の式に丸められます。
/ 演算子
2 つの数値の商を計算し、結果を浮動小数点数で返します。
データ型変換関数
CInt 関数および CLng 関数は常に最も近い偶数に値を丸めます。たとえば、0.5 を 0 に、1.5 を 2 にそれぞれ丸めます。
少しはMSDN読んでから会話しろ
0804デフォルトの名無しさん
2005/11/29(火) 21:37:26数分毎にWebBrowser1.Refreshを実行して、
WebBrowser1_DocumentCompleteでWebBrowser1.document.linksを(ry
0805デフォルトの名無しさん
2005/11/30(水) 09:38:26可能だよ。
ただ、自動ダウンロードツール対策として見えた文字を記入させるロダもあるからがんばれ。
0806デフォルトの名無しさん
2005/11/30(水) 15:54:52消費税計算含む金額を扱う時ってcurrency型で処理しますよね。
integerとかlongとか織り交ぜて掛けたり割ったりしませんよね。
外注さんに常識だろうと指摘してみたら「仕様変更だ!」と逆切れされちゃったんですが。
どうなんでしょうか。そこまでコーディング規約に書いて渡さなくちゃいけないものなんでしょうか?
0807デフォルトの名無しさん
2005/11/30(水) 16:27:30お前が悪い
0808デフォルトの名無しさん
2005/11/30(水) 16:42:180809デフォルトの名無しさん
2005/11/30(水) 16:42:39充分な速度が出て他に影響が無くて出てくる答えが正解ならば、変数の仕様なんざどーでもいい
事後メンテまで外注に投げるつもりなら、答えが正解なのにコードにいちゃもんつけるのはお門違い
メンテをあんたが引き受ける予定なら、最初から細かく規定しておくべき事柄
あくまで「常識」に拘るなら、その外注が「常識」を遵守するかどうかを計れなかった自分のミス
それでも納入後に変更させるなら、それは仕様変更だ
0810デフォルトの名無しさん
2005/11/30(水) 17:27:34本当にありがとうございました。
0811デフォルトの名無しさん
2005/11/30(水) 18:14:05どういう形式で外注にたのんだか知らないが、関数等を外注に頼む時に精度を仕様に盛り込むのは常識だ。
後、どうみても業務時間内に2chを利用するな。
0812デフォルトの名無しさん
2005/11/30(水) 18:26:32まあ >>809 に同意なんだが、常識かどうかって点では
「未来永劫 .NET に移行するつもりがないのなら
Currency 型でもいいだろう」
とは言える。
' 桁数と小数以下の処理の為に Long/Integer 使って
' 苦労するくらいなら Decimal 型の方がいいかも知らんが、
' 使った事ないんで知らん。
>>811
>どうみても業務時間内に2chを利用するな。
済みません… orz
0813デフォルトの名無しさん
2005/11/30(水) 18:32:10>>806
・自分の思ってる常識が世界共通だと思うな
・言わなきゃ伝わらない
0814デフォルトの名無しさん
2005/11/30(水) 19:42:27ごめwwwwwwwwww 俺も仕事中常にJane起動wwwwwwwwwwwww
0815デフォルトの名無しさん
2005/11/30(水) 21:03:59うるせーバカ
0816デフォルトの名無しさん
2005/11/30(水) 23:33:510817デフォルトの名無しさん
2005/12/01(木) 00:32:58win98 はもうだめぽ
0818デフォルトの名無しさん
2005/12/01(木) 02:59:59VBでOLEを使おうと思っているのですが,必要な情報が
なかなか見つからず困っているのでご助力願いたいです.
OLEにSolidWorksというCADアプリをいれるのですが,
マクロのソースをはっつけてVBから操作することはできました.
ですが自分のやりたいこととしては,アプリの操作と
VBのフォームなどの操作を同様(?)に行いたいです.
DoVerbで編集モードに入ってしまうとVBからの操作が出来ないので.
一つのアプリケーションのようにしたい,というとわかってもらえるでしょうか.
編集モードからイベントが取得できれば,ちょっと不格好ですが
なんとかできそうなのですが,そういうことは出来ますか?
自分で色々考えているのですが,OLEでは無理かなという気がしてきています.
ご助力お願いします.
0819デフォルトの名無しさん
2005/12/01(木) 07:58:10そのCADアプリの会社に聞けよ
0820デフォルトの名無しさん
2005/12/01(木) 10:21:12教えてください(>_<)
0821デフォルトの名無しさん
2005/12/01(木) 10:44:22アイコンだけなら標準コントロールで可能。
アイコンのとなりにテキストを入れたい場合は標準ではできない。
どっちだ?
0822デフォルトの名無しさん
2005/12/01(木) 10:46:18コマンドボタンの Pictureプロパティ で アイコン を指定すれ。
0823デフォルトの名無しさん
2005/12/01(木) 11:39:47>>821前者ならStyleプロパティとPictureプロパティで。
Styleに気付かないこと多し。
後者なら
ttp://www.netlaputa.ne.jp/~stadt/vb/p21_cmdct/cmdct.htm
以前ここにお望みのものがあったけど消えてます。
やってたことは「絵と文字のビットマップを作ってPictureプロパティに
設定する」というのをAPIガリガリ書いて、というもの。
キャプション固定なら、ペイントツールで作って貼っても同じです。
0824820
2005/12/01(木) 13:30:53コマンドボタンにアイコンと説明のテキストをつけようと思ってます
0825デフォルトの名無しさん
2005/12/01(木) 15:09:30> 後者です。
だから何?
どっちの場合だとしても、もう答え出てるんだから後は自分でやれよ
0826デフォルトの名無しさん
2005/12/01(木) 16:47:53お断りですm(_ _)m
0827デフォルトの名無しさん
2005/12/01(木) 18:35:59WSHでVBScriptを使っている人のスレってどこかありませんかね?
どなたか誘導よろ。
0828デフォルトの名無しさん
2005/12/01(木) 18:43:42お断りですm(_ _)m
0829デフォルトの名無しさん
2005/12/01(木) 19:08:47WSHスレはこの板とWin板にある
VBScript限定のスレは無いが、
VBScriptは上記2つのWSHスレとこのスレ、
及びWeb制作管理板のいくつかのスレで扱われてるので
VBScriptのスレを作る必要もないだろ
0830827
2005/12/01(木) 21:23:440831デフォルトの名無しさん
2005/12/02(金) 00:25:07VB6 SP6 + XP SP2 + IE6
です。
VB6のインターネットトランスファーコントロールで
URLのデータを取得するときに OPENURLメソドを
使用しています。
このコントロールでURL取得時にプロキシ経由での取得を行いたいのですが
IEの設定が繁栄されると考えていいのでしょうか?
0832デフォルトの名無しさん
2005/12/02(金) 00:31:590833デフォルトの名無しさん
2005/12/02(金) 11:51:05(,,゚Д゚)<先生方、質問です。
仕事で、VBソフトを10個稼動させているんですが、なぜか3〜6時間後に1個づつフリーズします。
環境は、XP、セレロン2G、メモリ1G、HD80Gです。
フリーズ前は、CPU使用率は60%前後、PF使用率も200M前後で、フリーズするとCPU使用率
は100%になりました。
受注先に問い合わせても、原因が解らないようです。
0834デフォルトの名無しさん
2005/12/02(金) 11:55:19受注先の奴らを問題のPCの前に連れて来て原因究明しろよ('A`)
0835デフォルトの名無しさん
2005/12/02(金) 11:56:30そんな問い合わせ方じゃ先方も困るだろ
原因を解決したいならきちんと状況を説明しないと
0836デフォルトの名無しさん
2005/12/02(金) 12:03:00どうせ DoEvents ループ で止まってるんだろ。
ソース晒してみぃや。
0837デフォルトの名無しさん
2005/12/02(金) 15:02:56ソース譲渡なのか……
0838デフォルトの名無しさん
2005/12/02(金) 15:51:58>>833 だけで分かるなら解決してやってくれよ。
0839デフォルトの名無しさん
2005/12/02(金) 16:13:22つうかあんたの書き込みも>>833と同じ程度のレベルなような。
0840デフォルトの名無しさん
2005/12/02(金) 17:30:120841デフォルトの名無しさん
2005/12/02(金) 18:39:29その状態でPCを休止モードに移行汁
休止状態のPCのHDDを、ドライブイメージとかでバックアップ。
あとは休止状態のPC受注先に移送、リジュームしたら受注先を苛める。
0842デフォルトの名無しさん
2005/12/02(金) 21:54:03なぜかエラーになってしまいます。考えられる原因は何でしょうか。
コンポーネントは参照設定されているし、エクセルのパスも問題ありません。
(環境)
・WinXP Pro
・VB6.0 SP2
・VB-Report1.0
0843デフォルトの名無しさん
2005/12/02(金) 22:09:47その状態からすると、オマエの頭が悪いんだろ。
そうでなければ、もう少し状況の説明がいるぐらい判断つくはずだから。
0844デフォルトの名無しさん
2005/12/02(金) 22:17:57口は悪いが禿同である
0845デフォルトの名無しさん
2005/12/02(金) 22:22:49VB6 「SP2」ってのがなんとも。。。
0846デフォルトの名無しさん
2005/12/03(土) 00:25:32"C:\Documents and Settings\デスクトップ\ファイル名.csv"
ACCESSSでボタンを作ってこういうのをあてはめたら、
一応押すごとにインポートされるものは出来たんだけど、
ファイル名のところなんだけど、同じフォルダ内にある全ての
CSVをインポート処理してくれるようにならないかな?
欲をいえば、
いくつファイルをインポートしたかメッセージ出てくると、なおいいね。
4つのファイルをインポートしました。
とか
0847デフォルトの名無しさん
2005/12/03(土) 01:39:42Dim lstrFile As String
Text1.Text = ""
lstrFile = Dir("C:\Documents and Settings\Makoto\デスクトップ\適性テスト\*.csv")
Do Until lstrFile = ""
Text1.Text = Text1.Text & lstrFile & vbCrLf
lstrFile = Dir()
DoCmd.TransferText acImportDelim, , "インポートデータ", _
"C:\Documents and Settings\Makoto\デスクトップ\適性テスト\$lstrFile$.csv"
Loop
MsgBox "インポートしました!"
↑これでは出来ない。なんでだー
0848デフォルトの名無しさん
2005/12/03(土) 02:18:07Dim lstrDir As String, lstrFile As String
Dim nCount As Integer
Text1.Text = ""
lstrDir = "C:\Documents and Settings\Makoto\デスクトップ\適性テスト\"
lstrFile = Dir(lstrDir & "*.csv")
Do Until lstrFile = ""
Text1.Text = Text1.Text & lstrFile & vbCrLf
nCount = nCount + 1
lstrFile = Dir()
DoCmd.TransferText acImportDelim, , "インポートデータ", lstrDir & lstrFile
Loop
MsgBox nCount & "個のファイルをインポートしました。"
0849デフォルトの名無しさん
2005/12/03(土) 03:44:41そういう人は他に居ない?
0850デフォルトの名無しさん
2005/12/03(土) 07:26:54Accessで作って欲しいものある?
http://pc8.2ch.net/test/read.cgi/db/1116568169/809,836,837,838
バカマルチにレスするなよ
0851デフォルトの名無しさん
2005/12/03(土) 08:40:10フォーム数やステップ数を出力してくれるような
アプリケーションはないでしょうか?
できればフリーソフトなどあればうれしいのですが・・・
0852デフォルトの名無しさん
2005/12/03(土) 08:59:53自分で作れよ
プロジェクトファイルはテキストなんだからさ
0853デフォルトの名無しさん
2005/12/03(土) 09:02:26vectorにいろいろありまいたので試して見ます。
ありがとうございました。
0854デフォルトの名無しさん
2005/12/03(土) 10:53:39普通の人はVB6でWEBサーバーを作ったりしないので居ない
0855デフォルトの名無しさん
2005/12/03(土) 12:53:28昔DDJな何かでVB5.0使ってWebサーバ作ったという記事を見た事がある
0856デフォルトの名無しさん
2005/12/03(土) 15:48:25ありがとうございました
0857デフォルトの名無しさん
2005/12/03(土) 15:52:09ただ
変数を宣言したあとの
Text1.Text = ""
が黄色になって「オブジェクトが必要です」
と出てくるのですが。。。。
0858デフォルトの名無しさん
2005/12/03(土) 15:52:24死ね
0859デフォルトの名無しさん
2005/12/03(土) 16:05:230860デフォルトの名無しさん
2005/12/03(土) 16:06:31Text1っていうオブジェクトが無いんだろ
キミの出した情報じゃそれしかわからんよ
0861デフォルトの名無しさん
2005/12/03(土) 16:11:32お返事ありがとうございます。
たった今、フォームにテキスト1を追加したんですが、やはりできませぬ。。。
0862デフォルトの名無しさん
2005/12/03(土) 16:18:410863デフォルトの名無しさん
2005/12/03(土) 16:19:24標準モジュールに書いていたってオチ
0864デフォルトの名無しさん
2005/12/03(土) 16:19:29今度は「コントロールがフォーカスを取得していないときに、コントロールのプロパティまたはメソッドは
参照することができません:エラー2185」と出てしまいました
0865デフォルトの名無しさん
2005/12/03(土) 16:20:42817 名前:NAME IS NULL[] 投稿日:2005/12/02(金) 21:23:47 ID:FRlIojdR
>>816
できれば、その前に、1つ教えてほしいことがある
access2002からモジュールの新規作成選択したときさ、
普通はVBのフォームとか、ツールボックス出るじゃん。
あれの出し方だけ教えて
0866デフォルトの名無しさん
2005/12/03(土) 16:23:14説明で教えてほしい。。。。。。
0867デフォルトの名無しさん
2005/12/03(土) 16:24:18A c c e s s か よ !
0868デフォルトの名無しさん
2005/12/03(土) 16:24:290869デフォルトの名無しさん
2005/12/03(土) 16:26:240870デフォルトの名無しさん
2005/12/03(土) 16:27:560871デフォルトの名無しさん
2005/12/03(土) 16:30:26環境教えろ VBなのかアクセスなのかエクセルなのか
一番最初に質問したレス番号教えろ
0872デフォルトの名無しさん
2005/12/03(土) 16:32:38CSV(カンマ区切りで)、1行目だけに左上詰めから15項目だけあるファイルを、
次々にアクセスのデータベースに追加していく形のものを作ってほしいです。
可能ならば、ボタンをポチっと押しただけで追加して、追加が終わったら、
その抽出したCSVファイルを削除しますか?とかで削除できたらサイコー!
812 名前:NAME IS NULL[] 投稿日:2005/12/02(金) 19:11:57 ID:azKk0wjH
つか、ACCESSのモジュール作成からVBたちあげても、
デザインビューのフォームとかツールボックスが出ない!!!
なんでだよ!!
817 名前:NAME IS NULL[] 投稿日:2005/12/02(金) 21:23:47 ID:FRlIojdR
>>816
できれば、その前に、1つ教えてほしいことがある
access2002からモジュールの新規作成選択したときさ、
普通はVBのフォームとか、ツールボックス出るじゃん。
あれの出し方だけ教えて
822 名前:NAME IS NULL[] 投稿日:2005/12/02(金) 21:50:27 ID:FRlIojdR
>>820
ならんでるよ。そこのモジュールから新規作成してるんだけどなー
826 名前:NAME IS NULL[] 投稿日:2005/12/02(金) 21:56:27 ID:FRlIojdR
フォームあるよー
アクセスでは、ボタン作ってそれをクリックしたら簡単にcsvからaccessに読み込むのできないの?
0873accessマン
2005/12/03(土) 16:33:33環境はaccess2003です。ドがつくほどプログラムのことは
分からないんです。すいません
0874デフォルトの名無しさん
2005/12/03(土) 16:33:35DoCmd.TransferText acImportDelim, ,"インポートデータ", _
"C:\Documents and Settings\デスクトップ\ファイル名.csv"
ACCESSSでボタンを作ってこういうのをあてはめたら、
一応押すごとにインポートされるものは出来たんだけど、
ファイル名のところなんだけど、同じフォルダ内にある全ての
CSVをインポート処理してくれるようにならないかな?
838 名前:NAME IS NULL[] 投稿日:2005/12/03(土) 00:01:07 ID:2/RezQHy
欲をいえば、
いくつファイルをインポートしたかメッセージ出てくると、なおいいね。
4つのファイルをインポートしました。
とか
841 名前:NAME IS NULL[sage] 投稿日:2005/12/03(土) 14:54:56 ID:???
分かる人いるなら教えてよ
844 名前:NAME IS NULL[] 投稿日:2005/12/03(土) 15:28:15 ID:2/RezQHy
DoCmdの引数にsFileを渡す方法がわからない
0876デフォルトの名無しさん
2005/12/03(土) 16:34:53本当にありがとうございました。
0877デフォルトの名無しさん
2005/12/03(土) 16:36:20今花より団子見てるから、あとでね
836 名前:NAME IS NULL[] 投稿日:2005/12/02(金) 23:00:48 ID:FRlIojdR
ただいま、つか出来上がったw
0878デフォルトの名無しさん
2005/12/03(土) 16:36:45>>818
おまえはヴァカ?
0879デフォルトの名無しさん
2005/12/03(土) 16:38:020880デフォルトの名無しさん
2005/12/03(土) 16:39:21長くなってもいいから何をどうしてどうなったのか詳しく書け
0881デフォルトの名無しさん
2005/12/03(土) 16:40:480882accessマン
2005/12/03(土) 16:46:42はい。ありがとうございます。
まずACCESSのフォームの新規作成で コマンドボタンを1つフォームに追加しました。
そのコマンドボタンの右クリックしてイベントのビルドでコードビルダを選択し、
Private Sub コマンド0_Click() と End Sub の間に >>848様の
>Dim lstrDir As String, lstrFile As String
>Dim nCount As Integer
>
>Text1.Text = ""
>lstrDir = "C:\Documents and Settings\Makoto\デスクトップ\適性テスト\"
>lstrFile = Dir(lstrDir & "*.csv")
>
>Do Until lstrFile = ""
>Text1.Text = Text1.Text & lstrFile & vbCrLf
>nCount = nCount + 1
>lstrFile = Dir()
>DoCmd.TransferText acImportDelim, , "インポートデータ", lstrDir & lstrFile
>Loop
MsgBox nCount & "個のファイルをインポートしました。"
を追記したんですが、デバッグ画面で text1.Text=""の行が黄色くなっていたので
またAccessのフォーム作成画面に戻りテキストボックスを追加して、
プロパティからtext1という名前に変えて、実行すると今度は
「コントロールがフォーカスを取得していないときに、コントロールのプロパティまたはメソッドは
参照することができません:エラー2185」と出てしまいました
0883デフォルトの名無しさん
2005/12/03(土) 16:48:12いいから、おまえは死ね
0884デフォルトの名無しさん
2005/12/03(土) 16:48:50お前さ、まずAccessの使い方から学べよアホ
Me付けなきゃどのテキストボックスか分からないだろ死ね
0885デフォルトの名無しさん
2005/12/03(土) 16:50:310886デフォルトの名無しさん
2005/12/03(土) 16:51:11ちんこうんこまんこちんこうんこまんこちんこうんこまんこ
ちんこうんこまんこちんこうんこまんこちんこうんこまんこ
ちんこうんこまんこちんこうんこまんこちんこうんこまんこ
ちんこうんこまんこちんこうんこまんこちんこうんこまんこ
ちんこうんこまんこちんこうんこまんこちんこうんこまんこ
ちんこうんこまんこちんこうんこまんこちんこうんこまんこ
ちんこうんこまんこちんこうんこまんこちんこうんこまんこ
ちんこうんこまんこちんこうんこまんこちんこうんこまんこ
ちんこうんこまんこちんこうんこまんこちんこうんこまんこ
ちんこうんこまんこちんこうんこまんこちんこうんこまんこ
ちんこうんこまんこちんこうんこまんこちんこうんこまんこ
0887デフォルトの名無しさん
2005/12/03(土) 16:54:100888デフォルトの名無しさん
2005/12/03(土) 16:54:51いいよ
0889デフォルトの名無しさん
2005/12/03(土) 16:55:210890888
2005/12/03(土) 16:57:15いやだ
0891デフォルトの名無しさん
2005/12/03(土) 16:58:290892デフォルトの名無しさん
2005/12/03(土) 16:59:030893デフォルトの名無しさん
2005/12/03(土) 17:00:060894デフォルトの名無しさん
2005/12/03(土) 17:01:38まぁ、なぜか分かる気もするがw
0895デフォルトの名無しさん
2005/12/03(土) 18:51:260896デフォルトの名無しさん
2005/12/03(土) 18:54:500897デフォルトの名無しさん
2005/12/03(土) 19:14:120898デフォルトの名無しさん
2005/12/03(土) 19:15:13全部に処理すればいい
0899デフォルトの名無しさん
2005/12/03(土) 19:55:05str = "123123123……"と言う文字列があり、先頭から5文字目を"0"に変更したいとします。
現在は、
x=mid(str,1,4) & "0" & mid(str,6)
とやっているのですが、他にスマートな関数が用意されていたら教えてください。
0900デフォルトの名無しさん
2005/12/03(土) 20:06:060901accessマン
2005/12/03(土) 20:06:090902デフォルトの名無しさん
2005/12/03(土) 20:09:56mid(s,5,1)="0"
でいいよ。
0904デフォルトの名無しさん
2005/12/03(土) 20:14:560905899
2005/12/03(土) 20:26:410906デフォルトの名無しさん
2005/12/03(土) 21:01:14DoCmd.TransferText acImportDelim を使うときは、どういうふうにすればいいか分かる香具師いる?
フィールド名をつけてなきゃ、スムーズにいくんだけどなぁ
0907デフォルトの名無しさん
2005/12/03(土) 21:03:12Accessで作って欲しいものある?
http://pc8.2ch.net/test/read.cgi/db/1116568169/853
お帰りバカaccessマン
0908デフォルトの名無しさん
2005/12/03(土) 21:04:190909デフォルトの名無しさん
2005/12/03(土) 21:06:080911デフォルトの名無しさん
2005/12/03(土) 21:13:42おまえのせいでだいぶ完成したぜw
0912デフォルトの名無しさん
2005/12/03(土) 21:13:58>>848
おまえがしねよw
はっはははは、できあがったからには、もうどうでもいいしw
0913デフォルトの名無しさん
2005/12/03(土) 21:14:33つ ttp://www.accessclub.jp/bbs5/0010/vba2551.html
0914デフォルトの名無しさん
2005/12/03(土) 21:18:060915デフォルトの名無しさん
2005/12/03(土) 21:37:22このクソ女め
0916デフォルトの名無しさん
2005/12/04(日) 00:01:15VB6でコンパイルエラー「メモリが不足しています」が発生しています。
このプロジェクトはソース量が巨大で、その一部を除くとコンパイルできるようになります。
変数の総数、コード量など何らかのコンパイラの制限に引っかかっているのでしょうか?
誰かご存知の方教えて下さい。
0917デフォルトの名無しさん
2005/12/04(日) 00:04:100918916
2005/12/04(日) 00:11:350919デフォルトの名無しさん
2005/12/04(日) 00:29:332kだとしてもギリギリか
0920デフォルトの名無しさん
2005/12/04(日) 00:47:53余裕だろ。
0921デフォルトの名無しさん
2005/12/04(日) 01:00:010922デフォルトの名無しさん
2005/12/04(日) 01:59:55プロジェクトファイルを右クリックしてコンパイル
0923デフォルトの名無しさん
2005/12/04(日) 10:34:180924デフォルトの名無しさん
2005/12/04(日) 10:40:29細木数子にでも聞け
0925デフォルトの名無しさん
2005/12/04(日) 18:17:45いじくるプログラムをつくっているのですが
For i = 1 to Len(String)
If Mid(String, i, 1) = """ then
と二重引用符を見つけたら処理をするというIf文を作りたいのですが
駄目っぽいのは目に見えてるのですがもしこういうのを作るには
文字コードやバイナリ状態のをIf文で処理させたほうがいいのでしょうか?
ものすごく馬鹿なことしてるように見えるかもしれませんがお知恵拝借よろしくお願いします。
0926デフォルトの名無しさん
2005/12/04(日) 18:29:21あとMidではなく…(以下略
0927デフォルトの名無しさん
2005/12/05(月) 01:21:13根本的な話としてファイル内の文字列をいじくるプログラムは
やりたい処理によって1文字ずつ処理していく方法がよかったり
文字列として処理していく方法がよかったりする。
また、バイナリ形式のまま処理した方が良い場合もある。
要するにどういじくりたいのか解らないのでどうしたら良いのかは回答できない
0928デフォルトの名無しさん
2005/12/05(月) 06:47:230929デフォルトの名無しさん
2005/12/05(月) 07:15:23いや、さすがにそれは書き込むときに変えてるんだろwwwwwwwwwwwwwww
0930デフォルトの名無しさん
2005/12/05(月) 11:22:26この内容でコントロールパネルは起動させることができたのですが、
その他上記の"Contorol"を"Mycomputer"や"Mynetwork"に変えてもマイコンピューターやマイネットワークなどを起動させることができません。
どの用に変更すればいいか教えていただけませんか?
0931デフォルトの名無しさん
2005/12/05(月) 11:55:26explorer /root,,::{20D04FE0-3AEA-1069-A2D8-08002B30309D}
explorer /root,,::{208D2C60-3AEA-1069-A2D7-08002B30309D}
0932930
2005/12/05(月) 14:30:04Private Sub Command1_Click()
explorer /root,,::{20D04FE0-3AEA-1069-A2D8-08002B30309D}
end sub
これに何が足りないか、もう少し詳しく教えていただけませんか?
0933デフォルトの名無しさん
2005/12/05(月) 14:44:33Enum e
[String]
End Enum
っていうふうに書いて使えたりする。
0934デフォルトの名無しさん
2005/12/05(月) 14:46:35足りないのは頭だと思いますが、
まずはぐぐれ
0935930
2005/12/05(月) 14:50:48ぐぐってもコマンドプロンプトで書いたら起動できるやりかたしかでてこねぇよ!!!
VBでどうやるんだよ!?
0936デフォルトの名無しさん
2005/12/05(月) 14:57:12Call Shell(文字列) って何やってるか知ってる?
0938デフォルトの名無しさん
2005/12/05(月) 15:32:04すごい
バカ
0939デフォルトの名無しさん
2005/12/05(月) 15:32:51タコ
0940デフォルトの名無しさん
2005/12/05(月) 15:51:230941925
2005/12/05(月) 16:17:08とりあえずAscをつかって文字コードで判別する
やり方で自己解決しちゃいましたが
ファイル内の書式が
[設定1]
AAAAA = "あああああ"
BBBBB = "びびびびび"
のようになってて"〜"間の文字を取得したいんです。
For文で1文字ずつ移動させて"がある場合だけ文字を
VB内の変数に記録し続けるって感じのアルゴリズムを考えて
たのですが今の俺じゃ効率悪い方法しか思いつかない・・・
orz
0942デフォルトの名無しさん
2005/12/05(月) 16:29:050943デフォルトの名無しさん
2005/12/05(月) 16:57:57何故?
0944デフォルトの名無しさん
2005/12/05(月) 17:13:38ヒント:16進数
対処法はWebに腐るほど転がってる
0945デフォルトの名無しさん
2005/12/05(月) 17:18:19文字列の書式によるが
InStr とか Replace が使えそう。
0947デフォルトの名無しさん
2005/12/05(月) 18:53:380948925
2005/12/05(月) 22:18:42ありがとうございます。
GetPrivateProfileString()でいけるようになりました。
iniファイルだってことすっかり忘れてた・・・。orz
逝ってきます。
0949デフォルトの名無しさん
2005/12/05(月) 22:51:56マルチ死ね
0950デフォルトの名無しさん
2005/12/06(火) 01:54:54Office2000・XPなんかのDeveloperEditionについてきたVBAの説明マニュアルを読め
まずはそれからだ
0951デフォルトの名無しさん
2005/12/06(火) 15:11:59定義未宣言の変数が大量にあって困っています。
OptionExplicit記述をして一つ一つ潰すにしてもあまりに量が多いので
せめて一覧出力して修正量がどれくらいか知りたいのですが、
なにかいい方法はありませんか?
0952951
2005/12/06(火) 15:13:57OSはWinXPPro
VB6+SP6です。どうぞよろしくお願いします(´・ω・)
0953デフォルトの名無しさん
2005/12/06(火) 15:29:350954デフォルトの名無しさん
2005/12/06(火) 15:53:29修正量なんて知らないほうが良いんじゃないの?w
全ロジック見直しですっていって工数見積もれば。
0955デフォルトの名無しさん
2005/12/06(火) 18:29:36コードが変わることによりブレイクして地域名が変わり
改ページの処理をするようにしなくてはいけないんですけれど、
方法がわかりません。
地域名 福岡
---------------------------------------
コード 地域名
---------------------------------------
0041 福岡
(現状)コードが42になったらブレイクして佐賀に変わる
改ページの処理がわかりません。
地域名 福岡
---------------------------------------
コード 地域名
---------------------------------------
0041 福岡
0042 佐賀
よろしくお願いします。
0956デフォルトの名無しさん
2005/12/06(火) 18:30:250957デフォルトの名無しさん
2005/12/06(火) 18:49:500958デフォルトの名無しさん
2005/12/06(火) 19:15:48VB.NETへのマイグレーションツールを使う
ちなみに、関係ないエラーも数万〜数十万件のオーダーででると思うから泣かない様に
0959デフォルトの名無しさん
2005/12/07(水) 09:38:59EXCELでの改ページの方法がわからないの?
改ページのタイミングを検出する方法がわからないの?
0960デフォルトの名無しさん
2005/12/07(水) 09:57:59やりたいことをマクロの記録でVBAに吐かせる。
あとはその選択セルとかを変えるだけ。
0961デフォルトの名無しさん
2005/12/07(水) 10:29:02Form_loadでDBにコネクションを貼り、unloadで切断するアプリケーションを作っています。
このアプリにADODCとデータコンボコントロールを追加しました。
ADODCの接続文字列にはForm_loadで用いるものと同じものを使っています。
データコンボコントロールはこのADODCをRowSourceとしています。
その結果、動作には問題無いのですがFormの起動がえらくもっさりしてしまいました。
余計なDB接続を作ってしまっただと思います。
Form_loadで生成したコネクションオブジェクトを流用することはできないのでしょうか?
0962デフォルトの名無しさん
2005/12/07(水) 10:32:47'Module1
Public Type TestStruct1'ユーザー定義
strIp As String
strUser As String
strPass As String
End Type
'Class1
Public GetHostInfo(stDisk As String) As TestStruct1
End Function
でコンパイルエラーが出ます。DLLで持つ共通関数の構造体を
外部モジュールから構造体を丸々参照できるようにしたいです
0963デフォルトの名無しさん
2005/12/07(水) 10:34:17改ページのタイミングを検出する方法がわからないのです。
もし、よろしければご教授ください。
0964デフォルトの名無しさん
2005/12/07(水) 11:57:50ttp://www.tt.rim.or.jp/~rudyard/torii009.html
ここ参照
0965デフォルトの名無しさん
2005/12/07(水) 12:08:23Public GetHostInfo(stDisk As String) As TestStruct1
↓
Public Function GetHostInfo(stDisk As String) As TestStruct1
0966デフォルトの名無しさん
2005/12/07(水) 12:20:14Web上のサンプルを見ると
Private Const HOGE As Long = &H1
と、型を指定している場合と
Private Const HOGE = &H1
と、型を指定していない場合があり、
型を指定しない方が多いように見受けられますが、
逆に変数では型を指定していないものはほとんど見あたりません。
なぜ変数はほとんどの場合型を指定しているのに
定数だと型を指定しないことが多いのですか?
0967デフォルトの名無しさん
2005/12/07(水) 12:23:58変数で型の指定を省略するとVariantになる。
けれどConstでは定数の値から適当な型を選んでくれるはず。
さらに、たしか昔はConstでは型を指定できなかったような気もする。
0968デフォルトの名無しさん
2005/12/07(水) 14:12:22すみませんFunction は漏れていたのですがFunction追加しても
改善されないようです。
もし駄目な場合はEXE化してcommand()で引数を渡すよう
思索してるんですが、これまた、引数としては一行の文字列になってまして
この引数をそれぞれの型で個別にやりとりさせる方法ってありますか?
0969デフォルトの名無しさん
2005/12/07(水) 14:25:16TestStruct1もクラスにしてしまえばどうだ。
もちろんプロパティ使えばTypeと見た目は変わらないように作れるだろ。
0970デフォルトの名無しさん
2005/12/07(水) 15:35:26Module1に書いてあるものを、Class2に書いて。
Class2はプロパティInstancing=6(GlobalMultiUse)で。
0971デフォルトの名無しさん
2005/12/07(水) 16:02:130972デフォルトの名無しさん
2005/12/07(水) 17:18:310973デフォルトの名無しさん
2005/12/07(水) 20:03:24埋め込みって、フォントファイル?文字のBMP?埋め込みってコンパイル時?後から?
0974デフォルトの名無しさん
2005/12/07(水) 20:14:38可能です。
0975デフォルトの名無しさん
2005/12/08(木) 02:44:33http://pc8.2ch.net/test/read.cgi/tech/1133977286/l50
0976デフォルトの名無しさん
2005/12/08(木) 03:51:38何てことすんねん
0977デフォルトの名無しさん
2005/12/08(木) 08:22:32コピーしたんですが2000行(68列)のデータが
コピーされず100行の絞込みを行った場合
コピーされたので、何かいい解決方法はないでしょうか?
0978デフォルトの名無しさん
2005/12/08(木) 09:41:37質問文を書き直す。
0979デフォルトの名無しさん
2005/12/08(木) 10:01:44環境VB6.0
スプレッドにてデータを表示
データレコード数2000件
行数68
列数2000
以上データをClipboard.SetText (.Clip)
にてクリップボードに出力したが出来ませんでした。
データ量を減らすと出来るのですが・・・
行数68
列数100
でクリップボードに出力が成功しています。
0980デフォルトの名無しさん
2005/12/08(木) 12:00:24On_commイベントでの受信ができません。
Windows XP Pro SP2, Excel 2003 SP1, VBA(VB6.0相当?)
PC: Excel使用, 外部装置:何か来ると、ステータスを返す
以下のプロシージャで"hoge"が送れました。
Private Sub Command1_Click()
Set mscomm1 = CreateObject("MSCOMMLib.MSComm.1")
mscomm1.CommPort = 1
mscomm1.Settings = "9600,N,8,1"
mscomm1.PortOpen = True
mscomm1.Output = "hoge"
mscomm1.PortOpen = False
End Sub
外部装置からステータスが返ってきますが、下のイベントは発生しません。
Sub MSComm1_OnComm()
MsgBox "fuga"
End Sub
Comman1_Click() 内で Wait を使うと拾えます。
If Application.Wait(Now + TimeValue("0:00:1")) Then
data = mscomm1.Input
End If
アドバイスお願いします。
0981デフォルトの名無しさん
2005/12/08(木) 12:33:52mscomm1のクラスオブジェクト変数のスコープの問題とか?
0982962
2005/12/08(木) 14:40:21試みまして、クラスにプロパティを作りました。たすかりました
0983デフォルトの名無しさん
2005/12/08(木) 14:57:07WithEvents 付けてる?
0984デフォルトの名無しさん
2005/12/08(木) 15:15:07レスありがとうございます。
今まで、クラスモジュールを使ったことがなく、
今回のようなケースで使うのかと初めて知りました。
[ツール]-[参照設定] Microsoft Comm Control 6.0 にチェック
クラスモジュール(Class1)
-------------------------------------------
Public WithEvents mscm As MSCommLib.mscomm
Private Sub mscm_OnComm()
End Sub
-------------------------------------------
標準モジュール(Module1)
-------------------------------------------
Dim mscomm1 As Class1
Sub SetMscommEvent()
Set mscomm1.mscm = MSCommLib.mscomm
End Sub
-------------------------------------------
本に、実際のオブジェクトと関連づける必要がある、
とあったので、上のようにしましたが、
「メソッドまたはデータ メンバが見つかりません。」
とエラーが出ます。
Set mscomm1.mscm = MSCommLib.mscomm
だと、「オブジェクトが必要です」
Set mscomm1.mscm = CreateObject("MSCOMMLib.MSComm.1")
だと、「オブジェクト変数または With ブロック変数が設定されていません。」
あと、少しでうまくいく気がするのですが...
0985デフォルトの名無しさん
2005/12/08(木) 15:16:05Set mscomm1.mscm = mscomm
だと、「オブジェクトが必要です」
0986デフォルトの名無しさん
2005/12/08(木) 15:19:07を
Set mscomm1.mscm = MSCommLib.mscomm
の前に追加
0987デフォルトの名無しさん
2005/12/08(木) 17:37:39Set mscomm1.mscm = New MSCommLib.mscomm
じゃね?
0988980
2005/12/08(木) 17:56:55VBなら簡単なのに。VBAだとここまでてこずるとは。
標準モジュール(Module1)
-------------------------------------------
Sub SetMscommEvent()
Set mscomm1 = New Class1
Set mscomm1.mscm = New MSCommLib.mscomm
End Sub
Private Sub SendData()
Set mscomm1 = New MSCommLib.mscomm
mscomm1.CommPort = 1
mscomm1.Settings = "19200,N,8,1"
mscomm1.PortOpen = True
mscomm1.Output = "piyo"
mscomm1.PortOpen = False
End Sub
Sub mscm_OnComm()
MsgBox "fuga"
End Sub
-------------------------------------------
SetMscommEvent()を一回実行してから受信すれば、
mscm_OnComm()が実行されると期待したのですが、
まだ、反応なしです。
0989デフォルトの名無しさん
2005/12/08(木) 18:26:04自動的に保存したいのですが。
「 output = bobj.ReadMail(file, nobody, Folder) 」を
下のコードの中にどのように追加すればいいでしょうか?
Dim bobj, ar
Dim Server As String, User As String, Pass As String, Command As String, Folder As String
Set bobj = CreateObject("basp21") ''BASP21オブジェクト
Server = "pop.xxxxx.com" ''POP3サーバー
User = "toru_tanaka" ''アカウント名
Pass = "password" ''パスワード
Command = "SAVEALL" ''コマンド
Folder = "<" & ThisWorkbook.Path & "\mail" ''保存するフォルダ
ar = bobj.RcvMail(Server, User, Pass, Command, Folder)
If IsArray(ar) Then
MsgBox "メールを受信しました"
Else
MsgBox "新着メールはありません"
End If
Set bobj = Nothing
0990デフォルトの名無しさん
2005/12/08(木) 18:40:000992デフォルトの名無しさん
2005/12/08(木) 20:02:09こういう人って不思議でしょうがないんだけど
人に質問する前にやることあるんじゃないの?
VBのコントロールの使い方なんてたいていググればいくらでも見つかるけど。
現に今"oncommイベント"で検索してみたが、順をおって使い方を説明しているところが
山ほど出てくる。
こういうやるべきことやらずにアタフタする人は何やっても多分ダメだね。
少なくともPGには向いてないわ。
まあ貶すだけだと後味悪いんでちょっとヒント。
MSCommのイベントは設定してやらないと発生しない。
RThresholdだと思ったけど、ちゃんと設定してます?
っていうか、MSCommで受信処理にOnCommイベントなんて使っちゃダメだよ。
どんなケースでも絶対使わないとまでいえないけど、普通の通信プログラムじゃ
まず使わない。
OnComm使って受信処理するようなコードを書く人はまあヘッポコだわな。
0993デフォルトの名無しさん
2005/12/08(木) 20:41:25VBなら検索すればサンプル山ほどあるし、実際動かしている。
こんなとこで時間食っているから、ヘッポコであることは認めるし、
OnCommしか使えないレベルでもあるが、
今回の件はOnCommで十分だと思うね。
0994デフォルトの名無しさん
2005/12/08(木) 21:24:34VBのコントロールの使い方はVBからだろうとVBAからだろうと同じですが。
0995デフォルトの名無しさん
2005/12/08(木) 22:27:410996デフォルトの名無しさん
2005/12/08(木) 22:38:43何がしたいんだよ
0998995
2005/12/08(木) 23:15:41つーか俺様のエピソードを1つ
VS6ProにFrontPage98ついてたの知ったのは購入3年後でしたが。
…w
0999デフォルトの名無しさん
2005/12/08(木) 23:19:231000デフォルトの名無しさん
2005/12/08(木) 23:19:5010011001
Over 1000Threadもう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。