Subscribe to RSS feed



Ajax Control Toolkit

30. Oktober 2007
ajax-control-toolkit

Schon mal was von AJAX Toolkit gehört ? :-) Mit diesem Toolkit kann man WebAnwednung um AJAX Controls erweitern.

AJAX Control Toolkit

Web 2.0 – ModalBox (modal Dialog)

30. Oktober 2007
web-2-0-modalbox-modal-dialog

Mit diesem JavaScript kann man jede WebAnwednung um schöne ModalPopups erweitern. Diese Lösung ist um sonst, sieht sehr interessant aus und man kann sehr einfach in bestehender WebAnwedung verwendet werden….einfach nur die Installationanleitung folgen.

Vorsicht, diese Lösung hat einen Nachteil – eine ASPX- oder HTML-Seite wird zwar als Modal-Dialog angezeigt aber nicht 100% als MODAL behandel…d.h. solange sich der Benutzer nur in dem ModalDialog Bereich bewegt ist alles OK aber wenn er auf “deaktivierten” Bereich clickt, wird das ModalDialog sofort geschloßen. Trotzdem ist es aber eine interessante Lösung die man bestimmt auch produktiv einsetzen kann.

Link auf ModalBox

3D Dock unter Leopard ausschalten

25. Oktober 2007
3d-dock-unter-leopard-ausschalten

Ab Freitag Abend ist Leopard (Mac OS X 10.5) erhätlich. Wer gerne anstatt des 3D Docks gerne ein flaches dock wie bisher haben möchte muss folgende Terminalbefehle ausführen:

defaults write com.apple.dock no-glasss -boolean YES
killall Dock

Das wars, und schon erscheint das Dock im “alten glanz”.

Applikationsicon ändern zur Laufzeit

15. Oktober 2007
applikationsicon-aendern-zur-laufzeit

Das Applikationsicon zu ändern ist unter Delphi sehr einfach. Allerdings benötigt man hierfür zu aller erst eine entsprechende Resource-Datei und damit einen Resource-Editor. Da ich bei meiner Delphi 2007-Installation kein Borland Bildeditor mehr finden konnte, mit dem man prinzipiell so eine Resource-Datei erstellen konnte, bin ich nach kurzer Suche auf einen sehr brauchbaren Resource-Editor gestoßen:

Delphi Resource-Editor

In meinem Beispiel habe ich 2 Icons in die Resourcedatei hinzugefügt, wodurch mein Resultat schlussendlich folgendermaßen aussieht:

Delphi Resource-Editor

Wichtig ist hierbei, dass es ein Icon mit der Bezeichnung “MAINICON” gibt. Dieses wird als Standard-Icon der Applikation verwendet.

Als nächstes speichert man die Resource als z.B. “Test.res” in das Projektverzeichnis der Applikation.

Um die Resourcedatei in das Programm einzubinden genügt:

{$R Test.res}

Schlussendlich genügt dann folgender Code (bei meinem Beispiel) um das Icon zu ändern:

  Icon.Handle := LoadIcon(HInstance, 'ICON2');

Um das Standardicon wieder herzustellen reicht demnach:

  Icon.Handle := LoadIcon(HInstance, 'MAINICON');

Excel-Dateien in DataSet laden

11. Oktober 2007
excel-dateien-in-dataset-laden
private DataSet LadeExcelInDataSet()
{
    DataSet dsReturn = new DataSet();
    if (dlgOpen.ShowDialog() == DialogResult.OK)
    {
        // Excel als Application initialisieren
        Microsoft.Office.Interop.Excel.ApplicationClass app = new ApplicationClass();
        // Workbook Objekt öffnen
        Microsoft.Office.Interop.Excel.Workbook workBook = app.Workbooks.Open(dlgOpen.FileName,
                                                     0,
                                                     true,
                                                     5,
                                                     "",
                                                     "",
                                                     true,
                                                     Microsoft.Office.Interop.Excel.XlPlatform.xlWindows,
                                                     "\t",
                                                     false,
                                                     false,
                                                     0,
                                                     true,
                                                     1,
                                                     0);
        // Aktives Worksheet auswählen
        Microsoft.Office.Interop.Excel.Worksheet workSheet = (Microsoft.Office.Interop.Excel.Worksheet)workBook.ActiveSheet;
        // DataTable erstellen
        dsReturn.Tables.Add(new System.Data.DataTable());
        int intColumnCount = 0;
        // Spalten aus Excel in DataSet anlegen (beginnend mit 1!)
        // in der 1. Zeile stehen die Überschriften
        try
        {
            for (int x = 1; x <= workSheet.Columns.Count; x++)
            {
                if (((Microsoft.Office.Interop.Excel.Range)workSheet.Cells[1, x]).Value2 == null)
                {
                    break;
                }
                DataColumn colNew = new DataColumn();
                colNew.ColumnName = ((Microsoft.Office.Interop.Excel.Range)workSheet.Cells[1, x]).Value2.ToString();
                colNew.Caption = ((Microsoft.Office.Interop.Excel.Range)workSheet.Cells[1, x]).Value2.ToString();
                dsReturn.Tables[0].Columns.Add(colNew);
                intColumnCount++;
            }
            // Ab Zeile 2 Daten auslesen
            int rowIndex = 2;
            // Alle Datensätze ab Zeile einlesen
            while (((Microsoft.Office.Interop.Excel.Range)workSheet.Cells[rowIndex, 1]).Value2 != null)
            {
                DataRow drNew = dsReturn.Tables[0].NewRow();
                // für jede Zeile jede Spalte auslesen
                for (int x = 1; x <= intColumnCount; x++)
                {
                    if (((Microsoft.Office.Interop.Excel.Range)workSheet.Cells[rowIndex, x]).Value2 == null)
                    {
                        drNew[x - 1] = DBNull.Value;
                        continue;
                    }
                    drNew[x - 1] = ((Microsoft.Office.Interop.Excel.Range)workSheet.Cells[rowIndex, x]).Value2.ToString();
                }
                dsReturn.Tables[0].Rows.Add(drNew);
                rowIndex++;
            }
            dsReturn.Tables[0].AcceptChanges();
        }
        catch (Exception ex)
        {
            MessageBox.Show("Fehler beim Einlesen der Excel-Datei \n" + ex.Message);
        }
    }
    return dsReturn;
}

Und eine Beispiel-Implementation zum Laden einer Excel-Datei in ein GridView der Firma DevExpress

DataSet dsAusExcel = LadeExcelInDataSet();
BindingSource bsDummie = new BindingSource();
bsDummie.DataSource = dsAusExcel;
bsDummie.DataMember = dsAusExcel.Tables[0].TableName;
grdUpdate.DataSource = bsDummie;

Brauchbare Programme

11. Oktober 2007
brauchbare-programme

Die folgenden 2 Programme sind für einige Entwickler sicherlich Interessant und sicherlich nicht sehr populär, weshalb ich diese hier Poste.

Zum einem ein Mindmap-Manager Namens FreeMind. Es handelt sich dabei um ein OpenSource-Projekt. Mit Mindmaps lassen sich schnell viele Informationen strukturiert aufbereiten. Einfach mal testen:

http://freemind.sourceforge.net/


Ein weiteres Tool, dass wohl nicht für jedermann sinnvoll erscheinen mag ist ein Wissens- und Literaturmanagement-Programm:

http://www.citavi.com/

Die kostenlose Version von Citavi erlaubt pro Projekt maximal 100 Einträge, was allerdings zum Testen mehr als genug sein sollte.