Mittwoch, 28. Mai 2008

Zeilenumbruch in .NET Textboxen

Ich habe mich soeben knapp 30 Minuten über das seltsame Verhalten und die unverständlichen Zeichen in meiner Applikation gewundert.

Und zwar wollte ich auf Änderungen des Textes einer Windows::Forms::TextBox reagieren und überprüfen, ob der aktuelle Text dem geladenen entspricht.

Nun habe ich Newline Characters verwendet a'la " \n".
Diese funktionieren meines Wissens ohne Probleme und werden auf der MSDN als Standard Linefeed chars angegeben.
Jedoch erhalte ich in der Textbox bei dessen Verwendung zwar wunderhübsche, aber dennoch nicht angebrachte Rechtecke anstelle meines implementieren Enters.

Nach kurzer Suche bin ich auf einige nette Lösungen und Problemangaben gestoßen,
die ich natürlich hier allem meinen Lesern preisgeben möchte:

Yeah, this is one of those stupid "under the hood" things that you're just expected to know somehow. In a lot of Windows text, the "new line" character is actually two characters together; namely, "\r\n". This is a carriage return followed by a new line, and it should equate to a hard return in windows text boxes.

Other OS's use just plain "\n" for new lines, which makes a lot more sense to me, but because windows uses "\r\n", it makes it a lot of fun to read text files that were created on Linux or Mac!
- Professor Musstard (CSharpHelp)


Das Problem ist der altbewährte Streitfallvon little und Big Endian -.-
Windows Leute dachten sich, es ist besser ein Zeichen zu sparen und nur "\n" zu verwenden, wogegen sich die Unixler für "mehr Kontrolle" entschieden, da es mit der 2 Charakter Methode möglich ist, in die nächste Zeile zu springen OHNE dabei den Cursor zu bewegen oder
zum Anfang derselben Zeile zu springen.

Prinzipiell finde ich ja beide Herangehensweisen irgendwie logisch nachfolziehbar... was mich jedoch echt stört, warum M$ sich dann nicht für eine Sache entscheidet und diese beibehält?
Wieso kann ich in einem Label einen Linefeed durch eine einfaches \n deklarieren, in einer Textbox jedoch nicht? Dafür kann ich in einer Textbox aber einen Tabulator mittels "\t" einfügen, was ich wiederum in einem Label noch nicht zusammengebracht habe -.-

Dienstag, 27. Mai 2008

wtf? Experten bitten um Hilfe: Mysteriöser Traffic-Anstieg auf Port 1533

Die Sicherheitsexperten von SANS haben einen erhöhten Traffic-Anstieg auf Port 1533 bemerkt.
Allerdings wissen die Experten derzeit nichts damit anzufangen. Deswegen bitten Sie um die Mithilfe von Lesern. Wer einen guten Mitschnitt von Paketen hätte, sollte sich mit den Profis kurzschließen. Womöglich könne man gemeinsam herausfinden, was vor sich geht.

Wirft man einen genaueren Blick auf die grafische Auswertung von SANS ist zu sehen, dass sich am 24. und 25. Mai der Traffic auf Port 1533 mehr als vervierfacht hat. (tecchannel.de - jdo)

Sonntag, 11. Mai 2008

Die besten Troubleshooting-Tools für Windows

Kostenlose Troubleshooting-Tools helfen wo Windows Probleme macht. Diese Gratis-Tools bieten Hilfe beim Test von Mainboard und Arbeitsspeicher, Messen der Temperaturen im System und der Fehlerdiagnose.

den kompletten Bericht auf tecchannel.de

Freitag, 11. April 2008

Picture Combo Box in .NET

Prinzipiell kann man in einer Standard ComboBox (namespace System::Windows::Forms::ComboBox) lediglich Texte anzeigen.
Zwar kann das Control Objekte enthalten, zeigt aber lediglich die Texte, die es mittels der "ToString()" Methode enthält an.

Durch einen kleinen Umbau kann man das Control jedoch dazu bringen, auch Images in der Auwahl anzuzeigen ^^

Dazu muss man lediglich das "DrawItem" Event abhandlen,
der Code im Folgenden hier:

// Event Abonnement
this->comboBox->DrawItem += gcnew System::Windows::Forms::DrawItemEventHandler(this, &Form1::comboBox_DrawItem);

// Methode
private: System::Void comboBox1_DrawItem(System::Object^ sender, System::Windows::Forms::DrawItemEventArgs^ e)
{
ComboBox ^combo = (ComboBox ^)sender;
if (e->Index != -1)
{
e->Graphics->DrawString(combo->Items[e->Index]->ToString(), this->Font,
(gcnew System::Drawing::Pen(System::Drawing::Color::Black))->Brush,
50, e->Bounds.Y + 16);
e->Graphics->DrawImage(this->m_imageList->Images[e->Index], e->Bounds.Location);
}
}

(Alle codebezogenen Abschnitte beziehen sich auf VC++.NET 2.0)

Alle verwendeten Images werden in einer System::Windows::Forms::ImageList gehalten und Folgendermaßen zugewiesen:
this->m_imageList->Images->SetKeyName(0, L"Bildname.png");

Wichtig ist, dass die ComboBox als DrawModen einen OwnerDrawn hat,
also System::Windows::Forms::DrawMode::OwnerDrawVariable oder
System::Windows::Forms::DrawMode::OwnerDrawFixed
Die if-Verzweigung überprüft den Index, also ob die aktuelle Auswahl eine gültige ist.


Das wars soweit von mir,
falls eventuelle Fragen auftauchen sollten, einfach einen Comment hinterlassen,
ich kann dann entweder sources schicken oder das Problem direkt behandlen ^^

angenehmen Tag noch
mfg
euer incredible Leitman


EDIT:
Ich bitte um Einsicht und Entschuldigung wegen der durchaus schlechten und unübersichtlichen Formatierung. Leider unterstützt die Blogging Oberfläche keine Code - Tags oder ermöglicht eine angenehme Formatierung -.-

Mittwoch, 9. April 2008

Gratis PHP Buch - und andere günstig

phpforum.de und buecherbillig.de verschenken insgesamt 800 Exemplare von „Exploring PHP: Von Insidern lernen“.

Voraussetzung ist eine kostenlose Registrierung bei http://www.phpforum.de. Das Buch „Exploring PHP: Von Insidern lernen“ können Mitglieder dann kostenlos beziehen. Es fallen lediglich Versandkosten in Höhe von 3,95 Euro an. Ab einem Bestellwert von 20 Euro würden sich Käufer innerhalb Deutschlands die Versandkosten sparen -.-

Die limitierte Gratis-Buch-Aktion geht bis zum 31.05.2008.

Gibt aber nicht nur PHP Stuff, sondern auch anderes IT Zeugs haufenweise, grafische Programmierung, Webentwicklung, Restposten...
ich find da immer was XD
Gebt als geworbener user doch bitte "the incredible Leitman" ein ^^
Keine Ahnung wozu das gut ist, aber wenn ich ne Nachricht bekomme, werd ichs weiterleiten :D

Vielleicht noch ein Hinweis:
Fachbücher und Zeitschriften, sofern nicht allgemein bildend, lassen sich steuerlich absetzen ^^
(wenn sie beruflich genutzt werden?)
genaueres bitte beim österreichischen Finanzamt nachzufragen :)


mfg und viel Spaß beim Lesen
euer incredible Leitman

Dienstag, 8. April 2008

Die besten Check- und Sicherheits-Tools

Finanzdaten, private Post, geschäftliche Projekte – auf dem PC findet sich so allerhand, das nicht in falsche Hände geraten sollte. Es gilt daher, Neugierige und Kriminelle auszusperren.

hier (Link sponsored by tecchannel ^^) der komplette Bericht und Tools, Softwarevorschläge

Donnerstag, 27. März 2008

.NET - Strings formatieren

So, da ich die Möglichkeiten nun zum bereits dritten Mal in einem Monat suche, werde ich mir hier ein Flag erstellen ^^

--> http://alexonasp.net/samples/stringformatting/