Thread vs. BackgroundWorker

by Flo 13. May 2008 01:30

So, heute hatte ich mal wieder das Problem, dass meine GUI bei einem größeren Lauf eingefroren ist. Was man dagegen tun kann? Klar, die Arbeit in einen Worker-Thread oder per BackgroundWorker auslagern. Mein Problem: Ich habe beides nie so richtig geschnallt.

Ich habe heute, als ich eine Mail an die Techies von MS geschrieben habe, auch ehrlich gesagt gar nicht mehr an den BackgroundWorker gedacht und war total auf den Thread fixiert. Die letzte Mail hat mich dann aber doch wieder in die Richtung der vergessenen Lösung gedrängt und nach ein wenig Recherche habe ich das hier gefunden. Das war mal eine nützliche Anleitung! Nun läuft alles mit BackgroundWorker. Prima!

Ich werde mich demnächst sicherlich doch wieder mit den Threads beschäftigen. Kann doch nicht sein, dass ich das nicht reinkrieg. So schlimm kanns ja nicht sein. ;-)

Tags: , ,

.NET

Spaltenindex anhand des Spaltenbuchstabens in Excel ermitteln

by Flo 9. May 2008 12:38

Heute musste ich bei einem kleinen Projekt den Spaltenindex anhand des oder der Buchstaben ermitteln. Wahrscheinlich gibt es dafür bereits etwas fertiges. Nichts desto trotz habe ich mir selbst etwas einfallen lassen. ;-)

public int GetColumnIndexByLetter(char[] cs)
{
    int index = 0;
    int tempIndex = 0;

    for (int i = cs.Length, j = 0; i > 0; i--, j++)
    {
        switch (cs[j])
        {
            case 'A':
                tempIndex = 1;
                break;
            case 'B':
                tempIndex = 2;
                break;
            case 'C':
                tempIndex = 3;
                break;
            case 'D':
                tempIndex = 4;
                break;
            case 'E':
                tempIndex = 5;
                break;
            case 'F':
                tempIndex = 6;
                break;
            case 'G':
                tempIndex = 7;
                break;
            case 'H':
                tempIndex = 8;
                break;
            case 'I':
                tempIndex = 9;
                break;
            case 'J':
                tempIndex = 10;
                break;
            case 'K':
                tempIndex = 11;
                break;
            case 'L':
                tempIndex = 12;
                break;
            case 'M':
                tempIndex = 13;
                break;
            case 'N':
                tempIndex = 14;
                break;
            case 'O':
                tempIndex = 15;
                break;
            case 'P':
                tempIndex = 16;
                break;
            case 'Q':
                tempIndex = 17;
                break;
            case 'R':
                tempIndex = 18;
                break;
            case 'S':
                tempIndex = 19;
                break;
            case 'T':
                tempIndex = 20;
                break;
            case 'U':
                tempIndex = 21;
                break;
            case 'V':
                tempIndex = 22;
                break;
            case 'W':
                tempIndex = 23;
                break;
            case 'X':
                tempIndex = 24;
                break;
            case 'Y':
                tempIndex = 25;
                break;
            case 'Z':
                tempIndex = 26;
                break;
        }

        if (i == 1)
            index += tempIndex;
        else
            index += tempIndex * ((i-1) * 26);
    }

    return index;
}

Tags: ,

.NET

Excel-Daten auslesen mit C#

by Flo 14. January 2008 22:20

Gestern hatte ich das Bedürfnis, Daten aus einem Excel-File auszulesen und sie in einer .aspx-Seite darzustellen. Das Ganze ist per OleDbConnection sehr easy und leicht zu managen:

String connectionString = "Provider=Microsoft.Jet.OLEDB.4.0;" +
"Data Source=" + Server.MapPath("List.xls") + ";"
+
"Extended Properties=Excel 8.0;";
OleDbConnection myConn = new OleDbConnection(connectionString);
// Open connection with the database.
myConn.Open();
// The code to follow uses a SQL SELECT command to display the data from the worksheet.
// Create new OleDbCommand to return data from worksheet.
OleDbCommand myComm =new OleDbCommand("SELECT * FROM myRange1"
, myConn);
// Create new OleDbDataAdapter that is used to build a DataSet
// based on the preceding SQL SELECT statement.
OleDbDataAdapter da = new OleDbDataAdapter
();
// Pass the Select command to the adapter.
da.SelectCommand = myComm;
// Create new DataSet to hold information from the worksheet.
DataSet ds = new DataSet
();
// Fill the DataSet with the information from the worksheet.
da.Fill(ds, "XLData"
);
// Bind data to DataGrid control.
resultGridView.DataSource = ds.Tables[0].DefaultView;
resultGridView.DataBind();
// Clean up objects.
myConn.Close();

Vielleicht hilft's ja jemandem. :)

Tags: ,

.NET

Powered by BlogEngine.NET 1.5.0.7
Theme by Mads Kristensen

Über mich

Ich bin freiberuflicher Softwareentwickler (.NET, Cocoa, Webentwicklung) und versuche mich als hobbymäßig an der Fotografie.

Seit 1. Oktober 2007 studiere ich in an der Georg-Simon-Ohm-Hochschule in Nürnberg Wirtschaftsinformatik.

Calendar

<<  September 2010  >>
MoTuWeThFrSaSu
303112345
6789101112
13141516171819
20212223242526
27282930123
45678910

View posts in large calendar