Archiv | Februar, 2010

[Update]Lösungsansätze für Lesen von Muster aus einer Textdatei

Nachdem ich vor kurzem mal auf mein Problem mit der COM-Programmierung hingewiesen habe und ein paar Anregungen bekommen habe, bin ich nun einen Schritt weiter.

1. Ich habe eine Möglichkeit gefunden den Text aus einer PDF mit dem Tool pdftotext in eine Textdatei umzuwandeln. Bei meiner Testpdf (die übrigens auch als Referenz für zukünftige Auftragsbestätigungen genommen werden kann) hat das super hingehauen.
Dazu genügt es einfach folgenden Code zu verwenden:

pdftotext -layout datei1.pdf ausgabe1.txt

2. Nun sind die ABs zwar in einer grafischen Logik dargestellt, aber mit dem Computer nur mühsam zu verarbeiten. Doch für was gibt es denn Reguläre Ausdrücke? Richtig um Muster zu finden. Die von mir benötigen Daten folgen glücklicherweise immer einem bestimmten Muster. Zum Beispiel ein Datum ist immer gleich aufgebaut und die Artikelnummern. Doch leider sind RegEx sehr schwer zu kapieren. Durch eine Googlesuche nach „Regex Generator“ bin ich auf diese tolle Seite gestoßen: txt2re
Sie mag auf den ersten Blick sehr verwirrend sein, doch auf den zweiten Blick ist es einfach nur genial. Man gibt oben eine Zeile ein und kann unten per Mausklick auswählen, welche Muster man verarbeiten möchte und das Ganze dann auch noch in einer von vielen verbreiteten Sprachen.

Den zweiten Punkt werde ich morgen noch ausführlich testen in VB.NET und dann hoffentlich endlich ein Ergebnis bekommen. Wenn ich dann diese Datei habe, wird ein Export nicht mehr allzu schwer werden.

3. Ich muss nun noch nach der Syntax zum Lesen einer Datei in VB.NET googlen und das schreiben in der Datei. In C und PHP wüsste ich es noch einigermaßen, aber grafisch aufbereitet ist das ja immer etwas anders.

//Update:
Nun hab ich es endlich auch geschafft, was zu coden:

Imports System.IO
Imports System.Text.RegularExpressions

Module Module1

    Dim objDateiMacher As StreamWriter
    Dim objDateiLeser As StreamReader
    Sub Pdf2Txt(ByVal pdfFile As String, ByVal txtFile As String)
        Dim arguments As String = "-layout" & " " & pdfFile & " " & txtFile
        'make sure to provide the path with the pdfFile and the txtFile
        System.Diagnostics.Process.Start("c:\xpdf\pdftotext.exe", arguments)
    End Sub
    Sub Main()
        Call Pdf2Txt("C:\xpdf\datei\eingabe.pdf", "C:\xpdf\datei\ausgabe.txt" )
        Dim txt As String
        objDateiLeser = New StreamReader("C:\xpdf\datei\ausgabe.txt" )

        Dim re1 As String = ".*?"           'Non-greedy match on filler
        Dim re2 As String = "(BL[0-9]{7})"    'Word 1
        Dim r As Regex = New Regex(re1 + re2, RegexOptions.IgnoreCase Or RegexOptions.Singleline)

        Do
            txt = objDateiLeser.ReadLine

            Dim m As Match = r.Match(txt)

            If (m.Success) Then
                Dim word1 As Group = m.Groups(1)

                Debug.WriteLine(word1.ToString)
            End If

        Loop Until objDateiLeser.EndOfStream

        objDateiLeser.Close()
        objDateiLeser = Nothing
        Console.ReadKey()
    End Sub

End Module

Nach ein paar Änderungen am Code dank diesem Forum hier, tut das Programm auch und der unten abgebildete Fehler ist endlich weg.

Doch nun hapert es noch ein bisschen an den Regulären Ausdrücken, doch Übung macht der Meister. Probieren geht über Studieren.

Cashy wird fit für einen guten Zweck

Cashy, der ja sonst viel über Computerdinge (genauer aber eigentlich Firefox Teile und Mac Programme) hat eine Aktion ins Leben gerufen um bei seiner eigenen Hochzeit wieder fit auszusehen und um seinen eigenen Schweinehund zu bekämpfen.
Eine Randfakten zur Aktion:
– Ab diesen Sonntag 7 Wochen (die CeBIT Woche zählt nicht mit) 3 mal in der Woche trainieren und sich während der gesamten Zeit nach einem Trainingsplan zu ernähren und bei McFit zu trainieren.
– Wenn Cashy es also schafft die 7 Wochen durchzuhalten spendet McFit am Ende der Aktion 5.000 (fünftausend) Euro an das Kinderprojekt Arche in Berlin-Hellersdorf
– 25 Leute bekommen auf Wunsch eine Freikarte für ein McFit in ihrer Nähe und können somit auch 6 Wochen lang umsonst trainieren. So hat man wieder gegenseitig Motivation sich fit zu halten.
– Cashys Arbeitgeber notebooksbilliger.de sponsert zudem noch eine Wii.

Das alles sind doch echt mal Knaller. Cashy hat die Möglichkeit seinen Schweinehund zu besiegen und sich fit zu machen und auch fit zu halten um bei seiner Hochzeit wieder fit zu auszuschaun und wir (also die gespannten Verfolger und Mitblogger) können auch noch davon profitieren. Sei es mit einer Freikarte im Fitness Studio der McFit Kette oder mit der Wii.

Ich hoffe Cashy nutzt diese Chance und drücke ihm hiermit alle Daumen und denke vielleicht das ein oder andere Mal an ihn und seine Aktion, wenn ich selber wieder was mache.
Mein Arbeitgeber hat ja schon seit Bestehen der Firma eine Kooperation mit dem örtlichen Fitnessstudio, damit die Mitarbeiter kostenlos dort trainieren können. Leider nutzen das nicht viel Leute, doch dank Toni nutze ich es zur Zeit wieder regelmäßig. Einmal in der Woche war zumindest meistens drin, in guten Zeiten aber auch zweimal und einmal schwimmen.
Doch das nächste McFit Studio wäre gar nicht mal sooo weit weg von mir: Klick Pforzheim eben. Drecksloch…

Über eine Wii würde ich mich natürlich tierisch freuen, die Freikarte hab ich aber nicht nötig, da ich schon eine eigene Möglichkeit habe.

Rosenmontag in Calw

Eigentlich bin ich ja nicht so der typische Narrenfan, einfach weil mir die Masken teilweise ein bisschen „Angst“ machen und zweitens riechen viele Leute immer nach Alkohol und benehmen sich oft daneben.
Doch ein Feuerwehrkamerad, der nebenher auch noch die Pfadfinder leitet, hat angefragt ob ich noch Lust hätte beim Nachtumzug mitzuhelfen. Da Agron auch mitgemacht hat, konnte ich nicht mehr Nein sagen und so hab ich dann eben den Abend im kalten Calw verbracht. Um 16:30Uhr waren wir unten und haben die Leute zur Kasse geschickt, bzw. rumgestanden und haben die Leute beobachtet. Gezwungen hab ich keinen, denn jeder soll selber entscheiden, ob er die Guggenmusik anhören bzw. die Hexen und Deifel und Bäume anschauen möchte. Der Eintritt von 2 Euro fand ich übrigens echt fair. Um 19Uhr ging dann der Umzug endlich los und wir hatten die (undankbare) Aufgabe die Leute auf den Seiten zu halten: „Bitte einen Schritt zurück. Danke! Bitte wieder zurück….“ Daher hab ich auch öfters mal einen Stempel oder sonstige Farbe an die Backe bekommen und ab und zu auch was Süßes. Doch es hat irgendwie auch Spaß gemacht. Besonders die Guggenmusik hatte was für sich. Die haben so altbekannte Klassiker wie Samba, Jack White’s Seven Nation Army und manche andere bekannte Lieder gespielt. Das war echt genial und hat dann auch Laune gemacht. Die ganzen Hästräger (Hexen, Teufel und Bachweiber) fand ich persönlich auch OK, aber nach der 3 Gruppe, die ähnlich aussah war die Luft raus… :D
Und das Ganze moderiert hat natürlich unser Schuldes. Den mag ich eigentlich ja nicht so, aber das ist was anderes. Bürgermeister haben es nie leicht. Jeder möchte was bzw. braucht was (Feuerwehr zum Beispiel eine neue Drehleiter) und das Geld der Stadt wächst ja auch nicht an Bäumen.

Gut, das war dann eben der Rosemontag in Calw. Ich persönlich fand es zeitweise ein bisschen kalt, doch durch die ständige Lauferei wurde es mir dann wieder recht schnell warm.
Morgen noch nen halben Tag schaffen und dann Feierabend. Wenn dann alles gut läuft, hab ich morgen abend endlich das tolle Video mit ner Stunde Material geschnitten.

Und als kleines Leckerli noch ein Video mit dem Titel „Sauna Sauna Sauna“:

Digitale Fakten schön aufbereitet

Cya @ CeBIT 2010 (Freitag 5. März bin ich dort)

Projekt Abnehmen – Woche 4

So nun ist wieder Sonntag, es hat wieder sehr toll geschneit diese Woche. Mein rechter Fußzehe tut unten ein bisschen weh, weil ich gestern in einen Nagel reingedappt bin und es wurde wieder Zeit für die wöchentliche Wiegezeit. Da ich gestern nach dem Renovieren und dem Wegbringen der Foto DVDs an die Skileute keinen Nerv mehr hatte wegzugehen konnte ich heute endlich mal wieder ausschlafen.
So gesehen bin ich heute morgen um 11Uhr30 richtig aufgestanden und habe mich gewogen. Die Waage zeigte 112,4 an. Mal wieder was mit 112, doch ich war froh, dass es so war. Es hat auch mal nach mehr ausgeschaut, da es eine relativ stressige Woche war und ich es so nicht richtig einschätzen konnte wie es wird mit dem Essen und so. :D
Gemacht habe ich diese Woche nicht viel. Montags im Fitnessstudio gewesen, aber sonst nichts mehr. Außer gestern noch alte Spanplatten rausgerissen um die Original Bodendiehlen vom zweiten Clou-Raum freizulegen. Trotz der vereinten Kräfte von 4 starken Männern haben wir den den halben Tag gebraucht. Und es sind ja gerade mal 3,90 auf 2,50 Meter. Doch unsere Vorgänger, die die Platten reingemacht haben, wollten nicht an Schrauben sparen. Durch den Kleber für den PVC Boden waren die Schrauben ziemlich gut zugedeckt, deshalb war es sehr anstrengend. Doch letzten Endes waren wir dann bis Mittags fertig und haben gemütlich nen Yufka gefuttert und nachmittags noch den Boden angeschliffen und abgeklebt, damit wir nächstes Mal mit Streichen anfangen können.

Doch nun wieder zum Gewicht:

Nach dem kleinen „Ausruhen“ letzte Woche geht es nun wieder bergab: -0,5KG

So langsam hab ich den Trick heraus. Viel Trinken, mich bewegen und abends nicht mehr viel Brot oder Nudeln essen. Süßigkeiten sind zwar noch dabei, auch deshalb weil im Geschäft da öfters mal was rumliegt… aber das hab ich auch wieder einigermaßen im Griff.