Posts
349
Comments
104
Trackbacks
4
January 2009 Entries
ZKM in Karlsruhe

Wenn mal jemand in Karlsruhe ist und Zeit hat, dann kann ich ihm einen Besuch im Zentrum für Kunst und Medientechnologie Karlsruhe (ZKM) in Karlsruhe empfehlen ZKM >>.

Hier gibt es das Medienmuseum. Das ZKM | Medienmuseum ist das weltweit erste und einzige Museum für Interaktive Kunst. Das thematische Spektrum reicht vom interaktiven Film über Simulationstechnik für den Cyberspace bis zum Einsatz aktueller Softwareapplikationen im Internet. Auch verschiedene alte Rechner und Computerspiele vom C64 bis hin zur aktuellen Playstation kann man sehen und spielen.

Das toll daran ist, dass man an den meisten Applikationen (und auch die Computerspiele) selbst ausprobieren kann.

llb_090124_000014640_bf_2

posted @ Tuesday, January 27, 2009 8:10 AM | Feedback (0)
Beispiele für die Verwendung von Cookies

Fürs Archiv drei Beispiele für die Verwendung von Cookies:

        // Cookie setzen
        Response.Cookies["Test"].Value = Wert_uebergeben;
        Response.Cookies["Test"].Expires = DateTime.Now.AddMonths(2);

        // Cookie auslesen
        Label1.Text = Request.Cookies["Test"].Value;

        // Cookies mit Schlüsseln (mehrere Werte) setzen
        Response.Cookies["MehrereWerte"]["Wert1"] = "Value 1";
        Response.Cookies["MehrereWerte"]["Wert2"] = "Value 2";

        // Cookies mit Schlüsseln auslesen
        Label1.Text = Request.Cookies["MehrereWerte"]["Wert1"] + "<br />";
        Label1.Text += Request.Cookies["MehrereWerte"]["Wert2"];

        // HttpCookie setzen
        HttpCookie Cookie = new HttpCookie("MehrereWerte");
        Cookie.Values.Add("Wert1", "Value 1");
        Cookie.Values.Add("Wert2", "Value 2");
        Response.AppendCookie(Cookie);

        // ArrayList in ein Cookie serialisieren
        ArrayList Array = new ArrayList();
        Array.Add("Value 1");
        Array.Add("Value 2");

        XmlSerializer xs = new XmlSerializer(Array.GetType());
        StringWriter w = new StringWriter();
        xs.Serialize(w, Trainings);
        w.Close();
        string wert = w.ToString();
        wert = wert.Replace("\n", "");
        wert = wert.Replace("\t", "");
        wert = wert.Replace("\r", "");
        Response.Cookies["CookieSerialisiert"].Value = wert;

        // serialisiertes Cookie auslesen
        String wert = Request.Cookies["CookieSerialisiert"].Value;
        StringReader r = new StringReader(wert);
        XmlSerializer d = new XmlSerializer((new ArrayList()).GetType());
        Object Test = d.Deserialize(r);
        r.Close();
        Label1.Text = ((ArrayList)Test)[0] + " " + ((ArrayList)Test)[1];

posted @ Wednesday, January 21, 2009 1:35 PM | Feedback (0)
SharePoint: Werte aus einer Datenbank-Tabelle in eine Liste einfügen / updaten

Manchmal kann es einer SharePoint Anwendung sinnvoll sein,die Werte einer Liste mit denen einer Tabelle aus einer anderen Datenbank abzugleichen, z.B. wenn man Daten aus einer Anwendung in SharePoint replizieren möchte.

Dies kann man auf die folgende Art lösen:

using System;

using System.Collections.Generic;

using System.Text;

using System.Data.SqlClient;

using System.Data;

using Microsoft.SharePoint;

 

namespace Konsole2

{

    class Program

    { 

        static void Main(string[] args)

        { 

            string strTable = "Tablename";

            string strListname = "Listname"; 

            string strUrl = "URL";

 

            string strConn = "ConnectionString;";

            string strSQL = "SELECT * from  " + strTable ;

            SqlConnection conn = new SqlConnection(strConn);

            SqlDataReader rdr = null;

 

            try

            {

 

                conn.Open();

 

                SqlCommand cmd = new SqlCommand(strSQL, conn);

                rdr = cmd.ExecuteReader();

                int itemid = 0;

                int iUpdate = 0;

                int iInsert = 0;

 

                using (SPSite oSPSite = new SPSite(strUrl))

                {

                    using (SPWeb oSPWeb = oSPSite.OpenWeb())

                    {

                        SPList list = oSPWeb.Lists[strListname];

                        Console.WriteLine("Table/List: " + list.Title);

 

                        while (rdr.Read())

                        {

                            itemid = Convert.ToInt32(rdr["ListItemId"]);

                            Console.WriteLine(itemid);

                             SPListItem spItem;

                            try

                            {

                                spItem = list.GetItemById(itemid);

                            }

                            catch (Exception ex)

                            {

                                spItem = null;

                            }

                            if (spItem != null)

                            {

                                spItem = list.Items.Add();

                                iInsert++;

                            }

                                // Update

                                iUpdate++;

                                for (int i = 0; i < rdr.FieldCount; i++)

                                {                                   

                                    try

                                    {

                                        spItem[spItem.Fields.GetFieldByInternalName(rdr.GetName(i)).Title] = rdr.GetValue(i);

                                    }

                                    catch (Exception ex)

                                    {

                                        Console.WriteLine(ex.Message );

                                    }

                                } 

                                spItem.Update();

                        }

                    }

                }

 

                Console.WriteLine(iUpdate + " Updates");

                Console.WriteLine(iInsert + " Inserts");

            }

            finally

            {

                if (rdr != null)

                {

                    rdr.Close();

                }

                if (conn.State == ConnectionState.Open)

                {

                    conn.Close();

                }

            } 

        } 

    }

}

 

 

posted @ Thursday, January 15, 2009 6:24 PM | Feedback (1)
SharePoint: CAML-Abfragen per Assistenten erzeugen

In SharePoint wird für Abfragen auf SharePoint-Listen die "Collaborative Application Markup Language" (CAML) verwendet. Da es etwas mühsam ist diese manuell zu erstellen, ist es ganz praktisch dass es hierfür einen Assistenten gibt: http://www.u2u.info/Blogs/Patrick/Lists/Posts/Post.aspx?ID=1252.

posted @ Sunday, January 11, 2009 8:16 PM | Feedback (0)
Anmerkungen zu document.getElementsByTagName()

Mit document.getElementsByTagName() lässt sich bekanntlich auf beliebige HTML-Elemente des Documentes zugreifen. Für jeden HTML-Elementtyp wird im Dokument ein Array erzeugt, über den die einzelnen Elemente dann ansprechbar sind.

Lässt man sich z.B. mit: var tagTable= document.getElementsByTagName("table")

das Array der Elemente vom Typ "Table" ausgeben, dann ist dies keine eigentliche Zuweisung sondern ein Pointer auf dieses Array im Dokument. D.h. legt man in einer Javascript-Funktion nach der obigen Zuweisung eine neue Tabelle an, dann ist diese automatisch in der Variablen "tagTable" enthalten.

posted @ Wednesday, January 07, 2009 11:39 AM | Feedback (0)
Eine Tabelle dynamisch mit JavaScript erstellen

Manchmal kann es notwendig sein in eine HTML-Seite per JavaScript eine Tabelle hinzuzufügen. Hier ein kleines Beispiel mit einer entsprechenden JavaScript-Funktion welche hierbei nützlich sein kann:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Unbenanntes Dokument</title>
<script language="javascript">

function start() {
    node = document.getElementById("tabelle1");
    node.parentNode.insertBefore(createTable(3, 3), node );
}

function createTable(row, col, id) {

    var myTable     = document.createElement("table");
        var mytablebody = document.createElement("tbody");

        for(var j = 0; j < row; j++) {
            mycurrent_row = document.createElement("tr");
            for(var i = 0; i < col; i++) {
                    mycurrent_cell = document.createElement("td");               
                    currenttext = document.createTextNode("row"+j+", column "+i);
                    mycurrent_cell.appendChild(currenttext);
                    mycurrent_row.appendChild(mycurrent_cell);
            }

            mytablebody.appendChild(mycurrent_row);
    }

    myTable.appendChild(mytablebody);
    myTable.setAttribute("ID", id);
    return myTable;
}

</script>   
</head>

<body onload="javascript:start()">
<table width="100" border="0" cellpadding="0" cellspacing="1" id="tabelle1">
  <tr>
    <td>Feld 1 </td>
    <td>Feld 2 </td>
    <td>Feld 3 </td>
  </tr>
</table>
</body>
</html>

posted @ Monday, January 05, 2009 11:45 AM | Feedback (2)