• Keine Ergebnisse gefunden

Dipl.-Inf., Dipl.-Ing. (FH) Michael Wilhelm

N/A
N/A
Protected

Academic year: 2021

Aktie "Dipl.-Inf., Dipl.-Ing. (FH) Michael Wilhelm"

Copied!
17
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

Grundlagen in C# und .net

Dipl.-Inf., Dipl.-Ing. (FH) Michael Wilhelm

Hochschule Harz

FB Automatisierung und Informatik

mwilhelm@hs-harz.de

Raum 2.202

Tel. 03943 / 659 338

(2)

Inhalt

TabbedPane (Register)

ListView

Tree

Tabelle

MDI-Programme

Erweiterte Grafik

Threads und Semaphore

Datenbanken

DLL

(3)

Dynamik Link Library

Gemeinsamen Code in ein Projekt zusammenfassen

Gemeinsame Verwendung in mehreren Projekten

Spart Speicherplatz auf der Festplatte

Spart Speicherplatz im Hauptspeicher

Wird erst auf „Aufforderung“ in den Hauptspeicher geladen

Ideal für mehrere Teams

Debuggen ist aber schwieriger

Statische und dynamische DLL (je nach Methoden)

Nachteile

• Versionsprobleme

(4)

1. DLL Projekt erstellen: gemeinsamer Ordner

Umbenennen der Klasse „class1“ nach math

(5)

namespace math {

public class Math {

public static long Add(long i, long j) {

return (i + j);

}

public long Mult(long i, long j) {

return (i * j);

}

DLL-Quellcode

(6)

Aufrufprogramm erstellen: gemeinsamer Ordner

Projektname: testdll

(7)

Dialog aufbauen

(8)

using math;

private void BnCallDLL_Click(object sender, EventArgs e) {

long a, b, c;

a = 12;

b = 13;

textBox1.Text="";

c = math.Math.Add(a, b); // wenn eindeutig Math.Add(a, b);

textBox1.AppendText( "Add C: " + c.ToString()+"\r\n" );

}

}

}

(9)

Menü Ansicht: Projektmappen-Explorer

Eintrag Verweise

Verweis hinzufügen

(10)

using math;

private void BnCallDLL_Click(object sender, EventArgs e) {

long a, b, c;

a = 12;

b = 13;

textBox1.Text="";

c = math.Math.Add(a, b); // wenn eindeutig Math.Add(a, b);

textBox1.AppendText( "Add C: " + c.ToString()+"\r\n" );

c = math.Math.Mult(a, b);

textBox1.AppendText( "Mult: C: " + c.ToString()+"\r\n" );

}

}

}

(11)

using math;

private void BnCallDLL_Click(object sender, EventArgs e) {

long a, b, c;

a = 12;

b = 13;

textBox1.Text="";

c = math.Math.Add(a, b);

textBox1.AppendText( "Add C: " + c.ToString()+"\r\n" );

math.Math m = new math.Math();

c = m.Mult(a, b);

textBox1.AppendText( "Mult: C: " + c.ToString()+"\r\n" );

}

(12)

2. DLL Projekt erstellen: gemeinsamer Ordner

Umbenennen der Klasse „class1“ nach form1

(13)

Interne Form erstellen

(14)

Interne Form erstellen

Hier ist eine Textbox

(15)

Form Harddisk

Methode FHardDisk_load

Eintragen der vorhandenen Laufwerke

DriveInfo[] lws = System.IO.DriveInfo.GetDrives

String[] lws = System.Environment.GetLogicalDrives();

Ausgabe der Daten des Rechners in der TextBox

System.Environment.GetFolderPath(Environment.SpecialFolder.CommonDocuments)

System.Environment.GetFolderPath(Environment.SpecialFolder.CommonPictures)

System.Environment.GetFolderPath(Environment.SpecialFolder.CommonProgramFiles)

System.Environment.GetFolderPath(Environment.SpecialFolder.CommonProgramFilesX86)

System.Environment.GetFolderPath(Environment.SpecialFolder.CommonPrograms)

System.Environment.MachineName

System.Environment.OSVersion

(16)

Form Harddisk

Methode SeletedIndex Change

Index vorhanden

Holen des DriveInfo

Ausgabe der Daten des Laufwerkes in der TextBox

"Name: "+lw.Name

"Typ: "+lw.DriveType.ToString()

CDROM, REMOVABLE, FIXED, NETWORK, RAMDISK, UNKNOWN.

"Lable: "+lw.VolumeLabel

"Free: "+(lw.AvailableFreeSpace / 1024 / 1024).ToString()+" MB "

"Total: …

„Used: …

(17)

using System;

using System.Runtime.InteropServices;

class Program {

[DllImport("DP_BSP.dll")]

static extern double Add(double a, double b);

static void Main() {

Console.WriteLine( Add( 23.6, 18.4 ) );

Externe DLL, (C++, Delphi, Assembler), aufrufen

Referenzen

ÄHNLICHE DOKUMENTE

– Semantische Elemente (header, section, summary, details, etc.). – Neue Formulare (number, range,

Beim Anklicken soll der Text der Eingabe ausgegeben werden. Falls leer, .Equals, soll eine Meldung erscheinen

■ Show(Text, Caption, MessageBoxButtons, MessageBoxIcon, MessageBoxDefaultButton, MessageBoxOptions,

Excel durch das Binary Interchange FileFormat (BIFF). • Das BIFF ist ein Format, welches Excel als

■ Xubuntu - mit dem schlanken Xfce als grafischer Oberfläche - besonders für ältere Rechner geeignet. ■ Edubuntu - eine speziell angepasste Version für Schulen, mehr im

•ReiserFS ist ein B*-tree basierendes Dateisystem mit einer guten Leistung und überholt sowohl ext2 und ext3 im Umgang mit kleinen Dateien (kleiner als 4 KB) oftmals mit einem

ESC ddp Übernimmt eine Textzeile in den Standardpuffer und löscht diese und fügt diese nach der nächsten Zeile wieder ein. ESC p Wenn der Standardpuffer eine Zeile enthält, wird

-newer datei Ist erfüllt, wenn die untersuchte Datei nach der letzten Änderung von Datei geändert wurde.. -size zahl Ist erfüllt, wenn die Datei zahl viele