★★VB初心者質問スレ Part9(´・ω・`)★★
2!
》 Λ《Λ ズザーーーーーッ3get ( / ⌒ヽ ノノ ノ (´´;;; (´ (ノ /ノ ≡≡≡≡ (´´ ノ ノノ ≡≡≡≡(´⌒(´⌒;;≡≡ (ノノ (´⌒(´⌒;;  ̄ ̄ ̄ ̄ ̄ ̄
4 :
デフォルトの名無しさん :02/05/08 13:15
たまにスクロールバー(HScrollBarとか)がフォーカスを奪ったまま返してくれない(?) 自体が起こるのですが、これって回避できませんか? 原因もよくわからないです。 いっかいスクロールバーをいじると、他の部品をクリックしてもフォーカスが移りません。 一見フリーズしたかのように見えます。 で、タスクバーから最小化したり他のウインドウに切り替えたりすると、 フォーカスが帰ってきます。 こんな感じになる症状がたまにでます。
5 :
デフォルトの名無しさん :02/05/08 13:18
VBでFTPサーバーをアクセスしたいので、WININET.DLLを使おうとしているのですが、サーバーがサポートしているコマンド(今回はAS/400がサーバーなので、QUOTE RCMD)を使いたいのですが、このようなことは可能ですか?
7 :
デフォルトの名無しさん :02/05/08 15:35
DataGridにソースでRecordsetを設定しようとして、ProviderがJetOLEDB4.0だった場合 反映されてないようなんですが、JetOLEDB3.51(別のDB)だった場合はうまく設定 されているようなのです。 同じように set DataGrid1.DataSource = mRs と書いてあるのですが…。 どなたか解決法等をご教授お願い致します。
8 :
デフォルトの名無しさん :02/05/08 16:35
WebBrowserコントロールにファイルを経由せずに直接HTMLドキュメントを表示させる方法ってないですか? ファイルに保存してからNavigateすれば表示はできますが、なんかすごく無駄な気がして。 String型変数に入ってるHTMLをそのまま表示させたいです。
9 :
デフォルトの名無しさん :02/05/08 16:59
新スレおめage
>>10 んなわけねーじゃん…。
キャッシュがあるからそう思ったのか?
>7 MDACのバージョンとか関係ないかな。 完全に未確認でゴメソ
/ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
| monazillaに逝けばわかるかも…
>>8 \
 ̄ ̄ ̄ ̄ Ο  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
ο
♪ ∧,,∧゚ ♪
ミ,,゚Д゚彡 ♪
ミつ[|lllll]).
〜ミ ミ
U''U
∩ ∩ ミ ゙''゙? ミ∧,,∧ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ミ,,゚Д゚彡 < TStreamAdapterってなんじゃらホイ U U \________ > (WebBrowser.Document as IPersistStreamInit).Load(TStreamAdapter.Create(ms)); よくわかんねですが WebBrowser=COMかActiveXかなんかのコントロールかなんか .Document=そのメンバーかメソッドかプロパティかなんか IPersistStreamInit=COMのインターフェースかなんか .Load=たぶんIPersistStreamInitのメソッド TStreamAdapter.Create(ms)=メモリデータを変換したりとか? こんな感じ。VBで IPersistStreamInit Document Load あたりを検索してミル 適当なレスでスマンソン
17 :
デフォルトの名無しさん :02/05/08 21:48
DOMに落とせばページを保存せずに表示できると思うよ。 実際、XSLTで変換したページなんか保存なんてせずに DOMオブジェクト中のコードでしょ。 そのかわりHTMLがXMLフォーマットでないとだめだが。
19 :
デフォルトの名無しさん :02/05/08 22:30
With WebBrowser1 .Navigate "about:blank" .Document.Clear .Document.Open .Document.Charset = "Shift_JIS" .Document.write "(゚Д゚)ゴルァ!<BR>(゚Д゚)ゴルァ!<BR>(゚Д゚)ゴルァ!" .Document.Close End With
20 :
デフォルトの名無しさん :02/05/08 23:16
VB.NET+ADO.NETでACCESS2000を弄りまくるサンプルってありますか? 過去ログ漁ったんですが、上手く検索かからなくて。 ほんと申し訳ない。
21 :
デフォルトの名無しさん :02/05/08 23:19
お!?厨達よ 新スレできたな さあオフスクリーンだったな でもねむいなw 気が向いたらアラスね
WebBrowserコントロール使って、 HTML(ソースじゃなく見たまんま)の印刷ってできる? コントロールは非表示で、できれば印刷設定のダイアログとかも出さずに。 無理なら、市販コンポーネントで知ってるのあったら、 情報きぼんぬ。
く そ ま み れ く そ ま み れ く そ ま み れ く そ ま み れ く そ ま み れ
26 :
デフォルトの名無しさん :02/05/09 00:12
>>20 この板の過去ログなんか漁っても無駄。Users-MLの過去ログとか見れば
大量にヒットするよ。
>>もったいぶりアラシ
いい加減にしませんか?
>>25 は偽者だ
オデのアラシは厨へ知識の押し売りアラシだ
25みたいな糞アラシはせんぞ
>26 VBUGのことですか?
俺はこのスレの利用者の一人だが、タイトルに顔文字とか付けるな。 確か前回から付いてるよな。 余計にガキっぽく見えるだろ。 P板はもっと殺伐としてるべきなんだよ。
顔文字をバカにするヤシは顔文字に泣く。
・゜・(ノД‘)・゜・ウワアアァァァン
>>27 前の板でも変なイタズラしたろ。どっか逝けよ。
34 :
デフォルトの名無しさん :02/05/09 00:37
やれやれ荒れてるな どうも仲良くいかkないようだね 厨な年頃かい?ミ゚Д゚,,彡
>34 ありがたい。VB.NETや.NETに登録してみます。
>>19 ,
>>21 できますた!
ありがとうございます。
>>18 なにやらよくわかりません。
とりあえず
>>19 の方法でできたので、後ほど必要になったら勉強しようかと思います。
ユーザー定義型とクラスの違いって何ですか?
>>38 自由度が全然違う。と、言いたいところだがVBだからどうでも良いんじゃないの?
40 :
デフォルトの名無しさん :02/05/09 07:54
>38 クラス内では関数が使える。
>>40 関数て・・・。
そう言えばC++って通常はメソッドなのに仮想関数は関数なのね。
久しぶりに来てみたらなんだかなあ。GWも過ぎたのに。ちぇ。
43 :
デフォルトの名無しさん :02/05/09 11:47
こんにちは、初めて書き込みます。 VBScriptでiモードにBASP21を使ってメールを送信させようとしているのですが、 553 ... Relay operation rejected to というエラーが出て送信できません。 メールサーバー名の指定が間違っているようなのですがiモードの場合、 サーバー名の指定をどうすればいいのか分からないのです。 ご存知の方がいらっしゃいましたら、どうか教えていただけないでしょうか? よろしくお願いします。
44 :
デフォルトの名無しさん :02/05/09 11:50
コントロール名のプリフィクス一覧って無いのですか? 人によってcboとかcmbとか付けられて鬱だ
45 :
デフォルトの名無しさん :02/05/09 11:57
>>44 MSDNで「オブジェクトの名前付け基準」を検索
46 :
デフォルトの名無しさん :02/05/09 12:16
47 :
デフォルトの名無しさん :02/05/09 14:05
>>17 激遅レスですが、ありがとうございました。
49 :
こういうことか? :02/05/09 14:35
>>8 こういうことがしたいのか?
多分これで大丈夫だけど実験してないので動作不明(w
バグってたら直してちょうだい。
Private Declare Function GetStdHandle Lib "kernel32" (ByVal nStdHandle As Long) As Long
Private Declare Function WriteFile Lib "kernel32" (ByVal hFile As Long, ByVal lpBuffer As String, ByVal nNumberOfBytesToWrite As Long, lpNumberOfBytesWritten As Long, lpOverlapped As Any) As Long
Private Const STDOUT_HANDLE = -11&
Private Function SendDoc() As Long
Dim hnd As Long
Dim strDoc As String
Dim lngRet As Long
Dim lngWriteLen As Long
SendDoc = 0
strDoc = vbNullString
strDoc = strDoc & "HTTP/1.1 200 OK" & vbCfLf
strDoc = strDoc & "content-type:text/html" & vbCrLf
strDoc = strDoc & "<html><body><span style={font-size:64;}>ゴルァ!</span></body></html>"
hnd = GetStdHandle(STDOUT_HANDLE)
lngRet = WriteFile(hnd, ByVal strDoc, LenB(StrConv(strDoc, vbFromUnicode)), lngWriteLen, ByVal 0&)
If lngRet = 0 Then
SendDoc = Err.LastDllError
Else
If LenB(StrConv(strDoc, vbFromUnicode)) <> lngWriteLen Then
SendDoc = vbObjectError + 513
End If
End If
End Function
51 :
デフォルトの名無しさん :02/05/09 14:59
Friendキーワードってどういう場面で使われるんでしょうか?
>>51 寂しいときに友達を宣言すれば隠蔽された友達を呼び出せます。
54 :
デフォルトの名無しさん :02/05/09 17:44
ちょっとスレの指向とちがうけど、 html内でtextareaの改行コード込みの内容をPostして、次のasp内で Request.Formで引っ張ってくるんだけど、なぜか改行してくれないんです。 良い方法おしえてください。
55 :
デフォルトの名無しさん :02/05/09 17:47
56 :
デフォルトの名無しさん :02/05/09 17:53
>55 ありがと&ごめんアフォなんでもちっと詳しく
57 :
デフォルトの名無しさん :02/05/09 17:56
ものすごく簡単なことかもしれませんが、質問させてください。 VBに付属してるディストリビューションウィザードでセットアップファイルを 作るときに、空のフォルダをセットアップファイルの中に含むことって できるんでしょうか? セットアップファイルを作るときにファイルは選ぶことができても、 フォルダを選べない気がしたんで・・・・
58 :
デフォルトの名無しさん :02/05/09 18:07
>57 空フォルダは作れないと仮定しての話だけど(未検証)、 ダミーのファイルを入れてしまって、アプリの起動時か なんかに消しに行くようにしたら?
59 :
デフォルトの名無しさん :02/05/09 18:09
>>58 んーやっぱそういうふうにしないと駄目なんでしょうか・・・
ウィザードとおりにやってるとフォルダが指定できない時点で、
ダミーファイルの作成をカンガエはしたんですが・・・
60 :
デフォルトの名無しさん :02/05/09 18:18
>59 58だけど、もしかして単に気分の問題か??? 動けばいいってことなら、アプリの起動時にフォルダなければ 作るなり、前述の方法なりでできると思われ。 それでもいやなら、セットアップウィザードのソースあるんだから 直接内容いじればなんでもできるじゃん。
Chr(13)&Chr(10)をリプレースで解決しますた
あの、ビジュアルベーシックでプログラムして、 英数文字をUPしてほしい問題があるんですけど・・・ 誰かやってくれる人いない?お願いします
↑ 言ってる意味がさっぱり解らんないのは俺だけ?
>>63 日本語変。
英語の使い方も変。
宿題他力本願。
生きている価値を疑う。
あの、ベーシック英数文字でして、 誰かやってくれる人いない問題があるんですけど・・・ ビジュアルプログラムをUPしてほしい お願いします?
あくちぶエクースコントロールつけると、 配布はインストーラ付きじゃないとだめですか? exeのみ配布はムッチャムリムリでしょうか?
あっとー!VB6です。
68 :
デフォルトの名無しさん :02/05/09 20:26
メッセンジャーみたいなのを作ってます。 ツールバーの絵をスキンで変えられるようにしたいのですけど、 定石はどんな方法ですか? picture clip control ですか?
69 :
デフォルトの名無しさん :02/05/09 20:27
>>62 とりあえず、宿題か何かを手伝ってほしいと?
このスレ吉害が迷い込んでませんか?
あっとー!ジャヴァスプリクトです。
ゲームを作ろうと思ったのですがdim定義とか色々ムツカシイです。 テトリスとかぶろっく崩しとかの他人のソース読んで勉強しろといっても無理な気がしてきました。 せめて○×ゲームからはじめようかと思っていますが、一人ではわかりません。。 誰か教えていただけ無いでしょうか。 よろしくおながいします。 それがだめならせめて ゲームの基本画面はテキストボックス、ピクチャーボックス、ラベルのどれで 作るかだけでも教えていただけないでしょうか。
にほんゴふじゆーですが よろしくおまえがします。
74 :
デフォルトの名無しさん :02/05/09 20:52
荒らすなヴォケ
読んでるとこっちまで頭おかしくなりそうなステキな日本語を書く人ですね。
76 :
デフォルトの名無しさん :02/05/09 21:27
>>72 まずは、かんたんなゲームが作れる解説つきの本を買うことをお勧めする。
なんか流れてしまいましたけど、 pcl じゃなくて image list なんでしょうか?
わからない人しかいませんでしょうか?
79 :
デフォルトの名無しさん :02/05/09 21:56
VBでDAOを使ってMDBにアクセスするアプリケーションをつかって いるのですがマルチユーザ環境での排他制御の仕方などがいまいち わかりません。 良書や便利なサイトなどがあれば教えていただきたいです。 具体的にはレコードセットをつかってupdateメソッドを使って更新を 行いたいのですが、他端末でaddnewされたレコードに対して自端末 がaddnewしたような場合等です。
とても聞いてる人間の態度とは思えないヤツがいるな。
83 :
デフォルトの名無しさん :02/05/09 22:25
>>83 あれにどう答えろと?
後、自作自演痛い。
ちなみに
>>78 は僕じゃありません。
もうさぱーりです。よくあるように、例えば5x2でアイコンが並んだ
一枚絵をスキンとして使いたいのです。
PictureClipで読み込んで、ImageListに格納して、
TooBarに反映させるんでしょうか?
87 :
デフォルトの名無しさん :02/05/09 22:31
Picture1(空)とPicture2(JPEG)がそれぞれありまして(PictureBox)、 Picture2のJPEGのDDBをDIBピクチャに変換し、Picture2にDIBピクチャを入れ替えました。 もちろんきちんと画像が表示されるのですが、問題はそこから先なのです。 成功する方法は SavePictureで適当にBMP変換&保存し、 buffer = CreateCompatibleDC(Picture1.hdc)でメモリDCを作成し、 buffer2 = LoadImage・・・で先ほど保存したBMPをLoadし、 SelectObject buffer, buffer2をして StretchBlt Picture1.hdc・・・buffer・・・で拡大表示したピクチャをPicture1に表示。 これはうまくいくのですが、HDDに保存せずメモリ上で全ての作業を行いたいのですが、 とりあえず、私なりに buffer = CreateCompatibleDC(Picture1.hdc)でメモリDCを作成し、 buffer2 = CopyImage(Picture2.hdc・・・とやったのですが、戻り値が0でエラーだったので、 DIBなのがいけないのかな?と思い、 (そもそもこのCopyImageの使い方がいいのかが分かりません。ネットで色々探しても、10件も HITしません(泣、MSDNではピクチャを複製すると書いてありました) buffer1 = CreateCompatibleBitmap(Picture2.hdc・・・として、BMPに変換し(ハンドルを一応受け取りました)、 buffer2 = CopyImage(buffer1・・・をしたら、戻り値が0じゃないのでいいのかなと思ったのですが、 SelectObject buffer, buffer2をして StretchBlt Picture1.hdc・・・buffer・・・しましても、Picture1に何も表示されませんでした。 Bitbltでも同様でした。CopyImage(Picture2,Picture.handle・・・でもハンドルが戻ってくるのですが、 画像が表示されずダメでした。一応、Bitbltの戻り値が1が戻ってくるので、処理はミスっていない ようなのですが・・・。 ここの知識は乏しく、根本的に間違ったことをしているかもしれません(泣 ぜひ、ご教授お願いします。よろしくお願いします。 最低限使いたい関数はCopyImage(多分、LoadImageと結果は似てると思うのですが・・・)と StretchBlt(Bitblt)です。LoadImageは拡大読み込みにアンチエイリアスかけてくれるのですけど、 CopyImageはどうなのか分かりません。かけてくれるのかな・・・。
違うんですけど、なんでもいいです。
90 :
デフォルトの名無しさん :02/05/09 22:34
>>79 例に挙げたような場合の DBの一貫性は保たれるので気にしなくて良いです。
それ以前に、まず、排他させなきゃいけない 場面、機能、等を一度整理して
みてはいかがでしょう?
91 :
デフォルトの名無しさん :02/05/09 22:35
>>38 クラスならコレクションに入れられる(by VB5)
(VB6ならユーザ定義型でもいけてまうけどな。ま、メソッドないとうまみ半減)
>>89 ひーん。読んでください(´Д⊂ヽ
長文ごめんなさい
94 :
デフォルトの名無しさん :02/05/09 22:44
>>90 なるほど。ありがとうございます。
では、後れてaddnewした側にはなにかエラーが渡されるのです
よね?その辺のロジックの組み方がいまいちわからないのです。
そもそも、2行目の変換工程にはVisual C++でZLIBやらJPEGLIBやらを利用し、 作ったDLLをかましてまして、そのDLLにはBMPファイルに変換&保存する 機能があるのですが、その機能をSavePicture代わりに使うと 表示はするものの、LoadImageの機能であるアンチエイリアスされず、 StretchBltそのままのドットバリバリの汚い画像が表示されるのです。 (LoadImageがエラー起こしている雰囲気はないです) でも、ファイル自体正常な?BMPファイルでして、ペイント等でも開けます。 ただ気になるのは、SavePictureだと200KBを超えるのですが、 そのDLLで作ったBMPは150KBぐらいなのです。 多分、変換工程が違うからだと思うのですけど・・・。アヤスィ。
97 :
デフォルトの名無しさん :02/05/09 22:56
>>94 もし table に同じ内容のレコードを書き込んだ場合、
primary key が設定されていれば 一意制約違反が
発生します。が、そうでなければ両方とも書き込みは
成功します。
98 :
デフォルトの名無しさん :02/05/09 23:02
>>94 DBが保証する一貫性と、設計者が考慮しなければならない
トランザクションの範囲、分離性、がごっちゃになっていませんか?
99 :
仕様書無しさん :02/05/09 23:15
Oracle + VBで顧客名簿のDBアプリを作っています。(接続はoo4o) 顧客の名前などは既にデータベースに登録されており、 プログラムでIDを自動的に割り当てたいのですがうまくできません。 番号はSequenceで生成を試みているのですが、1ずつ増加するはずなのに、 120ずつ増加しちゃったりします。わけわからん。 こんな感じで処理をしています。 Do Set Objecthoge(Sequence.NextVal) レコードID = Objecthoge.Fields("NextVal").Value Objecthoge = nothing Loop Util 全レコード数 ↑また、数百件処理をした後、ループ中にハングしてしまうです。 書き込みが下手で申し訳ありませんが、要約すると VBプログラムで全てのレコードに対してIDを割り当てたいんです。 アドバイスおねがいします。
100 :
デフォルトの名無しさん :02/05/09 23:21
>>99 Create sequens したときに、INCREMENT BY 120ってしてませんか?
101 :
デフォルトの名無しさん :02/05/09 23:27
>>99 ハング事に関してはなにもアドバイスできませんが、
ストアドにしたほうが良さそうな処理と見受けましたが、
検討してみましたでしょうか?
102 :
仕様書無しさん :02/05/09 23:30
SequensはObject Browserで作ったので1になっているはずだけど... Set Objecthoge(Sequence.NextVal)の部分は CreateDynaSetでいいのかな? レコードの取り出し方が正しくない可能性ありえそうです。><
>>96 できたファイルのBITMAPINFOHEADERでも見てみれば?
104 :
仕様書無しさん :02/05/09 23:35
ストアドというのはPL/SQLですよね? Net8とか設定しないといけないんですよね? DBの設計をやっているのはうち会社ではないので、 かってにOracleの設定を登録したらやばくないかなぁ。。。
ほんとにレベル低いなー このスレ。びくーり
>>103 特に変わった点はなさそうです。サイズも正常ですし・・・。
JPEGをBMPにHDD経由することなく変換する関数ってありませんか?
111 :
デフォルトの名無しさん :02/05/09 23:51
112 :
デフォルトの名無しさん :02/05/09 23:51
>>104 oo4o で VBから Oracle に接続できるということは Net8の
設定は正しくされてます。ストアドを使うにあたってはそれ以上の
設定はとくに必要ないです。
ただ、DB設計が別会社で、
>>104 さんが ストアドの作成経験
がないのであれば今回はやめておいたほうが無難ですね。
113 :
仕様書無しさん :02/05/10 00:07
>>112 了解です。ありがとう。
Oracle連休前の一週間前からはじめたんですけど、
適当にやっているうちに設定されてたんですね。(^^;
114 :
unlha32.dllです :02/05/10 00:20
unlha32.dllを用いたアプリケーションの開発を行っています。 圧縮する前に圧縮後のファイルサイズを取得したいのですが、 何か方法はあるでしょうか? UnlhaGetCompressedSize API関数等調べたのですがどうも 書庫内のファイルサイズを取得するものらしいです。 やはり、テンポラリーに一度圧縮してから、そのファイルのサイズを 取得する以外方法はないのでしょうか? (圧縮する時間がかかるので避けたいのです) あと、もう一つあるのですが。 unlha32.dllをAというVBアプリで使っていたとします。 その時にBというVBアプリでunlha32.dllを使用しよう とした場合に既にAが使っているという情報を 取得する方法はあるでしょうか? 何かヒント等でもお知りでしたらご教授下さい。 よろしくお願い致します。
何事もやってみなけりゃわかんね〜っていうでしょ。
>>114 圧縮後のファイルサイズは圧縮しないとわからないと思われ。
それを計算する暇あったらそのついでに圧縮を行える。
117 :
デフォルトの名無しさん :02/05/10 00:50
即レスさんこないかなあ。。。
118 :
デフォルトの名無しさん :02/05/10 00:52
何でも聞きな。
119 :
デフォルトの名無しさん :02/05/10 00:55
なんだ、何もなしかい。じゃあばよ。
120 :
デフォルトの名無しさん :02/05/10 00:56
121 :
デフォルトの名無しさん :02/05/10 00:57
>>114 原理的に無理。
WinRarの事前予測は、サンプリングで。
実行中の予測は、処理済みの比率で計算してると思われ。
下の質問は、APIでプロセス列挙かな。
122 :
デフォルトの名無しさん :02/05/10 01:03
>>114 下の質問。
なんでそんなこと調べる必要があるの?
dllは再入可能なように作られているはずだから
競合とかの心配はないのでは?
123 :
unlha32.dllです :02/05/10 01:06
皆様どうもお返事ありがとうございます。
やはり、一度圧縮しないと無理なんですねー。
>>121 さん
>下の質問は、APIでプロセス列挙かな。
と、言われたので調べてみると以下のような単語が検索されました。
PSAPI.DLL
EnumProcesses()、
EnumProcessModules()、
GetModuleFileNameEx()、
GetModuleBaseName()
多分、これでできるんですよねー?
重要なヒントを教えて頂いて有難うございます。
これで、土日は休めそうです(笑)
ありがとうございました m(__)m
124 :
デフォルトの名無しさん :02/05/10 01:07
>>123 土日やすめるようにがむばってね。
おいらもあしたぢゅーに、あれして、これしないと....はやくねよっと。
125 :
unlha32.dllです :02/05/10 01:10
>>122 うーん なんでかはわかりません(笑)
できるかどうか調べてくれと上司に言われたので
色々、調べていた次第です。
上司がアホだと、たいへんだなあ。
127 :
デフォルトの名無しさん :02/05/10 01:26
>>125 その上司はリバースエンジニアリング中だと思われ。
125は今日も鉄也っす。
出来ました。PictureClip で読み込んでから、 ImageListに入れて、ToolBar でした。 っていうかこのやろう。
このスレは厨の自作自演用です 厨が適当にWeb上でVBのTipsを拾って来て まず、「教えてください」と聞いて 答えます あわよくば、違う手法を他から拾うことを狙っています お礼を言ってる礼はまずそうです これからも厨の自作自演を見据えて、マジレスなどしないようにしましょう
あぁ、130にマジレスしたいがマジレスするなって書いてある。 130はほっとけってことか。煽り厨にはこまったものだ。
プロシージャとマハポーシャは似てますか?
>>96 87は2行目以降読んでないけど、StretchBltで拡大縮小バリバリなのを
回避するには
Call SetStretchBltMode(hdc, HALFTONE)
Call SetBrushOrgEx(hdc, 0, 0, 0&)
ってやらないと駄目だったよーな。たしかディスプレイドライバ依存。
煽りにレスするとスレが汚れるからしないようにしましょう。無視。
あれから色々やったら画像が表示されました。有難うございました。 しかし、画像がアンチエイリアスかからず、そのまま拡大縮小した画像が表示されました。 どうやらCopyImageはLoadImageのようにアンチアリアスかけてくれないみたいです(泣 他にアンチエイリアスかけてくれるAPIはないのでしょうか? それともBitbltやらなんやらアルゴリズムで画像を処理する以外無いのでしょうか。 GDI系はめっぽう弱く、どこかにサンプルはないかしら・・・。
アンチアリアス→アンチエイリアスでふ
>>87 むう。読みづらいな。しかも結局何がしたいのか良くわからん。
とりあえずPicture1のAutoRedraw=TrueにしてRefreshしてみれ。
CopyImageはアンチエイリアスはかからん。
LoadImageはかけてくれるがリソースかファイルからしかダメ。
Jpeg読みこんで拡大表示したいなら
LoadPictureとStrechBltが一番簡単で速い。
>>96 SavePictureは現在のディスプレイ設定依存。(最悪だね、これ。)
多分24Bitと32Bitの違いとかだろう。
バイナリエディタで情報見てみ。
>>114 即レスにはなってないが、
基本的に無理。圧縮→ファイル書きこみのファイル書きこみをサイズ計算
だけにすれば出来るが圧縮とたいして時間変わらん。
>>123 そこらへんの関数はNT系じゃないと使えないから注意だな。
#最近まとれす来ないね。
レスサンクスです。
>>137 >CopyImageはアンチエイリアスはかからん。
>LoadImageはかけてくれるがリソースかファイルからしかダメ。
135にも書いてあるのですが、かかりませんでした(シクシク
名前が似てるのに(MSめ!
>Jpeg読みこんで拡大表示したいなら
>LoadPictureとStrechBltが一番簡単で速い。
これってアンチエイリアスかけてくれませんよね?
>SavePictureは現在のディスプレイ設定依存。(最悪だね、これ。)
なるほど道理で・・・。SavePictureだと画質が落ちるんです
なにかいい方法はないかしら・・・
とりあえず、何をしたいのかをまとめると 画像をアンチエイリアスをかけて、拡大縮小をしたい。 っていうことです。もちろん全ての作業はメモリ上です。(一旦ファイル保存はタブー) 分かりづらくてすみません。
>>139 NETでは出来るらしい。
DirectX8では2Dも出来たかな・・・?
StrechBltは環境依存。
VC使えるんならDLL作ったほうが早くて速いだろうな。
速さを求めないならVBで計算するも良し。
倍リニア法くらいなら割と簡単に実装できるんじゃない?
>>140 NETキタ━━━━━━(゚∀゚)━━━━━━ !!!!!
って、NETに買い換える予算も目新しい機能もなさそうですし・・・
やっぱりVCですか・・・。
昔、素人工房さんとこにVBでのアンチエリアスのサンプルがありましたが、
あれは・・・激重ですた(泣
143 :
デフォルトの名無しさん :02/05/10 14:42
メニューを実行中に動的追加したいのですが 最初は menuOption menu2 で、ボタンを押すと menuOption menu2 menu3 menu4 menu5 menu6 menu7 などのように自由に増やすことは出来るのでしょうか?
金融系のIT企業でVBを学んどいてっていわれたんですが、 コボルとは何が違うんでしょうか? レベルにもよると思いますが、このVBはどのくらいで覚えられる ものなんですか? モバイル端末の開発とかいきなり言われちゃってるもので、いやはや・・・
145 :
デフォルトの名無しさん :02/05/10 15:07
え?そんなでできちゃうんですか? でもそれは、ごく初歩的な段階ですよね。 今後このIT(特に金融関係)で生き抜くのに必要な知識ではあるんですかね?
>144 ......モバイル端末の開発でVB? って事はeMbeddedVBか...ククク、ご愁傷様。
え?え? どうゆううことなんですか? 素人をいじめないでよぉ〜
Java使えよ
>>143 階層化のメニューは自由に設定できない。
どうしても自由に操作したいならAPIだな。
151 :
不明なデバイスさん :02/05/10 21:37
エクセルのVBAのことで質問したいんだけど、ここじゃダメですか? どこならいいですか?
レス下さった方々ありがとうございます。 今日は仕事が忙しくVBをいじれませんでした。 本屋に本を探しにでかけたのですが、VBの使い方本はあってもDBの エラートラップについて詳しく乗ってる本はないのですねぇ(はぁ どうやら他の人がaddnewで追加したキーを持つレコードを 後から追加しようとするとエラーコードが帰ってくるらしいということが わかったのですが、(まだためしていないのでどんなエラーコードが 帰ってくるかはわからないのですが)そういったエラーコードの一覧表 ってどこに書いてあるのでしょう?MSDNをしらべてみたのですが 探し方がわるいのかみつからない・・・・・。 私が今作っているのはマスタメンテのようなアプリケーションなのですが 通常どんなトラップをしなくてはならないのでしょうか? dbPessimisticで開いたレコードセットは排他制御がかかるため 更新処理では主だったエラートラップは必要が無いように思います。 削除処理も排他制御のおかげでエラートラップは必要ないかなぁ。 やっぱり思いつくのは追加処理で他のユーザーに追加されたような 場合なのかなぁ?
153 :
デフォルトの名無しさん :02/05/10 22:43
>>152 コードは
MSDNを 「ADO 列挙定数」で調べれば出てきます。
DBが SQLサーバーと仮定すると デフォルトでタイムアウトは無限
になってますので、競合が発生しててもあとかきたプロセスが
またされますのでエラーはかえってきません。
SET LOCK_TIMEOUT 1000 -- 1秒ごにタイムアウト
で設定しておくと エラーが帰ってきます。
154 :
デフォルトの名無しさん :02/05/10 22:45
あ、DAOですか...
さらに SQL Serverでもなかったんですね....すまソ
156 :
デフォルトの名無しさん :02/05/10 22:55
>>152 アプリレベルでの排他はどうしてますでしょぅ。
同時に二人がおなじマスターメンテ画面を開いて、同じコードの
修正をするのはどうやって排他しようとしていますか?
157 :
デフォルトの名無しさん :02/05/10 22:59
>>156 アプリレベルとは?
アプリは同一端末の多重起動を不可能とし。
EXEは端末に一つずつ置いています。
レコードは排他されるので問題ないようにおもうのですが。。。。。
ちがうの?
>>152 VBだけじゃなくDBだけじゃなくエラートラップについて詳しく載っている
ものは少ないぞ。残念なことだ。
俺から一つアドバイスをやろう。
エラー処理をするときには、どんなエラーがきても
ある程度対処できるようなコードを最初にかけ。
エラー状態ってのは通常状態以外すべてだからな。
通常状態は数えるほどしかないが、それ以外は無限にある。
どのようなエラーが発生するかを調べるだけ無駄だ。
すべてのエラーは発生すると仮定しろ。
だからエラーコードに依存しないエラー処理を最初に書いておけ。
その上で個々のエラー処理を追加していくのだ。
決して分かっているエラー処理だけをして、その他のエラーは
発生しないと仮定して、発生したときの動きは不明なんてコードを
書いてはいかんぞ。
159 :
デフォルトの名無しさん :02/05/10 23:04
>>151 Excelについては、ビジネスsoft板のExcel相談所で質問したほうがいい。
Excel依存の割合が小さいVBAなら、こっちだけど。
>>158 それについてはまったく問題ありません。
エラーはなんでもかんでもトラップしてエラーコードを出して処理を
抜けるようになっているんです。だけどそれじゃあみっともないので
わかってるエラーには対処したいのですがいかんせんエラーコード
一覧が見当たらないのとどんなエラーが予想されるのかがちっとも
見当がつかないのですよ(とほほ
どっかにいいサンプルコードでもないでしょうか?
>>160 そうか。ならいいんだが。
よくある馬鹿な例だが、
call a
call b
のときaの中でエラーが起きてaの処理が中断したにも
関わらずbが実行されてしまうってことをしていることが
あるが大丈夫か?大丈夫ならいいんだが。
それから多分知っていると思うがErr.Descriptionは
使っておけよ。
>>157 ユーザーAが、コード001 のマスターを画面で修正中に
ユーザーBが、他ユーザー が コード001 を編集中とわかるようにして
修正、削除をさせないようにしてるのか、
じっさいに削除や、修正実行をユーザーA よりさきに行ったときに
エラーにしているのか?
などでしょうか...
漏れは select に with (updlock) ヒント付けて 前者にしてます。
163 :
デフォルトの名無しさん :02/05/11 00:07
コードの中で動的にpicture clip control を呼び出すには、 どうかけばいいですか?
コードの中で動的にpicture clip control を呼び出すには、 どうかけばいいですか?
さらにコードの中で動的にpicture clip control を呼び出すには、 どうかけばいいですか?
166 :
仕様書無しさん :02/05/11 00:27
以下のような環境で PC1 PC2 Oracle Client----N/W----Oracle Server 自作ツール クライアント側のツールからサーバーにアクセスするには ツール側にはどんな機能が必要で、Oracle C/Sはそれぞれどんな 設定が必要なのか教えてください。よろしくお願いします!
167 :
デフォルトの名無しさん :02/05/11 00:47
Windows系のIPアドレス入力する欄みたいなテキストボクース作りたいんす。 [ ] [254] ←こういうテキストボクースで2つ目のボックスの2の前にカーソルがあるときに 左を押したら前のテキストボックスにフォーカスを移したいんですけど、 Enterとかならキーダウソ取れるんだけど十時キーだけは取れなくて困ってます。 ヘルプ!
168 :
デフォルトの名無しさん :02/05/11 00:56
>>167 KeyPressでなくKeyDownとかKeyUp使いなされ。
ちなみにIPエディットな顧問コントロールが別にWindows側で用意されてるんじゃなかったっけ?
IPエディットな顧問コントロールは内容。駄菓熱湯蒸煮IP絵で一等な暮す 不破要るが蜜軽夜。
170 :
デフォルトの名無しさん :02/05/11 02:10
VB6.0ですが、 exeのアイコンをかえるにはどうしたらいいですか? 「project1のプロパティ」の中に 「実行可能ファイルの作成」ってタブがあって、 アイコン選ぶところはあったんですが、フォームのアイコンしかないです。
171 :
名無しさん@そうだ選挙にいこう :02/05/11 02:21
172 :
デフォルトの名無しさん :02/05/11 02:34
>171氏 うおぉぉできました!ありがとうございました。 駄質問ですいませんでした。 ヘルプいれてないもんで・・・。
アイコンで思い出した。
アイコンを一つ設定するだけなら
>>171 の方法でいいけど、
複数のアイコンを持たせるのってどうやればいいのかな。
iriaとかsusieとか、プロパティ開いてアイコンの変更ってやると、
いっぱいアイコンがあって選べるけど、あんなかんじの。
別に出来なくても困らないけど、知っておきたい。
HELPのないやつは放置 不正なVBの入手の可能性がある そんなやつにレスする必要はない
>>173 リソースで持っとく。
>>174 初心者だからMSDNって何?って奴もいるだろうからねえ。
俺も最初の一週間ぐらいはそうだったし。
MSDN重いからね。 ナローな昔だったら一週間くらいDLに時間かかるよね。
177 :
デフォルトの名無しさん :02/05/11 10:55
180 :
デフォルトの名無しさん :02/05/11 11:19
181 :
デフォルトの名無しさん :02/05/11 11:20
VB5ランタイム必須というソフトは、 VB6ランタイムを入れれば動きますか?
2001年4月をもちまして、MSDNの無料期間が終わったぽ。 ま、あんなにバカバカCDこられても困るしね。
MSDNといえば、MSDNライブラリのHELPがおかしくなっちった。 アクティブサブセットの項目が 「MSDN,技術文書・・・・・・」 がずらーと。同じのが何個も・・・。 再インストールは面倒なので、それ以外に直す方法はないですか?
185 :
デフォルトの名無しさん :02/05/11 11:44
>>184 再インスコしれよ。どんなスペックでも30分もかからんだろ。その間に風呂入れ。
あ、直ったでふ。
はやっ
ったく、MSには付き合ってらんねーよです
いつまでたってもShellExecuteの記述がStartPageになってるmsdn萌え。 .NETのヘルプでも直ってないのかなぁ…。誰か調べて。
>>184 どうやって治った?再インストール。
俺も一度同じ状況になったことあるのよ。
たしか会社のやつで適当にほうっておいたけど。
>>190 再インスコの方がいいけど、手動で直すなら、
MSDNライブラリ→「表示」→「サブセットの定義」
192 :
デフォルトの名無しさん :02/05/11 12:54
企業向けのアプリ作る時、ビジュアル面で気を付けることって何ですか。 別に作るわけじゃないけど、興味本位で。
興味本位で質問するな!!
>>192 消してデバック用のエラーメッセージだからといって2ch用語書かないように。
>>191 あぁ、そんなところにそんなものがあったのか。
はじめて気づいたよ。あんがと
>>192 企業向けじゃなくともごくノーマルに!
MS Office を手本にすればいい
デスクトップの様々なデザインにも考慮
後はコントロールをなるだけ減らす
>>197 残念ながら企業向けの場合、ノーマルじゃないのを要求されるのがざら。
だけど、ノーマルな動きを知らないとはまる。
基本はノーマル、そしてそれをなるべく破らないように非ノーマルな
ユーザインタフェースを構築するようにすると良い。
>>19 のコード
With WebBrowser1
.Navigate "about:blank"
.Document.Clear
.Document.Open
.Document.Charset = "Shift_JIS"
.Document.write "(゚Д゚)ゴルァ!<BR>(゚Д゚)ゴルァ!<BR>(゚Д゚)ゴルァ!"
.Document.Close
End With
を表示させて見たんだけど、一瞬だけ表示されて真っ白になっちまうよ。
何が足んないでしょ?
Closeすんなや
>>200 .refershしたら出来ました。
答え違ったけどさんくすっす。
というか、MSDN MSのHPにあるよ。 (MSDKはDLできたけど、MSDNもあるのかな?)
MSDK
MSDKは知らないけどMSDNは英語だったから諦めてました。
ありがとっす。
>>203 鬱だ…
なんでC#があるのにおまえらVBなの?
207 :
デフォルトの名無しさん :02/05/11 18:08
俺も知りたい。 なんでC#があるのにおまえらVBなの?
210 :
デフォルトの名無しさん :02/05/11 18:15
>>207 お前若いだろ。物事を自分中心にしか俯瞰できないんだね。
世界全体で最大数のVBプログラマが.NETに移行しやすくするためだよ。
普段に雑誌を読んでれば分かるはず。勉強しろよ、若いの。
211 :
デフォルトの名無しさん :02/05/11 19:03
>>208 C++でかつlinux用のならオプソで開発中だけど。
普段はJAVAでアルバイト。
時給3000円。
来月はもう500円上げてくれないと辞めちゃうけどね。
C#はテラリウムにて。
>お前若いだろ。
よくわかったね。
>世界全体で最大数のVBプログラマが.NETに移行しやすくするためだよ。
それはVB.netをMSが作った理由でしょうが?
まあVB→VB.net→C#.netって移行してくれば、
VB.netを余分に買ってくれるからね。
で、おまえらなんでVBなんて使ってるんだ?
別に流行なんて知ろうと思わないから、雑誌なんて読む必要ないと思うけど。
>VB→VB.net 茨の道
>>211 Linux用に開発しているオープンソースのソフトってどんなソフトだよ?
JavaでアルバイトってJavaで何作ってるの?
214 :
デフォルトの名無しさん :02/05/11 19:34
>Linux用に開発しているオープンソースのソフトってどんなソフトだよ? 分類的にはDSPなんで、ソースフォージ行って見てきて。 LINUX用ってのはプラットフォームがLINUXって意味ね。 LINUX使う必要性があるんでね。 まあ、VBやってる人はDSPなんか縁がないだろうけど。 PC以外のものと通信して、それを制御する・・・・ って説明でいいのかな? 携帯じゃないよ(w で、213は何作ってるの?
ここって、自分の技術を自慢するスレッドじゃなくてVB初心者スレッド なんだけどな。 自分の技術に自信があるのならわざわざ他人を馬鹿にしないもんだけどね。
216 :
デフォルトの名無しさん :02/05/11 19:51
.NET初心者なんだろ どっかのバカが何作ったか聞くから劣等感まみれにな(以下略
DSPって何?
218 :
デフォルトの名無しさん :02/05/11 19:54
さぁ デブ専用プログラマー
>>218 お前、DSP知らないってそれいくら何でも笑えない。
221 :
デフォルトの名無しさん :02/05/11 20:00
>>219 初心者スレッドで
「○○知らないの?」と言って悦に浸るぐらいしかないぐらい
底辺なんですね。あなた。
222 :
デフォルトの名無しさん :02/05/11 20:01
VBでDSPはやらんだろう、普通 というかVBでDSPはできんだろう。
>>221 自分のことじゃん。
217 名前:デフォルトの名無しさん 投稿日:2002/05/11(土) 19:53
DSPって何?
218 名前:デフォルトの名無しさん 投稿日:2002/05/11(土) 19:54
さぁ
デブ専用プログラマー
PC初心者
http://pc.2ch.net/pcqa/ に行けば楽しいと思うよ。
226 :
デフォルトの名無しさん :02/05/11 20:06
>>224 へ?俺は初心者スレッドで質問されたら
「そんなこと知らないの?いくらなんでも笑えない」なんていいませんが?
必死だね。あなた。初心者スレッドでなにいきがってるの?
初心者にアドバイスできないのならどっか他に行けば?
228 :
デフォルトの名無しさん :02/05/11 20:10
質問いいでしょうか フォーム上にドラッグ&ドロップで持ってきたファイルの フルパスを取得したいんですが、どうやればいいんでしょう?
>>229 Ole_DragDropイベントでData.Filesオブジェクト参照。
なんか荒れてしまったようですが 214以降は何も書いてませんのであしからず。 DSPは信号処理です。 MP3のエンコード、デコードなんかもDSP系です。 で、結局.netはC#のほうがいいんですね? VC#.netを買うかVB.netを買うかは大きいと思いましてね。 テラリウムのためにその決断を下すのは浅はかですからね。
232 :
デフォルトの名無しさん :02/05/11 20:14
VB6 WindowsXPです 今ひとつ詰まってしまっていることがあるのです。 入力されたデータをVBのコードとして実行することはできないのでしょうか つまりTextに Label1.Caption = Label2.Caption と書かれていたら、それを実際にコードとして実行する、ということです。 やっぱり無理なんでしょうか。
>>220 即レスさんありがとう。さすがです。
予想とはあってました。よくAV機器に昔DSPってあって
ONにしたらホールとかチャーチとかあったんですよねー
235 :
デフォルトの名無しさん :02/05/11 20:18
>>232 できます。
入力された文字列を解析して、その通りの処理を記述するように
すればいいです。
変数の宣言ができるように、あらかじめメモリを確保しておく必要があります。
>>235 よく見るとageているのはこいつだけ。(劇藁嘲笑
>>234 初心者スレでいきがっていた自分に気付いて恥ずかしくなったのでしょう。
>>231 俺はNET使ってないがC#とVBNETならなじみのある方でいいだろう。
>>232 基本的に無理。
VBAのDLL使えば出来そうだが。
>>235 の方法でも出来るがw
>>230 すみません。それをやってみたんですが
Formにドラッグしてる状態でマウスカーソルがいかにも「できません」
みたいな表示(○の中に/みたいな)になって、実際やってもできませんが・・・。
>>232 ちみ、そんなのできたらVBインタープリタに高い金を出す意味がなかろう。
これが煽りって奴ですかね。 高校生に負けてそんなに悔しいですか?? 低脳な大人はかわいそうですね。 40,50になったら仕事もない上に、趣味もないんですか? 何のために生きてるんですか? 税金払うためですか? がんばって働いてください。
>>241 だから煽りに乗るなって、、、放置しろよ。
244 :
デフォルトの名無しさん :02/05/11 20:29
>ちみ、そんなのできたらVBインタープリタに高い金を出す意味がなかろう。 制限付のインタープリタでよければ、作った方が安い。 でも、どうがんばってもコード中のシンボルにアクセスするのは無理だよね? VB.Netはできるけど。
バカは自分がバカなことを自覚していないからバカなのだ。
>>239 ああ、もしかして自分のアプリ内でのドラッグドロップか?
だったら自前で処理しないといけないぞ。
意外と釣れないな 偽者ってバレてる?
煽られるのが嫌なのなら煽らなけりゃいいのじゃ? 困ったら高校生だからとかお涙頂戴するあたりがまた情けないね。 # 自分で喧嘩かしかけといて旗色が悪くなると周りを巻き込むなんて 人として終わってるよな。
>>239 Form の OLEDropMode を vbOLEDropManual にしておかないと。
251 :
プルプル・・・プルプル :02/05/11 20:37
煽られるのが嫌なのなら煽らなけりゃいいのじゃ? 煽られるのが嫌なのなら煽らなけりゃいいのじゃ? 煽られるのが嫌なのなら煽らなけりゃいいのじゃ? 煽られるのが嫌なのなら煽らなけりゃいいのじゃ? 煽られるのが嫌なのなら煽らなけりゃいいのじゃ? 煽られるのが嫌なのなら煽らなけりゃいいのじゃ? 煽られるのが嫌なのなら煽らなけりゃいいのじゃ? 煽られるのが嫌なのなら煽らなけりゃいいのじゃ? 手がプルプル(w
, ∧∧ , |\(゚ ω゚ ) /| | | | ももんか! .| | | |/  ̄ ̄ ̄ \.| ' '
>>250 やってみたら上手く逝きましたが
これだとドラッグ中にも処理されてしまいます。
ドラッグし終えた時だけに判定することはできないですか?
>>253 試しに Form1.OLEDropMode=vbOLEDropManual にして次のコードを
実行して、適当なファイル1個をドラッグ&ドロップしたらドロップした時点で
Captionがファイル名になったけど。。
Private Sub Form_OLEDragDrop(Data As DataObject, Effect As Long, Button As Integer, Shift As Integer, X As Single, Y As Single)
Form1.Caption = Data.Files.Item(1)
End Sub
指定したコントロールにフォーカスがあるかを調べたいんですけど やり方がわかりません。APIとか使わないと無理でしょうか? ご教授お願いします。
失礼します。 showでだした新しいフォームに 変数引渡しをしたいのですが どうしたらよいでしょうか。
>>258 UserShowとかいう関数作ってそれで引数を渡すとか。
グロ
>>259 わかんないです・・・。
もうちょっと調べてみますー。
>>261 こーゆーことだよ。
Form1,Form2作成。
Form2のコード
Function UserShow(ByVal Title As String, Optional ByVal Mode As Variant = vbModeless, Optional OwnerForm As Variant = Nothing) As Long
Me.Caption = Title
Me.Show Mode, OwnerForm
End Function
Form2をShowする時に、代わりにUserShowを使う。
>>263 うーんうーん
Usershowっていう関数を作ってしまえって事なんですか?
色々調べててcallなのかな、とか思ってたりしてたんですが。。。
難しいですけれどがんばります。
PGまでありがとうございます。
265 :
デフォルトの名無しさん :02/05/11 23:08
学校の宿題で、 入力として文字列が与えられ それをもとに木をつくれとの事なのですが どのようにすればいいのでしょうか? 文字列の解析の仕方は既に友人に教えてもらいました。 それと、当方プログラム歴3日です。 ソースコードを提出するので、動きそうであればいいのですが。
>>265 意味不明。具体的に説明してくれないとわからんぞ。
宿題くらい自分でやれ
269 :
デフォルトの名無しさん :02/05/11 23:12
>>264 Public変数にするのはダメなの? 変数名がHogeの場合、
Form1.Hoge で Form2 から参照できるけど。
あと、標準モジュールで宣言するのも一般的。
>>269 俺もそういう意味で言った。続きを言う勇気はなかったが。
271 :
デフォルトの名無しさん :02/05/11 23:16
文章には 主部と述部があります。 主部が、名詞と形容詞みないになります。 例えば、「親切な名無しさんが宿題を教えてくれた」 とあった場合、 各単語がどういう品詞か分類する事ができます。 「親切な名無しさんが宿題を教えてくれた」は 「親切な名無しさん」「が」「宿題を教えてくれた」 に分けられます。 「親切な名無しさん」は 「親切」「な」「名無しさん」 にわけられます。 これらを木として保存しろと言う事だと思います。
「親切な名無しさん」は 「親切な」(形動)「名無しさん」(固名)だろうな。 「親切な」「名無しさん」「が」「宿題を」「教えて」「くれた」だね。 ・・・これをVBにやらせるのか??
274 :
デフォルトの名無しさん :02/05/11 23:22
VBじゃないとインターフェースが作れないんです。
日本語入力ソフトの連文節変換に匹敵するレベルじゃないの??
>>271 普遍的に処理できるようなプログラムはプログラム歴3日
の人間に書かせるもんじゃないだろうね。
宿題なんだから何か逃げ道があるんだろーけど
それだけじゃ分からん。
素万、さっきのは「宿題を」じゃなくて「宿題」「を」だった。
278 :
デフォルトの名無しさん :02/05/11 23:26
「親切な」「名無しさん」「が」「宿題を」「教えて」「くれた」 こうやって分解する関数はもう作ってもらいました。 アルゴリズムもプリントで配布されたので、 その関数を作った人は、作るだけなら簡単だと言ってました。
279 :
デフォルトの名無しさん :02/05/11 23:27
>遍的に処理できるようなプログラムはプログラム歴3日 サボりまくってこの様です
>>278 >アルゴリズムもプリントで配布されたので、
お前、全然違うアルゴリズムが出てきたら
「プリントとは違うので・・・」
とほざくつもりだったのか?
この関数を作るのが本当に簡単なんだろうか・・ それはともかく、関数ができあがってるならあとは簡単なのでは? 「木」の形式がわかってればできるんじゃないの?
282 :
デフォルトの名無しさん :02/05/11 23:30
>>280 違いますよー
木を作るっていうのはどういう風にすればいいのか聞きたいのです。
(((親切 な) 名無しさん が) ((宿題 を) 教えてくれた))
プリントによると、こういうのが木だそうです。
283 :
デフォルトの名無しさん :02/05/11 23:33
>>281 その友達はマニアなんです。
ほとんどの言語を知ってるから、
どんな言語でも1時間で使えるようになると
豪語してました。
284 :
デフォルトの名無しさん :02/05/11 23:36
だれか木を作る簡単なサンプル教えてください。
285 :
デフォルトの名無しさん :02/05/11 23:41
(((バカ な) 厨房 が) ((質問 を) 書いた))
286 :
デフォルトの名無しさん :02/05/11 23:41
>>282 品詞を構造化するわけだから、形態素解析と文法書が必要。
素人には無理。
形態素片はともかく、まず日本語わかってないと無理。
288 :
デフォルトの名無しさん :02/05/11 23:43
290 :
デフォルトの名無しさん :02/05/11 23:45
SICPに英語だけど、自然言語パーサのサンプルが載ってるよ
291 :
デフォルトの名無しさん :02/05/11 23:46
よくわかりますね。 サンプルは全部lispとかいう言語で書かれていました。 でも、unixよくわからないし、インターフェースが作れないので VBしか残されていないんです。 そして、無理でもやらないとやばいんです。
292 :
デフォルトの名無しさん :02/05/11 23:48
>どんな言語でも1時間で使えるようになると 素人丸出し(w
宿題だからどうしたって? 2ちゃんで宿題処理か イイ時代な 何言いたいか わかるな?
>>291 LISPとVBは性格を全く異にする言語。
物にもよるけど死ぬよ?
>>293 構造化手続き型言語しか知らん奴の典型やね。w
昔の俺がそうだった。
放置しろよ オマエラ 個人的な事片付けんなら オフ会でもやれよ おまえらダケで
>>282 この先VBは希望が無いから、他の言語探したほうがいいよ。
課題には別にGUIとか必要ないだろうから、素のC言語でもいいし、
そのほうがナンボかマシ。
>構造化手続き型言語しか知らん奴の典型やね。w 他に何があるんだと、書いてみるテスト
前提条件は>278で、目的は>271で、それを実装しろという事でいいの?
>>300 オマエ1ダロ
自作自演が得意の(´Д`;)
302 :
デフォルトの名無しさん :02/05/11 23:58
treeつくんのに、VBじゃ無理、とか言ってるやつって、頭悪いね。
303 :
デフォルトの名無しさん :02/05/12 00:01
304 :
デフォルトの名無しさん :02/05/12 00:01
299 名前:デフォルトの名無しさん :02/05/11 23:52 >構造化手続き型言語しか知らん奴の典型やね。w 他に何があるんだと、書いてみるテスト
>>265 からのやつはコピペ&自作自演アラシだ
気づけよ
この板に糞スレが元ネタだぞ
>304 愛とか・・・勇気とか・・・?
307 :
デフォルトの名無しさん :02/05/12 00:03
>>303 XSLってプログラミング言語ではないと思われ。
他には?
>>307 あいつはプログラミング言語に限定していないと思われ。
さっきから上げてるやつ悪質だな
宿題は自分でやるべし
311 :
デフォルトの名無しさん :02/05/12 00:07
>>307 XSLは言語になるらしい。何かの本で読んだ。
条件分岐があれば言語だとか書いてあった。
>>299 論理型(Prologとか)、関数型(LISPとか)などなど。
と、ギリギリの答えを書いてみるテスト
>>311 s/言語/プログラミング言語/gと置き換えて・・・・
じゃあSQLもプログラミング言語にあたいするの?
あれは違うような・・・
315 :
デフォルトの名無しさん :02/05/12 00:09
>>312 つまり世の中にプログラミング言語は3種類しかないのか
と聞いてみるテスト
316 :
デフォルトの名無しさん :02/05/12 00:10
VB厨のがまだましだな しばらく放置 イイな厨達
318 :
デフォルトの名無しさん :02/05/12 00:12
prologって言語なの?
>>315 shemeとかRPGとか(これはよく知らんな)。
ALGOLとかCの子孫どもは構造化続き型言語だと認識。
320 :
デフォルトの名無しさん :02/05/12 00:14
じゃあ3種類だな
321 :
デフォルトの名無しさん :02/05/12 00:20
317 名前:糞レス ◆KGXXSJYw :02/05/12 00:11 VB厨のがまだましだな しばらく放置 イイなVB厨
322 :
デフォルトの名無しさん :02/05/12 00:29
さっき質問した者なのですが なんか無理っぽいので、全部やってもらう事にしました。 どうもありがとうございました。
実はその宿題も、出題者にとっての宿題だったのさ。
それ他スレからのコピペだぞ
328 :
デフォルトの名無しさん :02/05/12 01:02
日付見ろバカが。
マルチも同罪 オマエだなアラシ君 ネナサイ
331 :
( ´_ゝ`) :02/05/12 01:16
ソースキボーン
332 :
( ´_ゝ`) :02/05/12 01:37
ソースキボーン
333 :
( ´_ゝ`) :02/05/12 01:38
ソースキボーン
334 :
( ´_ゝ`) :02/05/12 01:38
ソースキボーン
335 :
( ´_ゝ`) :02/05/12 01:40
ソースキボーン
WebBrowserコントロールを使っているのですが IEの右下らへんにある、処理が現在どこまで完了したかを知らせるあれ のようなものをつけたいんですが、どうしたらいいんでしょう? つまるところは、WebBrowserで読み込まれているのが、現在どこまで いっているのかを取得したいんですが。
337 :
( ´_ゝ`) :02/05/12 01:46
>>336 onProgressChange
でできるだろ。
>>337 お前もわからなかったんだろ。(プ
340 :
デフォルトの名無しさん :02/05/12 04:06
外部WINDOWを操作したいんですが 検索等してもうまくわかりません。 ウィンドウハンドル取得をFindWindowでしてから SendMessageやPostMessageを使ってメッセージを送る・・・ みたいなことは色々みてまわってわかったのですが 具体的にどうやればいいのやら・・・。 たとえばメモ帳のテキストに別アプリから↑のやり方で文を入力させたりできますか? フヌケな俺ですがよろしくおねがいします。
341 :
デフォルトの名無しさん :02/05/12 08:00
>>340 可能。
っていうか、メモ帳がサンプル第一位。
>>38 ユーザー定義型(C言語で言うところの、構造体)をより発展させたものがクラス。
という理解でよいのでは?(ちなみに、俺はC言語はわかりません。ごめんなさい)
>>40 さんも書いておられるように、クラスにはメソッドやプロパティを実装できる。
他の人の説明もそれぞれに正しいと思いますけど、初心者には理解できないのでは?
「わかっている」人には、問題ないけれど、わかっている人は最初から質問して来ない
訳だし・・・。
>>79 > VBでDAOを使ってMDBにアクセスするアプリケーションをつかって
SQL Server または、MSDEではダメなのですか?
(顧客からの強い要望、とかなら仕方ないですけど)
Accessしかわからない、VBAを使えない、とかなら、DAO + Jet に頼らざるを得ないのは
わかりますけど、文面を拝見する限り、VBはある程度の技量に達しておられるようですし、
Jetなんかにこだわる理由が俺にはわかりません。
>>340 >>344 ごめん、最後の2行を読み落としてました。m(_ _)m
> たとえばメモ帳のテキストに別アプリから↑のやり方で文を入力させたりできますか?
> フヌケな俺ですがよろしくおねがいします。
これは、出来るかどうか、俺にはわかりません。(自信なし)
>>345 自己フォローです。
相手のアプリがCOMインターフェイスを公開していれば、オートメーションで
簡単に操作できるんですが、それは相手次第です。
メモ帳(Notepad.EXE)の場合は、当然、×。
>>114 ファイルの種類(例: *.TXT, *.DOC, *.BMP ......e.t.c.)によって
ある程度の傾向はつかめるとは思いますが、参考程度にしかならないと
思います。
他の人も書いておられるように、「やって見なけりゃわからない」が正解
ですね。(笑)
>>143 >>150 もしかして、Delphi なら、(メニューがコンポーネントされているから)
簡単にできるんじゃないかしら。
俺、Delphiわかんないんだけど。(藁)
>>348 それとも、*.OCXを自作しちゃうとか?(むずかしいかも?)
グレープシティの*.OCXにそういう機能はないですか?
(フォロー希望)
>>348 コンポーネント 化 されているからな。
実際出来る。アタッチしたよ。
感覚的にはTreeViewと同じ。
a :TMenuItem;
begin
a := TMenuItem.Create(MainMenu1);
a.Caption := '追加';
MainMenu1.Items.Add(a);
end;
351 :
デフォルトの名無しさん :02/05/12 09:25
>>350 いいなぁ。VB.NETでは出来るのかしら?
かきこみてすと
>>351 MainMenuってリソース?
Framework化されてると踏んでるんだけど・・・。
>>353 さぁ?.NET詳しくないから分からないっす。.NET詳しい人きぼんぬ
355 :
デフォルトの名無しさん :02/05/12 11:08
irc.2ch.net #プログラ 作ってみましたワイ。
356 :
デフォルトの名無しさん :02/05/12 11:10
>355 原稿状態で流してもうた。ごめんなさい。 2chのIRCサーバ(irc.2ch.net)に#プログラっつーチャンネル作ってみました。
357 :
コピペ名人 :02/05/12 13:44
82 名前:デフォルトの名無しさん :02/05/12 13:41 VBは悪くない。 RADとしてはC#が無ければ、最強だと思う。 もちろんDelphiもいい。 ただ、仕事をVB専門でやってる奴のプライドを疑いたい。 それがおまえの限界かと。 そんな安月給でいいのかと。 俺もマジレスすると、 仕事をVBだけでやってる奴なんているのか? そんな奴いたら、そいつの人生暗すぎる。
>>357 どうでも良いけど言ってること理にかなってるから論争にはならんと思うぞ?
359 :
デフォルトの名無しさん :02/05/12 13:50
>仕事をVBだけでやってる奴なんているのか? 少なくても派遣で登録してる奴にVBだけの奴はいない。 VBの仕事なんて無いからな。
#前スレにここのアドレスないのな。ついにスレが消えたかと思った
>>340 つか、そこまでわかってるなら、あとはサンプルを書くだけだと思うぞ
>>342 VB.NETの構造体には、メソッドやプロパティを定義できたりするな
>>343 正しい。MDBだとよく壊れるしな
>>345 WM_CHARをポストするか、VB的にやるならSendKeysでいいと思うぞ
>>349 Activeなんとかってのが確かあったな
>>350 できるぞ。そゆサンプルがMSにある
361 :
デフォルトの名無しさん :02/05/12 16:52
VB.NETってなにがどー変わったんだよ?
362 :
デフォルトの名無しさん :02/05/12 17:09
>>VB.NETってなにがどー変わったんだよ? 360に書いてあることが理解できないのなら知る必要ないと思うよ。
>>361 いっぱいありすぎて書ききれないくらい変わったぞ。MSDNの「Visual Basic 言語の新機能」を
見てみると、
「継承」、「例外処理」、「オーバーロード」、「プロパティとメソッドのオーバーライド」
「コンストラクタとデストラクタ」、「データ型」、「インターフェイス」、「デリゲート」
「共有メンバ」、「参照」、「名前空間」、「アセンブリ」、「属性」
などが紹介されているな。もちろん、これ以外にもコンポーネント(CLR)も変わってるし、
ADOなどのミドルウェアも変わってる。
はっきりいって、別の言語だと思ったほうがよいかもしれん
10進型Decimalって正式に使えるの?
んー、.NETを使う上で一番問題になるのがランタイムだと 思うんだけど、実際みんなどうする? 受注開発ならまだ何とかなるだろうけど、 オンライン作家とかは? 俺は静観するつもりなんだけどどうよ。>ALL
>>364 VBのバージョンは? 6.0以降から正式サポートだったか? で、6.0では、Variant のひとつ
であるという罠。VB.NET では、Currency もなくなるし、これしかないな
>>365 俺はオンラインソフトなんか作ってないけど、WindowsUpdateにも出てきてるし、このブロード
バンド時代(ださい台詞)だし、ダウンロードしてくれ! で済むと思うぞ
>>366 誰もがブロードバンド環境にあるわけじゃないし.NETのランタイムって何MBだ?
>>367 もっとも、俺は 64K 環境だったりするわけだが。ランタイムは、約20MBだな
>>366-368 むう。そうなんだよな。たしか1年前ぐらいで
ISDN以下の普及率が40-50%ぐらいだったか。(うろ覚え)
VB6.0のランタイムすらいれてない人が多いのに
20MBはキツイよなあ。
言語自体にはかなり興味あるんだが。萎え。
>>368 ランタイム不要なコンパイルできるのってC#だけだっけ?
>>360 取りあえず、フォロー感謝。
> WM_CHARをポストするか、VB的にやるならSendKeysでいいと思うぞ
あれ?SendKeysってNumLock問題とかでマズくありません?
SendKeys よりは、keybd_eventの方がいいと思うけど・・・。
まあ、どちらにしても、仕事で使う(元の質問者が求めているような実装をする)
ことはまずないと思いますが。(苦笑)
>>369 C#でもだめ。Visual C++でアンマネージドだけだな
>>370 NumLock問題に加え、CapsLock問題まである。だが、VBの機能のみなら、それが限界。
APIを使ってもいいなら、keybd_eventでもSendInputでもウィンドウメッセージでも好きなのを
使えばいい
>>誰もがブロードバンド環境にあるわけじゃないし.NETのランタイムって何MBだ? そのうちIE6のコンポーネントとかにしてまとめて配布(雑誌の付録CD)じゃねーの
373 :
デフォルトの名無しさん :02/05/12 20:48
>>372 思いつきでいいかげんなこと言うのやめたら?
冗談としてもまったく面白くないね。
>>372 その前に、OSのSPに含まれるんじゃないか?
>>373 あながち外れてはいないと思うぞ
375 :
372ですが... :02/05/12 21:06
>>373 どこが気に障ったのか正直理解できません(^_^;
ありうる話だと思うんですよ。
まとれすさんのSPに含まれるってのが配布しやすいかもしれないけど、
一般ユーザの端末にインストールするならやっぱIEじゃないのかなあ。
一般ユーザってオンラインソフトをどれだけ使っているんだろう? 一般ユーザの場合、市販されているゲームやビジネスソフトで インストールする人も多いんじゃないかな。 (まだ.NET使っている市販ソフトはなさそうだけどね)
失礼します。質問です。 Accessからデータをロードし 自分の思うようなtextboxにいれたいのですが どのようにPGをかいたらよいのかわかりません。 レコード変数を使用するんだとはわかっていますけれど そこからが・・・。 どうかご教授ください。
>>373 372をどう読めば冗談として読めるのか不思議
379 :
デフォルトの名無しさん :02/05/12 22:05
こちらも読み込み関係の質問宜しくお願いします。 メモ帳にかいてある文字から 一行分の内容を分けて、他の配列などに割り振りたいんですが、 namae1 , namae2 , namae3 といった感じにコンマ区切りな場合はいいんですが、 name1 name2 name3 といった空白での場合はどうやってわければよいのでしょうか。 超初心者的な質問ですみませぬ。
>>379 セパレータを,から に変えて処理すれば?
>>380 読み込みにinput を使ってるので、
勝手にコンマで認識してくれてたので、
それに頼ってセパレータとかいうの知りませんでしたw
そのセパレータってので、分割の設定変更できるんですね。
ありがとうございました! その方向で調べてみます。
382 :
デフォルトの名無しさん :02/05/12 23:01
よろしければ教えていただきたいんですが・・・ 環境はVB6 Win98SE です たとえばメモ帳が、txtに関連付けられている場合に txtを実行したら、メモ帳が開いて同時に実行したテキストが読み込まれますよね。 それと同じようなことをVBでつくりたいんですが・・・。 どうやればいいんでしょうか?
>>377 かなり説明が面倒になるから、使いたいミドルウェアを選んで、サンプルを探した
方がいいぞ
>>379 Line Inputで一行単位で読み込めば、好きなように分割できるぞ
>>382 よくわからんが、自分で作成したアプリにドキュメントを関連付けたい、ということか?
それなら、レジストリに登録する必要がある。まず、HKCUの.txtを探して、そこから
順に追っていってみろ
で、関連付けができたら、Command関数でファイル名を取得すればいい
385 :
デフォルトの名無しさん :02/05/12 23:19
>>375 NET.FrameWorkがOSに含まれるのは、NT6.0=BlackCombから。
つまり、最短でも2005年以降ってことか。
386 :
デフォルトの名無しさん :02/05/12 23:20
えー!VB.NETってアセンブリできるんだ! VB6よりパフォーマンスはどう?だれか比べてないかしら?
387 :
デフォルトの名無しさん :02/05/12 23:22
>>385 その頃になればC#も浸透してるかな?
正直、中途半端に使ってるC++より、一気にC#に変えたほうがいい?
>>383 サンクス!
そうそう、始め、Input と LineInput 以外の方法
ムダに探してたんですよ。
一気に読み込んでからじっくりわけてきます。
VB.NETはVB6(以前)とは全く別言語だと思た方がいいYO! ものにもよるが、比較するのは難しいかも。
すいませんstring型の文字列のn個目の文字を 知りたいときはどういう書式になるでしょうか?
392 :
デフォルトの名無しさん :02/05/12 23:27
>390 MID関数を使うのが普通かな。
394 :
デフォルトの名無しさん :02/05/12 23:28
mid$(a,n,1)
あ、.NETじゃないのね。萌えてきます。
396 :
デフォルトの名無しさん :02/05/12 23:30
>>383 そうですか
ご返答どうもです。
苦戦してます。。。
400 :
デフォルトの名無しさん :02/05/13 00:23
AVIファイルの再生時間を取得する方法がわかりません。 VBでどう書いたらよいでしょうか?
観鈴ちんは死にますた。
>>385 ほー。そのロードマップは、どこの情報だ? ま、どっちみち、MSの言うことなんて
信用できんが
>>386 パフォーマンスがいい、とは言えんな。ただで落とせるんだし、試してみたらどうだ?
>>387 諸刃の剣だな。まったく失敗する可能性も、ないわけじゃない
>>391 VB.NETでもそうは書けんぞ。s.Chars(n) だな
>>398 どうしてもわからんかったら、使いたいミドルウェアを指定して、再度質問しろ。わかる
範囲で答えてやる
403 :
デフォルトの名無しさん :02/05/13 00:30
>>402 MSDN会員じゃないけど、タダで落とせるん?
406 :
デフォルトの名無しさん :02/05/13 00:40
407 :
デフォルトの名無しさん :02/05/13 00:41
MCIって再生時間取得できなかったっけ?
MediaPlayerコントロール使うんだよ 簡単YO
ウゼーぞコテハン。氏ねヴォケ
いーんだよ別に。ただ氏ねって書きたかっただけだから。
413 :
デフォルトの名無しさん :02/05/13 01:11
今更ながら、使えるActiveXコントロールはVB付属のものだけではない IEはWebBrowser、DirectAnimation(DirectX)、その他ある MediaPlayerもそうだ(6.4のものは、DHTML上でも扱える便利) 使えるという意味はコントロール自体を配布しなくていい事だ ほぼWin98以上ならインストールされているだろう まだいっぱいある SDK見てごらん
414 :
デフォルトの名無しさん :02/05/13 01:12
まだー?
せかすなよ 今ふたなり見てるんだから(´Д`;)
417 :
デフォルトの名無しさん :02/05/13 02:27
質問なんですが、コミュニケーションコントロールを使って、16進数の 82を出力したいんですが、できません。 MSComm1.output = chr$(82) とすると &H00 が出力されています。 MSComm1.output = chr$(80)はできます。どなたかおわかりの方教えて ください。
418 :
デフォルトの名無しさん :02/05/13 05:20
>>417 まさかデータビットが7ビット(以下略)
419 :
デフォルトの名無しさん :02/05/13 12:16
vb.netに移行した人いますか?
会社からVBを覚えるように言われた新人です。 自分で計算機みたいな物を作ろうと思ってプログラム 書いたのですが、どうしても上手くいきません。 Private Sub Command5_Click() Dim strHandan Dim intT1 As Integer Dim intT2 As Integer Dim intAns As Integer Dim strMsg As String If Label2.Caption = "" Or Text1.Text = "" Or Text2.Text = "" Then strMsg = MsgBox("正しく入力してください", vbOKOnly, "Error") Exit Sub Else strHandan = Label2.Caption intT1 = Text1.Text intT2 = Text2.Text Select Case strHandan Case "+" intAns = intT1 + intT2 Case "-" intAns = intT1 - intT2 Case "*" intAns = intT1 * intT2 Case "/" Do Until intT1 < intT2 intT1 = intT1 - intT2 intAns = intAns + 1 Loop Case Else strMsg = MsgBox("演算子を選んでください", vbOKOnly, "Error") Text1.Text = "" Text2.Text = "" Text1.SetFocus End Select End If End Sub これって何故動かないのでしょうか? あと、簡潔にかけるところをお教え願いたいです。 よろしくお願いします 説明不足な所は言ってください。詳しく書きます
>>417 試せる環境がない・・・。あ、いっとくけど、&H をつけないと、16進にならんぞ
>>419 移行したぞ
>>420 何がどう動かないのか書け
>>419 移行したってのがどういう状態か分からんが、
VB.NETを使っている人、勉強している人はいるけど、
.NET自体が普及せんことには、主流にはならんだろう。
すいません。解決しました 計算は上手く行ってたんですが、表示させてない 事に気づきました。 では、頑張ります
424 :
デフォルトの名無しさん :02/05/13 20:22
質問させていただきまッス。 Stringで定義した変数に String * 20 といったようにバイト数を設定しているのですが、 それ以下の大きさの文字を入れると、 ”ああああ ” というように後ろに余分なスペースがついてしまい困っています。 簡単に ”ああああ” とだけに変換できる方法はあるんでしょうか・
>>424 固定長文字列使わないって手もあるけど、そうもいかないなら、
RTrim$(string) でできたっけかな?
Replace(string,vbNullchar,"")でもいいかも。
基本に忠実にLeft$(string,instr(string,vbNullChar)-1)って
やるとエラー処理が面倒な罠。
m = Len(text1.text) left$(text1.text,m)
427 :
デフォルトの名無しさん :02/05/13 21:08
VB6とVB7ってどれくらい違うの?
>>427 従来のVBとObjectPascal程度違う。
431 :
仕様書無しさん :02/05/13 21:11
>>422 2005年にMSは.NET ServerでJ2EEを駆逐する予定。
2005年に向けてみんな頑張ってるのだ。
webbrowserコントロールを貼り付けて毛が生えた程度のプログラムを exeのみで渡しましたが動かないようです。 やはりインストーラをつけないとだめでしょうか?
>425,426 ご指導ありがとうございまっす! その辺の命令参考に、ヘルプも確認しながらがんばってきます。
>>432 ディストリビューションWizardがあるだろう?
dllのバージョンでコンポーネントのインタフェースが変わって
互換性が無いば場合があるからね。
>>435 えぇっと。Setup形式にせず、exeで配布したいのです。
かちゅーしゃのような感じでしょうか。
いきなりexe起動ですぐ使えるようにしたいのです
そのdllやocxとかとかを同じフォルダに入れとけばうまくいく
みたいな話を聞きましたが、どうなのでしょうか?
>そのdllやocxとかとかを同じフォルダに入れとけばうまくいく そのとおり。必要なサーバをアプリケーションEXEと同じフォルダに いれておけばレジストリにサーバのパスを検索しに行かなくていいので。 でも依存性ってDependencyWalkerとかDistWizardとか使わんとわからないでしょ?
436 VC使いま・・・
>>423 すげー落ちだなおい
>>424 Trimしろ。それから、バイト数を設定しているつもりのようだが、文字数が設定されている
という罠
>>427 前に書いたぞ。参考にすれ
>>432 ものと環境による
>>436 無理だ
>>437 それは間違いだ。どちらにせよ、レジストリにパスを探しにいく。OCXを同じフォルダに置いて
おくと動作するんで、間違えやすいところだが、未登録のOCXは実行時に登録される、という
性質を利用しているだけだ。Side-By-Sideを使わない限り無理だと覚えておけ
相変わらず偉そうですね。好きだよ...>>まとれす
文字列の中から数字だけを抽出するにはどうしたらいいでしょうか。 "kaitou4649ne"から、"4649"だけを抜き出すような。 文字数分だけループ回して一文字ずつ数字かアルファベットかチェックして 数字だったら抜き出す〜みたいに書かないとだめですか?
好きな様にやれ
val()
>>442 まぁ。俺はそういうやり方したよ。val使わずにな。うむ。お互いがんばろー
多分一文字ずつ判定するやり方の方が汎用性があるぞ。 val関数でもいいのならそれでやればいいけど。
つーか、val()でどうやって出すんだよ。
448 :
デフォルトの名無しさん :02/05/13 23:40
ふりがな機能を付けたくて「VB Excel Phonetic」で検索したら、 ヒットしたのは数件だけ。 2002/04/19公開のサンプルコードが1個あったけど、 実行時バインディングに変えたら、漢字をそのまま取得(笑)。 Excel連携って初めてだから、どこかミスってるんだと思うけど。
ふりがな機能ごときでExcel使うのはいやだな。 Excel入っていないと動かんやんけ。
450 :
デフォルトの名無しさん :02/05/13 23:44
>405 ありがとうございました!
API使うサンプルのほうが多かったので、こっちにする。 不安定なのは困るけど、どっちもどっちかな。
>>447 俺もVal関数でいいかと思ったんだが、試してみたら駄目だった。ヘルプを読んでみると、
数字以外の文字列が見つかった時点で、検索を止めてしまうらしい。というわけで、
今回の
>>442 の質問では使えないようだな
>>448 ちょっと目の付け所が違ったな。IME系のAPIだ。ImmGetCompositionString()で検索
してみろ
>>452 ん?APIを使うのが嫌だ、ってことか?IME98あたりなら、タイプライブラリが公開されて
るんだが・・・
>>453 一発で検索できました。
APIがいやとかじゃなくて、サブクラス化がこわかったのです。
素人なもんで。
でも、確定後取得でよかったので、サブクラスは必要なかったです。
455 :
デフォルトの名無しさん :02/05/14 00:47
プリンタの印刷解像度(dpi)に左右されない印刷って、どうやるのがいいんですか? Printer.ScaleMode をTwipsにするとか、ミリメートルにするとか? それとも、Printer.ScaleWidth, .ScaleHeightを指定するとか? さらに、余白の問題もあるんですけどね。
456 :
デフォルトの名無しさん :02/05/14 00:50
あれ?何聞こうとしてたんだっけ?わすれちゃった
457 :
デフォルトの名無しさん :02/05/14 02:20
チャットプログラムで、 Private Sub cmdOK_Click() rtbChat.Text = rtbChat.Text & txtSend.Text End Sub みたいなしょりをしてます。これで、入力があったときに 最新行に行かせたいのですけど、 rtbChat.SelStart = Len(rtbChat) or rtbChat.SelStart = Len(rtbChat.Text) ではうまくいきません。どうしてですか?
>>447 、453
頭使えよ。
数字が出てくるまでループで回して、そこでValで終了。
ま、どっちみち不完全だがな。
Val関数でもエラー発生するパターンがあるからな。
>>457 やってみたけどうまくいったよ?
まさかMultiLineがTrueになってないとか、そういうオチじゃないよね。
つか、それだと画面がチラつくから、
SelStartを末尾に移動してから、SelTextで追加文字列を表示させたほうがいいよ。
ただ、そもそもの問題として、RichTextBoxはNT系OSで表示が
ヘタれたりするから使わない方がいいと思われ。
460 :
デフォルトの名無しさん :02/05/14 03:18
Formの左上のアイコンを変えるときは、 Form1.Icon = LoadPicture("AppIcon.ico") ですけど、ここにBMPのデータやPictureClipの画像を 入れたいときにはどうしたいいのでしょうか。 BMP -> ICO の変換関数があるのでしょうか?
ExtractIcon でいいみたいですね。やってみます。
462 :
デフォルトの名無しさん :02/05/14 03:41
基本的なことでスミマセン。 Picture Clip コントロールを多数使いたいのですけど、 フォームデザイン時に何個も突っ込むのはいまいちです。 プログラム実行しに動的にオブジェクトを作ることかできますか。
コントロール配列にしてLoad
464 :
デフォルトの名無しさん :02/05/14 04:58
>>463 理解できました。ありがとうございました。
465 :
デフォルトの名無しさん :02/05/14 10:28
初めまして。今会社でVBを使っている初心者です。 別々のフォーム(同時に表示される事はない)にて、同一の名前で同じ動作をさせたい コントロールがあります。 今は、それぞれのフォームのインスタンスを作る時に同じ名前にして、標準モジュールに 処理ルーチンを書き、それぞれのフォームのイベントを受け取った時点でそこに飛ばす ようにしています。 コードで書くと、 Set Form = New FormA 'FormA という名前でデザインしてるとして ===FormAのコード 'FormBにも同じものを記述する Private Sub command_click(Index as Integer) CommandClick(Index) End Sub ===標準モジュールのコード Public Sub CommandClick(Index as Integer) 'ここにいろいろな処理を書く 'コントロールはForm.〜〜で参照する。 End Sub このような感じなのですが、もっと良い方法がある気がしてなりません。 (あまりスマートではないので) あと、呼び出す時に使われるコントロールがはっきりしてる場合は、コントロール自体を オブジェクトとして渡しておいた方が良いものなのでしょうか? 以上、長文で申し訳ありませんがよろしくお願いします。
.NET買って来て触ってみた ・・・いかん、初心に戻ってやり直そう
467 :
デフォルトの名無しさん :02/05/14 12:26
468 :
デフォルトの名無しさん :02/05/14 12:45
.netではSDI開発環境はないんですか? 今の環境だと狭くてやりづらいです。。。
>>457 リッチテキストでは、Sel系のプロパティに問題があったような気がするぞ
>>458 おお。確かにそのとおりだな
>>460 BMPでもそのまま入ったと思うぞ
>>462 VB6なら、Controls.Add でコントロール配列を使わずに動的に生成する
こともできる
>>465 コンストラクタが引数を受け取れれば、Me を渡しちまう、って方法がある。
自分用のInitメソッドを必ず呼び出すような形にするのがベターかな。
ということで、
>>467 と同じだが、クラスにしろ
>>468 ない。ピンアイコンをオフにしておけば、使わないときは隠れるぞ。いちいち
スライドしてきてうざいけどな
外部Windowの位置を取得、変更させることはできますかね? APIを使うと思って検索しているんですが上手いのが見つからないので 質問させていただきます。
>>467 ,469
回答ありがとうございました。
実はフォームが7種類あって、共通のイベントが20くらいあるんですよね。
それでフォームのコード部に呼び出しばかり並ぶのがどうも・・・。
という訳で質問してみたんですけど、クラスモジュールに書き換えても
同じような感じになっちゃいますね。
サブクラス化という手法もあるようですが、使用した事がないのと、時間の
制約がある、ということで避けてしまいました。
とりあえず、可読性の向上という意味でクラスモジュールに書き換えようと
思います。
>>471 ユーザーコントロールに組むってのは駄目?
あんまし使ってる所みたことないけど、便利かもって思う。
WebBrowserコントロールを使っているんですが これでソースを取得することはできるのでしょうか? Inetと組み合わせてやればできるのでしょうが これだけでできるのならそっちの方を選びたいのです。 具体的にやりたいのは WebBrowserコントロールで開いているページのソースをTextに表示 これがやりたいんですけど・・・。よろしくお願いします。
>>442 ∧,,∧
ミσ゚Д゚ミσ
Private Const NumericTable As String = "0123456789"
Function ExtractNumeric(ByVal S As String) As String
Dim i As Integer
For i = 1 To Len(S)
If 1 <= InStr(NumericTable, Mid$(S, i, 1)) Then
ExtractNumeric = ExtractNumeric & Mid$(S, i, 1)
End If
Next i
End Function
>>473 おいらはWinInet使う方でやったがめんどかった。
それでできるなら知りたいっす。
>>442 int strtoval(char *str, char *valstr)
{
for( ; *str != '\0' ; ) {
if((*str >= '0') && (*str <= '9'))
*(valstr++) = *(str++);
else
str++;
}
*valstr = '\0';
return 0;
}
>>474 Private Const NumericTable As String = "0123456789"
InStr(NumericTable, Mid$(S, i, 1))
NumericTable を探索開始位置にするとどうなるのでしょうか。
>>471 それだと標準モジュールぐちゃぐちゃだろ。
イベントにはそれぞれ意味があって、モジュール単位で分けられるだろ。
それに名前をつけてクラス化したほうが可読性がいいし、
将来の改造が楽になると思うが。
>それでフォームのコード部に呼び出しばかり並ぶのがどうも・・・。
普通そういうもんじゃない?漏れの書いてるコードはそんなだぞ。
だってそうしないとフォームイベントのコードが画面に収まりきらんぞ。
>>477 InStr使ったこと無いだろ。開始位置は省略できる。
それより、IsNumeric(Mid(S,i,1))を使ったほうがいいかも。
>>479 IsNumericの方が高速だろうね。
でも、それだと数字だけだけど、
>>474 の方法だとNumericTabelを書き換える事で、
ひらがなだけを抜き出すとか、あ行の文字だけを抜き出すとか、
アルファベットだけを抜き出すとか使えそう。
それとも、そんな用途ならもっと上手い方法あるかな。
>>481 他に"+"とか"-"もIsNumeric = Trueだったけ。
数字だけ抜き出したい時に使いたくなるけど、
そういう罠があるんだよなぁ。
やっぱり
>>474 か。
>>471 コントロールのイベントで同じ処理をさせたいの?
だったらクラスモジュールで解決するとおもうけど。
クラス側(cPicProc)
private withevents mPic as PictureBox
public sub Initialize(pic as PictureBox)
set mPic=pic
end sub
private sub mPic_Click()
Msgbox "Pic Click"
end sub
フォーム側
private mPicProc as cPicProc
sub Form_Load()
set mPicProc=New cPicProc
mPicProc.Initialize Picture1
end sub
(フォーム側でPicture1のClickイベントのコードはいらない)
こんな感じで共通処理できるんでない?
はずしてる?
>>470 SetWindowPos
>>473 一応WebBrowser.Document.Body.innerHTMLで取れる。
ただBody以下の内容しか入っていない上、ソースそのままではない。
あと、WebBrowser.Document.All.Item.....も使える。
(MSも日本語版のまともなブラウザコントロールぐらい
標準装備しておけよ、と思う今日この頃。)
>>442 フサギコの使っとき。
485 :
デフォルトの名無しさん :02/05/14 22:30
integerよりlongの方が処理早いって聞いたのですが、 longの方がたくさんメモリ食いそうな印象ですが、その辺り具体的に 教えて下さい。i = 0 To 7なんていうループに使うのもlongが良いのでしょうか。
>>485 だって今のCPU32ビットだもん。32ビットのlongの方がそらね。
>>486 解答ありがとうです。
どこで聞いてもその解答なんです。僕も「32Bitだから」って知識しかないので
出来れば具体的におながいしたいのですが…。
>>485 今はIntegerを使う理由はほとんど無い。
大量に配列で確保する時ぐらいかな。
ループカウンタなんてその最たる例だよ。
ありゃ、かぶった。まあついでに。 Longを使うメリット ・処理速度はLongの方がIntegerより平均10%ぐらい速い。(大体) ・128MB以上のメモリが載っているPCが普通なのでメモリのことを 気にする必要はない。(100万個確保しても2MBしか差はない) ・代入可能な数値が大きい。 てな感じ。 16bitの時代は32bitの計算に時間がかかったが 今は速度的にはあんまり変わらん。 「32bitだから」ってのはIA32にあわせた使い方だから、 って意味だろう。
ヘルプをなんど読んでもFor Eachが理解できん! とかいう独り言。無視してくれ・・。
>>490 Treeだろうがリストだろうがスタックだろうが同じようにアクセスできてしまう仕組み。
STLのイテレータを想像すればわかりやすい。
IntegerはLongのメモリ領域を2つに分割して使ってるから
オーバーヘッドがあるとか聞いたよ。
ホントかどうかは知らないけど、実際にLongの方が速いから
Long使ってる。
悩むのは配列かな。Hoge(i) ってやるとき、iはLongがいいのか
Integerがいいのか…。
配列の添え字ってたしかIntegerだよね。型変換が起きちゃう。
>>490 Dim Frm As Form
For Each Frm In Forms
If Frm.Caption = "hoge" then .....
Next
のように使ったりするよ。
コレクションの全要素参照に便利。
>>487 16ビットから32ビットへの変換かますから。
>>468 SDKだけでやれば問題解決。俺はSDKで遊んでるよ。
補完機能、パラメータヒント、F1でヘルプ呼び出し、
一括コメント化/非コメント化等の機能は欲しいけどさ。
495 :
デフォルトの名無しさん :02/05/14 23:20
統合アーカイバライブラリのDLL使いづらくて仕方がないんですが… 一般的な評価ってどんなもんですか?
??今 OCNの6番鯖落ちてるのか? おでの鯖と一緒 鬱だな
>>495 LZHのサンプルはよく見るけどな。
俺は個人で使うツールにはeoを使ってる。
コマンドラインで色々指定できるので便利。
DLL不要だし。
だな 落ちてるな メンテかな ひろゆきも ここ持ってんのか 一緒かよ 鬱だな
499 :
デフォルトの名無しさん :02/05/15 00:30
>>476 不要なカッコ、とれよ。評価順序わかってないだろ?
>>470 FindWindowでウィンドウハンドルを取得して、MoveWindowだな
>>471 まぁ、VB6だと限界もあるしな。VB.NETでは、フォームが継承できるんで、かなり楽に
なるな
>>485 速いとはいっても、それほど差があるわけじゃない。あまり考えられないが、プログラム
的にわかりづらくなるぐらいなら、Intergerを使うほうがいいぞ
>>491 _NewEnumとかが関わってくるんだが、まぁ、気にしなくてもいいか
>>494 SharpDevelopを使う、ってのもひとつの手だな。うざったいウィンドウはないし。ただ、
VB.NETにきちんと対応していないという罠
>>495 統一するためにいろいろやってるし、しょうがないだろう。VBから使いやすくしたラッパOCX
もあるし、それを使うのもいいぞ
>>499 俺は、コードをよりわかりやすくするために、括弧をつけるほうが好きだな。評価順で悩む
こともないし
>>484 >>500 ありがとうございます!
お陰で外部ウィンドウはちゃんと動かしたりできました。
それで、位置を「取得」するのもそれでできるのかと調べていたのですが
どうもうまくいっていないみたいです。
外部ウィンドウのウィンドウハンドルがわかっていれば、
位置を取得することなどは簡単に行えると思うのですけど・・・。
GetWindow〜〜って奴でしょうかね?
>>501 そうだ。GetWindowPlacementとかGetWindowRectだな
メールの送信、受信の進行度をプログレスバーで視覚化したいんですけど 送信、受信したバイト数を得るにはどういう方法がありますか?
>>503 何を使ってメールを送受信してるかによる。WinSockコントロールなら、受信バイト数
が取得できるし、送信バイト数は自分で管理できる。
POPやSMTPをラップしてるようなコントロールだと、コントロールが提供していなけれ
ば難しいな
505 :
デフォルトの名無しさん :02/05/15 07:18
VB6で作成したフォームを、VB以外のアプリも含めて 際前面に表示させたい(CTRL+TAB等で切り替えられない)のですが、 可能でしょうか? もしできないのであれば、 タイマーコントロールで、定期的に最前面表示するというのでも可です。 よろしくお願いします。
>>505 Private Declare Function SetWindowPos Lib "user32" (ByVal hWnd As Long, ByVal hWndInsertAfter As Long, ByVal X As Long, ByVal Y As Long, ByVal cx As Long, ByVal cy As Long, ByVal uFlags As Long) As Long
Private Const HWND_TOPMOST = -1
Private Const SWP_NOSIZE = &H1
Private Const SWP_NOMOVE = &H2
Private Sub Form_Load()
SetWindowPos hWnd, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOSIZE Or SWP_NOMOVE
End Sub
>>506 StayOnTop ??? オレも知らんぞ
VBでエクスプローラのファイルリストビューの内容を取得するプログラムを作ろうとしています。 LVM_GETITEMTEXTメッセージを送るとエクスプローラがコケるんですが、何が悪いのでしょうか? ソースはおよそ以下の通り。 LVITEM.mask = LVIF_TEXT LVITEM.iItem = 1& LVITEM.iSubItem = 0& LVITEM.cchTextMax = 255& LVITEM.pszText = String(.cchTextMax + 1&, vbNullChar) Call SendMessage(ExplorerhWnd, LVM_GETITEMTEXT, 1&, LVITEM) '←ここでエクスローラがコケる どなたかご存じの方、教えて頂きたく宜しくお願い致します。
>>472 ユーザーコントロールも作成した事がなかったので、似たような事を(私がしたい事と)
しているサンプルを探して見てみました。
ものすごくソースが大量かつAPI呼びまくりだったので、「ここまでしなくてはならないの
か」と思ってしまいました。
とりあえず今回は見送る事にして次回以降の課題としたいと思います。
確かに作っておけば便利そうですね。
>>478 一応種類ごとにモジュールも分けて使ってるので、探したりするのはそれほど大変で
はないのですが、やはりプロシージャの数は結構なものになってしまっています。
後半部分の書き込みを読ませて頂いてだいぶ気が楽になりました。
>>483 実はそういう事ができないのかな?と思い質問してました。
(イベント処理自体をどこかに代行させるような形態)
前回まとれすさんが書いてくださった事もこういう事だったのか、と今気が付きました。
恥ずかしながらこういうものがあるとは全然知らず、先ほど早速試してみたのですが、
下記の2件がどうもうまくいきませんでした。
1:コントロール配列の場合は渡せないのでしょうか?
2:フォーム自体を渡した場合、それに属するコントロールのイベントは受け取れない
のでしょうか?
私のやり方がまずいだけかもしれません。
ただ2についてはまとれすさんが500で言って下さってる事が非常に気になります。
(ちなみに私はVB5を使っています。書くのが遅くてすいませんでした。)
1についてはフォームによってはコントロールが100以上あったりするのでなんとかな
らないものだろうか、と思ってしまいます。
いずれにしても、どの助言も非常に勉強になります。
何度もありがとうございます。
>>509 これを元にしてやってみます。
ありがとうございました。
>>509 むぐっ、今気が付いた。
これってWin98では無理ですか?(汗)
VirtualAllocEXってNT専用だった気が・・・。
それと、VirtualAlloc使っても戻り値が0なのですが、GetLastErrorも0が返ってきます。
これはどういう状態でしょうか?
確かVirtualAllocの戻り値はアドレスだと思ったので、0はエラーだと思うのですが、この認識が間違いですか?
>>512 そうだよ。
VirtualAllocExは9x系には意味のある実装はないのだ。
(戻り値は常に0。)
9x系ならFileMappingかな。逆にNT系ではこういう用途で
FileMappingが使えない。
>>513 むー、いろいろと面倒臭いんですね。
なんとか頑張ってみようと思います。
レス有り難うございました。
>>505 「切り替えられない」ってあたりは難しいが、最前面表示だけなら、
>>507 の方法でいいな
>>506 Delphiか?VB.NETでは、TopMostプロパティだ
>>508 即レスがよさげなレスをしてくれてるが、あれはポインタとかメッセージとかの仕組みを理解
していないと使いづらい。というわけで、Shellオブジェクトからたどる方法をお勧めする
>>510 VB5でもVB6でも、この辺は変わらないはずだ。コントロール配列を渡したことはないが、
「フォーム自体を渡した場合・・・」ってのは無理だな
>>513 9x系なら確かにメモリマップドファイルだな。しかし、オーナードローものには効かないという
罠。というわけで、まだ試していないが、MSAAをお勧めしておく
>>514 丹念に探せばサンプルが見つかるはずだ。がんがれ
技術以外の質問で申し訳ないんですが、VB.NETの単体パッケージ(一番安いやつ)って、 ヘルプはついているんでしょうか? いくら安くても、ドキュメントがなければ使いこなせないので、買いたくないのですが。
>>516 ヘルプナシの言語が売れるとは到底・・・。
確か入門書まで付いてきた気が。。。
>>516 心の底から517に同意。
NET持ってないけどね。
>>516 後、覚えるならC#のほうがいいと思われ。
言語のレベルは同一だ。
せっかく新しい世界が開けたのにわざわざマイノリティに甘んじることもないでしょう。
>>516 無料のSDKでもヘルプはついてる。
SDKのはさすがに全部じゃないとは思うが、
言語仕様やライブラリのリファレンスなどはついているので十分。
521 :
ななし@516です。 :02/05/15 15:09
やはり、愚問でしたか? (異常なまでな価格の低さに、販売政策上、高価なパッケージが売れなくなると困るから、 ドキュメントを抜いてるんじゃないかと、疑問を抱いてしまいました。(^^;)
旧VBのラーニングみたいに制限多すぎてロクに使えないようなヨカン。
質問です。 VBでAccessを扱っているのですが 変数をSQLの中に使いたいのです。 ただそれだけならいいのですが 検索もかねたいのです。 SQLでいえばLIKEのように。 その書き方がどうしてもわかりません。 ご存知の方、ご教授ください。
>>523 Dim SQLStr$
Docmd.RunSQL SQLStr
525 :
デフォルトの名無しさん :02/05/15 20:30
テキストファイルの行数を取得したいのですがEOFまで行読み込みを 行う方法だとちょっと男らしすぎるのでもう少しスマートな方法はない でしょうか?
>>524 ご返答どうもです。
ちなみに私はこういう書き方をしています。
StrSql = StrSql & "社員名称 = ' " & syainMei & " ' "
上の[syainMei]についてlikeを使いたいのです。
524さんの言われる書き方で出来るのでしょうか。
>>525 あると思うか?
テキストもバイナリの部分集合だと言うことを考えれば改行コードの数数える以外に方法はない。
クラスなどを使っても裏では結局そうやってる。
528 :
デフォルトの名無しさん :02/05/15 20:33
>>526 えっと。
LIKEのような動きにしたいのなら
StrSql = StrSql & "社員名称 LIKE '*" & syainMei & "*' "
のようにしないとだめですね。
ワイルドカードはわかりますよね?
わ!出来ました! すごいうれしいですー・・・。 ありがとうございますです。
>>528 > StrSql = StrSql & "社員名称 LIKE '*" & syainMei & "*' "
AccessでこういうSQLを書くとsyainMeiを工夫するだけで
command.com呼び出せるんだぜ。
531 :
デフォルトの名無しさん :02/05/15 21:55
このスレはなんか、いい感じだなあ
すまん SendMessageの定数をしらべたいんだが WM_〜〜〜〜とかいう定数に、代入しておかなくちゃいけないだろ その代入するやつはどこでどうしらべてどうすればいいんだ? 全くわからん。俺の文も全くわからんけどよろしこ。
最初のVB初心者スレ立てたの、実はDel厨なんだけどね。
535 :
デフォルトの名無しさん :02/05/15 22:27
Labelに出力されたデータを CSV形式で保存するにはどうしたらいいんでしょうか・・・。
536 :
デフォルトの名無しさん :02/05/15 22:28
>>532 まずは定数とは何なのかを勉強してください。
自分のあほさ加減に気付くでしょう。
>>535 お好きなところにカンマ挿入して下さい。
って言うかLabelに出力されたデータ??
538 :
デフォルトの名無しさん :02/05/15 22:43
>>定数に、代入 君は若い頃からステキなことばかり言ってたが相変わらずだなあ
>>537 はい。
LabelにAccessから取ってきたデータを
CSV形式で印刷するのが今の目的です。
しかし、適当なところにカンマを入れる・・・と
いうのであっているのでしょうか
>>539 まずはCSVがなんなのかを勉強することからはじめたらどうだ?
そうだな最初はCSVが何の略なのかからだな。わかったらレスしたまえよ。
Comma Separated Values
542 :
デフォルトの名無しさん :02/05/15 22:55
>>541 はいはい、で。アクセスからデータは何単位で取ってくるのかね?
543 :
デフォルトの名無しさん :02/05/15 22:57
9です〜
>>535 1)ACCESSから読み込んだデータをCSVで保存したい...2)ACCESSでテーブルのデータをCSVで保存したい...
3)LABELにCSV形式で印刷したい...
あなたの質問が3番なら意味不明だぞ。
CSVって何の略かわかってるの?
仮にそうだとして何の意味があるのか
>>544 すでにそれに沿った指導が始まっているのにそんな質問するのは
たまたま知っていた事だったので偉そうにしたかったからですか?
546 :
デフォルトの名無しさん :02/05/15 23:00
コンビニエンスストア。
はい、そうですね。 3だとしたら意味不明ですね。 私は1希望です。 しかしその間に処理が入るのです。 ラベルに出力してからCommandクリックされたら CSV形式で印刷します。 書き方悪くてごめんなさい ペコリ(o_ _)o))
>>547 >CSV形式で印刷します。
表示と印刷は明確に区別してくれ。ちょっとこんがらがってきた。
>>545 >すでにそれに沿った指導が始まっているのに
私が書き込みボタンを押すまで始まってなかったですよ。
2,3分の書き込みでしょ?
550 :
デフォルトの名無しさん :02/05/15 23:07
ACCESS VBAなんて言わないでしょうね?
>>532 APIビューワで調べれ。
載っていないやつは、VC++のヘッダーファイルで。
えっと・・・。 1.VBにてAccessからデータ取得 2.取得したデータをラベルに表示 3.印刷ボタンを押されたら表示したデータをCSVにて印刷。 以上です・・・。 すみません、混乱させちゃいました(汗)
>>525 Cとかで作った外部アプリを使う。速いっちゃ速いな
>>530 そのセキュリティホールはふさがれたはずだが・・・ ま、パスワード入力をスルーされる
可能性があるし、パラメータにしたほうがいいな
>>532 Cのヘッダファイルを見ろ
>>547 変数に入れてWrite#だが、俺的にはPrint#の方がお勧めだな
554 :
デフォルトの名無しさん :02/05/15 23:12
まとれすカコイイ!!
555 :
デフォルトの名無しさん :02/05/15 23:13
3.印刷ボタンを押されたら表示したデータをCSVにて印刷。 「表示したデータ」はString変数とかに格納してるんでしょ? それを印刷するだけだと思うが。CSVとは何の関係もない 質問じゃねーかYO!!質問は印刷でしょ? 印刷って....紙ですよね!?...
556 :
デフォルトの名無しさん :02/05/15 23:17
もちろん紙です・・・が。 CSVとは関係ないんですか?
>>553 プリンタの指定とかはどうすればいいのでしょうか?
>>CSVとは関係ないんですか? ふーん
559 :
デフォルトの名無しさん :02/05/15 23:21
まとれすチュウトハンパ!!
560のリンクの6を実行するだけでしょ
>>554 ありがとー
>>556 あんまり関係ない。印刷なら、Printerオブジェクトを使ってもいいし、専用のツールを使ってもいい。
Excelでもいいしな
>>557 まずは、Printerオブジェクトについて調べてみろ。その後、印刷に何を使うか決めるんだ
>>559 スマソ
>>561 ひでーな。ま、Windows XPなら関係ねーが
ちょっと皆さんの理解の範囲を超えたことを書いてしまい申し訳ありませんでした。 まぁこれで一人の厨房がひとつ大人になったのでご勘弁(w Cのヘッダファイル っすか。 ぐぐるしかねーか。ヽ(;´Д`)ノ イッテキマス
564 :
デフォルトの名無しさん :02/05/16 00:26
>>563 紛らわしい去り方はヤメレ。556と勘違いしたよ。
>>564 紛らわしかーねーだろ。
名前532にしてるし。
>まとれす サンキュー。WINSOCK使う予定だからどうやら送信受信バイト数得れそうです。
>>563 今更だけど、WINUSER.hね。
VC++入れてないとインストールされないので注意。
>>567 あの書き込みから20秒後ぐらいにそれに気づきました。
が、VC++6Proあったのでセーフ。
ていうかそれわからんかったからSpy++とかいうやつで調べたんだけど。
別に変わりないよな・・・?あれでも
メッセージの表示→詳細って見ればそのイベントの奴が&0foみたいに見れた。
560さんサンクスです。
>>まとれすさん レスありがとうございます。 印刷は言われるとおり、Printerオブジェクトで やれるとわかりましたが それとは別にCSV形式で出力するための PGを書かなければいけないと思うのです。 違ったらごめんなさい
571 :
デフォルトの名無しさん :02/05/16 11:43
色々調べてもどうしてもしっくりいかないので教えてください。 いま、VB4.0からVB6.0(or .NET)へのコンバートを考えています。 そこで、絶対にやってはいけないこと、明らかに気をつけたほうがよいこと、 末端の利用者へ配布するのは6.0のランタイムだけでよいか、 その場合4.0のランタイムは捨てたほうがよいか、等々。 おしえていただけませんか?
無事出来ました。 なんだかとても難しく考えていたみたいでした…。
573 :
デフォルトの名無しさん :02/05/16 12:08
68 :参加するカモさん :01/12/11 17:29 ひろゆきってたまーに驚く程幼稚なセリフ真顔で吐くんだけど、いったいどういう 青春を送ってきたのだろう? 普通に成長を遂げた人間であれば赤面してしまうような恥ずかしいセリフ 82 :参加するカモさん :01/12/13 15:02 なんとなく言ってることわかる。 俺もひろゆきと何回か話したことあるけど、大昔のドラマでも見てるような気になった 95 :参加するカモさん :01/12/22 16:35 飲み会になると、必ず「遅刻」の話を得意気に語りだすけど、ひろゆきって遅刻することかっこいいと 思っているのかな? 回りの人間は苦笑するしかないけど、この人やっぱり幼稚だと思う
574 :
デフォルトの名無しさん :02/05/16 12:11
>>571 VB6.0はサポートの打ち切りが決定しているので .NETにしましょう。
ランタイムは.NET Frame WorkでOKです。
問題はコンバートですが、長くなるのでレスを分けます。
>571 ドトネトへは、コンバートというより新規開発みたいなイメージになるんじゃないかな。 ZDNNなんかでも、ヘタにコンバートするよか作り直す方が早いってあったよ。
>>540 >CSV
バージョン管理ツールのことでしょ?(違
>>571 VB6.0は文字列がUnicode(常に16bit)なので、結構コンバートはうざいよ。
この際 .Netで作り直してヒーローになろうぜぃ。
578 :
初心者質問ですいません :02/05/16 13:15
みなさん、こんにちは ピクチャーボックスにAPIを使い(CreateFont)フォントを描画したのですが、 .PrintFormで印刷かけると、フォントがギザギザに印刷されてしまいます。 画面ではきれいに見えているのですが・・・ こういう場合、どうすれば良いのでしょうか 均等割付・長体などを書体として使っているので、 ピクチャーボックスに描画するしか方法がないのです VB6.0/Windows200Pro
>>578 API使ってるんならPrinter.hDCに出力すれ。
580 :
デフォルトの名無しさん :02/05/16 13:51
フレキシブルグリッドコントロールを複数選択できなくするには、 どうしたらいいんですか?
>>579 即レスさん、ありがとうございます
Printer.hDCって初めて聞くので、ぐーぐるで調べてみたのですが、
理解できませんでした・・・ 初心者ですいません
フォームにいくつもピクチャーボックスを貼っているので、
フォームをそのまま印刷したいのですが、
Printer.hDCを使う場合は、どうすればよいのでしょうか?
m(__)m 何度もすいません
582 :
デフォルトの名無しさん :02/05/16 14:01
>>580 私はコードで書きました。
選択行数が1行以上だったら、選択範囲を1行にするように
マウスアップとキーダウン(アップ?)関係のイベントに書きました
うろ覚えですいません
VS-FlexGrid Pro 7.0J を使ってる方います? コレ使いたいんですけど、個人で買うにはちと高過ぎて・・・。 VB6 おまけの MS-FlexGrid だと役立たないし・・・。 いらなくなった人がいたら、安く譲ってくれませんかね〜? スレ違いだったかな?すんません。
やっぱり、プロパティとかでできないんですね、 キーダウン?イベントとかでやってみます。 ありがとうございました。
>>581 普通Printerオブジェクトを使う場合は
PrintやらLineやらPaintPictureやらで
描画してNextPageやEndDocで印刷するでしょ?
BitBltやStrechBltのhDCをPrinter.hDCにすれば
プリンタに描画できる、ってこと。あとは上と同じで
NextPageやEndDocで印刷。
で、質問の答えだけどPrintFormを使うなら
ギザギザを修正する方法は無いよ。
っつーわけで、あきらめるか自前でプリンタに描画すれ。
>>583 ヤフオクとか・・・であるかな?・・・無いか。
つかそれって譲渡できたっけ?
追記。 >Printer.hDCって初めて聞くので、ぐーぐるで調べてみたのですが、 こういうのはMSDNで調べたほうがいいぞ。 MSDNは読みにくいが初歩的なことは詳しく書いてあるので 分かりやすい。ネットは断片的なことが多いからね。
ぐーぐるをぐーるぐーるくぐーる
>>585 オークションやWinM○とかでも調べたんですけど、
コントロールってマイナーだし全然ないんですよねー。
譲渡は・・・どうなんだろ?
>>590 やっぱり素直に買わないと駄目なのかなー。
でも今買うのもね・・・。7月に.Net用のが出るみたいだし。
でも.Net用には、きっとActiveXのは含まれてないだろうから、
う〜ん悩む。
>>591 6.0J は配布するのに関連DLLを含める必要があるんですよね?
7.0J のLight版を使いたいなと思ってるもので。
前にも指定座標の色を取得したい、と 質問していた厨ですが、今度は画面外の色を取得したいのですが。 どういうことかというと、たとえばウィンドウが 画面から出ていても、出ている部分の色を取得したいと いうことです。これはできるのでしょうか・・・
>>593 Private Declare Function GetDC Lib "USER32" (ByVal hWnd As Long) As Long
Private Declare Function ReleaseDC Lib "USER32" (ByVal hWnd As Long, ByVal hDC As Long) As Long
Private Declare Function GetPixel Lib "gdi32" (ByVal hDC As Long, ByVal nXPos As Long, ByVal nYPos As Long) As Long
Private Sub Command1_Click()
Dim lngDC As Long
lngDC = GetDC(0)
MsgBox Hex(GetPixel(lngDC, 100, 100))
ReleaseDC 0, lngDC
End Sub
595 :
デフォルトの名無しさん :02/05/16 15:58
>>593 スマソ 多分違ったな
画面外の色っつーとこしか見てなかった
逝ってくる
Lightじゃないけど仕事でVS-FlexGrid使ってるけどそんなに良い物でもないと思う。 MS-FlexGridと使い勝手は大差ないし十分代用出来るし。 むしろアプリが重くなって開発PCが不安定になるから個人的にはお勧めしないです。 BOC製品のコントロール張り付けただけで画面表示が遅くなる罠。
598 :
デフォルトの名無しさん :02/05/16 17:45
>597 でもBOCのSPREADは名作コントロールと思う 多機能な分だけバグも多いけどね
>593 ちょっと文章が分かりにくいけど 自分以外のアプリのデスクトップ外、 ということなら無理。
>>595 Light版ってそうなのかな?今度試用版をDLして、ヘルプをチェックしてみます。
>>597 >>598 VS-FlexGridは、V2.0とV3.0を持ってて昔使ってたんです。(その頃は今ほど高くなかった)
それで中々良いコントロールだと思ったんだけど・・・。
サブセットのMS-FlexGridは、機能的にはたぶんV2.0相当じゃないですか?
残念ながら使いたい機能(セルのグラフ表示とか)がないんですよー。
SPREADは試用版を試した事ありますが、自分的にはVS-Flexの方を
気に入りました。
とういう訳で、VS-FlexGrid Pro 7.0Jを使わなくなった方がいましたら、
よろしくお願いします _(._.)_
labelのcaptionに値を入れると、 ちらつくのですが、簡単な回避方法はありますか?
>>601 そんなにチラつくか?
ものすごい勢いで変更しまくったらそりゃちらつくだろうけど。
非表示にしてから値入れて、また表示させなおせば
マシになる、、、かも。
うーん、あとはリーブ21をつかうしかないかな〜
>>602 うぃ。ものすごい勢いで変更しまくりますのです。
>画面から出ていても、出ている部分の色を取得したいと >いうことです。これはできるのでしょうか・・・ WINDOWのことだよね? なんにしてもウインドウハンjが取得できれば何とかなるよ。
TEXTOUTつかったら?
>>605 Timerと組み合わせて、表示を端折る。
GetTickCountかなにかで時間を計り、10msとか経過していない場合は
表示しないでおいて、Timer=Enabledにしてあとで表示、とかなんとか。
609 :
デフォルトの名無しさん :02/05/17 00:35
色取得したいって言ってた人。こんなのなの? 自分も作ってみたかったので(・∀・)ツクーテミマシタ! Option Explicit Private Declare Function GetCursorPos Lib "user32" (lpPoint As POINTAPI) As Long Private Declare Function WindowFromPoint Lib "user32" (ByVal xPoint As Long, ByVal yPoint As Long) As Long Private Declare Function GetPixel Lib "gdi32" (ByVal hdc As Long, ByVal x As Long, ByVal y As Long) As Long Private Declare Function GetDC Lib "user32" (ByVal hwnd As Long) As Long Private Declare Function ReleaseDC Lib "user32" (ByVal hwnd As Long, ByVal hdc As Long) As Long Private Declare Function ScreenToClient Lib "user32" (ByVal hwnd As Long, lpPoint As POINTAPI) As Long Private Type POINTAPI x As Long y As Long End Type Private Sub Form_Load() Timer1.Interval = 100 End Sub Private Sub Timer1_Timer() Dim lnghWnd As Long, lnghDC As Long Dim rctPoint As POINTAPI, lngColor As Long Call GetCursorPos(rctPoint) lnghWnd = WindowFromPoint(rctPoint.x, rctPoint.y) Call ScreenToClient(lnghWnd, rctPoint) lnghDC = GetDC(lnghWnd) lngColor = GetPixel(lnghDC, rctPoint.x, rctPoint.y) Me.Caption = "R:" & (&HFF And lngColor) & "G:" & ((&HFF00& And lngColor) \ 256) & _ "B:" & ((&HFF0000 And lngColor) \ 65536) Call ReleaseDC(lnghWnd, lnghDC) End Sub
>>609 ワルイけど
2ちゃんからコードコピペしたくないな
ブビクラだったり
コード見ろって?
他人のものは面倒なんだよね(´Д`;)
611 :
デフォルトの名無しさん :02/05/17 01:39
VBでVCの作ったDLLを参照したいです。 VC側 int hoge(int,int,char*) なんですが、VB側でどう宣言したらいいのでしょう?
>>611 public declare function hoge lib "hoge.dll" (byval arg1 as long,byval arg2 as long,byval argstr as string) as long
>>611 __stdcallじゃないと、IDE環境から呼び出せないという罠。
このトリップヤル VB6/hGDY : #bサkxdJen なんかHだろ?(藁
615 :
デフォルトの名無しさん :02/05/17 04:53
Public Declare Function GetPrivateProfileString Lib "kernel32" Alias "GetPrivateProfileStringA" _ (ByVal lpApplicationName As String, ByVal lpKeyName As Any, ByVal lpDefault As String, ByVal lpReturnedString As String, ByVal nSize As Long, ByVal lpFileName As String) As Long と宣言しておいて、第四引数に Public Address As String の Address を与えるとVBごと落ちます。SP6です。 Public Address As String * 64 だと平気です。こういうものでしょうか?
>>615 それは、初期化してないからだ。固定長文字列は、宣言時に初期化されるが、可変長
文字列は、明示的に初期化してやらんといかん。
ということで、API呼び出しの前に、Address = Space(256)とかしてみろ
>>616 こんな朝早くリアルタイムで感激です。
まとれすさんのスタンスは超クールです。
これからもがんばってください。
とさておき、Address = Space(256) とかすると
結局固定長と同じっぽいので、固定長で Trim で空白処理することにします。
ありがとうございました。
すみません、追加質問です。
>>615 の例で、
Trim(Address) をしても空白が削られません。全然削られません。
APIを通すと変数の管理方法が変わってしまうからでしょうか?
>>618 Trimは空白文字しか削らない。&h00は空白文字とは見なされないみたい。
だから、Replace(Address,vbNullChar,"")とするか、ゴミが怖いなら
n = Instr(Address,vbNullChar)
If n = 0 Then n = len(Address)+1
strHoge = Left$(Address,n-1)
こんな感じで地道にやるしかない。
>>619 ありがとうございました。こんなんC知らないとわからないですよね。
みんなだうしてるんだろう。
とりあえず、Replace(Address,vbNullChar,""):Address=Trim(Address)
で切り抜けます。
621 :
デフォルトの名無しさん :02/05/17 10:07
メニューで、mnuFileState.Checked = True のチェックマークではなく、 丸い選択されたしるしはひょうじできますか?
>>622 ありがとうございました。
うへえ、Bitmap使うんですね。チェックマークでがまんしときます。。。
漏れが使ってるコードよかったら使ってくれ
>>618 Function NullCut(lpstr As String) As String
lpstr = lpstr & vbNullChar
NullCut = Left$(lpstr, InStr(lpstr, vbNullChar) - 1)
End Function
>>624 ありがとうございます!みんなで幸せになれますね。
626 :
デフォルトの名無しさん :02/05/17 21:54
初心者ではないのですが、このスレがいちばん活気付いているので 質問させていただきます。 当方VisualStudio6.0使ってます。 標準モジュールにてきちんと定義済みの グローバル列挙型変数があるんですが、 何回かデバッグ実行しているうちに 「この変数は定義されていません」っていうエラーがでます。 (ちなみにOption Explicit使ってます。) VBを一旦落として再度起動するとそのエラーは出なくなるのですが、 デバッグ実行してるとそのうち出ます… …誰か同じ悩み持ってる人&解決策あったらおながいします!
>>626 使用言語書かない時点でPC初心者板にいるアフォと大して変わらん。
>>627 > 標準モジュール
> (ちなみにOption Explicit使ってます。)
> VBを一旦落として再度起動するとそのエラーは出なくなるのですが、
お前がアフォと突っ込まれたいのか ?
>627>628 すみません、VBスレだから書かなくていいかと思って… 使用言語はVBです。
>>626 API系など、メモリに関する処理をしてるならそこをチェック。
アドインを使ってるならそっちをチェック。
何も使ってないなら・・・聞いたこと無いな。
>このスレがいちばん活気付いているので
そおかあ?
追記。 どうしても無理なら再インスコすれ。 それでも無理ならMSに報告してもいいと思うぞ。
>>626 とりあえず、サービスパックはちゃんと当ててる ?
633 :
デフォルトの名無しさん :02/05/17 22:56
いくつはいるか分からない配列を用意したいんですが、 どんな手があるでしょうか。 MSDN見ると Dim a() as String とかってやって、必要な数が分かったところで ReDim a(必要な数) as String ってやれって書いてありますけど、必要な数ってのが分からないのです。 動的にどんどん増えていくもので。 最初から Dim a(ものすごい数) as String ってやるしかないでしょうか?
>>633 dim lng() as long
redim lng(0)
for i=0 to 10
redim preserve lng(i)
lng(i)=i
next i
とかな。
635 :
デフォルトの名無しさん :02/05/17 23:03
>>633 Dim a() As String ってやって、
Redim a(0) とかして初期化して、
Redim Preserve a(必要な数) とすればok。
ただし、Redim Preserveを1個ずつ10000個までとかやると
スタック食い尽くして落ちることあるからやらないように。
636 :
デフォルトの名無しさん :02/05/17 23:04
>>633 必要に応じてそのつど増やしていけばいい。
Cnt = Cnt + 1
Redim Preserve a(Cnt) As String
+100でもいい。
>>633 > 動的にどんどん増えていくもので。
増えた時点で、ReDim すればいいだけ。値が壊れたら困る場合は、
Preserve キーワードが必要。
638 :
デフォルトの名無しさん :02/05/17 23:06
列挙型とユーザー定義型の違いって?
639 :
デフォルトの名無しさん :02/05/17 23:06
おいおい、集団結婚か?w 未だかつて見たことのない勢いでケコーンしてるぞw なんだおまえらw
640 :
デフォルトの名無しさん :02/05/17 23:08
>>639 > なんだおまえらw
お前こそなんだよ。誤爆か ?
>>634-637 なるほど。
Redim Preserveですか。
やってみます。
ありがとうございました。
>>633 ReDimを使うやり方が紹介されているが、このメモリ確保には、かなりのコスト
がかかる。というわけで、ある程度まとめてやったほうがいいな
>>638 列挙型は、長整数。で、そのうちのどれかを使う。たとえば、↓みたいな感じだ。
Enum WeekDay
Sunday
Monday
・
・
End Enum
ユーザー定義型はひとつの「型」の中に複数の変数をまとめて持つことができる。
この変数のことを、「メンバ」という。
Type Human
Age As Integer
Name As String
End Type
というような感じだな
良いクラス無いの?VBって。 DelphiならTListととか使えるけど。
VB.NETになればC#のライブラリ借りれるから そっち使え。
>>644 > ReDimを使うやり方が紹介されているが、このメモリ確保には、
> かなりのコストがかかる。というわけで、ある程度まとめて
> やったほうがいいな
何ですぐこういうこと言う奴いるんだろうな...。どれくらいコストが
かかるから測定してから言ったらどうよ。
648 :
デフォルトの名無しさん :02/05/17 23:24
>>644 Enum aa
abc
def
ghi
End Enum
aa.abc = 76
これで、コンパイルエラーエラー: 定数には値を代入できません。 が出ました。
もしかしたら、列挙型って言うのは、定数の列挙ってことですか?
>>648 お前基礎からやり直し。少なくとも
>>642 の
> 全然違うぞ。enumとtypeでMSDN引いてみれ。
を実行してから出直してこいや。
650 :
集団結婚組 :02/05/17 23:28
>>648 そのもしかする。
Enumは開発時に入力候補を出せるのが便利っていうだけ、 だと思う。
>即レスさん アドインは使ってませんが、 APIはかなり使ってるので、調べてみます! 最悪は再インストールかMSサポートセンターへ連絡かぁ…(鬱 >そおかあ? この板のVB系のスレを検索したら…です。 質問に丁寧にレスしてくれるのも(・∀・)イイ! >632 SP5まで、出たら即あててました… 回答ありがとうございました。来週からまたがんがります。 あと、似たような現象ですが、 コーディング中にユーザ定義型変数のパラメータヒントが 出てこなくなる時がありますね。定義へのジャンプも不能に… まぁこの辺の機能はなくてもいいのでアレですが
652 :
デフォルトの名無しさん :02/05/17 23:33
>>649 ん?
お前基礎からやり直し。って…。
定数値の列挙でないの?
>>647 測定はしてないが、実感はしてるよ。
ReDimすると新しいメモリ領域が確保される。
ReDim Preserveすると、新しいメモリ領域を確保したうえに、メモリコピー
が行われてる。
だから、
Do While Not EOF(#1)
Line Input #1,strHoge
i = Ubound(astrHoge) + 1
ReDim Preserve astrHoge(i)
astrHoge(i) = strHoge
Loop
のようなコードは非常に効率が悪い。
なので、たとえば
i = -1
Do While Not EOF(#1)
Line Input #1,strHoge
i = i + 1
If i > Ubound(astrHoge) Then
ReDim Preserve astrHoge(i * 2 + 1)
End If
astrHoge(i) = strHoge
Loop
ReDim Preserve astrHoge(i)
こんなふうにする必要があったりする。
>>647 せっかくなのでやってみた。
For文で10万回Redim実行。
Celeron800Mhz、メモリ384MB、WinXP
0-10万までインクリメント。
102ms
100万から追加。
5653ms
0だけで確保。
53ms
(参考)ループだけ。
3ms
--考察--
Redimのオーバーヘッドは確保しているメモリが
少ない時はほぼ無視できる程度である。
しかし大量のメモリを確保している時に追加する場合は
まとめてやった方がよい。
という結果になりますた。
>>645 クラスライブラリって意味なら、ない
>>646 別に、C#のライブラリというわけじゃない。共通のものだ
>>647 で、お前は横から口を出すだけか? 文句があるなら、お前が出せ。
こんなのは、状況しだいで変わることだ。
>>647 そういうことだ
>>650 .NETになると、Enumの名称が取得できたりするんで、少しだけできることが
広がるぞ
>>651 そんなことになった記憶がないな。少なくとも、再起動すれば直るぞ
>>638 列挙型定数の使い道
VBの列挙型とはLong型の定数をグループに定義したものだ
Enum Chu
VB = 1
JScript = 5
VBScript = 9
Delphi =99
End Enum
と定義しておくと
Dim Language As Chu
とやれば、VBのコードエディタはこのChuのメンバーの中の定数を列挙してくれる
この中から選べと言う事だ、
ただし、実際はLong型であるから
実際はLanguageはLong型であることは変わらない
Dim Language As Longでも同じである
ただ、列挙型を定義しておけば、取りうる値を示す事ができる、まあ目安だ
あくまで文字どうり列挙なので強制はない
つまりLanguage=-1 と列挙されていないLong型数値を入れることも当然できる
外部にPublicでメンバーを公開した時に(例えばプロパティ)使うと便利だ
開発者向け
>>653 またケコーン
>>651 Shift+F2が効かない時はたまにあるかも。
あんま覚えてないけど。
>>642 ,644,650,656
ありがとうございました。
なんか使えそうな構文ですね。これ。
>>656 おっと忘れた
続き
列挙型が便利なのは
組み合わせフラグに使える
実際、VBでもDirectX関係はバリバリにある
>>659 あぁ!Msgbox の第二引数に列挙型が使われてますね!
どうやって候補を自動的に表示してるんだろう?と思ってましたよ。
>>660 よかったね(笑
ActiveXとかクラスを自分で作って公開してやるようになれば
使うようになるかもねー ジャネー
なんかReDimばっかでてきてるけど、 なんでだれもCollectionやDictionaryをださんのだ?
>>654 そう、まずは測定することからだよね。10万ぐらいから加速度的に遅く
なる。そう言うことも知らずに...
> こんなのは、状況しだいで変わることだ。
と言っている
>>655 は、VB 厨だね。
>>626 それ、ときどきあるぞ。
ConstだったかEnumだったかの変数定義が見つかんなくなるみたいだ。
定義場所を切り取り、元に戻すなんかやってもなおるはず。
ときどき、むかつくが俺のとこではたいして発生していないので適当に気にしてない。
>>663 てか、こんなことは普段使ってる奴ならみんな知ってる。
俺はただ念のためにやっただけ。
>VB 厨だね。
違うと思うぞ。
? もめてるのか?
>>662 いいんだが、遅いしな・・・
>>663 状況しだいで変わるぞ。大きな構造体の配列をReDimしていってみろ。10万のオーダーに
なるまでに遅くて使い物にならなくなる。
そういう前提や、ReDim前に配列の要素数がわかるのか、といったことも含めて、「状況しだい」
なんだよ
人を罵るのはいいが、お前の言う「VB厨」より知識のないお前は、いったい何なんだ?
>>665 ありがとう。「VB厨」ってレッテルはよく見かけるが、言ってるやつがVBをきちんと理解している
とは思えんな
>>667 まぁ確かに遅いには遅いんだが、意外と遅くなかったりもする。
万のオーダーを超えたあたりからReDimの場合と速度が逆転することもあるし、
使い勝手が良いから下手にReDimでごちゃごちゃするより楽だけどな。
>>645 DelphiのTListとかの代わりがCollectionやDictionaryだ。
669 :
デフォルトの名無しさん :02/05/18 01:34
>状況しだいで変わるぞ。 VBがクソといわれる所以はここにある
>>669 お前バカか? いやバカだ。
状況しだいで変わるのはどの言語でも同じだろうが。
「状況しだいで」 VB厨がこの意味を取り違えてるに100ペリカ
>>671 どこがどう違うのかちゃんと説明してみろや。
バカにつける薬はありません。
いきなりだけどフォーカスを取得しないウィンドウって どうやって作るんだっけ?
ヤハーリ、もめてんじゃん それじゃ フサギコに付け込まれるぞ
>675 Enabled=false が一番確実。
>>677 いや、ユーザーからは操作可能で。
というよりフォーカスを取得しない以外は普通の
ウィンドウにしたいのだ。
9x系でも可能な方法無いかな?
>>675 WM_ACTIVATE を処理する、ってのを昔作ったことがあるな。
>>679 むう。やはりそう来たか。
極力使いたくなかったんだけどなあ。
ありがと。
676もサンクスコ。
681 :
デフォルトの名無しさん :02/05/18 06:15
Dim a() as String とやって、 100個必要になったら、 ReDim a(100) as string とやる。 そんな感じでやる。 単にReDimだけでは変数の中身が元に戻ってしまう(""になる)ので そうしたくない場合は ReDim Preserve a(100) as string とやる。
682 :
デフォルトの名無しさん :02/05/18 07:19
背景を透明にしたいビットマップ画像があります。 透明にしたいところは&HFF00FFにしてあります。 で、このビットマップをフォームで「平らなところ」に張りたいのですけど、 適当なコントロールが見つかりません。 Picture と Image はマスクプロパティがありません。 Command Button にはありますが、でっぱてます。 いったいどうすりゃいいのでしょうか。
>>667 > ReDim前に配列の要素数がわかるのか
わからんかったらどうやって ReDim すんの ?
まあ、必死なのはわかったから、ちょっと落ち着いたらどうよ。ププ。
>>683 > わからんかったらどうやって ReDim すんの ?
配列をセットする前に配列の総数が分からない
というのが今回の前提だったと思うけどなぁ。
それがわかっていれば
> > ReDim前に配列の要素数がわかるのか
という発言がReDimを行うときに入れる要素数がわからない
という意味じゃないと分かるんじゃ?(というかあんた分かってるでしょ?)
嫌味臭い発言はやめようよ。
>>682 ビットマップじゃなくてGIFとかTIFFとかにするってのはどうなの?
>>683 漏れが書いた
>>653 のサンプル見てくれYo!
最終的な要素数はわからないだろ?
それとも何が書いてあるか理解できないかい?
ま、粘着はコレを最後に放置することにする。
>>685 LoadImageで透過GIFを読み込むと透過するよね、たしか。
GIFを使うのはライセンス問題を含めてちょっと嫌な感じなのだけど。
それ以外の方法としては、白黒マスク画像を用意して、bitbltして重ねるとか。
MaskColorみたいな簡単な方法は無かった気がする。
687 :
デフォルトの名無しさん :02/05/18 12:50
>>683 例えば、テキストエディタ。
書かれた内容の分だけしかメモリを使いたくないというのが、技術者魂。
まぁ、VBだと勝手にメモリの無駄使いをしてくれちゃうけど、
なるべく節約してる気分になろうという事で・・・
688 :
デフォルトの名無しさん :02/05/18 12:52
VB でポリモーフィズムを実現するにはどうすればいいんですか。
1.空のクラスファイル:実装が空という意味(a.cls)作成 2.1のモジュールを実装するクラスファイルを作成(implements a.cls) おわり
690 :
デフォルトの名無しさん :02/05/18 13:04
>>689 それって Visual Basic 6 でも可能ですか?
スレ立てたら相手にされなかったので書きこみます。みなさん教えてください。 とかいっても煽られるんだろな。 mdbをAccess2000で変換し、connection string をjet.oledb.3.51から4.0にかえて、activex とか変えて、プログラムに結合しなおしたが処理が3.51に比べて 10倍以上かかるようになってしまった。そんなに4.0って遅いの。 ちなみに自分はAcess95をAccess2000にアップして使ってます。 ソースは以下のようですがとくに問題無いとおもうんだけど。 だれか教えてください。 Private Sub subTransCostDwn() Dim SP(12) filenum = FreeFile Open gListpath & "\rxalltrncost.csv" For Input As #filenum SQL = "delete * from TransCost " ADO_Connection.Execute SQL, , adCmdText Do Until EOF(filenum) = True Input #filenum, d0, d1, d2, _ , SP(1), SP(2), SP(3), SP(4), SP(5), SP(6), SP(7), SP(8), SP(9), SP(10), SP(11), SP(12) SQL = "select * from TransCost where dealyear = " & Format(wAcntYear) SQL = SQL & " and transcd = '" & d2 & "' and lensnm = '" & d4 & "'" Set rs = New ADODB.Recordset rs.Open SQL, ADO_Connection, adOpenStatic, adLockOptimistic If rs.RecordCount = 0 Then rs.AddNew rs!dealyear = d1 rs!transCd = d2 End If For i = 1 To 12 j = i + 3 If j > 12 Then j = j - 12 End If rs.Fields("shpqty" & Format(j)).Value = SP(i) + rs.Fields("shpqty" & Format(j)).Value Next rs.Update rs.Close Loop Close #filenum End Sub
693 :
デフォルトの名無しさん :02/05/18 14:05
>それって Visual Basic 6 でも可能ですか? なめてるのか?おまえVBで、って質問してるじゃねーか。 なんでおれがVBで出来ないことをお前に答えるんだよ。 2度と質問すんじゃねえ。キチガイが! Q.バイクにのりたいんですけど? A. 免許とればいい Q.中学生なんですけど? と似たようなもん。
>>694 今回の事例。
VBで〜→こうすればいいよ→VBでもですか?
アホ質問者の冗長が問題。
例え。
バイク→免許→中学生
後から答えを制限する事例を持ち出しているのが問題。
結局
>>694 はアフォ。
688≠695 だが、695はアフォっぽい。
698 :
!=688,695 :02/05/18 14:25
俺から見れば696みたいな事を書く奴もアフォ。
お前等全員アフォだよ(w 氏ね
700 :
デフォルトの名無しさん :02/05/18 14:28
アフォレスにレスするのは全てアフォだろ?
>>688 VB6で出来るよ。MSDNでimplementで検索してみ。
サンプルも確かあったはず。
>>698 わざわざ「!=688,695」と書くこともなかろーに(w
てか.NET用の答えかなと思い6でできるか聞いたんでは? という解釈はダメ?
.NETを触っている奴がポリモルフィズムの理解が無いとは思えんが?
>>705 お前らだってよくやってるじゃん。
なお、俺はJava厨だ。
被害妄想は怖いですねぇ。オーコワイコワイ
>>682 Imageコントロール等もあるけどコントロールを
透過させるなら>686が一番かな。
ただ、透過しているとはいうものの、背景の
コントロールは見えない。単に透明部分を1色で
塗りつぶしてるだけなので。
どうしても完全に透過させたいならリージョン使っとき。
>>688 >689がすべてを物語ってる。
>>691 SP当てた?バリアントを使う理由は?
変換前と後で環境は変わってない?
全部違うなら知らん。
>>688 >689がすべてを物語ってる。
だからVB6でも可能か聞いてんだよ、クソ野郎!
VB5はポリモーフィズムできるんだっけ?
714 :
デフォルトの名無しさん :02/05/18 16:51
VBでポリモーフィズムしたっていいことは無いだろ。 とりあえず、 C#やってる奴はVB.netもやれ。 VB.netやってる奴はC#もやれ。 どっちかしかできない奴は、おとなしくしとけ。 どっちもできない奴は、どっちかやれ。
>>714 それって、
「C#でポリモーフィズムしたっていいことは無いだろ。」
とも言い換えられるね。
>>714 滅びるのわかったる言語覚えるのも・・・。
>>715 違うと思うぞ。VB6までは、インターフェイス継承しかできないという制限があるからな
>>716 じゃぁ、何の言語がいいんだ?
>>717 ポリモーフィズムするのに実装継承するのが必須なのかい?
VBでMIDIファイルはどうすれば再生できますか。
MCI
>>718 必須というわけではないが、C#、VB.NETとVBの間で論じられているのなら、「インターフェイス
継承しかできない」点を無視するわけにはいかんと思うぞ
>>719 マルチメディアコントロール、DirectX、mciSendString APIのどれかだな
722 :
デフォルトの名無しさん :02/05/18 19:31
>>574 ,575,577さん
質問者です。
激亀レスですが、ありがとうございます。
質問後倒れてしまいました。
やっぱり危険なにおいがします。
でもやらないといけないんだろうなぁ。
723 :
デフォルトの名無しさん :02/05/18 19:41
>ポリモーフィズムするのに実装継承するのが必須なのかい? ポリモーフィズムを前提としたライブラリーがつくれないだろうが。 (実装継承させるようなライブラリーね。意味わかるかな、これで) だから、ポリモーフィズムをするのには実装継承は不要。 ポリモーフィズムを利用するには、実装継承が必要。
>>723 なんでポリモーフィズムを利用するのに実装継承が必要なんだよ。
おまえJavaのライブラリに汚染されてないか?
725 :
デフォルトの名無しさん :02/05/18 20:46
ポリモーフィズムを前提としたライブラリーがつくれないだろうが。
>>725 ポリモーフィズムが出来るんだからポリモーフィズムを前提としたライブラリ作れるだろうが。
>>726 それ、フレームワークって言ったりしない?
728 :
デフォルトの名無しさん :02/05/18 21:19
>おまえJavaのライブラリに汚染されてないか? JavaのライブラリーってシンプルなOOのライブラリーだぞ。 あ、ブビ厨はOO知らないんだっけ?
>>728 同意。
MFCより見通しの良いフレームワーク(AWTとかね)だな。
独特の癖はあるが。
730 :
デフォルトの名無しさん :02/05/18 21:23
>>728 ,779
729には同意。728は言ってることは正しいが人の話を聞かないアホ
731 :
デフォルトの名無しさん :02/05/18 21:37
あ、ブビ厨はOO知らないんだっけ?
あるメソッドが成功するまで そのメソッドを繰り返すコードはどう書けばいいですか?
733 :
デフォルトの名無しさん :02/05/18 23:04
1変数のマイナス演算子と2変数の減法演算子との異なる点を挙げよ。 っていう問題を教えてください
>>734 あぃ。VB6+SP5です。
そういやぁ、On Error Resumeで繰り返せましたっけ?
試してみますです。
Resumeステートメントでできそうな予感がしてきました!
>>736 そんなことせんでwhileで回しなされ。
>>737 エラーが発生してストップしちゃうのです・・・。
返り値での判定不可なのです・・・。スマソ
>>738 いっそVB捨てる。
余命1年もないだろう。
ファイルシステムオブジェクトは積極的に使うべきですか?
>>733 c=-a
c=a-b
結果はやって見りゃ分かる。
>>732 エラーが出るメソッドはOnErrorで
トラップするしかないな。
別に言わんでも出来そうだがw
>>740 #1とかでアクセスするより遙かに良い。
>>740 WSHが入ってるんなら使い倒すのもいいんでないかな。
俺嫌いだけど。
>>742 >>743 素早い回答ありがとうございます。
良い、というのはどういう観点からでしょうか。
速度? ソースの見易さ? 記述の一貫性?
現場のソースは従来の open print# put dir$ を使っているのですが。
>>744 FSOの良さ
・見やすい
・使いやすい
・機能が豊富
Dir、Openなどの良さ
・速い(少しだけ)
・WSHが無くても動く
ま、大まかなところ。
欠点は逆にしてくれ。
>>745 なるほど。
せっかくあるのだから趣味でプログラミングする時はFSOを使うようにします。
ありがとうございました。
>>708 691ですが、解決しました。Access95で作ったdbをAcess2000で変換すると
処理速度が落ちるのを実験で確認しました。なぜかはわからぬが。
失礼しました。
748 :
デフォルトの名無しさん :02/05/19 01:14
巨大なファイル(たとえば50Mぐらいの大きさ)に InStrBを使って15文字程度を検索すると(必ず一つだけ引っかかるとする) どれぐらいの時間がかかりますか? かなり時間がかかるんでしょうか? それとも一瞬で検索できるものなんでしょうか? 似た体験した方とか答えられる方、教えてください。
質問の最初のレスはageよう。 ファイルの読み込み速度に依存すると思われ。(やったことはないが)
>>750 読みこみ方にもよるが、一瞬では出来ない。
754 :
デフォルトの名無しさん :02/05/19 14:16
String型変数に(例えばstrMoji)、どんどん文字を追加していくと、 サイズが大きくなるにつれ(?)遅くなっていくんですが、 これは対処可能ですか? strMoji = strMoji & strTsuikaMoji という感じです。
>>754 まとめて追加すれ。驚くほど速くなるぞ。
まとめようにもまとめようがないというか… うーん、最初に Open "temp.dat" For Output As #1 てな感じにファイルを開いて置いて、文を追加した時に Print 1, strTsuikaMoji; とやり、参照したい時はクローズして再び開いて読み込むってやったら速くなりましが。 なんかこれだと恐ろしく無駄な事してるような気がします。
>>756 =
>>754 だよな?何か文章が繋がってない気がするが。
まとめて出来ないんだったら最初に必要分確保して
コピー、って方法もある。
>756でやってるのはコピー先がドライブのやり方。
扱うサイズが数十MBを超えるんなら考え方は間違ってない。
メモリでやるんならCopyMemoryとかStrPtrとか使う。
>>754 最初に大きな文字列を確保しておいて、Midステートメントで追加(コピー)すれ
ファイル出入力のさいのFileNumberは#1とするよりも FreeFile使った方がよさそうです。
>>754 どういう処理をしているのかが気になるな。
761 :
デフォルトの名無しさん :02/05/19 18:48
moto(5)という配列と、tuika(2)という配列があったとして、 moto(0)="あ" moto(1)="い" moto(2)="う" tuika(0)="え" tuika(1)="お" というふうになってたとき、 moto(3)とmoto(4)にtuika(0)とtuika(1)の値を追加したいんですが、 どのように書けばいいのでしょうか。 結果、 moto(0)="あ" moto(1)="い" moto(2)="う" moto(3)="え" moto(4)="お" となると幸せです。 ループ回して一文字ずつ入れていくしかないですか? VB6です。
moto(3)=tuika(0):moto(4)=tuika(1) じゃだめなん???
String型の配列に一文字ずつ格納? むむっ!
764 :
デフォルトの名無しさん :02/05/19 19:07
>>761 いまいち何をしたいのか伝わりませんが。
今現在の質問内容ではループをまわすなりして代入してください
としか言いようがないです。
>>761 配列1に配列2を追加する、ならこんな関数作ってみた。
Function AddArray(Str1() As String, Str2() As String, Optional SeparateChrCode As Byte = 0) As String()
Dim Separate As String
Separate = Chr(SeparateChrCode)
AddArray = Split(Join(Str1, Separate) & Separate & Join(Str2, Separate), Separate)
End Function
途中に追加(=変更)ならForで回すしかないな。
>>762 例として2個しかない場合を示しただけで、
実際にはものすごい数処理したりする事になるかもしれんのです。
>>763 Stringなのはただスレ上で表現しやすいようにそうしただけで、
実際違うのです。
>>764-765 では素直にループ回して頑張ることにします。
>>766 Long型とか、要素が固定長の配列なら配列確保してCopyMemoryとかも使える。
そこらへんのとこをちゃんと書かないと違った答えになるぞ。オレミタイニナ-
768 :
デフォルトの名無しさん :02/05/19 19:36
>>766 >>765 さんの関数は使えないの?膨大な数なのなら多分
>>765 を
使えるような形にもっていけるような・・・・・。
それとも膨大な要素数の配列1をあらかじめ宣言しておいて
(もちろん要素数は分かってるんですよね?)配列2を代入しなくては
ならないの?
すみません。 なんか最初出したのは頭の悪すぎる例だったみたいですね。 実際扱うのはByte配列です。 追加されるほうのByte配列はあらかじめ必要なぶんだけReDimしてあります。 例えば追加される方に100バイトまでしかデータが入ってなかったら、 101バイトから追加するほうのバイト配列の値をそっくり移したいのです。
>>770 >>765 のやり方だと、新しい配列を作っちゃうからだろ?
>>761 どうしても、ってことなら、
>>766 にあるように、API を使うって手がないこともないが・・・
地道に入れていくほうが、プログラム的に確実だな
この辺、VB.NETだと便利なメソッドが使えるんだが
>>769 こんなのになった。
Function AddByteArray(Byte1() As Byte, ByVal Byte1AddIndex As Long, Byte2() As Byte) As Long
Dim Byte2Size As Long
'Byte1AddIndexはByte1に追加する位置ね。戻り値=コピーしたバイト数
Byte2Size = UBound(Byte2) + 1
If UBound(Byte1) < Byte1AddIndex + Byte2Size Then Exit Function
CopyMemory VarPtr(Byte1(Byte1AddIndex)), VarPtr(Byte2(0)), Byte2Size
AddByteArray = Byte2Size
End Function
俺もVBの標準関数で出来るんならそっち使うけど。
>>770 Byte型だからってのもあるみたいね。
>>771 >
>>765 のやり方だと、新しい配列を作っちゃうからだろ?
そんなのちょろっといじればすぐに解決するじゃん。
それが理由?????
>>769 Byte配列ならCopyMemory使えるから楽だよー。
手元に資料が無いからコード出せないけど、すごく簡単だ。
自力でループ回して地道に追加する関数ができました。
上手いこと動きました。
でもCopyMemory版を
>>772 さんが用意してくれたので、
ちょっと試してみようかと思います。
そっちのほうがはやそうだし。
>>773 ちょろっといじって解決するか?俺にはわからんかった
777 :
デフォルトの名無しさん :02/05/19 22:02
ちょっと前にこのスレで外部Windowに・・・ ってのを質問していた者ですが、 現在どのWindowにフォーカスがあるのか、というのを 調べることはできるのでしょうか。 よろしければご教授おねがいします。
あ、Windowの場合はフォーカスじゃなかったんでしたっけ? どのWindowがアクティブになっているか、ってことです。
>>778 フォーカスを与えるとアクティブになる。
アクティブなウインドウにはフォーカスがある。
>>777 APIのGetForegroundWindowを見れ。
>>773 >>776 Function AddArray(Str1() As String, Str2() As String, Optional SeparateChrCode As Byte = 0) As Long
Dim Separate As String
On Error GoTo errT
Separate = Chr(SeparateChrCode)
Str1 = Split(Join(Str1, Separate) & Separate & Join(Str2, Separate), Separate)
AddArray = UBound(Str2) + 1
Exit Function
errT:
End Function
こうかな?Str1は動的配列である必要があるけど。
>>777 GetForegroundWindowか、GetActiveWindow
>>775 がんばれ。
なおこのコードを実行した際に生ずる
いかなる責任も(略
名前忘れた上にカブタヨ。
APIビューワで見てみてわかりますた。 どうもでした。
784 :
デフォルトの名無しさん :02/05/19 22:40
集合はつかえませんか? pascalの、 if x in ['0'..'9','A'..'F','a'..'f'] then のように、変数xが16進文字であるかどうか調べたいのです。 また、変数xが、0〜9の数字であるかどうか調べたいのです。
786 :
デフォルトの名無しさん :02/05/19 22:45
>>785 あー、なるほど。
結構if文の条件式が長くなりますね。
パスカルのようにすっきり出来たらいいんですがね。(^^;
レスどうもです。
787 :
デフォルトの名無しさん :02/05/19 23:08
>>786 Case "0" to "9", "A" to "F", "a" to "f"
788 :
デフォルトの名無しさん :02/05/20 00:10
初心者的な内容ではないのですが・・ Win98+Access97がインストールされている環境にて VB3+DAO2.0で Dim g_dbMst as Database にてコンパイルエラー(Out Of Memory)が発生します。 細かい情報は今会社ではないので覚えていないのですが 上記の環境のみでこのコンパイルエラーが発生する原因を ご存知の方いらっしゃいませんか? ちなみにDAO2.0がインストールされる前はコンパイルがとおりました。
>>784 Like演算子を使うとか。
1文字ずつ切り出してInStr関数で"0123456789ABCDEFabcdef"の中を検索するとか。
あるいは、"&H"を頭に付けてから、CLng関数とか噛まして、On Errorでトラップするとか。
791 :
デフォルトの名無しさん :02/05/20 13:20
VB6.0でFAXモデムを使い電話関連のプログラムをつくっています。 相手が電話に出たことを確認後自動で処理を行うようにしたいのですが、 相手が電話をとったこと(オンフック)を判定する方法がわからず困っています。 一応、MSCommでダイヤルを行ってポケベルを送信し、(オンフック関係ない) 電話を終了させるようなコードはできてるんですが・・・ よろしくおねがいします。
VB6.0で他アプリのポップアップメニューを操作したいのですが、GetMenuでハンドルを取るにも子ウィンドウのポップアップなのでハンドルが取れません。 他アプリの子ウィンドウのポップアップメニューの項目数を取って、目当ての項目をクリックさせるにはどうしたらいいのでしょうか? GetMenuでハンドルを取って、GetMenuItemCountでカウント取ろうとしましたけどダメでした。(結果-1が返る) ハンドルが取れてないんだから当たり前ですけど・・・。 どなたかご存じの方、ご教授よろしくお願い致します。
793 :
デフォルトの名無しさん :02/05/20 18:09
>>791 この前、電話取ったら、自動的に音声が流れるDMのような電話があったよ
うさんくさいし、犯罪の片棒を担ぐことになる可能性もあるので、
レスできないよ、自分一人でがんばれ。
>>793 あー、動き的にはちょうどそんな感じです。
そのアプリだと犯罪の片棒ってかんじですね。
自分がつくろうとしてるのは、別アプリで機器の状態監視をして、その監視状態を
いろんな媒体で送信するっつーもんだったんですよ
メールとか、ポケベルとか、FAXとか他の媒体はできてるけど、どうにも電話だけが・・・
まぁ、もうすこし試行錯誤してみます。ありがとうございました。
795 :
デフォルトの名無しさん :02/05/20 18:22
質問なのですが 繰り返しのアニメーションを作るプログラムを教えてください
796 :
デフォルトの名無しさん :02/05/20 19:00
GIFアニメーション。最強。
静止アニメーションにしろ。最強
800 :
デフォルトの名無しさん :02/05/20 20:54
たしかに、AVIはっといたらだめなのか?
801 :
デフォルトの名無しさん :02/05/20 22:17
6.0かnetどっちを買うべきなのか・・
6.0は6月に販売停止になります。(店頭では引き上げたところも多々)
803 :
デフォルトの名無しさん :02/05/20 22:21
>>802 ぐはっ、マジですか
こりゃ買うべきなのかな・・近くの店に1つだけあったし
805 :
デフォルトの名無しさん :02/05/21 02:57
IEで履歴ボタンを押すと左側に履歴がでてきますよね。 左の履歴領域と右のWEB領域の間のラインを左右にドラッグすると 履歴領域の大きさを変更できますよね。 これと同じように領域変更させたいんですがどういう方法でやったらいいんでしょうか?
はぁ? IE上? VBのForm上? Formで話す PictureBoxがあるとする その端っこにマウスが来たら カーソルをチェンジして、サイズ変更モードにする (自分で変数でもスイッチにするという意味) マウスが押されたまま、離されたところでサイズ決定 イベントの基本的マスターだな ちなみにPictureBoxはAlignmenntプロパティだっけかな、左合わせとかにすれば ピタリ IEの履歴とか、お気に入りフレームのような感じになるんだよね 基本すぎで 使ってないので忘れた(笑
今は亡きVB増強にサンプルがあったなぁ。
808 :
デフォルトの名無しさん :02/05/21 03:14
>>805 VB6ならアプリケーションウィザードで
エクスプローラー風のスケル豚コードが作成できるよ
>>805 ツーか単なるframeタグのことダターリして
フレームじゃ怒るぞ(藁
Web製作板から漏れてきたのか?(´∀` )
>>685 >>686 >>708 即レスさん ありがとうございました。
超悩んだんですけど、
ImageList(2).ListImages("NLN").Draw picState.hDC, , , imlTransparent
にしました。っていうか、こんな方法みんなどうやって知るんでしょうか?
813 :
デフォルトの名無しさん :02/05/21 06:12
MSN メッセンジャー等ではツリーリストビューの背景に 画像を読み込んでるみたいなんですけど、VBでもできますか?
VBで電卓を作りたいのですが、電卓に @除算の余りを計算できる Aべき乗を計算できる B連続計算ができる C数値を入力する時に誤った入力をすると警告を出して、入力できないようにする。 @〜Cまでの機能をつけたいのですが、まったくコードがわかりません。 教えてください。
今VBでプログラム組んでるんですが ネットなどに掲載されていたプログラムからパーツだけ引っこ抜いて一部つかったり 自分で組んだものと合わせて作っています。 VBとうい枠で作っている以上は機構が似たモノをつくっている以上プログラムの中身も おのずと似てくると思うのですが、会社の上司は他人のプログラムの盗用じゃないか? といってきます。(プログラムの事はなにもわかってない上司なのですが…) 確かに一部たいへん効率が良いと思い取り入れたモノもありますが、私自身では盗用では ないと思っています。 他人のプログラムを一部変えただけで自分が作ったといって公開するのは盗用だとは 思いますが、(極端な例を除いては)今回は盗用にあたらないと思っています。 ちなみに一部良いと思って使ったプログラムの部分は全体の3〜4%前後です。 プログラムとはどれくらいの部分が重複していれば盗用などになるのでしょうか?
817 :
デフォルトの名無しさん :02/05/21 12:08
>815 丸投げは(・A・)イクナイ やるだけやってみて疑問点のみ聞け。
>>792 基本的にお手軽な方法はない。
俺も教えて欲しいぐらい。
>>795 アニメーションの原理なら
アニメーション数分画像を用意して1つずつ転送、の繰り返し。
>>801 好きにすれ
>>804 ほんとだね。ただVB6.0自体のサポートはまだ続いてるし
EnterPriseはまだ売ってるみたいだからなあ。
>>812 参考書を読む数と経験ではないかな。
>>813 一応オーナードローで出来るけど。
>>815 1.MOD
2.^
3.4は817と同意
>>816 難しい問題だな。
商用アプリなら見た目が似てるだけでも
訴えられる可能性もあるし。
関数だけなら丸ごと使っても問題には
ならんだろうし。
>>816 それを売りに出すから心配だと言うなら元の作者に断り入れれば済むと思われ。
異常なまでに著作権とかに五月蠅い作者で無い限り断り無しでも普通は問題無い。
内部で使うだけなら心配無用でしょ。
>>818 んー、やっぱり難しいんですか・・・。
ダメ元でもうしばらく格闘してみます。
レス有り難うございました。
822 :
デフォルトの名無しさん :02/05/21 14:48
フォーカスを持たないフォームというのは作れますか? ユーザーにはまったく操作させずデータ表示用にのみ使ってるフォームがあるんです。 フォーカスが来たらメインのフォームに移すように処理をしてるんで、 実質マトモに動いてはいるんですが、一瞬フォーカスが移るんで ちょっぴり格好悪いです。 なんとかしたいです。
>>822 >>675-678 見れ。
Win2000以上なら拡張スタイルのWS_EX_NOACTIVATEが
使えるようだが。
#ちなみにPhotoShopも似たようなことしてるが
#あれはタイトルバー消して移動と描画を自前でやってるようだ。
APIに構造体を渡すときに、<StructLayout(LayoutKind.Sequential)> を指定するのですけど、これって普通に考えたら特に必要無いと 思うのですが。(VBのときは付けてなかった) 逆につけておかないといけない場合というのがあるのでしょうか? もちろん構造体のメンバのオフセットが思惑通りになっていると仮定して ですけど。
>>825 NETの話か?
NETでは構造体の並びが変更される可能性があるかららしいが。
#NETは使ったこと無いので知らんけど。
>>826 >NETでは構造体の並びが変更される可能性があるかららしいが
マジですか。じゃあ必須じゃないですか、っていうか必須だったら
なんでわざわざアセンブリのオプションにするんだろう...
PhotoshopをVBから起動して、アクションを動作させたいのです。 VB側からPhotoshopの起動はできますが、GetObjectで"実行時エラー 429" "ActiveXコンポーネントはオブジェクトを作成できません" となり、インスタンスが作成できません。 フォトショップを起動した状態で、 Dim wobj As Object Set wobj = GetObject(, "PhotoshopTypeLibrary.PhotoshopApplication") フォトショップのバージョンは5.02か5.5です。 Web上ではEXCELやWORDの例はありますが、Photoshopはありません でした。 どなたかできるかたお願いします。
829 :
デフォルトの名無しさん :02/05/21 16:14
830 :
デフォルトの名無しさん :02/05/21 16:15
>>830 ありがとうございます。
参照設定は、"Adobe Photoshop 5.0 Type Library"にチェックしてます。
832 :
デフォルトの名無しさん :02/05/21 16:42
何行かあるテキストファイルの任意の行に文字列を1行追加したいが Line Input で全部読んで Print で追加を含め書くって方法しか知らん 他にもっと合理的な処理があれば教えてくれ
833 :
デフォルトの名無しさん :02/05/21 16:47
834 :
デフォルトの名無しさん :02/05/21 17:57
昨日レポートの数値計算の問題のプログラムをWindowsMeのLSI-Cで 書いてたんですが、なんかそれまで動いてたコードが急に動かなくなって 再起動したらまた動くようになったんだけど、なんで? ちなみに学校のLinuxでは普通に動いてました。
835 :
デフォルトの名無しさん :02/05/21 17:59
>>834 誤爆しました。 すみません。無視してください。
836 :
デフォルトの名無しさん :02/05/21 18:21
BASICの ・REM ・PRINT ・END ・INPUT ・LET この五つのの意味を教えてください。 できればそこのURLを貼っていただくとありがたいです
837 :
デフォルトの名無しさん :02/05/21 18:22
>>836 スレ違い。
ここはVisual Basic専用スレッド。
Webを自動巡回して、 ひとつのサイト内のhtmlファイルを全てリスト表示させる ようなものを作っています。 一応型はできていて、小さいサイトなら簡単に全部を取得できるのですが ページ数が膨大となると、処理が遅くてやってられません。 どうにかして高速化したいのですがどうしたらいいでしょうか? InetコントロールでOpenURLしてソースを取ってURLを辿る仕組みなのですが。 よろしければお願いします。
ちと質問が漠然としすぎてるよ。
842 :
デフォルトの名無しさん :02/05/21 20:55
>>836 よーし、VB初心者の俺がレスしちゃうぞー
15年ぐらい前のMSXの知識から(当時小学生)
・REM ’と一緒
・PRINT 文字を表示する
・END プログラムを終了
・INPUT 文字を入力待ち
・LET なんだっけ?
>>839-841 おめーらw
質問スレなんだから技術的に答えてやれ。ネタも面白くていいけど。
>>838 まずはOpenURLでなく、Executeでやれ。
前にもこの系統のスレで出ていた気がするが、
OpenURLは同期、Executeは非同期で処理できる。
そこらへんは検索すればいろいろサンプル出てくるだろう。
>>842 LET は代入文の最初につけるものです。
条件分岐文と分けるためでしょうかね?
すれ違いにつき、sage。
>>844 なるほど、わかったような、わからないような
Dimみたいなもんかな?
あげてしまった、、、
847 :
デフォルトの名無しさん :02/05/21 21:36
すまそ、 時間でプロセスを制御したいんですが (9時に動かし、次に9時5分にという風に どう書いたらいいですか? よろしくおながいします
at コマンドか ntcron を使う。 でなきゃそういうサービスとして作る。
849 :
デフォルトの名無しさん :02/05/21 22:00
>>847 GetTickCount を使う。
的外れならごめん。
>>845 A=B
LET A=B
は一緒。
sage
851 :
デフォルトの名無しさん :02/05/21 22:36
Seagate SoftwareのCrystalReports8.5Developer Editionについての質問です。 フォームにCrystal ActiveX Control (OCX)を貼り付けて、 印刷・プレビューができるアプリを作りました。 データソースはCrystalReports付属のCRXMLV36を使っています。 アプリはきちんと動くのですが、 CrystalReportsをインストールしているマシンでしか動作しません。 Runtime.hlpを読んだらいくつかのdllが再頒布可能なので それを使ってインストーラを作りたいのですが、その方法が分かりません。 ocxはregsvr32.exeで登録して、普通のdllはWINNT\system32にコピーすれば 良いのだろうと思いますが、データソース周りがさっぱりです。(;´Д`) どなたか分かる方、いませんか?
852 :
デフォルトの名無しさん :02/05/21 22:57
クラス モジュールで定義されている関数の引数の型にユーザー定義型を使うにはどうしたらいいんですか?
>>852 クラスモジュールの関数がPrivateの場合
クラス内のPrivateユーザ定義型、もしくは標準モジュールのPublicユーザ定義が使える
クラスモジュールの関数がFriendの場合
クラス内のPrivateユーザ定義型、もしくは標準モジュールのPublicユーザ定義が使える
クラスモジュールの関数がPublicの場合
クラスモジュールをActiveXにして、クラスモジュールのPublicユーザ定義が使える
>>828 クラスはあっても公開されてないケースもある。
adobeに問い合わせて見れ。
>>832 追加分(変更部分)だけ読み込んで
追加位置から書きこみ。
大して変わらんけど。
>>837 Basicスレってのは無いからねえ。
スレ立てるまでもない・・あたりか。
>>838 ネックになってる部分がよく分からん。
どこが遅いかチェックすれ。
>>847 Timerはいかんの?
>>851 Runtime.hlpに書いてない?
書いてないならメーカーに聞いた方が早い。
855 :
デフォルトの名無しさん :02/05/21 23:30
>806 なんかうまく説明できなかったみたいですいません。 ピッタリ横並びした二つのコントロール(テキストボックスとリストビューとか)を 境目ドラッグでサイズ変更させたかったんです。 一度その方法でやってみます。 >808 そうだったんですか? 知りませんでした。 作成してスケルトンコードみてみます。 >814 今DLして見てみましたがまさにコレのこと言いたかったんです。 大変参考になりました。 助かります。 レス下さった方々ありがとうございます。
>>853 適当に書いたからちょこっと間違っているかも。
ヒントということで、あとは頑張ってくれ。
ありがとうございました と、お礼を言ってみるテスト
859 :
デフォルトの名無しさん :02/05/22 05:00
861 :
デフォルトの名無しさん :02/05/22 12:04
>>854 ありがとやんす。adobeに問い合わせみます。でも
Dim wobj As Object
Set wobj = New PhotoshopTypeLibrary.PhotoshopApplication
でフォトショップの起動は出来るんです。クラスは公開されていると
言えない?
どこか回答してくれるようなスレとかも教えてください。行き詰まって
ます。
>>862 PhotoShopのヘルプ見た?
一部抜粋
Photoshop では、Windows の OLE オートメーションや Macintosh の
AppleScript(TM) を使った外部オートメーションの一部がサポートされます。
何が公開されてて何が出来ないかはAdobeの文書を読むしかない。
AdobeのサイトにSDKかなんかがあるらしいが。(英語)
>どこか回答してくれるようなスレ
知らん
>>863 それは見ました。で、出来ると思ったんです。
ありがとやんした。
>>854 とりあえず
>>843 のExecuteでやれっていうので
少しはわかってきました。
OpenURLで巨大なページを開かせていると、
その間は他の処理ができなくなってしまっていました。
これをどうやって高速化できるかな?と質問したのですが
やっぱ日本語下手なんでよくわからんかったんでしょう。すまんです。
ただ、今のところExecuteでやっても、情報の取得漏れが出る・・・
まぁ適当に試行錯誤してやってみようかな。
ありがとうございましたっ
こんばんは。お疲れ様です。 早速ですが教えてください。 スクロールバーでラベルをスクロールしたいのです。 どうか教えてください。切実です。
868 :
デフォルトの名無しさん :02/05/22 21:16
AccessVBAしかやったことないんですが、VB触ってみました。 Accessのデータベースに接続して、ある列情報を取得してリストボックスに格納、 そこから一つずつデータを選択して別に用意したテキストボックスに入れて編集というのを 考えてやってみたのですが、VBのリストボックスって1列しか格納できないっぽくて断念中です。 リストボックスには、選択するべき項目(例えば「氏名」列)と非表示で一意のコードなんかを 格納して、コードを元にデータを取り出したいのですが、VBではどういう風に行うもんなのでしょうか。 おながいします。
>>867 label7.left = Hscroll1.value
などを使用してラベルをスクロールさせたいのですが
どうもうまくいかないのです。
870 :
デフォルトの名無しさん :02/05/22 21:39
以下の記述の ファイルをEUC形式で書き出すにはどうしたらよいのでしょうか? Dim fso, Mytextfile Set fso = CreateObject("Scripting.FileSystemObject") Set Mytextfile = fso.CreateTextFile("c:\age.txt", True) Mytextfile.WriteLine("あいうえお") Mytextfile.WriteLine("あいうえお") MyFile.Close
だれか、マウスを1分間置きに自動で移動させるソース知っている人いませんかぁぁ おしえてけれー
872 :
デフォルトの名無しさん :02/05/22 22:03
>>872 タイマーでもいいんだけど、マウスを上下に動かすソース
自体わからないんです。。。(泣)
だれかしってるひとおしえてーー
うーん、座標かいてmoveさせる、とか?
875 :
デフォルトの名無しさん :02/05/22 22:08
API使ったらどうすか
>>869 Label1とHscroll1を置いて
Private Sub HScroll1_Change()
Label1.Left = HScroll1.Value
End Sub
これで動きますが・・・
それと、”どうもうまくいかない”というのでは解りません。
実際やってみてどうなったのか具体的に書いたほうがいいかと。
877 :
デフォルトの名無しさん :02/05/22 22:13
Declare Function SetCursorPos& Lib "user32" (ByVal x As Long, ByVal _ y As Long)
878 :
デフォルトの名無しさん :02/05/22 22:18
879 :
デフォルトの名無しさん :02/05/22 22:19
コントロール配列に一気に値をぶち込むにはForループで回すしかないですか? 動的にLoadして増えていくコントロール配列の部品があるんですが、 フォームのリサイズ時に一緒にリサイズさせたいです。 そうすると、Form_Resize時に For i=0 to コントロールの数 コントロール名.Width = Frm_Main.ScaleWidth Next i みたいに書くしかないですか? なんか一行でスマートにかっこよく見やすいステキコードの書き方ってないですか?
おしえてくれたみなさんありがとうございました! 頑張って作ってみます!
15回くらい[>]ボタンをクリックしたら 1ドットくらい右に移動するかもよw
>869
>>876 お返事どうもです。
そのPGで確かに動きます。動きますが・・・。
ラベルのすべてを表示していないのにバーはMAXを迎えてしまいます。
うまくすべて表示するにはどういったことが必要でしょうか。
すんません。 記述ミス。 For i=0 to コントロールの数 コントロール名.Width = Frm_Main.ScaleWidth Next i ↓ For i=0 to コントロールの数 コントロール名(i).Width = Frm_Main.ScaleWidth Next i
>>883 HScrollのMAXの値を大きくすればいいのでは?
あとは、FromのScaleModeを変えてみるとか。
どういうことを実現したいのかちとわからないが
画面左端からLabelをスクロールさせて全部表示させるだけなら
Form1.ScaleMode = 3
HScroll1.Max = Label1.Width
Label1.Left = - Label1.Width
としておいて
Private Sub HScroll1_Change()
Label1.Left = -Label1.Width + HScroll1.Value
End Sub
とりあえずこんな感じでいいと思うけど。
886 :
デフォルトの名無しさん :02/05/22 22:58
>>868 なんですが…DBに接続とかってスレ違いですか?
Accessスレ逝った方が良いのでしょうか。
>>885 ありがとうございます。早速やってみます。
>>886 ADOとかDAOでできますよん。
板違い・・・・ではないと思うのですが(。・_・。)ノ
>>885 折角PGまで書いてくださったのにすいません。
思うようにいきません。
普通にスクロールしたいだけなのですが・・・。
データが非常に横長いのでどうしても横にバーがいるのです。
リストボックスですと縦しかバーは出ないものですから・・・。
885さんのおっしゃるPGでは一度動かすと何も見えなくなって
しまう位に移動してしまいました …c(゚^ ゚ ;)ウーン
890 :
デフォルトの名無しさん :02/05/23 00:20
バイナリファイルの操作なんですけど 「ABCDEF」という内容があったとすると(文字列だけどバイナリとして考えて) ファイルを開いて3文字目、4文字目を消して「ABEF」という風に くっつける事は出来ますか? コレを巨大なファイルでやりたいんですけど。。。
892 :
デフォルトの名無しさん :02/05/23 00:21
>>889 フォームより長いラベルがあって、それを全部見えるようにスクロールさせる、ということでしょうかね。
Dim lblLeft As Long
Form1.ScaleMode = 3
HScroll1.Max = Label1.Width + Label1.Left - Form1.ScaleWidth
lblLeft = Label1.Left
Private Sub HScroll1_Change()
Label1.Left = lblLeft - HScroll1.Value
End Sub
こんな感じでどうでしょうか?
>>870 EUC保存はVB標準関数では無理。
nkf32.dllあたりつかって見れ。
>>879 それで十分ステキコード。
つか、そんなもん無い。
>>889 LB_SETHORIZONTALEXTENTを使うのも良い。
>>890 素早くやるのは無理。地道にFor使っとき。
どうしても、っつーならMoveMemoryかな。
CopyMemoryではなく。
>>890 スマソ、ファイルの話だった。
ファイルなら尚更無理。
895 :
デフォルトの名無しさん :02/05/23 01:53
>>870 EUC保存
改行の置換とかでできないかね〜
気合と根性のスクロールウインドー!!
出来ました〜・・・。
こうで出来ましたです。
HScroll1.Max = lbl7.Width '最大値
HScroll1.Min = lbl7.Left '最小値
HScroll1.LargeChange = HScroll1.Max / 7 '矢印クリック移動量
HScroll1.SmallChange = HScroll1.Max / 5 'バークリック移動量
lbl7.Left = HScroll1.Min - HScroll1.Value
>>892 さん
どうもありがとうです。コードは凄く参考にさせていただきました。
それでは今夜も頑張ったのでそろそろ寝ちゃいます。
明日もがんばってくるです。
ありがとうございました ペコリ(o_ _)o))
>>889 普通だが。
Private Sub HScroll1_Change()
Label1.Left = HScroll1.Value * 2
End Sub
観鈴さんって オッパイある人? セクハラだよ きっぱり
なんか最近VBのスレ乱立多いな どうしたもんだか…やれやれ 厨はこのスレで留めておかないとな あきられてきたかな? 厨を引きつける企画はないかな んで、そこまで考えないかんねん
901 :
デフォルトの名無しさん :02/05/23 04:07
PersistableってJavaでいうSerializeと同じ機能と思っていいよねぇ。
902 :
デフォルトの名無しさん :02/05/23 11:09
みなさん、こんにちは 独自に作成したフォントをVBからWindowsに登録(削除)したいのですが、 どうすれば良いのでしょうか? プログラムは Windows2000Pro で動作させます
言語なんて何でもいい 問題はそれで何をやるのか? その為の楽はOK VBが楽だと言うのならOK。ただそれだけ
>>904 即レスさん、ありがとうございます。
早速試してみます。
フォントの削除は、
コピーしたファイルを削除するということで大丈夫ですか?
>>907 さん すいません、おばかなので・・・
何かおかしい事してます?
コピーじゃだめですか?
>>908 そのアフォじゃないがFontフォルダに登録しなくてもAPI2つで使えるようになるっしょ。
GetScalableFont(だったっけ?)、GetFontData(だったっけ?)、SelectObjectとか調べてみ。
>>905 コピー元を削除、ね。
>>909 それは動的に作成したフォントの割り当てだから。
「Windowsに登録」っつってんだからチョト違うような。
>>903 そうだね。
>>905 ごめん、間違い。905でいい。
#最近あんまり文章見ずにレスする癖が付いてきた。とほほ。
>>911 即レスさんありがとうございます。
試してみました。
コピーでフォントが登録できました。
ですけど、ファイルを削除する時に、エラーがでる時があります。
エクスプローラーから削除すると、「ファイルが使用中」という警告が
でました・・
この状態でも、コントロールパネル−フォントから削除してみると
消すことができました
>>912 使用中のファイルを削除する方法を調べた方が良いのか、
コントロールパネル−フォント−削除の方法を調べた方良いのか
こういう場合、どちらが良いのでしょう
914 :
デフォルトの名無しさん :02/05/23 13:20
Toolbarコントロールをテキストの配置=tbrTextAlignRightにして キャプションをアイコンの隣に表示するようにしてるんですが、 すべてのボタンの幅が、その時一番大きなボタンにあわされてしまいます。 labelコントロールのオートストレッチみたいにそれぞれのボタンを、 それぞれのアイコン幅+キャプション幅に自動調整して表示する方法はないでしょうか?
>>905 やや間違った答えをしてしまった。
ちょっと調べてたんだが、
・フォントのインストールはレジストリもいじる必要がある。
(HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT(9x系はWindows)\CurrentVersion\Fonts)
・レジストリにはフォント名一覧のほかにFontLinkなどのキーで
フォントの名前だけを変更できる。(ショートカットみたいなもの)
・フォントをコードから削除してもフォントフォルダを開いている場合は
更新してもフォルダの内容は変更されない。
(もう一度開きなおす必要がある)
・一度使用したプロセスが生きている限りフォントは削除できない。
(エクスプローラーでも一緒。)
最後のは体験で言ってるだけだけど。
http://homepage2.nifty.com/winfaq/fontstrouble.html http://www.dais.is.tohoku.ac.jp/~kabe/win/msgothic/g-both.html これ参考になるかな?
>>913 それはたぶんVBで削除した後、レジストリを削除していないか
フォントフォルダが更新されていない状態。
その場合、エクスプローラーで削除するとエラーが出た後
レジストリをエクスプローラーが修正して開きなおす。
だから削除されたように見えるはず。
どちらにしても使用中のフォントは削除できない。
再起動時に削除するようにしとき。
>>916 即レスさん
詳しく調べてもらって、ありがとうございます。
ファイルをコピーしただけでも登録されているみたいですので、
しばらくテストして、問題なければ、この方法でやってみます。
ちょっと、レジストリとか詳しくないので・・・
削除できない場合があるので、そのやり方を工夫してみます。
もし削除できなければ、「OSを再起動してからすぐに再実行してください」とか
メッセージを出そうと考えています。
色々とありがとうございました、なんとか解決できそうです。
そろそろVB.NETスレにせんのかな?
1じゃなかった・・・。なんでやろ・・・
>>921 こんなスレ後半になって1が出現するのも珍しい
923 :
デフォルトの名無しさん :02/05/24 17:21
VB6で、IMEの制御やカナの自動入力を、 ACCESSみたいに、プロパティーで設定だけでできないのでしょうか? 出来ない場合、API呼び出しで制御するしかないのでしょうか?
924 :
デフォルトの名無しさん :02/05/24 17:23
VB6 で、 form の LinkTopic には、自フォーム名を入れた方がいいんですか? DDEはよくわからないし使わないですが、その場合も入れたほうがいいんですか?
925 :
デフォルトの名無しさん :02/05/24 17:27
923> IMEModeを使わずにですか?
ちょっと質問したいことがあります。 環境:WinXP VB6 今トラフィックモニタを作っているのですが 送信バイト数、受信バイト数などを取得したいのです。 APIか、Win付属のDLLか何かでできそうだと思うのですが 検索しても有力な情報がかからず困ってます。 WinXPのタスクマネージャにあるネットワーク負荷のグラフみたいなのが 作れれば十分なのですが・・・。 よろしくお願いします。
927 :
O_O... :02/05/24 21:51
学校の授業の宿題(月曜日授業時提出)で コマンドボタンの色を変えたいのですが、 command1.style=1 にしているのに、"取得できない"というエラーが出て、 プログラムが実行されません。 解決方法解る人いませんか? 教えてください・・・。お願いします。 Win2000 VB(たぶん)6です。
>>927 今VB持ってる?
ならコマンドボタンをクリックしてF1キーを押す。で、プロパティを見る。
command1.style=1でのエラーは
値の取得のみ可能なプロパティに値を設定することはできません。
だ。
値の取得はいいが、設定することはできん。実行時。
で、色変えは、
ForeColorじゃないか?BackColorもな。
暗号プログラムを作ったのに馬鹿にされたよ
>>929 む、無理っぽい・・・
そこらへん読みまくってみたんだができないです。
う〜む、そこらへんにある転送量測定してるソフトはどうやってんだろうなぁ
TrayMeter、ソース公開されてるじゃん。 オイラも勉強してみよっと。
>>934 こちらもソースみつけたんで読んでみてるんですけど
わからんYO!C++?知るかヴォケって感じ・・・。
核心部分がどうなってるのかってのだけ誰か説明してくれぇ〜
API使うのWin付属DLLでやるの それともなんかもう難しいことやってんの?
そこさえもわからん・・・
webbrowserコントロールのメソッドプロパティの説明一覧が 書いてあるページを教えて下さい。VB
939 :
O_O... :02/05/25 21:44
>928 とりあえず見てみる事にします。 ありがとうございました。(^o^) ForeColore 入れるの忘れてた...。^_^;
940 :
デフォルトの名無しさん :02/05/25 21:56
お前等、タバコ2ヶ月止めるだけでVB.net買えるんだからさあ。 もうやめなよVB6。絶対.netのほうが面白いって。
質問させてください。 今VB6でタスクトレイに常駐するようなソフトを作っているんですけど タスクトレイのアイコンにカーソルを合わせると出てくる文字列を設定できますよね それを、アイコン追加時だけでなく状況に応じて変更したいのですが いちいちアイコン消去→アイコン追加(新しい文字列) ってやらないとだめなのでしょうか。そうするとタスクトレイが乱れる(?)のですが・・・ それと、アイコンをちゃんと消すように作ってあるのに、アイコンが消えないことがあります。 ちゃんと終了されているのにアイコンだけのこっていて、変だな、と カーソルをもっていくと、消えてしまいます。何が悪いんでしょうか。 長文すみませんがよろしくおねがいします。
NIM_MODIFYは? >何が悪いんでしょうか。 消せてないんでしょ 添削してほしけりゃコード貼れ
>>943 そうですか。丸投げはいけないかと思い遠慮していたのですが、
コード貼っていいようなら貼っちゃいます
Dim NotifyIcon As NOTIFYICONDATA
'タスクトレイのアイコンを削除
With NotifyIcon
.cbSize = LenB(NotifyIcon)
.hwnd = Me.hwnd
.uID = 10
End With
Call Shell_NotifyIcon(NIM_DELETE, NotifyIcon)
'-------------------------------------------------
'サブクラス化の終了
Call SetWindowLong(Me.hwnd, GWL_WNDPROC, lpOldWndProc)
あ、NOTIFYICONDATAは Type NOTIFYICONDATA cbSize As Long hwnd As Long uID As Long uFlags As Long uCallbackMessage As Long hIcon As Long szTip As String * 64 End Type こうなってます。 どこが悪いんだろぅ。943のNIM_MODIFYというのが入ってないなぁ それをどっかに入れないとだめなんでしょうか?
あ、検索してわかった。 NIM_MODIFY=アイコンの状態を変更 こういうことでしたか。すみません。 でもアイコンが消えずに残るのはどうしようもないのかなぁ
NIM_MODIFYは定数だんべ ・・・定数設定どうなってんだべ?
タスクトレイか、適度にがんばってね。
949 :
デフォルトの名無しさん :02/05/25 23:30
>>946 アイコンを消す直前にフォーカスを当てればオッケー。
これ、FAQだわよ。
>>946 ちゃんとNIM_DELETEしてすべてのリソース解放してるか?
>>947 定数はきちんと設定されてるようです
Public Const NIM_ADD = &H0
Public Const NIM_MODIFY = &H1
Public Const NIM_DELETE = &H2
>>949 消す直前にフォーカス・・・?
まずどこにフォーカスを当てればいいのかわからないという、、、
>>950 944のでちゃんと解放しきれてないんのでしょうか・・・
だったら困るなぁ・・・まじ
というかNIM_MODIFYとサブクラス化の兼ね合いがうまくわからん
サブクラス化解除してからNIM_MODIFY?
サブクラスとかほっといてNIM_MODIFY?
NIM_MODIFYでやってからサブクラス解除して開始しなおす?
もうわからん。ごっちゃになった。氏ぬマジ鬱
953 :
デフォルトの名無しさん :02/05/25 23:49
>>951 当然、VBに限らない。
Winの仕様。
>>953 そんなんやらんでも消えたはずだが
Windowsのバージョンは?全部そうなの?
955 :
デフォルトの名無しさん :02/05/25 23:52
>>952 自分で調べろよ。
あとでマウスカーソルをアイコンの上に持っていった時に消えるだろ?
でないとしても、どっちみちこの処理は必要だし。
>>952 サブクラス化はメッセージ拾ってるだけだろ?
起動時と終了時にやっとけばいいじゃん
NIM_MODIFYとは関係ない
958 :
デフォルトの名無しさん :02/05/25 23:55
>>954 98SEや2Kぐらいまでは、そう。MEとXPは知らないが…。
実際、アイコンが残るフリーソフトはけっこう多い(VB製,VC製、Delphi製,etc)。
それと、常駐する以上、いろんな条件で試してみないと確認できないこともある。
>>945 ふと思ったけど、NIM_CLOSEどこでやってるんだろ?
OnCloseイベントでやったらちゃんと消えたみたいだけど。
以下C++Builderのソースだが(VBでなくてスマソ)、
// OnCloseイベント
void __fastcall TForm1::FormClose(TObject *Sender, TCloseAction &Action)
{
(略)
Shell_NotifyIcon(NIM_DELETE,&pNotifyIconData);
}
// タスクトレイアイコン右クリックメニュー「閉じる」
void __fastcall TForm1::E1Click(TObject *Sender)
{
Close();
}
NIM_CLOSEはNIM_DELETEの間違い、スマソ
>>960 >何故かうまく変わってないんですよねぇ・・・
なにが
>>961 NIM_DELETEは
Form_QueryUnload でやってます。
>>963 タスクトレイのアイコンにカーソルを合わせると出てくる文字列 です。
>タスクトレイのアイコンにカーソルを合わせると出てくる文字列 です。 サブクラス化と関係ないし・・・ Shell_NotifyIconの使い方がやばいんでしょ
'タスクトレイのアイコンの状態を変更
Dim NotifyIcon As NOTIFYICONDATA
With NotifyIcon
.cbSize = LenB(NotifyIcon) '構造体のサイズ
.szTip = List1.List(ListNum) & vbNullChar 'マウスポインタがアイコン上にとどまったときに表示される文字列
End With
Call Shell_NotifyIcon(NIM_MODIFY, NotifyIcon)
>>965 こうやっているんですが・・・。
これで間違ってるならはっきりいって俺がヴァカでしたってことで。
>>967 szTipです。そのList1.List(ListNum)は、これが呼ばれるたびに変化しているはずなのです
が、実際は変更されてないで表示されてしまっている・・・
>>966 そういうの聞くのが教えて君だよな
szTipだけ指定して変わるわけない
>>969 ガ━━Σ(゚д゚lll)━━ン
言われてみれば・・・。
NotifyIconはここで宣言したものだ・・・
じゃぁ他のも指定しないと変わるわけないや。
マジすまん。単なる勘違いのミスでした!
お手数かけて申し訳ない・・・
>>958 98で試したがちゃんと消えるし
よくわからん
972 :
デフォルトの名無しさん :02/05/26 00:55
すごいつまらない質問ですが、 コマンドボタソなどの絵を貼れるコントロールに拡張子icoのファイルを貼る時、 16×16で貼れないのでしょうか。 32×32ではデカくて…。
>>972 >コマンドボタソなどの
ネタと判断。おやすみ〜。
うちの
>>973 がすみません…
寝る前に何か書き込みたくて仕方なかったようです。
976 :
勝負パンツ :02/05/26 01:13
>>975 そんな馬鹿な。良スレで煽ろうとしてっからさー。
977 :
勝負パンツ :02/05/26 01:15
まぁ、VBが最強ってこった。 Delphi厨は氏ね。 Delphi厨は氏ね。 Delphi厨は氏ね。 Delphi厨は氏ね。 Delphi厨は氏ね。 Delphi厨は氏ね。 Delphi厨は氏ね。 Delphi厨は氏ね。 Delphi厨は氏ね。 Delphi厨は氏ね。
978 :
勝負パンツ ◆fOmLffjg :02/05/26 01:20
うちの
>>978 がすみません…
結局自分が寝る前に何か書き込みたくて仕方なかったようです。
>>942 NIM_ADD って Form_Load() でやってる?
んで、NIM_DELETE したあとに Form1.〜〜 ってやってない?
>>972 貼れるよ
>>942 削除してない。コードはあっても実行されてない。End使ってないか?
つか、MSDN一度ちゃんと嫁。
>>982 End 使ったらサブクラス化してるから致命傷になると思う。
>>982 お返事ありがとうございます。
出来ればヒントだけでもおながいします…。
>>984 ヒントって言われても。
16x16のアイコンつくってPictureに
設定するだけなんだけど。
>>983 んじゃUnloadかな。どっちにしろコード見直してみないとな。
>>985 ああ、ええと、通常の32×32のアイコンを縮小表示した時のサイズで貼りたいのですが…。
>>986 つまり32x32のサイズしかないアイコンを
動的に縮小させたサイズで貼りたい、ってこと?
それならImageListかな。
ImageListのサイズを16x16にしておいてアイコン読みこむ。
その後ExtractIconの戻り値をCommand.Pictureに設定。
#アイコン編集ソフトで16x16のアイコン作ったほうが
#楽だと思うが。
>#アイコン編集ソフトで16x16のアイコン作ったほうが >#楽だと思うが。 それにきれいだ。
ありがとうです。 アイコン編集してみるっす。
>>971 消える場合と残る場合があるが、適切な処理をすれば必ず消えるようになる。
そう言ってるのに対して、「自分の場合は消えた」なんて何の意味がある?
「適切な処理」と唱える根拠を示してないからだよ。
1000
1000
995 :
デフォルトの名無しさん :02/05/26 23:29
1000
1000
1000
1001 :
1001 :
Over 1000 Thread このスレッドは1000を超えました。 もう書けないので、新しいスレッドを立ててくださいです。。。