Blog by Jürgen Ebner

C#

2011 Top 10 Posts

Das Jahr ist wieder vorbei, deshalb wird es Zeit ein Resümee zu ziehen und die Top 10 der meistgeklickten Posts zu betrachten.

  1. Model-View-ViewModel (MVVM) – 868
  2. Silverlight 2.0 Crashkurs Teil 2 – Textbox, Textblock, Button und Controlls – 392
  3. Silverlight: Glass Button – 193
  4. “Metro” design guide v1.00 – 161
  5. WP 7 Update – 140
  6. Frameworks, Tools und Controls für Windows Phone 7 – 136
  7. Windows Phone OS 7.1 & Mango Beta – 125
  8. Windows 8 Preview – 120
  9. XNA Game Tutorial – 119
  10. Was bringt Silverlight 5 Beta – 116
Be the first to like.

PHP–Webservice für MySQL in Silverlight (Teil 1)–MySQL Datenbank & PHP Webservice

Datenbank

Für das Beispiel erstellen wir eine Adminoberfläche bei der wir Veranstaltungen anlegen können. Hierfür benötigen wir folgende Element:

  • Event_ID – unsigned int(4) – auto_increment
  • Datum – date
  • Eventname – varchar(40)

MySQL

 

 

 

PHP Webservice

Im nächsten Schritt erstellen wir das PHP-Webservice, dazu erstellen wir 4 Dateien:

  1. mysql_vars.php – Enthält alle Informationen für die Verbindung zur MySQL Datenbank
  2. get_event.php – um alle Events zu holen
  3. add_event.php – um Events hinzu zu fügen
  4. change_event.php – um Events zu ändern

mysql_vars.php

<?PHP
   $dbname="[Datenbankname]";
   $dbhost="[Datenbank-Server_Url]";
   $dbuser="[Datenbank_User]";
   $dbpass="[Passwort]";

//Datenbank-Table
  $mysql_event=”Event”;

   $mysql_eventID = “Event_ID”;
   $mysql_Datum = “Datum”;$retString
   $mysql_Eventname = “Eventname”;

  $connection = mysql_connect($dbhost,$dbuser,$dbpass);

   function formatInput($rawURLData)
   {
      $retString = urldecode($rawURLData);
      $retString = mysql_real_escape_string($retString);
      return  $retString;

   }

?>

Um eine spätere Änderung leichter durchführen zu können, wurde der Tabellenname und die Spaltennamen als Variable hier eingefügt. Und die Funktion “formatInput” stellt sicher, dass alle Daten aus der URL decodiert werden, welche vom Webservice aufgerufen werden (die urldecode Methode) und versucht jede SQL-Injektion zu blockieren (die mysql_real_escape_string Methode).

Als erstes schreiben wir die Basis “Get the data” Datei, hier kann man wählen:

  • alle Events
  • alle vergangenen Events
  • alle zukünftigen Events

Das Webservice funktioniert, indem von Silverlight eine URL aufgerufen wird, um Daten zu erhalten. Um nun alle Events abzurufen, die nun schon vergangen oder noch vor uns liegen, wird über das hinzufügen von “?event=past” oder “?event=future” ans Ende der URL gehandelt.

Bespiel:

Basis-URL: http://www.mywebsite.com/

Aufruf: http://www.mywebsite.com/get_events.php

Aufruf aller Items,  die noch nicht stattfanden: http://www.mywebsite.com/get_events.php?event=future

Die Url wird verwendet, um daraus die Variablen zu extrahieren, die MySQL query auf Basis dieser Variablen zu erstellen und das Resultat zu extrahieren. Daraufhin wird das Ergebnis als PHP Objekt codiert als Json Objekt zurückgesendet. Jede der Dateien folgt dem selben Muster.

get_Event.php

<?PHP
  

include ‘mysql_vars.php’;
   
    //den "Eventstatus" aus der Url nehmen und eine Query Addition erstellen
    $eventStatus = $_GET['event'];
    $eventQueryAddition = "";
   
     $today = date("Y-m-d");
   
    if ($eventStatus != NULL)
    {
   
        if ($eventStatus == "past")
        {
            $eventQueryAddition = "WHERE ‘$mysql_Datum’ > ‘$today’";
        }
        else if ($eventStatus == "future")
        {
            $eventQueryAddition = "WHERE ‘$mysql_Datum’ < ‘$today’";
        }
        // Erstellen der MySQL Query
        $eventQuery = "SELECT FROM ‘$mySQL_Event’ $eventQueryAddtion;";
    }
    //ausführen der query und erhalten des Ergebnis
    mysql_select_db($dbname, $connection);
    $eventResult = mysql_query($eventQuery);
    $eventArray = array[];
   
    while ($eventRow = mysql_fetch_array($eventArray))
    {
        $eventArray[] = array("EventIndex" => $eventRow[$mysql_eventID], "Datum" => $eventRow[$mysql_Datum], "Name" => $eventRow[$mysql_Datum]);
    }
    mysql_close($connection);
   
    // Codieren des Ergebnis als JSON Text
   
    $returnEvents = array("returnType" => "Events", "results" =>$returnEvents);
    $JSONResult = json_encode($eventArray);
   
    // Ausgabe, damit die Applikation das Ergebnis auch lesen kann
    echo $JSONResult;
?>

Die anderen beiden Dateien add_event.php und change_event.php verwenden die selbe Struktur um neue Element hinzu zu fügen oder zu ändern.

2 people like this post.

Windows 8 Preview

Nachdem die Microsoft Entwicklerkonferenz BUILD jetzt schon eine Woche her ist, ist es Zeit über die neue Version von Windows, die man als Developer-Previews schon jetzt erhältlich ist, mal kurz zu betrachten.

Der erste Blick wie schon bekannt wurde erinnert ein wenig an Windows Phone 7, aber das liegt an dem verwendeten Metro Style.

 

Quelle: Windows 7 Themes .NET – Themes, Tutorials, Gaming

Aber Windows 8 bietet neben der Metro Style UI auch noch die altbekannte Desktop UI. Was wird das für die Entwickler in Zukunft heißen? Die “klassischen” Windows Anwendungen werden auf der Desktop UI laufen und hier wird sich nichts ändern, man kann wie bisher mit WPF, Silverlight, und dem .NET Framework entwickeln und hat die Programmiersprachen C#, VB, C++, … zur Auswahl. Für die Sprachen wie C/C++ wird man weiterhin über Win32 zugreifen können.

 

Quelle: Arik Poznanski’s Blog – It CAN be done with .NET

Wie schon von Windows Phone 7 bekannt, werden die Metro Style Applikationen aus Sicherheitsgründen in einer Sandbox laufen. Entwickelt werden kann dann mit drei verschiedenen Kombinationen: XAML/C bzw. C++, XAML/C# bzw VB oder HTML/CSS/JavaScript. Jedoch wird hier nicht plattformübergreifend entwickelt, da man hier die WinRT API nutzt. Die XAML/C# Anwendungen dürften jedoch weder aus Silverlight noch WPF verwenden sondern basieren scheinbar auf einen Mix der beiden.

Interessant ist jedoch, obwohl Windows 8 Silverlight und WPF unterstützen wird, scheint Microsoft zu bevorzugen, dass die Entwickler auf HTML 5 und JavaScript programmieren sollen.

Will man sich nun die Windows 8 Developer Preview verwenden, sollte man einiges beachten:

  1. Es funktionieren nicht alle Programm zu Virtualisierung: Microsoft Virtual PC ist nicht geeignet und VMWare Workstation funktioniert es (meines Wissens nach) auch erst ab Version 8.
  2. Es muss die hardwareseitige Virtualisierung unterstützt werden und im BIOS muss die Virtualisierungsoption aktiviert sein. Ob die Hardware die Virtualisierung erlaubt, kann man überprüfen:

Dann braucht man nur noch das ISO-Image von Windows 8 herunterladen und zB VirtualBox bzw. VirtualBox portable.

Unter Virtualbox wählt man dann Windows 7 für Windows 8 32-Bit bzw. Windows 7 64-Bit für die 64-Bit Version von Windows 8. Beim Arbeitsspeicher benötigt man mindestens 1024 MB RAM (32 Bit) bzw. 2048 MB RAM (64 Bit). Abgesehen davon dass man beim Grafikkarten 128 MB für den Speicher vergeben und die 3d-Bschleunigung aktivieren sollte, kann man wie gewohnt das virtuelle Betriebssystem einrichten.

Beim Starten nur noch das Image im Startassistenten auswählen und in kürze hat man dann sein Windows 8 Developer Preview.

Hinweis: Für Windows 8 gibt es keine Gasterweiterung für die VirtualBox.

1 person likes this post.

Silverlight eBook

Stephan Haewß schreibt gerade an einem eBook über Rich Media Applications mit Silverlight 4. Dieses wird als Silverlight-Applikation erhältlich sein, da er diese auch als Anschauungs- und Lernobjekt nutzt. Die Erkenntnisse, die er durch die Implementierung gewinnt, werden direkt in den Inhalt zurückfließen.

Bin schon gespannt, wie sich das Buch weiterentwickelt, deshalb werde ich es auf jeden fall im Auge behalten. Bisher ist nur ein Probekapitel verfügbar.

Mehr zum eBook und dem Blog von Stephan Haewß

Be the first to like.

Linksammlung 9/7/2011

Silverlight

Windows Phone

Be the first to like.

Linksammlung 12/6/2011

Silverlight

Windows Phone 7

Be the first to like.

Applikationen auf Windows Phone portieren

Um es Entwicklern von Applikationen von anderen Smartphone-Betriebs zu vereinfachen auch Applikationen für Windows Phone zu releasen gibt es

Die Mapping tools bieten jede Menge Übersetzungguides für Entwickler, um die verschiedenen Programm Events, Klassen und Methoden aus Android in Gegenstück Windows Phone zu vergleichen.

Natürlich gibt es auch ein umfangreiches White Paper

Die selbstverständlich beide nicht nur online verfügbar sind sondern auch als DOCX oder PDF downloadbar sind.

Be the first to like.

.NET Community Konferenz in Wien

Am 16. September 2011 findet in Wien die Professional .NET Konferenz in Wien statt. Als Special Guest ist Greg Young, Mitgründer und CTO von IMIS.

Neben Greg Young werden noch Mario Meir-Huber und Jörg Egretzberger eine Session halten. Für die letzte Session wird noch ein Vortragender gesucht. (Call for papers)

Be the first to like.
A1 Brand

Contact us

Copyright © 2011. All Rights Reserved.