(*´д`*)アハァ… VB初心者質問スレ Part22
■ このスレッドは過去ログ倉庫に格納されています
0001HTML化チェック済み
NGNGPart12 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。
0758デフォルトの名無しさん
NGNGそもそも表示させないのが筋じゃないのかと。
0759デフォルトの名無しさん
NGNGぱっと思いつくのはサブクラス化してメッセージを処理するとか。
閉じるのはEscキーでも送ると閉じるかな
0760デフォルトの名無しさん
NGNG検出って、メニューが出ている間に書いたコードが実行されるのでつか?
0761デフォルトの名無しさん
NGNG0762デフォルトの名無しさん
NGNGカレントディレクトリのファイルなら開けるだろ
0763デフォルトの名無しさん
NGNGアフォ
0764デフォルトの名無しさん
NGNGlenのこと?
これは気にしないで、binaryモードの時は無視されるから。w
まさかこれだけでとてつもなく馬鹿コードっていってるんじゃないよね?w
もしかして自分の馬鹿をさらけだしちゃった?
0765デフォルトの名無しさん
NGNGめったに使わないような気がする。
俺が見たことがあるのは、「メッセージボックスを任意位置に表示する」という
サンプルコード。(ガリバー著、技術評論社刊「300」シリーズ)
(MsgBoxに限らず、コモンダイアログ等でも可)
# しかし、VB6では動くが、VB.NETにアップグレードしたら動かない罠・・・。
# (どこが間違うとるのか、よーわからん・・・)
0766デフォルトの名無しさん
NGNG自己レス。
だいたいなぞが解けた。
一度読み込むとファイルへの読み込み位置が変わるからと関係ありますね。
0767デフォルトの名無しさん
NGNGどのような手順でしたらよいのでしょうか?
0768デフォルトの名無しさん
NGNG0769デフォルトの名無しさん
NGNGDB先を変える程度でローカルネットワークで作んのと同じにできないもんかな
0770デフォルトの名無しさん
NGNGモジュール化しながらしっかり組んでるならUIがFormになるだけでそこだけ書き換えればOKだと思われ。
0771デフォルトの名無しさん
NGNG一般的なVB製C/Sアプリが
クライアント(VBアプリ)←→サーバ(DB)
という形態であったのに対し、
クライアント(ブラウザ)←→サーバ(Web/アプリサーバ)←→DB
という形態になる。
現状がどんなくみかたをしているのかにもよるが、すんなり行くとは思えない・・・
現システムをインターネット介して使いたいってだけなら、VPN使う手もあるかも。
0772デフォルトの名無しさん
NGNGIPで繋げば繋がる。
壁やルーターがあったら、ポートを空け、それなりの設定をやる必要がある。
セキュはかなり落ちるぞ。
昔、遊びで家のマシンにMSDE入れて、
会社からエンプラマネージャーで繋いだことがある。
繋がるには繋がったが、家のマシンにはかなりのアッタクの痕跡があった。
0773デフォルトの名無しさん
NGNG知ったかぶるのも楽じゃないな・・・
0774デフォルトの名無しさん
NGNG常識ではありえない仕様だ罠
0775772
NGNGはぁ?何が?
実際にやったこと書いただけなんだがな。
0776デフォルトの名無しさん
NGNG何も考えずにいれたら外部からアクセスできますよ。
この前のネット障害がものがたってるだろ
0777デフォルトの名無しさん
NGNG普通はそのようにしないための、
設定やファイアウォールやDMZだと思うのだが…。
0778デフォルトの名無しさん
NGNG0779デフォルトの名無しさん
NGNG目を細めろ
0780デフォルトの名無しさん
NGNG↑↑↓↓→←→←AB
0781デフォルトの名無しさん
NGNG前悩んでた奴いただろ?
0782デフォルトの名無しさん
NGNG0783デフォルトの名無しさん
NGNGアプリ内で処理したCSV形式のテキスト行があり、ファイルに出力してエクセルに渡したいと考えています。
一行処理するたびにファイルに出力していたのですが、Output # だと頭に"がついてしまうため
エクセル側で展開する時にうまくいきません。
そこでバイナリで出力したのですが、今度は複数行分出力すると改行ができません。
複数行が一列に繋がってしまい、これまたうまくいきません
ケツに改行文字をくっつけてやればいいのでしょうか・・?力尽きました。
御教授よろしくお願いします。
0784デフォルトの名無しさん
NGNGWrite←×
Print←◎
0785デフォルトの名無しさん
NGNG>>722
0786デフォルトの名無しさん
NGNG> Alias "#165"
β版としか思えないような命名やな(w
# 舐めとるんか、MS?
0787デフォルトの名無しさん
NGNG#ではじまるのは序数指定→非公式APIってことじゃないの?
0789デフォルトの名無しさん
NGNGのですがSendkeyでは最初のフォーカス位置がわからないのでできません。
どうしたらいいでしょうか?
0790デフォルトの名無しさん
NGNGプッ、Cの関数名に#が使えるわけないじゃん。それ位気付けよ
0791デフォルトの名無しさん
NGNGC が何か関係あるのか?
0792デフォルトの名無しさん
NGNG0793デフォルトの名無しさん
NGNGAPIはC言語から使うことを前提に設計されている。
0794デフォルトの名無しさん
NGNGキャレット
0795デフォルトの名無しさん
NGNG>APIはC言語から使うことを前提に設計されている。
じゃあWin16がCの標準でないPascal呼出規約を使ってた理由は?
これに答えられずに>>793の様なことをほざいている場合、君は知ったかだよ。
0796デフォルトの名無しさん
NGNGGetProcAddress() の引数と C の関数名には何ら関係が無いと思ってたけど。
0797デフォルトの名無しさん
NGNGある。C以外の処理系のリンカが#を含めないかどうか言い切れなかったんでね。
まぁこの場合、APIの話しだから、あえてCの.. は外しても良かったかも知れんが...
0799デフォルトの名無しさん
NGNGPATが何でできているかわからないけど、テキストボックスが相手なら、
ウィンドウハンドルを取得してWM_SETTEXT を投げればいいんじゃないかな。
0800デフォルトの名無しさん
NGNG”カーソル”もしくは”ピコピコの”だよ
0801デフォルトの名無しさん
NGNGそっちの方がメモリやディスク容量を食わないからだよ。
0802デフォルトの名無しさん
NGNG前者:ちょっとパソコン使える人
後者:バカ
なお、どちらもWindowsプログラムを行うものとしては不合格。
0803デフォルトの名無しさん
NGNGそれだとどうとでも取れる。詳しく頼む。
0804デフォルトの名無しさん
NGNGスタックと言えば分かるかな?
0805デフォルトの名無しさん
NGNG「スタック」だけでは説明になってないのは分かるよな。
両者ともスタックを使用する。
0806デフォルトの名無しさん
NGNG俺だけが答えるのはしゃくだから、
C呼出規約とPascal呼出規約のスタックの処理の違いを述べよ。
調べれば分かるはずだ。
0807デフォルトの名無しさん
NGNG0808デフォルトの名無しさん
NGNGいや、知ってて絡んでるんだが。(藁
君を試してるってとこだ。
0809デフォルトの名無しさん
NGNG教えて君必死だな(藁
0810デフォルトの名無しさん
NGNG分かってて遊んでるんだが(藁
どっかからコピペすることくらいできるだろ。
0811デフォルトの名無しさん
NGNGほう、そう来たか。
要はPUSHとPOPがどこで行われるかってのが重要なんだよ。
と、先読みレス。
0812デフォルトの名無しさん
NGNGAPI を作ることは可能。
そいつを呼び出す事も可能。
ただ、先頭に "#" をつけると序数として判断されてしまう仕様の VB からは
呼び出すのは無理ぽ。
とにかく、>>790 >>793 >>797 が DQN であることはわかった。
0813デフォルトの名無しさん
NGNG相手がDQNだと確信し、自作自演で自分の優位性を確固たる物にしようとした。
>>811
先読みキャッシュ(藁レスが相手を直撃
で、ぐぅの音もでなくなったのか。ワラタ
0814デフォルトの名無しさん
NGNG呼び出せるって言ったってGetProcAddressを使う方法だろ。
呼び出せるのに#を使ってないのがC言語で使うために
設計されているいい証拠じゃないか。それにMSDNにも次のような文がある。
> 通常、API は Windows アプリケーションを作成する
> C/C++ プログラマ用に記述されていますが、
> とにかく、>>790 >>793 >>797 が DQN であることはわかった。
まず最初に己がDQNであることを疑うんだな。
>>813
おまえもウザイ。
> >>809-810
> 相手がDQNだと確信し、自作自演で自分の優位性を確固たる物にしようとした。
だれも自作自演してねーよ。
先読みキャッシュ? あれだけヒントが出てれば誰だって分かるだろ。
他人のヒントをまって、さも始めからわかっていたような顔をするな。
自分用語作って悦になんなよ。ホント春は変な奴が多いな。
0815デフォルトの名無しさん
NGNG0816デフォルトの名無しさん
NGNGVB6でACCESSのMDBを使ってます。
ワークテーブルにレコードを挿入し、それをFlexGridで表示する、という画面を
作ったのですが、いざ実行してみると
ワークテーブルにレコードができる前に画面表示が行われてしまい、ADOの
抽出件数0件になってしまいます。
画面表示に行く前にmsgbox出してしばらく待つとレコードができててうまく動く、という次第。
レコードができるまで処理をとめる方法ってないんでしょうか?
このままでは、ループでワークテーブルの件数を監視し続けるしか……
0817デフォルトの名無しさん
NGNG> 呼び出せるって言ったってGetProcAddressを使う方法だろ。
> 呼び出せるのに#を使ってないのがC言語で使うために
> 設計されているいい証拠じゃないか。それにMSDNにも次のような文がある。
GetProcAddress() を使う以外に API を理由する手段があるのか?
まさか PE のローダーが GetProcAddress() を使ってないとでも言うのか?
API 名と C での関数名を同じにしなければならない理由があるのか?
例えば MoveMemory() なんてものはなく実際には memmove() または
RtlMoveMemory() が呼ばれるって知ってるか?
> まず最初に己がDQNであることを疑うんだな。
オマエモナー
0818デフォルトの名無しさん
NGNG> > 通常、API は Windows アプリケーションを作成する
> > C/C++ プログラマ用に記述されていますが、
「通常」 って書いてあるだろ。>>781 が通常の話じゃない。
話を勝手に全般化するな。
0819デフォルトの名無しさん
NGNG0820デフォルトの名無しさん
NGNGADOだとままあることなんだけど、「これ」といった対応策はないんだよね。
ループで待機するってのも、ひとつの解決策だと思うよ。
もしくは、クエリーを投げた後に、コネクションを閉じてみるなんてのはどうだろう?
0821デフォルトの名無しさん
NGNG>例えば MoveMemory() なんてものはなく実際には memmove() または
>RtlMoveMemory() が呼ばれるって知ってるか?
ヘルプに書いてあることでいばってもなぁ。
そんなことよりRtlの意味から説明してくれや、な。
0822デフォルトの名無しさん
NGNG要点は、787が言ってる通りだろ。
C/C++向けに設計されている点に変わりはないと思うが。
0823デフォルトの名無しさん
NGNGこの場合の 「C/C++向けに設計されている」 いうのは、ポインタとかゼロ終端
文字列とかコールバックとかそういう機能面での話であって、リンクの方法の
話ではないんでは?
0824デフォルトの名無しさん
NGNGRtl: Run-Time Library。以上。
0825デフォルトの名無しさん
NGNGMessageBoxAとか出しとけばいいのに。
0826デフォルトの名無しさん
NGNG要点なんかどうでもよく、>>790を徹底的に叩きたいだけかと。
0827デフォルトの名無しさん
NGNG∧_∧
( ´∀`)< ぬるぽ
08281 ◆ExGQrDul2E
NGNGそのファイルをメモリから呼び出すにはどうすればいいの?
音飛びさせたくないマルティメディアファイルなんかはディスクアクセスでなくメモリアクセスを行いたい。
08291 ◆ExGQrDul2E
NGNG0830ひきプロ
NGNGredim buffer(filelen(filename))
open "file" for binary as #1
get #1,,buffer
close #1
API呼ぶ時はVerPtr(buffer)でポインタを渡す
0831ひきプロ
NGNG0833デフォルトの名無しさん
NGNGつぅか、
ファイルサイズ分のメモリを確保。ファイル一気書き。読む。
だけじゃん。どうでも良いけど300MBのファイルとかどうするつもりなんだろう・・・
08351 ◆ExGQrDul2E
NGNG---------------------
\CG(フォルダ)
a.vbp
a.frm
a.bas
a.exe
----------------
ユーザにソフトを配布しようと思いディストリビューションウィザードを使うが、
ディストリではフォルダを読み込むことができないためCGフォルダが配布できない。
フォルダを含んだインストーラを作るときはどうしてる?
0836ひきプロ
NGNG08371 ◆ExGQrDul2E
NGNGユーザのパソコンにVBランタイムが無いときは、
ランタイムの配布と、実行ファイルの配布の2段階になっちゃうでしょ。
だからインストーラで、ランタイムの配布と実行ファイルのセットアップを一気に行いたい。
0838ひきプロ
NGNGことはないでしょう。フォントが文字化けする時は
明示的にMSゴシックを指定すればいいだけだし
08391 ◆ExGQrDul2E
NGNGまあ、自作のocxなどの配布も含めた話になるとやはりシステムに必要なファイルをセットアップする作業と、
任意のフォルダに本体実行ファイルをセットアップする二段階になってしまう。
VBではできない、または、フォルダをセットアップするためのユーティリティが発売されていない、
という結論でよい?
0840ひきプロ
NGNGアプリと同じフォルダに入ってれば使えるし。
>という結論でよい?
ダメ
08411 ◆ExGQrDul2E
NGNGocxは例えばのはなしで、とにかくシステムにdllを別途登録しないとVBアプリが動かないことは多々あるし。
>ダメ
ということはなにかフォルダをsetup.exeや.cabファイルに含ませるための方法があるということやね。どうやるの?
0842デフォルトの名無しさん
NGNG08431 ◆ExGQrDul2E
NGNGそれは今までやってたが、今さっきsetup.exeで方法がわかったのでやりかたをまとめてみる。
これにより、ランタイム&ソフト本体のexeファイル&ソフト本体が扱うデータファイルやフォルダ
を一回でインストールできることになり、
VBを市販の製品用のプログラミングツールとして活用できることに成功した。
ランタイムのセットアップとその他のファイルの別配布をやっているようじゃいつまでたってもフリーソフトや固定客用のアプリしかつくれないものね。
08441 ◆ExGQrDul2E
NGNG長らくお待ちを。
08451 ◆ExGQrDul2E
NGNG0846デフォルトの名無しさん
NGNGDim dteBuilt As Date
dteBuilt = DateAdd("s", 1046354784, #1/1/1970 9:00:00 AM#)
Debug.Print dteBuilt
0847デフォルトの名無しさん
NGNG「ファイルの追加」( .xlsや.ini など必要ファイルを登録する)
機能があり、作成されたSetup.lst は
「設定パスを手書きできる」
んであるわけで
File10=@CGのファイル.jpg,$(AppPath)\CG,,,7/3/00 3:00:32 PM,49076,0.0.0.0
などと変更すると設定するファイルの置き場所が変わったり・・
( ´〜`).。o~
08481 ◆ExGQrDul2E
NGNGオレもひろゆきの発言を元にそれを書いたことがある。
>>847
オレもそれについての初心者向け解説文を書いてみた。
-----------------------
開発時のファイル構成が次のようになっているとする。
-----------------------
\File\temp.txt(データファイル)
Form1.frm
Project1.vbp
Project1.exe(コンパイルして作成した実行ファイル)
-----------------------------
今回の目的は\File\temp.txtをインストーラに含ませて、
そのインストーラ(setup.exe)が.txtファイルを
セットアップ先のフォルダの中の\Fileフォルダにインストールすることだ。
・インストーラの作成
ディストリビューションウィザードを起動して、
ディストリビューション ウィザード - 含まれるファイル
というメニューまで進んだら追加ボタンを押して
\File\temp.txt
を追加する。
ウィザードを進めて完了ボタンを押すと、
08491 ◆ExGQrDul2E
NGNGProject1.CAB
setup.exe
SETUP.LST
---------------------
というファイルが作成される。
このsetup.exeがインストーラだ。
.CABファイルには配布用ファイルが格納されている。
今setup.exeを実行すると
\Program Files\Project1フォルダの中に、
Project1.exe
ST6UNST.LOG
temp.txt
がセットアップされる。
注目すべきは、
temp.txtは開発環境時は
\Fileフォルダにあったということだ。そしてセットアップ時にも\Fileフォルダに入れたい。
08501 ◆ExGQrDul2E
NGNGディストリビューションウィザードが作成した
SETUP.LST
をテキストエディタで開いて編集する。
[Setup1 Files]
[email protected],$(AppPath),,,3/14/03 10:26:12 AM,2,0.0.0.0
[email protected],$(AppPath),,,3/14/03 10:50:26 AM,16384,1.0.0.0
このような場所を探す。
そして、
[Setup1 Files]
[email protected],$(AppPath)\File,,,3/14/03 10:26:12 AM,2,0.0.0.0
[email protected],$(AppPath),,,3/14/03 10:50:26 AM,16384,1.0.0.0
このように編集してみよう。
$(AppPath)
を
(AppPath)\File
にしただけだ。
そしてこの編集結果を上書き保存する。
そのあとsetup.exeを実行すると、セットアップ先のフォルダの中に
\Fileフォルダ
が作成され、そのなかにtemp.txtがあるのを確認できる。
$(AppPath)\あいうえ お\DeepSub
のように日本語フォルダやスペースを含んだフォルダや階層の深いフォルダも指定できた。
08511 その他の方法 ◆ExGQrDul2E
NGNGUNZIP32.dll
がフリーソフトなのを生かしてこれをsetupファイルに含ませてインストールし、
アプリケーションをはじめて起動したときにzipファイルを自動解凍して
必要なフォルダやファイルをセットアップする。
0852デフォルトの名無しさん
NGNGカンマで区切られたデータの分解には成功しているのですが、
ダブルクォーテーションマークでくくられている文字列の扱いがうまくいきません。
なんとかうまい方法はないでしょうか?
0853デフォルトの名無しさん
NGNGsystem32の下に入れて共有にしたり,アプリとはまったく別のパスになったり
仕様変更で差分だけインスト・アンインストできるようにしたり
最初んころは訳解らんかったよ(今も完全とはいえん)
>>851
zipファイルの削除はちゃんとおこなっているか
UNZIP32.dllがすでに登録されていた場合にレジストリ二重登録にならないか
UNZIP32.dllは使用後に削除するかしないか,その時レジストリは大丈夫か
くらいはちょっと気になるな。
0854デフォルトの名無しさん
NGNGデバッグしたら?
0855デフォルトの名無しさん
NGNGダブルクォーテーションも文字列になってしまうってことか?
それなら、
String = Mid(String, 2)
String = Left(String, Len(String) - 1)
とでもすりゃぁ良いのでは?
08561 ◆ExGQrDul2E
NGNGもちろんUNZIP32.dllが相手のパソコンにすでにあるかどうかのチェックも行っているし、
Windowsのバージョンの違いによる
system
system32
のどちらを使うか、という問題にも対処したあるからだいじょうぶ。
UNZIP32.dllを共有ファイルとして使用するかどうかの設定もバッチシ。
■ このスレッドは過去ログ倉庫に格納されています