FileReadToArray mit Wordpad

  • Hallo zusammen,

    ich weis garnicht ob ich das Problem gerade gut beschreiben kann. Ich habe eine Datei im .dat format die dient einem Programm als Logfile. Ich würde gern herausfinden was das Programm alles und vorallem wann genau speichert und will daher die .dat mit Autoit überwachen und jedesmal wenn er einen neuen Eintrag bekommt soll eine msgbox mit dem letzten Eintrag erscheinen. Vom Programmablauf soweit kein Problem. Der Punkt ist folgender wenn ich die Datei mit dem Editor öffne bekomme ich nur nichtlesbare Zeichen. Wenn ich Sie in Wordpad öffne bekomme ich den Inhalt korrekt angezeigt.

    Jetzt wollte ich die Datei mit FileReadToArray auslesen. Da gibt es dann aber auch nur die wirren Zeichen.

    Kennt jemand eine Möglichkeit den Codec (oder wie auch immer das bei Wordpad heißt) über Autoit zu nutzen?? Wichtig ist, dass mein Programm im Hintergrund laufen soll.

    Besten Dank für die Mühe.

  • Hallo,

    vielen vielen Dank für die schnellen Antworten.

    _GUICtrlRichEdit_Create habe ich bislang noch garnicht genutzt. Werde ich mich gern mal reinlesen.

    Die Datei kann ich leider nicht hochladen. Zum einen enthält mir die Originaldatei zu viele Informationen über mein System als dass ich sie hier teilen möchte. Wenn ich die Datei abändere (sei es auch nur das ich sie in der Originalform nochmal speichere) dann tritt der Fehler nicht auf. Auch wenn ich ein beliebiges Zeichen in der Datei abändere oder lösche kann ich sie problemlos lesen. Das reicht aber für meinen Zweck leider nicht aus da ich sie automatisch überwachen möchte.

    Ich hänge mal das Bild von dem Arraydisplay an.

    Nochmal Danke für die schnellen Antworten. :)

  • Habe ich das richtig verstanden? Das heißt, wenn du die Originaldatei mit Wordpad öffnest und genau so wieder speicherst, lässt sie sich problemlos mit AutoIt verarbeiten? Dann tauchen keine chinesischen Schriftzeichen wie auf dem Bild auf?
    Falls die Antwort "Ja" lautet, hört sich das nicht nach einem exotischen Dateiformat an, sondern eher nach einer sonderbar kodierten TXT-Datei. Bei einem gänzlich anderen Dateiformat sollten AutoIt und der Editor nämlich auch nach diversen "Korrekturen" durch Wordpad nicht mit der Datei klarkommen, da dieses das Format eigentlich nicht ändert.

    Vielleicht könnte man hier mit StringToBinary und BinaryToString ein wenig mit den Kodierungen rumjonglieren, wenn meine Vermutung stimmen sollte.

  • Jetzt wollte ich die Datei mit FileReadToArray auslesen.

    Wieso öffnest du die Datei nicht "normal" mittels FileOpen (alle Parameter beachtet/probiert?!) statt über den Dateinamen?

    Vom Programmablauf soweit kein Problem.

    Offensichtlich doch, s. oben....
    Du bist ja nicht mal in der Lage, (d)ein (Minimal)Script zu zeigen, Angaben über das Programm welches das Logfile erstellt zu machen, oder auch nur die ersten 100 Bytes des *.dat-Files zu posten und erwartest ernsthaft, dass dir hier jemand hilft bzw. DEIN Problem löst?
    Ich jedenfalls habe absolut keine Lust, dir Würmer aus der Nase zu ziehen und nachzufragen was du alles schon gemacht/nicht gemacht hast! Und eins ist sicher, 90% der Forenmitglieder mit Ahnung vom Thema haben dazu auch keine Lust!

    Nur mal zum Verständnis, die "Lösung" deines Problems ist sehr einfach und wäre sicher in der ersten Antwort erledigt gewesen! Allerdings macht sich hier niemand die Mühe die Lösung zu posten wenn du dir nicht mal die Mühe machst, grundlegende Informationen bereitzustellen.
    Also fang an, problemlösungsorientiert zu arbeiten, DU willst schließlich etwas von uns!

  • @chesstiger

    Danke für den neuen Input. Entschuldige wenn ich mich da etwas zu undeutlich ausgedrückt habe. Ja ich kann es einfach erneut speichern, dann mit dem Editor oder Autoit öffnen und das Problem tritt nicht erneut auf.


    @Andy

    Als Psychologe finde ich es höchst faszinierend wie viel Zeit du aufwendest um mir mitzuteilen, dass du keine Zeit aufwenden möchtest. Auch die Projektion ist interessant. Wenn Interesse deinerseits besteht biete ich mich gern einmal an dies zu thematisieren, natürlich vertraulich. Nun aber zurück zum Thema. Wenn dir mein Script hilft hänge ich es gern unten an. Mehr Informationen kann ich leider nicht anbieten. Ich kann, wie bereits erwähnt die Datei nicht hochladen, da sie zu viele pikante Daten enthält. Beim Programm handelt es sich um ein durch eine externes IT Unternehmen speziell für mein Unternehmen angefertigtes Datenspeicher- und Verarbeitungssystem(explizit Privat- und Wirtschaftskunden). Dieses lagert anteilig Daten der Kunden in das Logfile aus. Ich möchte nun herausfinden ob es das kontinuierlich oder nur bei speziellen Aktionen im Programm tut.

    Hier mein Script:


    #include <Array.au3>
    #include <File.au3>
    #include <MsgBoxConstants.au3>

    Local $aRetArray
    _FilereadtoArray("LogFile.dat", $aRetArray)


    Und noch eine kleine Bitte an Andy und gleichgesinnte. Wenn du/ihr nicht über entsprechende Kompetenz oder über entsprechendes Interesse verfügt mir einen neuen Input zu geben ist es nicht relevant dies darzustellen. Ich denke dafür ist unser aller Zeit zu kostbar. Danke :) .

    • Offizieller Beitrag

    Was erwartest Du eigentlich von uns? Wahrsagerei?
    Ohne das Datenformat zu kennen, kann man nicht sagen, was da verkehrt läuft.
    Du willst uns keine (Beispiel-)Daten zur Verfügung stellen und erwartest trotzdem eine Lösung?
    Oder ist das ein psychologischer Test?
    Wie wäre es mit dieser Lösung: Du fragst einfach das beauftragte IT-Unternehmen?

    • Offizieller Beitrag

    Als Psychologe finde ich es höchst faszinierend wie viel Zeit du aufwendest um mir mitzuteilen, dass du keine Zeit aufwenden möchtest. Auch die Projektion ist interessant. Wenn Interesse deinerseits besteht biete ich mich gern einmal an dies zu thematisieren

    You made my day! :rofl:

    ..aber zurück zum Thema. Vielleicht solltest du einfach mal die Postings der User lesen, bevor du dich in subtilen psychologischen Erörterungen verlierst.
    Es gibt hier im Forum mehrere Threads, die sich mit dem richtigen Posten befassen (u.a. hier). Beispieldaten, Vorher-/Nachher-Situation sind ein absolutes Muß um eine Problematik nachvollziehen zu können. Ebenso sollte ein erstes, lauffähiges Skript dabei sein, das die Problematik bzw. die versuchte Lösung abbildet.

  • Als Psychologe finde ich es höchst faszinierend

    Wenn du als Psychologe genau so eine Pfeife bist, wie als Fragesteller, dann solltest du dir dringend ein neues Beschäftigungsfeld suchen, so wird das definitiv nix!
    Und das ist jetzt ganz und gar nicht sarkastisch oder polemisch gemeint, sondern eher konsterniert...
    Ein Psychologe, der nicht mal weiß, wie er Fragen zu stellen hat, DAS lässt den Glauben an diese Zunft in mir noch weiter sinken.


    Auch die Projektion ist interessant.

    hmmm...hier wird nicht projeziert, hier wird größtenteils versucht, problemorientiert und professionell zu arbeiten. Projezieren kannst du gerne in deiner Freizeit bzw. bei der Arbeit, ich mache das aus Zeitnot weder auf der Arbeit, noch in meiner wenigen Freizeit! Du stellst eine Frage, du bekommst die dazu passende Antwort. Nicht mehr und nicht weniger.

    Wenn du weiterhin in problemlösungsorientierten Foren nach Lösungen suchen solltest, lies dir den verlinkten Inhalt in meiner Signatur "wie man Fragen richtig stellt" durch. Das öffnet dir die Augen, wie die meisten hier "ticken"!


    Beim Programm handelt es sich um ein durch eine externes IT Unternehmen speziell für mein Unternehmen angefertigtes Datenspeicher- und Verarbeitungssystem

    Als ich das gelesen hatte, musste ich lachen. Wirklich! Dieses IT-Unternehmen musst du ja ganz schön geärgert haben, dass sie dir nicht mal telefonisch mitteilen, in welcher UTF-Kodierung ihre Textdatei vorliegt!


    Wenn du/ihr nicht über entsprechende Kompetenz oder über entsprechendes Interesse verfügt

    Ich habe dir im ersten Satz meines Postings einen Lösungsansatz gegeben! Wieso hast du diesen nicht umgesetzt?
    FileOpen() mit diversen Parametern, da ich davon ausgehe, dass ein einfaches UTF8/UTF16-Dekodierungs-"Problem" vorliegt. Dies ist in der Hilfe zu FileReadToArray() entsprechend dokumentiert.
    Woher ich wußte, dass du FileReadToArray() nicht mit dem FileOpen-Handle, sondern mit dem Dateinamen als Parameter verwendest ohne das Script gesehen zu haben? DAS hat mit Kompetenz zu tun...


    Ich denke dafür ist unser aller Zeit zu kostbar.

    Sehe ich nicht so. Ich (und auch andere Forenmitglieder) habe(n) trotz deiner unprofessionellen Fragestellung eine hilfreiche Antwort mit einigen Lösungsmöglichkeiten gepostet. Auf KEINE davon bist du eingegangen! Das ist für mich ein Zeichen von Lernresistenz und Ignoranz gegenüber den Leistungen von Helfern!

    Statt hier weiterzumachen, leg ich mich lieber auf die Couch.
    Couch, Couch...da war doch was ...Psychologe.....nein, jetzt ist Schluss 8o