Divis Blog

Just another geeks blog.

ICQ Open Xtraz schreiben

clock Januar 15, 2009 08:04 by author Divi

Als ich vor einigen Tagen las, dass ICQ 6.5 erschienen ist, war ich zuerst nicht sehr beeindruckt ... verschiedene Fehler, Abstürze und die nervigen Kleinigkeiten hatten mir die Vorgängerversion madig gemacht. Eigentlich hatte ich mir nach dem letzten unbegründeten Absturz geschworen nie wieder ICQ zu verwenden, doch da ich diesem Vorsatz schon das eine oder andere Mal eher versehentlich gebrochen hatte, als ich das noch herumliegende Schnellstart-Icon anklickte, dachte ich mir, dass ich mir die neue Version zumindest einmal ansehen sollte... Das einzige besondere hieran schien allerdings die "Open Xtraz"-Kampagne zu sein:

clip_image002

Ich war also quasi schon wieder in Begriff die Seite zu verlassen, doch irgendwie reizte mich mir zumindest einmal anzuschauen, was sich hinter den Open Xtraz verbarg. Also schaute ich in die Developers Zone und wurde bitter enttäuscht... rund 10 Forumseinträge und nur rudimentäre Anleitungen zu den Xtraz waren nicht gerade was ich mir erhofft hatte. Aber wenigstens gab es eine Liste mit Schritten, die zu befolgen waren, wenn man sein eigenes Xtra entwickeln wollte:

1.) Open Xtraz Developer Tool runterladen

2.) Open Xtraz Template runterladen

3.) Entwickeln und testen

4.) Xtra in die Galerie hochladen

Klingt doch recht einfach - also lud ich mir das DevTool herunter und klickte auf den Link, um das Template herunterzuladen. Das wollte aber nicht auf meinen Rechner wandern, so lange ICQ 6.5 nicht installiert war, also erklärte ich mich auch zu diesem Download bereit.

Nachdem alles installiert war, öffnete ich zuerst den Bildschirm "Meine Xtraz". Dieser war zu dem entsprechenden Zeitraum noch leer. Darum klickte ich auf "Eigenes Xtra erstellen" (rechts unten).

clip_image004

Das öffnete mir aber nicht, wie erwartet, das Entwickler-Tool, sondern brachte mich lediglich wieder auf die Seite der "Developer Zone". Hier musste ich dann auf den entsprechenden Link "Template runterladen" klicken, was ICQ dazu veranlasste ein Verzeichnis auf meiner Platte zu erstellen. Darin zu finden waren zwei Ordner namens "content" und "theme" und einige Konfigurationsdateien. Insgesamt erinnerte mich der Aufbau stark an die Packages, die man für Firefox-Erweiterungen erstellen kann. In einem weiteren Unterordner im Themes Ordner befinden sich die Dateien für die Icons (ICQ besteht übrigens darauf die Namen dieser Dateien nicht zu ändern) - und im "content" Ordner befinden sich eine Javascript-, eine HTML- und mehrere Bilddateien.

Alles in Allem sieht der Inhalt beim Aufruf über die "Meine Xtraz"-Seite ungefähr wie folgt aus:

clip_image006

Hier erkennen wir auch den Grund dafür, dass wir jedes Mal ein neues Template herunterladen müssen - ICQ scheint auf diesem Weg die ID des Templates hochzuzählen ... ob man das nicht auch beim Upload des Xtraz in die Galerie hätte machen können?

Naja - auf jeden Fall wissen wir jetzt, dass es sich nur um HTML und Javascript handelt. Also schauen wir doch mal ins "Developer Tool" ... Ihr ahnt es bereits:

clip_image008

Auch hier ist nicht viel zu holen - statt einer Entwicklungsumgebung oder zumindest etwas, was einem dabei Hilfestellung geben könnte, findet man hier nur eine Oberfläche, um die Meta-Daten des Projekts zu editieren. Einstellbar sind hier unter anderem der Name und die Beschreibung des Projekts, sowie die gewünschte Größe des Fensters, in dem das Xtra angezeigt werden soll.

In der Mitte finden sich dann zwei Radio-Buttons, die darüber entscheiden, wo sich das Projekt befindet ... Der obere Radio-Button (Standard) zeigt einfach auf das Verzeichnis, in das euer Xtra-Template geladen wurde - der untere Radio-Button (und das könnte ganz interessant sein) zeigt auf eine Web-Adresse. Das bedeutet, dass man interaktiven Inhalt z.B. auf seinem eigenen Server hosten könnte - z.B.: um ein Spielchen mit dahinterliegender Datenbank zu erstellen.

Die Verzeichnisse darunter sind eher zu eurer Information, als zu sinnvollen Aktionen nötig - und zwar helfen Sie euch im Jungle von ICQ die Template-Verzeichnisse zu finden :-). Ganz unten ist dann noch ein Link, der ein Zip-Archiv aus dem ganzen Ordner erstellt - und das wäre es schon mit dem "Developer Tool".

Also schauen wir uns doch einmal die Dateien im Ordner selbst an.

Die HTML-Datei:

Die HTML-Datei bindet die mitgelieferte func.js und eine auf dem ICQ-Server liegende Javascript-Datei ein, die die API enthält. Der Rest der Datei ist eigentlich nur CSS und HTML, der in dem oben gezeigten Screenshot resultiert.

Die JS-Datei:

In der JS Datei findet sich als erstes folgende Zeile:

var icqConnector = XtrazConnector.getIcqConnector();

Hierbei wird das XtrazConnector-Objekt der API verwendet, um den sog. IcqConnector zu initialisieren. Sollte man einen Debugger wie z.B. das Visual Studio zur Verfügung haben, so reicht das einfache Schlüsselwort "debugger" schon als erste Zeile in die init Methode eingefügt, und schon entblößt sich der sog. Connector vor uns:

clip_image010

Beim ersten Hineinblicken in diese Oberfläche musste ich doch einmal herzhaft lachen - hatte ich nicht eben noch gelesen, dass die JS Datei, die auf dem ICQ-Server liegt "open_xtraz_wrapper_1.js" heißt? Warum sind wir dann hier schon in ApiVersion 2? ;-) ... naja - Kleinigkeiten ;-D.

Auf jeden Fall sehen wir hier eine grobe Übersicht über die Funktionen, die die Xtraz API bietet. Wir können Alerts erstellen (das sind dann diese kleinen Fenster die rechts über der SysTray auftauchen) und eine Nachricht dorthin übergeben... der Versuch damit zu debuggen stellte sich allerdings als ziemlich nervig heraus, da ich mich selber mit Alerts nur so überflutete und jedes einzelne wegklicken musste ;-).

Eine andere Methode ist z.B. GetUserList(). Diese liefert uns folgendes Objekt:

clip_image012

Hierbei war ich zuerst ein wenig überfordert, denn ich dachte ich könnte auf die Properties des Objekts via Index zugreifen - dies wurde mir jedoch verwehrt. Hätte ich ein wenig früher in die Dokumentation geschaut (die übrigens nicht erklärt wie es geht) hätte ich mir vielleicht ein wenig Suche erspart, denn bei der Methode GetGroupList() wird via Group(idx) auf die Items zugegriffen und so funktioniert es auch hier ... wir können also einfach eine Schleife über "Count" machen und jeweils via Item(idx) darauf zugreifen:

var users = icqConnector.getUserList();

for (var i = 0; i < users.Count; i++)
{
    var user = users.Item(i);
}

 

Die User Objekte bieten dann die Informationen, die eure Kontakte eingegeben haben - das bedeutet ich hatte in allen Fällen zwar den Nickname der Person zur Hand aber nur äußerst selten echte Namen. Doch das Geburtsdatum war sehr oft ausgefüllt und so beschloss ich eine Geburtstagsliste zum Test zu schreiben. Nach einigen Versuchen sah diese wie folgt aus:

clip_image014

Die Scrollbar musste ich dabei selber einfügen, aber das war schnell bewerkstelligt, da ich aus dem "Developer Tool" ja die fixe Höhe des Fensters kannte und nur ein DIV mit overflow:auto darum zu ziehen brauchte. Natürlich habe ich noch eine kleine Überschrift, sowie einen Link zu meiner Seite eingefügt - aber das war es dann auch schon. Interessant fand ich bei den Arbeiten mit dieser Ansicht übrigens, dass mir ICQ einen Javascript-Fehler warf, als ich versuchte mit innerHTML eine Tabelle zu füllen - aus diesem Grund besteht die obige Auflistung ausschließlich aus floating-DIVs.

Einmal kurz getestet, ob alles funktionierte - und schon konnte es ans Uploaden des Xtraz gehen. Dachteste ... :-D ... Als ich das Projekt hochladen wollte, bekam ich die Meldung dass meine Email-Adresse nicht verifiziert sei ... ok - aus sicherheitsgründen sollten die so etwas machen, damit man kein Schindluder damit treiben konnte ... Aber: Auch nach der Bestätigung meiner Email-Adresse (und ICQ selbst hatte den Link "verifizieren" ausgeblendet), erhielt ich immer noch die Fehlermeldung. Also suchte ich via Google nach einer Lösung für das Problem und fand einen anderen Entwickler, der sagte, dass es bei ihm auch nicht geklappt hätte, bis er sich einen neuen ICQ Account angelegt hätte - widerwillig tat ich dies und wurde ... NICHT ... belohnt ... auch mit dem neuen Account klappte es nicht - also versuchte ich ICQ neuzustarten - und siehe da - ich schaffte es eine Version hochzuladen ...

Da ich aber weder in meinem "My Dev" Bereich auf icq.com noch sonst irgendwo einen Hinweis darauf fand, dass es auch wirklich geklappt hatte, postete ich eien Beschwerde an ICQ, dass irgendwas nicht klappte - und seit ich ein weiteres Mal den Zweitaccount versucht hatte, konnte ich mich mit beiden nicht mal mehr auf der Seite einloggen ...

Mittlerweile habe ich eine Mail von ICQ bekommen ... In dieser steht, dass mein Xtra nicht den Vorgaben entspricht ... Grund: Ich habe kein eigenes Icon... verdammt - also - Icon erstellt und versucht erneut hochzuladen ... offensichtlich haben sie sich meine Beschwerde zu herzen genommen, denn nun steht dort nicht mehr "Mail address not verified" sondern schlicht:

clip_image016

"Upload failed" ... Upload fehlgeschlagen - ohne Begründung - ohne Beschreibung - nichts was darauf hindeutet, dass etwas nicht geklappt hat - ich behaupte ja mal, dass sie einfach die Fehlermeldung verdeckt haben, damit die User nicht sehen, dass sie ihr eigenes System nicht im Griff haben - und in Wirklichkeit steht dort bestimmt immer noch "Mail address not verified".

Fazit:

Ich finde die Idee mit den Open Xtraz echt sehr sehr nett ... ich glaube da könnte man bei einer Netzwerkgröße wie ICQ fast schon einen zweiten AppStore wie von Apple draus machen - aber ich finde sie haben unglaublich Mist bei der Umsetzung gebaut - und ich habe schon so oft vor Wut auf meine Tischplatte eingeschlagen, während ich immer wieder rausflog, vergeblich versuchte mich anzumelden oder Fehler beim Upload bekam, dass ich fast schon keine Lust mehr habe mich damit zu beschäftigen ... Aufruf an ICQ: Behebt die verdammten Fehler - Oder seit nicht so kleinkarriert, dass ihr mir den einzigen erfolgreichen Upload in vier Tagen mit den Worten "Du musst ein eigenes Icon erstellen" zurückschickt. DANKE!

Falls jemand angeregt genug ist sich damit zu beschäftigen und sich nicht von meiner Genervtheit hat anstecken lassen, findet Ihr hier die Referenz der API. Ich wünsche euch viel Spaß beim Bau eures Projekts - es macht Spaß - ihr werdet euch nur mit dem Upload schwer tun ;-)

[Update]

Ca. 3-4 Tage nach meiner zweiten Beschwerde teilte mir ICQ mit, dass sie den Fehler erkannt und behoben haben. Mittlerweile wurde die Geburtstagsliste rund 10.000 Mal runtergeladen. Die Seite in der Galerie findet ihr hier. Mittlerweile funktioniert alles bestens und ich bin froh darüber, dass ICQ die Probleme beheben konnte. Eine Warnung möchte ich euch allerdings noch mit auf den Weg geben. Wenn ihr Alternativ-Clients für das ICQ Netzwerk verwendet, werdet ihr bestimmt genau wie ich bald von Bots genervt werden, die versuchen Kontakt mit euch aufzunehmen. Ich hatte täglich 4-5 Kontaktanfragen von irgendwelchen russischen Accounts. (Und ja - ich habe sogar mal versucht zu antworten, um herauszufinden, ob es sich nicht doch um Interessierte handelt ;-D). Wenn ihr ICQ selbst verwendet, könnt ihr einstellen, dass ihr keine Nachrichten von Leuten außerhalb eurer Kontaktliste haben wollt. Bei ICQ funktioniert das. Bei Trillian scheint dem nicht so zu sein (soweit meine Erfahrung).

Bewertung: 4.0 von 1 Benutzern

  • Currently 4/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5


Twitter ist ne nette Sache

clock Oktober 12, 2008 00:25 by author Divi

Ich war gerade dabei das Menü meines Blogs wiederherzustellen, da die Projektlinks und auch der Sprachwechsel nicht mehr angezeigt wurden. Dabei habe ich festgestellt, dass die BlogEngine ein eigenes Widget für Twitter hat.

Was ist Twitter?

Twitter ist eine Seite, auf der man einen kurzen Text (quasi in der Länge einer SMS) hinterlassen kann, um seinen Freunden mitzuteilen, was man gerade macht. Andere können sich dann registrieren, um immer auf dem aktuellen Stand gehalten zu werden. Quasi eine kostenlose Massen-SMS mit Anmeldung.

image

Wie ich Twitter finde?

Ich denke Twitter ist eine sehr nette Idee, die relativ schnell aufgehen kann. Das Problem an Twitter ist jedoch, dass die Leute, denen man etwas mitteilen will, auch daran interessiert sind etwas mitgeteilt zu bekommen. Das bedeutet - wenn niemand sich anschaut, was ihr schreibt, wird es auch nie jemand erfahren.

Wenn man also engagierte Freunde hat, die daran interessiert sind zu erfahren, was ihr den lieben langen Tag so treibt, dann ist Twitter auf jeden Fall eine sehr interessante Sache - wenn nicht - sollte man zumindest mal gehört haben, worum es geht, kann sich aber die Mühe sparen selber Texte zu verfassen.

Ein nettes Gimmick ist übrigens, dass man seine Nachrichten auch auf privat stellen kann. Danach müssen alle Leute vor dem Abonnieren des Feeds erst um eure Erlaubnis bitten.

Twitter-Widget

Eigentlich hatte ich vor der BlogEngine das selber beizubringen, denn Twitter stellt für jeden Benutzer einen RSS Feed mit dessen Nachrichten zur Verfügung, den man relativ einfach auslesen und über einen "limit"-Parameter sogar direkt schon so begrenzen kann, dass der Traffic nicht überhand nimmt. Netterweise habe ich allerdings, wie bereits oben geschrieben, feststellen dürfen, dass die BlogEngine bereits ein Tool besitzt, mit dem man lediglich seine Twitter-Daten (nur Adresse und RSS Feed) angeben muss und schon kümmert sich das Tool ums Auslesen.

Twhirl

Da es manchmal etwas nervig sein kann sich für jedes Update auf Twitter.com anzumelden, gibt es zahlreiche Tools, die man als Desktop-Anwendung ausführen kann und die einem dann die Anmeldung abnehmen und sogar direkt eine Liste der Twitter-Nachrichten seiner Freunde präsentieren. Eines der Tools, das leider nicht auf twitter.com selbst unter den Downloads geführt wird ist Twhirl. Twhirl ist ein Desktop-Client für Twitter, der auf Adobe Air basiert. Dies erfordert zwar, dass man Adobe Air installiert hat, aber sowohl die Air-, als auch die Twhirl-Installation laufen quasi selbstständig ab. Ist Twhirl erst installiert, erhält man folgend Listenansicht, für die man außerdem aus einer gut gefüllten Liste an Skins wählen kann:

image

 

Zusammenfassend:

Eine sehr nette Idee für Mitteilsamme, jedoch muss sowohl die Nerven haben die Einträge gut zu pflegen, als auch Leute, die gewillt sind sich ebenfalls dafür zu interessieren - sonst ist Twitter genau wie ein Instant-Messenger ohne Kontakte ;-).

Bewertung: 5.0 von 1 Benutzern

  • Currently 5/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5


Neue Blog-Version aufgespielt

clock September 21, 2008 22:41 by author Divi

Nachdem ich den Blog schon eine kleine Weile habe schleifen lassen, habe ich mir nun die Mühe gemacht die Version der Blogengine 1.3.x durch 1.4.5 zu ersetzen. Wie man sehen kann, fehlen noch die ein oder anderen Texte, aber darum kümmere ich mich kurzfristig. Das Layout hat sich allerdings geändert, was an den neuen mitgelieferten Standardlayouts liegt. Das alte Layout hat zwar ebenfalls funktioniert, temporär möchte ich aber schauen, wie ich mit diesem auskomme.

Ich hoffe nach diesem kleinen Update mich auch wieder öfters hierauf konzentrieren zu können.

Einen schönen Abend noch.

Gib die erste Bewertung ab

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5


Viel zu tun!

clock Juli 20, 2008 22:21 by author Divi

Seit einiger Weile hatte ich keine Zeit mehr hier Texte zu verfassen, doch da ich gerade ein wenig Verschnaufpause habe und sich einiges getan hat, dachte ich, ich könnte mal eine kurze Zusammenfassung abliefern:

Die Sache, die die meiste meiner Zeit auffraß in letzter Zeit war die Microsoft Prüfung 70-536: "Microsoft .NET Framework - Application Development Foundation". Nachdem ich bereits meine ganze Zeit in das Lernen für den ersten Versuch investiert hatte, musste ich mangels genügend Punkten einen zweiten Anlauf auf mich nehmen, den ich dann aber bestanden habe.

Natürlich bedeutete das Bestehen der Prüfung nicht, dass ich mehr Zeit hatte, denn die angestauten Aufgaben wollten natürlich abgearbeitet werden. Einige der privaten Projekte waren folgende:

 

Pixelkämpferin - alias Jessika Wollstein

image

Eine gute Freundin von mir, die ihre Künste als Grafikerin anpreisen möchte. An dieser Seite habe ich gerne gebastelt, weil ich ein wenig Spielereien ausprobieren konnte. Unter anderen eine volle Konfigurierbarkeit mit automatischem einlesen der Icons für alle Bereiche und eine nette Idee mit einem diagonalen Menü, bei der mir aber keine andere Idee kam als eine Image-Map zu verwenden, an die ich dann MouseOver Effekte gebunden habe.

 

Spielefinder.Net

image

Auf einer abendlichen Feier unterhielt ich mich mit dem Bruder meiner Freundin und ich fragte ihn, was man denn noch für kleine Tools basteln könnte, die es im Web nicht gibt. Irgendwann im Gesprächsverlauf über die verschiedensten Ideen, brachte er mich darauf, dass es zwar viele Spieledatenbanken gibt, keine davon aber erlaubte nach der eigenen Hardware zu suchen. Darum brachte ich vor knapp einer Woche eine Webseite online, die in der Lage ist gespeicherte Spieldaten in einer eigenen Datenbank nach der gewählten Hardware zu durchsuchen. Außerdem steht die Möglichkeit bereit über Slider (übrigens aus dem ASP.Net Ajax Toolkit stammend) eine Toleranz zu definiere, falls man sich gerne seinen Rechner aufrüsten würde, damit das Spiel bei einem läuft.

 

Codeplex - DownloadCounter

Und zu guter letzt: Ich habe heute auf Codeplex ein neues Projekt eingestellt namens "DownloadCounter". Momentan besteht es nur aus einer ganz einfach gestrickten Assembly und einem Demo-Projekt. Ich kam darauf, als mich der Freund meiner Schwester bat für ihn ein paar Dateien zum Download anzubieten, denn ich wollte ihm gerne die Möglichkeit bieten die Downloads der Musikstücke (er ist ein kleiner Hip-Hopper) nachzuhalten, um seinen Erfolg messen zu können. Und da ich bereits öfters Download-Counter geschrieben habe, dachte ich mir - ich könnte doch mal unter .Net einen bauen, den man wiederverwenden könnte - und damit das Projekt sich stetig verbessern kann, hoffe ich nun darauf, dass einige User sich das Projekt anschauen und ggf. mit Verbesserungswünschen an mich herantreten.

Bewertung: 2.0 von 1 Benutzern

  • Currently 2/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5


Verschiedenes 20080406

clock April 6, 2008 15:28 by author Divi

In letzter Zeit kam ich nicht oft dazu an dem Blog oder privaten Seiten zu arbeiten, da die Arbeit (glücklicherweise) viele Aufträge zu bieten hatte, die (leider) immer recht straff geplant waren.

Um kein größeres Thema hier aufzumachen, an dem ich dann länger schreiben würde und dass dann ggf. nicht so sauber abgehandelt werden würde, wie ich das gerne hätte, hab ich mir vorgenommen wenigstens die letzten Tools, die mir im Alltag über den Weg gelaufen sind hier vorzustellen:

 

VSO DivxToDVD

Die Tage wurde ich gebeten ein im Internet sehr umstrittenes Video auf DVD verfügbar zu machen, da einer meiner Bekannten keinen Computer hatte, um ins Internet zu gehen, geschweige denn sich das heruntergeladene DivX Video anzuschauen. Nach einigen Versuchen mit Software, die mehr schlecht als Recht war, führte mich Google auf die Seite von Softonic, wo ich den VSO DivxToDVD Converter 0.5.2.99 fand. Ein sehr cooles Tool, einfach gehalten und auch noch kostenlos:

image

Als ich mich nach einem Update beim Hersteller umschauen wollte, fand ich heraus, dass (zu meinem Bedauern) das nette kleine (und vor allem kostenlose ;-D) Tool mittlerweile kostenpflichtig geworden ist. Ich find gut, dass VSO sich dazu entschlossen hat, dieses Programm professionell zu vermarkten, denn ich finde, dass das Programm echt gut ist, aber natürlich habe ich keine Lust für eine einfache Konvertierung ab und an Geld auszugeben. Das Programm heißt mittlerweile ConvertXToDVD und kostet rund 40€.

(Hinweis: Softonic hat aber immer noch den Link zur alten, kostenfreien Version).

 

SDP Multimedia

Während der Suche nach einem Problem, fand ich letzte Woche zufällig einen Webcast, den ich mir gerne angeschaut hätte, der aber keinen direkten Downloadlink hatte. Er schien mir einige gute Infos zu enthalten, aber war einfach zu lang, um ihn mir mal kurz nebenbei anzuschauen. Darum versuchte ich ihn auf verschiedene Weisen runterzuladen, was allerdings nicht klappte, bis ich den Streamripper SDP Multimedia fand.

image

Er ist zwar ein wenig langsam im Download (oder vielleicht war das auch der Streaming-Server :-D), aber auf jeden Fall wiederum kostenlos.

Man braucht lediglich einen Stream über das MMS Protokoll angeben, und schon wandert das Video auf die Platte.

 

FileSystemWatcher

Nachdem wir bei uns auf der Arbeit schon seit längerer Zeit VisualCron verwenden, um unsere Dateibasierten-Cronjobs aufzusetzen, musste ich neulich feststellen, dass beim .Net Framework ebenfalls eine Hilfsklasse zu diesem Zweck vorhanden ist: System.IO.FileSystemWatcher.

Dieses Objekt erlaubt es das Dateisystem zu beobachten und auf bestimmte Änderungen zu reagieren. Dazu muss man lediglich das Objekt instanziieren, das Verzeichnis, welches es zu überwachen gilt nennen, (auf Wunsch eine Maske (z.B. nur .cs-Dateien) definieren und dem Objekt sagen, dass es die Überwachung starten soll:

 

System.IO.FileSystemWatcher fsWatcher = new System.IO.FileSystemWatcher();

fsWatcher.Path = @"C:\fsWatcherTest";
fsWatcher.Created += new System.IO.FileSystemEventHandler(FileCreated);
fsWatcher.WaitForChanged(System.IO.WatcherChangeTypes.Created);

 

Mit diesem Code würde der FileSystemWatcher auf das Erstellen von genau einer Datei warten und dann die Methode FileCreated aufrufen. Um auch Umbenennungen zu reagieren und zwar nicht nur einmal, sondern mehrfach, habe ich das Programm folgendermaßen erweitert:

 

class Program
{
    static void Main(string[] args)
    {
        System.IO.FileSystemWatcher fsWatcher = new System.IO.FileSystemWatcher();

        fsWatcher.Path = @"C:\fsWatcherTest";
        fsWatcher.Created += new System.IO.FileSystemEventHandler(FileCreated);
        fsWatcher.Renamed += new System.IO.RenamedEventHandler(FileRenamed);

        while (true)
        {
            fsWatcher.WaitForChanged(System.IO.WatcherChangeTypes.Created);
            fsWatcher.WaitForChanged(System.IO.WatcherChangeTypes.Renamed);
        }
    }

    static void FileCreated(object sender, System.IO.FileSystemEventArgs e)
    {
        Console.WriteLine(String.Format("File Created: {0}", e.FullPath));
    }

    static void FileRenamed(object sender, System.IO.RenamedEventArgs e)
    {
        Console.WriteLine("---");
        Console.WriteLine("File Renamed:");
        Console.WriteLine(String.Format("Old path: {0}", e.OldFullPath));
        Console.WriteLine(String.Format("Old name: {0}", e.OldName));
        Console.WriteLine(String.Format("New path: {0}", e.FullPath));
        Console.WriteLine(String.Format("New name: {0}", e.Name));
        Console.WriteLine("---");
    }
}

 

Folgende Schritte habe ich danach gemacht:

1.) Das Programm gestartet.

2.) Eine Textdatei in dem Ordner erstellt.

3.) Diese Textdatei umbenannt.

Dabei entstand folgende Ausgabe:

image

 

Interessant dabei: Wenn ich eine neue Datei unter Vista via Rechtsklick erstelle, dann erscheint die Datei in dem Verzeichnis und der Name (ohne Dateiendung) wird markiert, damit ich den Namen direkt ändern kann. Wie ich es gerade in diesem Satz beschrieben habe, wird die Datei wirklich zuerst erstellt und dann nachträglich geändert (was auch in der Anwendung oben zu sehen ist). Also passt auf, denn die Datei könnte nach dem Erstellen evtl. noch nicht den finalen Namen haben.

Gib die erste Bewertung ab

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5


Kostenloser PDF-Printer von Bullzip

clock Februar 22, 2008 19:25 by author Divi

In den letzten Wochen wurde ich vermehrt danach gefragt, ob ich eine Möglichkeit kennen würde, wie man am einfachsten Word-Dateien zu PDF-Dokumenten konvertieren könnte. Daraufhin fielen mir im Normalfall die folgenden Möglichkeiten ein:

- OpenOffice bietet die Möglichkeit als PDF zu speichern

- Das Office 2007 Plugin "Save as PDF" (setzt allerdings Office 2007 voraus)

- Der Acrobat Distiller (Teil des kostenpflichtigen Acrobats von Adobe)

 

Ab und an habe ich mir sogar die Mühe gemacht nach gerade aktuellen Tools zu suchen, jedoch war meine Standardempfehlung, für die Leute, die kein Office 2007 haben, sich einfach OpenOffice zu installieren.

 

Seit heute wäre für Leute, die kein Office 2007 haben, denn das Plugin find ich einfach klasse, der "PDF Printer" von Bullzip. Der PDF-Printer ist kostenlos und benötigt lediglich als Voraussetzung "Ghostscript". Beide Downloads erhaltet ihr auf der Download-Seite von Bullzip:

 

image

Nach der Installation erhaltet ihr einen neuen Drucker in der Systemsteuerung. Wenn ihr diesen auswählt und das Dokument ausdruckt, erscheint ein Dialog, welcher euch nach dem Speicherort für das PDF fragt. Der Rest geschieht automatisch.

Gib die erste Bewertung ab

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5


Kane and Lynch Installer

clock Januar 20, 2008 15:00 by author Divi

Nachdem ich schon viel von "Kane and Lynch" gehört hatte und mir gerade ein wenig nach schwarzem Humor zu Mute war, dachte ich: "Hey, probier doch mal die Demo aus, die seit ein paar Tagen auf deinem Desktop liegt"... ich hab schon ganz schön Augen gemacht, als der Installer folgendermaßen aussah:

 

KaneAndLynchInstaller

 

Offensichtlich fehlt dem Installer irgendeine Lokalisierungsdatei, dachte ich mir und hab einfach versucht mich durch die altbekannte Mechanik durchzuklicken. Leider scheitere ich spätestens bei der Wahl des Pfades, denn da kommt eine Fehlermeldung, nach welcher der Wizard sich schließt. Leider kann ich auch dort nichts lesen, womit es mir leider nicht vergönnt wird das Spiel zu installieren.

Bewertung: 1.0 von 1 Benutzern

  • Currently 1/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5


Outlook-Odyssee

clock Januar 19, 2008 17:11 by author Divi

Wie bereits die Tage berichtet, habe ich mir ein Office-Paket gekauft. Voller Vorfreude, dass ich endlich nicht mehr über die Web-Oberfläche des Exchange meine Emails abholen muss, habe ich mein Outlook geöffnet und im ersten Dialog direkt "Exchange" als Mailserver-Typ ausgewählt. Offensichtlich der größte Fehler den ich machen konnte :-D.

Nachdem ich die entsprechenden Zugangsdaten unseres Exchange-Servers eingegeben hatte, beharrte mein Outlook stur darauf, dass der Exchange die Benutzerdaten nicht verifizieren konnte ... Schade ;-) ... aber das lustigste kommt noch: Unser Admin hatte einen guten Rat für mich: Leg erst ein anderes Konto an und füg dann das Exchange-Konto über manuelle Konfiguration hinzu ... gesagt - versucht - gescheitert.

Das Problem: Outlook bot mir zwei Möglichkeiten nach dem erneuten öffnen:

1.) Korrekte Zugangsdaten für den Exchange gehen (s.o.: das klappte nicht)

2.) Abbruch

Also habe ich auf "Abbruch" geklickt, um einen alternativen Mailserver als primäres Konto anzugeben... nun ja ... leider veranlasste aber der "Abbruch" Button Outlook nicht dazu im Wizzard einen Schritt zurück zu gehen, sondern sich zu schließen ... Pech gehabt. Outlook bestand felsenfest darauf, dass ich das Exchange Konto einrichtete.

 

Da dachte ich mir: Es muss doch einen Ausweg geben und fing an meine System-Registrierung nach dem Namen des Exchange-Servers zu durchsuchen. Ich wurde an zwei Stellen fündig: In der Historie meines Browsers (das war die Weboberfläche) und an einer weiteren Stelle unter:

HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\Windows Messaging Subsystem\Profiles\<username>\13dbb0c8aa05101a9bb000aa002fc45a

Mein erster Versuch war natürlich sofort den entsprechenden Wert einfach mal zu leeren ... funktionierte nicht. Also habe ich kurzer Hand den kompletten Schlüssel gelöscht ... Fehler :-D!

Nachdem ich Outlook erneut startete, erhielt ich diese wunderbare Nachricht:

MessagingServiceError

Hmm ... ok - Versuch fehlgeschlagen - es war spät - ich hatte natürlich kein Backup ... also: Outlook repariert... klappte nicht - Outlook deinstalliert und neu installiert - klappte auch nicht ...

Langsam wurde ich ein wenig frustriert... Letzer Versuch: Firmenlaptop auspacken und den Schlüssel dort suchen (Ich hab sicherheitshalber mal den kompletten <username>-Schlüssel gelöscht und vom Laptop übernommen) ... Und da ich schonmal dabei war, kopierte ich auch gleich den kompletten Profil-Ordner in das entsprechende Vista-Verzeichnis:

LAUFWERK:\Benutzer\<username>\AppData\Local\Microsoft\Outlook

Und voila - mein Outlook lief wieder, der Exchange war bereits konfiguriert, hatte alle Emails bereits vorhanden (bis auf die in den Shared-Folders) und ich kann endlich von zu Hause aus Emails schreiben.

Bewertung: 5.0 von 1 Benutzern

  • Currently 5/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5


Seltsame Probleme bei der BlogEngine

clock Januar 12, 2008 00:53 by author Divi

Irgendwie treten momentan seltsame Probleme bei der BlogEngine auf... Ich hatte mich ja bereits dran gewöhnt die Einträge nochmal in den Editieren-Modus zu versetzen und neu zu speichern, damit der vom Live-Writer erzeugte "Tags:"-Span wegfiel. Aber irgendwie hat der manchmal offensichtlich ein Problem mit den IDs, denn ab und an kommt es vor, dass ein Eintrag nach der Editierung auf einmal ein zweites Mal vorhanden ist ... Oder - viel schlimmer: Ich kam gerade nach Hause und der neuste Eintrag war weg.

Glücklicherweise hatte der Live-Writer noch eine gecachte Kopie davon, welche mir das erneute Schreiben erspart hat.

Ich werd das im Auge behalten ...

[UPDATE 20.01.2008] Es scheint schlichtweg am Zusammenspiel mit dem LiveWriter zu liegen, denn mittlerweile passiert es jedes Mal, dass der Eintrag doppelt auftaucht ... Einmal mit und einmal ohne dem "Tags"-Span ... Ich hab dazu einen Eintrag bei Codeplex eingestellt.

Gib die erste Bewertung ab

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5


Rechnerupdate und Feier

clock Januar 12, 2008 00:49 by author Divi

Langsam wird es was. Heute kam mein neues Office 2007, dass ich bei Amazon bestellt hatte. Auf meinem Arbeitsrechner, war ich schon lange daran gewöhnt damit zu arbeiten nur leider hatte ich es zu Hause nicht direkt zur Verfügung. Wir haben ein ziemlich cooles Konzept von variablen Arbeitsplätzen, indem jeder von uns einen Laptop besitzt, mit dem er sich dann mit Teammitgliedern zusammensetzen kann - aber auf der Arbeit haben wir Docking-Stations und richtige Peripherie, während ich zu Hause auf dem Laptop Monitor arbeiten muss ... das ist kein Problem, wenn man "mal kurz" was machen muss, aber ein richtiger Monitor ist doch viel angenehmer. Aus diesem Grund sorge ich gerade dafür, dass ich alle Arbeitsmaterialien auch auf meinem Desktop-PC zu Hause verfügbar habe.

Office2007_thumb1

Abgesehen davon, habe ich heute endlich meinen üblichen Raum für meine bald anstehende Feier gemietet gekriegt. Ich hätte zwar gerne den 23.02. bekommen, aber der war leider besetzt, weshalb ich auf den 01.03. umgesattelt habe. Ist ja auch eigentlich ganz praktisch: Kann ich zweimal feiern :-D. Also wenn Ihr schonmal auf einer der Partys dabei wart... erwartet eure Einladung.

Gib die erste Bewertung ab

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5