-
ACHTUNG - NEUES BLOG
Ab sofort steht unter http://devtyr.norberteder.com mein neues Blog zur Verfügung. Dieses Blog wird nicht weiter betreut, bleibt aber erhalten. Neue Eintr%auml;ge erfolgen nur mehr im neuen Blog. Kommentare werden ebenfalls nicht mehr behandelt. Wer weiterhin meinen Einträgen und Aktivitäten folgen möchte, möge bitte RSS-Feeds, Verlinkungen etc. an die neue Location anpassen.
|
Microsoft + Ford = vernetztes Auto
30.12.06 - Internet Beitrag von Norbert Eder| | Laut futurezone.orf.at wollen Microsoft und Ford zusammen ein "vernetztes Auto" schaffen und entsprechend vermarkten.
Dabei soll es nicht nur um bereits alltägliche Funktionen wie GPS, Mobil-Telefon-Anbindung etc. gehen, sondern um weiterführende Funktionalitäten á la Mailempfang usw.
Na da bin ich dann ja gespannt was uns da erwarten wird. Als Ford-Fahrer lass ich mich gerne überraschen, aber nur solange ich das Auto nicht bei 140 Sachen auf der Autobahn kurzerhand rebooten muss ...
| | | 1 Kommentar
- 1081 mal angesehen
| 0 Trackbacks
| Permalink | Trackback-URL |
Ausklang 2006
28.12.06 - Blog-Intern Beitrag von Norbert Eder| | Liebe LeserInnen,
ich danke euch recht herzlich für die Unterstützung im vergangenem Jahr, für die vielen Ideen, Anregungen und auch Kritiken. Ebenfalls ein Dankeschön für die Rückmeldungen der von mir geschriebenen Artikel und Tutorials. Wie ihr wisst, lebt man "in diesem Geschäft" von Rückmeldungen. Und hier kann ich sagen, dass ich eine vorbildliche Leserschaft hinter mir habe. DANKE.
Als Rückblick möchte ich kurz ein paar Ereignisse erwähnen:
Bekanntschaften
Dieses Jahr hat mir einige Bekanntschaften und Kontakte gebracht. Vor allem auch eine Zusammenarbeit mit Kai. Hier wird es - denke ich - noch einige Überraschungen für die .NET Community geben.
Auch gebührt mein aufrichtiger Dank dem ehrenwerten Herrn Kai Giza, der immer - in jeder Lebenslage - ein offenes Ohr (oder auch zwei) hat und jegliche Nervigkeiten eisern erträgt. Ich danke euch für eure Unterstützung und ich hoffe, dass ich euch in so manchen Diskussionen auch ein wenig bereichern konnte.
Persönlicher Erfolg
Nachdem ich es heuer endlich schaffte mein Studium abzuschließen (neben der Arbeit gear nicht so einfach), konnte ich mich gegen Ende dieses Jahres auf Kontakte und Zusammenarbeiten konzentrieren. Zusammen mit Persönlichkeiten der .NET Szene (beispielsweise Hannes Preishuber und Thomas Bandt) konnte ich Wissen aufbauen und auch selbst Wissen weitergeben. Zu nennen seien hier Artikel in den Zeitschriften Visual Studio One und dotnetPRO. Weitere Zeitschriften werden folgen, aber hierzu darf ich erst 2007 Genaueres verraten.
Community
Nicht nur ich bin der .NET Community einen Schritt näher gekommen. Nein, auch die Community kam zu mir. Durch mein verstärktes Engagement im .NET-Bereich auf tutorials.de konnte ich eine enge Zusammenarbeit mit dem .NET Nachwuchs erreichen und unterstützend tätig sein. Dies war und ist eine große Freude für mich und wird auf jeden Fall weiter verfolgt.
Auch mein Weblog erfreute sich zunehmender Beliebtheit. Steigende Userzahlen, sowohl Unique User, als auch Pageviews, zeigen mir, dass ich nicht ganz falsch liegen kann. Ich hoffe auch hier im nächsten Jahr weiter punkten zu können.
Projekte
Zusammen mit Kai wurde in kürzester Zeit das Projekt .NET Casts aus dem Boden gestemmt. Dies wurde zwar noch nicht bekannt gemacht, aber soll hier auf jeden Fall seinen Platz finden. Mit Podcasts, Webscasts und jede Menge Tutorials soll grundlegendes, als auch weiterführendes Wissen vermittelt werden. Eben ein Beitrag an diese wundervolle Community.
Weitere Projekte stehen an und wollen erledigt werden. Näheres wird es dazu wohl erst 2007 geben, aber ihr dürft gespannt sein.
Danke
Lange Rede, kurzer Sinn: Allen Lesern, Unterstützern und aktiven Beteiligten spreche ich hiermit meine Dank aus und wünsche ALLEN ein wunderbares 2007, viel Erfolg und mögen eure Wünsche und Ziele in Erfüllung gehen.
Auf dass sich die .NET Community 2007 noch ein wenig näher kommt und die dünnen Seile zu Microsoft stärker werden mögen.
Danke.
| | | Kommentar hinzufügen
| 0 Trackbacks
| Permalink | Trackback-URL |
WPF/E in Aktion
28.12.06 - .NET, Base Framework Beitrag von Norbert Eder
Auflistung Visual Studio Shortcuts
28.12.06 - .NET, Base Framework, Visual Studio Beitrag von Norbert Eder| | Kai hat sich die Mühe gemacht, die wichtigsten Visual Studio Shortcuts ein einem PDF zusammen zu fassen. Diese Liste ist sicherlich nicht vollständig, wird aber sehr wahrscheinlich um neue Shortcuts erweitert werden. Wer also zukünftig vermehrt auf seine Maus verzichten möchte, der sollte einen Blick darauf werfen.
| | | Kommentar hinzufügen
- 4 mal angesehen
| 0 Trackbacks
| Permalink | Trackback-URL |
ComboBox als DropDownList kann kein Text gesetzt werden
28.12.06 - .NET, WPF Beitrag von Norbert Eder| | Wer eine ComboBox verwendet und die Eigenschaft DropDownStyle auf DropDownList gesetzt hat, kann keinen Text mehr setzen. Dadurch entfällt auch die Möglichkeit, einen Default-Text zu setzen, wenn kein Item ausgewählt ist/wurde. Dem kann durch eine kurze und schnell Ableitung leicht Abhilfe geschafft werden.
public partial class ComboBoxEx : ComboBox
{
private Label _statusLabel = new Label();
private string _statusText = null;
public string StatusText
{
get { return this._statusText; }
set { this._statusText = value; }
}
public ComboBoxEx()
{
InitializeComponent();
Init();
this.Controls.Add(this._statusLabel);
this._statusLabel.Click += new EventHandler(_statusLabel_Click);
this.SizeChanged += new EventHandler(ComboBoxEx_SizeChanged);
this.SelectedIndexChanged += new EventHandler(ComboBoxEx_SelectedIndexChanged);
}
void _statusLabel_Click(object sender, EventArgs e)
{
this.DroppedDown = true;
}
void ComboBoxEx_SelectedIndexChanged(object sender, EventArgs e)
{
if (this.SelectedItem == null)
Init();
else
this._statusLabel.Visible = false;
}
void ComboBoxEx_SizeChanged(object sender, EventArgs e)
{
Init();
}
public void Init()
{
if (this.DropDownStyle == ComboBoxStyle.DropDownList)
{
this._statusLabel.Visible = true;
this._statusLabel.Location = new Point(1, 1);
this._statusLabel.Size = new Size(this.Width - 20, this.Height - 2 );
if (this._statusText != null)
{
this._statusLabel.Text = this._statusText;
this._statusLabel.Font = this.Font;
}
else
{
this._statusLabel.Text = "[Nothing selected]";
}
this._statusLabel.BringToFront();
}
else
{
this._statusLabel.Visible = false;
}
}
}
Es wird direkt von der ComboBox abgeleitet. Die neue Klasse erhält die Eigenschaft StatusText mit dessen Hilfe ein entsprechender Text gesetzt werden kann, der angezeigt wird, wenn kein Item ausgewählt ist.
| | | Kommentar hinzufügen
| 0 Trackbacks
| Permalink | Trackback-URL |
Objekt auf Eigenschaftsänderungen überprüfen
28.12.06 - .NET, Base Framework Beitrag von Norbert Eder| | Es kommt dann doch vor, dass es notwendig ist festzustellen, ob sich Eigenschaften eines Objektes verändert haben. Beispielsweise um beim User nachzufragen, ob er die Änderungen auch tatsächlich speichern möchte.
Nun ist es ziemlich öd, sich alle alten Werte zu merken und mit denen vor der Speicherung zu vergleichen ob sich hier Unterschiede finden.
Statt dessen bietet sich die Implementierung des Interfaces INotifyPropertyChanged an. Dadurch erhält das eigene Objekt ein Event PropertyChanged welches ausgelöst wird, wenn eine der Eigenschaften verändert wurde. So fällt jegliche lästige Abfragerei flach und man bekommt genau das was man möchte. Eine Benachrichtigung, wenn sich mindestens eine Eigenschaft verändert hat. Ist doch mal was.
Ein Beispiel aus der Praxis kann dann so aussehen:
public class ProgramProperties : BasePropertyClass, INotifyPropertyChanged
{
#region Members
private bool _checkUpdateStartup = false;
private bool _receiveConfigurationsFromServer = false;
private string _serverUri = null;
#endregion
#region Properties
public bool CheckUpdateStartup
{
get { return this._checkUpdateStartup; }
set
{
if (this._checkUpdateStartup != value)
NotifyPropertyChanged("CheckUpdateStartup");
this._checkUpdateStartup = value;
}
}
public bool ReceiveConfigurationsFromServer
{
get { return this._receiveConfigurationsFromServer; }
set
{
if (this._receiveConfigurationsFromServer != value)
NotifyPropertyChanged("ReceiveConfigurationsFromServer");
this._receiveConfigurationsFromServer = value;
}
}
public string ServerUri
{
get { return this._serverUri; }
set
{
if (this._serverUri != value)
NotifyPropertyChanged("ServerUri");
this._serverUri = value;
}
}
#endregion
#region INotifyPropertyChanged Members
public event PropertyChangedEventHandler PropertyChanged;
#endregion
#region Private Members
private void NotifyPropertyChanged(String info)
{
if (PropertyChanged != null)
{
PropertyChanged(this, new PropertyChangedEventArgs(info));
}
}
#endregion
}
| | | 1 Kommentar
- 962 mal angesehen
| 0 Trackbacks
| Permalink | Trackback-URL |
Enterprise Library 3.0 December 2006 CTP verfügbar
28.12.06 - .NET, Base Framework, 3rd Party Tools Beitrag von Norbert Eder
Coding Styleguides in Fachzeitschriften
28.12.06 - .NET, Allerlei Beitrag von Norbert Eder| | Gestern stand wieder ein netter Abend mit jeder Menge Entwickler-Fachliteratur am Programm. Dieses Mal mit unterschiedlichen Fachzeitschriften zu aktuellen Themen.
Dabei ist mir ein Punkt aufgefallen, den ich hier kurz vorbringen möchte, um auch eure Meinung dazu zu erfahren. Möglicherweise bin ich hier auch ein wenig zu kritisch:
Artikel in Fachzeitschriften sind ja ansich dafür gedacht, anderen Personen Wissen zu vermitteln und zwar auf eine richtige Art und Weise. Dies bedeutet, dass auch Code-Beispiele so präsentiert werden sollten, dass diese nicht nur a) funktionieren, sondern auch b) Coding-Styleguides entsprechen. Der eine Punkt ist natürlich, dass jeder Autor versucht seine Beispiele verständlich zu formulieren und auch so den Sourcecode einfach hält, um das Wesentliche zu unterstreichen. Wenn ich aber folgenden Code sehe, dreht sich bei mir - ganz ehrlich - der Magen um:
public class BildÜberTextAktionsliste()
{
private UCBildÜberText aktivesControl;
}
Nun, was genau stört mich daran?
1. Ich bin es gewohnt in internationalen Unternehmen (mit zahlreichen Entwicklern) zu arbeiten. So müssen Styleguides eingehalten werden und man muss sich auf eine verwendete Sprache einigen. Und die Sprache der Wahl ist hier Englisch. Daher stört es mich persönlich wenn ich deutschen Sourcecode lese (zumal die Programmiersprachen selbst in Englischer Sprache zum Entwickler schreiten).
2. Wenn jemand schon unbedingt seinen Sourcecode auf deutsch schreiben muss (was in Verbindung mit den englischen Sprachelementen grässlich aussieht), dann sollten zumindest keine Umlaute verwendet werden. Viel Spass wenn da ein japanischer Kollege drübersehen muss ...
3. Um etwaigen Missverständnissen aus dem Weg zu gehen und um auf den ersten Blick erkennen zu können womit eine Variable initialisiert wurde, sollte dies schon bei der Deklaration geschehen. Sauber ist sauber.
Jemand der in einer Lernphase ist, sieht sich solche Dinge ab und befindet sie für gut, da ein "Guru" dies so verwendet hat. Dabei schleicht sich dabei ein schlampiger Programmierstil ein. Niemand ist vor schlampigen Code gefeiht, aber gerade bei Veröffentlichungen sollte hier ein extra Auge darauf geworfen werden. Und um dem ganzen jetzt noch den Hut aufzusetzen: Aufgefallen ist mir dieser Programmierstil hauptsächlich bei Personen, die aus dem Visual Basic Umfeld kommen.
Eventuell sollte dies zukünftig von einigen Herren bedacht werden. Wie schon gesagt, sauber ist sauber.
| | | 4 Kommentare
- 1023 mal angesehen
| 0 Trackbacks
| Permalink | Trackback-URL |
DasBackup: Produktupdate
27.12.06 - Tools, DasBackup Beitrag von Norbert Eder| | Ab sofort gibt es eine neue Version verfügbar, die ein paar Änderungen aufweist:
Windows Forms und Konsolen-Anwendung getrennt
Beide Anwendungen wurden getrennt, arbeiten aber auf die gleiche Art und Weise.
Icons ersetzt
Einige der Icons wurden entsprechend verändert, um deutlicher zu zeigen, welche Funktionalität sich tatsächlich dahinter verbirgt.
Bug in Konsolen-Anwendung
Bei der Parameter-Übergabe hat sich ein kleiner Fehler eingeschlichen, welcher hiermit enthauptet wurde ;-)
Sicherheits-Abfragen
Auch diese sind aktuell verfügbar.
Konfiguration editieren
Eine Konfiguration kann nun direkt aus dem Hauptfenster aus bearbeitet werden.
Bug Zip-File
Konnte eine Datei nicht gelesen werden (weil von einem anderen Prozess geblockt) kam es zu einem Ausnahmefehler. Dieser wird nun abgefangen, sowie diese Datei ausgelassen. Das Backup wird nun erstellt.
Weitere kleinere Änderungen
Zudem gab es weitere kleinere Änderungen, wie auch von Marcus schon angeregt und kleinere Fehlerbereinigungen. Ich hoffe die Änderungen waren in Eurem Sinne. Weitere konstruktive Kritik ist natürlich gerne gesehen.
Download 1.0.1
Hinweis: Eine neuere Version ist verfügbar! Weitere Informationen finden sich auf der DasBackup Projekt-Seite.
| | | 2 Kommentare
- 967 mal angesehen
| 0 Trackbacks
| Permalink | Trackback-URL |
DasBackup: Einfaches Backup Tool für schnelle Sicherungen
27.12.06 - Tools, DasBackup Beitrag von Norbert Eder| | Es gibt ja zahlreiche Backup Tools die mehr oder weniger das tun, was sie tun sollen. Aber oft entsprechen sie einfach nicht den eigenen Wünschen, wodurch man genötigt wird, sich einmal kurz hinzusetzen und ein Wunschprogramm zu schreiben. Das habe ich gemacht und stelle es hier zur Verfügung, sollte es jemand benötigen.
Hier eine kurze Auflistung der Features und ein paar Screenshots.
Unterschiedliche Konfigurationen
Unterstützt werden unterschiedliche Konfigurationen, um eben unterschiedliche Verzeichnisse sichern zu können. Dies ist vor allem dann praktisch, wenn zeitlich gesteuert manche Daten öfter zu sichern sind als andere. Die Konfigurationen können über einen Wizard erstellt und über eine kleine Oberfläche verwaltet werden.
Commandline Aufruf
Zusätzlich zur Windows Forms Oberfläche kann die Anwendung auch per Commandline gestartet werden, ist also batchfähig. Gerade für zeitgesteuerte Sicherungen ganz hilfreich.
ZIP-Unterstützung
Alle Daten werden in einem ZIP-File abgelegt und stehen so auch über das bevorzugte ZIP-Tool zur Verfügung.
Wie die Anwendung genau zu verwenden ist und welche Commandline Parameter zur Verfügung stehen, ist in der beigelegten README.TXT ersichtlich.
Hier nun noch ein paar Screenshots:
DasBackup Hauptfenster
DasBackup Konfigurationsmenü
DasBackup Konfigurations-Einstellungen
Zu guter Letzt noch der Link zum Download:
Download DasBackup 1.0.0
Voraussetzungen
* .NET 2.0
Hinweis: Eine neuere Version ist verfügbar! Weitere Informationen finden sich auf der DasBackup Projekt-Seite.
| | | 4 Kommentare
- 1317 mal angesehen
| 3 Trackbacks
| Permalink | Trackback-URL | Zurück Weiter
|
|
|
|
|
|
|