Schön, Dich auf meinem Blog zu sehen! Hier befindet sich ein Sammelsurium an Tipps und Tricks entstanden beim täglichen Umgang mit Hard- und Software, aufgeschrieben direkt aus dem IT-Alltag.

UrlEncode von std::string

inline unsigned char toHex(const unsigned char x) {
	return x > 9 ? (x + 'A' - 10) : (x + '0');
}

std::string URLEncode(const std::string &sIn)
{
	std::string sOut;

	const size_t length = sIn.length();
	for (size_t idx = 0; idx < length;) {
		const char ch = sIn.at(idx);
		if (isalnum(ch))
		{
			sOut.append(1, ch);
		}
		else if (isspace(ch) && ((ch != '\n') && (ch != '\r')))
		{
			sOut.append(1, '+');
		}
		else
		{
			sOut.append(1, '%');
			sOut.append(1, toHex(ch>>4));
			sOut.append(1, toHex(ch%16));
		}
		idx++;
	}
	return sOut;
}

XP-Styles und CHtmlView

Um in CHtmlView bei Verwendung von CSS auch visuelle Styles anzugeigen, muss lt. MSDN folgende Headerzeile in die HTML-Seite eingefügt werden:

<META HTTP-EQUIV="MSThemeCompatible" CONTENT="Yes">
CSS 

Microsoft Installer

Benutzerdefinierte Aktionen bei Install/Uninstall

Dem Installer können benutzerdefinierte Aktionen für die Phasen Install, Commit, Rollback und Uninstall hinzugefügt werden. Die Assembly (die als benutzerdefinierte Aktion ausgewählt wird) muß ein Klasse enthalten, die von System.Configuration.Install abgeleitet ist. Dort können die angegebenen Methoden überschrieben werden. Der Installer ruft dann die entsprechenden Methoden in der angegebenen Assembly auf.

Für Windows-Dienste wird empfohlen, den Dienst in der Methode Commit zu starten und in Uninstall zu stoppen.

[Mehr]

MySQL-Tabellen mit Drupal ausgeben

Beispiel der Ausgabe einer MySQL-Tabelle mit den Drupal-Formatierungsfunktionen:

<?php
  $result = db_query("SELECT * FROM {my_table}");
  $output = '';
  $rows = array();
  $header = array('id','Domain','Module');
  $rows = array();
  $i = 0;
  while($row = db_fetch_object($result)){
    $data = array();
    $data[] = $row->sid;
    $data[] = $row->domain;
    $data[] = $row->module;
    $rows[] = $data;
    $i++;
  }
  $output .= theme('table', $header,$rows);
  echo $output;
?>

Zur Anzeige ist einfach der obige Code in eine neue Drupal-Seite einzufügen und als Eingabeformat PHP code auszuwählen. Aber Vorsicht! Der PHP-Code sollte syntaktisch korrekt sein und man sollte wissen, wie man fehlerhaften Code per Hand wieder aus der Drupal-Datenbank bekommt.

[Mehr]

Größe der Typen in C

  • sizeof(char) <= sizeof(short) <= sizeof(int) <= sizeof(long) <= sizeof(long long)
  • sizeof(short) >= 2
  • sizeof(int) >= 2
  • sizeof(long) >= 4

Breaking News

Nun ist er doch noch umgefallen!

Nüchternheitstest

Wem gehört der Fisch?

Einstein verfasste dieses Rätsel im letzten Jahrhundert. Er behauptete, 98% der Weltbevölkerung seien nicht in der Lage, es zu lösen.

  1. Es gibt fünf Häuser mit je einer Farbe
  2. In jedem Haus wohnt eine Person einer anderen Nationalität
  3. Jeder Hausbewohner bevorzugt ein bestimmtes Getränk, raucht eine bestimmte Zigarettenmarke und hält ein bestimmtes Haustier
  4. KEINE der 5 Personen trinkt das gleiche Getränk, raucht die gleichen Zigaretten oder hält das gleiche Tier wie einer seiner Nachbarn

Frage: Wem gehört der Fisch?

[Mehr]

Planet der Affen

  1. Nehmen Sie einen Käfig mit fünf Affen. Hängen Sie eine Banane an die Käfigdecke und stellen Sie eine Stufenleiter darunter. Es wird nun nicht lange dauern, bevor ein Affe versuchen wird, die Leiter zu erklimmen um an die Banane zu kommen.
[Mehr]

Merkbefreiung

Das folgende Formular ist nur im äußersten Notfall zu benutzen!

[Mehr]