10/03/11 23:44:26
>>445
言葉で説明するのは難しいよね。
まず俺は2008用のドキュメントもビュワは2003のを使って見てる。
それ前提で言うと、左側のペインは「検索」と「キーワード検索」で水平に二分して、
出しっぱなしの状態にしている。
残りの「検索結果」、「目次」、「お気に入り」はウィンドウの下側に、
それぞれ別個に、スライド表示(タブにマウスを乗せるとにょっと出てくるやつ)でドッキングさせてる。
隠れてるスライド表示のウィンドウを表示させるのは、キーボードショートカットを使うのが基本。
まあこんな感じ。
2005以降のビュワーの場合は「検索」ウィンドウがでかくなってしまって左側のペインに
収めるのは難しいから、こいつもウィンドウの下側にドッキングさせて、検索するときは
キーボードショートカットで表示するのが基本だろうね。
447:デフォルトの名無しさん
10/03/12 00:07:08
へー。2003のビューアで2008のドキュメントが見られるんだ。
さすがに、2010は無理だろうな・・・。
448:デフォルトの名無しさん
10/03/12 14:59:35
すいません
Picture1.Picture.HandleってののHandleはこれなんなんですか?w
Picture1.Hwndとはちがうし
Picture1.hdcともちがう
でもPicture1.Picture.Handleって指定しないといけないものが多い
Handleって書いてるからハンドルなんだなーってのはわかりますが
わけのわからんことをいってたらすんませんです(*´д`*)ハァハァ
449:デフォルトの名無しさん
10/03/12 17:05:06
Handle プロパティ
Picture オブジェクト内のグラフィックスのハンドルを返します。
構文
object.Handle
「対象」一覧内のいずれかのオブジェクトを指すオブジェクト式です。
戻り値
Handle プロパティが返す値は、Type プロパティの設定値によって異なります。対応する戻り値は次のとおりです。
Type プロパティ 戻り値
1 (ビットマップ) HBITMAP ハンドル
2 (メタファイル) HMETAFILE ハンドル
3 (アイコン) HICON ハンドルまたは HCURSOR ハンドル
4 (拡張メタファイル) HENHMETAFILE ハンドル
解説
ダイナミック リンク ライブラリやWindows API で、関数呼び出しの一部としてグラフィックスにハンドルを渡す場合に有効です。
MSDNライブラリ-VisualBasicリファレンス Pictureオブジェト->プロパティ->Handleプロパティより引用
450:デフォルトの名無しさん
10/03/12 17:08:26
著作権法違反
451:デフォルトの名無しさん
10/03/12 17:11:10
>>450
固いこというなよw^^;;;;;;
452:デフォルトの名無しさん
10/03/12 17:40:23
明らかに”引用”の範囲を超えているな
453:デフォルトの名無しさん
10/03/12 17:44:46
男塾思い出した
454:デフォルトの名無しさん
10/03/12 17:54:01
そもそも引用の要件みたしてないだろ・・・
455:デフォルトの名無しさん
10/03/12 18:01:29
>>278-279もな
456:デフォルトの名無しさん
10/03/12 18:27:31
自分の言葉で説明できないと仕事やってけないだろう・・・
博士号の人が就職難な理由のひとつに、自分の言葉で説明できず、全て引用で済ましているってとこにもある
457:デフォルトの名無しさん
10/03/12 18:35:39
なんだボク、学校の宿題に出たのか?
458:デフォルトの名無しさん
10/03/12 21:43:34
なんで本筋それたら盛り上がるんだよw
せめてハンドルの話で盛り上がれw
459:デフォルトの名無しさん
10/03/13 00:14:25
俺、あのハンドル受け取ったら結婚するんだ
460:デフォルトの名無しさん
10/03/13 00:36:25
>>449のハンドルってどんなAPIで使うのよ?
461:デフォルトの名無しさん
10/03/13 01:50:19
べつにいいんよ
462:デフォルトの名無しさん
10/03/13 10:21:02
新しいテキストドキュメントを作成して x~x.txt と名前を変え、VB6で作ったプログラム
で削除しようとしたらvistaではうまくいくのですがxpではエラーになってしまいます。
仕様でしょうか?
463:デフォルトの名無しさん
10/03/13 10:27:29
ショートファイル名?
464:デフォルトの名無しさん
10/03/13 10:43:09
すみません間違えました。 X~X.txt です。どうやら~という記号が入ってるとエラーになるようです。
465:デフォルトの名無しさん
10/03/13 10:52:12
あれ?投稿すると文字が何故か変換されてしまいます。 asc値が 126 の記号です。
466:デフォルトの名無しさん
10/03/13 11:46:54
>>465
当たり前のことをちゃんとやってから質問してる?
当たり前のこと、というのは、例えば削除できない理由が本当にファイル名が原因なのか、
ちゃんと確認しましたかって意味だけど。
467:デフォルトの名無しさん
10/03/13 12:16:06
エラー番号とエラーメッセージくらい
468:デフォルトの名無しさん
10/03/13 12:18:52
>>466>>467
>>462ですがXPの入ってるPCの方を再起動してもう一度やったところ削除できました。その前は確かにそのファイル名
のテキストファイルだけが削除できなかったのですが、理由はわかりません。
あと、文字が勝手に変換されるのは自分で作った2chBrowserの仕様でしたw
大変お騒がせし申し訳ありませんでした。
469:デフォルトの名無しさん
10/03/13 12:29:20
利用中ファイルのアクセスのプロテクト系だろどうせ
470:デフォルトの名無しさん
10/03/13 14:57:53
いちいち何作ってるかまで言わんでよろしい
471:デフォルトの名無しさん
10/03/13 15:03:01
やっぱくやしかったんだねwwwwwww
472:デフォルトの名無しさん
10/03/13 18:31:42
(;´∀`)・・・・
473:デフォルトの名無しさん
10/03/16 11:31:34
VB6のリソースエディタによるストリングテーブルの一行に
格納できるテキストの最大サイズは32KB?
474:デフォルトの名無しさん
10/03/16 11:57:11
それ以前にストリングテーブルリソースの上限が4097文字
475:デフォルトの名無しさん
10/03/16 12:04:27
>>474 トンクス
あまり使えないなぁ~orz
476:デフォルトの名無しさん
10/03/16 13:04:28
どんな長文をリソースに突っ込もうとしてるんだw
477:デフォルトの名無しさん
10/03/16 13:22:34
リソースのストリングって何に使うためにあるの?
いや、他の言語でもそうだけど、リソースに文字列含ませる意味が未だにわからない
478:デフォルトの名無しさん
10/03/16 13:40:55
メニューの文字とか。
言語切り替えると全部切り替わる用。
479:デフォルトの名無しさん
10/03/16 14:05:12
つまり日本人以外にも使ってもらうためにってこと?
480:デフォルトの名無しさん
10/03/16 14:33:59
故意に必須原型ファイルを削除するようなアホが
いないとも限らないのでその対策用にと。。
481:デフォルトの名無しさん
10/03/16 14:54:01
>>479
読み書き方法が決まってる世界共通のなんでもボックス。
ハードコーディングと違って製品化後も書き換えられるのが特徴。
それ以上の意味はない。
482:デフォルトの名無しさん
10/03/16 17:24:57
>>476
シェアウェアの課金コード
483:デフォルトの名無しさん
10/03/16 17:59:33
入れたきゃ2つに分割して入れればいい話だろう?
そこまでしてリソースに収めたほうがいい理由なんてないが
入れちゃいけないって理由もない。
484:デフォルトの名無しさん
10/03/16 20:45:40
製品化後も書き換えられるってことは非圧縮になる?
485:デフォルトの名無しさん
10/03/16 21:04:55
>>484
なんで圧縮されるの?
486:デフォルトの名無しさん
10/03/16 21:27:04
プログラム起動中に動的にリソースの内容を書き換えるのって
絶対無理ですよね?アホな質問でスイマセン
487:デフォルトの名無しさん
10/03/16 21:57:03
リソースは書き換えられるでしょ。VB6に操作できる関数が用意されてるかどうかは別で。
488:デフォルトの名無しさん
10/03/16 22:11:48
リソース用DLLを作るとかってやってなかったっけ?
昔の事だから忘れたな
489:デフォルトの名無しさん
10/03/17 00:02:46
Windows7でもVB6って動く?7用のAPIとかって使えるの?
490:デフォルトの名無しさん
10/03/17 02:23:48
>>489
URLリンク(www.google.co.jp)
491:デフォルトの名無しさん
10/03/17 02:34:36
わざわざありがとんくす
492:デフォルトの名無しさん
10/03/17 02:46:29
うわ、ggrksって言ったら感謝されたでござる
493:デフォルトの名無しさん
10/03/17 03:09:09
みんなハッピーでよかった
494:デフォルトの名無しさん
10/03/19 12:36:32
VB6 で軽快な付箋のようなポップアップウィンドウを実現
するにはどうしたらいいのでしょうか?
ヒントだけでも(APIとか)お願いします。
495:デフォルトの名無しさん
10/03/19 13:52:20
エスパー説明よろ
496:デフォルトの名無しさん
10/03/19 14:08:05
フォームウィンドウの枠線をなくして
付箋1枚で1フォーム表示
これでいいんじゃねぇか?
右下にNotifiIconとか適当に出しとけばいけると思うけど
497:デフォルトの名無しさん
10/03/19 14:10:32
コマンドボタン押すたびにポップアップウィンドウ?
Form1.frm (CommandButton一つ配置)
Private Sub Command1_Click()
Dim f As New Form2
f.show
End Sub
----------------------------
Form2.frm (BorderStyleを3に設定)
Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
Static dx, dy
If Button > 0 Then
Me.Left = Me.Left + X - dx
Me.Top = Me.Top + Y - dy
Else
dx = X
dy = Y
End Sub
498:デフォルトの名無しさん
10/03/19 14:29:58
Module1.bas
Private Const SWP_NOMOVE = 2, SWP_NOSIZE = 1, SWP_NOMOVE Or SWP_NOSIZE
Private Const HWND_TOPMOST = -1, HWND_NOTOPMOST = -2
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 wFlags As Long) As Long
Public Function SetTopMostWindow(hwnd As Long, Topmost As Boolean) As Long
If Topmost = True Then 'Make the window topmost
SetTopMostWindow = SetWindowPos(hwnd, HWND_TOPMOST, 0, 0, 0, 0, FLAGS)
Else
SetTopMostWindow = SetWindowPos(hwnd, HWND_NOTOPMOST, 0, 0, 0, 0, FLAGS)
SetTopMostWindow = False
End If
End Function
Form1.frm (CommandButton一つ配置) -----------------------
Private Sub Command1_Click()
Dim f As New Form2
f.show: SetTopMostWindow f.hWnd, True
End Sub
Form2.frm (BorderStyleを0に設定) -----------------------
Private Sub Form_DblClick()
Unload Me
End Sub
Private Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
SetTopMostWindow Me.hWnd, True
End Sub
Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
Static dx, dy
If Button > 0 Then
Me.Left = Me.Left + X - dx: Me.Top = Me.Top + Y - dy
Else
dx = X: dy = Y
End Sub
499:494
10/03/19 14:30:23
すいません、分りにくかったですか。
VB6で出来るだけ高速に複数行のテキストをポップアップ表示させたいのです。
それには、やはりAPIを使った方がいいのかと
500:デフォルトの名無しさん
10/03/19 14:32:26
また2chブラウザか!
501:デフォルトの名無しさん
10/03/19 14:34:23
最近人気なのか?
いまさら2chブラウザをなぜVBで・・・
502:デフォルトの名無しさん
10/03/19 14:37:37
どうせバレるんだからストレートに聞けばいいのにな
だからブラウザ作ってる奴はウザがられる
503:デフォルトの名無しさん
10/03/19 14:40:39
>>499
APIのほうが早いに決まっているだろ
Win32API質問箱 Build86
スレリンク(tech板)
504:499
10/03/19 15:50:51
ありがとうございました。それでは早速、退散いたします。
505:デフォルトの名無しさん
10/03/22 07:59:36
出来るだけ高速にって言っても、んな目に見えるほどの差なんて出ないんじゃねーの?
どんなもん求めてるのか知らんけど
506:デフォルトの名無しさん
10/03/23 01:16:02
低スペックパソコンなんだろう。おそらく。
既存の2chブラウザが動作しなくらいの旧式パソコンとか
507:デフォルトの名無しさん
10/03/25 22:06:33
print でcsvファイルに書き込みを行いたいのですが、
2003/12/15 14:50:30.01
と書き込みを行った場合、
csvファイルをエクセルで開くと、2003/12/15 14:50:30.01 とセルに表示されません。
エクセルのセルの表示設定で表示形式を変更してやれば、ちゃんと表示されます。
str = format(now, "yyyy/mm/dd hh:mm;ss")
str = str & ".01"
print #番号, str
みたいな感じで書き込みを行っているのですが、
この段階でstr には "2003/12/15 14:50:30.01"が入っているのですが、
書き込みを行ってエクセルで開くと、そのように表示されません。
どうすればエクセルで書式設定の変更を行うことなく表示されるのでしょうか?
508:デフォルトの名無しさん
10/03/25 22:07:33
頭に ' を付けるとか。
509:デフォルトの名無しさん
10/03/25 22:19:03
CSVじゃ限界あるからエクセルファイルとして作成を
510:デフォルトの名無しさん
10/03/25 22:56:11
>>508
頭に'をつけることで効果もないような
ただの文字列扱いにするってことか
511:デフォルトの名無しさん
10/03/25 23:04:46
csvとxlsをvbから作成するのって何か違うんだっけ
512:デフォルトの名無しさん
10/03/25 23:04:49
うん。
513:デフォルトの名無しさん
10/03/25 23:05:40
xlsは、ExcelのCOMコンポーネントを使って作るのが一般的。
csvは単なるテキストファイルなので、そういうのいらん。
514:デフォルトの名無しさん
10/03/25 23:11:10
つまり、csvで作ると書式設定を行えないから表示がおもったとおりにいかないという?
515:デフォルトの名無しさん
10/03/25 23:12:47
csvをどう表示するかなんて、アプリ次第だしね~
516:デフォルトの名無しさん
10/03/25 23:15:42
びしっとした決まりが無かったからね
RFCをちょびっと読んでそのまま捨てた
517:デフォルトの名無しさん
10/03/25 23:44:01
昔からcsvに統一規則がなかったからな。
csvは相手側をコントロール出来るもんじゃない。「相手側に配慮する」のが関の山だ。
相手側がcsvの読み方をユーザーに尋ねてコントロールするもんだ。
RFCも普及するやら。時代はxmlに突き進んでるし。
518:デフォルトの名無しさん
10/03/25 23:49:46
相手側ってのはVBじゃなくてエクセル?
519:デフォルトの名無しさん
10/03/25 23:52:16
相手がVBだろうがエクセルだろうがCSVになった時点で色々消えてるべ
520:デフォルトの名無しさん
10/03/26 01:33:12
電話番号の090が90になっちゃったり、ゼロ埋めのコード0001が1になっちゃったり色々あるわな
ダブルクオォートで囲ったり、先頭に'つけても回避できない事例も結構あったよ
結局Excelオブジェクトぶん回してxls作るのが一番手っ取り早いというところに落ち着いた
データ量が多いときは有償だけどExcelCreater使ってたわ
521:デフォルトの名無しさん
10/03/26 17:33:04
Function hoge() As Class1
Dim c1 As New Class1
c1.value=10
Set hoge=c1
End Function
Sub Test()
Dim c1 As Class1
Set c1=hoge()
End Sub
これって使い方正しい?こういう使い方って良く無い?
522:デフォルトの名無しさん
10/03/26 17:35:05
正しい。
523:デフォルトの名無しさん
10/03/26 17:41:23
ありがとう
524:デフォルトの名無しさん
10/03/26 17:42:29
Function hoge() As Class1
Dim c1 As New Class1
c1.value=10
Set hoge=c1
End Function
↓
Function hoge() As Class1
Set hoge = New Class1
hoge.value=10
End Function
525:デフォルトの名無しさん
10/03/26 17:53:59
デザパタでいうFactoryMethodパターンみたいなもんか
526:デフォルトの名無しさん
10/03/27 23:09:34
For Each って、Variantでしか取り出せないんでしたっけ?
527:デフォルトの名無しさん
10/03/28 05:15:50
mjd?
528:デフォルトの名無しさん
10/03/29 00:05:55
あ
529:デフォルトの名無しさん
10/03/29 00:35:06
ほ
530:デフォルトの名無しさん
10/03/31 13:49:31
>>526
俺は無知だと思い知らされたわ
すげぇよあんた
531:デフォルトの名無しさん
10/03/31 14:08:17
やぁ、>>526ですよ。なんですかこの冷たい反応わw
つかマジに質問したんやけどなぁ。
久々にEach文書いたらVariantじゃないと受け取れなくて「・・・え、嘘でしょ?」とか思って。
なんかVariant指定しないとエラー出たり、時々エラーも出ずに動いたりでよくわかんね。
でもコンパイルは通らないんで結局Variantじゃなきゃ嫌らしい。うそーん。
532:デフォルトの名無しさん
10/03/31 14:20:50
Dim aa As New Collection
Dim temp As image
aaにimage突っ込んだり・・・・ラジマンダリ
For Each temp In aa
Next
まぁ言い方によるんじゃなかろうか
たとえばCstr関数のヘルプより抜粋
バリアント型 (内部処理形式が文字列型 (String) の Variant) に変換して返します。
533:デフォルトの名無しさん
10/03/31 15:32:44
ごめん、何言ってるのかさっぱりわからない。
534:デフォルトの名無しさん
10/03/31 16:31:11
>>532
For Each element In group
[statements]
[Exit For]
[statements]
Next [element]
For Each...Next ステートメントの構文は、次の指定項目から構成されます。
指定項目 内容
element
必ず指定します。コレクションや配列の各要素を繰り返す変数を指定します。
コレクションの場合、
引数 element にはバリアント型 (Variant) 変数、総称オブジェクト型変数、
または任意の固有オブジェクト型のオブジェクトの変数を指定できます。
また、配列の場合は、引数 element にはバリアント型のみ指定できます。
group
必ず指定します。オブジェクト コレクション名または配列名 (ユーザー定義型の配列を除く) を指定します。
MSDNライブラリ Visual Basic リファレンス ステートメント For Each...Next より引用
535:デフォルトの名無しさん
10/03/31 16:45:37
MSDNライブラリのリファレンス・オブジェクトのCollectionのページで使用例を見たら
MyClasses.Add Item:=Inst, Key:=CStr(Num)
という記述があったんだけど
:=
これって何?こんなの初めて見るんだけど
536:デフォルトの名無しさん
10/03/31 16:50:17
MSDN内を名前付き引数で検索
537:デフォルトの名無しさん
10/03/31 16:57:33
今年もVB6をやらされる新人がいるのか
いいかげん会社たためや
538:デフォルトの名無しさん
10/03/31 17:04:09
もう入社したのか
539:デフォルトの名無しさん
10/03/31 17:10:27
俺の時代は会社がきまった瞬間からその会社に行ってたものだが、今は無いのかな
540:デフォルトの名無しさん
10/03/31 17:14:48
普通10月に入社式だもんな
541:デフォルトの名無しさん
10/03/31 17:15:39
新卒採用とかしてるIT企業なんてあんの?
542:デフォルトの名無しさん
10/04/01 00:24:43
あるよ
543:デフォルトの名無しさん
10/04/01 01:11:24
この不景気にやるねぇ
544:デフォルトの名無しさん
10/04/01 20:16:43
ランダムな3桁の数値の入った配列Hoge(n)を
(重複した数値を除いた)ユニークな数値が何個あるのか数を数えたいのですが
どうすればいいですか?
545:デフォルトの名無しさん
10/04/01 20:22:38
>>544
ソートしてからカウントすれば簡単じゃないの?
って、少しは頭使おうよw
546:デフォルトの名無しさん
10/04/01 20:24:21
dim kazu[0 to 999]
dim i,kosuu
for i = 0 to n step 1
kazu[hoge[i]]++
next
for i = 0 to 999 step 1
if kazu[i] == 1 then kosuu++
next
VBの文法はまったく忘れたけど、こんなもんじゃない?
547:デフォルトの名無しさん
10/04/01 20:25:51
ループで。
548:デフォルトの名無しさん
10/04/01 20:50:23
>>545と>>546の方法
どちらのほうがよいのか
549:デフォルトの名無しさん
10/04/01 20:51:16
>>546
VB6以前にインクリメントは無い
配列は丸括弧
550:デフォルトの名無しさん
10/04/01 20:57:27
>>548
どっちがいいってもんでもなくて
nの個数とか速度とかメモリとかの状況によるでしょ
最後にゃ実際にやってみないとね
551:デフォルトの名無しさん
10/04/01 21:00:47
連想配列使えばいいのに
552:デフォルトの名無しさん
10/04/01 21:27:21
ここって需要まだあるの?
ずいぶん前のじゃない?60
553:デフォルトの名無しさん
10/04/01 22:36:43
>>552
良いか悪いかは置いといて需要はまだまだ多いぞ
いまだに新規案件で採用されたりするからな
Windows7でも動くしな
554:デフォルトの名無しさん
10/04/01 22:40:40
新規案件で!!
555:デフォルトの名無しさん
10/04/01 22:48:30
>>544,548
まとめ
その状態から重複していない事を担保するにはどんな方法でも最低n-1回のループは必須。
「ユニーク数のカウント」を最高速化したいなら、はじめから重複しないように追加しておくか、
そもそもカウントを配列追加時に行っておくのが正しい。
>>546の方法は、最大値の数だけ別配列を用意してバケツソート的手法でカウントしている。
このタイプの手法が使えるなら、これが概ね最速と考えられる。
だが>>546のコードはちょっと無駄が目立つ。ついでに999を越えても動作するようにしてみた。
Dim Huga() As long
Dim i As Long, Kosuu As Long
Redim Preserve Huga(999) '0~999決め打ち
OnError GoTo AryErr '用意したHuga()のサイズが足りなかった場合エラーをトラップ
For i = 0 To Ubound(Hoge)
If Huga(Hoge(i)) Then
Kosuu = Kosuu + 1 'カウントアップ
Else
Huga(Hoge(i)) = 1
End If
next
AryErr: Redim Preserve Huga(Hoge(i)): Resume 0 '999で足りなかった場合に増量して再処理
コーディング的には>>551の言うようにCollectionやDictionaryを活用するほうが手っ取り早い。(OnErrorが嫌ならDic)
数が少ない場合や、値が整数ではない(小数を含むなど)、または値の種類の範囲が大きい(0や999999999を含む)場合では
メモリ確保の時間的コストとメモリの量的コストが大きすぎる結果になり、>>546的手法は適さない。
結局のところ>>550。
556:デフォルトの名無しさん
10/04/01 22:57:50
set dic = createobject("scripting.dictionary")
for each h in hoge
dic(h) = dic(h) + 1
next
debug.print dic.count
557:デフォルトの名無しさん
10/04/01 22:58:51
足す必要なかったw
set dic = createobject("scripting.dictionary")
for each h in hoge
dic(h) = "hoge"
next
debug.print dic.count
558:デフォルトの名無しさん
10/04/01 23:22:20
ウインドウの×(閉じる)ボタンをおしても
ctrl+ALT+DEL で起動中のプログラムとかをみたときに
VBで作成したプログラムが残るのですが、どこが原因なのでしょうか?
ちなみにフォームは見れません。スタートアップのモジュールも終了しています。
559:デフォルトの名無しさん
10/04/01 23:24:46
そんなことは無い
560:デフォルトの名無しさん
10/04/02 00:01:48
>>555
なにが偉そうにまとめだよw
そんなもの普通にソートしてやれ、ってのが常識だろ。
連想配列とか本気でいってるんか。
561:デフォルトの名無しさん
10/04/02 00:34:43
>558
このへんじゃねーの
URLリンク(questionbox.jp.msn.com)
562:デフォルトの名無しさん
10/04/02 01:30:24
>>560
古い人は皆そう言うな。
563:デフォルトの名無しさん
10/04/02 01:55:42
未だにVB6を新規案件ってことは
その客は
かなりショボイパソコンを使ってるってことか?
564:デフォルトの名無しさん
10/04/02 03:14:52
>>563
言ったろ
VB6.0はWindows7でも動くんだぜ
565:デフォルトの名無しさん
10/04/02 03:38:58
発注側は何でどうして言語指定するのかなぁ
古いパソコンでも無いのならわざわざVB6指定する意味が分からない
VB6で作ったソフトウェアを商業目的に使うのに制約とかあるのかなぁ?
それとも発注側が何か弄るってこと?孫請けとかで部分的なの作れってこと?
いや、俺素人だから知らんのけどね
566:デフォルトの名無しさん
10/04/02 05:17:16
VB6で構築したシステムが現役で稼動していて、少なくともあと10年はそのまま稼動させる予定。
で、業務の変更・追加に伴うシステムの修正・新規案件がががが
567:デフォルトの名無しさん
10/04/02 07:12:49
既存システムへの追加とかならわかるけど
完全新規ではさすがに無いよね
しばらくVB.NETできてたけどだんだんC#のほうが増えてきた
568:デフォルトの名無しさん
10/04/02 07:23:39
ここは、VBプログラマ質問スレというより職業VBプログラマ質問スレ
569:デフォルトの名無しさん
10/04/02 08:12:44
>>568
仕事が絡まなかったら、それこそ今更覚えようなんてする奴はいないだろうしなぁ
570:デフォルトの名無しさん
10/04/02 09:22:45
VBAには役立つけどね
もしくは人が足りなくてVBAしかできない奴にやらせようとしてるとか・・・
571:デフォルトの名無しさん
10/04/02 09:29:50
Windows7以降のOSではVBAどうなる
572:デフォルトの名無しさん
10/04/02 10:01:20
どうにもならんだろ。
573:デフォルトの名無しさん
10/04/02 21:06:46
sage
574:デフォルトの名無しさん
10/04/02 21:08:30
>>560
なんか典型的なVB厨の発想だなそれ
575:デフォルトの名無しさん
10/04/02 21:11:33
アンカーミスったw
上のは>>560じゃなくて>>562ね。
576:デフォルトの名無しさん
10/04/03 02:55:32
>>569
ノシ
完全に趣味でVB6やってますお
10年くらい前にVB6LEを買って以来ずっとVB6しかやってないですお
今更新しい言語習得なんて億劫ですし
パソコンのスペック的にも最近の新しいVBはインストルでけませんですお
別にVB6だからって困ることは無いですお(LEはちょっと困ってますが)
当時学生で金も無かったのでLEしか買えなかったんですお
577:デフォルトの名無しさん
10/04/03 02:59:24
最初はN88BASICを趣味でやってたんですお
そっからVB6へ変えたんですお
ですがかなり苦労しましたですお
勝手が違いすぎましたお
もうそんな苦労ゴメンですお
なので今でもVB6使ってますお
578:デフォルトの名無しさん
10/04/03 03:03:22
プログラミングは僕の中の趣味のランキングでは4位か5位くらいに相当するのですお
たまに気が向いた時だけプログラミングするだけなので未だにプログラミング能力は初心者に毛が生えた程度あるか無いかですお
ベーシックマガジンという雑誌だけを頼りにN88BASICもVisualBasicも覚えたんですお
579:デフォルトの名無しさん
10/04/03 10:29:24
>>576
俺漏れも。学生時代に購入してアカデミック何とかが有効だったからプロフェッショナル版買った
確かLEとの差は数千円だったような気がしたから欲張ってこっち選んだと思った
580:デフォルトの名無しさん
10/04/03 21:43:33
>571
Officeがある限り安泰です
581:デフォルトの名無しさん
10/04/06 01:09:50
Microsof HTML Object Library (mshtml.dll)の
Scriptletコントロールって何に使うコントロールなの?
Microsoft Internet Controls (ieframe.dll)の
WebBrowserコントロールと同じ?
582:デフォルトの名無しさん
10/04/09 01:38:02
そのWebBrowserのgetPropertyとかputPropertyの使い方がワカラン
プロパティってどんなのがあるの?
このプロパティ弄れば、個別にJavascriptをOFFにしたり、画像非表示にしたりとか出来るの?
583:デフォルトの名無しさん
10/04/09 21:41:03
>JavascriptをOFFにしたり
VB6以前では何か無理みたいですよ。よく知りませんが,
OnAmbientPropertyChangeメソッドを実装する必要があるようです。
VB界のあの大御所ですら完全には出来てないようですし。
584:デフォルトの名無しさん
10/04/11 05:19:02
>>583
あぁ、それ以前調べたけど、俺の拙い知識と技術じゃ全くむりぽかった。
JavaScriptと画像表示切りたかったんだけどなぁ・・・
585:デフォルトの名無しさん
10/04/11 18:31:16
VB6.0に付属してるWebBrowserコントロールは
Trident(MSHTML.dll) HTMLレンダリングエンジンを使ってるんですよね。
ここで疑問なのは、VB6.0でWebBrowserコントロールを使う場合でも常に、systemフォルダにあるMSHTML.dllの最新の機能が使えてるのかということです。(まぁ、当然かな)
MSHTML.dllのバージョン としては下記のようです。
/ Trident MSHTML.dll IE
/ 4.0.x 4
/ 5.0.x 5
/ 5.5.x 5.5
/ 6.0.x 6
/ 3.1 7.0.x 7
/ 4.0 8.0.x 8 <- Tridentとしては初めてAcid2テストを通過
ちなみに、自分のパソコンのmshtml.dllのバージョンを調べたところ
ファイルバージョン 7.0.6000.17037(製品バージョン 7.00.6000.16386)
更新日時2010/03/10 1.52となってました。
586:デフォルトの名無しさん
10/04/12 11:02:08
既存のVB6プロジェクトに含まれるファイル(*.cls|*.bas|*.frm)を調べて、
使われていないクラスファイルを見つけたいと思います。
プロジェクトに含まれるファイル(*.cls|*.bas|*.frm)を開いて、
全てのファイルで「 As (クラス名)」という文字列が含まれていない
クラスファイルは使われていないクラスファイルとして処理しようと
していますが、「 As (クラス名)」以外でクラスファイルを参照する
方法があるでしょうか?
587:デフォルトの名無しさん
10/04/12 13:08:53
>>586
自己レスです。「 As (クラス名)」の他に「= New (クラス名)」もありますね。
他に見落としはないだろうか・・・
588:デフォルトの名無しさん
10/04/12 13:26:54
implements
589:デフォルトの名無しさん
10/04/12 13:52:20
TypeOf ... Is
590:デフォルトの名無しさん
10/04/12 14:40:53
CreateObject
591:デフォルトの名無しさん
10/04/12 15:01:55
CreateObjectがアリだと他にもいっぱい出てくるな・・・
592:デフォルトの名無しさん
10/04/12 15:11:07
CreateObject 関数
ActiveX オブジェクトへの参照を作成して、返します。
593:デフォルトの名無しさん
10/04/12 15:31:25
TypeName
Controls.Add
594:デフォルトの名無しさん
10/04/13 00:47:40
リッチテキストボックスコントロールで
プログラミングでよく使われるようなエディタ風(特定単語を色分けや字体変えたり、行番号表示したり)
を作るのって
難しい?
595:デフォルトの名無しさん
10/04/13 00:57:57
とても難しいです
596:デフォルトの名無しさん
10/04/13 00:58:57
そうか、残念
597:デフォルトの名無しさん
10/04/13 07:05:56
テキストエディタってどういうデータ構造で持てばいいんだろうな
考えるだけでむずかしー
598:デフォルトの名無しさん
10/04/13 07:11:49
テキストで持てばいいんじゃね?
599:デフォルトの名無しさん
10/04/13 14:09:43
テキストファイルをFileSystemObjectのTextStreamで開く
一行ずつ読み出しては解析してRichTextBoxに追加&装飾
文末(EOF)まで繰り返す
タブ記号や改行記号もなんとかして加える
600:デフォルトの名無しさん
10/04/13 14:27:41
そうかー
文字データと装飾データを別に持てば意外といけるかー
601:デフォルトの名無しさん
10/04/13 14:33:24
むしろリッチテキスト使わずに
オリジナルコントロール作っちゃえばいい
UserContorolにPictureBox配置して
PictureBoxにテキストファイルを描写
カーソルや範囲指定、日本語入力と色々と頑張る必要はあるけどな
602:デフォルトの名無しさん
10/04/13 14:42:27
結論 古いVBではエディタは作れない
603:デフォルトの名無しさん
10/04/13 14:56:59
できた
Dim x as Integer, y As Integer, sen as Boolean
Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
Select Case KeyCode
Case 39 : x = x + 1
Case 40 : y = y + 1
Case 37 : x = x - 1
Case 38 : y = y - 1
Case 13
y = y + 1
x = 0
End Select
Me.Refresh
End Sub
Private Sub Form_Paint()
Me.PSet (0, 0)
Me.FontName = "MS ゴシック"
Me.Font.Size = 16
Me.Font.Bold = True
Print "あいうえお"
Print "かきくけこ"
Print "さしすせそ"
If sen Then Line (x * 20, y * 20)-(x * 20, y * 20 + 20)
End Sub
Private Sub Timer1_Timer()
If sen Then sen = False
Else sen = True
Me.Refresh
End Sub
604:デフォルトの名無しさん
10/04/13 15:04:13
画面のチラつきを抑えるには
PictureBoxコントロールを2つ用意し
一方はAutoRedrawをTrue、VisibleをFalseにして
毎度Clsして全て描写
そしてもう一方はAutoRedrawをFalseにして
さきのPictureBoxの描写が終わったのを見計らって
PaintPictureでさきのPictureBoxのImageを描写する
これでチラつきが消える
605:デフォルトの名無しさん
10/04/13 15:06:49
うそつき
606:デフォルトの名無しさん
10/04/13 15:10:25
If sen Then Line (x * 20, y * 20)-(x * 20, y * 20 + 20)
↓
Dim w, h
w = TextWidth("あ")
h = TextHeight("は")
If sen Then Line (x * w, y * h)-(x * w, y * h + h)
607:デフォルトの名無しさん
10/04/13 15:19:59
>>606
おお
便利そう
608:デフォルトの名無しさん
10/04/13 15:25:19
オブジェクトブラウザ眺めてりゃ結構便利なメソッドや関数や定数見つかる
609:デフォルトの名無しさん
10/04/13 15:28:15
(´・ω・`)
610:デフォルトの名無しさん
10/04/13 15:30:40
そういやオブジェクトブラウザ上のLineメソッドって
Sub Line(Flags As Integer, X1 As Single, Y1 As Single, X2 As Single, Y2 As Single, Color As Long)
ってなってるけど何でだろう?
611:デフォルトの名無しさん
10/04/13 16:03:09
APIのCreateThreadってVB6で扱える?
612:デフォルトの名無しさん
10/04/13 16:21:28
確か扱えたと思うけど、一時中断とかすると即死したような気がする。
613:デフォルトの名無しさん
10/04/13 17:09:40
IDEとの相性は最悪だったきがするな
以前、それも考慮に入れてつくればいいとかしつこく言ってた奴がいたが
614:デフォルトの名無しさん
10/04/13 17:11:30
ActiveXexeにしてマルチプロセスにしたほうがいいね
615:デフォルトの名無しさん
10/04/13 17:30:06
やはり無理か・・・マルチプロセスなら簡単そうだな。それにする
616:デフォルトの名無しさん
10/04/15 02:51:36
>>582-585
VBじゃないけど、
DonutとかいうTrident使ってるブラウザで
ページごとに個別に設定できるから
VBでも可能だと思うよ
DonutはうちのWin95のIE5.5で確認したから
MSHTML.dllはIE5.5以上なら出来るはず
617:デフォルトの名無しさん
10/04/15 02:52:37
Donutじゃなくて派生ソフトのDonutLってソフトだった。
先日VectorからWin95パソにDLったのよ
618:デフォルトの名無しさん
10/04/15 03:06:58
>>616-617
実現するためには引き渡すオブジェクトの定義が必要で、
大元の問題は、そのクラス定義がVB6だけでは書けないって事だったと思う。(もううろ覚え)
IE操作する機能のために、定義を他の方法で書いて用意しなきゃいけないくらいなら、
いっそ最初から外部DLLとして作って渡したほうが良いんじゃないかって感じで形骸化してる。
619:616
10/04/15 04:34:08
俺、素人なのに生意気に意見してゴメンお
620:デフォルトの名無しさん
10/04/15 15:10:23
VBで関数ポインタを呼び出す
URLリンク(nienie.com)
これってどうなの?
621:デフォルトの名無しさん
10/04/15 15:35:01
>>620
DEPで落ちるんじゃないか
622:デフォルトの名無しさん
10/04/15 16:22:46
>>610
Line等は古代のBASICとの互換性のため特殊な文法になっている
COMオブジェクトレベルではそのパラメータに変換して呼び出されている
従ってCallByNameでLineメソッドを呼ぶ場合はFlagsが不詳だがこんな感じ
CallByName Me, "Line", VbMethod, CInt(32+8+2), CSng(15), CSng(30), CSng(40), CSng(40), CLng(vbRed)
623:デフォルトの名無しさん
10/04/15 16:46:40
なるほど
624:デフォルトの名無しさん
10/04/15 20:38:36
超初心者ですが、VB6で質問があります。
画面の無いモジュールのソースを見る必要があるのですが、標準モジュールとクラスモジュールがたくさんあり、実際にそのモジュールを使用する際にどのモジュールから処理が開始されるのかわかりません。
また、一つのモジュールの処理完了後に、どのモジュールに行くかもよくわかりません。
ご教授、もしくは参考サイトなど、お願い出来ますでしょうか?
625:デフォルトの名無しさん
10/04/15 20:47:39
sub main()からだよ
626:デフォルトの名無しさん
10/04/15 20:49:28
>>624
関数とかクラスというものは知っていますか?
627:デフォルトの名無しさん
10/04/15 21:18:07
>>626
関数はわかります。
SUBやFUNCTIONの後に定義し、引数が必要であれば与えてやり、FUNCTIONであれば帰り値があるんですよね。
クラスは今いちわかりません。イメージ的には変数やプロシージャをまとめた物で、他のモジュールで上手く流用してやるというイメージです。
628:デフォルトの名無しさん
10/04/15 21:21:24
初心者ならすぐにC#かJavaか最低でもVB.NETに乗り換えるんだ
会社でVB6を覚えなければならないなら、ご愁傷様だが
629:デフォルトの名無しさん
10/04/15 21:23:21
>>625
sub main()でプロジェクト内を検索してみれば良いのですね。ありがとうございます!
そこからそのモジュールを上から下に実行していき、最後のプロシージャで次にどのモジュールに行くか書いてある感じですかね。
なんかイケそうな気がします!頑張ってみます。
630:デフォルトの名無しさん
10/04/15 21:26:19
>>628
まさしくご愁傷様です。ですがC#も勉強していこうと思ってます。VB6をある程度わかるようになってから並行して勉強しようと、、。
631:デフォルトの名無しさん
10/04/15 21:30:37
>>629
モジュールに書かれているプロシージャを上から順番に
実行していく(1個目のプロシージャが終わったら
2個目のプロシージャを実行、…、どんどん順番に
実行していって、最後のプロシージャの実行が終わったら、
そのモジュールの実行が終わって、次のモジュールを
実行する)と思っているなら、それは間違いだよ。
632:デフォルトの名無しさん
10/04/15 21:32:20
>>631 のように思っているなら、関数というものが
理解できていない(関数はどのようにして実行される
のかが理解できていない)ということになるね。
633:デフォルトの名無しさん
10/04/15 21:35:08
>>631
なるほど、ではなくsub main()から始まるモジュールを上から下に処理していき、その中で他のモジュールを利用するという感じでしょうか?
そのほうがなんとなく納得出来る気がします。
634:デフォルトの名無しさん
10/04/15 21:38:54
>>632
多分そうです。ですが、なんか今までのソースの見方が意味不明だったのが解決出来そうな流れで、非常に興奮してます。
sub main()から始まり引数付きで他のモジュールのプロシージャを呼び出し、その帰り値を貰ったりして進んでいく感じですかね?
635:デフォルトの名無しさん
10/04/15 21:47:22
VBにはステップ実行があるから、一度やってみるといい
636:デフォルトの名無しさん
10/04/15 22:05:48
>>635
ありがとうございます。ネットでサンプルコードを拾って色々やってみます。
637:デフォルトの名無しさん
10/04/15 22:16:10
>>634
だいたいあってる
638:デフォルトの名無しさん
10/04/15 22:17:28
>>636
そういう意味ではなくて、[F8] を連打しろ、という意味だ。
639:デフォルトの名無しさん
10/04/15 23:23:53
>>638
うん、そういう認識です。
実際やってみたら割と思うように進んで納得しました。呼び出し元と呼び出し先、またそこが呼び出し元になって、さらに戻って~みたいな流れで最終的にはメインの最後で終わる感じですね。
あとはクラスモジュールやAPIの使用なんかは少し難しい感じがしますが、頑張ってみます。
640:デフォルトの名無しさん
10/04/17 15:20:50
>>585
ちなみに、IE8のMSHTML.DLLはそのまま使うとIE7互換モードになることに注意。
URLリンク(blogs.msdn.com)
641:デフォルトの名無しさん
10/04/17 15:50:42
>>640
そうでしたか。 トン
642:デフォルトの名無しさん
10/04/21 18:12:28
VB6で質問です。
ListViewで上の要素をクリックするととりあえず降順にソートしてくれるけども、もう一回クリックで昇順とかは
.NETなら見つかるんだけんども、VB6は無理なんでしょか?
643:デフォルトの名無しさん
10/04/21 19:43:27
>>642
できるよ。
644:デフォルトの名無しさん
10/04/21 22:51:36
>>642じゃないけど、ListViewで安定ソート出来ないもんかしら?
やっぱソートを全部自前でやるしかない?
645:デフォルトの名無しさん
10/04/21 23:35:21
>>644
そもそもGUI部品にソート機能を持たせよう、
って発想が間違ってることにいい加減気がつこうよ。
646:デフォルトの名無しさん
10/04/21 23:58:33
表示の降順・昇順ソートは普通じゃないの? Explorerとかの日付ソートとか。
まあともかく…
できなくはないけど安定しない、思想がよろしくない。で、いいのかしら?
647:デフォルトの名無しさん
10/04/22 00:17:04
ソート?エクセルにデータ渡してソートしてもらって再取得とかじゃダメなの?
648:デフォルトの名無しさん
10/04/22 00:18:14
は?
649:デフォルトの名無しさん
10/04/22 00:32:42
>>646
ソート機能を否定してるんじゃなくて、
ソート機能をGUI部品に担わせるのが間違ってるといってるんだよ。
650:デフォルトの名無しさん
10/04/22 00:36:29
どう違うんだ?
651:デフォルトの名無しさん
10/04/22 00:40:03
打っても響かないところがVBスレらしいところだなw
>>650
ソートする責任はListViewに表示しているアイテムを集約してるオブジェクトに
持たせるべき、ということ。
652:デフォルトの名無しさん
10/04/22 00:43:37
それって否定だろ?
653:デフォルトの名無しさん
10/04/22 01:00:29
これがVB脳の恐怖か....
654:デフォルトの名無しさん
10/04/22 01:08:15
ListViewは数字でのソートが・・・上位桁に0埋めて桁合わせないと数字の大きさ順にソートしてくれなかった
655:デフォルトの名無しさん
10/04/22 01:09:28
>>653
おまえは鳩山か?
656:デフォルトの名無しさん
10/04/22 07:08:37
バブルソートでおk
657:デフォルトの名無しさん
10/04/22 10:38:20
>>652
「ListViewソート機能の否定」ならわかるんだが
単に「ソート機能の否定」ってと「ソートすんな」だよね?
ListViewじゃなくてオブジェクトで「ソートしよう」って言ってるのに、なんで「ソートすんな」なんだ?
658:デフォルトの名無しさん
10/04/22 16:05:16
>>651
しかし見た目を掌るListViewが見た目のソートを持たないというのも微妙な気が。
データそのものやその扱い自体のソートなら内部で持つべきだと思うけど。
ともかく。
ふつうにはやりにくい、でいいのかしら?
>>642のひとの手法が知りたい…使い物になるのかはさておいて。
659:デフォルトの名無しさん
10/04/22 16:14:21
ListViewの昇順降順くらい
Private Sub ListView1_ColumnClick (ByVal ColumnHeader as ColumnHeader)
Let ListView1.SortKey = ColumnHeader.Index-1
Let ListView1.SortOrder = lvwAscending :Rem 昇順。降順ならlvwDescending
Let ListView1.Sorted = True
End Sub
660:デフォルトの名無しさん
10/04/22 17:28:33
すると、クリック毎に入れ替えると
ListView1.SortKey = ColumnHeader.Index - 1
If ListView1.SortOrder = lvwAscending Then
ListView1.SortOrder = lvwDescending
Else
ListView1.SortOrder = lvwAscending
End If
ListView1.Sorted = True
かな
661:デフォルトの名無しさん
10/04/22 17:53:22
lvwAscendingとlvwDescendingの値は1と0だから
ListView1.SortOrder=1-ListView1.SortOrder
でおk
662:デフォルトの名無しさん
10/04/22 17:55:01
Withくらい使えよ・・
663:デフォルトの名無しさん
10/04/22 18:13:32
Withとかきめぇ
664:デフォルトの名無しさん
10/04/23 17:57:51
>>594
やってみた
RichTextBoxでjavaファイルをTeraPad風に色とボールドしてみた
ファイルを読み込んだ時だけ色・ボールドするので
中身編集すると・・・めちゃくちゃにはなる
やり方が悪いのかもしれんがファイル大きいと結構時間かかる
結論:RichTextBoxでやるのは無理がある
665:デフォルトの名無しさん
10/04/24 07:09:38
>>594 >>664
こんなんどう?
非表示でIEやリッチテキストに描画させて、それをPicture内に再描画して提供。
右クリックやドラッグなどの処理は透過的に処理する。
まぁ面倒くさい事に変わりはないな。
666:デフォルトの名無しさん
10/04/24 07:25:57
それだと文字位置などの管理が無理だな
すべて自分で描画したほうがラクだろ
667:デフォルトの名無しさん
10/04/24 08:11:32
>>666
そうかね?
クリックも全部裏のコントロールに渡せばカーソル位置や文字の選択もそっちが勝手にやってくれるんじゃない?
実際に試して話してるわけじゃないけど。
668:デフォルトの名無しさん
10/04/24 08:22:24
実際試してみろよ
そもそもそんな使い方ならピクチャに再描画する意味なんてないだろ
669:デフォルトの名無しさん
10/04/24 08:36:17
>>668
意味は、うーんあんまないかもなw
描画エンジンを自前で作りたくないし、リッチテキストの処理は非常にめんどくさいのでパスしたいのさ。
俺がやるなら内部にIE一匹飼ってHTMLで表示を作る。CSS使って自由度高いし。
で、入力はフックしてHTMLに変換して制御とか。
670:デフォルトの名無しさん
10/04/24 09:05:00
入力部(カーソルなど)が問題だってのになにいってんの
671:デフォルトの名無しさん
10/04/24 09:18:24
>>603がすばらしいじゃん
672:デフォルトの名無しさん
10/04/24 09:23:00
笑えない冗談だ
673:デフォルトの名無しさん
10/04/24 09:26:10
URLリンク(www7a.biglobe.ne.jp)
これ使えない?
674:デフォルトの名無しさん
10/04/24 09:29:08
まあ>>603にはかなわないか
675:デフォルトの名無しさん
10/04/24 20:56:25
>>603みたいなやり方だと
日本語入力とか出来ないよね?
KeyDownやKeyPressイベントじゃIMEとかの日本語入力使えないよね?
676:デフォルトの名無しさん
10/04/24 21:29:22
え?どこに入力が?
677:デフォルトの名無しさん
10/04/24 21:33:29
IMEの制御くらいAPIでいくらでもできますよ
678:デフォルトの名無しさん
10/04/24 23:26:26
>>594のってエディタ作るんでしょ?>>603のってエディタになってなくね?
679:デフォルトの名無しさん
10/04/24 23:48:22
だからみんな相手してないんじゃん
680:デフォルトの名無しさん
10/04/25 00:54:56
まあRitchTextBoxを使うのが一番簡単だとは思う。
入力した文字にシンタックスカラーがリアルタイムで適用されるような
応答性の高いものは難しいと思うけど、以下の方針で作ればそれなりに
実用的なものはできるんじゃないか。
- テキストの解析とシンタックスカラーの適用は、タイマーを使って一定時間ごとに一行ずつ行う。
- 上記タイマーは、Changeイベントで起動し、全行の解析が完了時点で停止する。
- 行の解析は、タイマー起動時の現在行か、またはその1行上の行から開始する。
- 行番号表示は、左側にもう一つ別の行番号専用のRitchTextBoxを置いて実現する。
681:デフォルトの名無しさん
10/04/25 00:59:51
VB厨はコントロールに頼りすぎる
682:デフォルトの名無しさん
10/04/25 01:22:40
>>680
そんなアホな事をする位だったら自作したほうがラクだろ?
683:デフォルトの名無しさん
10/04/25 01:34:19
>>682(あと>>681)
またそういう寝ぼけた事を言う。
そう思うならやってみたら?
まあやってみなきゃ大変さが分からない時点で君がダメグラマなのは確実だな。
エディタの類はVBじゃなくても一から実装するのは難しい部類に入るプログラムなのに、
低レベルのコーディングにまったく向いてないVBでやったら気が狂うこと確実だわ。
しかし、エディタを書けるかって質問して舐めたこというかどうかで
ダメな奴を見分けられそうだよなw
684:デフォルトの名無しさん
10/04/25 01:43:30
寝ぼけた事を言ってるのは>>680(あと>>683)だが
685:デフォルトの名無しさん
10/04/25 01:46:04
682だけど、
以前やってみたから言ってんだよ。
686:デフォルトの名無しさん
10/04/25 02:37:31
やってるわけがない。
やってたら>>682みたいな戯言が言えるはずがない。
だからVB厨って言われる連中はダメなんだ。
687:デフォルトの名無しさん
10/04/25 02:42:33
ではお前が作ったRutchTextBoxを使ったエディタを見せてくれないか?
俺はリアルタイムの色変更とスクロール、文字位置制御で挫折したんだ
えらそうに言うくらいだから、できたんだろうな?
688:デフォルトの名無しさん
10/04/25 02:44:34
>>680
些細なことだけど
×RitchTextBox
○RichTextBox
689:デフォルトの名無しさん
10/04/25 02:44:38
技術的な難易度を指摘してるだけなのに、いつのまに俺がRutchTextBox(笑)
を使ったエディタを作ったことになってるんだろう。
訳がわからん。
690:デフォルトの名無しさん
10/04/25 02:45:22
>>687
些細なことだけど
×RutchTextBox
○RichTextBox
691:デフォルトの名無しさん
10/04/25 02:46:30
>>689
てめえが難癖つけてきたんじゃねえか糞野郎!!!!!
692:デフォルトの名無しさん
10/04/25 02:47:09
>>680
行番号表示って、編集してるほうのカーソル位置とかスクロールに合わせてスクロールさせるんだよね?
RitchTextBoxのスクロール量の取得・設定てどうやるの?
693:デフォルトの名無しさん
10/04/25 02:52:34
VB6のIDEだと編集中の行は色づけが解除されるよね
694:デフォルトの名無しさん
10/04/25 02:53:12
>>692
↓の454のサンプルの方法で可能なはずだと思った。
もう長いことVB6使ってないんで記憶が確かなら、だけど。
URLリンク(web.archive.org)
695:デフォルトの名無しさん
10/04/25 02:53:44
解除されるのでもいいから、リッチテキストでやってみろよ
696:デフォルトの名無しさん
10/04/25 03:07:47
>>692
ごめん、君の文章を少し読み間違えてたようだ。
でも>>694のサンプルにはそれも一応載ってるな
697:デフォルトの名無しさん
10/04/25 04:06:19
OS、Windows2000じゃないんですけど
698:デフォルトの名無しさん
10/04/25 04:07:02
めちゃくちゃ重いサイトだな
699:デフォルトの名無しさん
10/04/25 04:33:29
>>692
API
700:デフォルトの名無しさん
10/04/25 07:27:25
GWはテキストエディタつくろーっと
701:デフォルトの名無しさん
10/04/25 23:25:04
別にあなたが何しようとどうでもいんですけど・・・^^;
702:デフォルトの名無しさん
10/04/25 23:30:53
気になるくせにーw
703:デフォルトの名無しさん
10/04/25 23:44:19
反応早すぎだろうw
気にしてるのがどっちか丸分かりじゃねーかw
704:デフォルトの名無しさん
10/04/25 23:52:19
一日中2ちゃんしてるからw
705:デフォルトの名無しさん
10/04/26 14:15:51
VB6でデータベースの列を追加する方法か、その内容をひっかけられるMSDNの語句を教えていただけないでしょうか。
.NETやC#ならすんなり当たるのに…世の中つらい。
706:デフォルトの名無しさん
10/04/26 14:17:14
alter tableするだけじゃねーの?
707:デフォルトの名無しさん
10/04/26 14:31:02
扱いは追加じゃなくて変更なのか…㌧。
ググるとそこそこあたるので探ってみる。
708:デフォルトの名無しさん
10/04/26 17:31:07
つうか、SQLの知識のほうじゃねぇか…
709:デフォルトの名無しさん
10/04/26 20:55:03
>>708
ああ、そうか… って、VBでSQLなスレ見つけたけど、中身がわりと残念な進行してるねえ。
むこうで聞いて大丈夫だろうか?
710:デフォルトの名無しさん
10/04/26 21:29:41
DBはDB板へ
711:デフォルトの名無しさん
10/04/27 02:33:05
>>705
まずどうやってデータベースに接続してるのか?
まあ、DAO.TableDefかADOXを調べてみろ
つかここ見れば解決
URLリンク(msdn.microsoft.com)(v=msdn.10).aspx
712:デフォルトの名無しさん
10/04/27 18:50:25
VB6付属のMSDNライブラリのVBのLogの項目で
Static Function Log10(X)
Log10 = Log(X) / Log(10#)
End Function
ってあったんだけど、これってStaticつけられてるけど何か意味があるの?
713:デフォルトの名無しさん
10/04/28 12:07:17
実行速度が遅くなる以外は違いがない気がするな
714:デフォルトの名無しさん
10/04/28 13:22:42
インスタンス無くてもアクセスできる
715:デフォルトの名無しさん
10/04/28 14:01:46
なぜインスタンスが?
716:デフォルトの名無しさん
10/04/28 14:16:03
C++とは意味が違う
717:デフォルトの名無しさん
10/04/28 19:20:06
Property Let とか Property Set は斬新だった
718:デフォルトの名無しさん
10/04/29 09:35:43
b() = Inet1.OpenURL(strURL, icByteArray)
でバイト配列にデータを格納したら
そのあとは
どんなプログラムを書けばハードディスクに記憶できるのか
719:デフォルトの名無しさん
10/04/29 10:30:15
ファイルを作って書き込めばいい。
720:デフォルトの名無しさん
10/04/29 11:18:24
>>718
b = Inet1.OpenURL(strURL, icByteArray)
fn=FreeFile()
Open "File.txt" For Binary As #fn
Put #fn, , b
Close #fn
721:デフォルトの名無しさん
10/04/29 11:32:29
サンクス
722:デフォルトの名無しさん
10/04/30 01:06:10
またVB厨か
URLリンク(el.jibun.atmarkit.co.jp)
723:デフォルトの名無しさん
10/04/30 02:19:34
>>720
この方法のヤバさと言ったら
File.txtが既に存在していて
書き込むbのサイズよりファイルサイズが大きい場合だよね
超ヤバイ
724:デフォルトの名無しさん
10/04/30 05:57:50
なにが?
725:デフォルトの名無しさん
10/04/30 09:58:29
引き出したい言葉を普通に質問すればいいのに
726:デフォルトの名無しさん
10/04/30 15:25:44
>>723
サンプルにエラー処理の事でつっこむとかバカなの?
727:デフォルトの名無しさん
10/04/30 15:27:14
>>722
60年代前半生まれだしな
つうかSAPて言語・・・なのか?w
728:デフォルトの名無しさん
10/04/30 17:33:14
>>726
エラー?
729:デフォルトの名無しさん
10/05/04 00:24:00
つい最近、Trueの値が-1である理由に気づいた。
もう10年以上(まぁかなりの素人ではあるけれど)プログラミングに触れてきてるのにね。
2の補数のビットで表現してたって本当つい3日前に気づいた
Falseがビットが全部0に対してTrueはビットが全部1
ビットが全部1だと2の補数だと-1になるという・・・
ずっと昔から、何で1じゃなく-1なんだろうと思ってた・・・その疑問がやっと解決した・・・
730:デフォルトの名無しさん
10/05/04 00:39:23
全部0とそれ以外
それだけだと思うんだ
731:デフォルトの名無しさん
10/05/04 00:43:18
Debug.Print "True="; CInt(True) ' -1
Debug.Print "False="; CInt(False) '0
732:デフォルトの名無しさん
10/05/04 00:44:56
CBool(1) さて・・・どっち?
733:デフォルトの名無しさん
10/05/04 00:46:46
誰もそんな話してないけどな。
734:デフォルトの名無しさん
10/05/04 00:46:47
Dim a,b
a=10
b=20
Debug.Print CInt(a < b)
735:デフォルトの名無しさん
10/05/04 12:02:02
宇宙線の影響を考えると1ビット反転でコンピュータ障害がおきかねないな
736:デフォルトの名無しさん
10/05/04 23:28:37
原因不明のエラーはWindowsMeのせいじゃなくて、宇宙線のせいだったんだな。それなら仕方ないな。
737:デフォルトの名無しさん
10/05/05 00:40:56
ageてまで言うような事なのか?
738:デフォルトの名無しさん
10/05/05 01:01:06
そこはスルーしとけ
739:デフォルトの名無しさん
10/05/05 10:32:50
なんでもWindows Meのせいにするのは天江衣
740:デフォルトの名無しさん
10/05/06 00:59:32
顧客「おたくのアプリケーション、ちょくちょくエラーが出るんですけど
営業「宇宙線の影響なので仕方ありません
顧客「なんだ宇宙線のせいなのか。それならば仕方ないな。
使える!
741:デフォルトの名無しさん
10/05/06 10:00:50
ねーよwwww
742:デフォルトの名無しさん
10/05/07 23:52:26
なんのためのECCか
743:デフォルトの名無しさん
10/05/08 00:17:54
英語塾?
744:デフォルトの名無しさん
10/05/09 00:23:58
ECCで訂正できるのって1bitのミスだけで2bit以上は検出だけじゃなかったっけ
745:デフォルトの名無しさん
10/05/09 00:28:41
ミスるメモリだとわかる点だけでも価値はあったんだぜ
746:デフォルトの名無しさん
10/05/09 00:31:56
エラー検出訂正 (error detection and correction)?
747:デフォルトの名無しさん
10/05/09 02:32:50
クラスモジュールでグローバルな変数・定数・メソッドを使うのに抵抗があります
748:デフォルトの名無しさん
10/05/10 10:01:21
>>747
それは明らかにおかしい
必要ならば使うしかないだろ
749:デフォルトの名無しさん
10/05/10 14:40:47
俺は使いまくり。とても人に見せられるソースじゃない
750:デフォルトの名無しさん
10/05/10 19:30:36
グローバル変数は害悪
定数やメソッドは問題ない
751:デフォルトの名無しさん
10/05/12 14:03:49
>>750
そのへん含め.NETになったと聞いたけど、そうなのかしら? .NET触ったことないからよくわかんないけど。
ところで。
Windows7でMSCommがマトモに動いてくれないのだが、なにか情報出てたりしますか?
MSComm使って無さそうなソフトだと(ActiveX?)普通に受信するのに
MSComm32を使ったアプリだと、[ 通信デバイス読み取り時にエラーが発生しました(8020) ] を返してくる…。
USBtoシリアルとWindows7の組み合わせが悪いのか、Windows7だけの話なのか?
752:デフォルトの名無しさん
10/05/12 14:13:30
うちの環境で
DELLノート Win7+エレコムのUSBシリアル
でソフト書いても問題なかったけどなぁ
VB6でもC#でも
753:デフォルトの名無しさん
10/05/12 14:21:08
APIで書き直せばおk
754:デフォルトの名無しさん
10/05/12 14:36:04
>>752
マジカ
おのれIOデータ
とりあえず、受信バッファに何かあるときに MSComm.Inputすると出るの。
それ以外は出ないし送信もできるのに…。
>>753
それは最終手段にしたい…。
755:デフォルトの名無しさん
10/05/12 19:53:45
まず本当にOSの問題かどうかの裏をとろうよ。
そんなこと言ってるからVB厨とか言われちゃうんだよ。
756:デフォルトの名無しさん
10/05/12 20:03:34
IOデータってOSなの?
757:デフォルトの名無しさん
10/05/12 20:09:54
おのれIOデータのUSBシリアルめ、という意味なんだろう
758:754
10/05/12 22:38:13
IOデータのサポートに言ったら、他にそういう報告はないとのこと。
とりあえず1世代前の製品の最新ドライバ入れてみてという変なこといわれた。
やったら治った。
なんぞーっ
ドライバがこなれてないのかしら。
>>755
XPで起こらないのは確認済み。
759:デフォルトの名無しさん
10/05/15 01:44:06
自分に限界を感じた
データベースというのがさっぱり理解できない
データベースそのものもわけわからんのだが
それを扱うメソッドもよくわからん
VisDataもヘルプ読みながら使ってみたがよくわからん
これは
もう完全にセンスの問題だと思う。俺のプログラミングに関するセンスがダメなんだと思う
家計簿的なもの作ってやろうじゃんと思ったけど
さっぱりだ。
そもそもデータベースの入門書みたいな本とかもまったく理解できなかった
これは致命的だろう
ああ、くそだ
760:デフォルトの名無しさん
10/05/15 02:30:57
バイナリアクセスモードでファイル開いて
putやgetでstringの読み書きって半角や全角や制御コードとか全部2バイトデータかな
dim s as string * 20
put #1, , s
put #1, , n&
↓
get #1, , s
get #1, , n&
で取り出せるよね? sの内容にかかわらず
761:デフォルトの名無しさん
10/05/15 02:31:58
回答待つより自分で試したほうが早いか・・・やってみるお
762:デフォルトの名無しさん
10/05/15 08:23:17
>>759
こういう人が居ると安心する。
自分は頭がよくてよかった。
763:デフォルトの名無しさん
10/05/16 12:49:35
>>759
マジレスしたら
センスの有無はあるだろうけど
要は慣れだと思う
俺でもできるんだ
俺だって最初はまったく理解できなかった
764:デフォルトの名無しさん
10/05/16 21:18:53
>759
DBを使わず、自分でファイルの読み書きするプログラムを書いたことはある?
まずはそれからだと思うが・・・」
765:デフォルトの名無しさん
10/05/17 01:29:14
>>759
その「入門書」のタイトルを教えてくれれば、
何かアドバイスできるかも知れないな。
(もっと適切な入門書を紹介するとか)
766:759
10/05/17 01:47:04
なんかいっぱいレス下さって・・・意外です^^;
>>762 士農工商より下の位がいるみたいな感じっすかね
>>763 もう諦めの境地ですから、試行錯誤的にやってみてもエラーメッセージとか意味不明すぎて
MSDNの説明じゃ要領得なくて、ネット検索とかもう探すの面倒になりましたっす
>>764 当初は、DB使わず、データをLongやStringの配列で自前でデータ管理しようと試みたんすけど
データを表示する表みたいなコントロール?(DataGridとか)がイマイチ使い方が理解できなくって
そのコントロールってデータベースのデータ使ったほうがいいのかなって思って
データベースに挑んでみたですけど、まぁ忍耐の限界っす
>>765 書籍タイトルはちょっと分からんです、図書館で立ち読みでしたので
データベースの本はほとんどMicrosoftAccessの使い方の本ばっかでそれらは読んでないです
大学時代に一応データベースの授業受けたんですけど、ちんぷんかんぷんで、出席点だけで単位を貰った感じっす
まぁ趣味でやってる程度なんで、どうしても出来る必要ってないんで
でもみなさんの気持ちには感謝っす
767:デフォルトの名無しさん
10/05/17 02:00:26
あきらめろよ。
768:759
10/05/17 02:08:47
>>767
書き損ねましたっすが、はい、あきらめてます
769:デフォルトの名無しさん
10/05/17 02:27:49
愚痴るだけとか士ねよ
770:デフォルトの名無しさん
10/05/17 02:33:17
家計簿程度ならエクセルで十分なキガス
771:デフォルトの名無しさん
10/05/17 15:42:08
初心者ならVBAでいいな
772:デフォルトの名無しさん
10/05/17 17:51:52
でもまぁ、集計とかその辺が入るしなぁ
どうせやるならDBだろ と思うんだが
773:デフォルトの名無しさん
10/05/17 18:03:02
趣味で古いVB使うってどんな状況なんだ?
774:デフォルトの名無しさん
10/05/17 20:02:03
>>773
使わなくなったVBを貰ったとかいうのはどうか。
あとは昔からのBASICはよく知ってるんだが、.NETの具合にクラクラしたとかどうか。
775:デフォルトの名無しさん
10/05/17 20:35:32
>>576
>>579
776:デフォルトの名無しさん
10/05/17 21:29:52
質問させて下さい。
VBScriptを使用して開発を行う際、
何のエディタを使っていらっしゃいますか。
ASP(VBScript+HTML)で開発することになったのですが、
使用するエディタを何にしようか迷っています。
詳しい方がいらっしゃいましたら教えていただきたいです。
※候補としてはVisual web developer 2008 expressを考えています。
777:デフォルトの名無しさん
10/05/17 22:12:39
趣味で家計簿みたいなのを作るならExcelVBAがいいと思うよ。
表みたいなやつはもともとデフォルトでついてるし(Excelだから)
結構いろんなこともできる。
VBで画面作ってデータベースに接続して・・・・となるとそりゃ
趣味の範囲としては難しいよ。
778:デフォルトの名無しさん
10/05/19 01:33:39
複数のテキストボックスをテキスト形式で保存するプログラムを作成しています。
なんとか「保存」「読み込み」のボタンを設置し異常なく作動しました。
ここまではいいのですが、よく考えたら起動時に自動で読み込んでくれると
便利だと思うのですが、検索してもなかなか出てきません。
お詳しい方ご教授頂けると嬉しいです。宜しくお願い致します。
779:デフォルトの名無しさん
10/05/19 01:36:24
Form_Loadで処理すればいいんじゃないの?いや、俺も初心者レベルだけど
780:デフォルトの名無しさん
10/05/19 01:47:47
Private Sub Form_Load()
Dim f As New FileSystemObject
Dim t As TextBox
For Each t In Text1
t.Text = f.OpenTextStream("Data" & t.Index & ".txt").ReadAll()
Next
End Sub
こんな感じ?
781:779
10/05/19 01:55:47
>>780も俺のレスだけど、>>779,780は無かったことにして欲しい。俺の勘違いだった
782:778
10/05/19 09:47:49
すいません追加事項を
起動時に自動で読み込み、なおかつ参照ファイルが存在しなければ
作成する。を追加でお願いします。
783:デフォルトの名無しさん
10/05/19 15:18:27
>>758
マジで? おれも数ヶ月前に同じようなこと聞いて同じような回答をもらったが、あきらめて
Ratocのやつに買い換えたよ。
もう一度試してみる価値ありかもな。
784:デフォルトの名無しさん
10/05/20 00:30:58
>>782
よくわからんけど、どういうことなの?
785:デフォルトの名無しさん
10/05/20 00:38:19
自分で考えるつもりはなくて
人に作って欲しいってことじゃね?w
786:デフォルトの名無しさん
10/05/20 00:46:35
MDIフォームで作ってんのか?
787:デフォルトの名無しさん
10/05/20 00:54:11
>>778の言いたいことを少しずつみんなで推理していこう
まずこれ
>複数のテキストボックスをテキスト形式で保存するプログラムを作成しています
う~ん・・・
複数のテキストボックスをテキスト形式で保存???
これは・・・・テキストボックスの内容をテキスト形式のファイルに保存してるってことなのかな?
1つのテキストボックスに対してファイルを一つ用意するのかなぁ・・?
788:デフォルトの名無しさん
10/05/20 22:24:38
age
789:デフォルトの名無しさん
10/05/21 00:50:30
フォームロード時にファイルシステムオブジェクト使えば簡単に処理できます
790:デフォルトの名無しさん
10/05/21 16:01:21
strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" & strComputer & "\root\wmi")
Set colitem = objWMIService.ExecQuery _
("Select * from WmiMonitorID")
For Each objitem in colitem
Wscript.Echo
Wscript.Echo "シリアル: "& objitem.SerialNumberID[]
Next
win7ですが、シリアル採集できるはずですが、ステートメントの末尾が不正エラー出ます。
YearOfManufactureとかは採集できますが、[]のなかになにかいれないとだめなんでしょうか。
791:デフォルトの名無しさん
10/05/21 17:03:55
角かっこを私は知らない
792:デフォルトの名無しさん
10/05/21 17:17:07
かっこわるい
793:デフォルトの名無しさん
10/05/21 17:22:47
ひとまずwinmgmtsでググってみたよ
おれには分からない