Ergebnis 1 bis 14 von 14
  1. #1
    Mitglied
    Registriert seit
    Jun 2007
    Beiträge
    6

    Standard [c#] Dateiauflistung & Ausgabe an Liste

    Mahlzeit!

    Ein paar Dinge vorab: ich bin kein Programmierer, suche nur dann Hilfestellung wenn mir wirklich geholfen werden will, suche keine Hilfestellung nach der ich mir schlussendlich doch wieder alles selbst zusammensuchen muss.


    Nun zum Kernproblem:

    Ich habe vor einer Weile ein Programm von einem Bekannten bekommen (Ich bat ihn darum).
    Ich erklärte ihm damals, so gut es ging, was genau ich mit dem Programm anstellen wollte.

    Er gab mir zu verstehen, dass die Umsetzung kein Problem sei, machte sich ans Werk und übergab mir schlussendlich das fertige Programm.
    Allerdings habe ich es zu dieser Zeit nicht wirklich getestet, da ich noch auf ein wichtigeres Programm wartete und zeitmäßig ziemlich eingeschränkt war.

    Zwischenzeitlich ist mein Bekannter nach Brasilien ausgewandert. Leider hört man nur alle paar Monate voneinander.

    Nun aber zurück zum Problem: Vor kurzem entdeckte ich das Programm auf meiner Festplatte wieder.
    Mir kam in den Sinn was ich damals brauchte, aber nicht nutzte.

    Nun, im Zuge eines neuen Projektes, dachte ich mir, ließe sich das Programm prima nutzen.

    Dummerweise funktionierte es schlussendlich doch nicht, wie ich es mir wünschte.


    Das Programm soll schlussendlich einfach ALLE Dateien, inklusive der Unterordner UND der darin enthaltenen Dateien durchsuchen, eine komplette Dateiliste ausgeben und schlussendlich JEDE Datei einzeln speichern und diese dann in den automatisch erstellten Unterordnern ablegen.

    Nun fragt man sich sicher, wieso alles einzeln? Ganz einfach: das Programm erstellt schlichtweg "Patches", die beim Client abgefragt werden.
    Stimmen die CRC-Werte mit der Patchlist überein, so startet das Programm schlussendlich wie es soll.

    Sollten aber Dateien fehlen, oder gar korrumpiert sein, so lädt er sich diese einzeln von der Quelle herunter und ersetzt diese Dateien.
    Praktisch auch, wenn man das Programm updaten möchte.


    Ich hoffe, dass in etwa klar ist, was ich damit bezwecken will und was das Programm können sollte.


    Das Problem an sich liegt bei Step 2-->3.
    Leider wird nur der erste Unterordner entsprechend Archiviert. Der Rest wird zwar aufgelistet, jedoch aber völlig ignoriert.

    Gibt es denn jemanden, der sich das mal anschauen, korrigieren und mir zurücksenden kann?
    Oder wenigstens den Fehler aufzeigt und eine Lösung posten kann?


    Ich wäre diesem Jemand sehr dankbar.

    Hier das Programm: BGU.rar

    Dieses Programm wurde mit VisualStudio 2010 erstellt und in C# geschrieben

  2. #2
    Mitglied
    Registriert seit
    Oct 2009
    Beiträge
    703

    Standard Re: [c#] Dateiauflistung & Ausgabe an Liste

    Hallo,
    wir sind hier kein Auftragsforum, wo man sich Entwickler für lau suchen kann.

  3. #3
    Mitglied

    (Threadstarter)


    Registriert seit
    Jun 2007
    Beiträge
    6

    Standard Re: [c#] Dateiauflistung & Ausgabe an Liste

    dann hab ich wohl die sache mit der hilfe und dem support falsch verstanden?...

    hör mal, mir gehts nicht drum alles in den arsch gesteckt zu bekommen, sondern lediglich um hilfe bei etwas, das ich selbst nicht ohne weiteres hinbekomme...

    wenn das schon zuviel verlangt ist, dann danke ich vielmals für die anteilnahme...

  4. #4
    Verrückter Avatar von Krutius
    Registriert seit
    Sep 2006
    Beiträge
    2.557

    Standard Re: [c#] Dateiauflistung & Ausgabe an Liste

    Hi

    Ihm Rahmen der von dir geposteten Informationen (kein code), lässt sich hierauf nur sehr allgemein Antworten.

    Grundsätzlich musst du die Funktionalität welche für den root-folder aufgerufen wird, als Funktion rekursiv ausführen.

    Hier ein Beispiel welches in etwa das macht, und nur noch angepasst werden müsste.

    http://dotnet-snippets.de/dns/alle-d...---SID627.aspx

  5. #5
    Mitglied

    (Threadstarter)


    Registriert seit
    Jun 2007
    Beiträge
    6

    Standard Re: [c#] Dateiauflistung & Ausgabe an Liste

    das listing selbst funktioniert ja so wie es soll. das ist nicht das problem.

    vielmehr scheitert es daran, die liste vollständig zu übergeben und anschließend damit zu arbeiten.

    und da ich eben leider nicht wirklich viel vom programmieren verstehe, seh ich auch den strukturfehler leider nicht

  6. #6
    Mitglied
    Registriert seit
    Oct 2009
    Beiträge
    703

    Standard Re: [c#] Dateiauflistung & Ausgabe an Liste

    Zitat Zitat von absentos Beitrag anzeigen
    hör mal, mir gehts nicht drum alles in den arsch gesteckt zu bekommen, sondern lediglich um hilfe bei etwas, das ich selbst nicht ohne weiteres hinbekomme...
    Natürlich möchtest du das, sonst würdest du hier nicht in dieser dieser Art und Weise fragen - ohne sich damit auch nur eine Stunde beschäftigt zu haben.

    Soweit ich es gesehen habe, liegt es wahrscheinlich daran, dass er die Listview Werte (also die selektierten Dateien) aus der 2-ten Liste in Properties.Settings.Default als Einträge speichert und diese später bei der Verarbeitung aus den Settings ausliest.

    Das blöde dabei wird sein, dass er dort sehr wahrscheinlich nicht den kompletten Pfad speichert, sondern nur den Dateinamen - daher wird er sehr wahrscheinlich nur die Dateien finden die in "\bin32\" liegen.

    Aber das ist nur ein Vermutung und muss nicht stimmen - das muss sich wenn jmd. mit mehr Zeit anschauen.
    Geändert von dynaDE (11. 12. 2011 um 18:55 Uhr)

  7. #7
    Mitglied

    (Threadstarter)


    Registriert seit
    Jun 2007
    Beiträge
    6

    Standard Re: [c#] Dateiauflistung & Ausgabe an Liste

    Zitat Zitat von dynaDE Beitrag anzeigen
    ohne sich damit auch nur eine Stunde beschäftigt zu haben.
    wenn du auf provokation aus bist, dann geh bitte irgendwo in den wald, okay?

    du hast garkeinen schimmer, wieviel unzählige stunden ich mit der suche einer lösung verbracht habe!

    und einzig weil mir das wissen dazu fehlt, frage ich hier nach...
    und dann muss ich mir grundlos solche unterqualifizierten aussagen anhören...
    wirklich, ganz fein gemacht...


    und nein, du irrst.er sucht nicht im bin32 ordner, sondern legt dort die listen ab. diese beinhalten lediglich nur die informationen über die dateien (position/pfad und hashwerte), sowie eine kennung der updateinstanz.

    er erkennt sämtliche datein, zeigt sie an. aber er übergibt sie eben nicht.

    und genau da klemmt es eben.

  8. #8
    Mitglied
    Registriert seit
    Oct 2009
    Beiträge
    703

    Standard Re: [c#] Dateiauflistung & Ausgabe an Liste

    Stimmt.

    In Step3.cs fehlt zum einen die Extension bei der fll-Datei (Zeile 106)

    Der Wurm sollte in Step3::compile liegen.

    Code:
    foreach (DirectoryInfo DirName in diFromArr)
    {
         DirectoryInfo fFromDir = new DirectoryInfo(@PathClient + "/" + DirName);
         ShowMsgProgress("Lese Verzeichnis: " + DirName);
    
         foreach (FileInfo Fname in fFromDir.GetFiles())
         { }
         
          //...
    }
    Hier fragt er nur die erste Ebene eines möglichen Verzeichnisbaum ab. Daher ist der Tip von Krutius schon ganz richtig. Der Verzeichnisbaum sollte rekursive durchlaufen werden wobei das eigentlich ja schon getan wurde (in der Auflistung der Dateien).

    Eigentlich müsste man nur die (vollständigen) Pfade+Dateinamen speichern und auch verwenden.

    Außerdem verstehe ich die Dateiauswahl nicht. Wofür soll diese gut sein? Sie wird momentan nicht verwendet, zumindest soweit ich gesehen habe. Es wird das "Ziel" Verzeichnis durchgegangen und protokolliert und gezipped. Ein Datei abgleich (nicht crc sondern ob ich sie ausgewählt habe) habe ich nicht gefunden.
    Geändert von dynaDE (11. 12. 2011 um 19:56 Uhr)

  9. #9
    \o/ Avatar von sumisumi
    Registriert seit
    Jan 2008
    Beiträge
    4.039

    Standard Re: [c#] Dateiauflistung & Ausgabe an Liste

    Der Codeschreiber scheint auch nicht der beste Programmierer zu sein ...
    Ich schau mir das mal später an, kann ja nicht so schwer sein.

  10. #10
    Mitglied
    Registriert seit
    Oct 2004
    Beiträge
    560

    Standard Re: [c#] Dateiauflistung & Ausgabe an Liste

    Der Übeltäter liegt in Step3 Zeile187 + 188:
    Code:
                DirectoryInfo diFromDir = new DirectoryInfo(@PathClient);
                DirectoryInfo[] diFromArr = diFromDir.GetDirectories();
    Hier wird einfach nur die oberste Ebene genommen. Also entweder das ganze rekursiv oder die Überladung von GetDirectories verwenden.

    Weiters ist das Ganze mehr als schlecht programmiert.
    Wenn der bin32 Ordner nicht existiert, dann raucht das Programm mal locker flockig ab.
    Es gibt genau kein Error-Handling, Pfade werden von Hand zusammengebastelt, Variablennamen groß.
    Und das sind nur einige Dinge die mir jetzt aufs erste aufgefallen sind.

  11. #11
    Mitglied

    (Threadstarter)


    Registriert seit
    Jun 2007
    Beiträge
    6

    Standard Re: [c#] Dateiauflistung & Ausgabe an Liste

    Zitat Zitat von sumisumi Beitrag anzeigen
    Der Codeschreiber scheint auch nicht der beste Programmierer zu sein ...
    Ich schau mir das mal später an, kann ja nicht so schwer sein.
    das will ich nicht beurteilen. ich weiß nur, dass er für ne firma arbeitet und nach seinen aussagen das prgramm "mal eben" gecodet hat.

    inwieweit er sich dabei mühe gegeben hat sieht ein fachmann eher als ich


    Zitat Zitat von dynaDE Beitrag anzeigen
    Stimmt.
    Eigentlich müsste man nur die (vollständigen) Pfade+Dateinamen speichern und auch verwenden.
    dafür wird ja im Step2 ein array eingerichtet, wenn ich das richtig sehe.
    und das scheint bei der auflistung ja auch zu klappen.



    Zitat Zitat von tras Beitrag anzeigen
    Der Übeltäter liegt in Step3 Zeile187 + 188:
    Code:
                DirectoryInfo diFromDir = new DirectoryInfo(@PathClient);
                DirectoryInfo[] diFromArr = diFromDir.GetDirectories();
    Hier wird einfach nur die oberste Ebene genommen. Also entweder das ganze rekursiv oder die Überladung von GetDirectories verwenden.
    aber bei Step2 scheint das dennoch zu funktionieren.
    zumindest was das listing angeht.


    Zitat Zitat von tras Beitrag anzeigen
    Wenn der bin32 Ordner nicht existiert, dann raucht das Programm mal locker flockig ab.
    Es gibt genau kein Error-Handling, Pfade werden von Hand zusammengebastelt, Variablennamen groß.
    Und das sind nur einige Dinge die mir jetzt aufs erste aufgefallen sind.
    das ist an sich nicht das problem, da im zielordner selbst der bin32-ordner vorhanden ist.

    ausserdem kommt n schnuckeliges kleines fehlerfenster, auf dem ich auf weiter drücken kann, wenn ich den ordner erstellt habe.

    da dieses programm der client selbst nie zu gesicht bekommt, ist die funktionalität vom prinzip her "nebensächlich" für den client.

    einzig für mich, um die patches zu erstellen. und was das betrifft weiß ich ja worauf es ankommt

    nun ist die frage: ist es denn möglich, das array aus step 2 bei der erstellung der archive mitzunehmen? (und eigentlich ist die frage sinnlos, da ich mir sicher bin dass das geht)
    nu is eben die frage, wie man das am besten macht.


    der code selbst muss nun nicht zwingend optimiert oder neu geschrieben werden. mir gehts in erster linie einfach nur darum, dass er seine arbeit fehlerlos macht, egal wie schlecht das programmiert ist.
    denn so gesehen bin ich froh überhaupt etwas zu haben. andernfalls stünde ich nämlich ohne irgendetwas da

  12. #12
    Mitglied
    Registriert seit
    Oct 2009
    Beiträge
    703

    Standard Re: [c#] Dateiauflistung & Ausgabe an Liste

    Da ich auf Dienstreise bin, hab ich leider nicht viel Zeit.

    Es funktioniert in Step2, weil er dort die Funktion zum lesen von Dateien & Verzeichnissen rekursiv durchläuft.

    Ich würde einfach die Werte aus dem ListView in eine Liste/Array packen und der compile Funktion übergeben und diese eben durchlaufen. Ist wohl am schnellsten so.

  13. #13
    Mitglied

    (Threadstarter)


    Registriert seit
    Jun 2007
    Beiträge
    6

    Standard Re: [c#] Dateiauflistung & Ausgabe an Liste

    auch auf die gefahr hin, blöd dazustehen: aber wie genau mach ich das mit c#?

  14. #14
    I ♥ Stringtheorie
    Registriert seit
    Aug 2011
    Beiträge
    601
    NewsPresso
    34 (Spezialist)

    Standard Re: [c#] Dateiauflistung & Ausgabe an Liste

    Zitat Zitat von dynaDE Beitrag anzeigen
    Ich würde einfach die Werte aus dem ListView in eine Liste/Array packen und der compile Funktion übergeben und diese eben durchlaufen. Ist wohl am schnellsten so.
    Er nimmt doch eine ArrayList...

    -> Programm ist echt umständlich. Bis ich mal mit F11 durch war

  15.  
     
     

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •