Laden...

Profil von lord_fritte

myCSharp.de - Member Mitglied seit
L
lord_fritte
myCSharp.de - Member
171
Themen
553
Beiträge
Dabei seit
07.10.2007
Letzte Aktivität
vor 10 Jahren
Erstellt vor 11 Jahren

@herbivore Danke!

Also was ich vergessen habe zu erwähnen. Ich kopiere in meinem Test nur eine Datei, die ist 3,53 GB groß.
Ich teste mal die bytesPerSecond zusammen zu zählen und durch i zu teilen.

EDIT: Ach ne quatsch! ich brauche eine neue Zählvariable, welche ebenfalls nur im Sekundentakt hochgezählt wird.

Erstellt vor 11 Jahren

Ich habe das ganze mal ein bisschen erweitert:


static void Copy(string sourcePath, string destinationPath)
    {
      FileInfo sourceFile = new FileInfo(sourcePath);
      FileInfo destinationFile = new FileInfo(destinationPath);
      FileStream sourceStream = sourceFile.OpenRead();
      FileStream destinationStream = destinationFile.OpenWrite();
      int fileBufferSize = 8192;
      int copiedBytes = 0;
      int readBytes = 0;
      Byte[] copyBuffer = new Byte[fileBufferSize];

      long bytesPerSecond = 0L;
      int lastTicks = Environment.TickCount;
      long lastBytes = 0L;

      for (int i = 0; (readBytes = sourceStream.Read(copyBuffer, 0, fileBufferSize)) > 0; i++)
      {
        destinationStream.Write(copyBuffer, 0, fileBufferSize);
        copiedBytes += readBytes;

        if ((Environment.TickCount - lastTicks) >= 1000)
        {
          bytesPerSecond = copiedBytes - lastBytes;
          lastBytes = copiedBytes;
          lastTicks = Environment.TickCount;
        }

        Console.WriteLine("{0} bytes von {1} bytes kopiert, {2} bytes / Sekunde", copiedBytes, sourceFile.Length, bytesPerSecond);
      }
    }

Aber ich weiß jetzt nicht ob die Berechnung nicht stimmt, oder ob es wirklich dauernd zwischen 9 mb/s und 120 mb/s schwankt.

Erstellt vor 11 Jahren

Weil "File.Copy" so statisch ist, da kommt im Grunde nichts zurück. Ich möchte schon gerne in regelmäßigen Abständen ein Feedback bekommen, dass der Vorgang noch läuft und wie viel schon abgeschlossen ist.

Erstellt vor 11 Jahren

Hallo ich bastel gerade an einer Funktion um eine Datei zu kopieren.
Bis jetzt funktioniert das ganz gut. ABER: hat jemand eine Idee wie ich berechnen kann wie viel Bytes/Sekunde kopiert werden?


FileInfo sourceFile = new FileInfo(sourcePath);
FileInfo destinationFile = new FileInfo(destinationPath);
FileStream sourceStream = sourceFile.OpenRead();
FileStream destinationStream = destinationFile.OpenWrite();
int fileBufferSize = 8192;
int copiedBytes = 0;
Byte[] copyBuffer = new Byte[fileBufferSize];

while ((copiedBytes += sourceStream.Read(copyBuffer, 0, fileBufferSize)) > 0)
{
  destinationStream.Write(copyBuffer, 0, fileBufferSize);
  Console.WriteLine("{0} bytes von {1} bytes kopiert, {2} bytes/Sekunde", copiedBytes, sourceFile.Length, 0);
}

Erstellt vor 13 Jahren

Hallo, ich habe ein Fontobjekt(Arial und fontSize 15), ich habe einen String(Hallo Welt) und möchte im Grunde vorkalkulieren, wie hoch und breit in Pixeln, dieser Text sein wird.

Erstellt vor 13 Jahren

Aber wie baut man sich sowas?

Erstellt vor 14 Jahren

Hallo, ich habe in einer ListBox ein ContextMenu, darin habe ich MenuItems mit Commands. Der CanEyecute handler wird nur ausgelöst wenn sich die election der ListBox ändern, kann ich das ändern auf z.b. ContextMenuOpening?

Oder eine andere Frage, wenn ich jetzt eigene Control schreibe, wie kann ich darin einen Command Auslöser implementieren?

Erstellt vor 14 Jahren

Schaue ich mir mal an, vielen Dank!

Erstellt vor 14 Jahren

Aber ich habe noch keine richtiges Tutorial entdeckt, welcher mit zeig wie ich das umsetzen kann, was ich vor habe...