using System;
using System.IO;
using System.Net;
using System.Net.Sockets;
namespace halloServer
{
class MainClass
{
static Socket socketForClient;
static TcpListener tcpListener;
System.Appl

public static void Main( string [] args)
{
tcpListener = new TcpListener( 4711 );
tcpListener.Start();
Console.WriteLine( "started" );
socketForClient = tcpListener.AcceptSocket();
Console.WriteLine( "connected" );
NetworkStream networkStream = new NetworkStream(socketForClient);
StreamWriter streamWriter = new StreamWriter(networkStream);
StreamReader streamReader = new StreamReader(networkStream);
string cmd = "" ;
while (cmd != "stop" ){
cmd = streamReader.ReadLine();
switch (cmd){
case "get" :
streamWriter.WriteLine( "Hallo Welt" );
streamWriter.Flush();
break ;
case "stop" :
; break ;
default :
streamWriter.WriteLine( "Hallo Welt" );
streamWriter.Flush();
break ;
}
Console.WriteLine( "...beendet" );
Console.Read();
}


}
}
}

Programmierbeispiele



Viel Spaß beim Strebern



Folienvortrag Objektorientiertes Programmieren



Es gibt doch Bits in der Welt von C#


      // Stellt ein Array Zeile für Zeile dar;
      // die Spalten gelesen ergeben0,1,2,3 usw.
      // Zeile1 Bit: 0,8,16,...
      // Zeile2 Bit: 1,9,17,...
      byte[] Daten = {0,1,2,3,4,5,6,7,8,9,10,1,12,13,14,15};
      BitArray ba  = new BitArray(Daten);
      for (int row = 0; row<8; row++){
      	Console.WriteLine();
      	for (int col = 0; col<16; col++){
        	int val = ba[col*8+row]?1:0;
        	Console.Write(val);
      	}
      	Console.WriteLine();
      
      }

Programm-Konfigurationen abspeichern

  public class Configuration
	  {
	     int _Version;
	     string _StringItem;
	     int _IntItem;
	
	     public Configuration()
	      {
	        _Version = 1;
	        _StringItem = "";
	        _IntItem = -1;
	      }
	     public static void Serialize(string file, Configuration c)
	      {
	        System.Xml.Serialization.XmlSerializer xs 
	           = new System.Xml.Serialization.XmlSerializer(c.GetType());
	        StreamWriter writer = File.CreateText(file);
	        xs.Serialize(writer, c);
	        writer.Flush();
	        writer.Close();
	      }
	     public static Configuration Deserialize(string file)
	      {
	        System.Xml.Serialization.XmlSerializer xs 
	           = new System.Xml.Serialization.XmlSerializer(
	              typeof(Configuration));
	        StreamReader reader = File.OpenText(file);
	        Configuration c = (Configuration)xs.Deserialize(reader);
	        reader.Close();
	        return c;
	      }
	     public int Version
	     {
	        get { return _Version; }
	        set { _Version = value; }
	      }
	     public string StringItem
	     {
	        get { return _StringItem; }
	        set { _StringItem = value; }
	      }
	     public int IntItem
	     {
	        get { return _IntItem; }
	        set { _IntItem = value; }
	      }
	
	   }



IEnumerator<KeyValuePair<string, DictEntry>> enum1 = NewDictionary.GetEnumerator();

while (enum1.MoveNext()){

KeyValuePair<string,DictEntry> kvp2 = enum1.Current;

string s = kvp2.Key+ kvp2.value;

}

Classlist

Classlist ist eine Konsolenanwendung, die eine CSV-Datei in ein PDF-Dokument umwandelt.

Input

Als Input dient ein CSV-File, das aus dem Schulverwaltungs-Tool SAS2 exportiert werden kann; dies enthält in einer langen Liste alle Schüler, die ein Lehrer unterrichtet.

Output

Diese lange Liste wird nun vereinfacht und in Klassenlisten gesplittet.
>classlist longlist.csv
Die Software erkennt selbständig, dass es sich um die exportierte Liste handelt (anhand der Kopfzeile). Es entstehen mehrere Klassenlisten, die jetzt einzeln verarbeitet werden.
>classlist klasse.csv
Für diese vereinfachte Liste wird jetzt ein PDF-File klasse.pdf erzeugt. Sie schaut in etwa wie folgt aus: