VBプログラマ質問スレ(6.0以前) Part46
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
2006/02/03(金) 22:58:330412デフォルトの名無しさん
2006/02/09(木) 23:09:57テキストに書き出して、単機能の外部フィルタアプリとかにやらせては。
0413デフォルトの名無しさん
2006/02/09(木) 23:23:14・・・グスン(誰もわかってくれない
0414デフォルトの名無しさん
2006/02/09(木) 23:29:20ごり押しするなら、単語をinstr()で地道に検索&自力で置換、だな。
文字列連結は文字列大きくなるほど遅いから、そのへんの高速化も自力でせにゃならん。
1行1行replace()書くのがいやなら、foreachなりで反復操作にすればいいじゃまいか ( ´Д`)
0415デフォルトの名無しさん
2006/02/09(木) 23:56:09ほんとーのわたしを♪
0416デフォルトの名無しさん
2006/02/10(金) 00:32:23結局Replaceの重ねがけが一番速かったりナ。。。
0417デフォルトの名無しさん
2006/02/10(金) 00:38:40(VB6)ちなみに家でStringBuilderなるクラスを作って試してみました
Private Sub Form_Load()
Dim sb As New StringBuilder
Dim i As Long
Dim s As Single
Dim t As String
s = Timer
For i = 1 To 20000: sb.AddString "hello!": Next
Debug.Print Timer - s
s = Timer
t = ""
For i = 1 To 20000: t = t & "hello!": Next
Debug.Print Timer - s
End Sub
結果
4.711914E-02
1.437012
ただの文字列連結は非線形的に所要時間が増加するっぽい
sb.AddStringは内部でMidステートメントによる置換をしています
0418デフォルトの名無しさん
2006/02/10(金) 01:02:11Midはメモリ上書きだから速いんだけど 異なる文字数で置き換えられないよね
例えば "まんまん" を "満々" に置き換えるとか
結局Replace見たいな機能を要求すると &結合か Byte配列のRedim・メモリ移動 でゴリゴリ
Byte配列でやると &結合に比べて 10〜50倍の差が出るんだっけ?
0419デフォルトの名無しさん
2006/02/10(金) 01:07:22いや
1 "まんまん"をInstrで検索
2 直前までMidステートメントで置換代入
3 "満々"を置換代入
4 1へ
置換代入先の文字列を、あらかじめ10KBとか多めにとっておけばメモリ移動がそれほど起こらないので速いかも
(少なくとも&で連結していくよりは)
> Byte配列でやると &結合に比べて 10〜50倍の差が出るんだっけ?
時間差は先ほど書いたとおり非線形
Midステートメントで最終的に必要なサイズを全て最初に確保しているとすれば、置換代入の時間は線形に済むはず
というわけで比率はかなり変動するかと
0420デフォルトの名無しさん
2006/02/10(金) 01:21:050421デフォルトの名無しさん
2006/02/10(金) 01:34:23文字列(Unicode)をバイナリデータとして配列上をポインタ操作する っ言いたかったんだ
0422デフォルトの名無しさん
2006/02/10(金) 01:44:07あー、まぁそういう方法もあるが…
VB6側でString→Byte()してからいろいろゴリゴリすることになるんじゃないか?
文字列連結よりは高速だろうけど、それだとオーバーヘッドかかっちまうよな。
で、Stringの内部処理だったらMidB()とか*B()系が最速だったよーな気がする
0423デフォルトの名無しさん
2006/02/10(金) 01:48:12しかし、開発はえーなぁ
タブの部分って何のコントロールで作ってるの?
0424デフォルトの名無しさん
2006/02/10(金) 02:27:26お礼遅れましたが、サンクスです。
0425デフォルトの名無しさん
2006/02/10(金) 02:51:48いい加減 バイナリでもソースでも晒せ
晒す気が無いんなら消えろ ここはお前の日記帳じゃな(ry
0426デフォルトの名無しさん
2006/02/10(金) 03:24:460427デフォルトの名無しさん
2006/02/10(金) 03:29:52オープンソースにしてみんなで開発するかw
0428デフォルトの名無しさん
2006/02/10(金) 05:10:01配列上のポインタ操作ってリストの連結みたいなの?
C言語ならやりようもあるけど、VBってStringとかByte配列の中身に対してポインタ指せたっけ?
0429デフォルトの名無しさん
2006/02/10(金) 05:12:38VB5からだっったかな
詳しいことは自分で調べな
0430デフォルトの名無しさん
2006/02/10(金) 05:22:37VarPtrとCopyMemory駆使するってことかな?
これだとMidと変わらんような気がする(ていうか>>422の指摘の通りか)
スレ汚しすまん。
0431デフォルトの名無しさん
2006/02/10(金) 08:22:530432デフォルトの名無しさん
2006/02/10(金) 09:18:30元の文字列のメモリを走査しながら、
新しく確保したメモリに文字列を置換しながらコピーするのが一番速いか?
0433デフォルトの名無しさん
2006/02/10(金) 10:18:45接続したんですけど出来ないです。
どうしたらいいんですか?
Dim cn As Variant
Dim sql As String
'** ODBC 接続
Set cn = CreateObject("ADODB.Connection")
cn.Open "dsn=MySQL;uid=ユーザー名;pwd=パスワード"
cn.CursorLocation = 3
これではだめでした。
0434デフォルトの名無しさん
2006/02/10(金) 10:47:57ttp://nobuson-ruby.at.webry.info/200501/article_9.html
0435デフォルトの名無しさん
2006/02/10(金) 10:56:34http://www.connectionstrings.com/
0436デフォルトの名無しさん
2006/02/10(金) 18:21:12これがWin2000では動くけどWinXPだと通信できないんです
WriteFileとReadFileが0を返してきます
なんかWinXPで変わった?
0437デフォルトの名無しさん
2006/02/10(金) 20:56:53VB6は、開発環境も実行環境も、XPには対応してないよ。
色々と、訳の分からん所で不具合が出る。
当然、回避不可能。
0439デフォルトの名無しさん
2006/02/10(金) 21:39:59片方ハズレ
0440デフォルトの名無しさん
2006/02/10(金) 21:41:44> 回避不可能
> 回避不可能
> 回避不可能
> 回避不可能
> 回避不可能
> 訳の分からん
( ・ω・) 他意はないです
0441デフォルトの名無しさん
2006/02/10(金) 21:43:38いい名前が思いつきません、もしよければ一緒に考えてくれませんか。
0442デフォルトの名無しさん
2006/02/10(金) 21:45:07getheader/headergetter/huntheader/huntYOURhead
0443デフォルトの名無しさん
2006/02/10(金) 21:55:06どうもありがとう、ただありきたりなんです
もうちょっとユニークーなのお願いしまする
0444デフォルトの名無しさん
2006/02/10(金) 21:58:32> もうちょっとユニークー
これでいけ「ユニークー」
0445デフォルトの名無しさん
2006/02/10(金) 22:00:55HeaderSyutoku.Exe
0446デフォルトの名無しさん
2006/02/10(金) 22:01:27またおまえか!
0447デフォルトの名無しさん
2006/02/10(金) 23:13:12ヘッドハンター西脇.exe
てか、VB6ってXPダメなんか!
うひょーどうすっかな
orz
0448デフォルトの名無しさん
2006/02/10(金) 23:14:16俺XPで開発してWin95で動かしてる
0449デフォルトの名無しさん
2006/02/10(金) 23:25:100450デフォルトの名無しさん
2006/02/10(金) 23:27:52>ヘッドハンター西脇
いいですねそれ
ありがとうそれに決めた!
0451デフォルトの名無しさん
2006/02/10(金) 23:53:150452デフォルトの名無しさん
2006/02/11(土) 00:41:13まさか、XPでセットアップしたやつで95にインストールしてる?
0453デフォルトの名無しさん
2006/02/11(土) 00:55:52Time >= "09:05:00"
0454デフォルトの名無しさん
2006/02/11(土) 00:58:41datediff使え
>>452
そんな地獄は見たくないから
システムに依存するものは持っていかないようにしてるぞ
0455デフォルトの名無しさん
2006/02/11(土) 03:23:53ちなみBVAです。
0456デフォルトの名無しさん
2006/02/11(土) 03:27:31つ #Const
0457455
2006/02/11(土) 03:30:05おーこれだこれだ�dクス!
0458デフォルトの名無しさん
2006/02/11(土) 05:50:17新しい言語?
俺はVB関係ではVB、VBA、VBSしか知らない
VB関係ではなくBasic関係ならもっと知ってるがな
0459デフォルトの名無しさん
2006/02/11(土) 06:11:460460デフォルトの名無しさん
2006/02/11(土) 08:51:02朝出社すると、係長の先輩と後輩2人の合計3人が、一台のPCの前で悩んでいました。
それとなく見ていると、どうやら、ひたすら同じ作業を繰り返し、エラーが出て、
「分からん。どうしてだ?おかしい・・・。出来る筈なのに!」と言い続けている模様。
その日一日普通に仕事をし、残業する程でもなかったので定時で帰ろうとしたら、その3人は、
まだ同じ事をやっているみたい。
流石に可哀想になって「どうしたんですか?」
「いやこのVBXを読み込もうとしてるんだけど、エラーが出るんだよ・・・」
「(VBX?今頃何故?)へぇ〜」と、見てみると・・・
VB6でVBXを使おうとしていました。(VB5だったかな?)
私は「ホントだ。エラーになりますね。では、お先に失礼します」と帰りました。
きっと、残業して徹夜したかも・・・
0461デフォルトの名無しさん
2006/02/11(土) 09:16:160462デフォルトの名無しさん
2006/02/11(土) 15:41:01両方問題ない
0463デフォルトの名無しさん
2006/02/11(土) 15:45:04新規は.Netにしてるよ
0464デフォルトの名無しさん
2006/02/11(土) 15:47:130465デフォルトの名無しさん
2006/02/11(土) 15:53:10以下の開発ツールを使用してお客様が開発されたアプリケーションの
対応に関するものではありません。これらの開発ツールを使用して
開発されたアプリケーションは、全てお客様の責任において
必要な環境下でテストしていただく必要があります。
お客様の開発されたアプリケーションの動作に関して、
弊社では 一 切 の 保 証 は い た し ま せ ん
ので、あらかじめご了承ください。
何度繰り返すんだこの話題は
0466デフォルトの名無しさん
2006/02/11(土) 15:57:35という極めて当然の話をしているのでしょ。
そもそも延長保守契約していない人にとっては
2000で開発してようが保守は受けられないのだけど。
0467デフォルトの名無しさん
2006/02/11(土) 15:59:140468デフォルトの名無しさん
2006/02/11(土) 16:06:400469デフォルトの名無しさん
2006/02/11(土) 16:07:160470デフォルトの名無しさん
2006/02/11(土) 16:12:07それはできる
でもリモートデスクトップとユーザーの簡易切り替えは除くよ
と読める。
0471デフォルトの名無しさん
2006/02/11(土) 16:16:150472デフォルトの名無しさん
2006/02/11(土) 16:17:42”それ”ってなに?
0473デフォルトの名無しさん
2006/02/11(土) 16:20:430474デフォルトの名無しさん
2006/02/11(土) 16:20:580475デフォルトの名無しさん
2006/02/11(土) 16:23:53流れから言えば直前の>>469
0476デフォルトの名無しさん
2006/02/11(土) 16:27:33これで作ったインストーラは開発環境のActiveXを適当に持ち出して、
容赦なく旧バージョンで上書きしてしまう。
同じActiveXの新バージョンで動いてる別のアプリが動かなくなったり、
unicode版のATL.DLLをwin9xにインストールしちゃって動かね〜になったりって事もあった。
0477デフォルトの名無しさん
2006/02/11(土) 16:41:20開発環境と全く同じActiveXで運用しなきゃ、テストとかの意味ないじゃん。
0478デフォルトの名無しさん
2006/02/11(土) 16:42:375の時は使ってたけど、2000なんて無かった時代・・・
0479デフォルトの名無しさん
2006/02/11(土) 16:43:13いやもうお前大変だな
0480デフォルトの名無しさん
2006/02/11(土) 16:44:380481デフォルトの名無しさん
2006/02/11(土) 16:47:150482デフォルトの名無しさん
2006/02/11(土) 16:51:10VSIでもディストリビューションウイザードが使われているのでは?
インストーラの動作はもちろん違うけど、
ディストリビューションウイザードがないとVSI動かなかった記憶
0483デフォルトの名無しさん
2006/02/11(土) 16:52:360484デフォルトの名無しさん
2006/02/11(土) 16:54:56VC++ + ATLで作ったActiveXを含めると一緒に配布されてたのだと思う。
これは同じ名前でUnicode版とAnsi版があるのですよ。
0485デフォルトの名無しさん
2006/02/11(土) 16:55:18ディストリビューションウイザードなしで動くの?
0486デフォルトの名無しさん
2006/02/11(土) 16:56:10そのくらいは自分で調べようや
0487485
2006/02/11(土) 16:56:280488デフォルトの名無しさん
2006/02/11(土) 16:59:02うごかねーだろってこと
0489デフォルトの名無しさん
2006/02/11(土) 17:01:30なにが?
0490デフォルトの名無しさん
2006/02/11(土) 17:02:16>ディストリビューションウィザードがインストールされていないとVB関連の機能は使えないようです。
0491デフォルトの名無しさん
2006/02/11(土) 17:02:51Windows Installerと違って、OSのコンポーネントじゃなくて
単一のアプリだし。しかもVB製でソースも付属してる。
ディストリビューションウイザードのバグで
2バイト文字ユーザー名にインストールできないから
ソース修正しろって話しらない?
0492デフォルトの名無しさん
2006/02/11(土) 17:04:16それは知らないけど、490の通りうごかない。
0493デフォルトの名無しさん
2006/02/11(土) 17:05:15作業ディレクトリの設定の方法がわからなかったり、
データファイルなどを自動修復の対象からはずす方法がわからなかったりで。
結局Orcaがいるとか言う話だったけど、よくわからなかったのでそのまま放置しとりました。
0494デフォルトの名無しさん
2006/02/11(土) 17:06:15なんか勘違いしているのだろうね。
そもそもディストリビューションウィザードは
インストールするものじゃないから。
っていうか何をどうやってインストールするのかと。
0495デフォルトの名無しさん
2006/02/11(土) 17:16:040496デフォルトの名無しさん
2006/02/11(土) 17:17:15まあ、いいや。
0497デフォルトの名無しさん
2006/02/11(土) 17:38:10---------------------------
Microsoft Development Environment
---------------------------
プロジェクト出力を追加できません。
ディストリビューション ウィザードが見つかりません。
Visual Studio Installer は Visual Basic
プロジェクトの依存関係を算定するために
Microsoft Visual Basic ディストリビューション ウィザードを使用します。
---------------------------
OK
---------------------------
0498497
2006/02/11(土) 17:39:17C:\Program Files\Microsoft Visual Studio\VB98\Wizards\PDWizard
0499デフォルトの名無しさん
2006/02/11(土) 17:44:440500デフォルトの名無しさん
2006/02/11(土) 17:47:58情報をお伝えしたまでです。
0501デフォルトの名無しさん
2006/02/11(土) 17:48:53逆切れですか?
0502デフォルトの名無しさん
2006/02/11(土) 17:50:54ウィザードが必要なのであって、
VSI使って作られた配布パッケージを使用するときには、
ディストリビューションウィザードは必要ないということだな。
何の問題もなし。
0503デフォルトの名無しさん
2006/02/11(土) 17:51:120504デフォルトの名無しさん
2006/02/11(土) 17:52:54482で最初から指摘の通りだが。
0505デフォルトの名無しさん
2006/02/11(土) 17:54:030506デフォルトの名無しさん
2006/02/11(土) 17:55:290507デフォルトの名無しさん
2006/02/11(土) 17:56:070508デフォルトの名無しさん
2006/02/11(土) 17:57:41うんこは寝て食え
0509デフォルトの名無しさん
2006/02/11(土) 18:09:100510デフォルトの名無しさん
2006/02/11(土) 21:25:04■ このスレッドは過去ログ倉庫に格納されています