Was nicht passt…

Danke an die kräftigen Jungs bei DHL, nächstes Mal bestelle ich doch die Ming-Vase…

W-LAN-Netz des Tages

Visual Basic 2010: Die Tücken von Me.Tag

Ich benutze gerne die Tag-Eigenschaft, um neuen Formularen die ID des entsprechenden Datensatzes mitzugeben bzw. einen neuen anzulegen.

Im FormClosing-Event frage ich dann den Tag-Wert des jeweiligen Formulars ab:

1
2
3
4
5
If Me.Tag = "neu" Then
 ' neuen Datensatz anlegen
Else
 ' alten ändern
End if

Soweit die Theorie. Allerdings ist es anscheinend so, dass die Abfrage nur dann funktioniert, wenn Me.Tag genau den erwarteten Wert hat, also in dem Fall “neu”. Der Else-Block wurde immer komplett ignoriert.
Erst nachdem ich ich Me.Tag.ToString verwendet habe, lief die Abfrage einwandfrei.

1
2
3
4
5
If Me.Tag.ToString = "neu" Then
 ' Neuen Datensatz anlegen
Else
 ' alten ändern
End If

Da soll man erst mal drauf kommen…

Hämische Bemerkungen bitte in die Kommentare packen. ;)

Visual Basic 2010: Enter statt TAB

Zwar wieder nur mehr eine Notiz an mich selbst, aber ich habe für die vernünftige Lösung ganz schön suchen müssen.

Problem: Wenn man in VB ein Formular erstellt, kann man nur mit der Tabulator-Taste von Feld zu Feld springen. Wünschenswert wäre es jedoch, wenn das auch mit der Enter-Taste funktionieren würde.

Im Netz habe ich folgendes gefunden

If e.KeyCode = Keys.Enter Then Sendkeys.Send(Keys.Tab)

Warum auch immer, das funktioniert bei mir nicht. Statt dessen wurde immer eine “9″ in der jeweiligen Textbox ausgegeben. Diese Variante hier macht aber das, was ich möchte

Private Sub frmRechnung_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles Me.KeyDown
    If e.KeyCode = Keys.Enter Then
        e.SuppressKeyPress = True
        SendKeys.Send("{TAB}")
    End If
End Sub

Durch die Zeile vor dem Abschicken der Tabulator-Taste wird übrigens der Piepston unterdrückt, der sonst zu hören wäre.

Ich bin nicht in Dubai…

oder soll das heißen, dass der Gutschein da ist…?

Der grandiose Bildverkleinerer

Wenn man in die Verlegenheit kommt, viele oder gar sehr viele Bilder auf einmal in der Größe ändern zu müssen, gibt es eigentlich nur ein probates Mittel:

http://www.dr-wuro.de/verkleinerer.html

Die Software ist klein (235 KB), schnell und macht genau das, was man von ihr erwartet. Super.

jQuery: Wert an Dialog übergeben

Die Möglichkeit, mit jQuery einfach und schnell Dialog-Fenster zu erstellen, macht das Arbeiten sehr angenehm. Allerdings kann man bei Aufruf dem Dialog keinen Wert mit auf den Weg geben, welcher in der Funktion Verwendung findet, die bei Anklicken des entsprechenden Buttons ausgeführt wird.

Das ist in dem Moment nachteilig, wenn man den Dialog für mehrere Funktionen / Aufrufe einsetzen möchte. Die Lösung ist aber relativ einfach:

In der Seite befindet sich ein input-Feld mit der Eigenschaft hidden und natürlich einer ID.

<input type="hidden" id="temp" value=""/>

Sobald das gewünschte Element angeklickt wird, wird der Wert des versteckten Feldes geändert

$("#temp").val("Hier_ist_der_Wert");

und anschließend vom Dialog ausgelesen, verwendet und wieder gelöscht wird.

buttons: {
    "Löschen": function() {
        $wegdamit=$("#temp").val();
	$("#" + $wegdamit).remove();
	$("#temp").val("");
	$( this ).dialog( "close" );
    },

Wer eine elegantere Lösung hat, möge diese bitte in den Kommentaren verewigen.

Nachtrag (04.03.2011):

Dank des Kommentars von Jan hier ein Alternativ-Vorschlag:

Als Funktion für den Button

$(“#button”).click(function (event) {
    event.preventDefault();
    $(“#dialog”).data(“linkTo”, $(this).attr(“href”));
    $(“#dialog”).dialog(open);
});

und im Dialog dann

buttons: {
    “OK”: function (event) {
    document.location.href = $(this).data(“linkTo”)
},

Danke schön :)

Das von Ihnen ausgewählte Bild wird bereits für ein anderes Emoticon verwendet

Wer diese Meldung vom Windows Messenger präsentiert bekommt, hat ein Problem; bei mir äußerte es sich darin, dass ich zwar Emoticons hinzugefügt hatte, auf diese aber nicht zugreifen konnte. Beim erneuten Versuch, das Emoticon nochmal anzulegen, kam es zu der Meldung.

Eigentlich ist die Lösung ganz einfach, man muss nur wissen, wo man zu suchen hat.

Als erstes muss über die Ordner-Optionen eingestellt werden, dass alle Dateien (also auch die versteckten) angezeigt werden.

Und was ich jetzt schreibe, bezieht sich auf Windows 7; falls der Speicherort bei anderen Windows-Versionen abweicht, wäre ein Hinweis in den Kommentaren schön.

Die Emoticons sind in dem Ordner

Users/Dein Benutzername/AppData/Local/Microsoft/
Messenger/entsprechendeMailAdresse/ObjectStore/
CustomEmoticons

Sicherheitshalber habe ich alle Dateien in dem Ordner gelöscht, seitdem funktioniert alles wieder.

Notiz an mich selbst

Damit ich nicht immer wieder neu danach suchen muss:

1
2
3
4
5
6
7
8
9
10
11
12
13
function makeSafe($variable) {
    $variable = htmlentities($variable, ENT_QUOTES);
 
    if (get_magic_quotes_gpc()) { 
        $variable = stripslashes($variable); 
    }
 
    $variable = mysql_real_escape_string(trim($variable));
    $variable = strip_tags($variable);
    $variable = str_replace("\r\n", "", $variable);
 
    return $variable;
}

Und auf keinen Fall vergessen, vorher die Verbindung zur Datenbank aufzubauen…

Nachtrag:

Falls man mit UTF-8 als Zeichencodierung arbeitet, muss es

2
    $variable = htmlentities($variable, ENT_QUOTES, "UTF-8");

heißen; standardmäßig wird ISO-8859-1 erwartet, was zu lustigen Ergebnissen führen kann.

Windows Live Messenger: Downgrade

Es gibt Dinge, die muss man nicht verstehen. Da benutzt man seit längerer Zeit den Live-Messenger und plötzlich – quasi von jetzt auf gleich – funktioniert der Video-Chat nicht mehr. Anscheinend nach einem Update, hab ich aber auch nicht so direkt drauf geachtet.

Auf jeden Fall wird man, wenn der Video-Chat gestartet werden soll, mit einer relativ nichtssagenden Fehlermeldung abgespeist

messenger steht zur zeit nicht zur verfügung (0x8ac70013)

Die Google-Suche bringt zwar viele Ergebnisse, aber 99% beziehen sich auf Probleme im Zusammenhang mit dem Siteadvisor von McAfee. Nur blöd, wenn man den gar nicht drauf hat. Dann gibt es nämlich augenscheinlich keine Lösung.

Einzige Möglichkeit: Den nicht funktionierenden Messenger deinstallieren (über die Systemsteuerung) und die Version 8.5 installieren. Dann klappt’s auch wieder mit der Kamera. Den Download gibt’s hier:

http://www.microsoft.com/downloads/details.aspx?displaylang=de&FamilyID=7a1aae73-48cc-4f7a-b445-0487bd5e84ef