[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 2chのread.cgiへ]
Update time : 07/06 18:50 / Filesize : 211 KB / Number-of Response : 910
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

VBプログラマ質問スレ(Ver.6.0 まで) part62



1 名前:デフォルトの名無しさん [2013/02/15(金) 16:54:12.79 ]
ここは Visual Basic 〜6.0 の質問スレです。
質問者は使用しているOS、VBのバージョン、サービスパックのバージョン、
「何がしたくて、どうしたけど、どう困っているのか」を明確に書きましょう。

VB.NETは別物なので専門スレで、VBA、APIの質問もそれぞれのスレで。

○ 質問者の心得
 一.質問する前にMSDNやGoogle、過去ログにも目を通してみる。
 二.VBScript、インストーラーなどはこのスレでOK。
 三.質問は第三者にもわかりやすいよう簡潔かつ具体的に。
 四.荒らしは相手しない。

○ 回答者の心得
 一.答えられない質問は無駄に罵倒せずスルー。無理するな。
 二.代用法を強制しない。
 三.回答する上で必須ではない情報をむやみに聞き返さない。
 四.荒らしは相手しない。
 五.VB情報募集中。
 六.回答は質問者が理解できるよう具体的に。

MSDN Online Japan ホーム
 www.microsoft.com/japan/msdn/default.asp
Visual Studio 6.0 Service Pack 6
 msdn.microsoft.com/vstudio/downloads/updates/sp/vs6/sp6/default.aspx
Google
 www.google.co.jp/

前スレ VBプログラマ質問スレ(Ver.6.0 まで) part61
toro.2ch.net/test/read.cgi/tech/1359721249/

※「まず自分で調べる」クセを身につけよう。

513 名前:デフォルトの名無しさん mailto:sage [2013/04/20(土) 16:38:29.39 ]
>>510
だめ。
楽しようとしてないし、バグの元。

514 名前:デフォルトの名無しさん mailto:sage [2013/04/20(土) 16:41:51.36 ]
>>512
なんか頭悪い意見だね。

それが曜日の値である限り、その値を使ってライブラリ(VBの場合は言語と一体だけれども)
の関数を呼び出す可能性を想定しない方がおかしい。

515 名前:デフォルトの名無しさん mailto:sage [2013/04/20(土) 16:46:14.05 ]
>>512
バージョンアップで使えなくなるというのなら、推奨しないと思うけど。
定義はそのままで値が変更される程度なら問題ないだろうし、定義自体なくなるのであれば
できるだけ使わないようにという旨の文言がmsdnに書かれると思う。

>定数を再定義したのは自分の管理下におくというのが趣旨なのでいくつもという事態にはならんよ

そんなの>>488に全くコメントされてないし本人しかわからないこと。
いい加減独りよがりのコードはやめたほうがいいよ、パイパンw

516 名前:デフォルトの名無しさん mailto:sage [2013/04/20(土) 16:53:51.52 ]
仕様の問題をコードの再利用と勘違いしているな>>509

517 名前:デフォルトの名無しさん mailto:sage [2013/04/20(土) 16:54:59.00 ]
>>515

>定義はそのままで値が変更される程度なら

問題あるから再定義の必要があると言ってる
タオパイのコードは金曜+1=土曜という定数間の関係を前提にしているがMSDNにそんな事書いてない

518 名前:桃白白 mailto:sage [2013/04/20(土) 16:59:34.76 ]
>>509
わけがわからなくなることはないだろ。桃白白の関数を使用するときは
桃白白の定数を使ってください。VBの関数を使用するときはVBの定数を
使ってください。以上。

>>515
独善という意味ではどっこいどっこいでしょ。
VBの日付関数と整合性がとれなければいけないということが
質問の前提として書かれているわけじゃないし、その辺を想像で補って
VBの定数を使用するべきだって言ってんだから、そっちの考えが勇み足である
可能性もじゅうぶんにあるよ。

519 名前:デフォルトの名無しさん [2013/04/20(土) 17:02:16.23 ]
vbSunday〜vbSaturdayを使うと
dayIndex = dayIndex + 1

Select Case dayIndex
Case VbDayOfWeek.vbSunday
  dayIndex = VbDayOfWeek.vbMonday
Case VbDayOfWeek.vbMonday
  dayIndex = VbDayOfWeek.vbTuesday
(以下略)
しないとだめなのかよ。こりゃめんどくさい。

520 名前:デフォルトの名無しさん mailto:sage [2013/04/20(土) 17:08:59.27 ]
>>513
どういうバグの元?

521 名前:デフォルトの名無しさん mailto:sage [2013/04/20(土) 17:18:07.58 ]
>>514
自分の気に入らないコードがあるからってむきになるなよ。
お前の意見はもうわかったから。



522 名前:デフォルトの名無しさん mailto:sage [2013/04/20(土) 17:20:53.73 ]
パイパンが必死になってきましたw

523 名前:517 mailto:sage [2013/04/20(土) 17:27:44.79 ]
>>519
そういう事
面倒だけど必要な手間
今回タオパイがその関数使ってたら標準定数使えや派だった

524 名前:デフォルトの名無しさん mailto:sage [2013/04/20(土) 17:35:42.93 ]
定数使うと、succ(土曜日)のときにラウンドさせる必要があるのか、succ(日曜日)のときにラウンドさせるのか、結局その定数の値を調べないとわからない。

525 名前:デフォルトの名無しさん mailto:sage [2013/04/20(土) 17:42:13.78 ]
Trueが-1でFalseが0だからTrue+1はFalseだよねとか言われてる違和感。
定義済み定数を使うなら、原則としては+1とかしちゃいけないよね。

526 名前:デフォルトの名無しさん mailto:sage [2013/04/20(土) 17:48:24.24 ]
(ライブラリによって)定義済みかどうかは関係がない。
列挙値の値に依存するようなコードを平気で書くようではプログラマ失格。

527 名前:デフォルトの名無しさん mailto:sage [2013/04/20(土) 18:16:58.81 ]
教条主義的だなー

528 名前:デフォルトの名無しさん [2013/04/20(土) 18:53:20.23 ]
自前の定数でも定数間の関係が崩れたら動かなくなるのって
よくないんだろうなっていうとさすがに教条主義か

529 名前:デフォルトの名無しさん mailto:sage [2013/04/20(土) 19:09:31.15 ]
自分で定義するなら崩れないように定義しとけば良いだけで
自分で関係のある定数を定義したのにそれ崩すってことは、自分で動かなくしてることと同意なんだが

530 名前:デフォルトの名無しさん mailto:sage [2013/04/20(土) 20:58:00.74 ]
>>529
それが典型的なダメグラマーの発想。
その発想の問題点は、そういう約束事をプログラマは忘れないはずだという前提に立っていること。

531 名前:デフォルトの名無しさん mailto:sage [2013/04/20(土) 21:57:35.07 ]
VB6の入門者向けのおすすめ書籍を教えて下さい



532 名前:デフォルトの名無しさん mailto:sage [2013/04/21(日) 16:59:24.91 ]
7にVB6のLearning Edition入れたのだがMCIコントロールやWinsockコントロールが何故か使えた
95やXPに入れてたときはWinsockコントロールとか使えなかったのに・・・なじぇ?

WMPが糞だから自前でプレーヤー作ろうと思ってひとまずMCIコントロールを使おうと配置したんだが
いまいち使い方が分からなくて調べたら、MCIコントロールはProfessional Edition以上じゃないと使えないとか書いてあって
試しに使えなかったはずのWinsockコントロールも配置してみたら普通に使えた

7に入れてからなんか挙動が変だったが、やっぱマズかったのかな、7に直接VB6を入れたのは・・・
コンポーネント追加で1回目は必ずシステムエラー出るし
Common Controlsなんか何故かアイコンが2つずつになったし

533 名前:デフォルトの名無しさん mailto:sage [2013/04/21(日) 17:50:36.57 ]
チラシの裏にでも書いてろ

534 名前:デフォルトの名無しさん mailto:sage [2013/04/21(日) 18:38:11.62 ]
>>485はワーク変数すら指定してくるくらいだから
勝手にループ用の変数とか自前定数を使ったらまずいんじゃないの?
つまり先生は
TBL(1, 6) = 1
TBL(1, 7) = 2
TBL(2, 1) = 3
...
みたいな直書きしろっていう課題だったんじゃ

535 名前:デフォルトの名無しさん mailto:sage [2013/04/21(日) 19:14:15.38 ]
よく思うんだけど先生もココ見るんじゃ

536 名前:デフォルトの名無しさん mailto:sage [2013/04/21(日) 20:20:33.55 ]
>>534
じゃあ問2は変数一つでソートするプログラム作れって問題なのか
解ける気しねえな


つかそれだけワーク変数指定してるし、それが何のワークなのかは明示してないし
はしょってるだけでカリキュラムの流れがあるんじゃないかと思うんだが

537 名前:デフォルトの名無しさん mailto:sage [2013/04/21(日) 20:39:28.20 ]
>>485
できたよ〜

'Answer 1
Dim TBL(6, 7), i
For i = 1 To 31
TBL((i + 4) \ 7 + 1, (i + 4) Mod 7 + 1) = i
Next

'Answer 2
Dim TBL2(4), WO1, i
TBL2(0) = 8: TBL2(1) = 90: TBL2(2) = 20: TBL2(3) = 12: TBL2(4) = 2
For i = 0 To 24
If TBL2(i \ 5) < TBL2(i Mod 5) Then WO1 = TBL2(i \ 5): TBL2(i \ 5) = TBL2(i Mod 5): TBL2(i Mod 5) = WO1
Next

'Answer 3
Dim TBL(10, 10), i
For i = 0 To 80
TBL(i \ 9 + 1, i Mod 9 + 1) = (i \ 9 + 1) * (i Mod 9 + 1)
TBL(i \ 9 + 1, 10) = TBL(i \ 9 + 1, 10) + TBL(i \ 9 + 1, i Mod 9 + 1)
TBL(10, i \ 9 + 1) = TBL(i \ 9 + 1, 10)
Next

538 名前:デフォルトの名無しさん mailto:sage [2013/04/21(日) 21:08:14.97 ]
使用メモリが最小になるコード

処理速度が最速になるコード

2種類はよ

539 名前:デフォルトの名無しさん mailto:sage [2013/04/21(日) 22:11:27.86 ]
255未満の正数だから型を全部Byteにすれば小さくなるんじゃね

540 名前:デフォルトの名無しさん mailto:sage [2013/04/21(日) 22:29:49.11 ]
>>537
0オリジンと1オリジンが混ざってて気持ち悪い。

541 名前:デフォルトの名無しさん mailto:sage [2013/04/21(日) 23:17:56.35 ]
オリジン?



542 名前:デフォルトの名無しさん mailto:sage [2013/04/21(日) 23:27:40.74 ]
弁当

543 名前:デフォルトの名無しさん mailto:sage [2013/04/21(日) 23:30:57.13 ]
オリジン - Wikipedia
ja.wikipedia.org/wiki/%E3%82%AA%E3%83%AA%E3%82%B8%E3%83%B3

544 名前:デフォルトの名無しさん mailto:sage [2013/04/22(月) 02:08:11.58 ]
>>532
普通に7に入れて開発してるし問題は無いよ
最初がエラーになるのはUACのせい
そこでレジストリやらシステムファイルがシャドウコピーされて2回めからはエラーにならないというオチ
7は全てがユーザー単位で分けられてる真のマルチユーザー環境だからそういう動作になる
まあ、故に古いCOMなんかが意図しない動作になるんだけども
あと動作が不安定で心配ってんなら互換モード使っとき
これは95からVISTAまでのそれぞれのAPIと7の対応表を内部で持ってて
自動的に変換してくれるって機能だからそれなりに動くようになるよ
当然オーバーヘッドは有るけど、今時のスペックなら気になる事は無い

545 名前:デフォルトの名無しさん mailto:sage [2013/04/22(月) 14:07:12.82 ]
ライセンス制約突破したってレスじゃないの?

546 名前:デフォルトの名無しさん mailto:sage [2013/04/22(月) 19:13:26.84 ]
ライセンスと言えば、トランジスタ技術の記事によくMSCommをEXCELのVBAのIDEから
使う方法が載ってたりしたが、あれどう考えてもアウトだよなあ。

547 名前:デフォルトの名無しさん mailto:sage [2013/04/22(月) 22:09:16.29 ]
>>546
個人的に使うならアウトのはずないだろ
アホかよ?

548 名前:デフォルトの名無しさん mailto:sage [2013/04/22(月) 22:11:40.67 ]
0オリジンはインド人が発明したアルヨ

549 名前:デフォルトの名無しさん mailto:sage [2013/04/22(月) 22:15:38.38 ]
>>547
どんな俺様理論だよ。
VBのEULAにはそんなこと書いてない。

550 名前:デフォルトの名無しさん mailto:sage [2013/04/22(月) 22:16:43.51 ]
バレなきゃ問題ないって意味?

551 名前:デフォルトの名無しさん mailto:sage [2013/04/22(月) 22:19:10.73 ]
>>550
日本国著作権法 ○
VBのEULA     ○
2chのライセンス馬鹿 ×



552 名前:デフォルトの名無しさん mailto:sage [2013/04/22(月) 22:22:37.93 ]
あえてExcelを選択してる理由を考えれば当然のはずだが一応補足しておくと、
>>546で言ってる記事はもちろんVB6の開発環境を持ってない人向けのもの。

ついでに言えば、仮にVB6の開発環境を持っていても直でVB6に付属のコンポーネントを
VB6以外の開発環境で使うのは厳密に言えばアウトのはず。

ただこれも例外があって、少なくともVS2003の時代にはVS2003で使ってもいいですよと
EULAか何かに書いてあった。

553 名前:デフォルトの名無しさん mailto:sage [2013/04/22(月) 22:26:22.42 ]
技術情報としての記事にEULAを引き合いに出して講釈をはじめたアホがひとり

554 名前:デフォルトの名無しさん [2013/04/22(月) 22:27:34.35 ]
何でも叩きたい年頃なんでしょ?

555 名前:デフォルトの名無しさん mailto:sage [2013/04/22(月) 22:37:10.08 ]
>>553
馬鹿ってすぐそれだな。

556 名前:デフォルトの名無しさん mailto:sage [2013/04/22(月) 22:40:57.52 ]
正義の味方にでもなったつもり
月光仮面ライセンス参上!
てか?

557 名前:デフォルトの名無しさん [2013/04/22(月) 22:44:51.13 ]
今からおぼえるならC#のほうがいいですか?

558 名前:デフォルトの名無しさん mailto:sage [2013/04/22(月) 22:47:27.79 ]
言語を覚える?マジか?
いまだにリファレンスを見ないで書ける言語は一つもない
VB6なんて特にそう
ヘルプとインターネットがあってはじめて使える言語だわ
C言語の時代はそんなことが無かったのだけれども
標準ライブラリの仕様、引数の順序まで覚えていた
今の言語は情報量が多すぎて覚える気がおこらない

559 名前:デフォルトの名無しさん mailto:sage [2013/04/22(月) 22:48:29.42 ]
ライセンス云々と書いてる人は単につぶやき程度で、こうしろとかああしろとか強制してないのに
なにこのライセンス云々の内容を叩くアホはw

560 名前:デフォルトの名無しさん mailto:sage [2013/04/22(月) 22:49:19.60 ]
叩かれたと思うのは本人だけでそれ以外の人はなんとも思っていない
自己紹介乙

561 名前:デフォルトの名無しさん [2013/04/22(月) 22:50:13.63 ]
>>559
うわぁ…



562 名前:デフォルトの名無しさん mailto:sage [2013/04/22(月) 23:59:40.15 ]
>>556
ケッコウ仮面w

563 名前:デフォルトの名無しさん mailto:sage [2013/04/23(火) 13:06:49.71 ]
>>558
よかった。それが普通だよな。
ネット環境が統合開発環境の補助機能がないとVBなんて使える気がしない。

564 名前:デフォルトの名無しさん mailto:sage [2013/04/23(火) 13:47:37.41 ]
>>563
中には魔界の仮面なんとか氏のように、生き字引のような人がいるけどな

565 名前:デフォルトの名無しさん mailto:sage [2013/04/23(火) 13:53:32.64 ]
N88あたりの時代は命令数が少ないとはいえ入力支援も無いし全部覚えるしかなかったな

566 名前:デフォルトの名無しさん mailto:sage [2013/04/23(火) 13:55:27.63 ]
VBにもPEEKやPOKEがあるの?

567 名前:デフォルトの名無しさん mailto:sage [2013/04/23(火) 13:56:23.36 ]
READ D$
DATA "ABCDEFG"

568 名前:デフォルトの名無しさん mailto:sage [2013/04/23(火) 13:57:44.76 ]
1010 COLOR 5
1020 PRINT "HELLO WORLD"
1030 END

569 名前:デフォルトの名無しさん mailto:sage [2013/04/23(火) 14:00:08.96 ]
100 DIM A$, B
110 A$ = "HOGEHOGE"
120 GOSUB 200
130 A$ = "UNKO"
140 GOSUB 200
150 B = 256
160 A$ = STR(B)
170 GOSUB 200
180 END
190 REM SUB
200 PRINT A$
210 RETURN

570 名前:デフォルトの名無しさん [2013/04/23(火) 14:00:30.12 ]
1025 CLS

571 名前:デフォルトの名無しさん mailto:sage [2013/04/23(火) 14:03:17.92 ]
100 DIM I, J
110 SCREEN 3
120 CLS 2
130 FOR I=0 TO 100:FOR J=0 TO 100
140 PSET(J,I)
150 NEXT J: NEXT I
160 LOCATE 5, 6: PRINT "BASIC"



572 名前:デフォルトの名無しさん mailto:sage [2013/04/23(火) 14:05:59.36 ]
行番号がない言語はBASIC名乗っちゃいかんな

573 名前:デフォルトの名無しさん mailto:sage [2013/04/23(火) 14:14:04.81 ]
そういえば、行番号つけられるんだっけな。VB6。 つけたことないけど。

574 名前:デフォルトの名無しさん mailto:sage [2013/04/23(火) 17:01:11.97 ]
Quick BASIC..

575 名前:デフォルトの名無しさん mailto:sage [2013/04/23(火) 17:17:09.54 ]
FORTRANを忘れないであげてください!

576 名前:デフォルトの名無しさん [2013/04/23(火) 18:07:46.01 ]
物言わぬ多数派: Visual Basic 6 が今でも成功している理由 (David Platt)
ttp://msdn.microsoft.com/ja-jp/magazine/jj133828.aspx

577 名前:デフォルトの名無しさん mailto:sage [2013/04/24(水) 03:37:32.43 ]
VB6でgzipファイル扱おうと思うとtar使うとかがいいの?

578 名前:デフォルトの名無しさん mailto:sage [2013/04/24(水) 03:38:35.27 ]
そういやXPや7はOSが標準でzipを扱えたと思ったけどVB6からその機能使えるんかな

579 名前:デフォルトの名無しさん mailto:sage [2013/04/24(水) 04:26:49.30 ]
>>578
Shell32.dllを使って一度作ってみたことあるけどイマイチ動作が不安定だった覚えがある。
「vb6 zip 圧縮」でググると結構ヒットするけど。

580 名前:デフォルトの名無しさん mailto:sage [2013/04/24(水) 14:47:30.19 ]
d

581 名前:デフォルトの名無しさん mailto:sage [2013/04/24(水) 15:02:06.17 ]
場合によってはzipfldr.dllの登録が必要だったり
空のzipファイルを自前で用意せにゃならんかったり
shell32から使うのはあまりスマートじゃない感じかね



582 名前:デフォルトの名無しさん mailto:sage [2013/04/24(水) 15:12:34.74 ]
レジストリのzipのShellNewを見てみたらこちらもDataの値に空zipのバイナリが直で書かれててワロタ

583 名前:デフォルトの名無しさん mailto:sage [2013/04/24(水) 16:58:30.57 ]
>>576
LightSwitch が紹介されてるけどあれ機能が少ない上に有料でしょ?
2chにスレもない。

584 名前:デフォルトの名無しさん mailto:sage [2013/04/25(木) 20:27:48.56 ]
プロの世界は知りませんが、個人的にはへろぱ氏の偽UnZip32.dllをとても
便利に使わせてもらってます。

585 名前:デフォルトの名無しさん mailto:sage [2013/04/26(金) 09:41:12.30 ]
dllうぜえ厨だけど、VBSでのZIPのコードがどこかにあったキガス。
名前空間とかいうのをうんぬんだったっけな。

586 名前:デフォルトの名無しさん mailto:sage [2013/04/26(金) 09:43:17.30 ]
ZIPのコードというか、ZIPの圧縮、解凍のコード。
変数名がややわかりにくかった記憶がある。改修してこぴへよろ。

587 名前:デフォルトの名無しさん mailto:sage [2013/04/26(金) 13:29:06.95 ]
ZIP.VBS
www.vector.co.jp/soft/winnt/util/se355605.html

これか

588 名前:デフォルトの名無しさん mailto:sage [2013/04/26(金) 19:34:45.37 ]
VB6の標準のDBコントロール使うのとSQLite使うのとどっちのほうがパフォーマンスいいかな

589 名前:デフォルトの名無しさん mailto:sage [2013/04/26(金) 19:47:30.12 ]
SQLiteはUTF-8使えないと無理

590 名前:デフォルトの名無しさん mailto:sage [2013/04/28(日) 03:56:45.97 ]
>>483
俺とっくにマじゃないけど
.netは3.5を入れればXP〜Windows8まで対応できるから十分じゃないかな。
しかも、シェルスクリプトである PowerShell から .net を利用できるからバッチのために別の言語を覚える必要とかもない。

Win7, 8 にはそれぞれ .net 4と 4.5 が入ってるけど .net 3.5 と共存できるんだよっ!!


XPといってもいまどきのマシンなら .net入れても余裕で動くし。
メモリが少ない昔のマシンで動かすときとか
仮想マシン大量に使うときはちょっと重くなるだろうけど・・・

591 名前:デフォルトの名無しさん mailto:sage [2013/04/29(月) 00:44:55.94 ]
動くけどあからさまに遅くなるしな
いや正確には.NET向けの仕様になってないから
.NETの悪いとこばかり目立つ感じになっちゃうというか

Sub Main()からフォームをshowするだけだとそのまま終わっちゃうから
Application.Runとかに変えてーそうするとと後続処理が流れないから
Form.Loadとかに処理移してーそしたらForm.Loadより先にText.Changedが動いてて
ロード完了フラグ作って制御してーあとフォームをcloseしただけじゃ初期化されないから
めんどいからDisposeしたら再ロード遅くなってしょうがないからコントロール初期化処理入れてー
みたいな、もう一から設計やり直させてくれよ的な



592 名前:デフォルトの名無しさん mailto:sage [2013/04/29(月) 15:09:30.82 ]
それ以上の愚痴はVB.NETスレでやってくれ。
VB6の場合、Sub Mainは非表示のトップレベルウインドウで動いてるから、
フォームから動かしているのと変わらない。

593 名前:デフォルトの名無しさん mailto:sage [2013/04/29(月) 15:59:53.81 ]
へぇーありがとう
それ長年気になってたヤツ
まとめて解決だわ
ThunderRT6Mainがいつも居る謎
MainでShowして抜けても終了しない謎

594 名前:デフォルトの名無しさん mailto:sage [2013/04/30(火) 17:31:32.65 ]
Win8のストアアプリ開発しようと思ってんだけど、テキストファイルの読み込み
が従来のVB.NETのようにそう簡単にはいかなくて本当困ってる・・・
普通にテキストファイル内の文字を読み込んでボタンクリックしたらテキストブ
ロックにその内容が表示されればいいだけなんだけどね・・・
何かいい方法ないですかね?

595 名前:デフォルトの名無しさん mailto:sage [2013/04/30(火) 17:50:13.75 ]
>>594
それはVB6の話か?

596 名前:デフォルトの名無しさん [2013/05/03(金) 06:05:34.17 ]
VisualBasic だって捨てたものじゃない
ttp://el.jibun.atmarkit.co.jp/ahf/2012/07/visualbasic-6a15.html

597 名前:デフォルトの名無しさん mailto:sage [2013/05/03(金) 06:20:31.19 ]
>>596
VB.NETの話は別スレだろ。

598 名前:デフォルトの名無しさん [2013/05/03(金) 19:50:21.08 ]
VB6のクリップボードオブジェクトって
テキストと画像しか扱えないのな
プラットフォームSDKのクリップボードのAPIを見ると色々な形式に対応してるようだけど
VB6だけじゃだめなのか

599 名前:デフォルトの名無しさん mailto:sage [2013/05/03(金) 20:36:52.40 ]
API使わないと自由な形式にはできない

600 名前:デフォルトの名無しさん [2013/05/08(水) 04:47:00.55 ]
テキストと画像で充分でしょ
クリップボードでバイナリ扱おうなんて危険

601 名前:デフォルトの名無しさん mailto:sage [2013/05/08(水) 08:37:14.62 ]
なぜVBは黒歴史のような扱いを受けるのでしょうか?
それにもかかわらず今でも廃れた感がないのは何故?



602 名前:デフォルトの名無しさん mailto:sage [2013/05/08(水) 09:23:57.52 ]
誰が誰に黒歴史という扱いしているんですか?
廃れた感?あなたがそう感じてたとして、それが何?

603 名前:デフォルトの名無しさん mailto:sage [2013/05/08(水) 09:41:44.11 ]
VB6先輩こえー

604 名前:デフォルトの名無しさん mailto:sage [2013/05/08(水) 12:49:17.00 ]
黒歴史かどうかはしらんが、廃れた感は廃れ切ったから感じないだけだろ

605 名前:デフォルトの名無しさん mailto:sage [2013/05/08(水) 22:04:55.27 ]
ByRefよりByValのほうが速かった件

606 名前:デフォルトの名無しさん mailto:sage [2013/05/08(水) 22:35:59.86 ]
ByRef は基本的に速くするために使うものではない希ガス

607 名前:デフォルトの名無しさん mailto:sage [2013/05/08(水) 22:49:13.80 ]
Property Get/Let で定義したプロパティって
ByRef渡しで値変更はできないのな

'Class1.cls
Dim n As Integer
Public Property Get Value() As Integer
Value = n
End Property
Public Property Let Value(newValue As Integer)
n = newValue
End Property

'Form1.frm
Sub Hoge(ByRef n As Integer)
Debug.Print n
n = n + 1
Debug.Print n
End Sub
Private Sub Command1_Click()
Dim c As New Class1
Debug.Print "Before "; c.Value
Call Hoge(c.Value)
Debug.Print "After "; c.Value
End Sub

608 名前:デフォルトの名無しさん mailto:sage [2013/05/08(水) 23:25:27.89 ]
希ガスってなつかしい

609 名前:デフォルトの名無しさん mailto:sage [2013/05/09(木) 00:57:19.42 ]
>>607
なんかいろいろ酷い理解だなw

610 名前:桃白白 [2013/05/09(木) 01:32:20.47 ]
>>607
VB.NETではできた。
コンパイラさんがこんなコードを生成してくだすってた。
コンパイラさんマジ感謝っす。
Dim s As String = Me.Value
Hoge(s)
Me.Value = s

611 名前:デフォルトの名無しさん mailto:sage [2013/05/09(木) 01:39:23.89 ]
IntegerじゃなくStringだと!?



612 名前:デフォルトの名無しさん mailto:sage [2013/05/09(木) 01:48:35.42 ]
出来るんだよ、そう.NETではね

613 名前:デフォルトの名無しさん mailto:sage [2013/05/09(木) 01:55:07.26 ]
VB2010の無料ので試してみたけど、全然書式違うのな驚いた。ヘルプの小窓が教えてくれるし助かったというか
'Class1.vb
Public Class Class1
Dim n As Integer
Public Property Value() As Integer
Get
Value = n
End Get
Set(value As Integer)
n = value
End Set
End Property
End Class

'Form1.vb
Public Class Form1
Public Sub Hoge(ByRef n As Integer)
Debug.Print(n)
n = n + 1
Debug.Print(n)
End Sub
Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
Dim c As New Class1
Debug.Print("before " & c.Value)
Call Hoge(c.Value)
Debug.Print("after " & c.Value)
End Sub
End Class






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<211KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef