Suchergebnisse

Suchergebnisse 1-28 von insgesamt 28.

  • Benutzer-Avatarbild

    Geschwindigkeit usw...

    VaporiZed - - Sonstige Problemstellungen

    Beitrag

    Das effektivste wäre wohl: Selber probieren und Zeit messen. Es ist Dein PC. Solche Sachen einfach selbst probieren. Geht schneller als im Forum zu posten. Klar gibt es Situationen, in denen man eine Forumsfrage stellen sollte, aber vergleichende Geschwindigkeitsmessungen gehören m.E. da nicht dazu.

  • Benutzer-Avatarbild

    Geschwindigkeit usw...

    VaporiZed - - Sonstige Problemstellungen

    Beitrag

    Zitat von Amelie: „Backgroundworker“sind old stuff. Dafür gibt es Async/Await. Aber das hatten wir schon mal.

  • Benutzer-Avatarbild

    Geschwindigkeit usw...

    VaporiZed - - Sonstige Problemstellungen

    Beitrag

    Das mit Async/Await an einem ganz einfachen Beispiel erklärt: VB.NET-Quellcode (8 Zeilen)

  • Benutzer-Avatarbild

    Geschwindigkeit usw...

    VaporiZed - - Sonstige Problemstellungen

    Beitrag

    VB.NET-Quellcode (15 Zeilen)

  • Benutzer-Avatarbild

    Geschwindigkeit usw...

    VaporiZed - - Sonstige Problemstellungen

    Beitrag

    Ja sicher startet das gleichzeitig. Jeder Thread arbeitet parallel zu anderen. Mit meinem Code wird nacheinander abgearbeitet. Erst zippen, dann kopieren. btw: Welchen Zweck erfüllt der Timer?

  • Benutzer-Avatarbild

    Geschwindigkeit usw...

    VaporiZed - - Sonstige Problemstellungen

    Beitrag

    Ach Moment. Du willst, dass es gleichzeitig läuft? Dann geht das auch so: VB.NET-Quellcode (12 Zeilen) In Methode1 wird also zippeAsync aufgerufen, dort wird zippen gestartet und sofort danach wieder zu Methode1 zurückgekehrt (entspr. Erklärung in Post#9). Dann wird gleich kopiereAsync aufgerufen, dort wird kopieren gestartet und ebenfalls zurückgekehrt. Also werden zippen und kopieren nahezu gleichzeitig parallel gestartet und nebeneinander ausgeführt.

  • Benutzer-Avatarbild

    Geschwindigkeit usw...

    VaporiZed - - Sonstige Problemstellungen

    Beitrag

    Dann kannste zippen und kopieren aber wieder zu normalen Subs machen. Der Punkt ist: Was erwartest Du bei dieser Zeile? VB.NET-Quellcode (1 Zeile)Wenn man davon absieht, dass = True jeweils überflüssig ist, kann das doch gar nicht so bei asynchronen/nebenläufigen Methodenaufrufen funktionieren. Denn das Resultat steht doch erst dann fest, wenn die asynchronen Methoden fertig sind. Und wenn Du darauf warten willst, brauchst Du es gar nicht erst asynchron laufen zu lassen. Deine jetzige Lösung ist…

  • Benutzer-Avatarbild

    Geschwindigkeit usw...

    VaporiZed - - Sonstige Problemstellungen

    Beitrag

    Zitat von Amelie: „Erst war vieles mit grün unterkringelt“Dann gleich mal alles auf scharf schalten. Grüne Warnungen haben im Code nix verloren, sondern sollten immer als Fehler das Kompilieren blockieren, damit man gar nicht erst in die Gefahr gerät, Warnungen zu ignorieren.

  • Benutzer-Avatarbild

    Geschwindigkeit usw...

    VaporiZed - - Sonstige Problemstellungen

    Beitrag

    nuja, bei Sub gibt's eben keinen Rückgabewert VB.NET-Quellcode (19 Zeilen) Aaallerdings: Fange nur Exceptions ab, die Du kennst und sinnvoll bearbeiten kannst. Dementsprechend: Werde bei den Catch-Bereichen konkret, damit Du auch angeben kannst, was genau schiefgelaufen ist.

  • Benutzer-Avatarbild

    Geschwindigkeit usw...

    VaporiZed - - Sonstige Problemstellungen

    Beitrag

    Ich verstehe nicht. Wie soll eine alternative Ausgabe Deiner Meinung nach aussehen? Datei? eMail? Bunte Bildschirmpunkte?

  • Benutzer-Avatarbild

    Geschwindigkeit usw...

    VaporiZed - - Sonstige Problemstellungen

    Beitrag

    Achso, ja gut. Ne TextBox kannst Du schon machen, solange die Exception innherlab des Form-Codes auftritt. Denn in einer sonstigen Klasse hast Du ja offiziell/standardmäßig keinen Zugriff auf ein FormControl wie ne TextBox. ########## @Amelie: Bedenke aber, wieviele Exception-Infos Dir durch eine MessageBox oder gar einzeilige TextBox verloren gehen (können). Ich protokolliere in einer Datei, falls ich die Exception nicht sinnvoll/im Voraus behandeln kann:- Zeitpunkt der Exception - Programm - d…

  • Benutzer-Avatarbild

    Geschwindigkeit usw...

    VaporiZed - - Sonstige Problemstellungen

    Beitrag

    statt den ????? einfach das, was Du machen willst. (Und statt Invoke BeginInvoke) VB.NET-Quellcode (1 Zeile)

  • Benutzer-Avatarbild

    Geschwindigkeit usw...

    VaporiZed - - Sonstige Problemstellungen

    Beitrag

    VB.NET-Quellcode (2 Zeilen)Natürlich nicht. Der Code wird nur ausgeführt, wenn die Bedingung zutrifft, also die Datei vorhanden ist. Oder versteh ich Dich falsch? btw: If-Schleife

  • Benutzer-Avatarbild

    Geschwindigkeit usw...

    VaporiZed - - Sonstige Problemstellungen

    Beitrag

    Dann versteh ich Deine (Programm)Logik nicht. Da steht doch: VB.NET-Quellcode (5 Zeilen) Also: Wenn "Klass.Workdir & tempdir & sourceFile" der Pfad eine existierenden Datei ist und die Datei Test.txt heißt, dann schreibe in die Listbox Test.txtnicht vorhanden (ja, da fehlt ein Leerzeichen in dem Text, denn so steht es (falsch) im Code). Aber warum sollte - wenn die Datei exisiert - in die ListBox geschrieben werden, dass sie nicht vorhanden ist? Da ergibt die Codelogik keinen Sinn. Das mit dem I…

  • Benutzer-Avatarbild

    Geschwindigkeit usw...

    VaporiZed - - Sonstige Problemstellungen

    Beitrag

    Nochemal langsam. Ich nehm Deinen Codeausschnitt nochmal her: VB.NET-Quellcode (8 Zeilen) Dein Code sagt: Wenn die Datei vorhanden ist, schreib in die ListBox "Datei nicht vorhanden". Das ist offensichtlich falsch, denn das ergibt keinen Sinn. Damit schreibst Du eine Lüge in die ListBox rein. Das mit dem "nicht vorhanden" gehört also in den Else-Bereich. Außerdem wird eine Datei kopiert, wenn eine andere nicht da ist. Das versteh ich nicht. If Not Directory.Exists(Klass.Workdir & tempdir) Then D…

  • Benutzer-Avatarbild

    Geschwindigkeit usw...

    VaporiZed - - Sonstige Problemstellungen

    Beitrag

    Das sind mir zu viele Spekulatiusstückchen. Also füge ich mal ein paar Daten ein und Du sagst mir, ob das plausibel ist. in tb_auswahl (ausbaufähiger Control-Name; ist das ne TextBox?) steht drin: Quellcode (3 Zeilen) tb_eingabe (ganz schlechter Control-Name) ist wohl für das Quellverzeichnis, z.B. E:\Quelle Dann steht im Code also:- Gehe alle Zeilen in der tb_auswahl durch. - Such mir für jeden Eintrag darin die Dateien mit dem Namen (also zuerst "UserNames") mit der (irgendwo) angegebenen Exte…

  • Benutzer-Avatarbild

    Geschwindigkeit usw...

    VaporiZed - - Sonstige Problemstellungen

    Beitrag

    Dann müsste wohl der Code so aussehen: VB.NET-Quellcode (11 Zeilen) Denn: Wieso sollte die Datei nicht gefunden werden, wenn sie doch über GetFiles ermittelt wurde? Oder geht es darum, dass die Datei nicht kopiert werden soll, wenn sie schon am Ziel ist? Was hat das dann aber mit "Datei nicht gefunden" zu tun? Welche Datei kann nicht gefunden werden? Nenn mal bitte ein konkretes Beispiel, bei dem eine Datei nicht gefunden wird.

  • Benutzer-Avatarbild

    Geschwindigkeit usw...

    VaporiZed - - Sonstige Problemstellungen

    Beitrag

    Einer von uns hat einen Denkfehler. For Each filename As String In Directory.GetFiles(tb_eingabe.Text, "*" & source & FileExtension, SearchOption.AllDirectories) wird nur die Dateien durchgehen, die auch wirklich da sind. Wenn Du damit nach einer Datei suchst, die so nicht exisiert, dann wird dafür die Schleife auch nicht ausgeführt. Die Datei wird komplett ignoriert. Ein Beispiel: Du hast Dein Verzeichnis G:\ mit den Dateien AAA.jpg, AAA.cr2 und BBB.jpg und Du suchst mit For Each filename As St…

  • Benutzer-Avatarbild

    Geschwindigkeit usw...

    VaporiZed - - Sonstige Problemstellungen

    Beitrag

    Visual Studio kann nicht nur meckern, sondern auch konstruktive Vorschläge machen

  • Benutzer-Avatarbild

    Geschwindigkeit usw...

    VaporiZed - - Sonstige Problemstellungen

    Beitrag

    Nee. Wenn Du Code kopierst, dann richtig. Nicht lb_worktarget.Items.Add("Die Datei {source & FileExtension} gibbet nüsch.") sondern lb_worktarget.Items.Add($"Die Datei {source & FileExtension} gibbet nüsch.") Da ist ein Dollarzeichen nach dem Add, was zu einer interpolierten Zeichenfolge führt und die Bedeutung verändert. Probier es mal. Dass mein Codevorschlag nicht funktioniert, kann ich ohne Gesamtcode nicht erklären. Bei mir funktioniert's. Was Deinen Vorschlag zunichte macht: Du wolltest do…

  • Benutzer-Avatarbild

    Geschwindigkeit usw...

    VaporiZed - - Sonstige Problemstellungen

    Beitrag

    Mit welchem Uralt-.NET-Framework arbeitest Du? 4.0? Naja, dann eben lb_worktarget.Items.Add("Die Datei " & source & FileExtension & " gibbet nüsch.") Eh. Schau nochmal in Post#49. Die For-Schleife wird für nichtexistente Dateien NICHT ausgeführt. Die If-Abfrage gehört also nicht in die For-Schleife, sondern davor. VB.NET-Quellcode (17 Zeilen) ########## Und dann hat man das GetFiles doppelt und kann es somit zusammenfassen: VB.NET-Quellcode (18 Zeilen)

  • Benutzer-Avatarbild

    Geschwindigkeit usw...

    VaporiZed - - Sonstige Problemstellungen

    Beitrag

    Naja, mal sollte schon erkennen, wofür ein Control ist. tb_Eingabe - hm, ok, ich kann da was eingeben bzw. der User hat da was eingegeben. Aber was? Das sollte man aus dem Controlnamen schon erfahren. Also wäre m.E. besser: tb_Quellverzeichnis bzw. tb_SourceDirectory*. Oder eigentlich gar tb_Quellverzeichnispfad bzw. tb_SourceDirectoryPath*, aber man kann's auch übertreiben. Und tb_auswahl? Naja, wieso Auswahl? Der User kann mit CheckedListBoxen, CheckBoxen, RadioButtons, … was auswählen. Aber i…

  • Benutzer-Avatarbild

    Geschwindigkeit usw...

    VaporiZed - - Sonstige Problemstellungen

    Beitrag

    Zitat von Amelie: „Nun möchte ich die Schriftfarbe ändern. VB.NET-Quellcode Me.Invoke(Sub() lstView.Items.Add(New ListViewItem(New String() {Datei.Name, CStr(filesize), "MB", CStr(ForeColor = Color.Blue)}))) Hier tut sich nix. Farbe bleibt schwarz.... Fehler werden keine angezeigt.“Das ist jetzt aber nicht Dein Ernst-August, oder? Dein Code sagt: »Füge dem ListView ein neues Item hinzu, und zwar soll dieses Item aus ein paar SubItems bestehen, die folgende Texte haben: den Dateinamen, die Dateig…

  • Benutzer-Avatarbild

    Geschwindigkeit usw...

    VaporiZed - - Sonstige Problemstellungen

    Beitrag

    Was willst Du denn erreichen? Dass die Einträge alle blau sind? Oder dass die Frage wechselt? Wenn letzteres, welche Farben sollen sich abwechseln?

  • Benutzer-Avatarbild

    Geschwindigkeit usw...

    VaporiZed - - Sonstige Problemstellungen

    Beitrag

    Dann setz die Farbe in Abhängigkeit von der Item-Anzahl, z.B. wenn Anzahl gerade ist, dann schwarze, wenn ungerade, dann blau. VB.NET-Quellcode (3 Zeilen) so aus dem Kopf heraus; ja, da zur Sicherheit lieber Invoke. ########## Ach ja: lstView ist für ein ListView ein ziemlich … Nullaussage-Name. Und: ListView ist für sowas die zweite Wahl. Für tabellarische Daten gibt's das DataGridView (DGV).

  • Benutzer-Avatarbild

    Geschwindigkeit usw...

    VaporiZed - - Sonstige Problemstellungen

    Beitrag

    Zitat von Amelie: „hatte aber nicht funktioniert“ohne Code schwierig zu bewerten LV-Zip? Ein ContentControl (ListBox, ListView, DGV, …) sollte m.E. so benannt werden, dass man sieht, was drinsteckt. Mein Vorschlag: LvZipFileInfos

  • Benutzer-Avatarbild

    Geschwindigkeit usw...

    VaporiZed - - Sonstige Problemstellungen

    Beitrag

    Warum arbeitest Du jetzt mit OwnerDrawing? Geht doch auch ohne. Wenn Du aber dabei bleibst, musst Du selbst dafür sorgen, dass alle Texte erscheinen. Aber da Du mit e.Graphics.DrawString nur das 1. SubItem (e.Item.Text) zeichnest/schreiben lässt, kann ich auch nicht helfen. Musst schon alle zeichnen/schreiben.

  • Benutzer-Avatarbild

    Geschwindigkeit usw...

    VaporiZed - - Sonstige Problemstellungen

    Beitrag

    Manchmal glaub ich, Du probierst einfach wild herum, ohne Dir bewusst zu werden, was Du machst. in der Zeile wandelst Du eine Zahl in einen Text um und dann wieder zurück in die Zahl. Also wird aus z.B. 3,14 zuerst ein "003,140"-Text und dann wieder durch das CDbl die 3,14. Im Endeffekt: nix gewonnen, nur verschwendete Zeit. Dein ToString("N3") oder wasauchimmer musst Du dort hernehmen, wo Du das ListViewItem erstellst. Nur dort interessiert die Zahl als Text.