Veröffentlicht 16. Februar 200619 j guten morgen... Ich hab einen Kopiervorgang, der länger dauert ( ca. 300 MB auf USB ). Daher habe ich mir vorgestellt, einen progress zu machen. leider weis ich nicht wie ich das am dümmsten anstellen soll. Eine überlegung von mir war vielleicht ob die File.copy funktion einen parameter hat, um eine progressbar zu steuern, aber ich habe nichts in diese richtung gefunden. Wäre nett, wenn mir jemand weiterhelfen könnte. Danke, MES
16. Februar 200619 j File.copy hat keinen derartigen Parameter. Wenn Du eine Fortschrittsanzeige willst, musst Du Dir eine eigene Funktion schreiben.
16. Februar 200619 j Am einfachsten ist es das du die größe des file's einliest und dann in Byte-Packete stückelst und dann Packet für Packet schreibst. Dann kannst du auch auf einfache weise eine Status-Bar mitlaufen lassen 300 MB aufeinmal einlesen in das IO.File-Object sollte wohl recht speicher-lastig sein oder seh ich das falsch :confused:
17. Februar 200619 j Angenommen du willst 10 MB einlesen / kopieren, dann kannst du das in 10 Packete á 1 MB Teilen, und dann auch so einlesen. 1024 * 1024 byte also 1048576 Byte. Machst du ein byte Array von der größe als buffer, und ließt die ein. FileInfo file = new FileInfo(@"C:\datei"); FileStream stream = File.Open(@"C:\datei",FileMode.Open); byte[] byBuff = new byte[1024 * 1024]; int nCounter = 0; while(stream.Read(byBuff,nCounter,byBuff.Length) { /* * Mach damit was du willst * * */ nCounter += byBuff.Length; } Irgendwie so denke ich
Archiv
Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.