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


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

くだすれVB6.0以前(超初心者向け)



1 名前:d mailto:age [2008/03/30(日) 09:01:59 ]
このスレッドはVBについて、
他のスレッドでは書き込めない超低レベル、
もしくは質問者自身何が何だか分からない質問を勇気を持って書き込むスレッドです。
VB使いが優しくコメントを返しますが、
お礼はVBの布教はしなくてよいので、初心者の救済をお願いします


前スレ
くだすれVB6.0以前(超初心者向け)
pc11.2ch.net/test/read.cgi/tech/1165574205/

2 名前:d mailto:age [2008/03/30(日) 09:02:39 ]

Visual Basic Version 5.0 Control Creation Edition SP2 日本語版
download.microsoft.com/download/vbcc/SP/05.00.4319/W9XNT4/JA/VB5CCEIN.EXE

Visual Basic 5.0 Control Creation Edition: SP2 ヘルプ ファイル
www.microsoft.com/downloads/details.aspx?FamilyID=b4394931-d7ab-4d38-a3f5-511fd3165b7f&DisplayLang=ja
download.microsoft.com/download/vbcc/Help/4.71.0121.0/W9XNT4/JA/CCEHELP.EXE

Visual Basic Version 5.0 Control Creation Edition: レジストリ修正モジュール
www.microsoft.com/downloads/details.aspx?FamilyID=e91b767c-30d6-407d-b0f3-fd93faebb592&DisplayLang=ja
download.microsoft.com/download/vbcc/Patch/1.00/W9XNT4/JA/REGFIX.EXE

Visual Basic 5.0: RecentFiles ツール
www.microsoft.com/downloads/details.aspx?familyid=C95613D6-D8D2-4A85-9139-3992B601D08A&displaylang=ja
download.microsoft.com/download/vb50ent/Patch/1.00/W9XNT4/JA/recents.exe


3 名前:デフォルトの名無しさん [2008/03/30(日) 20:08:18 ]
3が取れたらプログラマという職がなくなる

4 名前:デフォルトの名無しさん mailto:sage [2008/03/30(日) 20:15:10 ]
おめでとう

5 名前:デフォルトの名無しさん mailto:sage [2008/04/02(水) 15:47:48 ]
馘首

6 名前:デフォルトの名無しさん [2008/04/02(水) 19:27:21 ]
abc.mdbというデータベースからランダムに情報を抽出したいです。

abc.mdbのフィールド1には、A,B,Cの3種類のうちどれかが入力されており、
このうちAと入力されている列を抽出し、
さらにその中から5つの列をランダムに取り出したい場合、
どのようにすればいいのでしょうか?

ネットで調べましたが出てこなかったので質問させていただきました。
よろしくお願いします。


7 名前:デフォルトの名無しさん mailto:sage [2008/04/02(水) 19:34:04 ]
このスレは重複です
本スレで質問してください

8 名前:デフォルトの名無しさん mailto:age [2008/04/02(水) 23:45:14 ]
重複じゃなく、次スレである。
まず、前スレ埋めれ。

9 名前:デフォルトの名無しさん mailto:age [2008/04/02(水) 23:48:19 ]
>>7
ここは、超初心者向けのスレ。

VB5CCEの使い方でもやさしく教えてけろ。


10 名前:デフォルトの名無しさん mailto:sage [2008/04/02(水) 23:51:06 ]
断る



11 名前:デフォルトの名無しさん mailto:sage [2008/04/03(木) 09:04:33 ]
>>10
ケツ貸してやれば教えてくれるか?

12 名前:6 [2008/04/03(木) 12:17:54 ]
自己解決しました。

>>7
本スレ見つからなかったです。

13 名前:デフォルトの名無しさん mailto:sage [2008/04/07(月) 13:48:28 ]
やりたいのは、form上に固定ディレクトリ(例えばC:\test)の一覧を表示して、
更新ボタンとかリアルタイム更新で確認したい、というものです。
ネット上検索でも、手持ちの参考書でも、
ドライブ→ディレクトリ→拡張子や属性別選択表示のコンボ形式ばかりで、
単純に決めうち表示するやりかたが見つかりません。
教えてください。お願いします。

14 名前:デフォルトの名無しさん mailto:sage [2008/04/11(金) 17:41:40 ]
どなたか教えて下さい。
ディレクトリ下の複数テキストファイル(ファイル名は決まっていない固定長の
データ)を1つのファイルに纏める(1つのファイルに連結コピーする)方法を
教えて下さい。ロジックが思い浮かびません(;;)

15 名前:デフォルトの名無しさん mailto:sage [2008/04/11(金) 18:00:20 ]
>>14

 copy *.txt matome.txt




16 名前:デフォルトの名無しさん mailto:sage [2008/04/11(金) 19:45:14 ]
>>15
thx

17 名前:デフォルトの名無しさん mailto:sage [2008/04/12(土) 04:03:43 ]
>>14
Thank you

難しく考え過ぎていたようです。
フォルダの下のファイル一覧を作成して、それぞれ1行づつ読み込み
ワークエリアに書き込み・・・すっかり炉坪でした!!

試してみます。

18 名前:デフォルトの名無しさん mailto:sage [2008/04/14(月) 08:49:15 ]
>>13
いい事言うなあお前。
みんなが頭じゃわかっててもなかなか実践できない事を口に出して言えるなんざ大した自信だよ。
それで出来てなかったらあのインチキ占いのバアさんと一緒だぞお前。
そんなに当たり前の事を言いたかったら尼さんにでもなって言行等しくなってから説教したらどうだ。

19 名前:デフォルトの名無しさん [2008/04/21(月) 21:59:14 ]
VB6.0からExcelに値を貼り付けてプレビュー表示をする処理にて
処理中は見えないようにするためVisibleをFalseにするのですが、
EXEファイルから起動するとVisibleをFalseにした段階で最背面に表示されてしますいます。

Visual Basicから起動するとプレビュー画面が最前面に表示されるのですが何故でしょう?

使っているコンポーネントはQuickPack、Farpoint SpreadSheet、InputMan Proです。

今まで別な環境で作った際はこんな現象になったことはありません。
同じコンポーネントを使っている方で克服した方はおりますか?

ちなみにSetWindowPos等使わないで済ませたいです。

途中ダイアログを表示したりメッセージボックスを表示させたりするので
Visual Basicで起動しているときと同じ用途で実現させたいのです。

ちょっと分かりにくいかも知れませんが宜しくお願い致します。


20 名前:デフォルトの名無しさん mailto:sage [2008/04/21(月) 22:12:24 ]
コピペ君って馬鹿だな、まで読んだ。



21 名前:デフォルトの名無しさん mailto:age [2008/04/22(火) 00:46:22 ]
出た、素人童貞。

22 名前:デフォルトの名無しさん mailto:sage [2008/04/27(日) 12:52:33 ]
今日起きたら、知らない女の部屋だった

23 名前:デフォルトの名無しさん mailto:age [2008/04/29(火) 18:14:35 ]
おちんちん(^〜^)ムズムズ

24 名前:デフォルトの名無しさん mailto:age [2008/05/29(木) 11:58:27 ]
VB5CCEの使い方書いたページ発見した


酒井法雄の Visual Basic 5.0 CCE講座
www.int21.co.jp/pcdn/activex/scrlabel/index.html




25 名前:デフォルトの名無しさん [2008/06/02(月) 17:36:44 ]
VBって神言語ですね。

26 名前:デフォルトの名無しさん mailto:sage [2008/06/04(水) 18:28:35 ]
てすつ

27 名前:デフォルトの名無しさん [2008/06/04(水) 18:30:38 ]
質問があります。
あるDLLを使用しているVB6のアプリがあるのですが、
いちいちDLLとexeをペアでユーザー配布したくないので、exeの中にDLLを含めてしまいたい
のですが、コンパイルスイッチなどでそのような指定をすることはできるでしょうか?

28 名前:デフォルトの名無しさん mailto:sage [2008/06/04(水) 21:24:18 ]
できない

29 名前:27 mailto:sage [2008/06/10(火) 20:13:29 ]
>>28
ありがとうございます

30 名前:デフォルトの名無しさん [2008/06/21(土) 00:37:29 ]
質問です。
VB6.0で、ボタンを押すと最新状態の取得を行う処理を
行いたいのですが、どうしたらいいのかわからないです。
仕様書は以下のようになっているので、
どなたかご説明お願いします。
尚、SQLの部分はSELECT文は使わないとの指示です。

*調査員番号と調査機関コードを取得する。
  ★取得SQL→SELECT DISTINCT tt.調査員番号, tt.調査機関コード
FROM 調査員地区マスタ tt,地区マスタ tk
WHERE tt.状況フラグ='0' AND tk.市町村コード=画面.市町村選択コンボ
AND tt.地区コード=tk.地区コード
※調査員番号、調査員名が表示されている場合は、
tt.調査員番号 = 画面.調査員番号 AND
tt.調査機関コード = 調査員が属する調査機関のコード(グローバル変数)
の条件を追加をする。
※画面.対象市町村選択コンボで空欄を選択している場合は、
市町村コードでの抽出条件を省く。

*調査日と調査可能数を取得する。
  ★取得SQL→SELECT 調査日,調査可能数 FROM 調査員時間マスタ
WHERE 調査員番号 = "Aで取得した調査員番号"
AND 調査機関コード = "Aで取得した調査機関コード"
AND 調査日 >= カレンダー日付の最初の年月日(8桁:YYYYMMDD)
AND 調査日 <= カレンダー日付の最後の年月日(8桁:YYYYMMDD)




31 名前:デフォルトの名無しさん mailto:sage [2008/06/21(土) 00:46:55 ]
うるせえ馬鹿

32 名前:デフォルトの名無しさん mailto:sage [2008/06/21(土) 01:26:54 ]
>30
素直にわかりませんって上に伝えるかわかる人をつかまえて教えてもらえよ
それで金もらうなんておかしーぜ

33 名前:デフォルトの名無しさん mailto:sage [2008/06/24(火) 08:43:28 ]
Form1とForm2のふたつのフォームがあります。
Form1にボタンを1個置いて、そのボタンのクリックイベントで
Form2.Show
Unload Me
というコードを記述して実行します。
この場合イベントの発生順ですが
Form2のLoad --> Form1のUnload --> Form2のActivate
となるのですが
予想では
Form2のLoad --> Form2のActivate --> Form1のUnload
だったのですが
なぜこのような順序になるのでしょうか?


34 名前:33 mailto:sage [2008/06/24(火) 09:29:39 ]
あ、わかりました。

Form2.Show
DoEvents
Unload Me

としたら予想の順序になりました。



35 名前:デフォルトの名無しさん [2008/07/08(火) 20:24:57 ]
教えてくれ
VistaにVB6インストールしてプロジェクト‐コンポーネントのコントロールタブから
Microsoft Common Dialog Control 6.0を追加しようと思ったら、
Microsoft Common Dialog Control 6.0が無いんだけどなんでだ?
XPにインストールした場合はあるんだけど。
XPでコモンダイアログを含むコードを開発して、
それをVistaで編集しようと思ったら
comdlg32.ocxを読み込めませんとか出てきてできないじゃん。

36 名前:デフォルトの名無しさん mailto:sage [2008/07/10(木) 09:16:34 ]
とあるメソッドがありそれを呼び出したメソッドを
ログにとりたいのですがそのようなことは可能でしょうか?

たとえば
Function hoge()

Call LogWrite ("呼出もと:" & よびだしもと & )

Exit Function

といった感じです。

やはりhoge()を呼び出している側でログを出力する必要が
ありますか?

37 名前:デフォルトの名無しさん [2008/07/10(木) 21:57:08 ]
教えてください
Set cn = New ADODB.Connection
cn.Open "Driver={Microsoft Access Driver (*.mdb)};DBQ=C:\WK\TEST.mdb"
でACCESSのMDBに接続、クローズしてからタイマーで1分後に再度
接続するとエラーが発生することがあるのですが
エラーメッセージは
「データベースを開けない状態、またはロックできない状態にしています。」
という内容です、
1分ではなくて5分ほどに
するとエラーは発生しなくなります。
クローズしてから再度オープンする間隔が短いと何か問題とかあるのでしょうか?

38 名前:デフォルトの名無しさん [2008/07/10(木) 21:59:33 ]
↑すみません、VB6.0です、ACCESSのほうはバージョンはわかりません

39 名前:デフォルトの名無しさん mailto:sage [2008/07/11(金) 03:11:27 ]
>>37
何か問題が、って質問からは外れるけど
ロックされてるか確認した上で接続するようにすればいいじゃない

40 名前:デフォルトの名無しさん mailto:sage [2008/07/11(金) 20:22:40 ]
Set cn = Nothing
にしたらどうなる?




41 名前:デフォルトの名無しさん [2008/08/29(金) 14:54:45 ]
凄くくだらない質問ですが教えてください

VBでIEを操作していて例えば
Form name = formA
input name = ID

objIE.document.formA.ID.Value = Text1.Text

とかでIDにText1が代入できると思いますが

input name = ID.1

とnameにドットが入ってる場合

objIE.document.formA.ID.1.Value = Text1.Text

でID.1のドットの部分でエラーを吐いてしまって困っています
どうすれば回避できますでしょうか?

42 名前:デフォルトの名無しさん mailto:sage [2008/08/29(金) 17:36:45 ]
objIE.document.formA.[ID.1].Value = Text1.Text

43 名前:デフォルトの名無しさん [2008/08/29(金) 19:40:54 ]
>>42
ありがとうございます
[]で囲んでみましたが同じくサポートしてないとエラーを吐きます
困りました
VB6.0です
nameにドットが入ってない場合は正常に動作します

44 名前:デフォルトの名無しさん mailto:sage [2008/08/29(金) 19:44:00 ]
callbyname

45 名前:デフォルトの名無しさん mailto:sage [2008/08/29(金) 21:35:48 ]
インスタンスのコピーは例えば
A a
B b
なるインスタンスa,bがあったとして
b = a
でいいでしょうか?
それともb = a.clone or a.copyなるコピー関数をかかないといけないんでしょうか?

46 名前:デフォルトの名無しさん mailto:sage [2008/08/29(金) 21:53:49 ]
コピー関数が必要。
オブジェクトの代入がコピーでないことを示すために、
Set b = a と書くようになっている。
なお、Stringはオブジェクトではなく型扱いなので代入でコピーが発生する。


47 名前:デフォルトの名無しさん mailto:sage [2008/08/29(金) 22:41:03 ]
くそっ、そういうことしたかったら、Typeの構造体のほうが便利だな。

48 名前:デフォルトの名無しさん mailto:sage [2008/08/29(金) 22:49:23 ]
すんげー長い関数func1(....)が超よみにくいので
sub_func1..... func2
にわけてやろうとおもって3時間ほどトライしているのですが
内部で使われる構造体をずっと参照でわたしていって
深くなってくると値がかわってくれてないような><
なんか深さに制限あるんでしょうか。

実際には、3000行ある処理を30行くらいの関数にわけていって
おります。

type M
end

func1()
dim m1 as M_t
func2(m1)
func3(m1)
end
end
end

end
end
end

private func2(byref m as type M)
private func3(byref m as type M)

49 名前:デフォルトの名無しさん [2008/09/01(月) 11:00:44 ]
基本のグローバル変数、アニメーションがわかりません。
ご提示お願いします。

50 名前:デフォルトの名無しさん mailto:sage [2008/09/03(水) 20:27:47 ]
t(50000,1)
の配列にはいってる数値を、CSVで出力したいんだが、
for i=0
  tmp=tmp & t(i,0) & "," & t(i,1) & vcrlf
next i
open "t.csv" For Binary Access Write As #1
  Put #1, , tmp
close #1

で、tmpに溜め込んでバイナリで書き込もうとしたんですが、
tmpの後に追加していくと、行数が多くなるとだんだん重くなってしまいます。
もっと高速に保存する方法はないでしょうか?

  Put #1, , t()

これが、怪しいような気がするんですが、、、



51 名前:デフォルトの名無しさん mailto:sage [2008/09/03(水) 20:42:45 ]
したいんだが、・・・・・・

>>50
遅いのは恐らく文字列の連結。(遅い理由はVBは文字列の連結ごとにメモリの確保と
コピーが入るから)

解決法は、確かmid$を使った文字列の高速な連結法があったはずだから
ググってそれを使う。

それが面倒なら、変数上で連結なんてせずに直接ファイルに追記すれば
少しはマシになるはず。

52 名前:デフォルトの名無しさん mailto:sage [2008/09/03(水) 22:23:16 ]
テキストファイルを書き出すのになんでFor Binary Accessなんだ?

53 名前:デフォルトの名無しさん mailto:sage [2008/09/03(水) 22:24:31 ]
つsystem.text.stringbuilder

54 名前:デフォルトの名無しさん mailto:sage [2008/09/03(水) 22:32:21 ]
つ、とかヲタっぽい気色のわるい書き方する奴って例外なくアホだな

55 名前:デフォルトの名無しさん mailto:sage [2008/09/03(水) 22:36:09 ]
つ よりもVB6で stringbuilderのほうが痛いな

56 名前:デフォルトの名無しさん mailto:sage [2008/09/03(水) 23:00:44 ]
Dim sb As Object
Set sb = CreateObject("System.Text.StringBuilder")
sb.AppendFormat "{0}", "やればできるさ"
Text1.Text = sb.ToSTring

AppendLineがなぜかComコンパチじゃなくて使いにくいな。正直おすすめしない(笑


57 名前:デフォルトの名無しさん mailto:sage [2008/09/04(木) 06:47:52 ]
VB6ならFSOでおk

58 名前:デフォルトの名無しさん mailto:sage [2008/09/04(木) 16:06:18 ]
つ System.IO.StringWriterのWriteLine

59 名前:デフォルトの名無しさん mailto:sage [2008/09/18(木) 20:27:20 ]
>>48
どこかのByRefで渡す筈の引数に、ByValが紛れ込んでいるとか。
それくらいの規模になってきたら、そろそろ設計図書いた方が良いかもしれない。

>>49
グローバル変数とは、Publicで宣言された変数のこと。
引数に値を渡す必要が無いメリットがあるものの、
どこからでも読めてしまうデメリットは
最終的にデバッグを非常に困難にする為、扱いに非常に困る。

アニメーションは、そのままだな。
映画館の映写機みたいなイメージで
1秒間に最大60回くらい画面書き換えたりする事。

>>50
Valiant型使っておいて遅いとか言っちゃダメですぜ。

60 名前:59 mailto:sage [2008/09/18(木) 23:48:31 ]
>>50
この環境にVB6入ってないからデバッグできてない挙句に、久し振りすぎてあちこち怪しいが、草案だけ出しておく。
Const MAX_X = 1 '配列の要素数が固定であるならば、
Const MAX_Y = 50000 'Constを使っておくと修正が楽。
Private t(MAX_Y,MAX_X) As Long

'--------メイン------->
Private Sub mn_Save_Click()   'セーブを要求する場合。例として、メニューの保存辺りから呼ぶとして…。
Dim Ret As Integer
Ret = MsgBox("セーブする?",vbOkOnly)
Select Case Ret
Case vbOK
Debug.Print "csvKakiko => FileName:" & App.Path & "t.csv"  '一応、送られた文字列を確認。
Call csvKakiko(App.Path & "t.csv")
End Select
End Sub

'----保存とか--->
Private sub csvKakiko(ByVal FileName As String)  'csvに書き込む。/引数:FileName:ファイル名/絶対パス
Dim Fnum As Integer
Dim i As Long,i_Max As Long
Dim tmp As String
Fnum = FreeFile() '※必須。Closeされていないファイルナンバーを用いてOpen処理以降を発生させると別のファイルに書いてしまったりする。
Open FileName For Binary Access Write As #Fnum
For i=0 To MAX_Y '0から構造のY最大値まで昇順。(MAX_Yが50000なので、0-50000の50001レコードが記述される。)
  tmp= Format(t(i,0)) & "," & Format(t(i,1)) & vbCrLf '記録する文字列を組みながら
  Put #Fnum, , tmp '記録する。
Next
Close #Fnum
End Sub



61 名前:デフォルトの名無しさん mailto:sage [2008/09/20(土) 18:41:23 ]
VBからIE操作する際の話なんですが、
IEを起動時 or 起動後にJavaScriptを切る方法ってないでしょうか?
バージョンはIE8beta2ですがIE6の方法でも構いません

62 名前:デフォルトの名無しさん mailto:sage [2008/09/20(土) 21:24:44 ]
Document.designMode="on"

63 名前:デフォルトの名無しさん mailto:sage [2008/09/22(月) 13:59:12 ]
Document.designMode="on"で検索したけどそれらしきものが見当たらない

64 名前:デフォルトの名無しさん mailto:sage [2008/09/22(月) 14:26:02 ]
www.google.co.jp/search?hl=ja&q=Document.designMode="on"

65 名前:デフォルトの名無しさん [2008/09/22(月) 23:07:09 ]
IEでダイヤログ(はい、いいえを選択するやつです)が出てきた時に
最初からはいが選択されてる状態で
自動的にエンターキーを押させてはいを決定させたいのですが

SendKeys "{ENTER}", True

これでいけると思ったのですが反応しません
自分でキーボードのエンターキーを押すともちろん反応します

何か手違いか、他に方法ありますでしょうか?

66 名前:デフォルトの名無しさん mailto:sage [2008/09/22(月) 23:18:02 ]
キーボードドライバを作成してそれに向かって操作しろ

どうでもいいが、間違いの予想はいくつか出てくるがソース出せやクソガキ

67 名前:デフォルトの名無しさん mailto:sage [2008/09/23(火) 01:26:08 ]
>>65
IEのダイヤログが出る部分の設定を全部「常に許可」に設定すればVB側で弄らなくても解決する。

68 名前:デフォルトの名無しさん mailto:sage [2008/09/23(火) 21:41:24 ]
keybd_event() or SendInput()

69 名前:デフォルトの名無しさん [2008/09/24(水) 10:08:00 ]
結構古い(と思われる)VBのソース見てて
疑問に思ったんで教えて欲しいです。

a=&H100&

みたいに数字の後に & が付いているのは何ですか?
数字の前の&Hはなんとかわかるんですが・・・

参考書とか読んでも & は「文字列を連結するための・・・」
とかしか出てなくて。

70 名前:デフォルトの名無しさん mailto:sage [2008/09/24(水) 10:15:36 ]
おまえは一冊しか本を持ってないのか?MSDNは読めないのか?馬鹿なの?



71 名前:デフォルトの名無しさん mailto:sage [2008/09/24(水) 12:49:27 ]
>>69
ただの16進数の書式だったかと。
後ろの『&』無しでも普通に動いてると『&』が後ろについてる理由が解らんのだよな。
『&』は、単独ならString型データの結合の演算子として扱う。(一応、『+』演算子でも動作する恐怖。)

Sub Main
'以下の一文で 255 が出力される。@formatを用いているのは、返されたByte型の255の値を文字列型にする為。
Debug.Print format(changeHexStringToByte("ff"))
End Sub

Private Function changeHexStringToByte(ByVal HexStringNN As String)As Byte
changeHexToValue = Val("&H" & HexStringNN & "&") '文字列を作って無理矢理Valに通す。
End Sub

72 名前:デフォルトの名無しさん mailto:sage [2008/09/24(水) 12:55:29 ]
嘘を教えるのはよくない。

73 名前:デフォルトの名無しさん mailto:sage [2008/09/24(水) 13:11:22 ]
覚え間違えてたわ。サンクス。m(_ _)m>>72

74 名前:デフォルトの名無しさん mailto:sage [2008/09/24(水) 13:21:00 ]
&を後置するのは16進数Long型扱いらしい?
調べてみたのだが、いまいち自信が持てない。
(&H0000はInteger型で扱われる。≒最上位ビットが1の場合はマイナス符号化?)

今まで&H0000&のみしか使ってなかったし、何やら損した気分に。orz

75 名前:デフォルトの名無しさん mailto:sage [2008/09/24(水) 13:29:56 ]
16進数Long型ってなんですか

76 名前:デフォルトの名無しさん mailto:sage [2008/09/24(水) 15:33:49 ]
MsgBox TypeName(&H8000)
MsgBox TypeName(&H8000&)


77 名前:71,73,74 mailto:sage [2008/09/24(水) 15:50:55 ]
>>76
なるほど納得。
ヒントに感謝です。m(_ _)m

78 名前:デフォルトの名無しさん mailto:sage [2008/09/24(水) 16:10:02 ]
MsgBox &H8000
MsgBox &H8000&
MsgBox &H8000=&H8000&


79 名前:77 mailto:sage [2008/09/24(水) 18:15:36 ]
>>78
ありがとう。数値の扱われ方が何となく解った気がします。
&HFFFFでやってみたら-1と65535になりました。
調べてみたらこんなのが…。
16進数表記:格納されているデータの2進数:10進数(アンダースコアは便宜上の物)
&H8000:1000_0000_0000_0000:-32768
&HFFFF:1111_1111_1111_1111:-1
&H0000:0000_0000_0000_0000:0
&7FFF:0111_1111_1111_1111:32767
&H8000&:0000_0000_0000_0000_1000_0000_0000_0000
切欠を貰えた事にも感謝します。m(_ _)m

80 名前:デフォルトの名無しさん [2008/09/24(水) 21:43:07 ]
VB6.0です

button1からbutton30を作って、同じform内に
button100からbutton130を作るって出来ますか?
button31からbutton99は使用しないです。作成も
したくないです。

質問してて、無理っぽいと思ってますが、どうでしょうか?



81 名前:デフォルトの名無しさん mailto:sage [2008/09/24(水) 21:55:03 ]
できます

82 名前:デフォルトの名無しさん [2008/09/24(水) 23:17:43 ]
え?

83 名前:デフォルトの名無しさん mailto:sage [2008/09/25(木) 08:56:55 ]
>>80
1〜130作って31〜99を消せばいい。
しかし、そこまで多くなったら素直に配列化した方が良いと思う。
フォームに貼り付けたコントロールをコピペするだけで配列化できるから
試してみた方が良いかも。

84 名前:デフォルトの名無しさん mailto:sage [2008/09/25(木) 09:42:51 ]
for 1から30
 load ボタン
 objectの配置
next
for 100から130
 load ボタン
 objectの配置
next



85 名前:デフォルトの名無しさん [2008/09/25(木) 14:26:19 ]
初めまして
VB6でDoEventsを入れると
コマンドボタンのEnabledがTrueになるんですけど…

command1.Enabled=False
DoEvents
ここで勝手にcommand1のEnabledがTrueになっています
仕様ですか?

86 名前:デフォルトの名無しさん mailto:sage [2008/09/25(木) 15:00:20 ]
バグとか仕様とか言う前に自分のミスを疑えよ

87 名前:デフォルトの名無しさん [2008/09/25(木) 15:33:26 ]
>>86
実際にEnabled=False
の真下でDoEventsしたらTrueになってるから聞いてるんですけど?
何でも上から目線で威圧的に言えば良いってものではないですよね
ここでしか偉そうに出来ないからそんな態度なんですか?
恥ずかしい人ですね

88 名前:デフォルトの名無しさん mailto:sage [2008/09/25(木) 15:49:41 ]
>>85
それだけのソースだと判断できないと思うが。

その場所でcommand1のEnabledがTrueになったって確実に言い切れるほど
原因が追求できているなら、問題は既に解決してしまっている訳だからね。

はい、次の人どうぞ。

89 名前:デフォルトの名無しさん mailto:sage [2008/09/25(木) 16:37:58 ]
それが起きるミニマムのソースをはったらまともに取り合ってもらえると思うよ。

90 名前:デフォルトの名無しさん mailto:sage [2008/09/25(木) 16:44:20 ]
ミートのソースはうまいよ。



91 名前:デフォルトの名無しさん [2008/09/25(木) 18:54:53 ]
デバッグで止めて見て分かりました
DoEventsで止めて画面を見るとcommand1の文字がきちんと薄くなっている
のにDoEventsの次の行で止めると文字は押せる状態の通常色になっていました
ちなみに上の2回は1回の実行で連続して確認した訳ではなく
1回目の実行ではDoEvents、2回目の実行では次の行という風にしました
これで分かって頂けるでしょうか?
なのでここ以外のソースは関係ないと思っています

92 名前:デフォルトの名無しさん mailto:sage [2008/09/25(木) 20:09:30 ]
>>91
Command1_Clickでやってみたけど(ここはあってる?こういうのの確認にソースがいるってこと)
再現しないね。
検索で Command1.Enable = Trueのところを全部探してごらんよ。
あったらそこにもブレークポイントを入れてみる。

93 名前:デフォルトの名無しさん mailto:sage [2008/09/25(木) 20:59:17 ]
>>91
DoEventsする前におまえの書いたコードでイベントが発生していて
そのハンドラでおまえが自分でEnable=Trueにしてるからなるんだよ
こんな程度のことでコンパイラ疑うとか図々しいにもほどがある

94 名前:デフォルトの名無しさん mailto:sage [2008/09/25(木) 23:46:14 ]
じゃあ、
DoEvents
command1.Enabled=False
DoEvents
こうすれば直るよw

95 名前:デフォルトの名無しさん [2008/09/26(金) 09:11:06 ]
今さらっとこのスレ見たけど
やっぱくだらないスレだわ
役に立ってるかもしれんが
相手のことをおまえだとか
自分に知識があるからと偉そうな態度だわで
人格疑うよ
ここは超初心者向けのスレじゃないのか…
がっかりだね

96 名前:デフォルトの名無しさん mailto:sage [2008/09/26(金) 09:13:05 ]
>>95
>>85さん、おはようございます


97 名前:デフォルトの名無しさん mailto:sage [2008/09/26(金) 10:38:36 ]
だってここ、もともと本スレじゃないし。全体的にネタに走ってるのはしょうがないな。

98 名前:デフォルトの名無しさん mailto:sage [2008/09/26(金) 13:05:39 ]
おはようございます
85です
えっと、とりあえず95は俺じゃないよ?
さっき起きただけだし…

Enabled=False
のすぐ下でDoEventsしても他のプログラムが走るってこと?
なんかよく分からないね
難しい


99 名前:デフォルトの名無しさん mailto:sage [2008/09/26(金) 13:55:14 ]
新規のフォームにボタン2つとラベル1つ貼り付ける。
これで1の処理中に2のボタンが押せる。
情報を出したがらないから直接の原因と結果とは結びつかないが、
これに近い現象だとみんな思ってるはずだよ。
Private Sub Command1_Click()
    Dim i As Long
    Command1.Enabled = False
    For i = 0 To 50000
        Label1.Caption = i
        DoEvents
    Next
    Command1.Enabled = True
End Sub

Private Sub Command2_Click()
    Command1.Enabled = True
End Sub


100 名前:デフォルトの名無しさん mailto:sage [2008/09/26(金) 15:33:52 ]
えっとですね
Command2のボタンを押すと情報をグリッドに表示させるという処理があって
Command1のボタンを押すとグリッドから選んだデータの情報を詳しく表示させるという
感じのプログラムなんですけど
Command2のボタンを押して情報検索したり表示したりという処理中は
Command1のボタンを押せないようにしようとしています
なので
Command2のボタンを押した時にCommand1のボタンのEnabled=Falseにして
処理が終わった時に
Command1のボタンのEnabled=Trueにする処理を書いています
実際にDoEventsを書いているのはFalseにしている場所とかなり離れているのですが
そこでTrueに変わって押下可能状態になっていたので
DoEventsを少しずつFalseの場所に近づけて実行を繰り返したんですが
結局はFalseの真下に書いた状態でもTrueになっている事が分かったので
訳が分からなくなったという状態です
って説明結構苦手なので分かってもらえるかは不安ですが
こんな感じです








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

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

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