get the solution

Blog

Seite: 1


Simon Simon
19.11.2009 19:24

Probleme mit php-gettext



Vor kurzem wurde bei einem unserer Hoster eine PHP-Aktualisierung vorgenommen. Diese führte dazu, dass auf sämtlichen Webseiten nur noch die englische Sprache angezeigt wurde. Der Grund dafür war eine Änderungen bezüglich der Byteorder in PHP.
Die von uns eingesetzte Übersetzungs-Engine php-gettext hatte noch keinen Patch für diesen "Fehler".

Um den Fehler zu beheben muss man in der Datei gettext.php Zeile 117 den Code von:

$this->error = 1; // not MO file
	
auf

$this->BYTEORDER = 0; /* change this line */
	
abändern.

Das Code-Fragment sieht dann so aus:

	    $this->STREAM = $Reader;
	    $magic = $this->readint();
	    if ($magic == $MAGIC1) {
	      $this->BYTEORDER = 0;
	    } elseif ($magic == $MAGIC2) {
	      $this->BYTEORDER = 1;
	    } else {
	      $this->BYTEORDER = 0; /* change this line */ 
	      return false;
	    }
	
Homepage des Projekts: http://savannah.nongnu.org/projects/php-gettext/

Bugreport auf Savannah



Schlüsselwörter: php-gettext, no translations, PHP 5.2.11
zuletzt geändert: 19. November 2009 23:28
Link zu diesem Artikel: (in die Zwischenablage)
Kommentare: Anzeigen




Martin Martin
22.10.2009 16:02

ColorAnimation im XAML vs ColorAnimation im C# Code



Vorgeschichte:

CoffeClock ist ein Erinnerungsprogram. Wenn man gerade etwas auf dem Herd hat, und nebenbei am Computer sitzt kommt es schnell vor, dass man alles um sich herum vergisst. Bei mir ist das jedenfalls so. So kam es schon öfter vor, dass einige Leckerein verbrannten. Um dieses Problem vor zu beugen habe ich dieses Erinnerungsprogramm geschrieben.

Man gibt den Erinnerungstext und die Zeit ein, wann man an etwas Erinnert werden soll. Danach versteckt sich das Programm und wartet im Hintergrund bis die Zeit abgelaufen ist. Wenn die Zeit abgelaufen ist wird der Komplette Bilschirm schwarz und der Erinnerungstext wird weiß eingeblendet.

Wenn man die ESC Taste drückt, soll das Erinnerungsprogramm beendet werden und man kehrt zum Desktop zurück.

Die Animation:

Jetzt wär es cool wenn man das Zurückkehren zum Desktop mittels einer Animation machen könnte. Von Schwarz überlaufend in den Desktop (bzw. von Schwarz in Transparent).

Animationen habe ich bis jetzt immer im XAML erstellt. Also wollte ich das auch in diesem Fall so machen. Das hätte dann so ausgesehen:

<Window.Triggers>
	        <EventTrigger RoutedEvent="Window.PreviewKeyDown">
	            <BeginStoryboard>
	                <Storyboard>
	                    <ColorAnimation Storyboard.TargetProperty="Background.Color" 
	From="Black" To="Transparent" Duration="00:00:01.000" />
	                </Storyboard>
	            </BeginStoryboard>
	        </EventTrigger>
	    </Window.Triggers>

Tja, leider kam mir keine Idee, wie ich im XAML abfragen kann ob der Benutzer die ESC Taste gedrückt hat. Hinzu kommt, dass ich nach der Animation das Programm beenden muss. In XAML wäre das wahrscheinlich ebenso schwer bis gar unmöglich zu realisieren.

Also musste ich die Animation doch im C# Code erstellen.

Mein erster geh versuch sah so aus (der C# Animationscode sollte equivalent zum XAML Code sein):

	            ColorAnimation colorAnimation = new ColorAnimation();
	            colorAnimation.Duration = new Duration(new TimeSpan(0, 0, 10));
	            colorAnimation.From = Colors.Black;
	            colorAnimation.To = Colors.Transparent;
	 
	            this.BeginAnimation(Window.BackgroundProperty, colorAnimation);
Mit diesem Code erhielt ich die Exception:

"AnimationTimeline" vom Typ "System.Windows.Media.Animation.ColorAnimation" kann nicht zum Animieren der Background-Eigenschaft vom Typ "System.Windows.Media.Brush" verwendet werden.
Parametername: animation

Beim näheren betrachten sieht man auch, dass man im XAML als TargetPropertie Background.Color angegeben hat. Leider kann man das im C# Code so nicht setzen, da man mit Window.BackgroundProperty nur auf die Properties des DependencyProperties zugreifen kann.

Die Lösung ist eine Referenz auf den Background Brush. Das sieht dann so aus:

	            Brush backgroundBrush = this.Background;
	            backgroundBrush.BeginAnimation(SolidColorBrush.ColorProperty, colorAnimation);
Nach der Animation habe ich dann den Befehl this.Close()  ausgeführt.

Jetzt stand ich vor dem nächsten Problem. Die Animation wird asynchron ausgeführt. Das heißt man sieht die Animation gar nicht, da sofort das Fenster geschlossen wird.

Zum glück hat die Klasse ColorAnimation ein Event Completed welches, wie der Name bereits verrät, gefeuert wird, wenn die Animation fertig ist.

Ich habe den Close() Befehl also in das Event Completed gesteckt. Nun wird, nach dem drücken der Taste ESC zuerst die Animation abgespielt und zu guter letzt das Programm beendet.

Der komplette und richtige Code sieht so aus:

this.PreviewKeyDown += (sender, e) =>
	            {
	                if (e.Key.Equals(Key.Escape))
	                {
	                    ColorAnimation ani = new ColorAnimation(Colors.Transparent, new Duration(new TimeSpan(0, 0, 0, 1, 0)));
	                    ani.Completed += (Completedsender, Completede) =>
	                    {
	                        this.Close();
	                    };
	 
	                    SolidColorBrush newBrush = new SolidColorBrush(Colors.Black);
	 
	                    this.Background = newBrush;
	 
	                    newBrush.BeginAnimation(SolidColorBrush.ColorProperty, ani);
	                }
	            };
Ein großes Dank geht an talla vom mycsharp Forum der mir bei meinen Animationsproblemen weiter geholfen hat.

Links:
http://msdn.microsoft.com/de-de/library/system.windows.media.animation.coloranimation.aspx

Das Erinnerungsprogramm CoffeeClock können Sie hier herunterladen ( benötigt .NET 3.5 7Kb groß):

Zum Download

Schlüsselwörter: XAML, WPF, Get
zuletzt geändert: 22. Oktober 2009 21:32
Link zu diesem Artikel: (in die Zwischenablage)
Kommentare: Anzeigen




Simon Simon
21.09.2009 17:22

Rezepteprogramm fertiggestellt



Ich habe nun das Rezepteprogramm für die PTS Feldkirch fertiggestellt. Es enthält folgende Features:
  • Bearbeiten, Löschen und Hinzufügen von Rezepten
  • Bearbeiten, Löschen und Hinzufügen von Zutatenvorlagen
  • Ausdrucken von Rezepten
Verwendet wurde das .NET Framework 3.5 mit WPF.



Klicken Sie hier um zur Rezeptseite zu gelangen und das Programm herunter laden zu können.

Simon

Schlüsselwörter: get
zuletzt geändert: 10. Oktober 2009 19:22
Link zu diesem Artikel: (in die Zwischenablage)
Kommentare: Anzeigen




Martin Martin
17.05.2009 13:23

Outlook Kontakte exportieren



Mit dem Programm ExportContacts kann man von Outlook die Kontakt-Emailadressen exportieren. Outlook hat eine standard Kontaktexport-Funktion integriert. Diese exportiert aber alle Kontakte. Mit diesem Programm hat man die Möglichkeit, die ausgewählten Kontakte zu exportieren. Es wird der Vor- und Nachname mit der Emailadresse als CSV Datei exportiert.


Um das Programm verwenden zu können benötigt man Outlook (getestet mit Office 2007) und .NET 3.5. Beim Programmstart, wird im Hintergrund Outlook gestartet. Sie erhalten von Outlook folgende Meldung:


Wählen Sie "Zugriff gewähren für 10 Minuten". Wählen Sie ihre Kontakte aus die Sie exportieren wollen und klicken Sie anschließend auf "Kontakte Exportieren".

Downloads:




Geplante Features für die nächste Version:
  • ContactItem soll vollständig exportiert werden (nicht nur Vor- Nachname und Emailadresse)
  • Kontaktgruppen sollen von Outlook importiert werden um ein Filter/ Sortieren zu ermöglichen.

Schlüsselwörter: Outlook, get
zuletzt geändert: 24. August 2009 14:42
Link zu diesem Artikel: (in die Zwischenablage)




Simon Simon
03.05.2009 16:44

Homepage fertiggestellt



Die Webseite "Klang-Bewusst-Sein" wurde fertiggestellt. Hier kann man den Internetauftritt besuchen.
Sie setzt sich aus einer Kombination von 3 Farben zusammen: Teilweise weiß, grün und blau. Das gibt eine sehr abwechslungsreiche aber schöne Kombination ab.

Neue Module / Moduländerungen:

  • XML-Sitemaps für die Google Webmaster Tools
  • Newslettermodul
  • Lightbox wurde durch PrettyPhoto ersetzt, da es die jquery Bibliothek nützt
  • Galeriemodul

Schlüsselwörter: get, Homepage
zuletzt geändert: 24. Mai 2009 17:10
Link zu diesem Artikel: (in die Zwischenablage)




Seite: 1



(c) 2003-2009 | Impressum| Empfehlenswerte Blog Einträge