XAML Page verlinken

10. April 2012

In einem Silverlight Projekt hat man die Möglichkeit mehrere XAML Pages “Seiten” anzulegen. Diese XAML Pages werden später alle in der .xar Datei von Silverlight verpackt und lassen sich daher nicht wie gewöhnlich HTML Seite verlinken.

Um die XAML Page aufzurufen wird folgender Code benötigt:

this.Content = new Page1();

Diesen Code kann man jetzt im CodeBehind hinter einem Button, Text, Bild oder was einem gefällt hinterlegen. Wie in diesem Beispiel ein Buton:

private void button1_Click(object sender, RoutedEventArgs e)
{
    this.Content = new Page1();
}

Das derzeit angezeigt XAML wird dabei ersetzt durch das gewünscht XAML und gelöscht. Um es wieder anzurufen, muss dieselbe Methoden wie oben genutzt werden.

 

Code automatisch formatieren bzw. ausrichten

27. März 2012

Ab der Version Visual Studio 2005 kann man den Code automatisch formatieren bzw. ausrichten lassen. Dies geht über die Tastenkombination Strg + K und danach Strg + D drücken, um den Code vom ganzem Dokument anzupassen. Falls nur ein bestimmter Teil des Codes automatisch angepasst werden soll, benutzt man folgende Tastenkombination Strg + K und danach Strg + F drücken.

Wer die Formatierung anpassen möchte kann dies in Visual Studio 2010 unter Extras->Optionen->Text-Editor-HTML->Formatierung und dann rechts unten mit einem Klick auf “Tagspezifische Optionen…” tun.  

Benötigte Zeit für die Ausführung eines PHP Scriptes in Millisekunden ausgeben

23. März 2012

Um die Zeit, die eurer PHP Script benötigt, anzeigen zu können, nutzt folgendes Beispiel:

 <?php

$scriptstart = microtime(true);  

// Eurer Code

$scriptduration = number_format(microtime(true) – $scriptstart, 4);
echo “Script ausgeführt in “.$scriptduration.” ms”;

?>

In dem Beispiel wird die Zeit in Millisekunden mit 4 Nachkommastellen ausgegeben.

Ändern den Code wie folgt, um 2 Nachkommastellen auszugeben:
$scriptduration = number_format(microtime(true) – $scriptstart, 2);  

Oder ganz ohne Komma:
$scriptduration = number_format(microtime(true) – $scriptstart, 0);   

Für die Ausgabe in Sekunden wird das Ergebnis mal 1000 gerechnet (Beispiel mit 4 Nachkommastellen):
$scriptduration = number_format((microtime(true) – $scriptstart) * 1000, 4);   

Button mit Bild und Text erstellen (XAML)

23. März 2012

 

Um ein Button mit einem Bild oder auch Icon zu erstellen, ist die einfachste Lösung mehrere Elemente in XAML zu erstellen. In diesem Beispiel wird ein StackPanel genutzt. Dieses StackPanel enhält ein Bild “Image” und ein Textelement “TextBlock”. Es können auch andere Element wie ein Label oder weitere Bilder hinzugefügt werden.

<Button Canvas.Left=”12″ Canvas.Top=”503″ Height=”30″ Name=”save” Width=”140″ Click=”save_Click” HorizontalContentAlignment=”Left” UseLayoutRounding=”True”>

<StackPanel Orientation=”Horizontal”>

<Image Source=”/PROJECT;component/Images/save.png” Height=”24″ Width=”24″ />

<TextBlock HorizontalAlignment=”Center” VerticalAlignment=”Center” Margin=”5,0,0,0″> Speichern</TextBlock> 

</StackPanel>

</Button>

Silverlight Button

Mehr Informationen gibt es unter: http://msdn.microsoft.com/en-us/library/system.windows.controls.contentcontrol.content.aspx

Prozedure per Trigger aufrufen

29. Mai 2010

Trigger anlegen und aus dem Trigger eine Prozedure aufrufen.

SQL Code:

CREATE OR REPLACE
TRIGGER [TRIGGERNAME]
AFTER INSERT ON [TABLENAME]
FOR EACH ROW
BEGIN
PROCEDURENAME(:NEW.[SPALTENNAME]);
END;

Um jetzt die Prozedure auf dieselbe Tabelle ausführen zu können, muss man nur einen Parameter mitgeben. Dieser Parameter heißt PRAGMA AUTONOMOUS_TRANSACTION; und sorgt dafür das die Prozedure unabhängig von den Triggereinschränkungen ausgeführt wird. So ist es möglich einen Trigger nach oder vor dem Inserten, Updaten oder Deleten in die Tabelle Beispiel eine Prozedure aufzurufen die zum Beispiel Daten aus der Tabelle Beispiel liest und dann in eine weitere Tabelle Daten schreibt und in der Tabelle Beispiel Daten löscht. Die genaue Aufgabe ist natürlich von der Anwendung abhängig.

SQL Code:

CREATE OR REPLACE
PROCEDURE [PROCEDURENAME]
(INT_IN IN INTEGER)
IS
C_TOTAL NUMBER;
PRAGMA AUTONOMOUS_TRANSACTION;
BEGIN
AUSZUFÜHRENDER CODE
END;

Format/Datenformtierungsausdruck für DataGrid Felder

28. Mai 2010

Im folgenden sind einige Formtierungsausdrücke aufgelistet, die automatisch die Daten aus der Datenbank umwandeln.

* {0:C} – numeric/decimal – Gibt den Wert als Währungsformat aus zum Beispiel 9.95.

{0:D4} – integer – Gibt ganze Zahlen zurück mit führenden Nullen. Die 4 gibt an, dass die Ganzzahl 4 Stellen hat. Beispiele 4 wird zu 0004, 124 wird zu 0124 und 4357 wird zu 4357. Double Werte werden nicht unterstützt.

* {0:D} – date/datetime – Gibt ein langes Datumsformat zurück zum Beispiel Freitag, 28. Mai 2010

* {0:d} – date/datetime – Gibt ein kurzes Datumsformat zurück zum Beispiel 28.05.10

{0:yy-MM-dd} – date/datetime – Gibt das Datum im numerischen Stil zurück zum Beispiel 10-05-28. yy steht dabei für Jahr, MM für Monat und dd für Tag.


*
Ist abhängig von der Kultureinstellung in der Datei web.config bzw. der @ Page-Direktive.

Anwendungsbeispiel in ASP.NET:

String.Format(“{0:D4}”) // 0004
DataFormatString=”{0:D}” // Freitag, 28. Mai 2010

Mehrere Spalten in einem DataGrid anzeigen

28. Mai 2010

Manchmal ist es notigwendig und hilfreich, wenn man Informationen, die in mehreren Spalten stehen zusammenfügt und als eine Information ausgibt. In diesem Beispiel geht es darum einen zusammengestellten Primary Key bestehend aus 2 Spalten in einem ASP.NET DataGrid auszugeben.

SQL query:
SELECT (tbData_PK1 + ‘ – ‘ + tbData_PK2) AS PrimayKey FROM tbData;

Die beiden Primary Keys werden jetzt von der Datenbank als ein Wert unter dem Namen “PrimaryKey” zurückgegeben. Nun können wir diesen Wert zum Beispiel in ASP.NET wie folgt verwenden.

ASP.NET Code:

<asp:BoundColumn DataField=”PrimaryKey” HeaderText=”Spalte 1″ />

Ähnlich wie bei ASP.NET lässt sich der Wert “PrimaryKey” natürlich auch in PHP und anderen Programmiersprachen ausgeben.

PHP Code:
//Verbindung zum Mysql Server aufbauen

mysql_pconnect(datenbankzugangsdaten);
// SQL Query vorbereiten
$sql = “SELECT (tbData_PK1 + ‘ – ‘ + tbData_PK2) AS PrimayKey FROM tbData;”;
// SQL Query ausführen und als Objekt zwischenspeichern
while ($row = mysql_fetch_object($sql)) {

// Objekt aufrufen und Daten ausgeben
echo $row->PrimaryKey;

}

MySQL Nutzer müssen in ihrem Select die Funktion CONCAT() nutzen. Zum Beispiel: SELECT CONCAT(Spalte1, ” “, Spalte2) AS PrimaryKey.