(*´д`*)アハァ… VB初心者質問スレ Part22
(*´д`*)アハァ… VB初心者質問スレ Part22
- 1 名前:HTML化チェック済み :03/02/27 23:06
Part12 http://pc3.2ch.net/tech/kako/1026/10266/1026642565.html
Part13 http://pc3.2ch.net/tech/kako/1029/10292/1029241786.html
Part14 http://pc3.2ch.net/tech/kako/1030/10309/1030947162.html
Part15 http://pc3.2ch.net/tech/kako/1032/10327/1032706491.html
Part16 http://pc3.2ch.net/tech/kako/1034/10343/1034302532.html
Part17 http://pc3.2ch.net/tech/kako/1036/10361/1036154952.html
Part18 http://pc3.2ch.net/tech/kako/1038/10381/1038103769.html
Part19 http://pc3.2ch.net/tech/kako/1039/10398/1039859691.html
Part20 http://pc2.2ch.net/tech/kako/1041/10418/1041879465.html
Part21 http://pc2.2ch.net/test/read.cgi/tech/1044028945/
VB.net関連スレ
【老若】VB.net質問スレ【男女】 (Part2)
http://pc2.2ch.net/test/read.cgi/tech/1043629429/
心得
壱.質問する前に過去ログにも目を通してみる。
弐.質問する前に MSDN などで調べてみる。
参.VBScript もこのスレでOK。
四.インストーラーなどの質問もOK。
五.下ネタもたまにならOK。
- 2 名前:1 :03/02/27 23:07
- 立てますた。
- 3 名前:デフォルトの名無しさん :03/02/27 23:10
- 6.0のWebBrowserは.netでは何て言うのでしょうか?
≫1乙
- 4 名前:1 :03/02/27 23:11
- 暇なんで滑り込んでおくか。
ズザー
__('A`)こ= ==3
>>3
>>1見てよ。せっかくリンク先チェックしてんのに。
【老若】VB.net質問スレ【男女】 (Part2)
http://pc2.2ch.net/test/read.cgi/tech/1043629429/
- 5 名前:デフォルトの名無しさん :03/02/27 23:11
- >>1
乙age
つーか、Part22の.Netスレが立ってるよ…。
分岐?
- 6 名前:デフォルトの名無しさん :03/02/27 23:13
- 単に重複でしょ。
- 7 名前:デフォルトの名無しさん :03/02/27 23:14
- この際.net用はあっちにすれば?
- 8 名前:デフォルトの名無しさん :03/02/27 23:14
- それじゃ
【老若】VB.net質問スレ【男女】 (Part2)
の立場がない。
- 9 名前:デフォルトの名無しさん :03/02/27 23:23
- こっちはhtml化チェックもしてあるしな。
- 10 名前:デフォルトの名無しさん :03/02/27 23:29
- ttp://www.kai10.com/tenko/cgi-bin/img-box/img20030118232845.jpg
ttp://www.kai10.com/tenko/cgi-bin/img-box/img20030119190214.jpg
ttp://www.kai10.com/tenko/cgi-bin/img-box/img20030119181015.jpg
ttp://www.kai10.com/tenko/cgi-bin/img-box/img20030126100219.jpg
ttp://www.kai10.com/tenko/cgi-bin/img-box/img20030126230519.jpg
ttp://www.kai10.com/tenko/cgi-bin/img-box/img20030211182515.jpg
ttp://www.kai10.com/tenko/cgi-bin/img-box/img20030214001135.jpg
ttp://www.kai10.com/tenko/cgi-bin/img-box/img20030216173952.jpg
- 11 名前:デフォルトの名無しさん :03/02/27 23:53
- つーか、VBスレ自体もういらねーよ。
馬鹿が使うVBなんて、、、、さ
- 12 名前:デフォルトの名無しさん :03/02/28 00:12
- >>11
やーい、バ〜カ。
- 13 名前:デフォルトの名無しさん :03/02/28 00:57
- VB6でクラス中心でプログラムしてる奴って実際どれだけいるんだろ?
- 14 名前:デフォルトの名無しさん :03/02/28 06:49
- クラスは使うけど中心ではないよ。
- 15 名前:デフォルトの名無しさん :03/02/28 08:30
- >>13
俺は積極的にクラス&ユーザーコントロール使う手法で
プログラムしてるよ
- 16 名前:ひきプロ :03/02/28 08:34
- VBのOCXって他の開発環境で再利用できないんでしょうか?
検索したらDelphiからVBに張る方法ばっかりでてきて
- 17 名前:デフォルトの名無しさん :03/02/28 09:04
- >>13
自分の担当がDLL,OCX作成中心なので必然的にクラス・ユーザコントロール中心に設計するようになってる。
>>16
できないことはないんじゃない? 普通のコントロールと同じように扱えば。
ただVC/DelphiでできなくてVBしかできない処理というのがきわめて少ない以上、あまり需要の無い方法なのかも。
他の環境については知らん。
- 18 名前:ひきプロ :03/02/28 09:30
- >>17
ほおほ、ありがとうございます。
いつもVBで開発してるので、もしVBからしかOCXが
使えないんだったら意味ないかなーと思ってました。
確かにVBで作ったのを他の環境で使うって事はなさそうですね。
今まで気にしてなかったんですがVCでもOCX作れるんですか。
VCで作る方法を探してみます
- 19 名前:デフォルトの名無しさん :03/02/28 09:45
- >>13
おれはそうだな。複数インスタンスを作成すると効率がいいことが多いから。
- 20 名前:デフォルトの名無しさん :03/02/28 09:45
- >>13
漏れはクラス中心に設計してるよ。
クラス、ユーザーコントロール、(クラスとしての)フォーム…。
作業の切り分けやインスタンスの管理が楽だからね。
ただ、作業員で入ったおじちゃん&おばちゃんプログラマが勝手に、
標準モジュールに書き換えられたり、フォームにベタ書きされたりすることも、しばしば。
設計は守ってくれって言うと、
「何で、フォームとモジュールでできることを、わざわざクラス・コントロール使わないかんねん!!
このド素人が!!VBにはVBのやり方があるんや。
クラスやコントロールなんてオマケやぞ。」
と集団で一喝されました。あ〜痛い痛い(w
- 21 名前:デフォルトの名無しさん :03/02/28 09:58
- >>20
どんなコードにケチを付けられたのかわからないけど
| VBにはVBのやり方があるんや。
| クラスやコントロールなんてオマケやぞ。
クラスやコントロールを使わないのがVBのやり方だというのは賛成できないな。
16ビットVB時代の古い頭では理解できないのだろう。
- 22 名前:デフォルトの名無しさん :03/02/28 10:12
- アロハPC1を使って電話の着信からDB検索して
顧客情報を表示というプログラムを作成しているのですけど
VBのサンプルってどこかに落ちてないですか?
- 23 名前:ひきプロ :03/02/28 10:17
- http://www1.sphere.ne.jp/nikko-ew/seihin/alohapc1/alohapc1_specifications.pdf
8ページ目に仕様が
MSCommコントロールを使うと何とかなるかも知れませんね。
- 24 名前:デフォルトの名無しさん :03/02/28 10:28
- >>20
俺は ActXとかDllとかOCXを作らない場合にはクラスの使い道って知らん。
業務上ActX毎の単体処理になるんで、インターフェース以外は使ってなかった。
が
最近、内部のテーブルとして使えばパブリック引数に渡せるなぁ・・て利用中。
(メモリ展開させて)
しかし、データプールとしてのみで、処理は持たせてない。正しい使い方ってなんだろう・・
- 25 名前:ひきプロ :03/02/28 10:33
- そういえばクラスってリスト構造とか木構造とか
作れますよね。
- 26 名前:20 :03/02/28 10:42
- >>21
クラスの処理なんか、まさにUMLのクラス図みたいなものだよ。
そのクラスをコレクションにするクラスをラップした、ごくごくフツーのクラスモジュール。
コントロールもいくつものコントロールの処理を統一化した、
インターフェース処理を含めた、またクラス図みたいなものだよ。
そりゃ、たしかに使わなくてもできるが、
何も、多次元配列とSelect〜Case〜の山に書き換えることも無いだろうに。
>>24
漏れはクラス・コントロール自体に特別すごい処理は持たせないよ。
あくまで、存在の切り分け上含まれるプロパティ・メソッド・ファンクション・イベントが乗っかるだけ。
アプリ内のDLL・OCXの配置に近い使い方もするな。
生成すべき形が明確な場合はクラス化するようにしてる。
- 27 名前:デフォルトの名無しさん :03/02/28 10:57
- Form1.visible=Falseにするとクラスになりますた。
- 28 名前:デフォルトの名無しさん :03/02/28 11:12
- .。o(見えててもクラスなんだが...)
- 29 名前:21 :03/02/28 11:14
- >>25
作れるけど、インスタンスの寿命とかを考えないとハマるおそれあり。
>>26
OOを理解できないオールドタイプか>20のまわり
>>27
ポカーン(AA略
- 30 名前:デフォルトの名無しさん :03/02/28 11:22
- >20に書かれてるおじちゃんたち、ドトネトに移行したら喜びそうだね。
- 31 名前:ひきプロ :03/02/28 11:45
- >>29
そうですよね、適当に作ったら解放されないで
メモリ上に残ってしまいそうですね。
- 32 名前:20 :03/02/28 11:55
- >>29
まさにオールドタイプ。
RDBもほとんど意識して無い。
昔、Accessのマスタテーブルの作成をお願いしたら、
テーブルごとに別ファイルにされた。
「CSVはこうなってるだろ。」と言われたよ。
オイオイ、何のためのDBだよと…。
>>30
たぶん永遠に旧VBマンセーのままのような気がする。
ドトーネトは駄作、使い物にならんと言い張って。
- 33 名前:デフォルトの名無しさん :03/02/28 12:03
- >>31
適当に「つかったら」だろ。明示的に解放するのが普通の使い方じゃないか。
おれはRecordset,XMLやFileSysmteObjectは、それ専用のラッパークラスを
作ってる。バージョンの違いもこのクラスの中で吸収できるし、エラーも
大部分吸収できる。
- 34 名前:デフォルトの名無しさん :03/02/28 12:07
- VB.NETはフォームに貼るだけで使えるActiveXコンポーネントが多そうだから初心者のオレはほしい。カレンダーコントロールとかあるからうるう年の計算とかプログラミングする必要ないし。
- 35 名前:デフォルトの名無しさん :03/02/28 12:17
- >>34
VB6のDTPickerはダメなん?
- 36 名前:デフォルトの名無しさん :03/02/28 12:22
- 業務系でDTPickerいいよなぁ。古い部分がCalendar使ってたけど・・あれは酷いw
- 37 名前:34 :03/02/28 12:52
- >>35-36
34の意味はカレンダーのことというより
いろいろなコントロールがVB6よりありそうだなーっということでよろしこ
- 38 名前:ひきプロ :03/02/28 13:07
- >>33
確かに…。インスタンスの解放をVBに任せる
癖が付いてました。
ラッパークラスって良さそうですね。
何度もエラー処理とか解放とかしてると
いつか間違えてしまいそうだし。
- 39 名前:デフォルトの名無しさん :03/02/28 13:32
- \hoge\hoge2\hoge3\ というデータがあって、
この通りのフォルダを掘るにはどうしたらいいでしょうか
- 40 名前:デフォルトの名無しさん :03/02/28 13:35
- shell("mkdir .\hoge")
shell("mkdir .\hoge\hoge2")
shell("mkdir .\hoge\hoge2\hoge3")
- 41 名前:デフォルトの名無しさん :03/02/28 13:44
- >39
頭からループ回しながら、
Dirで確認して、無ければ掘る。
- 42 名前:デフォルトの名無しさん :03/02/28 13:46
- 俺なら手抜きして on error でエラー処理抜かしちゃうがな。
- 43 名前:33 :03/02/28 13:48
- >>38
ですね。Recordsetオブジェクトとか、本にも適当に書かれてることが多いんで
後でリファレンス見て使い方が間違ってたーっていうときにも修正が楽です。
「VB6 Error Coding & Layering」って本からこのやり方にしました。
- 44 名前:ひきプロ :03/02/28 14:29
- >>43
英語の本ですか(;´Д`
ラッパークラスについていろいろ検索してみようと
思います。ありがとうございました。
- 45 名前:デフォルトの名無しさん :03/02/28 14:48
- WebBrowserコントロール上でのマウスクリックをとりたいです。
どうすればいいでしょうか?
- 46 名前:33 :03/02/28 14:58
- >>45
SubClass .... かな....
- 47 名前:968 正規表現が完成した ◆HLRHHB4j46 :03/02/28 15:48
- 文字列
あああwww.uploader.com/folder001/いいい
からアドレスらしき文字列を抽出するプログラム。
VBで実際に動かすと
www.uploader.com/folder001/
という文字列を抽出できる。
- 48 名前:968 ◆HLRHHB4j46 :03/02/28 15:49
- 'On Error Resume Next
Dim RegEx As Object, Match As Object, Matches As Object
Dim StrPattern, StrSource, Str1 As String
Set RegEx = CreateObject("VBScript.RegExp")
If Err Then
MsgBox "エラー"
Else
'実験用Patternメモ
'"[^a-zA-Z0-9]""[a-zA-Z_0-9]|/""[a-zA-Z0-9]|\.|\&|\%|\=|\/|\+""w+\...+\/.+[^!#-;=?-~]"
StrPattern = "[a-zA-Z0-9]|\.|\&|\%|\=|\/|\+"
RegEx.Pattern = StrPattern '検索パターンを設定
RegEx.IgnoreCase = True '大文字と小文字を区別しないように設定
RegEx.Global = True '文字列全体を検索するように設定
StrSource = "あああwww.uploader.com/folder001/いいい" '検索対象の文字列
Set Matches = RegEx.Execute(StrSource) '検索を実行
Debug.Print "--------------"
Str1 = ""
For Each Match In Matches
Str1 = Str1 & Match
'Debug.Print "一致する文字列が見つかった位置は、" & Match.FirstIndex & " です。"
Debug.Print "一致した文字列は、" & Match.Value & " です。"
Next
Debug.Print "それぞれの文字を結合してURL生成" & vbCrLf & Str1
End If
- 49 名前:968 ◆HLRHHB4j46 :03/02/28 15:51
- ↑プログラムおわり
----------------------------
StrPattern = "[a-zA-Z0-9]|\.|\&|\%|\=|\/|\+"
と
StrSource = "あああwww.uploader.com/folder001/いいい" '検索対象の文字列
をいろいろ変えると他の目的にも使える。
StrPatternの値はここを参考にする。
ttp://www.microsoft.com/japan/msdn/columns/scripting/scripting051099.asp
- 50 名前:デフォルトの名無しさん :03/02/28 16:47
- 日本語ドメインの中の人も大変だな
- 51 名前:968 ◆HLRHHB4j46 :03/02/28 16:48
- 上のプログラムを実行する前に
Microsoft VBScript Regular Expressions
を参照設定に追加する。
- 52 名前:968 ◆HLRHHB4j46 :03/02/28 16:56
- >>50
前スレまで正規表現サバーリわからなかったからそれなりに苦労した。
- 53 名前:968 ◆HLRHHB4j46 :03/02/28 16:59
- URLには_もつかわれることがあるので
StrPattern = "[a-zA-Z0-9]|\.|\&|\%|\=|\/|\+"
に|_を追加してみた。
StrPattern="[a-zA-Z0-9]|\.|\&|\%|\=|\/|\+|_"
URLに使われそうな文字が見つかるたびに追加していく。
- 54 名前:968 ◆HLRHHB4j46 :03/02/28 17:01
- つまり、
_を追加したことにより、
www.vb_net/
というようなURLもひろえる。
- 55 名前:デフォルトの名無しさん :03/02/28 17:19
- >>54
http://member.nifty.ne.jp/moha/rfc/rfc2396j.txt
- 56 名前:968 ◆ExGQrDul2E :03/02/28 17:28
- >>55
見てきた。その資料より抜粋。
";" | "/" | "?" | ":" | "@" | "&" | "=" | "+" | "$" | "," | "-" | "_" | "." | "!" | "~" | "*" | "'" | "(" | ")"
追加しなければならない文字がたくさんあるなあ。
- 57 名前:デフォルトの名無しさん :03/02/28 18:38
- 6.0のWebBrowserは.netでは何て言うのでしょうか?
- 58 名前:デフォルトの名無しさん :03/02/28 19:11
- >>57
まだやってるのか・・・
http://www.google.co.jp/search?num=100&hl=ja&ie=Shift_JIS&c2coff=1&q=%22VB.net%22+webbrowser&lr=lang_ja
- 59 名前:デフォルトの名無しさん :03/02/28 19:29
- >>58
誰もこたえてくれないんで・・・。
- 60 名前:デフォルトの名無しさん :03/02/28 21:37
- >>39
MakeSureDirectoryPathExists ってAPI
- 61 名前:デフォルトの名無しさん :03/03/01 12:19
- いまさらなんですが
VBの線描画(Line,Pen)について
実線以外の線(点線,破線など)の
線幅を変更して描画する方法を
教えてください。
- 62 名前:デフォルトの名無しさん :03/03/01 13:30
- >>61
正攻法 -> LineDDA API
- 63 名前:デフォルトの名無しさん :03/03/01 15:46
- おまえら質問汁!
- 64 名前:デフォルトの名無しさん :03/03/01 15:55
- 土日は質問少ないんだよなぁ…。ヒマだね。
- 65 名前:61 :03/03/01 17:49
- >>62
サンクス.試してみます
- 66 名前:デフォルトの名無しさん :03/03/01 19:49
- (*´д`*)アハァ…
- 67 名前:デフォルトの名無しさん :03/03/01 23:07
- VB畑でつかまえて
- 68 名前:デフォルトの名無しさん :03/03/02 10:56
- リーチ一発VB
- 69 名前:デフォルトの名無しさん :03/03/02 12:00
- 少しは目立つように上げるべし!
- 70 名前:デフォルトの名無しさん :03/03/02 15:38
- いや、馬鹿言語に目立たれるとうざいのでsageてくださいよ
- 71 名前:デフォルトの名無しさん :03/03/02 16:23
- sendkeysでWindowsキーって送れませんか?
WinampをWindowsキーで操作できるプラグイン入れて、
他のPCからTCP/IPでWinampを遠隔操作できる
ソフトを作りたいんですが。
- 72 名前:デフォルトの名無しさん :03/03/02 16:34
- >>71
送れますよ。
- 73 名前:デフォルトの名無しさん :03/03/02 16:38
- >>いや、送れない。
- 74 名前:デフォルトの名無しさん :03/03/02 17:11
- ガーソ
ミ田キー = "^{ESC}" と思ってたのに、、、
- 75 名前:デフォルトの名無しさん :03/03/02 17:17
- >>74
"^({ESC}F)" != Windowsキー+F
- 76 名前:デフォルトの名無しさん :03/03/02 21:42
- VBkey+任意のキー
例:
VBKeyE
VBKeyRight
- 77 名前:デフォルトの名無しさん :03/03/02 22:13
- 失礼します。VB超超初心者です。
ツールバーのボタンにwordなどのように
画像を表示したいのに、できません。
方法はわかるのですが、その画像ファイル(イメージリスト?)を
どこから持ってくるのか全くわかりません。
コンポーネントもざっと調べてみたのですが・・・。
(↑見当違いですか?)
イメージリストがどこにあるか教えてください。
馬鹿らしい質問かもしれませんが、宜しくお願いします。
- 78 名前:デフォルトの名無しさん :03/03/02 22:35
- >>77
たしか本に載ってた記憶があるが、本が見つからないのでオレには答えられない
- 79 名前:デフォルトの名無しさん :03/03/02 23:50
- 私も超初心者ですみませんが、
getobject(,"InternetExplorer.Application")を使って、
開いてるIEを扱おうとすると、
普通のPC内のフォルダにつながっちゃうんですけど、
どうすればいいでしょうか、教えてください。
- 80 名前:デフォルトの名無しさん :03/03/03 00:21
- >>77
はあまり反応がイクナイ
- 81 名前:デフォルトの名無しさん :03/03/03 00:38
- >>77
イメージリストは自分でフォームに設置しないといけないです。
Windows Common Controls6.0にあります。
- 82 名前:デフォルトの名無しさん :03/03/03 01:54
- VBのdeclare functionってやってDLLを利用するとき、DLL側の呼び出し規約は
cdeclを使えますか?stdcallは使えるのですか?VBでは呼び出し規約はどういう
扱いになっていますか?
- 83 名前:デフォルトの名無しさん :03/03/03 06:03
- >>82
stdcallしか使えないと思ったが…よく覚えてない。
- 84 名前:77 :03/03/03 11:22
- >>81
ありがとうございました!!
早速やってみます!!
- 85 名前:再び77ですみません…。 :03/03/03 12:00
- イメージリストを設置するところまでは無事できました!!
でもいざ画像の挿入をしようと思っても肝心の画像
(プリンタとか開いてるフォルダ等の画像)がどこにあるのか・・・
本にはそこまでは書いてなくてわかりませんでした。
一応HDD内は検索してみたのですがありませんでした。
DLとかするものなんですか?
- 86 名前:デフォルトの名無しさん :03/03/03 12:18
- >>85
CDに入ってますよ
- 87 名前:77 :03/03/03 12:28
- >>86
はぁ〜やっと見つけました…
本当にありがとうございました!!
- 88 名前:デフォルトの名無しさん :03/03/03 12:37
- メニューエディタを使ってメニューをつくるときに、
開く
終了
のように縦にメニューを表示させるのはできますが、
開く 終了
のようにメニューバーの中に2つの項目を横並びに配置する方法がわかりません。
- 89 名前:デフォルトの名無しさん :03/03/03 12:45
- >88
,イ^i
,イ:::: l
/:::::::: l
/:::::::::: { /|
/:::::::: `-、_ /:: {
/::::::::::: /  ̄ __ l
./::::::::::: :::::\:::... \ i
/::::::::::: ::::::::::\:::: 、 {
|:::::::::::. :::::::::_ゝ::: !
|::::::::::::. ):.`ー..____' /::: |
.l:::::::::::::. ヽー─フ:: / プッ
ヽ::::::::::. ___ ,/
\::/`ー---‐^ヽ /
l::: l /
_ /,--、l::::. ノ l
,--、_ノ:: `ー':: 、ミー---‐,,l \
,/ ::: i ̄ ̄ | \
/:::::::. l::: l::::::: l \
l:::::::::::. l::: !:: |::::::: l \
|:::::::::l:::: l::: |:: l::::: l l
|::::::::::l:::. }::: l:::::,r----- l l
ヽ::::::::l:::: ト:;;;;;;;/-/__........... /
/\::::`ー‐' / l__l;;;;;;;;;;;/
/ ` /
- 90 名前:デフォルトの名無しさん :03/03/03 12:48
- >>88
ヘルプ嫁。
- 91 名前:デフォルトの名無しさん :03/03/03 12:50
- (*´д`*)アハァ…
- 92 名前:88 ◆D24s65nhoU :03/03/03 13:53
- >>89-91
ヘルプに載ってないテクニックが必要なようで載っていませんでした。
メニュエディターを開いた後の手順を細かく教えてくれたらうれCです。
- 93 名前:デフォルトの名無しさん :03/03/03 14:04
- >>92
テクニックって、、、
たとえば
ファイル(F)
開く
終了
というようなものを
ファイル(F)
開く | 終了
のような感じにするのでしょうか?
- 94 名前:88 ◆D24s65nhoU :03/03/03 14:33
- >>93
(青いタイトルバー)ソフト名
(灰色メニューバー)開く 終了
としたいんです。
- 95 名前:デフォルトの名無しさん :03/03/03 14:38
- >>94
ヘルプも真面に読めないのかスカタン
- 96 名前:!88 :03/03/03 14:42
- >>95
見付けられなかったけど、どのあたりに載っているか教えていただけますか?
- 97 名前:!88 :03/03/03 14:54
- >>94を読み間違っていた...寝よう
- 98 名前:デフォルトの名無しさん :03/03/03 14:54
- あまりに簡単なので釣りとしか思えんが・・・確かにメニューエディタは
とっつきにくいかもしれないね。
「・・・・」がメニューの階層なのでそれを「←」ボタンで取っ払えばいいってだけ。
- 99 名前:88 ◆D24s65nhoU :03/03/03 15:09
- >>98
ありがとうございます。
開く 終了
と横並びに表示する場合も
メニューエディタでは
開く
終了
と縦に登録していくんだなと気がつきました。
- 100 名前:デフォルトの名無しさん :03/03/03 15:20
- えっ、釣りじゃなかったのか
- 101 名前:デフォルトの名無しさん :03/03/03 15:32
- 言われてみれば確かに、あのメニューエディタはVBらしからぬ作りだよな・・・
- 102 名前:デフォルトの名無しさん :03/03/03 15:44
- うむ、VB.NETのメニュー作成方法みたいじゃないと
Visualではないね。
- 103 名前:デフォルトの名無しさん :03/03/03 18:51
- よろしくお願いします。
汎用機で作成されたデータファイルをExcelに渡す処理を考えています。
汎用機からWindows上に落としてきてきた(この間に文字コードの変換をしています)
テキストファイルの中の、指定した行のiバイト目からjバイトを抜き出す
(その後エクセルに渡す)、という処理で詰まっております。
(この"iバイト目からjバイト"というのは汎用機側の印刷パラメータです。)
対象となる行には数値、日本語が混在しています。i,jは表の項目ですので増加していきます。
Mid,MidB関数で引数にi,jを指定してやればよかろと思っていたのですが、
汎用機側では数値は1バイト、日本語は2バイトで扱っており
Windows上では全て2バイトで扱っているのでこれだと抜き出す時に誤差が生じてしまいます。
で、バイナリで開いて先頭から順次読み込んでやればいいかなと足りない頭で考えたました。
以下、足りない頭で考えたルーチンです。
1.対象行(テキスト)をバイナリで作業ファイルに書き込む
2.作業ファイルをバイナリで指定したバイト数だけ読み込み、配列で宣言したByte型変数に格納
とここまでやったのですが、これを元の数値や日本語に戻すにはどうしたらいいでしょうか
よろしくお願いします。
- 104 名前:デフォルトの名無しさん :03/03/03 18:54
- 超FAQです。
LenBとStrConvでドゾ。
- 105 名前:デフォルトの名無しさん :03/03/03 23:28
- VBでマルチキャストの送受信を行うべく、
With Winsock1
.Protocol = sckUDPProtocol
.Bind 20002
.RemoteHost = "233.0.0.0"
.RemotePort = 20002
End with
と設定して、他マシンからのマルチキャストを受信してるんですけど、
Winsock1_DataArrivalイベントが発生しません。
試しにVCで作ったマルチキャスト送受信プログラムで受信してみるとうまく受信できました。
VBで受信するには他に何か設定が必要なんでしょうか?
ちなみに、この設定のままWinsock1.SendDataで文字列を送信してみたら、
マルチキャストの送信は、できました。
- 106 名前:デフォルトの名無しさん :03/03/03 23:44
- VBでHP作ったんですけど、アップロードの仕方が分かりません。
誰か教えてください。
- 107 名前:デフォルトの名無しさん :03/03/03 23:45
- >>105
私の環境では完璧に動きまする…。
Win2ksp3/VB6sp5。
VBにSPはあてた? Winsock.ocxにバグあった気がする。
あと、コード中で入れるんじゃなく、プロパティーページで
Bind以外を設定するとどうなる?
なんか別の所で変なことやってるのかもしれないし。
- 108 名前:105 :03/03/03 23:59
- >>107
動きましたか。うちの環境はWin2k VB6SP5です。
ちょっといろいろ設定見直してみて、また来ます
- 109 名前:デフォルトの名無しさん :03/03/04 01:54
- >>103
「バイト型配列から日本語含めた文字列への変換」でいいのね。
バイト型配列を「byteArray()」とすると、
Dim strBuf As String
strBuf = StrConv(byteArray(),vbUnicode)
でいけるはず。何も見ないで書いたので綴り間違ってるかも。
ためしてみてちょ。
- 110 名前:デフォルトの名無しさん :03/03/04 02:23
- マウスカーソルの位置を強制的に固定したいのですが
マウスの位置のプロパティってありますか?
- 111 名前:デフォルトの名無しさん :03/03/04 02:36
- ClipCursorだったかな
- 112 名前:デフォルトの名無しさん :03/03/04 02:39
- ごめん
よく調べたらあった。>MouseCol、MouseRow プロパティ
- 113 名前:デフォルトの名無しさん :03/03/04 09:37
/ ̄ ̄ヽ / ̄ ̄ヽ
l i'´~`ヽ| l /~`ヽ |
ヽ.\ ,レ-――-'<、 _ノ /
`‐/_____\- ' 人_ト、__ノ、_,ヘノ\_ノヽノ、
/ ,-、 ,-、 ヾ、 人/ \__
l ,..、 ,..、 l _ノ (
__l i 0} ,.●、 !0 i l__ _)
/ ̄| | . | `~ /___\`~´ | | __ノ 絶対に許さんぞ>106!!!!!!!
/ | | |l ‘-イ !_|_!`r’ !| | ノ
\\ | |. |`、 r{ h ,/リ < じわじわとなぶり殺しにしてくれる!!!!!!!
\\.| | ヾ\ ヽ二ニ二.ノ /〃 | )
、 \ノ^,ニ‐-ァ  ̄`ー-----一' ̄/ | ^ヽ
\ // ,/⌒i、_\\_____// .| | ⌒)
{ i | iヽ`ー-----― ' | |  ̄ヽヘ/⌒ヽ/\i'\へ/⌒Yヽ'^
- 114 名前:デフォルトの名無しさん :03/03/04 09:58
- ユーザーの環境によっては
Date関数が
2003/02/03
ではなく
2003/2/3
という値を返すことはあるのでしょうか?
- 115 名前:>>103 です :03/03/04 10:24
- >>104
>>109
レスありがとうございました。
StrConv関数のヘルプは散々見ていたのに、引数のvbUnicodeを見落としていますた。
これからテストしてみます!!!
- 116 名前:デフォルトの名無しさん :03/03/04 10:29
- >>114
心配ならFormat使え。
- 117 名前:デフォルトの名無しさん :03/03/04 10:33
- >>114
前提が間違ってるぞ。
そもそもDate関数は文字列を返すものじゃなく、Date型を返すもの。
文字列型へ代入した時の形式は、そのマシンの「地域のオプション」の日付形式の設定に
左右される。決まった形式で欲しいならFormat関数を使うのが吉。
- 118 名前:114 :03/03/04 10:40
- >>116-117
ありがとうございます。
Format関数は使ったこと無いけどマスターしてみます。
- 119 名前:114 成功しました :03/03/04 10:54
- Format(Date, "yyyy/mm/dd")
- 120 名前:デフォルトの名無しさん :03/03/04 10:56
- >>117
でも漏れなんかは、N88BASIC時代の人で、Date$とかTime$に慣れてたから
結構そのままやってて、意図しない書式が返ってきたりして面食らったことがあるな。
- 121 名前:デフォルトの名無しさん :03/03/04 11:07
- アプリケーションにエラーが出ていないか監視したいのですが、
どうやればいいのでしょうか?
- 122 名前:デフォルトの名無しさん :03/03/04 11:08
- この3つで使われているapigid32.dllってのを、標準のwin32APIに置き換えることはできますでしょうか?
copymovememoryとか、該当しそうなAPIがあるので・・・
Public Declare Sub agCopyData Lib "apigid32.dll" (Source As Any, Dest As Any, ByVal nCount As Long)
Public Declare Function agGetAddressForObject Lib "apigid32.dll" (Object As Any) As Long
Public Declare Function agGetStringFromLPSTR Lib "apigid32.dll" (ByVal src As String) As Long
- 123 名前:デフォルトの名無しさん :03/03/04 11:13
- >>121
On Error ステートメントか?
>>122
そもそもそのソースがどこから出てきたか説明するのが筋だと思うが・・・
ググッてみたところ、ダニエル・アップルマンの本のおまけでついていたDLLみたいだな。
それら関数の動作の詳細も書かずにできるかどうかと問われてもどうか?って
感じだが、その関数の中でやってるのと同じことをやればできるだろうw
一応マジレス。
- 124 名前:122 :03/03/04 11:15
- >123
いやぁ、apigid32.dllは持っているのですが、あまりユーザの環境に入れたくないですよね、余計なDLLは。
というわけで、標準のWin32APIに置き換えはできないかなと思って質問してみました。
ありがとうございます。
- 125 名前:121 :03/03/04 11:35
- >>123
VB6で作成した実行ファイルを起動していると
アプリケーションエラーがでてしまいます。
で、エラーが出たらそのアプリケーションを再起動したいのです。
- 126 名前:デフォルトの名無しさん :03/03/04 11:44
- http://www.agemasukudasai.com/bloom/
- 127 名前:デフォルトの名無しさん :03/03/04 11:58
- >>125
なぜそのアプリのバグを取ろうって発想にならないんだろ・・・ (´д`;)
FindWindowあたりでできそうな気はするが。
- 128 名前:な :03/03/04 11:59
- >>119
「/」 は地域のオプションの区切り記号に置き換えられるので、
それだと期待通りに動作しない場合があります。
Fromat(Date,"yyyy\/mm\/dd") が正解です。
- 129 名前:114 :03/03/04 12:07
- >>128
むぅ。盲点でした。
世界中のVBアプリにこの手のバグがあるような悪寒を感じてしまいました。
- 130 名前:デフォルトの名無しさん :03/03/04 12:16
- すみません、くだらない質問ですが
あんまり簡単すぎて?探しても記述を見つけられないのでお願いします。
1.Space"$"(number)のように、関数の後ろに"$"が入るのはどういう意味を表していますか?
2.myarry() as integer のように、配列の括弧内が空白というのはどういう意味ですか?
よろしくお願いします。
- 131 名前:デフォルトの名無しさん :03/03/04 12:20
- >>130
ヘルプ読めばどっちも書いてあると思うが。
関数名に $ がつくのは、返り血を文字列型で返す関数。
$を省略すると、Variant型で返るので、パフォーマンスのためには
$をつけた方がいいとよく言われる。
myarry()のように空白の配列は、動的配列という。
ReDim myarray(256) などのようにして、コード中で配列の要素数を変更
したい時に使う。
- 132 名前:デフォルトの名無しさん :03/03/04 12:25
- >>131
積年の謎が解けました。
ReDimのヘルプ引いたら意味が分かりました。
ありがとうございます!!!
- 133 名前:デフォルトの名無しさん :03/03/04 12:49
- 横からスマソ。
>>130-131
関数定義の段階で
Function Space(number) as String
とやっておけば、関数名に $ をつけなくても返り値は String が保証されるんですよね?
- 134 名前:デフォルトの名無しさん :03/03/04 12:53
- >>113
Yes. その辺は変数定義と一緒。
- 135 名前:134 :03/03/04 12:53
- ×>>113
○>>133
- 136 名前:デフォルトの名無しさん :03/03/04 12:59
- my性器
- 137 名前: