Solved

Adding vb.net progress bar for each task in program

Posted on 2009-05-12
2
333 Views
Last Modified: 2012-05-06
I need to add a progress bar for each button's task. any help would be great. This confuses me!!!
Public Class Form1
    Public Function ExecCommand(ByRef CommandLine As String, _
                                Optional ByRef Arguments As String = "", _
                                Optional ByRef Waitforexit As Boolean = True) As Integer
        Dim psi As New ProcessStartInfo()
        Dim p As Process
 
        With psi
            .FileName = CommandLine
            .Arguments = Arguments
            .WindowStyle = ProcessWindowStyle.Hidden 'This avoid a text window being opened
        End With
        Try
            p = Process.Start(psi) 'This line runs the command
            If Waitforexit Then p.WaitForExit() 'This wait until the command ends
            Return p.ExitCode
        Catch e As System.Exception
            'Catch errors here
        End Try
    End Function
 
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Dim Filename1 As String
        Filename1 = TextBox1.Text
        Dim MiddleName As String
        MiddleName = TextBox1.Text.Remove(0, 4)
 
        ExecCommand("cmd", " /c " & "copy W:\" & Filename1 & " c:\CCMS\", Waitforexit:=True)
        ExecCommand("cmd", " /c " & "copy c:\ccms\" & Filename1 & " c:\ccms\archive", Waitforexit:=True)
        ExecCommand("cmd", " /c " & "rename c:\CCMS\" & Filename1 & " " & MiddleName, Waitforexit:=True)
        ExecCommand("cmd", " /c " & "dir c:\CCMS\*.mpg /o/n > c:\CCMS\FilesUploaded.txt", Waitforexit:=True)
        ExecCommand("cmd", " /c " & "c:\docume~1\" & "Administrator\Desktop\filesuploaded2.bat", Waitforexit:=True)
        ExecCommand("cmd", " /c " & "if exist c:\CCMS\FilesUploaded.txt. call c:\docume~1\Administrator\Desktop\emailCCMS.bat ELSE Exit", Waitforexit:=True)
        ExecCommand("cmd", " /c " & "move c:\ccms\" & MiddleName & " r:", Waitforexit:=True)
        
 
 
    End Sub
 
    Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
        Dim Filename2 As String
        Filename2 = Rename.Text
        Dim MiddleName1 As String
        MiddleName1 = NewNum.Text
 
        ExecCommand("cmd", " /c " & "copy C:\ccms\archive" & Filename2 & " c:\CCMS\", Waitforexit:=True)
        ExecCommand("cmd", " /c " & "rename c:\CCMS\" & Filename2 & " " & MiddleName1, Waitforexit:=True)
        ExecCommand("cmd", " /c " & "dir c:\CCMS\*.mpg /o/n > c:\CCMS\FilesUploaded.txt", Waitforexit:=True)
        ExecCommand("cmd", " /c " & "c:\docume~1\" & "Administrator\Desktop\filesuploaded2.bat", Waitforexit:=True)
        ExecCommand("cmd", " /c " & "if exist c:\CCMS\FilesUploaded.txt. call c:\docume~1\Administrator\Desktop\emailCCMS.bat ELSE Exit", Waitforexit:=True)
        ExecCommand("cmd", " /c " & "copy c:\ccms\" & MiddleName1 & " C:\ccms\archive", Waitforexit:=True)
        ExecCommand("cmd", " /c " & "move c:\ccms\" & MiddleName1 & " r:", Waitforexit:=True)
    End Sub
 
    Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Dim Filename3 As String
        Filename3 = Comcast.Text
        Dim MiddleName2 As String
        MiddleName2 = Comcast.Text.Remove(0, 4)
 
        ExecCommand("cmd", " /c " & "copy c:\CCMS\Archive\" & Filename3 & " c:\CCMS\", Waitforexit:=True)
        ExecCommand("cmd", " /c " & "rename c:\CCMS\" & Filename3 & " " & MiddleName2, Waitforexit:=True)
        ExecCommand("cmd", " /c " & "rename c:\CCMS\" & MiddleName2 & " D" & MiddleName2, Waitforexit:=True)
        ExecCommand("cmd", " /c " & "Move c:\CCMS\" & "d" & MiddleName2 & " c:\CCMS\Archive\RenamedD\", Waitforexit:=True)
        ExecCommand("cmd", " /c " & "copy c:\CCMS\Archive\RenamedD\" & "d" & MiddleName2 & " Y:\", Waitforexit:=True)
        ExecCommand("cmd", " /c " & "c:\docume~1\" & "Administrator\Desktop\febootimail.exe" & " -server 172.16.4.21 -user pat -pass D15hn3tw0rk -from ClearCut@MCVOD.COM -to marc.viste@echostar.com;hugh.selway@echostar.com;doug.davis@echostar.com;jada.yearick@echostar.com;adsalestraffic@echostar.com -subject ComCast Spots Completed -text " & "d" & MiddleName2, Waitforexit:=True)
    End Sub
 
End Class

Open in new window

0
Comment
Question by:cpservice
2 Comments
 
LVL 2

Accepted Solution

by:
bootreboot earned 500 total points
ID: 24367174
If you have already added the progressbar object to your form, then the code would look something like this:
        Me.ProgressBar1.Maximum = 7
        Me.ProgressBar1.Minimum = 0
        Me.ProgressBar1.Value = 0
        ExecCommand("cmd", " /c " & "copy W:\" & Filename1 & " c:\CCMS\", Waitforexit:=True)
        Me.ProgressBar1.Value = 1
        ExecCommand("cmd", " /c " & "copy c:\ccms\" & Filename1 & " c:\ccms\archive", Waitforexit:=True)
        Me.ProgressBar1.Value = 2
        ExecCommand("cmd", " /c " & "rename c:\CCMS\" & Filename1 & " " & MiddleName, Waitforexit:=True)
        Me.ProgressBar1.Value = 3
        ExecCommand("cmd", " /c " & "dir c:\CCMS\*.mpg /o/n > c:\CCMS\FilesUploaded.txt", Waitforexit:=True)
        Me.ProgressBar1.Value = 4
        ExecCommand("cmd", " /c " & "c:\docume~1\" & "Administrator\Desktop\filesuploaded2.bat", Waitforexit:=True)
        Me.ProgressBar1.Value = 5
        ExecCommand("cmd", " /c " & "if exist c:\CCMS\FilesUploaded.txt. call c:\docume~1\Administrator\Desktop\emailCCMS.bat ELSE Exit", Waitforexit:=True)
        Me.ProgressBar1.Value = 6
        ExecCommand("cmd", " /c " & "move c:\ccms\" & MiddleName & " r:", Waitforexit:=True)
        Me.ProgressBar1.Value = 7

Open in new window

0
 
LVL 8

Expert Comment

by:RyanAndres
ID: 24367189
Execute the thread using BackgroundWorker and update the progress bar's value when the ProgressChanged event is raised.

http://msdn.microsoft.com/en-us/library/system.componentmodel.backgroundworker.aspx
0

Featured Post

Master Your Team's Linux and Cloud Stack!

The average business loses $13.5M per year to ineffective training (per 1,000 employees). Keep ahead of the competition and combine in-person quality with online cost and flexibility by training with Linux Academy.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Title # Comments Views Activity
Regex validation 2 25
Datagridview column when exported to Excel changes vb.net 1 13
Footer for each row on Gridview 2 21
Expression Evaluater 3 26
This document covers how to connect to SQL Server and browse its contents.  It is meant for those new to Visual Studio and/or working with Microsoft SQL Server.  It is not a guide to building SQL Server database connections in your code.  This is mo…
Calculating holidays and working days is a function that is often needed yet it is not one found within the Framework. This article presents one approach to building a working-day calculator for use in .NET.
Established in 1997, Technology Architects has become one of the most reputable technology solutions companies in the country. TA have been providing businesses with cost effective state-of-the-art solutions and unparalleled service that is designed…
Nobody understands Phishing better than an anti-spam company. That’s why we are providing Phishing Awareness Training to our customers. According to a report by Verizon, only 3% of targeted users report malicious emails to management. With compan…

810 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question