VB6で、数分ダンマリになる処理があります。
処理の改善を図っていますが、とりあえずの手段として、フォームを出力して、
メモリとか→等が動いている画面を表示させたいのですが。

何か手軽に表示できるこのようなフォームの作り方を教えて下さい。
コーディングサンプルがありますと、大変助かります。
宜しくお願い致します。

このQ&Aに関連する最新のQ&A

A 回答 (3件)

拡張コンポーネントを使うのが面倒なら、ラベルで "n% / 100%" とか表示させる手もありますね。


ループしてるんだったら、ラベルを置いておいて

For N = 0 To 10000

'なんかしょり~

If N \ 100 = N / 100 Then

Label1.Caption = (N \ 100) & "% / 100%"
DoEvents

End If

Next N

プログレスバーにせよなんにせよ、表示する値を変更したあと、DoEventsって書かないと、実際には表示はされませんよ。
    • good
    • 0

No1さんの具体化です。

ホームのどこかにプログレスバーを貼り付けます。
(ツールBoxにProgressBarのアイコンがなければ、
プロジェクト->コンポーネントで、Microsoft Windowss Common Controls 6.0
にチェックを入れる。

Dim i as Integer

ProgressBar1.Max = 10000 '最大処理回数を設定
ProgressBar1.Value = 0 '初期値をゼロに
ProgressBar1.Visible = True 'バーの表示

'処理の一例
For i = 1 To 10000
ProgressBar1.Value = i '進行値設定
Next

ProgressBar1.Visible = False
    • good
    • 0

普通はプログレスバーを使います。

    • good
    • 0

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Q鹿児島にシガーバーってありますか?

何かのタウン情報誌のようなもので見た覚えがあるのですが、知っている方場所を教えてください。

Aベストアンサー

ティンカーベルですか?
宮崎にあり、鹿児島にもあるらしいのですが、わかりません。

QVB2008で親フォームから子フォームを開いたときの処理で

VB2008で親フォームから子フォームを開いたときの処理で

質問させて頂きます。
親フォームから子フォームを開いて、
子フォーム画面ロード時に、TreeViewにノードを追加する処理を行おうとするのですが、
ノードの追加ができません。

親フォームから子フォームの呼び出しの部分
Using frmAct As New form2
frmAct.ShowDialog()
end using
子フォームLoad処理
Private Sub F_Actresult_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Call MP_hogeload() ←別のモジュールからサブルーチンを呼び出してノード処理を追加させる。
End Sub

外部サブルーチン
Public Sub MP_hogeload()
With form2
.trehoge.Nodes.Add("hoge")
end with
end sub

同じ子フォーム内に記述している場合は問題なく追加できています。

この開き方の場合、別のモジュールでノードを追加させる方法を探しています。

よろしくお願いいたします。

VB2008で親フォームから子フォームを開いたときの処理で

質問させて頂きます。
親フォームから子フォームを開いて、
子フォーム画面ロード時に、TreeViewにノードを追加する処理を行おうとするのですが、
ノードの追加ができません。

親フォームから子フォームの呼び出しの部分
Using frmAct As New form2
frmAct.ShowDialog()
end using
子フォームLoad処理
Private Sub F_Actresult_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Call MP_hogeload() ←別のモジ...続きを読む

Aベストアンサー

フォームオブジェクトを引数にして渡してあげましょう


Module Module1
  Public Sub MP_hogeload(ByVal frm As Form2)
    With frm
      .trehoge.Nodes.Add("標準モジュールで追加")
    End With
  End Sub
End Module


Public Class Form2
  Private Sub Form2_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    MP_hogeload(Me)
  End Sub
End Class

Qネクタイ ポールスミス バーバリー etc..値段は?

どれくらいなのでしょうか?ポールスミス、バーバーリーはいくらくらいでしょうか?1ばん安いねくたいでもやはり万はいくのでしょうか?他にいいブランドがあったら教えてください!23歳なんですけど!

Aベストアンサー

ポールスミス買いましたが、8000円くらいから結構ありましたよ。

Q[VB.NET]3つ以上のフォームを一つずつ表示し、最後のフォームを閉じた時に最初のフォーム以外のフォームを閉じる

VB.NETを学んでいるのですが、現在3つ以上のフォームを表示していくものを作ろうとして躓いたことがあったのでこちらに書き込みました。
内容としては、ボタンを押して次のフォームを表示していくものです。

動作の流れは以下のように考えています(フォームはA、B、Cの3つとする)
1.Aを表示
2.Aでボタンを押してBを表示し、Aは隠す
3.Bでボタンを押してCを表示し、Bは隠す
4.Cでボタンを押してBとCを閉じ、隠していたAを表示

隠すのはHideを用いてできたのですが、4.でCのボタンでBとCを一緒に閉じてAを表示させる方法がわかりませんでした。

1~4のように動作させるにはどうすればいいか教えてください

Aベストアンサー

まとめて考えるのではなく、分けて考えた方がコーディングもしやすくなります。

[ FormA の処理 ]
1. ボタンを押したら FormB を開き、自身を Hide する。
2. FormB が閉じられたら、自身を Show する。

[ FormB の処理 ]
3. ボタンを押したら FormC を開き、自身を Hide する。
4. FormC が閉じられたら、自身を Close する。

[ FormC の処理 ]
5. ボタンを押したら、自身を Close する。

ポイントは、親フォーム側で子フォームのFormCloseを捕らえるところです。FormBからFormAを、とか、FormCからFormAとFormBを・・・と考えるとややこしくなります。上記のように処理すれば、FormBはFormAの動作を気にする必要はありませんし、FormCもFormBやFormAの動作を気にする必要はありません。子フォームのFormCloseはWithEvents宣言すれば捕らえられます。

以下、簡単なコードを。ボタン配置が面倒だったので、フォームのクリックで動作します。


' [ FormA の処理 ]
Public Class FormA
Inherits Form

Public Sub New()
Me.Text = "FormA"
End Sub

Private WithEvents frmFormB As FormB

' 1. ボタンを押したら FormB を開き、自身を Hide する。
Private Sub FormA_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Click
frmFormB = New FormB
frmFormB.Text = "FormB"
frmFormB.Show()

Me.Hide()
End Sub

' 2. FormB が閉じられたら、自身を Show する。
Private Sub frmFormB_FormClosed(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosedEventArgs) Handles frmFormB.FormClosed
frmFormB = Nothing
Me.Show()
End Sub

End Class

' [ FormB の処理 ]
Public Class FormB
Inherits Form

Private WithEvents frmFormC As FormC

' 3. ボタンを押したら FormC を開き、自身を Hide する。
Private Sub FormB_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Click
frmFormC = New FormC
frmFormC.Text = "FormC"
frmFormC.Show()

Me.Hide()
End Sub

' 4. FormC が閉じられたら、自身を Close する。
Private Sub frmFormC_FormClosed(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosedEventArgs) Handles frmFormC.FormClosed
frmFormC = Nothing
Me.Close()
End Sub

End Class

' [ FormC の処理 ]
Public Class FormC
Inherits Form

' 5. ボタンを押したら、自身を Close する。
Private Sub FormC_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Click
Me.Close()
End Sub

End Class

※VB2005で書いたコードなので.NETでそのまま動くかは不明・・・。

なお、あくまで考え方のひとつなので、他にも方法はあります。

まとめて考えるのではなく、分けて考えた方がコーディングもしやすくなります。

[ FormA の処理 ]
1. ボタンを押したら FormB を開き、自身を Hide する。
2. FormB が閉じられたら、自身を Show する。

[ FormB の処理 ]
3. ボタンを押したら FormC を開き、自身を Hide する。
4. FormC が閉じられたら、自身を Close する。

[ FormC の処理 ]
5. ボタンを押したら、自身を Close する。

ポイントは、親フォーム側で子フォームのFormCloseを捕らえるところです。FormBからFormAを、とか、FormC...続きを読む

Qライオンマークのポールスミス??

ヤフーオークションでポールスミスを探していると
R.NEWBOLD(ポールスミス)って物がよく売っています。
で、マークはライオンのマーク(車のプジョーのマークに似ています)
が書かれています。
今までポールスミスのお店で見たことがない代物なので、
どういった経歴でポールスミスを名乗っているのか疑問に思って
質問しました!
別にバッタ物だとかは思っていないのですが、
上記の通りどのようにしてポールスミスなのか、
ポールスミスとの関係は?など疑問だらけです!
だれか教えて下さい!
あと、これのバックってブランド的にアリなのでしょうか?
ファッションに詳しい人教えて下さい!

Aベストアンサー

「R・NEWBOLD」とは、もともとはポール・スミスのシャツを作っていた工場ですが、1991年、この工場が経営難に陥ったことからポール・スミスに工場の買取を求め、成立したブランドです。
詳しくは下記正規サイトに説明されています。

参考URL:http://www.paulsmith.co.jp/collections/rnb_history.php?id=1&yr=2005ss

Q【VB.NET2003】フォーム1を閉じてフォーム2を表示させたい

プログラミング初心者でVB.NET2003使用です。
検索したところ、それらしいものがあったのでチャレンジしましたがダメだった(ちょっと違う?)ので質問させていただきます。
http://oshiete1.goo.ne.jp/qa1757174.html

《やりたい事》
Form1に配置したボタン1をクリックするとForm1を閉じてForm2を表示
Form2に配置したボタンAをクリックするとForm2を閉じてForm1を表示する。

これをやりたいのですが、なかなかうまく行きません。

ボタン1をクリックしてForm1を閉じないでForm2をShowかShowDialogでモードレス表示
ボタンAをクリックしてForm2をCloseさせてForm1を表示させる事(元々閉じていないので)は出来ます。

可能ならばどちらかを必ず閉じる方法でやりたいと思います。
可能でしょうか?
解決策やヒント、良いサイトがありましたら回答をお願いします。

Aベストアンサー

Sub Mainでやるのは #1と同じですが オブジェクト『フォーム』の管理をModule1でやってみてはいかがですか

Module1に
  Dim oForm1 as Form1
  Dim oForm2 as Form2
  Sub Main
    ' Form1を表示
    oForm1 = new Form1
    oForm1.Show()
    Do While TRUE
      if oForm1.IsDisposed then
        ' Form1が閉じられた場合
        if oForm2 is Nothing then
          ' Form2が一度も表示されなかった場合
          Exit Sub
        else if oForm2.IsDisposed then
          ' Form2が1回以上表示された場合
          Exit Sub
        end if
      end if
      Application.DoEvents()
    Loop
  End Sub

フォーム1上のボタンイベント
if oForm2 is Notrhing OrElse oForm2.isDisposed then
  oForm2 = new Form2
end if
oForm2.Show()
me.Close()

フォーム2上のボタンイベント
if oForm1 is Notrhing OrElse oForm1.isDisposed then
  oForm1 = new Form1
end if
oForm1.Show()
me.Close()

といった具合で …

Sub Mainでやるのは #1と同じですが オブジェクト『フォーム』の管理をModule1でやってみてはいかがですか

Module1に
  Dim oForm1 as Form1
  Dim oForm2 as Form2
  Sub Main
    ' Form1を表示
    oForm1 = new Form1
    oForm1.Show()
    Do While TRUE
      if oForm1.IsDisposed then
        ' Form1が閉じられた場合
        if oForm2 is Nothing then
          ' Form2が一度も表示されなかった場合
          Ex...続きを読む

Qメアリー・スミス

昔読んだ本で「ちいさな魔法のほうき」という本がありました。
この本の主人公はメアリー・スミスという名前で。この世で一番憂鬱なのは自分の名前がメアリー・スミスだということなのですが、なぜメアリー・スミスという名前がそんなに憂鬱なのでしょうか?

Aベストアンサー

記憶だけに頼って回答しますが、

確かメアリー・スミスって、

書類の記入見本に使われるような名前だったのではないかと。

日本でいうと「山田太郎/鈴木一郎」さんみたいな感じで。
#全国の山田太郎さん、鈴木一郎さん、ごめんなさいm(__)m。

Q宜しくお願い致します。

宜しくお願い致します。
access2000におきまして
そのVBAにより イベントプロシージャーを作成するに際しまして
フォーム1のコマンドボタン1 コマンドボタン2を
連続して クリックするというコードを作りたいのですが
Do command button1 みたいな コードを探していますが
そういうものは なにに 相当しますか
いちおう
たとえばコマンドボタン1のプロパティで
イベントで イベントプロシージャーを開くときの
コードをコピペして
同様にコマンドボタン2のプロパティで
イベントで イベントプロシージャーを開くときの
コードをコピペして
両者を ひとつのコードとして
いっしょに 書いて
実行するということは 分かるし
それで できるのですが
そういうコードを 結合させる やり方ではなくて
openform フォーム1
みたいに
*** コマンドボタン1
みたいな そういう 関数は
ありますか

宜しくお願い致します。

Aベストアンサー

#1ははずしていたようです。
本題は以下でしたね。

>フォーム1のコマンドボタン1 コマンドボタン2を
>連続して クリックするというコードを作りたいのですが

プロシージャの中で

Call コマンド1_Click
Call コマンド2_Click

と、続ければいいのでは。

Qポールスミスの対象年齢どないなっとんねん。

ポールスミスの対象年齢どないなっとんねん。


流行のファッションにうとい23歳の男です。

ポールスミスの長財布を買おうかなと考えている所存でありますが、

ポールスミスって最近高校生とかでも持ってるじゃないですか。

だから、この歳でスミスポールはちょっと変なのかなと、

下らないことで悩んでしまっている哀れなノッポですorz

20代でも財布でポールスミスはOKなのでしょうか?

教えてくださいましm(-_―)m

Aベストアンサー

 
PSでもマルチストライプは誰が見てもPSのものだと分かるデザインですし、財布の表側あるいは内側に写真やイラストが熱転写プリントされているものもPS以外ではあまり見かけないものだと思います。なので、ぱっと見てPSと分からないさりげない感じと言いますと、PSで言えば単色レザーにステッチが色付きのモノくらいしか見当たらないのですが...
 
財布で主張しすぎずさりげないってのはなかなか難しいですよね。
きっと質問者様が言う”逆にさりげなくナイ”感じってのはヴィトンだったりそーゆーいわゆるハイブランドだと察するのですが、フォーマルでも使えて、カジュアルでもイケるブランドって考えたらPSはかなり無難と思います。熱転写加工は決して丈夫とは言えないですが、値段も考えれば一生物ってことも無いと思います。
 
 
VOTTEGA VENETA
BURBERRY Black Label
DIESEL

あたりが他に考えられる選択肢ですかね...
DIESELフォーマルはちょっと厳しいかも分からないですが...

QVB初心者なのでわかりづらい説明になってしまっていますが、宜しくお願い

VB初心者なのでわかりづらい説明になってしまっていますが、宜しくお願いいたします。

ソリューションに含まれる全クラスのメソッド一覧を取得したいと考えています。
考えている処理は以下の通りです。

For i As Integer = 1 To プロジェクト数
  For j As Integer = 1 To クラス数
    ' クラスオブジェクトの取得
    Dim typ As Type = GetType(プロジェクト名.クラス名) ※
    ' クラスが持つメソッドの取得
    Dim methods As MethodInfo() = typ.GetMethods()

    ' 出力処理

  Next
Next

ソリューションの例
Solution
  ├Project1
  │  ├Class1_1
  │  └Class1_2
  ├Project2
  │  ├Class2_1
  │  ├Class2_2
  │  └Class2_3
  └Project3
     └Class3_1

ただ、ソリューションに含まれるプロジェクトの数、プロジェクトに含まれるクラスの数
の取得方法とプロジェクトに含まれているクラス名の取得方法がわかりません。
よろしければ、教えていただけないでしょうか。
また、他に良い方法があれば教えていただけないでしょうか。
宜しくお願いいたします。

環境はVB2008です。

VB初心者なのでわかりづらい説明になってしまっていますが、宜しくお願いいたします。

ソリューションに含まれる全クラスのメソッド一覧を取得したいと考えています。
考えている処理は以下の通りです。

For i As Integer = 1 To プロジェクト数
  For j As Integer = 1 To クラス数
    ' クラスオブジェクトの取得
    Dim typ As Type = GetType(プロジェクト名.クラス名) ※
    ' クラスが持つメソッドの取得
    Dim methods As MethodInfo() = typ.GetMethods()

    ' 出力処理

...続きを読む

Aベストアンサー

For Each a As Assembly In AppDomain.CurrentDomain.GetAssemblies()
System.Diagnostics.Debug.WriteLine(a.FullName)
If a.GlobalAssemblyCache Then Continue For
For Each t As Type In a.GetTypes()
System.Diagnostics.Debug.WriteLine(t.FullName)
For Each m As MethodInfo In t.GetMethods()
System.Diagnostics.Debug.WriteLine(t.FullName + "." + m.Name)
Next
Next
Next


このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング