古代VBプログラマ質問スレ(Ver.6.0 まで) part65 [転載禁止]©2ch.net
ここは古代に使われていたVisual Basic 〜6.0 の質問スレです。
質問者は使用しているOS、VBのバージョン、サービスパックのバージョン、
「何がしたくて、どうしたけど、どう困っているのか」を明確に書きましょう。
VB.NETは別物なので専門スレで、VBA、APIの質問もそれぞれのスレで。
○ 質問者の心得
一.質問する前にMSDNやGoogle、過去ログにも目を通してみる。
二.VBScript、インストーラーなどはこのスレでOK。
三.質問は第三者にもわかりやすいよう簡潔かつ具体的に。
四.荒らしは相手しない。
○ 回答者の心得
一.答えられない質問は無駄に罵倒せずスルー。無理するな。
二.代用法を強制しない。
三.回答する上で必須ではない情報をむやみに聞き返さない。
四.荒らしは相手しない。
五.VB情報募集中。
六.回答は質問者が理解できるよう具体的に。
MSDN Online Japan ホーム
http://www.microsoft.com/japan/msdn/default.asp
Visual Studio 6.0 Service Pack 6
http://msdn.microsoft.com/vstudio/downloads/updates/sp/vs6/sp6/default.aspx
Google
http://www.google.co.jp/
前スレ VBプログラマ質問スレ(Ver.6.0 まで) part64
http://peace.2ch.net/test/read.cgi/tech/1393069842/
※「まず自分で調べる」クセを身につけよう。 >>342
マジで?
そういうツールが売ってるの? >>343
パーツがボタンやラベルのことならば標準機能で貼れる
お試し版あるからダウンロードして試したらヨカ Microsoft Team Explorer for Visual Studio 2013のMicrosoft Visual Basic 2013を使ってみたのですけど、コントロールを貼り付けられるようには出来てないような?
VB6でいうところのオブジェクトを表示する事が出来ませんよね? 新規プロジェクトで
Windowsフォームアプリケーション選び
form1.vb選択して、右クリック
ビューデザイナー開いておいて
左側のツールボックス開いたらコントロール群あるから
選んで貼り付け ファイルリストボックスって
なまじっか英数字のファイル名だとソートしてるから、そのまま使えると思ってたら
漢字は中途半端なソートするね もう今年で20年だろw
まだ使ってる人いるのかw
いい加減成仏させてやれよw >>347
おぉぉ出来ました、ありがとうございます、ありがとうございます。 >>346
色々あってよく分からなかったのですが、もしかしてこれは.netでは無いとか? >>351
2013のvb.net
2015と2017もある >>351
だからお前のような馬鹿は1回死んで出直せ 馬鹿に馬鹿と指摘すると、悔しがってこうやって別IDで食って掛かってくるから楽しい 自称「馬鹿に馬鹿と指摘する」馬鹿さん、馬鹿にされて楽しそう。 >>350-351dすが、自分のせいで荒れてしまってすいません。 俺は気にした方がいいと思うよw
さすがにこのやり取りは質問者が叩かれて当たり前。
これが2002年ならわかる。2018年にもなってこれはない。
さすがに釣りだとと思ったらどうやら大真面目らしいのも何とも 好きな子にいじわるしたくなっちゃう小学生男子の気持ち? 知らん事は馬鹿ではない
知らん事を馬鹿だと思っている事が馬鹿なのだ >>365
いじってみてもどうなっているか理解できないから馬鹿だろうが。そもそも製品の構成すら理解しとらん馬鹿だし。 >>367
そんな事よりもボクはキミ自身が馬鹿なのだよという話をしているのだけれども 知らないこと と 自分の力で理解できないことを一緒にして他人を煽ることしかできない馬鹿
↓
ID:3WbICYQr 開発中に気が触れてしまう人もいるので、そっとしておきましょう
ここでは、開発が本業でなく、例えば八百屋さんがプログラムをいじってるなんて場合もあるのだから
自分の狭い専門分野で人を見下すのはバカ丸出しなんだよね >>370
八百屋ナメんなよコラ。お前市場行ってセリで買えるか?セリにsnipetなんかねえんだよ。
全部キロ単位の値段設定だぜ?即座に頭で歩留まり計算しておかないと儲け出ねえんだぜ?
八百屋、魚屋のような生モノ扱う仕事は常にtry-catch-finaryでロスが出ねえように考えて仕入れ販売
しないとあっさり赤字こくんだよ。
コード屋はそりゃ大変だろうが、楽な仕事なんかねえんだよ >>370
青果市場のセリで、キャベツを指差しして「これは白菜ですね!」とか大声で叫んでみろよ。
お前のようなゆとりの馬鹿が社会をダメにする。 VB6では任意に例外を投げることはできないのでしょうか ☆ 日本の、改憲を行いましょう。現在、衆議員と参議院の
両院で、改憲議員が3分の2を超えております。
『憲法改正国民投票法』、でググってみてください。国会の発議は
すでに可能です。平和は勝ち取るものです。お願い致します。☆☆ Private Sub Form_Load()
Text1 = "106.456"
Command1.Caption = "▲"
End Sub
となっています
1ドルなん円という数字が入っていて
小数2位以下はいらないので▲ボタンを押すごとに
106.456→106.500→106.600→106.700・・・
となるように
Private Sub Command1_Click()
Dim v&
v& = Int(Val(Text1) * 10) + 1
Text1 = Format(v& / 10, "0.000")
End Sub
2行のプログラムをつくりましたが、あら不思議、これは動きません
Intが悪さをしている、Intはいらないと分かったのですが
なぜIntが悪さをするのでしょうか 整数型に変換してるんですけど
INTの外にある「+1」が無効になる感じです v& = Clng(Val(Text1) * 10) + 1 Dim v&
この瞬間見る気が失せた
v& = Int(Val(Text1) * 10) + 1
↓
v& = CInt(Val(Text1) * 10) + 1 お二方のは、最初の1回だけ動いて、
以降は動かなくなりましたよ
しかしCsngやValだと
106.456→106.500→106.600→106.700・・・
としたいところ
106.456→106.600→106.700・・・
になってしまうけど、まぁ動きました
お手間をとらせました、有難うございました ああ分かったよ
実数の扱いの深い部分だね
Debug.Printで見ても表示されないから分からなかったわけだ これだ
? Csng("125.600") * 10
1256
? Csng("125.600") * 10 + 0!
1256
? Csng("125.600") * 10 + 0.0
1255.99998474121 こんなやつが作ったソフトを使う人がいるのかと思うと・・・ >>386
と思うだろ?ところがすっとこどっこい
お前が使ってるソフトを作ってるやつも似たりよったりなんだぜw VB.Net ではなくVB6.0を愛用してます。
世の中64ビットOSになり、次は128ビットになりっとどんどん大きくなると思うんですが、
今まで作成した私のVB6.0のアプリは今度どうなるのでしょうか。
多少VC++が分かるんですが、実装するのはやっぱり使い慣れたVB6.0が手っ取り早いし簡単で、ずっと使いたいんですが、、、 >>388
切迫感無いですね
保全関係の請負で食べてる人ですか?
それだけ過去資産持ってるならそれをC++なりで再現する方向で精進するのが普通の発想だと思いますがね >>388
OSがランタイムサポート打ち切るだろうからお前も死亡 「系」で良いのなら全ての現代的プログラミング言語は
BASICの影響を受けたBASIC系言語と言えるよ
プログラミング言語の系図ぐぐってみ 大昔N88やクイックBasicで
遊んでいたのでちょっと気に成った YoutubeをTHXでダウンロードすると動画タイトルがファイル名になることがあって
動画タイトルに連音符のような特殊文字が使われているとVBで扱えなくなる
エクスプローラでリネームしてやれば済む話だけども
寝てる間にダウンロードして所定のフォルダに所定のファイル名で保存するプログラムは動作しない
変な文字コードが入り込んだファイルというのはFileListBox上には存在するけども
FileLen,Open,Name,FileCopyなどでは存在しないファイルとなる
実際のファイル名とVBが見ているファイル名が違うからだと思われる 例えば適当なテキストファイルがあって、それをエクスプローラで
12♬34.txt
とリネームします
これをVBのプログラムで読むには? そもそもVB6ってロングファイルネームサポートされてないんじゃ?
8.3形式のファイル名で読むしかないんじゃね >>398
そいつはこの板を荒らしてるBasicジジイだ。触っちゃいけない >>401
そもそも VB6.0 のコードエディタに貼り付けても化けちゃうしw
CreateFileW 等の API を使ってゴリゴリ書くしかないだろうね。
あと、MAX_PATH を超えるような場合は \\?\ や \\?\UNC\ 等のプレフィックスをつける必要がある。
ttps://msdn.microsoft.com/en-us/library/windows/desktop/aa365247(v=vs.85).aspx まだ使ってる人いるのかw
VBって割と最初からUnicode対応だと思ったけど、IDEのエディターやコンパイラは対応してなかったのかw 僕の知り合いの知り合いができたパソコン一台でお金持ちになれるやり方
役に立つかもしれません
グーグルで検索するといいかも『ネットで稼ぐ方法 モニアレフヌノ』
LVCSB EXEはVBPと同じフォルダに作られるのがデフォルトだったけど
どうもWindows10の新しいバージョンになってから
EXEが作られるフォルダのデフォルトというのがカレントフォルダとは限らないようだ
いったい何を見てEXEを作るフォルダのデフォルトを決めているのだろう Win10の最近の更新からVB6がインストールができなくなったという情報あり
Win10をUSBなりからクリーン・インストールしたら
まずVBをインストールして、その後にWinの更新をすればいいのかも 最後の行だけ改行コードがついてないテキストファイルがあって
それを読みながら修正などしながら、別ファイルに書き出すという処理で
最後の行には、どうしたって改行コードがついてしまうよね そこは工夫の問題じゃない?
最初だけ改行なしでWrite、次からは改行+Writeでも良い。 全て書出し終わったファイルをバイナリで再度開いて末尾の0D0Aだけ削除 なるほどー
「まずバイナリでファイル末尾の改行の有無を判定する
末尾に改行なしなら、2行目以降は、改行コードを頭に付けて出力する」
ありがとうございました
自分にない発想に出会うと感動しますね
数年前に阿修羅で出会った感動の書き込みを紹介しますと
「日米戦争はイカサマだった→東京裁判は昭和天皇が進駐軍にやらせたものだった」
これにはぶっ飛びました
自分では色々考えたつもりでも、それは所詮自分の殻の中の世界であって
真実に到達できていない可能性があるんだと思い知らされました >>419
周りが馬鹿やめろよと思っていることに気付かない人かな こういうのをおかしくないと思うような頭だからまだVBなんかを平然と使うのかね 2発の原爆のうちの
広島の方は天皇原爆だったという話だよ VB6.0を現代的なOSで動くようにしたら需要あるだろうか? >>429
実際に求められてるのって実はその辺だと思う
最近の言語は進化が作成者のオナニーになっているというか
素養のない一般の人(だが仕事で必要)には
VBAレベルが限界だと思う
OfficeのVBAがVB6ベースでも世の中そんなに困ってない だよね
Windowsにしても買い替えさせるために不要な変更を行ってる
というか改悪している VB6でクラスライブラリをビルドしてるんだけど、
1)Constみたいな定数を実装する方法は無いのかな?
2)Optional ByRef引数の指定が省略されたかどうかを、その関数内で判定するのはどうするのがいいだろ? >>432の補足
ActiveX DLLとしてビルドして、外部プロジェクト(VBA)から利用しようとしている
1)外部プロジェクトからConstみたいに参照できる定数をActiveX DLLに実装できないか VBSで、ウインドウハンドルを持たないボタンを安定して押す方法ってあります?
SendKey連打で切り抜けられるものもありますが、
→→↓↓Enterとか、必殺技コマンドみたいなのが必要な状況では、いまいち安定しません。
5秒待つとかダルいですし、そんなに待ってもダメな時もありますし・・。
もしくは、JSでもいいんですけど。 >>432
1.
Property Getだけ用意する
2.
IsMIssingてのがあるけどまずありえない値を初期値にしおく
http://www.openreference.org/articles/view/239 >>434
ブラウザ上のボタンはどうやって押すんだろね
分からんのでUWSC使ってる
UWSCはハンドルじゃなくてプロセスIDと座標を使ってるから
SendMessageじゃないAPIがあるんじゃないかと思う >>436
ブラウザは、IEで、htmlで書かれている部分ならgetElementsByXXXXという関数で簡単に押せます。
ダウンロード通知バー内のボタンが難しい。 VBSじゃなければUIAutomationかAccesibilityでいけるんだが、VBSだと難しいかも。
>>436
webの話なの?
それならVBSでもいけるでしょ。
それからUWSCはAccesibility使えた筈。 VBSじゃなくて良いならPowerShellでUIAutomationは使える。 >>435
ありがとう。
2)
IsMissingなんて使ったことなかったw
まさにVariant型で配列を渡す引数だったし、良さそう
VBAでは初期値NullにしてIsNullで判定してたけど、VB6だと引数初期値Nullでコンパイルエラーになるから困ってた
1)
Optional引数の初期値には指定できなさそうだ
現在、InstancingプロパティをGlobalMultiUseにして、Publicメンバ変数にして、Initializeイベントで初期化してるんだけど、これもOptional引数の初期値には出来ない >>429
需要ある
VBAのライブラリ開発では重宝してる。
VSTOみたいにバージョン相性もないし、ほぼそのままユーザフォームを含むVBA資産を再利用できるし。
現行では、いちいちファイル保存先を指定したり、ビルド先を指定したり、インターフェースの機能構成が不便だ。
あと勝手にレジストリにDLLが登録されるのはどうにかして欲しい(管理者権限を付けないで起動すれば登録されないけど) >>441
そんなあなたに
https://eijiman.com/windows10-vb6-runtime/#Window10VB6
Microsoftによって機械翻訳された内容ですが、次の記載があります。
VB6 ランタイムは Windows 10 に付属し、その OS の有効期間にわたってサポートされます。
出典:Visual Basic 6.0 のサポートに関する声明 | Microsoft Docs
つまり「Windows10でVB6ランタイムが継続的に実行できるようにサポートし続けていく」ということになるのでしょう。