VB08: PBar Marquee funzt net

Dieses Thema im Forum "Webmaster Hilfe / Programmierer Forum" wurde erstellt von Mr.Blade, 19.12.2008.

  1. #1 Mr.Blade, 19.12.2008
    Mr.Blade

    Mr.Blade Erfahrener Benutzer

    Dabei seit:
    03.08.2008
    Beiträge:
    2.280
    Zustimmungen:
    0
    Hi!
    Hab schon wieder ein Problem mit VB08, und zwar der ProgressBar :rolleyes:

    Der PBar stellt eine Marquee Animation dar, die während eines Vorganges aber nicht klappt
    Die Codes:

    ///Die Aktion
    Timer1.Enabled = True
    Dim msg As String
    Dim title As String
    Dim style As MsgBoxStyle
    Dim response As MsgBoxResult
    msg = "Der Vorgang dauert, je nach System, bis zu 30 Minuten. Möchten Sie den Vorgang fortsetzen ?" ' Define message.
    style = MsgBoxStyle.DefaultButton2 Or _
    MsgBoxStyle.Question Or MsgBoxStyle.YesNo
    title = "Frage" ' Define title.
    ' Display message.
    response = MsgBox(msg, style, title)
    If response = MsgBoxResult.Yes Then ' User chose Yes.
    GoTo START
    Else
    GoTo Ende
    End If
    Start:
    PBar1.Visible = True
    Dim SystemPath As String = New IO.DirectoryInfo(Environment.SystemDirectory).Parent.FullName
    Label1.Visible = True
    Label1.Text = "Bitte warten, Backup wird erstellt"
    Application.DoEvents()
    Me.Refresh()
    On Error Resume Next
    My.Computer.FileSystem.CopyDirectory("C:\TST2", "C:\TST")

    Ende:
    Label1.Text = "Vorgang abgeschlossen"
    PBar1.Visible = False

    ///Timer1
    Me.Refresh()
    PBar1.Refresh()

    Danke im Vorraus!
    Mfg.
     
  2. AdMan

    schau mal hier: Windows-Wartungs-Tool. Viele Probleme lassen sich damit einfach beheben. Oftmals ist der PC dann auch schneller!
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren.
  3. #2 xandros, 19.12.2008
    xandros

    xandros IT Consultant, Cisco Registered Partner
    Moderator

    Dabei seit:
    05.07.2007
    Beiträge:
    25.887
    Zustimmungen:
    91
    Ort:
    Umkreis Duisburg, neben Mannheim, hinter Hamburg
    A) Sprungmarken mit Bezeichnungen wie Start oder Ende (oder sonstwie!) solltest du vermeiden. Genauso GOTO. Das ist überholt und nur noch aus Gründen der Abwärtskompatibilität vorhanden. Sowas macht man objektorientiert mit Subs und darin dann passende Rückgabewerte oder Exits...
    [edit: in deinem Fall sollte es sogar völlig ausreichen, wenn der Start-Block im If-Teil behandelt und der Ende-Block danach ausgeführt wird.]

    b) PBar1.Visible = True reicht nicht aus, damit der Progressbar etwas vom Fortschritt mitbekommt. Da muss auch regelmässig irgendwo ein Wert gesetzt werden....
     
  4. #3 Mr.Blade, 23.12.2008
    Mr.Blade

    Mr.Blade Erfahrener Benutzer

    Dabei seit:
    03.08.2008
    Beiträge:
    2.280
    Zustimmungen:
    0
    Sry, aber meine Kentnisse in VB sind denk ich zu schwach,
    was genau muss ich den da einsetzen ?
    Mfg.
     
  5. #4 xandros, 23.12.2008
    xandros

    xandros IT Consultant, Cisco Registered Partner
    Moderator

    Dabei seit:
    05.07.2007
    Beiträge:
    25.887
    Zustimmungen:
    91
    Ort:
    Umkreis Duisburg, neben Mannheim, hinter Hamburg
    Zum Einen würde ich diesen Block umbauen:
    Code:
    If response = MsgBoxResult.Yes Then ' User chose Yes.
    GoTo START
    Else
    GoTo Ende
    End If
    Start:
    PBar1.Visible = True
    Dim SystemPath As String = New IO.DirectoryInfo(Environment.SystemDirectory).Parent.FullName
    Label1.Visible = True
    Label1.Text = "Bitte warten, Backup wird erstellt"
    Application.DoEvents()
    Me.Refresh()
    On Error Resume Next
    My.Computer.FileSystem.CopyDirectory("C:\TST2", "C:\TST")
    
    Ende:
    Label1.Text = "Vorgang abgeschlossen"
    PBar1.Visible = False
    damit das ohne diese veralteten Sprungmarken da steht....
    Code:
            If response = MsgBoxResult.Yes Then ' User chose Yes
                PBar1.Visible = True
                Dim SystemPath As String = New IO.DirectoryInfo(Environment.SystemDirectory).Parent.FullName
                Label1.Visible = True
                Label1.Text = "Bitte warten, Backup wird erstellt"
                On Error Resume Next
                My.Computer.FileSystem.CopyDirectory("C:\TST2", "C:\TST")
            End If
            Label1.Text = "Vorgang abgeschlossen"
            PBar1.Visible = False
    Zum Anderen hast du für dein Progressbar einen Startwert (0) und einen Endwert (Standard 100).
    Du kannst dann z.B. im Timer den Value des Progressbars erhöhen. Dann wird der auch ohne Refresh neu gezeichnet.
    PBar1.Value += 1
    Die Frage ist dann, ob du bei jedem Timerereignis den Progressbar fortschreiben willst, oder ob du dir zuerst die Anzahl der Dateien auswertest und den Progressbar anhand der abgearbeiteten Dateien erhöhen willst. Dann liesse sich das auch z.B. anhand des prozentualen Fortschritts durchführen.
     
  6. AdMan

    Es ist generell erstmal empfehlenswert alle ggf. veralteten oder fehlerhaften Treiber zu scannen und auf neue zu aktualisieren. Hier kannst du einen Treiber-Scanner downloaden. Das erspart oftmals viel Ärger und hilft gegen diverse Probleme.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren.
Thema: VB08: PBar Marquee funzt net
Besucher kamen mit folgenden Suchen
  1. my.computer.filesystem.copyfile(label1.text

Die Seite wird geladen...

VB08: PBar Marquee funzt net - Ähnliche Themen

  1. Trotz voll verfügbarer Internetleitung, kann ich nur noch sehr langsam surfen. Download funzt aber..

    Trotz voll verfügbarer Internetleitung, kann ich nur noch sehr langsam surfen. Download funzt aber..: Abend. Bin nu am Ende meiner Geduld und würde gerne Wissen woran das liegen kann das meine Internetleitung bei allen Speedtest als verfügbar...
  2. Hardware für 50K I-Net

    Hardware für 50K I-Net: Hallo zusammen, nachdem wir auf 50K geupgradet haben, habe ich bemerkt: Notebooks = volle Rate (Download vorhin mit 6MB/s +), Smartphones =...
  3. HD funzt extern, aber nicht intern

    HD funzt extern, aber nicht intern: Hi allerseits, ich habe ein seltsames Problem: Meine inzwischen 4 verschiedenen Festplatten (SATA-3 HDD) funktionieren alle über eine...
  4. Bestimmte I-Net Seiten lahm, 2 PC, 1 Pc schnell 1 PC lahm

    Bestimmte I-Net Seiten lahm, 2 PC, 1 Pc schnell 1 PC lahm: Ich habe hier 2 Rechner ( 1 PC und 1 Laptop). PC hat Win7 prof. Laptop hat Win7 Home. Beide Rechner haben Mozilla 27.0.1. Beide Rechner hängen am...
  5. Zwei PCs spielen über eine FritzBox - bei einem PC bricht I-net nach einiger Zeit ab

    Zwei PCs spielen über eine FritzBox - bei einem PC bricht I-net nach einiger Zeit ab: Hi, folgendes Problem: Ich und mein Bruder wohnen in der selben Wohnung. Wir beide spielen ein PC-Spiel über Hamachi (LAN), benutzen für das...