converter

Status
Niet open voor verdere reacties.

afghano

Gebruiker
Lid geworden
2 jan 2008
Berichten
134
heey allemaal =)

ik heb met visual basic 2008 een converter gemaakt
alles workt zoals het zou moeten werken
maar nu wou ik een progressbar bij toevoegen dat de status van het converteren aantoont...
alleen ik weet de code ervoor niet, kan iemand mij hiermee helpen?:p

Dit heb ik tot nu toe:

Public Class Converter

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
OpenFileDialog1.ShowDialog()

End Sub

Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
Dim type As String = ComboBox1.Text
If ComboBox1.Text = "" Then
MsgBox("Geen bestand geselecteerd")
Else
End If
MsgBox(TextBox1.Text + " Zal geconverteerd worden in " + type + " file.")
Dim oldFile As String = Mid(TextBox1.Text, 1, Len(TextBox1.Text) - 4)
FileCopy(TextBox1.Text, oldFile + type)
ProgressBar1.Visible = True
Timer1.Start()

End Sub

Private Sub OpenFileDialog1_FileOk(ByVal sender As System.Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles OpenFileDialog1.FileOk
Dim file As String = OpenFileDialog1.FileName
TextBox1.Text = file

End Sub

Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
ProgressBar1.Increment(3)
End Sub
End Class



alvast bedankt ! :D:D:D
 
hey dank je wel voor je snelle reactie :D
ik ben naar die site geweest maar vond downloads...
en als ik dan eentje downloade, dan was het een bestand met een paar onbekende bestanden in een vreemd taal :p

maar nogmaals wat ik wil is dat mijn progressbar de status van het converteren aantoont
iemand die hiervoor de code weet?
bedankt :thumb:
 
Hopelijk helpt dit je iets verder

Code:
Imports System.ComponentModel
Public Class Form1

    Private WithEvents bgw As BackgroundWorker = New BackgroundWorker

    Private Sub bgw_DoWork(ByVal sender As Object, ByVal e As System.ComponentModel.DoWorkEventArgs) Handles bgw.DoWork
        Dim ListText As String
        For Value As Integer = 0 To 100
            If bgw.CancellationPending Then
                Exit For
            End If
            ListText = String.Concat("Sequence #", Value)
            bgw.ReportProgress(Value, ListText)
            Threading.Thread.Sleep(100)

        Next
    End Sub

    Private Sub bgw_ProgressChanged(ByVal sender As Object, ByVal e As System.ComponentModel.ProgressChangedEventArgs) Handles bgw.ProgressChanged
        ProgressBar1.Value = e.ProgressPercentage
        ListBox1.Items.Add(e.UserState)
    End Sub

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Button1.Enabled = False
        Button2.Enabled = True
        ListBox1.Items.Clear()
        ProgressBar1.Value = 0
        bgw.WorkerReportsProgress = True
        bgw.WorkerSupportsCancellation = True
        bgw.RunWorkerAsync()
        Me.Cursor = Cursors.WaitCursor
    End Sub

    Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
        bgw.CancelAsync()
    End Sub

    Private Sub bgw_RunWorkerCompleted(ByVal sender As Object, ByVal e As System.ComponentModel.RunWorkerCompletedEventArgs) Handles bgw.RunWorkerCompleted
        Button1.Enabled = True
        If Button1.Enabled = True Then
            ProgressBar1.Value = 0
        End If
        Button2.Enabled = False
        Me.Cursor = Cursors.Arrow
    End Sub



    Private Sub Timer1_Tick_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
        If ProgressBar1.Value = ProgressBar1.Maximum Then
            ProgressBar1.Value = 0
        End If
        ProgressBar1.PerformStep()
    End Sub

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Timer1.Stop()
    End Sub
End Class 're not going
 
dank je wel :D
dit heeft mij wel een beetje geholpen maar niet helemaal
want ik ben nogal net bezig met programeren en snap niet alles :p

oke ik heb nu een statusstrip toegevoegd, Statuslabel en progressbar
ik heb een knop gemaakt, als ik daar op klik word mijn bestand die ik geselecteerd heb geconverteerd naar een bestand die ik heb aangegeven in een combobox. stel je nou es voor het is een filmbestand van 60 MB. Dan moet je wel een tijdje wachten voor dat het klaar is
maar met een progressbar kan je laten zien hoe ver hij is met het converteren
en dat wil ik graag maken alleen weet nie hoe :(
 
Laatst bewerkt:
iemand anders zij het volgende tegen mij:

Anyway, for your problem, you need to synchronize your conversion coding with the progressbar. This can be done if you have a full control of conversion module.
For the simple approach, you can use this logic:

Code:
Sub CONVERT()
ProgressBar1.Value = ProgressBar1.Minimum() ' Begin
'// step conversion 1 code
ProgressBar1.Value = X ' X- any value within Min-Max
'// step conversion 2 code
ProgressBar1.Value = X ' X- any value within Min-Max
'// step conversion 3 code
ProgressBar1.Value = ProgressBar1.Maximum() ' Complete
End Sub

It will be better if the conversion is in a loop. Considering use multi-threading also.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan