vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Erstellen von dynamischen Kontextmen?s - wann immer Sie sie brauchen!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2025
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

Fortgeschrittene Programmierung
Re: Verzeichnis-Struktur kopieren mit Animation im Hintergrund 
Autor: SnowWiesel
Datum: 25.02.04 16:50

Hallo smither

Zuerst einmal danke für den Hinweis. In den Tipps habe ich schon geschaut gehabt. Diese Variante scheidet jedoch aus, da sie nicht gleichermassen unter Win98 und NT4.0 lauffähig ist. Der orginale Kopier-Dialog der Explorers ist auch nicht brauchbar, da ich einen eigenen Aufbau des Dialogs mit einer speziellen Animation benötige.

Ich habe nun einmal die Lösung für das Problem hinbekommen. Zuviel Programmieren am Stück macht doch irgendwann komplett blind. Ich habe nun die Animation aus der Hauptroutine heraus bedient und auch die Animation sowie die Dateianzeige mit der Fortschrittsanzeige daraus gesteuert. Der Dialog für den Kopiervorgang habe ich daher nur noch "ferngesteuert" aus der Hauptroutine und kann nun auch alle Zustände anzeigen und die Abbruch-Bedingung abfangen.

Falls Interesse besteht hier noch der vereinfachte Code den ich zum Test benutzt hatte. Er kopiert einfach ein File mehrfach um etwas Daten zu kopieren und auch eine Animation darzustellen.

Public Sub DoCopyProjekt(xSrc As String, xDst As String)
  'Kopiervorgang mit Dialog starten
  Dim ii, PicNo  As Integer
  Dim BildAni    As String
  Dim OldTime
  OldTime = Timer
  PicNo = 1
  WindowComunication(1) = xSrc
  WindowComunication(2) = xDst
  Load DlgCopy
  DlgCopy.Show
  For ii = 1 To 100
    With DlgCopy
      .Refresh
      .TxtInfo.Caption = CutToLen("Kopiere: " & CStr(ii), 57)
      'Fortschritt anzeigen in Prozent
      .PgbProzent.Value = .PgbProzent.Value + 1
      If .PgbProzent.Value = 100 Then .PgbProzent.Value = 0
      'Animation "fliegende Blätter"
      If PicNo > 12 Then PicNo = 1
      BildAni = App.Path & "\data\bin\cpx"
      If PicNo < 10 Then BildAni = BildAni & "0"
      BildAni = BildAni & CStr(PicNo) & ".dat"
      If ExistsFile(BildAni) Then
        .PicAnimation.Picture = LoadPicture(BildAni)
      End If
      Debug.Print Timer
      If Timer - OldTime > 0.1 Then
        PicNo = PicNo + 1
        OldTime = Timer
      End If
    End With
    Call FileCopy("F:\CopyTest\test.exe", "F:\CopyTest\test2.exe")
  Next ii
  Unload DlgCopy
End Sub
Und nun noch der eigentliche Dialog

Private Sub Form_Load()
  'Kopier-Dialog wird geöffnet
  Dim BildSrc   As String
  Dim BildDst   As String
  SetTopMost DlgCopy
  PicNo = 1
  xSrcTyp = 1
  xDstTyp = 2
  Select Case xSrcTyp
    Case 1: BildSrc = App.Path & "\data\bin\cpapc.dat"
    Case 2: BildSrc = App.Path & "\data\bin\cpasv.dat"
  End Select
  Select Case xDstTyp
    Case 1: BildDst = App.Path & "\data\bin\cpapc.dat"
    Case 2: BildDst = App.Path & "\data\bin\cpasv.dat"
  End Select
  If ExistsFile(BildSrc) Then PicSrc.Picture = LoadPicture(BildSrc)
  If ExistsFile(BildDst) Then PicDst.Picture = LoadPicture(BildDst)
  Me.Refresh
End Sub
 
Private Sub BtnAbbrechen_Click()
  'Vorgang abbrechen
  Unload Me
End Sub
Das Ganze muß nur noch mit einer Rekursion alle Verzeichnisse der Reihe nach kopieren und nebenher das gane visualisieren. Dann ist das soweit auch ganz gelungen.

Noch vielen Dank an das VB@Archiv-Team. Ihr habt mir schon in vielen Dingen weitergeholfen in wenigen Minuten.
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Verzeichnis-Struktur kopieren mit Animation im Hintergrund889SnowWiesel25.02.04 00:11
Re: Verzeichnis-Struktur kopieren mit Animation im Hintergru...597smither25.02.04 02:06
Re: Verzeichnis-Struktur kopieren mit Animation im Hintergru...640SnowWiesel25.02.04 16:50

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2025 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel