VBプログラマ質問スレ(Ver.6.0 まで) part62at TECH
VBプログラマ質問スレ(Ver.6.0 まで) part62 - 暇つぶし2ch175:デフォルトの名無しさん
13/02/28 23:28:59.80
>>172
>ポインタとはもともとは左辺値が入る変数やレジスタのこと。

一体どんな言語を前提として言ってるのかね?アセンブラかい?
だったらWORD PTRとかQWORD PTRとかを変数と呼ぶのかい?
少なくともC言語では言語仕様上ポインタは変数ではないぞ。
変数と同じように値を代入する事はできるがな。

176:デフォルトの名無しさん
13/02/28 23:30:23.30
VB6でポインタを語っている時点で終わってる訳だが?

177:デフォルトの名無しさん
13/02/28 23:31:46.23
前スレに関数ポインタをVBから実行するテクがあったな

178:デフォルトの名無しさん
13/02/28 23:33:29.67
StrPtrとかなんで隠し関数なんだ?

179:デフォルトの名無しさん
13/02/28 23:35:23.62
>>175
だから、君が本来の意味と派生的な意味の区別がついてないだけ。
馬鹿はこれだからな。人が言ってるそばからまったく。

180:デフォルトの名無しさん
13/02/28 23:35:36.60
AddressOf 演算子を変数だと言い出す奴が出現しそうだなw

181:デフォルトの名無しさん
13/02/28 23:35:47.31
仕様と実装は別じゃね
Cコンパイラがポインタを変数のように扱うかもしれんだろ

182:デフォルトの名無しさん
13/02/28 23:36:37.23
本来の意味と派生的な意味をごっちゃにしてる奴が話を混乱させているだけだろ?

183:デフォルトの名無しさん
13/02/28 23:42:34.41
「ポインタ変数」と書いてるサイト大杉ワロタ

184:デフォルトの名無しさん
13/02/28 23:50:09.01
>>183
Cの場合はポインタは型。
つまり「ポインタ変数」はポインタ型の変数と言う意味。
だから何もおかしくない。

185:デフォルトの名無しさん
13/02/28 23:51:12.24
この辺り、ポインタ変数もムーミン村とかバカボンパパと同じ系統のネーミングだなw

186:デフォルトの名無しさん
13/02/28 23:55:05.08
関数へのポインタ = 関数ポインタ
変数へのポインタ = (変数)ポインタ

ポインタを入れる変数 = ポインタ変数

関数へのポインタ = 関数ポインタ
関数へのポインタを入れる変数 = 関数ポインタ変数

ここまでいえば、ポインタとポインタ変数の
違いぐらいわかるだろ。

187:デフォルトの名無しさん
13/02/28 23:58:07.54
WORD pointer ← WORD型変数

WORD型

WORD* pointer ← WORDポインタ型変数

WORDポインタ型

188:デフォルトの名無しさん
13/03/01 00:00:57.25
WORD* pointer

WORDポインタ型

int* pointer

intポインタ型

void* pointer

voidポインタ型


?* pointer

型名を省略して、ポインタ型
そしてpointerはポインタ型変数
変数の中に入っている値 ・・・ ポインタ

189:デフォルトの名無しさん
13/03/01 00:03:24.02
>>186
まだ言ってるのか。
概念としては、アドレスを入れる入れ物としてのポインタがあくまで先。

Cには型の概念があるから、ポインタ変数の型のことをポインタと呼ぶことにした、
という順番。まさにムームン村。

190:デフォルトの名無しさん
13/03/01 00:04:59.38
> ポインタ変数の型のことをポインタと呼ぶことにした、
してない。

ポインタは変数の中に入っている値。

ポインタと
ポインタ型と
ポインタ変数は
それぞれ別

数値と
数値型と
数値型変数
といえば理解できるだろ?

191:デフォルトの名無しさん
13/03/01 00:06:20.94
だから語義を考えろって。生きてるうちに少しは頭使えよ。
pointer = point + er。

192:デフォルトの名無しさん
13/03/01 00:06:50.89
それで?

193:デフォルトの名無しさん
13/03/01 00:08:11.73
位置を支持するもの(変数)だからpointerって言うんだよ。
位置だけならただのpointじゃねえか。
こんな簡単な話がわからない奴がいるんだからな。

194:デフォルトの名無しさん
13/03/01 00:08:23.58
おまえら旧VBでポインタ扱うことあるの?ならこの話を続けてもいいよ

195:デフォルトの名無しさん
13/03/01 00:10:33.15
URLリンク(wiki.answers.com)

What is a pointer variable?
A pointer variable is a variable that contains the memory
location of another variable or an array (or anything else in memory).
Effectively, it points to another memory location.

196:デフォルトの名無しさん
13/03/01 00:11:31.11
pointerって黒板指す奴だな

197:デフォルトの名無しさん
13/03/01 00:15:49.97
#define BASE 0xA000
WORD *pointer = BASE ← これ(BASE)が位置(ポイント)

BASEがポイントであり、
pointerに入っている値(=0xA000)は
ポイントを指し示すものだから、ポインタ

198:デフォルトの名無しさん
13/03/01 00:17:28.10
>>197
馬鹿だろお前

199:デフォルトの名無しさん
13/03/01 00:19:59.89
反論できなきゃ、お前が馬鹿ってことになる。
口を出したのなら、最期までやらなきゃ自滅だよ。

200:デフォルトの名無しさん
13/03/01 00:20:03.06
defineってマクロじゃん
テキスト的にその文字列を置き換えるってだけのものなのに

201:デフォルトの名無しさん
13/03/01 00:20:59.42
東京タワーの場所 = 位置
その位置を表す数値=ポインター

202:デフォルトの名無しさん
13/03/01 00:27:28.17
2つ3つの意味を持つ言葉ってプログラミング言語にはつきものなのかな
プロセスとかパイプとか

203:デフォルトの名無しさん
13/03/01 00:27:36.24
WORD point;
WORD *pointer = &point;

204:デフォルトの名無しさん
13/03/01 00:28:33.59
>>199
反論てw
>>197に反論が必要だと思ってるのか。
厚顔無恥ってのはすごいことだね。

2行目で自分で「ポイント」だと言ってる同じ0xA000という値が、
5行目では「ポイントを指し示すもの」になってることに何も疑問を感じないのかよ。

205:デフォルトの名無しさん
13/03/01 00:31:45.50
東京タワーの場所 = 位置(BASE) = ポイント
その位置を表す数値(0xA000)=ポインタ

0xA000 = ポインタ
0xA000 を入れるための変数 = ポインタ変数

なにか矛盾でも?

206:デフォルトの名無しさん
13/03/01 00:34:39.31
変数の位置を指し示す値だからポインターだろ。

207:デフォルトの名無しさん
13/03/01 00:34:43.24
>>201
だから違うよ。そういうことじゃない。

その例えでいうのなら、たとえば首相の現在位置を表示する掲示板(そんなものがあるとして)がポインタ。
東経何度北緯何度というのはただの位置情報であって位置の指示者(ポインタ)じゃない。

208:デフォルトの名無しさん
13/03/01 00:36:20.33
結論まだ?

209:デフォルトの名無しさん
13/03/01 00:37:17.49
首相の現在位置 = ポイント

だな。

現在位置を表す値がポインタだ。

210:デフォルトの名無しさん
13/03/01 00:39:31.13
「ポインタ演算」という言葉があることを知っていれば、
ポインタは演算できるものだってわかるはずだがね。

211:デフォルトの名無しさん
13/03/01 00:39:37.77
>>209
だから違うって馬鹿か。
それは「位置情報」であって「位置の指示者」じゃない。

212:デフォルトの名無しさん
13/03/01 00:40:43.81
「位置の指示者」って変な用語だなw

ポインタは演算できるもの、すなわち
値であることは明らかだ。

213:デフォルトの名無しさん
13/03/01 00:41:53.41
>>210
納得した。確かに値だ。

214:デフォルトの名無しさん
13/03/01 00:44:16.42
しかし、「メモリ上の位置をポイントする変数 = ポインタ」というのが
ポインタという概念の出発点で、あとの用法はあくまで派生的なものだ、ってそんなに難しい話か?

まあ世の中馬鹿多いし、だいいちここはVBerのスレだからあれか...

215:デフォルトの名無しさん
13/03/01 00:49:14.63
>>214
だからポインタは演算できる値だって結論でただろ?

メモリ上の位置=ポイント
例えば特定のポイントに変数aがあるとする。
その変数aのポイントを指し示す変数b(ポインタ変数)がある。
ポインタ変数bの中に入っているのがポインタ

×「メモリ上の位置をポイントする変数 = ポインタ」
○「メモリ上の位置(ポイント)を指し示す値 = ポインタ」

ポイント と ポインタ は別物なんだよ。

ポイントが変数aの場所だとして、
ポインタは変数bに入っているんだよ。

216:デフォルトの名無しさん
13/03/01 00:55:30.01
>>215
そういう物の言い方って馬鹿特有だね。
馬鹿って何度言っても「位置情報」と「位置情報の指示者」の区別が付かないんだな。

っていうか、自分でポイントを表す値がポインタだ、って言ってて何の疑問も感じないんだから凄い。
まともな教育受けてるのか君って。

217:デフォルトの名無しさん
13/03/01 00:55:51.07
>>215
その説明読むと、ポインタは型のような気がするか?

218:デフォルトの名無しさん
13/03/01 00:56:46.99
>>216
その文章に反論が含まれてないよ?

簡略化すると、お前はわかってない。としか言ってないよね君。

219:デフォルトの名無しさん
13/03/01 00:58:06.96
>>217
ポインタ と ポインタ型 の違いは
数値 と 数値型 の違いと一緒です。

220:デフォルトの名無しさん
13/03/01 00:58:23.61
馬鹿にも分かるかもしれない別の言い方をしてみるか。

ポインタとは、戸籍(の現住所)みたいなもの。

戸籍は書き換えることができる。
そして、戸籍に載っている情報は住所だが、住所は戸籍じゃない。

実に当たり前の話だと思うんだが、こういう当たり前の話を延々されても
理解できないのが、馬鹿。

221:デフォルトの名無しさん
13/03/01 00:59:29.39
ポインタ と ポインタ型 の違いは
数値 と 数値型 の違いと一緒です。

0、1、2、3、4、5

これは何でしょうか? 数値ですね。
でもメモリアドレスとみなすと
ポインタでもありますね。

222:デフォルトの名無しさん
13/03/01 01:01:55.20
やっぱりポインタは値か。

223:デフォルトの名無しさん
13/03/01 01:06:00.12
値がポインタだとすると、その値を参照する機能は何なの?

224:デフォルトの名無しさん
13/03/01 01:10:58.24
1つの言葉が2つ以上の意味を持っちゃいけないんですか!

225:デフォルトの名無しさん
13/03/01 01:14:00.88
だったら変数でも値でもいいじゃん

226:デフォルトの名無しさん
13/03/01 01:15:17.01
>>223
ポインタ値の参照じゃね?

それともポインタ値で指し示す先にある変数を参照したいのかな?

227:デフォルトの名無しさん
13/03/01 01:16:07.78
ポインタ値で指し示す先にある変数を参照 = 間接参照

228:デフォルトの名無しさん
13/03/01 01:19:45.14
やはりポインタは値と考えるのが
一番しっくり来るな。
ポインタは計算できるものだし。
型や変数は、計算出来ない。

229:デフォルトの名無しさん
13/03/01 01:20:07.33
>>227
間接参照とは単にポインタがポイントしているデータを参照することw
恐らく機械語のindirect addresssingから来ている

230:デフォルトの名無しさん
13/03/01 01:21:26.36
>>229
ん? だからポインタが指し示すポイントにある変数を参照することでしょ?

231:デフォルトの名無しさん
13/03/01 01:23:04.59
>>230
ポインタがポイントするのは変数なんですか?

232:デフォルトの名無しさん
13/03/01 01:24:14.89
>>231
型って言いたいんでしょ?w

233:デフォルトの名無しさん
13/03/01 01:25:15.83
やっばり値がポインタだと言われても、しっくりこないなあ。
ポインタの値はただのアドレスじゃないの?

234:デフォルトの名無しさん
13/03/01 01:25:26.85
変数を参照 と 値を参照 って違うものでしたっけ?

235:デフォルトの名無しさん
13/03/01 01:26:07.88
> ポインタの値はただのアドレスじゃないの?
つまり、ポインタの値はただのアドレス(0xA000)とかってことでしょ?

236:デフォルトの名無しさん
13/03/01 01:27:09.38
>>232
mallocで確保した場所に変数なんかない

237:デフォルトの名無しさん
13/03/01 01:28:09.43
C言語においてポインタはただのメモリアドレスの値ですが
誰か違うって言っていた人いましたっけ?

238:デフォルトの名無しさん
13/03/01 01:29:45.71
>>233
全然違う概念なんだからしっくりくる方がおかしい。

ポインタ(戸籍)の値はアドレス(住所)かもしれないが、
住所が戸籍だなんて奴がいたら、そいつはかなり脳が足りない。

239:デフォルトの名無しさん
13/03/01 01:32:30.72
>>238
そこなんだよな、ポインタは値と言われると
じゃあポインタ=アドレスなのか?と言う気になる。

240:デフォルトの名無しさん
13/03/01 01:47:22.89
値の入れ物や、値を指す方法を示すものがポインタ
アドレスはその示されてる値

241:デフォルトの名無しさん
13/03/01 01:59:45.04
ちょーっと
ここVBスレなんすけど

242:デフォルトの名無しさん
13/03/01 02:00:36.52
>>239

なんでお前>>238にレスしてるの?
>>238は明らかに意味不明、馬鹿だよね。
自作自演にしか見えないよ。

なぜかっていうと、戸籍っていうのはな。
> 人の生年月日や、どこで生れたのか、両親は誰々で、
> 兄弟はいるのかどうか、そして、いつ死亡したのかなどがわかるものです。

243:デフォルトの名無しさん
13/03/01 02:13:19.42
時間が変わってバイさるから復帰か

244: 【豚】
13/03/01 02:17:26.37
そんなことより
おみくじで旧VBの将来を

245:デフォルトの名無しさん
13/03/01 02:25:32.39
多分Windows15とかなってもVBランタイムが付いてくるでしょう

246:デフォルトの名無しさん
13/03/01 02:31:20.98
Windows95くらいになってもな!

247:デフォルトの名無しさん
13/03/01 04:02:55.16
荒らしに反応する奴も荒らし

荒らしに反応する奴に反応する奴も荒らし ←俺か

248:デフォルトの名無しさん
13/03/01 04:07:40.39
ポインタ(戸籍)なんて奴がいたら、そいつはかなり脳が足りない。

249:デフォルトの名無しさん
13/03/01 04:10:36.00
もう少しタメになる話をしておくれよ
旧VBを扱わなきゃいけない案件はまだまだあるんだし
四月になれば新卒で入った新人君たちがそれらに関わるかもしれんじゃないか
有益な情報だけたのむ

250:デフォルトの名無しさん
13/03/01 08:18:43.68
pointerとpointeeの違いが分からない低能がいるのが悲しい
理解力が無く最低限の英語すら分からないで、この先技術者として生きていけるの?

251:デフォルトの名無しさん
13/03/01 09:06:43.52
話を >>161の原点に戻そう。

>変数のポインタアドレス渡すとか何か怖いな

つまりコイツが、「変数のポインタ渡すとか何か怖いな」と言っていればこのポインタ議論は発生しなかった。
「変数のポインタアドレス」と言ってしまったので、アドレスを示すポインタ+アドレスという意味不明な重複が発生した。
そこで、このバカがもしかしたらポインタの事を変数だと思っているのかも?という疑惑が生まれた。
しかしそれにしてもこれだけスレが伸びるとは・・・。
しかも最もポインタに縁遠いVB6のスレでwww

252:デフォルトの名無しさん
13/03/01 09:09:11.98
それいうなら、「変数のアドレス」だろw

253:デフォルトの名無しさん
13/03/01 09:09:55.21
ダメダメなC#と比べればVB6.0にいかにノビシロがあるかがわかるな。

254:デフォルトの名無しさん
13/03/01 09:11:10.40
>>252
「変数のアドレス」ならC言語風で言うなら &a でもいいはず。これはポインタではない。はい論破。

255:デフォルトの名無しさん
13/03/01 09:12:47.51
まだ ポインタ = アドレス だと思ってるアホちゃんがいるらしいw

256:デフォルトの名無しさん
13/03/01 09:17:57.88
ハードウェアで言うならプログラムカウンタ(PC)を変数と考えるかどうかという事だな。
JMPやCALL、PUSH、POP命令はPCの値を変更してプログラムの流れを変える。
まさにこの時、PCが変数かのようにふるまう。では代入演算命令でPCに値を入れられる命令があるかというと
そんな機械語は存在しない。なのにPCを変数と考えるのか?という談義に近い。

257:デフォルトの名無しさん
13/03/01 09:18:13.28
ポインタはアドレスだけじゃなくて型も持ってるんだよ。
だから
int* hoge;
hoge++;
とするとhogeは4足されたりする。

258:デフォルトの名無しさん
13/03/01 09:19:32.04
>>257
やっと少しまともな奴が現れたなw

259:デフォルトの名無しさん
13/03/01 09:23:42.38
気を付けなければならないのはポインタは型の属性を持っているがそれ自身に型は無いという事かな。
つまりポインタが16bitとか32bitとか64bitとかの固有のサイズを所持することはない。
もちろんsizeofで見ればバイト数は明確になるが、言語仕様上それに依存したコードを書くのは好ましくない。
(制御系では頻繁にやるが)

260:デフォルトの名無しさん
13/03/01 09:29:15.22
例えばint* hoge;で確保されるメモリは4バイト?
それとも4バイト+型情報分のバイト数?
それとも型情報はまったく別なとこで管理されてるの?

261:デフォルトの名無しさん
13/03/01 09:45:18.14
Cに限っていえば、型はコンパイラが知ってるから
コンパイルされた後に型の情報は必要ない。

262:デフォルトの名無しさん
13/03/01 09:49:16.97
なるほど

263:デフォルトの名無しさん
13/03/01 10:16:23.43
ということはポインタは型を持っているというわけではないのか。

264:デフォルトの名無しさん
13/03/01 10:22:14.45
やがて配列のポインタへの成り下がりに話題が進むのであった。
もはやVB関係ね~な。

265:デフォルトの名無しさん
13/03/01 11:51:12.83
制御系だとCのポインタのサイズはCPUのプログラムカウンタのサイズ、
いわゆるアドレス幅とイコールであることに何の疑問も抱かないのは
Cをマクロアセンブラの発展形くらいの感覚で使っているからなんだな。
同じプログラマでもアプリケーションプログラマとは感性がちがうな。

266:デフォルトの名無しさん
13/03/01 12:06:43.12
16bitのx86にはラージポインタという恐ろしいものがあってな

267:デフォルトの名無しさん
13/03/01 12:14:04.83
スレが進んでると思ったら、たいてい
VB6以外の言語の知識でVB6を説明しようとする話題だw

268:デフォルトの名無しさん
13/03/01 12:23:21.84
オワコンなんだから仕方ない

269:デフォルトの名無しさん
13/03/01 13:36:37.60
>>266
ヒュージポインタに比べたらそんなもん糞でしょ?w

270:デフォルトの名無しさん
13/03/01 17:05:31.50
オワコンだからといって荒らしていいわけではないでしょ。
スレを立てられないアホ、スルー力ゼロのアホがどれだけいるんだか。

271:デフォルトの名無しさん
13/03/01 17:55:08.31
プログラム云々関係なく俺の純粋思考の導き出す推論によると
変数とは値概念。ポインタとはベクトル概念
ただしこの両者は明確に概念として切り分けられないはず
何故なら空間的位置と数量的位置は同じものとみなすことも可能だからだ

272:デフォルトの名無しさん
13/03/01 18:51:30.62
哲学者ぶっても所詮は専門学校卒
文盲甚だしい

273:デフォルトの名無しさん
13/03/01 19:55:01.53
>>161の言葉の間違いというか認識の間違いを指摘するためだけに100以上伸びるスレとかw

274:デフォルトの名無しさん
13/03/01 20:12:38.37
>>273
かと言ってレス乞食が狙おうとすると意外に難しいんだよなぁ

275:デフォルトの名無しさん
13/03/02 07:34:05.77
>88J#の間違いでしょ

276:デフォルトの名無しさん
13/03/02 07:43:45.28
VB6の同世代ならJ++だろ

277:デフォルトの名無しさん
13/03/02 09:13:56.66
>>275
いや、C#で間違いない。J#は論外だろ?

278:デフォルトの名無しさん
13/03/02 10:02:09.27
C#は利用者数が伸びないね
インドのオフショア企業が使用しているけど
あれはJavaのソースをぶっこ抜いてC#に移植するとライセンスを隠ぺいできるため。
Javaのオープンソース資産をライセンスフリーで流用するための手段に過ぎない。
それに比べると中国系のオフショア企業はC++を使用するケースが多いように思う。
インドより中国の方が正当な事をするなんて、ちょっと信じ難いけどね。

279:デフォルトの名無しさん
13/03/02 12:32:14.48
Xamarin、C#言語によるiOS/Androidアプリ開発を実現する“Xamarin 2.0”を発表 - 窓の杜
URLリンク(www.forest.impress.co.jp)

むしろVB不遇じゃね

280:デフォルトの名無しさん
13/03/02 12:33:22.10
VBSやVBAなどで一般にも認知度の高い旧VBなんだからもっと優遇されるべき

281:デフォルトの名無しさん
13/03/02 13:04:55.86
>>279
XamarinがVisualStudio級の開発環境を提供するなんてどこにも書いてないけど?
こんなのが普及すると本気で思ってるのだろうか?

C#って基本はコマンドラインコンパイラだよ?

282:デフォルトの名無しさん
13/03/02 13:12:23.39
>>281
XamarinがVisualStudio級の開発環境を 提供する必要がないだろw

普通にVisual Studioで作ればいい。

ソースコードはあるんだ、最後に違うコンパイラを使えばいい。

283:デフォルトの名無しさん
13/03/02 19:24:59.68
わかってないなこの人

284:デフォルトの名無しさん
13/03/02 22:44:08.81
自称わかってる人が、
説明しないんだもんな。
面白いw

285:デフォルトの名無しさん
13/03/03 00:14:47.47
>>284
      - -―- 、.                          - -―- 、.
   :/..::::::::::::::::::.丶:        . . ..         :/...::::::::::::::.. ヽ:
  :/..::::::::::::::::::::::::::: ヽ:.      :,r"´⌒`゙`ヽ:       :/ ..:::::::::::::::::::/\ ヽ:
  :i.::::::::::::」:::」:::」::」」i l:     :/ ,   -‐- !、:     :/..:::/::::/::::// ヽ l:. l.:
  :|::::::::::o゚▲   ▲o:    :/ {,|f  -‐- ,,,__、):    :l:::::!:o゚(●)  (●)゚o:|:
  :|:::::::::| "" .♭""l |:  :/   /  .r'~"''‐--、):    :!:::l::::l ~"  ,,   ~ l:i:l:
  :|::::::::|、 r‐― ァノ :|::,r''"´⌒ヽ{   o゚(●)ハ(●)゚o:    :ヽ:i::!、 r‐― ァ ノノ':
:, -‐(⌒)\ヽ⌒ノイ::::::|:/:    :\  (⊂`-'つ)i-、: :, -‐(⌒)\ヽ⌒ノ/.
:l_j_j_j と)\__フヽ::::::|:       : `|. (__,,ノヽ_ノ,ノ :\:l_j_j_j と)\__フヽ:
  :|::::ヽ    :i |:::::|: :, -‐(⌒)   :l  ヽ⌒ソ ,ノ   :ヽ   :ヽ    :i |:
  :|::::::|   :⊂ノ|:::::|: :l_j_j_j と)  :| 、、_フj''  :⊂ノl:   :|  :⊂ノ|:

286:デフォルトの名無しさん
13/03/04 01:06:12.18
以上の事なんか全く解らなくても適当に作れちゃうのが旧VB
困ったもんだ

287:デフォルトの名無しさん
13/03/04 09:01:19.81
まあC#がノビシロのない言語であることは認める。
JavaもOracleになってから先が見えてきた。
VBが一番良いとは思わないが
プラットフォームがWindowsオンリーなら最強だろう

288:デフォルトの名無しさん
13/03/04 13:42:58.25
つC++

289:デフォルトの名無しさん
13/03/04 14:04:23.11
C#はC++よりマイナー

290:デフォルトの名無しさん
13/03/07 00:23:06.31
テキストブラウザでも作るか

291:デフォルトの名無しさん
13/03/07 20:46:49.84
あの頃の勢いはもう無い

292:デフォルトの名無しさん
13/03/09 01:54:36.75
虫籠(ホイホイ)に入れました。

293:デフォルトの名無しさん
13/03/09 15:28:39.37
phpもJavaもVBもCもC#もも経験してきた俺が言う。

C#は良い。

.NETになってからのVBとC#を単に比較すると、
ラムダ式とかの機能的な面で違いはあるが、オブジェクト指向的な
面でどっちでもいい。

ただし、

  If(条件){
  }

と書くか

  If 条件 Then
  End If

と書くかで、タイプ量の違いで、俺はC#が好みである。

294:デフォルトの名無しさん
13/03/09 15:34:40.49
vb.net使ってると毎日のように
もうC#でいいじゃんって思うな

295:デフォルトの名無しさん
13/03/09 15:43:13.29
旧VBでC#の宣伝するなウィルス野郎が!

296:デフォルトの名無しさん
13/03/09 16:11:56.25
>>293
タイプ量って重要ですよね。

僕もタイプ遅いから文字数が倍違うと
仕事の速さも倍違います。

297:デフォルトの名無しさん
13/03/09 16:13:18.73
.NETはインテリセンスとかいうので自動補完してくれんじゃねーの?
ここは旧VBスレだ.NETは巣に帰れ

298:デフォルトの名無しさん
13/03/09 18:14:00.03
c#は
if ()
{
}
ってなるから嫌い

299:デフォルトの名無しさん
13/03/09 18:30:53.65
プログラミングの本質ともいえる要素のブロック化をもっとも端的に表現できるのが{ }という記号だろう

() という記号も実はその派生形なわけだが ()と { }の違いは?

300:デフォルトの名無しさん
13/03/09 18:49:05.09
>>299
態々VBスレでやる必要ないだろ。
というよりスレタイが読めないくらい日本語できないってことか。

301:デフォルトの名無しさん
13/03/09 19:19:59.29
>>299
どの位置にカーリーブラケットが来るかって話じゃないの?
if () {
}

if ()
{
}

302:デフォルトの名無しさん
13/03/09 19:28:47.23
>>301
スレタイを死ぬまで声出して読め。

303:デフォルトの名無しさん
13/03/09 21:12:13.30
If *** Then
End If

If *** _
Then
End If

304:デフォルトの名無しさん
13/03/09 21:19:53.72
>>302
こwとwわwるw

305:デフォルトの名無しさん
13/03/09 21:50:11.56
インタプリタならなんでもいい。
VB6のインタプリタIDE環境に慣れた体には
エディット、コンパイル、リンクのビルド型環境にはもう戻れない。

306:デフォルトの名無しさん
13/03/09 22:38:52.76
そんなあなたにF#
インタープリタ付だぜ

307:デフォルトの名無しさん
13/03/09 22:39:59.56
インタプリタIDEって何のこっちゃ。
言っちゃ悪いが馬鹿丸出しだな。

308:デフォルトの名無しさん
13/03/09 23:39:25.87
>>307
そんな事にバカ丸出しで反応してるお前が滑稽で笑えるんだが?

309:デフォルトの名無しさん
13/03/09 23:40:45.52
普通はスルーだろ なにが癇に障ったとか

310:デフォルトの名無しさん
13/03/09 23:41:17.50
放っておいてやれよ

311:デフォルトの名無しさん
13/03/09 23:41:49.64
うむ

312:デフォルトの名無しさん
13/03/09 23:42:37.06
>>307
滑稽というかアホ猿w

313:デフォルトの名無しさん
13/03/09 23:48:42.96
触るとはじけるホウセンカの種
インタプリタIDEではじけたホウセンカの種
こっち飛んでくんな!wwwwwwwwwww

314:デフォルトの名無しさん
13/03/12 19:35:10.40
VB6に良いとこはある。
C#に良いとこはある。
VB.NETに良いとこはある。
Javaに良いとこはある。

ガベコレの無いCとC++にも良いとこはあるが
ガベコレの無い時点で、もう関わりたくない言語と言える。
まあガッツリ組み込みで高速な動作させたいんなら必須だけど。

315:デフォルトの名無しさん
13/03/14 02:10:35.06
VB6ぐらい簡素な方が楽だと思った

316:デフォルトの名無しさん
13/03/14 11:11:07.31
windows7で使ってる?

317:デフォルトの名無しさん
13/03/14 14:54:32.31
yes

318:デフォルトの名無しさん
13/03/16 03:14:03.30
サードパーティ製のCOMなんかは怪しい動きするけど
まあ社内用アプリ程度なら管理者権限付けとけば大概動くし
敢えて仕様がガッサリ変わっちゃってる.NETに移行する気は起きないというか
移行プロジェクトで死んだからもうやりたくない
動くものはそのままそっとしておくのが良いな

319:デフォルトの名無しさん
13/03/16 04:28:26.01
動いているシステムは良いシステムだ。
至言だ。

320:デフォルトの名無しさん
13/03/16 12:20:43.28
>>318
VBの場合、.netへ移行なんて無理。移行できるとしたら陳腐なソフトだって事。
Twipsのスケーリングに依存するようなアプリはまず移行不可、つ、大多数がそうだがw
ゼロから作り直した方がいい。いいと言うかそれしかない。
現物のVB6で仕様が明確になっている分新規より楽だろ?

321:デフォルトの名無しさん
13/03/16 16:24:56.77
新規で作り直す価格より旧VBのメンテの料金を吊り上げればいいのだよ

322:デフォルトの名無しさん
13/03/16 20:44:31.47
>>320
現物で仕様が明確になってるが故に数値は全部Long、配列での力技のデータ操作、自作Round関数が移行されるんですね

323:デフォルトの名無しさん
13/03/21 18:58:14.25
Windows Blue はWindows8 RTなんだよね? VB6 が動かないのは当たり前じゃないか

324:デフォルトの名無しさん
13/03/22 00:25:29.20
>>323
え?
Windows8.1だろうと思ってた…

325:デフォルトの名無しさん
13/03/22 07:10:41.68
何でお前ら移行しないの?

326:デフォルトの名無しさん
13/03/22 11:45:44.28
>>325
お客にあわせるから

327:デフォルトの名無しさん
13/03/22 11:48:03.86
Blueといえばブルースクリーン

328:デフォルトの名無しさん
13/03/22 12:18:25.22
Windows8?バージョン8とか古すぎワロタw 俺なんてWindows95だぜバージョン95だ!

329:デフォルトの名無しさん
13/03/22 13:09:41.93
つマンネ

330:デフォルトの名無しさん
13/03/23 09:21:42.50
つマンネどころじゃないだろ?こっちは即死だわ

331:デフォルトの名無しさん
13/03/23 09:41:22.71
死体はしゃべるな

332:デフォルトの名無しさん
13/03/24 00:44:43.72
>>322
自作Round関数は無いけど、配列での力技のデータ操作はやってる。

なぜならば…

VB6のコレクションって、なんでも入るっしょ。
Javaのような静的型付が無い。

いや、専用のCollection作るっていう手もあるけど、
VB6はパッケージの仕組みがないから、モジュールばっかり
やたら増えて管理しにくくなるのよね。

だからJavaでいうところのmodelは、配列で操作してる。

尚、コントロール配列はほとんど使ってない。
なぜならば、別に用意したクラスの中にWithEventsで格納してしまうケースが
多いからだ。コントロール配列にすると、これで不都合が増える。

333:デフォルトの名無しさん
13/03/24 15:23:07.55
332>>
>>配列での力技のデータ操作
もう少し詳しく聞いてみたいかも

334:デフォルトの名無しさん
13/03/24 19:16:04.33
↓のようにobjにCommandButtonを入れておいてobjのClickイベントを呼び出させるようなことはできますでしょうか?

Dim obj As CommandButton
If なんちゃら Then
 Set obj = XXXX
Else
 Set obj = YYYY
End If

335:デフォルトの名無しさん
13/03/24 19:19:43.89
やった事無いけどググったら.Value=Trueで出来るみたい

336:デフォルトの名無しさん
13/03/24 19:22:04.21
>>335


337:デフォルトの名無しさん
13/03/24 19:23:26.69

obj.Value=True
でクリックイベント発生しない?

338:デフォルトの名無しさん
13/03/24 20:53:50.47
Call Command1_Click()
でいいだろ

339:デフォルトの名無しさん
13/03/24 21:30:08.90
>>335
ありがとうございます!

Valueプロパティのヘルプみたら

コマンド ボタン コントロールの場合 - 真 (True) はそのボタンが押されたことを示します。既定値は偽 (False) で、そのボタンが押されていないことを示します。コードで Value プロパティを真 (True) に設定すると、そのボタンの Click イベントが呼び出されます。

と書いてありました。

どうググったらその回答にたどり着いたのかもしよければ検索ワードを教えてくださいませんでしょうか?


>>338
最悪、それぞれにXXXX_ClickやYYYY_Clickとやること考えたのですができればobjでClickイベントを呼べた方がいいなと思ったんです。

340:デフォルトの名無しさん
13/03/24 22:25:36.15
>>334
それ、ローカル変数みたいだけど、
モジュールのメンバにして、

Private WithEvents obj As CommandButton

ってしてやると、イベントを拾ってくれるよん。

341:デフォルトの名無しさん
13/03/24 22:28:43.39
「CommandButton clickイベント 発生させる」でググると検索結果1ページ目の下のほうに「IT工務店 店主のつぶやき日記」サイトがあってVBAでそのクリックの話してるね

342:デフォルトの名無しさん
13/03/24 22:29:22.51
RaiseEventじゃ出来んのか?

343:デフォルトの名無しさん
13/03/25 22:42:34.17
VB6の書籍はいっぱい出てるのに、
コントロールの使い方みたいな本ばっかだから
VB6に手を出してちょこっと動くものができました、
けど難しい事はできません、みたいな人はそれなりにいる。

OPPの基本的なところから、っていう学習の仕方しようとしたら
VB6って絶対向いてない。

344:デフォルトの名無しさん
13/03/25 23:22:30.27
実装継承が出来ない時点でおわってるんだけどね

345:デフォルトの名無しさん
13/03/25 23:50:15.19
>>344
俺はJavaや.NETから入ったんで、OOP的なやり方はもちろん
わざわざVB6で学習し直す事は無かった。

VB6でできるのは、ごくごく簡単なOOPの使い方ぐらいなのはわかってる。
継承が無いから使えるデザインパターンも限られる。
抽象メソッドも使えない、インナークラスも使えない、あれもこれもできない…

が!!!

やっぱOOPの良い所って、Cでいう構造体にメソッドも梱包して
データ処理をものすごく簡潔に記述できる点は大きい。
VB6でクラスが扱えるのは、それだけで助かるとは思う。

基本的にシングルスレッドだから、余計な事も考えずに設計できるのも良い。
まあマルチスレッドを扱いたい事もしばしばあるけどな。

で、VB6の良いところはあるのに、書籍が充実してないから
VB6からプログラム始めて、ロクでもないプログラムしか書けないってところに
>>343の意図がある。

346:デフォルトの名無しさん
13/03/26 00:18:13.02
10年前に終わってる言語に何を言ってるのアホか。
っていうか言っちゃ悪いけど>>343みたいなポエマー丸出しの文章、よく恥ずかしげもなく書けるよな。

347:デフォルトの名無しさん
13/03/26 01:54:33.09
良く解ってないけどなんとなく作れたってのが旧VBの仕様だからな
○○が使えない、ってんじゃなくて使う必要が有るならVBを選ぶなってのが正解
それはMS自身が言っている事だ

348:デフォルトの名無しさん
13/03/26 10:36:53.78
そうそう、そのとおり。
だから今でもVB6が生き残ってる。
VBAも進化させない。

349:デフォルトの名無しさん
13/03/26 10:41:49.16
そもそもOOPとして設計されてない言語を無理やりオブジェクト指向にしたのがVB6
OOPに向いてないのは当たり前

350:デフォルトの名無しさん
13/03/26 13:12:40.47
せめてフォーム名で呼び出しできないようにしてくれてたら
せめてコンストラクタに引数つけることができてたら
せめてオーバーロードができてたら

351:デフォルトの名無しさん
13/03/26 13:14:13.00
VB6はソースがスパゲッティすぎてバージョンアップできなかったらしいな

352:デフォルトの名無しさん
13/03/26 21:19:04.54
>>349
その無理やり部分だけでも、かなり便利なもんだよ。
非OOP時代のVBに比べて。

クラス内にデータ突っ込んで、適宜メソッドで計算結果出せる
っていう設計ができるだけでかなり便利。

構造体と関数でやってると、バラバラになるから…

>>350
フォーム名の呼び出し禁止はForm_Initializeで
  Set フォーム名 = Nothing
で、禁止できる。規定のインスタンスを切るだけだけど。

引数付きコンストラクタとオーバーロードは俺もそう思う。
いや、引数付きコンストラクタだけでもいい。

353:デフォルトの名無しさん
13/03/26 21:33:25.44
既定のインスタンス(だっけ?)なんか使わなければいいだけ。

コンストラクタは、たとえばクラス名がHogeならそれに適当なプリフィクスを付けた
名前(たとえばcHoge)のモジュールをクラスの静的メンバーの入れ物だとみなす
約束にしておけば、ほとんど機能的にも可読性上も同じことができる。

VB6にはメソッドのオーバーロードがなくても名前付き引数がある。

ま、10年以上まともなコードは書いてませんけどw

354:デフォルトの名無しさん
13/03/26 21:34:07.75
逆にシングルトンとか、既定のコンストラクタを隠すことはどうやってもできないけどね

355:デフォルトの名無しさん
13/03/26 22:48:22.77
>>353
そして数年後そのコードをメンテナンスする奴が、Factoryメソッドを無視してNewしたりしちゃうんですよ

356:デフォルトの名無しさん
13/03/27 00:05:57.78
>>354
シングルトンは標準モジュール使えばいいだろう。
ただ、スレッドセーフにはできないけど。

357:デフォルトの名無しさん
13/03/27 00:21:17.85
>>356
VB6に限らないが、そのやり方はstaticおじさんみたいで気持ち悪い...のはまあいいが、
柔軟性が低い(後でインスタンス化する必要が生じた時に簡単にできない)

358:デフォルトの名無しさん
13/03/27 01:58:20.09
下手にVB.NETに機能引き継ぎしないで欲しかった
フォーム名で呼び出せたり暗黙でNewしたりするかもみたいな妙竹林な動作させやがって
そういうのはVB6でしか出来ません!ってなってれば移行なんて無謀な話は出なかった
俺はちゃんとしたプログラマじゃねーんだからなんとなく動いてくれてりゃ良いんだよ
もうVB6最高、アバウトで適当なのが一番だよ
DB参照してデータ表示するだけなんだから厳密もクソもねぇよ

359:デフォルトの名無しさん
13/03/27 02:54:16.07
既定のインスタンスは.NETで一回廃止したのに復活した経緯があるからなぁ
あれは廃止したままにしとくべきだと思うが

360:デフォルトの名無しさん
13/03/27 10:34:59.45
PDFやXPSなどファイルでプリンタに出力するとき、ファイル名まで指定して自動的に保存する方法ないですか?

361:デフォルトの名無しさん
13/03/27 10:41:28.83
iText.netを使う

362:デフォルトの名無しさん
13/03/27 11:10:13.79
J#ですか?

363:デフォルトの名無しさん
13/03/27 12:00:02.56
ファイルに保存するのはプリンタドライバの機能だからドライバによるんじゃね

364:デフォルトの名無しさん
13/03/27 13:02:45.59
VB6用のオブジェクトが市販であるかなと思ったんですが見つからなくて。

365:デフォルトの名無しさん
13/03/27 14:08:15.77
VBプログラマ質問スレ(Ver.6.0 まで) part62

366:デフォルトの名無しさん
13/03/27 14:09:01.13
↑ごめんまちがった^^;

PDFへの保存ならGrapeCityのVSVIEWつかってやったことがあるよ

367:デフォルトの名無しさん
13/03/27 14:14:19.11
>>360
URLリンク(internet.watch.impress.co.jp)

GrapeCityはもう扱ってないので

URLリンク(www.eprintdriver.com)

英語版だが日本語環境でまったく問題ない。

368:デフォルトの名無しさん
13/03/27 14:28:19.38
>>367
ありがとうございます。
これVB6に対応してるんでしょうか?

369:デフォルトの名無しさん
13/03/27 15:04:34.62
>>368
COMに対応しています。画像ファイルで印刷結果を直出させるプリンタドライバをCOMで制御できます。
仕事でVB6はあまり使わないのですが、それでも2回VB6で納品しました。
自分はVB6を使うとき、だいたいクラスが全コードの9割以上を占めます。

決してオブジェクト指向な言語ではないですが、オブジェクト指向の便利な特徴を使えるので
VB6は言語としては悪くないとおもいます。ただ今時使ってたらちょっと恥ずかしい。

370:デフォルトの名無しさん
13/03/27 15:13:22.43
>>369
>>369
ありがとうございます、試してみます。
VB6から移行しなくてはと思ってはいるのですが、どの言語を選んで良いのか迷ったままズルズルときてしまいました。
Cはマイコンレベルでは多少経験がありますが、素直に.NETにするべきですかね?

371:デフォルトの名無しさん
13/03/27 15:17:52.32
ここまできたんだから、そのままズルズル生きていけばいいじゃないか

372:デフォルトの名無しさん
13/03/27 17:32:11.78
>>370
仕事でプログラミングをしている場合、新しい言語の習得は
その言語での開発依頼から始まると言っていいでしょう。
会社で新しい言語を習得したいので勉強する時間をくれとか言って通るはずもなく
また家で勉強しようと思っても休みの日は休みたくなるし
なんだかんだ言って先送りしてしまうのがオチでしょう。

まあ当該言語バージンの担当者に当たったクライアントは可哀そうですが
家電製品や車だってファーストロットは問題アリアリだし、バレないように手直しして
なんとか最後は一流のものに仕立て上げている訳です。

VB6だって始めたころに書いたコーディングなんて恥ずかしくて人に見せられません。
C言語の癖で配列の要素を必ず必要とする数から1つ多く設定してしまったり
Dimでの連続変数宣言で、実は1個しか型指定できてなくて残りは全部バリアントだったとか
それでも動いていて今でもサポート料金を月に30万円も払ってくださるクライアントがいるのですから
とにかくプロならなんとか乗り越えないと恥ずかしいです。

373:デフォルトの名無しさん
13/03/28 09:37:45.93
>>372
全くもっておっしゃるとおりです。
殆どの仕事が、ベースになるプログラムを元に客先のスタイルに合わせて多少のアレンジをするといったスタイルなので、
実績という意味ではVB6で10年以上やってきて、バグフィックスもほぼ終わってるプログラムを維持したいというのが本音です。

新たな言語に移行する場合は、ノウハウはゼロですので、最低でも数ヶ月は社内で稼働させて動作を検証してから製品化するつもりです。
それでも信頼性はがた落ちですが、メーカーがサポートしていない言語を使い続けるよりは良いのでしょうね。

374:デフォルトの名無しさん
13/03/28 10:04:18.08
>>373
>メーカーがサポートしていない言語を使い続けるよりは良いのでしょうね。

これは一概になんとも。。。

たとえばVB6を使用していた期間、かれこれ10年くらいはありましたが
その期間にVB6についてマイクロソフト社にサポートを受けた事は一度もありませんでした。
もちろん、サービスパックは必ず最新のものを導入していましたのでバックグラウンドではサポートを受けていた事になります。
もしVB6を使用する上で何らかの致命的なバグに遭遇したり、新しいWindowsでの振る舞いに対応できなかったり
色々問題に遭遇することはあるかもしれませんが、原因を切り分けし問題を自己解決できれば
可能な限りVB6を使い続けても問題があるようには思えません。

逆にマイクロソフトにサポートされているからその言語は安全かと言えばとんでもない。
開発しソフトウェアの品質を最も大きく左右するのはマイクロソフト社ではなく、プログラマーのあなたご自身です。

375:デフォルトの名無しさん
13/03/28 10:35:40.03
>>374
VB6が動作するOSが問題だと思います。
XPを計測制御関係など専用のOSとして供給し続けてくれるならVB6を使い続けますが、
vista以降、開発環境での動作は保証されてなく、実際に問題も生じています。
動作環境でもprogramfilesや互換性ファイルなどの扱いもあるので、そろそろ潮時かなと。

376:デフォルトの名無しさん
13/03/28 15:26:48.41
>>375
メーカーのサポートが打ち切られた開発環境を使用する以上
自分で工夫して問題を解決できなくなったらその時点でアウト。
アウトになってからでは遅いので、アウトにある前に対応しておくのがプロというもの。

しかし現時点においてWindows 8上でも問題を回避してVB6の開発環境を使用可能。
問題はWindowsよりも64bit対応の方かも知れない。少なくともIDEはまともに動かないし
ランタイムも64bitネイティブでは動作しない。アプリの互換に比べればOLEの互換を保つ
難しさは計り知れない。

377:デフォルトの名無しさん
13/03/29 00:30:50.96
勘違いしてる人が多いようだがVB6はサポートされてます
だって動いてるだろ?わざわざ動くようにしてあるって事だよ。
移行ガイドまで用意してくれてる親切設計だし、普通のメーカーだったらここまでサポートしない。
動かないので乗り換えて下さい、で終わりだよ。

そしてVB6自体は今後のWindowsでもサポートされ続ける可能性が高い
7でも8でも最初はサポートしないと言ってあっさりひっくり返ったからね
周りがそう簡単に止めさせてはくれないのだろう

>>376も言ってるけど問題はそれ以外だよな
ドライバとかドライバーとかDriverとか

378:デフォルトの名無しさん
13/03/29 01:05:22.84
ごちゃごちゃいってないで公式で発表してるんだからそれよめよ

Windows Vista、Windows Server 2008、Windows 7、および Windows 8 に対する Visual Basic 6.0 のサポートに関する声明
URLリンク(msdn.microsoft.com)

Visual Basic チームは、Visual Basic 6.0 アプリケーションが Windows Vista、R2 を含む
Windows Server 2008、Windows 7、およびWindows 8 でも "動作する" よう、その互換性に向けて努力を続けています。


Windows 8

このサポートに関する声明が最初にリリースされた後に Windows 8 オペレーティング システムが発表されました。
このドキュメントは、Windows 8 における VB6 に対するマイクロソフトのサポートを明確にするために更新されています。

VB6 ランタイムは Windows 8 のサポート有効期間中はOSに同梱される形で出荷され、サポートされます。
Visual Basic 6.0 ランタイム ファイルは今後も 32 ビットのみであり、すべてのコンポーネントは
32 ビット アプリケーション プロセスでホストされている必要があります。 開発者の方は、Windows 7 の
場合と同様のサポートが Windows 8 についても受けられると考えていただいてかまいません。

379:デフォルトの名無しさん
13/03/29 01:53:36.65
32bitエミュレータとかそゆの出せば売れるかも

380:デフォルトの名無しさん
13/03/29 09:35:34.79
VB6製品のサポートが継続されているとか調子こいてるバカ。よくみろ。
IDEはすでにVista以降サポートされていない。
開発側ではランタイムは動くみたいだから使ってもいいよ的な考えなのに
カッコつけてガンバッテサポートシテイマス!と言っているのは広報だけ。
実情はVB6のサポートなんか特になにもやってないので
動かなくなったらTHE END
ただそれだけ

381:デフォルトの名無しさん
13/03/29 09:39:26.96
>>378
Windows 8でVB6をサポートしていると言い切るなら
IDEの画面に他の画面が重なった後に画面がリペイントされないで消えてしまう問題を早く解決しろよ
Windows XPからずっとこのまま我慢してるんだけど?
この嘘つき広報さんwww

382:デフォルトの名無しさん
13/03/29 09:51:37.82
XPからって…
ウインドのリフレッシュが甘いWindowsの持病のほうじゃなく?

383:デフォルトの名無しさん
13/03/29 10:26:43.49
>>380
IDEはサポートされない。
ランタイムはサポートされる(Windows 8発売から10年間)。
ただそれだけだ。

384:デフォルトの名無しさん
13/03/29 13:10:22.45
でもサードが壊滅状態だからなぁ

385:デフォルトの名無しさん
13/03/29 13:25:36.77
だからVB.NETがあるじゃねえか

386:デフォルトの名無しさん
13/03/29 13:48:23.14
>>382
テーマを使うと下になった画面がペイントされないんだよ。VisualStyleと関係があるみたい。
パフォーマンスを優先せずにWindows 2000みたいな画面で使えば問題は回避できるけど
まあ普通はやらない罠

387:デフォルトの名無しさん
13/03/29 13:53:31.38
>>384
GrapeCityなんかは海外のコンポーネントの開発元ではActiveX版を出している製品でも
.NET版しか存在しないようなフリをして売っているよね。
アセンブリとActiveXの両方をサポートするとなると人件費コストが嵩むから
消費者のニーズがないように思わせて、今や.NET一択というアピールをしているけど
皮肉なことにその.ユダヤ人的な高慢なビジネスロジックが、最新の開発環境への移行スピードを
めちゃめちゃ後退させている事にまだ気づいていない。

388:デフォルトの名無しさん
13/03/29 14:05:27.82
え?

389:デフォルトの名無しさん
13/03/29 17:03:55.83
真昼間からヒマなプロプログラマさんが多いこと

390:デフォルトの名無しさん
13/03/29 17:52:57.44
ここはVB土方質問スレ(Ver6.0まで)と言った方がいいのはさておいて
当方人件費コスト0だし、製品版ActiveXなど不要だし
好き勝手に使っているだけだし
そうかWindows 8でもIDEとりあえず動くのか、10nenは
それにまだWindows 9でもつかえる可能性も残ってるし、どれだけお気楽なの?

391:デフォルトの名無しさん
13/03/29 18:19:41.23
サードって何?

392:デフォルトの名無しさん
13/03/29 19:51:02.15
>>387
同じ製品の英語版を海外サイトから買った方が安い
日本語問題無く使えるし

393:デフォルトの名無しさん
13/03/29 19:52:17.54
>>390
VB使いにドカタは少なかろう。
ドカタと言えばJavaだ。

394:デフォルトの名無しさん
13/03/29 19:58:38.66
WinHTTP MSXML Tar.libを使って2chブラウザを作ろうと思ふ

395:デフォルトの名無しさん
13/03/29 22:22:30.26
ごちゃごちゃいってないで公式で発表してるんだからそれよめよ

Windows Vista、Windows Server 2008、Windows 7、および Windows 8 に対する Visual Basic 6.0 のサポートに関する声明
URLリンク(msdn.microsoft.com)

Visual Basic チームは、Visual Basic 6.0 アプリケーションが Windows Vista、R2 を含む
Windows Server 2008、Windows 7、およびWindows 8 でも "動作する" よう、その互換性に向けて努力を続けています。



Visual Basic 6.0 IDE
2008 年 4 月 8 日以降、Visual Basic 6.0 IDE はサポートされていません。

Visual Basic 6.0 ランタイム
サポート対象のランタイム ファイル - OS に同梱されているファイル ほとんどの
アプリケーション シナリオで使用される Visual Basic 6.0 ランタイム ファイルの主なものは
Windows Vista、Windows Server 2008、Windows 7、または Windows 8 に同梱されており、
これらの OS の有効期間にわたってサポートされます

396:デフォルトの名無しさん
13/03/29 23:04:47.41
問題はVB6のランタイムそのものじゃなくてVB6のアプリ動かす上で使うその他ライブラリが動かないとかなかったっけ?

397:デフォルトの名無しさん
13/03/29 23:06:43.99
ごちゃごちゃ言うなカス

398:デフォルトの名無しさん
13/03/29 23:15:48.19
会社のコンピュータ一新するなら使ってた業務用アプリも一新して再開発依頼とかすればいいのに、設備投資の一部やろ、VB6のアプリが動くからって使い続けるのがおかしい、
あと古いコンピュータ使い続けるとこもおかしい、普通に新しいマシンにしてアプリなり作り直せば、プログラマ周りの景気が潤うのに

399:デフォルトの名無しさん
13/03/29 23:35:51.61
制御系なんて数千万~億だぜ?簡単に変えられねえよ
作った会社も当時の人間を切ってメンテできないし

400:デフォルトの名無しさん
13/03/30 01:52:40.97
>>398
ひょろっと出来るようなやつは当然そうしてるだろ
そうそう簡単に行かない、移行に年単位が想定されるようなやつの話だよ
ただまあ今だにシステム部門は非生産部門みたいな考え方が生き残ってるのも事実
モノ造り日本も良いけど、その為の下地や周りを整えてるのはシステムだっつー事に気が付いて欲しいやね

ま、現状VB6は動くしこれからもきっとサポートされ続けるよ
ExcelマクロやAccessをこの世から消さない限りね
そしてそれは不可能に近い

401:デフォルトの名無しさん
13/03/30 02:01:06.19
この世界で一番使われているシステム
それはJavaでもCでももちろんVBでもなく、Excelシステムである
企業個人を問わずありとあらゆる場所に入り込んでブラックボックス化している
MS一番の成功にして一番の頭痛の元である

おかげでしがないVB屋でもなんとか食い繋いで行けてるんですが

402:デフォルトの名無しさん
13/03/30 02:01:18.86
そもそも作り直しが難しい仕組みにしている
プログラマ自信の問題。

機能も何も増えないのに、作りなおしだけで大金を
払えといって納得できるわけ無いだろう。

VB6からVB.NETへの移行ツールは存在した。
もとからメンテしやすい仕組みで開発し、
移行ツールで対応できない部分を徐々に
書きなおしたりしていれば安く移行できたはずだ。

もVB6からいきなり最新のVB.NETに変更するのではなく、
VB.NETが出た時点で徐々にバージョンを上げていく。
.NET同士は互換性があるのだから一旦VB.NETにしてしまえば、
モジュール単位でC#に移行することだって可能だったはずだ。

アプリ開発会社が安く移行するための
技術力を持っていないからこうなる。

403:デフォルトの名無しさん
13/03/30 02:45:11.57
作り直しで大金って
設備投資ってそんなもんじゃねえの
大型建設機械だろうがラインロボットだろうが古くなったら一新するだろ
コンピュータやソフトウェアを軽視しすぎなんだよ、古くなったものを一新するのはソフトウェアでも一緒で金がかかるもんであり必要なんだって意識がなさすぎ

404:デフォルトの名無しさん
13/03/30 02:51:14.77
>>403
だがいきなり全部入れ替えることないだろ。
ソフトウェアもそうしろって言ってんの。

新しい部分と古い部分をうまく融合させ
徐々に移行できる体制を整えろってーの。

405:デフォルトの名無しさん
13/03/30 10:26:55.57
電子データは劣化しない

406:デフォルトの名無しさん
13/03/30 10:51:17.92
VB6から.net VBへの移行に関しては、プログラムの組み方とか言う次元以前に難しい問題が山積みなんだよ。
だから移行なんて考えずに、元のソフトを仕様書だと思ってゼロから作り直すのが合理的だって事は
実際に作業をしている人間なら余程のバカでない限りわかるはず。
作り直しが難しい仕組みにしているのが問題とか言ってる奴はたぶん何も知らないで言ってる

                   只野キチガイ

407:デフォルトの名無しさん
13/03/30 14:12:12.19
ソフト開発で一番工数がかかるのが設計だから
VB6から.netへの移植なんてほとんど工数かからない。

408:デフォルトの名無しさん
13/03/30 14:57:22.64
そうだよなVBなんていじってる奴は馬鹿

409:デフォルトの名無しさん
13/03/30 16:33:40.82
おまえら働けよ まったく

410:デフォルトの名無しさん
13/03/30 18:45:00.19
同じ仕様で移行するケースなんてレアじゃね?

411:デフォルトの名無しさん
13/03/30 19:38:56.38
不便だと感じてて改善してほしいとこや
不要な機能を外してほしいとか
仕様が変わるってことか?

412:デフォルトの名無しさん
13/03/30 21:07:08.50
集まるなよVB6時代の老兵どもw

413:デフォルトの名無しさん
13/03/30 21:12:40.11
WinHTTP MSXML Tar.libを使って2chブラウザを作ろうと思ふ

414:デフォルトの名無しさん
13/04/02 01:31:42.57
どっかで見かけた内容だな

415:デフォルトの名無しさん
13/04/02 02:57:16.89
逆に全く同じにって言われるとそれはそれで困ったりとか
基本的な仕様が変わりまくってるからな
いや.NETの方がしっかり決まってるんだけども。
VB6でアバウトにスルーしてた所が軒並みエラー吐くようになって死ねる

>>407
まあ、そういう感覚だよな。
でもほら、VBなんて昔から増改築が繰り返されて今に至るようなもんが多いから
昔は結構フリーダムで、開発者の趣味と気分で仕様決めてたりとか
設計書の類なんて当然無くて、当時の開発者の頭の中にしか仕様が残って無いという
移植なんてまともに出来るはずも無く・・・

416:デフォルトの名無しさん
13/04/02 08:47:03.60
どんな糞野郎のコーディングでも一見して仕様が見えてくるようになるには20年はかかる
青二才はまだここに書き込むのが早いってことかもな

417:デフォルトの名無しさん
13/04/04 02:08:50.45
>>407

> ソフト開発で一番工数がかかるのが設計だから

そうとは限らない。新規開発であれば確かに一番工数がかかるのは設計だが
すでに開発済みのシステムを修正する場合には当てはまらない。

設計は追加分だけやれば良い。
しかしコードを書く場合、修正の影響を考えないといけない。

コードを見ないとわからないような、想定外の箇所に影響があるかもしれないし
修正の前に、動作しているコードを読んで動きをきちんと把握しないといけない。
コードの詳細な動きのドキュメントはない(あったとしてもコードを読んだほうが速いんだが)

「一番工数がかかるのが設計」が成り立つのは新規開発であって
修正の場合は、設計は減って逆にプログラミングに工数がかかる。

> VB6から.netへの移植なんてほとんど工数かからない。

これは典型的な修正。設計は同じでいいならば工数は0だが
だからといってプログラミングが0以下になるわけないのは明らかでしょ?

設計は出来上がってる。その後取りうる方針は二つ
1.VB6のコードを捨て、設計を見てVB.NET版を作り上げる
2.時間をかけてVB6のコードを解析して細かい動作を把握してから、理解した内容と設計VB.NET版を作る。

どちらが早いかなんて即答できないよね?

新規開発の感覚で、修正の工数を考えてはいけない。

418:デフォルトの名無しさん
13/04/04 04:25:27.94
リプレース案件をやったことのない素人のたわごと

419:デフォルトの名無しさん
13/04/04 11:18:44.92
>>418
でどうだったのか示さないと
これも只のたわごと

420:デフォルトの名無しさん
13/04/04 12:43:07.57
>>419
> 設計は同じでいいならば工数は0

というのが、たいていの場合は誤り。

まず、要件定義書が無い場合がある。あっても、まともなものじゃ無い場合がある。
詳細設計書が無い場合がある。この場合は設計内容をコードから演繹する必要がある。
要件定義書が無い場合は、要件をコードから演繹する必要がある。

そして、コードを調査した結果、要件と異なる内容の実装があったりする。
どちらが正しいかを調べるのが手間。

バグらしきコードが見つかる。
バグかどうかを調査するのが手間。

421:デフォルトの名無しさん
13/04/05 00:16:09.30
じゃあ設計書があれって正しければ、
設計の工数は0でいいね?

422:デフォルトの名無しさん
13/04/05 01:08:45.91
だから、設計工数がゼロになるなんてことは、現実世界ではほとんどないって
言ってるでしょ。
実際にコードを書き始めるまでに、かなりの工数が必要になるのが普通。

真の要求と完全にマッチした要求仕様書が存在し、
その要求仕様に完全にマッチした要件定義がなされ、
それを完全に記述した要件定義書があり、
それを完全に実現する詳細設計書があり、
されを完全に実現するバグやまぎれのないコードが書かれており、
完全な自動テストが存在し、
そして今実際に動作させることはできるのなら、かなりの工数は削減できる。

423:デフォルトの名無しさん
13/04/05 01:20:11.31
DBのフロントエンドレベルの糞業務アプリの移行なら、設計なんかいらないね。

424:デフォルトの名無しさん
13/04/05 03:56:50.81
0の状態から設計を作るのと
既存のコードを解析して設計を作る。

どちらが難しくて時間がかかるかといえば明らかに後者だよ。
前者はコード読めなくてもいいが、
後者はプログラマにしかできない作業。

リプレースが新規開発よりも工数がかかるのは
火を見るよりも明らか。

425:デフォルトの名無しさん
13/04/05 07:15:36.77
それはリプレースに完璧を求めるからだよ
リプレースでも新規なみのバグを許容すればほとんど工数が
発生しなくて済む

426:デフォルトの名無しさん
13/04/05 10:06:12.15
いつまでVB6と関係無い話をしたら満足するのやら

427:デフォルトの名無しさん
13/04/05 13:26:11.40
VB6の道はすべてに通ずる
馬鹿はおおなしくしてろ

428:デフォルトの名無しさん
13/04/05 13:58:16.96
もっと落ち着いてタイプしましょう。

429:デフォルトの名無しさん
13/04/05 14:09:28.94
脊髄がすぐに反射してしまわないように

430:デフォルトの名無しさん
13/04/05 14:09:59.78
>>428
クスクス…

431:デフォルトの名無しさん
13/04/05 22:16:49.68
>>425
君の会社は、バグ修正をただでやってるのだろうし、
バグ修正期間は工数に含めないのかもしれないが、

一般的には工数にはバグを直す期間も含みます。
ただでバグ修正やってるから工数にならないなんて屁理屈だよ。

最初に高い金額+短い期間(バグ・機能不足あり)で開発して、その期間のみを
工数と考え、その後のバグ修正をいう開発は保守として工数に含めなかったら
そりゃお前の会社の定義上の工数は短いだろうねw

432:デフォルトの名無しさん
13/04/06 02:27:48.80
ほんとそういうのやめて欲しいよね
食い散らかされた後始末を保守という名目でやらされるこっちの身にもなれってんだ
業務の合間に足りない仕様書書き起こしたりとか何やってんの俺状態
バグの根本対応どうするとかなんで俺が考えてるのよ明日も出勤だよ
追加料金俺に払えよもしくは接待してくれよ
なんとか総研みたいなとこはもう絶対信用しねぇ

433:デフォルトの名無しさん
13/04/06 03:06:51.54
>>401
日本の99%の会社は中小企業です。
中小企業の人はExcelが大好きです。

「基幹システム」というものを知りませんから。

もう、何から何までExcelでやります。
Excelの関数が大好きです。
Excelほど使い勝手の良いソフトはありません。
関数を使いこなせると尊敬されます。

VBAなんて使った日にゃもう、
こんなんばっかり作ってるから仕事がはかどらないんだ
と言われるぐらい尊敬されます。

基幹システムを導入しようにも、Excelと連携できるように
しろとか、わけのわからない事を言われます。
Excelのフォーマットを勝手に変更された日にゃもう。

434:デフォルトの名無しさん
13/04/06 03:27:42.05
>>431
バグを許容なんだから、バグが出ても直さないんだろ

旧システムにあったバグは既知だろうが潜在的であろうが、新システムでもそのまま同じ
そういう移行も無い事はないが、まあレアケース
100%同じ仕様でのシステム移行も、まああんまりない。どうせ予算かかるならいろいろ変えたり直したりするのが普通
前提をそろえないで移行の工数がどうことか意味ない議論

435:デフォルトの名無しさん
13/04/06 03:31:25.76
一応、俺の関わったVB6製品だが、
なるべく特殊な事をしないようにしてるので、
windows7でも動いてます。ラッキーと思います。

標準ランタイムだけで済むように作ってるので。
もう、自作コントロールとかは無し。
レジストリ操作も無し。

436:435
13/04/06 03:42:49.46
>>434
昔、FORTANで書かれたシステムをC言語のシステムに
更新する案件に関わった。

その、FORTRANで作ったのと同じように開発できる
C言語のフレームワークが用意されててな。

100%同じ仕様でのシステム移行で、
どーしてもわからない、1つの関数に3000ステップ超詰め込んで
しかもバグありで放置したまま使われていたシステム。

なので、バグの再現も100%のまま納品した。

ちなみに、GOTOだけは使わないで済むよう、ロジックは直した。

437:435
13/04/06 03:52:59.86
>>333
例えば、データベースのマスタのデータをソフト内にキャッシュするとして、
それを配列でキャッシュするんよ。

で、検索かける時は、配列をforでナメていく。
場合によってはむっちゃ時間かかる。

VB6のCollectionは、JavaでいうListとHashMapが合わさったような
仕組みなので、キーでも検索できるので便利といえば便利なのだが、
>>332の指摘通り、Javaでいうような静的型付けができないので、
ローカル変数でしか用いないし、専用Collectionを自作すれば、
>>332の指摘通り、パッケージの仕組みも無いのに、やたらめったら
クラスの数が増えるので、自作Collectionは用意してない。

で、データベースのデータをローカルにキャッシュするなら、
メソッド内にStaticでCollectionを用意して、キャッシュすればいい事に
後になって気づいた。まあ、Forでナメていっても、そんなに時間のかかる
検索は無いんだけどね。

438:435
13/04/06 04:01:38.82
尚、俺がなぜVB6の案件に関わったかというと、
会社の偉い人が教育目的を含めて、VB6でやらせたようだ。
VB6をやっていれば、VB.NETでもわかるだろうと。

もうこれが本当に余計なお世話で、俺はさんざんJavaやってきたので
むしろ.NET使う方が、OOPに対応できて便利なのだが、
言語の制御文の書き方とかの見た目が似ているぐらいでしか
判断できない素人の悲しさで、無理やりVB6で作らされた。

で、今になって、windows7や8が出てきて、それが足かせになるという
危機感を抱いてはるようです。

439:デフォルトの名無しさん
13/04/06 07:38:46.93
自分語りはブログでやって

440:デフォルトの名無しさん
13/04/06 09:43:34.90
そんなに移行したくないならずっとVB6をやってればいいさw

441:デフォルトの名無しさん
13/04/06 13:38:34.06
なんというか動きの悪いプログラムがあって
Redim Preserveを多用してあるんだが、
このせいと思うか?

これってC言語でいうreallocだよな?

442:デフォルトの名無しさん
13/04/06 13:44:44.28
>>441
馬鹿だろお前

443:デフォルトの名無しさん
13/04/06 13:45:02.16
それ俺が作ったやつかも

444:桃白白
13/04/06 16:37:31.03
>>441
桃白白はプログラムの動きが悪いことがReDim Preserveのせいだとは思わない。
よほどでっかい配列を確保してたり多用の程度が常識の範疇を逸脱してるといっても
やぶさかではないというのでないかぎり問題ない。

445:デフォルトの名無しさん
13/04/06 17:06:55.27
VBAスレと間違えたかと一瞬混乱したわw
タオパイさんどーしたんすかw

446:デフォルトの名無しさん
13/04/06 19:22:48.05
荒れる予感w

447:デフォルトの名無しさん
13/04/06 19:45:32.53
>>441
推測なんかより、どこで時間が掛かっているのか調査するほうが先。

448:デフォルトの名無しさん
13/04/06 20:05:57.42
>>444
Redim Preserveすると、C言語で言うreallocみたいに
ヒープ確保のサイズが変わるけど、メモリのフラグメント
を起こすかと思ったんだ。
連続した領域を確保できるとは限らないでしょ。
新規にRedimするだけなら連続した領域を確保しやすい
とは思う。Preserveみたいに、内容を保持したままなら
プログラマからはあたかも配列がキレイに並んでいる
かに見えて、実際は離散したメモリ空間を確保してるかも
しれない、とね。

それぞれの配列の先頭アドレスを調べられたら
フラグメント起こしてるかどうかわかりそうなのに。

449:桃白白
13/04/06 20:17:30.63
>>448
動きが悪いこととフラグメントが関係してるだなんてそんなこと知らないわよ。
桃白白はそういう心境だけど、配列の先頭アドレスを取得するのはこれでいけるんじゃないか。

Visual Basic では変数のアドレスを取得するには、方法
URLリンク(support.microsoft.com)

450:デフォルトの名無しさん
13/04/06 20:21:11.97
redim preserve は新しい配列を作ってコピーしてるよ
だから1行ずつ増やしていくのは遅いよ

451:デフォルトの名無しさん
13/04/06 20:25:35.82
何言ってんだこいつ。

フラグメンテーションは動的なメモリの確保と解放によって起こる。
つまりそんなものはありふれた現象であって、もしそんな根幹部分に不具合があるのなら
とっくに修正されているだろう。

っていうか、何かもう絵に書いたような典型的なVBerだな。
無能なVBerはてめえのコードの問題を棚に上げて、すぐシステム側の問題だと
何の根拠もなく思い込む。

ついでに言っておけば、配列の要素がメモリ上に不連続に配置されるように
実装されてる言語なんて聞いたことないよw

そんな実装、実行効率が悪くて使えたものじゃない

452:デフォルトの名無しさん
13/04/06 20:37:11.99
>>441がRedim Preservの話をしたいのか動きの悪いプログラムを修正したいのか
さっぱりわからん展開だな。

453:デフォルトの名無しさん
13/04/06 21:36:22.13
まあ、コードも出さずに遅い原因知りたいならエスパースレいってくれと

454:デフォルトの名無しさん
13/04/06 22:15:11.41
>>441
地道にデバグをしろ。

455:デフォルトの名無しさん
13/04/07 00:22:09.68
1行ずつ増やしていくのが遅ければ、100行でいけよw

456:デフォルトの名無しさん
13/04/07 23:58:31.36
>>451
>ついでに言っておけば、配列の要素がメモリ上に不連続に配置されるように
>実装されてる言語なんて聞いたことないよw

441の言う、Cのreallocって、まさに不連続に配置されてしまう仕組みになってる。
mallocはヒープから確保するけど、reallocって確保したヒープのサイズを
変えるけど、それが連続した領域になるとは限らず、フラグメント化する。

ついでに言うと、VB6でも、文字列の連結をすると、おそらくは連続した
領域で連結するとは限らないはず。
だから、前に出てた論破くんの話題に戻すけど、
連続した領域を確保して、随時MIDステートメントで置き換えていく
やり方が高速で、Stringを & でどんどん連結していくとすげー遅い。

文字列を&で連結していくと、連続した領域を確保しているとは限らない
っていうのが正解かな。

457:デフォルトの名無しさん
13/04/08 00:07:14.31
>>456
連続してないと、Cで書いたライブラリとかWin32APIとやり取り出来ないと思うんだが、君のそれどこ情報?

458:デフォルトの名無しさん
13/04/08 00:10:43.45
へぇ、C言語ではポインタ操作の必要性から
配列はメモリ上に連続していることが保証されているのか

reallocは連続して確保できない場合
他の領域にコピーすることで連続であることを保証しているんだね。
勉強になった。

459:デフォルトの名無しさん
13/04/08 00:15:21.08
reallocでメモリのフラグメントが起こるのは確かだが、それはバッファが分断されるからじゃないよ。
それとVBAの文字列領域も連続してると思うし、文字列を&で結合させると遅いのは、オブジェクトを再生産するからでは?

460:デフォルトの名無しさん
13/04/08 00:15:41.74
c言語のreallocって不連続になるっけ?

461:デフォルトの名無しさん
13/04/08 00:17:35.31
なるわけないっしょw

確保されたメモリが不連続だったら
Cのポインタ=メモリアドレスを
順番にたどれなくなる。

常識だよそんなのwww

462:デフォルトの名無しさん
13/04/08 00:19:24.99
reallocでフラグメント化するのは、ヒープ全体が、だ。
よくもまあ適当な事ばかりを長文でレスしようと思ったもんだ。

463:デフォルトの名無しさん
13/04/08 00:37:40.75
なんで>>456は適当なこと言うの?

464:デフォルトの名無しさん
13/04/08 00:43:24.07
夜釣り

465:デフォルトの名無しさん
13/04/08 01:57:07.06
reallocした時に、連続した領域が確保できなかったらどうなるの?

466:デフォルトの名無しさん
13/04/08 02:06:12.27
>>465
C言語なら俺に聞け(入門編)Part 113
スレリンク(tech板)

467:デフォルトの名無しさん
13/04/08 07:10:12.42
>>465
null返すんじゃね?

468:デフォルトの名無しさん
13/04/09 00:51:34.97
またCの話題か

469:デフォルトの名無しさん
13/04/15 17:34:48.32
そろそろVB6を休ませてあげよう
URLリンク(el.jibun.atmarkit.co.jp)

470:デフォルトの名無しさん
13/04/15 21:38:23.99
>>469
これももう2年近くも前になるんだな…

471:sage
13/04/15 22:17:59.18
俺もそろそろ休みてぇよorz
VB6からC#への移行作業中でどっちのコードも見てると頭がこんがらがりそう。

472:デフォルトの名無しさん
13/04/16 01:56:40.11
>>469
結局8でもサポート継続するハメになって
いつ消えてもなんて事は全く無いって事が証明されちまったもんなぁ
むしろ消したくても消せない状況に・・・

473:デフォルトの名無しさん
13/04/16 02:04:44.51
今日からVB6を始める俺に何か一言ください

474:デフォルトの名無しさん
13/04/16 09:44:32.55
なんでやねん。

475:デフォルトの名無しさん
13/04/16 23:04:30.80
>>473
信念を持って、初心を忘れず、自分を信じて、頑張って下さい。

476:デフォルトの名無しさん
13/04/17 23:49:51.03
いまから自主的にVB6始めるやつは正気とはおもえん
仕事でやらされるなら貧乏くじ引かされてる

477:デフォルトの名無しさん
13/04/18 12:19:26.17
VB6の代わりは他にないからねぇ

簡単さ、ネイティブバイナリ、GCなし

478:デフォルトの名無しさん
13/04/18 12:24:55.07
Delphi 6 Personal

479:デフォルトの名無しさん
13/04/18 18:46:27.47
VB6で開発・保守していた業務ソフトをそろそろ移行しないとまずいなと思っていましたが、
皆さんのようにVB6を使っている方が多いことを知って安心しました。
とりあえず実行環境で動かなくなるまではVB6を使い続け、開発環境はWinXPを強引にインストールして使い続けます。
MSの.Netに移行して、「イノベーション」と称して仕様がコロコロ変わりそれに適応していくのは我慢できません。
まったくの新規案件はDelphiで作っています。こんな人いますか?

480:デフォルトの名無しさん
13/04/18 18:54:50.30
いてもいなくてもいいんじゃね?

481:デフォルトの名無しさん
13/04/18 18:58:58.02
ってかスレチの話題なんだが。

482:デフォルトの名無しさん
13/04/18 23:13:03.61
Delphiはいいよね。

確か今はボーランド製じゃなくて
数十万円するんだっけ?w

死滅してしまったじゃないか。

483:デフォルトの名無しさん
13/04/19 01:28:52.18
先日MSのジニアス平井さんが、VB6ランタイムのサポートはずっとやるだろうと言っていました。
これで安心です。
VB.NETなんかに移行しません。移行せざるを得ない場合は非MSで書き直します。

484:デフォルトの名無しさん
13/04/19 01:48:22.23
標準ランタイムしか使って無いならね
あとはサポートの質
やるとしても致命的な障害に限定されるだようし

485:デフォルトの名無しさん
13/04/19 10:12:21.64
プログラミング&VB初心者です。スレ違いだったら誘導お願いします。
下記のコードをどう作ればいいかわからず困っています。
(For ​i~を使うのは分かるのですが条件をどう組み合わせればいいのかが分かりません)
コードの正答や考え方などを教えていただけないでしょうか?

1.配列TBL(6,7)の中に、1日が金曜日で始まり31日で終わる日曜始まりのカレンダーを作成するコードを作りなさい。ただし、インデックス0の要素は使用しないものとする。

2.配列TBL2(4)の各要素にセットされている数字を小さい順に並び替えるコードを作りなさい(数字は左から8/90/20/12/2)。ワーク変数はWO1とする。

3.配列TBL(10,10)1-9行の1-9列に九九の値を代入し、10行目・10列目に縦計・横系を求めるコードを作りなさい。インデックス0は使用しない。

486:デフォルトの名無しさん
13/04/19 10:26:10.23
書いてる通りにやればいいんじゃない?

487:デフォルトの名無しさん
13/04/19 12:32:16.72
宿題ならVB6じゃなくてVB.Netだろ

488:桃白白
13/04/19 14:35:04.15
>>485
桃白白が教えてあげちゃう
URLリンク(friendpaste.com)

489:デフォルトの名無しさん
13/04/19 16:06:51.37
>>488
Forループ抜けた後のループ変数使うの男の人って・・・

490:デフォルトの名無しさん
13/04/19 16:46:48.62
>>489
使ってもいいだろ

491:デフォルトの名無しさん
13/04/19 17:46:56.32
>>489
使えるやろ、パスカルやないねんで

492:デフォルトの名無しさん
13/04/19 17:48:04.34
原理主義者が暴れる予感・・・

493:デフォルトの名無しさん
13/04/19 18:01:23.99
使っても問題ないけど、コードが汚いわ
To 9 でマジックナンバーつかってるなら
TBL(10,10)って書けよ

494:デフォルトの名無しさん
13/04/19 18:15:47.30
>>493
そっちのが汚いわwww

495:デフォルトの名無しさん
13/04/19 20:51:05.41
丸投げだからパイパイのコードでもいいんじゃないか?

っていうか、どうせならもっと汚く書いてほしかったなw
 マジックナンバー使いまくり
 一文字変数使いまくり
 コメントなし
 コードを書いた本人も首をかしげるようなコード

496:デフォルトの名無しさん
13/04/19 21:16:54.15
ループの内側にDimって置けたっけ?

497:デフォルトの名無しさん
13/04/19 21:25:53.20
置けるけど意図した動きをしない

Dim I As Integer
For I = 1 To 10
Dim J As Integer
J = I
Next

Debug.Print I, J ' ここでJ がしっかり参照できる。

498:デフォルトの名無しさん
13/04/19 21:59:46.75
マジックナンバーとかいうのって新人君だけだよね

499:デフォルトの名無しさん
13/04/19 22:02:07.21
>>488
Q2の比較ループ通る回数が無駄に多い気がする

500:デフォルトの名無しさん
13/04/19 22:02:35.53
>>488
日曜日、金曜日、土曜日を態々Constステートメントで書いてるけど
VB自体にvbSunday、vbFriday、vbSaturdayとか用意されてるからせめて使おうよ。

501:桃白白
13/04/19 22:25:57.40
>>500
桃白白それには賛同しないわ。
その定数はVBの日付関数呼ぶときに使われるやつっしょ。
今回のプログラムがVBの日付関数と連関するものだったら
同じ定数使うのがいいと思うけど、別にそういう前提もないわけだから
VBの日付関数と今回のプログラムがまったく連関しない可能性を示唆することの
できる桃白白のコードの方が優れているよ。

502:デフォルトの名無しさん
13/04/19 22:55:39.11
この人一人称が自分のHNなんだ
アイドルかよw
気色悪っ

503:デフォルトの名無しさん
13/04/19 22:57:34.72
>>501
めんどくせ

504:鶴仙人
13/04/19 23:22:12.25
さすがにそのHNはないわ

505:デフォルトの名無しさん
13/04/20 00:13:52.87
>>456
あのさあ・・・・不連続って何?頭おかしいの?

506:499
13/04/20 08:01:34.42
回らない頭でコードみるよりは早起きしようとおもったら今起きた。
バブルソートっぽいけど比較回数がn(n-1)回になるのってどうなのさ?>たおぱいちゃん

507:デフォルトの名無しさん
13/04/20 12:01:55.54
>>505
いつの話してんだ

508:桃白白
13/04/20 12:14:05.08
>>506
桃白白としましては手続き上なんら問題はなく適切なバブルソーティングが行われるものとそのように認識しております。

509:500
13/04/20 15:59:51.96
>>501
MSDNを見ると確かに「日付関連の関数を呼び出すときに使用する」と書いてある。
URLリンク(msdn.microsoft.com)(v=vs.95).aspx

でも、これ以外の場合は使うなとは書いてない。
日付に関する処理で曜日を数値で扱う場合はこれをそのまま使ったほうがいいと思うけど。
日付関連の関数に使うんだったら、日付に関する関数も同じ値を使っておかないとかなり面倒なことが起きると思う。

パイパンの話からするとこんな感じになるのかな。
・日付関連の関数の場合はVBで用意されているの値を使う。
・日付関連の関数でない場合はVBで用意されている値とは別の定義、別の値を使う。
 →VBで用意されている値と同じ値にするのであればあえて定義する意味がない。
  別定義をすることで日付関連の関数でないことを示唆するというのは理解できる。
  ただ、日付関連の関数でないことを示唆するのであれば、VBで用意されている値と全く同じ値にしてはいけない。
  同じ値にすると日付関連の関数と整合性が取れてしまって、日付関連の関数も扱えてしまう。

  なので>>488のコードはVBで用意されている値と同じ値になっているので
  「別定義をすることで日付関連の関数でないことを示唆する」というのは意味不明。

こんな意味の分からない定義の切り分けをやったら曜日の定数の種類がいくつも出てきて訳が分からなくなると思う。
せっかくVBで用意してくれているのであるのなら、それをそのまま使っておいたほうが無難。

510:デフォルトの名無しさん
13/04/20 16:30:01.59
>>509
そんな必死になることかよ。
別にこの程度自分で定義したっていいだろうが。

511:デフォルトの名無しさん
13/04/20 16:36:22.59
必死とかガキみたいなこと言うんじゃないの。
特に理由がない限りシステムやライブラリが用意したものを使うのは当たり前のこと。

512:デフォルトの名無しさん
13/04/20 16:36:48.97
>>509
>でも、これ以外の場合は使うなとは書いてない。
原則としてそういう場合は使っちゃいけないと考えるのが正しい
まぁこういうのでバージョンアップ時等にエラーになってもMSのせいで通っちゃうけどね
定数を再定義したのは自分の管理下におくというのが趣旨なのでいくつもという事態にはならんよ
で、金曜+1=土曜が仕様として保証されたと

でもそんなのどっちでもいいよ

513:デフォルトの名無しさん
13/04/20 16:38:29.39
>>510
だめ。
楽しようとしてないし、バグの元。

514:デフォルトの名無しさん
13/04/20 16:41:51.36
>>512
なんか頭悪い意見だね。

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

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

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

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

516:デフォルトの名無しさん
13/04/20 16:53:51.52
仕様の問題をコードの再利用と勘違いしているな>>509

517:デフォルトの名無しさん
13/04/20 16:54:59.00
>>515

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

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

518:桃白白
13/04/20 16:59:34.76
>>509
わけがわからなくなることはないだろ。桃白白の関数を使用するときは
桃白白の定数を使ってください。VBの関数を使用するときはVBの定数を
使ってください。以上。

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

519:デフォルトの名無しさん
13/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:デフォルトの名無しさん
13/04/20 17:08:59.27
>>513
どういうバグの元?

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

522:デフォルトの名無しさん
13/04/20 17:20:53.73
パイパンが必死になってきましたw

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

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

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

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

527:デフォルトの名無しさん
13/04/20 18:16:58.81
教条主義的だなー

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

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

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

531:デフォルトの名無しさん
13/04/20 21:57:35.07
VB6の入門者向けのおすすめ書籍を教えて下さい

532:デフォルトの名無しさん
13/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:デフォルトの名無しさん
13/04/21 17:50:36.57
チラシの裏にでも書いてろ

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

535:デフォルトの名無しさん
13/04/21 19:14:15.38
よく思うんだけど先生もココ見るんじゃ

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


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

537:デフォルトの名無しさん
13/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:デフォルトの名無しさん
13/04/21 21:08:14.97
使用メモリが最小になるコード

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

2種類はよ

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

540:デフォルトの名無しさん
13/04/21 22:29:49.11
>>537
0オリジンと1オリジンが混ざってて気持ち悪い。

541:デフォルトの名無しさん
13/04/21 23:17:56.35
オリジン?

542:デフォルトの名無しさん
13/04/21 23:27:40.74
弁当

543:デフォルトの名無しさん
13/04/21 23:30:57.13
オリジン - Wikipedia
URLリンク(ja.wikipedia.org)

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

545:デフォルトの名無しさん
13/04/22 14:07:12.82
ライセンス制約突破したってレスじゃないの?

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

547:デフォルトの名無しさん
13/04/22 22:09:16.29
>>546
個人的に使うならアウトのはずないだろ
アホかよ?

548:デフォルトの名無しさん
13/04/22 22:11:40.67
0オリジンはインド人が発明したアルヨ

549:デフォルトの名無しさん
13/04/22 22:15:38.38
>>547
どんな俺様理論だよ。
VBのEULAにはそんなこと書いてない。

550:デフォルトの名無しさん
13/04/22 22:16:43.51
バレなきゃ問題ないって意味?

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

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

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

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

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

554:デフォルトの名無しさん
13/04/22 22:27:34.35
何でも叩きたい年頃なんでしょ?

555:デフォルトの名無しさん
13/04/22 22:37:10.08
>>553
馬鹿ってすぐそれだな。

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

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

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

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

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

561:デフォルトの名無しさん
13/04/22 22:50:13.63
>>559
うわぁ…

562:デフォルトの名無しさん
13/04/22 23:59:40.15
>>556
ケッコウ仮面w

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

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

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

566:デフォルトの名無しさん
13/04/23 13:55:27.63
VBにもPEEKやPOKEがあるの?

567:デフォルトの名無しさん
13/04/23 13:56:23.36
READ D$
DATA "ABCDEFG"

568:デフォルトの名無しさん
13/04/23 13:57:44.76
1010 COLOR 5
1020 PRINT "HELLO WORLD"
1030 END

569:デフォルトの名無しさん
13/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:デフォルトの名無しさん
13/04/23 14:00:30.12
1025 CLS

571:デフォルトの名無しさん
13/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:デフォルトの名無しさん
13/04/23 14:05:59.36
行番号がない言語はBASIC名乗っちゃいかんな

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

574:デフォルトの名無しさん
13/04/23 17:01:11.97
Quick BASIC..

575:デフォルトの名無しさん
13/04/23 17:17:09.54
FORTRANを忘れないであげてください!

576:デフォルトの名無しさん
13/04/23 18:07:46.01
物言わぬ多数派: Visual Basic 6 が今でも成功している理由 (David Platt)
URLリンク(msdn.microsoft.com)

577:デフォルトの名無しさん
13/04/24 03:37:32.43
VB6でgzipファイル扱おうと思うとtar使うとかがいいの?

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

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

580:デフォルトの名無しさん
13/04/24 14:47:30.19


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

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

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

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

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

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

587:デフォルトの名無しさん
13/04/26 13:29:06.95
ZIP.VBS
URLリンク(www.vector.co.jp)

これか

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

589:デフォルトの名無しさん
13/04/26 19:47:30.12
SQLiteはUTF-8使えないと無理

590:デフォルトの名無しさん
13/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:デフォルトの名無しさん
13/04/29 00:44:55.94
動くけどあからさまに遅くなるしな
いや正確には.NET向けの仕様になってないから
.NETの悪いとこばかり目立つ感じになっちゃうというか

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

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

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

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


次ページ
最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch