HTML5 Formulare mit mehreren Submit-Buttons

In manchen Situationen hegt man den Wunsch, dass ein Formular mehrere „Ausgänge“ hat, also mehrere Submit-Buttons. Je nachdem, welche dieser Schaltflächen ein Anwender anklickt, werden unterschiedliche URL-Adressen mit unterschiedlichen Formular-Verarbeitungsscripts aufgerufen.

<form>
  <p>
    <label>E-Mail-Adresse eines Newsletter-Abonnenten:</label><br>
    <input type="email" name="mail" size="40">
  </p>
  <input type="submit" value="Ändern" formaction="/scripts/updateAbo.php" formmethod="post"> 
  <input type="submit" value="Löschen" formaction="/scripts/deleteAbo.php" formmethod="post"> 
</form>

Weiterlesen

Nintendo 3DS Videos aufnehmen und richtig Rendern

Auch wenn es eigentlich nicht in diesen Blog passt, ich die Frage aber nun bereits einige Male gestellt bekommen habe – aufgrund meines zweiten Hobbys, dem Let’s Playen – möchte ich heute einmal darüber schreiben, wie man eigentlich „richtig“ Nintendo 3DS Videos aufnehmen und anschließend rendern kann, um diese so auf einer Video Plattform wie z.B. YouTube hochladen zu können. Zunächst einmal wird relativ viel Soft- und Hardware benötigt, die auch einiges an Geld kostet. Damit muss man sich zwangsläufig abfinden. Wer so ein Hobby betreiben möchte, der muss nun einmal zuerst einiges investieren. Weiterlesen

Datentyp Erweiterungen

Oftmals kommt es vor, dass man bei einigen Datentypen die ein oder andere Methode mehr gebrauchen könnte. So ist zum Beispiel das aus VB bekannte „IsNumeric“ bei Strings sehr hilfreich und dennoch nicht in C# vorhanden. Dies lässt sich jedoch sehr einfach nachbauen. Dazu muss man nur eine Erweiterung, also eine Extension, des Datentypen „String“ erstellen. Dies funktioniert ganz einfach durch das Definieren einer statischen Methode, welche als ersten Parameter einen String erwartet, der wiederrum ein „this“ vorangestellt bekommt. Für den Fall einer „IsNumeric“-Prüfung würde die zu implementierende Methode zum Beispiel so aussehen:

public static bool IsNumeric(this string str)
{
    decimal d;
    return decimal.TryParse(str, NumberStyles.Any, NumberFormatInfo.InvariantInfo, out d);
}

Dies kann natürlich mit jedem Datentypen gemacht werden und eventuell auch mit Interfaces. Das Wichtige und Relevante dabei sind nur die Aspekte, dass die Methode statisch ist und das „this“ vor den Parameter gestellt wird. Verwenden würde man die obige Implementierung wie folgt: „Ein String der keine Zahl ist“.IsNumeric();

Ermitteln von Feiertagen

Feiertage werden nicht nach dem Zufallsprinzip gesetzt, sondern es gibt eine feste Formel anhand welcher man sämtliche Feiertage berechnen kann. Hierbei muss man zwischen festen Feiertagen wie Neujahr und dem Tag der deutschen Einheit und den flexiblen unterscheiden. Zum Beispiel die, die sich an Ostersonntag ausrichten, welcher wiederrum errechnet werden kann. Dies ist mit der Gaußschen Osterformel möglich. Wenn man dies getan hat, werden von dem Ergebnisdatum aus nur noch Additionen sowie Subtraktionen durchgeführt. So lassen sich alle beweglichen Feiertage ermitteln. Wir nutzen zum errechnen vom Ostersonntag jedoch folgende Formel:

//year ist das aktuelle Jahr
int c = year / 100;
int n = year - 19 * (year / 19);
int k = (c - 17) / 25;
int i = c - c / 4 - ((c - k) / 3) + 19 * n + 15;
i = i - 30 * (i / 30);
i = i - (i / 28) * ((1 - (i / 28)) * (29 / (i + 1)) * ((21 - n) / 11));
int j = year + (year / 4) + i + 2 - c + (c / 4);
j = j - 7 * (j / 7);
int l = i - j;

int easterMonth = 3 + ((l + 40) / 44);
int easterDay = l + 28 - 31 * (easterMonth / 4);

Weiterlesen

Einen PHP-SOAP-Webservice erstellen und verwenden

Zum Erstellen eines SOAP-Webservices unter PHP gibt es einige Möglichkeiten. Eine davon wäre sicherlich bei Null zu beginnen und alles selbstständig zu programmieren. Eine andere Möglichkeit wiederrum ist die Verwendung von NuSoap; dies werde ich auch hier in diesem Beitrag tun. Was benötigt man zunächst einmal für einen NuSoap-PHP-Webservice? Nun zunächst einmal benötigt man einen Webspace auf dem PHP läuft und auch eine Datenbank wie z.B. MySQL ist an dieser Stelle hilfreich. Verwendet werden kann der Webservice anschließend in jeder SOAP-kompatiblen Programmiersprache. Ich werde hierfür C# verwenden.

Für den ersten Schritt sollten wir uns die Library für NuSoap herunterladen. Dies ist unter folgender URL möglich: http://sourceforge.net/projects/nusoap/ . Hier wird ausschließlich der „lib“-Ordner für die Referenzierung benötigt. Diesen packen wir auch direkt auf unseren Webserver, auf dem später der Webservice laufen soll. Weiterlesen