Posts

Posts uit februari, 2010 tonen

Task schedlar openen vanuit code en CLSID

Om de task schedlaur te openen vanuit code moet je een zogenaamde CLSID aanroepen. Een CLSID is een Windows Class IDentifier. Er zijn verschillende identifiers: ::{d20ea4e1-3957-11d2-a40b-0c5020524153} Administrative Tools ::{85bbd92o-42a0-1o69-a2e4-08002b30309d} Briefcase ::{21ec2o2o-3aea-1o69-a2dd-08002b30309d} Control Panel ::{d20ea4e1-3957-11d2-a40b-0c5020524152} Fonts ::{ff393560-c2a7-11cf-bff4-444553540000} History ::{00020d75-0000-0000-c000-000000000046} Inbox ::{00028b00-0000-0000-c000-000000000046} Microsoft Network ::{20d04fe0-3aea-1069-a2d8-08002b30309d} My Computer ::{450d8fba-ad25-11d0-98a8-0800361b1103} My Documents ::{208d2c60-3aea-1069-a2d7-08002b30309d} My Network Places ::{1f4de370-d627-11d1-ba4f-00a0c91eedba} Network Computers ::{7007acc7-3202-11d1-aad2-00805fc1270e} Network Connections ::{2227a280-3aea-1069-a2de-08002b30309d} Printers and Faxes ::{7be9d83c-a729-4d97-b5a7-1b7313c39e0a} Programs Folder ::{645ff040-5081-101b-9f08-00aa002f954e} Recycle B

Hoofdstuk 4 - Les 2

Door gebruik te maken van Generic lists wordt performance gewonnen omdat niks hoeft te worden gecast. Van de in les 1 besproken collections zijn er ook generic classes beschikbaar: ArrayList, StringCollection -> List<T> Hashtable, ListDictionary, HybridDictionary, OrderedDictionary, NameValueCollection, StringDictionary -> Dictionary<T, U> Queue -> Queue<T> Stack -> Stack<T> SortedList -> SortedList<T, U> CollectionBase -> Collection<T> SortedList<string, int> sl = new SortedList<string, int>(); sl.Add("waarde 1", 1); sl.Add("waarde 2", 2); sl.Add("waarde 3", 3); foreach(int i in sl.Values) Console.WriteLine(i.toString()); Om een custom class te kunnen laten sorteren moet deze de interface IComparable implementeren en vervolgens de method CompareTo(object obj) implementeren.

Hoofdstuk 4 - Les 1

Het .NET Framework kent de volgende collectie classes: ArrayList - Eenvoudige collectie dat elk type object kan opslaan. Ze breiden zichzelf naar de juiste grootte. Queue - Een First-in first-out (FIFO) collectie. Stack - Last-in first-out collectie (LIFO) StringCollection - Strongly typed en alleen voor strings. Ondersteunt geen sorting. BitArray - Een verzameling van boolean waarden. Omdat ArrayList de IComparabe interface implementeerd kan gebruik worden gemaakt van de Sort method. Tevens kan gebruik worden gemaakt van de methods Remove(), Insert() en Reverse(). De Queue class maak gebruik van de methoden Enqueue en Dequeue om objecten toe te voegen om te verwijderen. De Stack class maak gebruik van de methoden Push en Pop om objecten toe te voegen en te verwijderen. Gebruik Queue.Peek en Stack.Peek om een object te benaderen zonder deze te verwijderen. Dictionaries verbinden keys met values. Het .NET Framework kent de volgende dictionary classes: Hashtable - Een dictionary met name

Hoofdstuk 3 - Les 2

American Standard Code for Information Interchange (ASCII) is de organisatie voor encoding types.ASCII is 7 bits en gebruikt dus nummers van 0 - 127. Hierin is ons alfabet in opgeslagen, zowel hoofd als kleine letters en alle cijfers en nog een aantal bijzondere tekens, zoals bijv de plus en min tekens. Vele (Oosterse) talen kunnen hun karakters niet kwijt in ASCII. Om deze reden heeft het American National Standars Institute (ANSI) code pagina's gedefinieerd die de standaard ASCII karakters bevat plus taal specifieke karakters toegevoegd in de range van 128 - 255. Een code pagina is een lijst met geselecteerde karakter codes. Als een website wordt bekeken en er worden ? getoond in de tekst wat eigenlijk tekst had moeten zijn, dan is een verkeerd encoding type gebruikt. In e-mails wordt aangegeven wat het encoding type is: Content-type: text/plain; charset=ISO-8859-1 Content-type: text/plain; charset="Windows-1251" ISO-8859-1 corrospendeert met code pagina 28591, West Eur

Hoofdstuk 3 - Les 1

Afbeelding
Gaat over Regular Expressions. De basis moet worden begrepen:

Hoofdstuk 2 - Les 2

Om naar een tekstbestand te schrijven maak dan gebruik van TestReader of StreamReader: TextReader tr = File.Open(@"C:\myfile.txt"); Console.WriteLine(tr.ReadToEnd()); tr.Close(); Om met binaire bestanden te werken maak dan gebruik van BinaryWriter en BinaryReader: FileStream fs = new FileStream("data.txt", FileMode.Create); BinaryWriter bw = new BinaryWriter(fs); for(int i = 0; i <= 10; i++) { bw.Write((int)i); } bw.Close(); fs.Close(); fs = new FileStream("data.txt", FileMode.Read); BinaryReader br = new BinaryReader(fs); for(int i = 0; i <= 10; i++) { Console.WriteLine(r.ReadInt32()); } br.Close(); fs.Close(); Met de MemoryStream wordt niet naar een bestand geschreven, maar naar het geheugen, waarna het vervolgens naar een bestand oid kan worden geschreven. Ook kan gebruik gemaakt worden van de compressed streams, zoals GZipStream. Isolated storage is een prive bestandssysteem dat wordt beheerd door het .NET Framework. Om hier naar toe te schri

Hoofdstuk 2 - Les 1

Om alle drives weer te geven die op een computer zijn aangesloten kan je gebruik maken van: foreach(DriveInfo di in DriveInfo.GetDrives()) { Console.WriteLine("{0} ({1})", di.Name, di.DriveType); } Gebruik de DirectoryInfo class om door bestanden mappen te bladeren. Maak hiervoor eerst een instantie van deze class en roep dan de methodes GetDirectories() of GetFiles() aan: DirectoryInfo dir = new DirectoryInfo(@"C:\Windows"); Console.WriteLine("Mappen:"); foreach(DirectoryInfo map in dir.GetDirectories()) { Console.WriteLine(map.Name); Console.WriteLine("\\nFiles"); foreach(FileInfo bestand in dir.GetFiles()) { Console.WriteLine(bestand.Name); } } Maak voor het aanmaken van mappen gebruik van de Create method. Voor het nagaan of de map bestaat maak gebruik van de Exists methode. Beide methods zijn niet static. Om bestanden te maken, te verwijder, te kopieƫren en te verplaatsen maak dan gebruik van de static methods File.Create()