1 Einsatz von Interfaces
|
|
|
- Tomas Krämer
- vor 10 Jahren
- Abrufe
Transkript
1 kleiner kommunikation 1 Einsatz von Interfaces Zu was dienen eigentlich Interfaces in ObjectPascal? Dieses Leistungsmerkmal haben die Borländer zur Unterstützung von COM erschaffen (seit Delphi 4), es wurde aber unabhängig von COM implementiert, d.h. die Mechanismen funktionieren sogar in Kylix und lassen sich unter Windows losgelöst von COM gewinnbringend einsetzen. Zeit also einen Blick hinter die Kulissen der Zwischengesichter zu werfen, sozusagen Face to Face. 1.1 Designfragen Das Object Pascal-Schlüsselwort interface erlaubt das Erstellen und Verwenden von Schnittstellen in Anwendungen. Definieren wir mal: Ein Interface ist eine Liste von Zeigern auf Methoden. Schnittstellen erweitern das Modell der Einfachvererbung der VCL, indem einzelne Klassen mehr als eine Schnittstelle implementieren können. Gleichzeitig können mehrere Klassen mit unterschiedlichen Basisklassen gemeinsam auf ein Interface zugreifen. Wozu das gut sein soll? Schnittstellen sind hilfreich, wenn beispielsweise Stream-Operationen, Transferoperationen oder Sicherheitsfunktionen für viele verschiedene Objekte erforderlich sind, die aber aus Typisierungsverträglichkeit nicht in den jeweiligen Basisklassen sind. Außerdem bilden Schnittstellen eine der Grundlagen der verteilten Objektmodelle COM und CORBA und sind auch bekannte Konstrukte anderer Sprachen, da ja ein registriertes Interface schon als Type-Library gilt. Beim Design umfangreicher Komponenten oder z.b. eines Open Tool API, gelangt man schon mal an die Grenzen einer linearen Objekthierarchie und lernt den Einsatz verschiedener Basisklassen schätzen. So lassen sich universelle Methoden mehrfach verwenden, ohne immer von der gleichen Hierarchie abhängig zu sein oder ständig in die Bibliothek eingreifen zu müssen. Ich hab mal das Borland Beispiel in ein Klassendiagramm umgesetzt (Abb. 1), um auf einen Blick die Stärken von Interfaces darzustellen. Es sind zwei Basisklassen vorhanden, die TSquare und TCircle unterstützen. Nun erscheint es vernünftig, dass TCircle zwar paint implementiert aber nicht Rotate, da es bei einem Kreis wahrlich nichts zu drehen gibt. Die beiden Methoden sind so universell, das man sie aus Designgründen, wie der besseren Granularität und Wiederverwendung, nicht einfach in eine Basisklasse wie TPolygonObject stecken will. Gut, solche Konstrukte fallen nicht einfach vom Himmel, sie entstehen langsam nach diversen Reviews oder Refactorings im Schweisse des Zwischengesichtes.
2 Abb.1: Das Borland Beispiel als Klassendiagramm Wir sehen aber gleich praktisch, dass Interfaces auch ohne kompliziertes Design oder dem Umsetzen von standardisierten Patterns [MK00] ein paar tolle Merkmale aufweisen, die sich schon im Einzelfall lohnen können: N-Objekte sind zuweisungskompatibel, wenn sie dasselbe Interface unterstützen Automatische Speicherfreigabe durch Referenzzähler Bequemes Typecasting mit eingebauten Funktionen Interface Name wird durch eine GUID weltweit eindeutig Eine Schnittstelle ähnelt einer Klasse, die nur abstrakte Methoden und eine genaue Definition ihrer Funktionalität enthält, jedoch besitzt sie selbst kein Grundverhalten. Solange die Schnittstelle von IUnknown erbt und nicht von IDispatch sind wir noch unabhängig von der COM-Jacke (Ich habe nichts von einer Zwangsjacke gesagt ;) ). unit income1; IIncomeInt = interface (IUnknown) ['{DBB42A04-E60F-41EC-870A-314D68B6913C}'] //GUID function GetIncome(const anetto: Currency): Currency; stdcall; function GetRate: Real; function querydllinterface(var querylist: TStringList): TStringList; stdcall; procedure SetRate(const apercent, ayear: integer); stdcall; property Rate: Real read GetRate; Eine mit einem Schnittstellentyp deklarierte Variable wie im folgenden incomeintref kann Instanzen jeder Klasse referenzieren, die von der Schnittstelle implementiert wird. Das Objekt muss einfach die Methoden der Schnittstelle unterstützen. Das typische an einer Schnittstellenvariablen in der Deklaration ist eben die Referenz auf die Schnittstelle und nicht auf die Klasse direkt zu setzen: private incomeintref: IIncomeInt; //in einer DLL+ 2
3 incomeintref:= createincome; //in einer DCU incomeintref:= TIncomeRealIntf.create; Das Schema sieht folgendermassen aus: 1. Deklaration als Member in einem Client: Variable von Schnittstelle 2. Definition im Konstruktoraufruf: Objekt an Variable zuweisen 3. Implementieren der Schnittstellenmethoden in der Klasse Mit Hilfe solcher Variablen lassen sich Schnittstellenmethoden auch aufrufen, wenn zur Compilierzeit noch nicht bekannt ist, wo die Schnittstelle implementiert wird, jedoch Namen und Signaturen sind schon festgelegt. In der Teamarbeit ein unschätzbarer Vorteil. In unserem Beispiel bauen wir auf der Technik von DLL+ auf [DE01], d.h. die Implementation befindet sich in einer DLL, welche die Referenz des Objektes TIncomeRealIntf exportiert. Sonst bleibt sich vom Prinzip her alles gleich, d. h. Sie entscheiden ob Implementierung und Interface in der selben Datei sind, einzeln in einer separaten DCU oder eben ausgelagert in einer DLL. Ich empfehle aber, die Schnittstellen immer in eine eigene Datei zu legen, wie unit income1 in Abb.2 es demonstriert. Schnittstellen sind wie Klassen nur im äussersten Gültigkeitsbereich eines Programms oder einer Unit, nicht aber in einer Prozedur oder Funktion, zu deklarieren. Eine Schnittstellendeklaration ähnelt in weiten Teilen einer Klassendeklaration. Es gelten jedoch folgende Einschränkungen: Die Elementliste darf nur Methoden und Eigenschaften enthalten. Felder sind in Schnittstellen nicht erlaubt. Da für Schnittstellen keine Felder verfügbar sind, sind properties und die entsprechenden Methoden (get, set) einzusetzen Alle Elemente einer Schnittstelle sind als public deklariert. Sichtbarkeitsattribute und Speicherattribute sind nicht erlaubt. Es lässt sich aber ein Array-Property mit der Direktive default als Standardeigenschaft deklarieren. Schnittstellen haben keine Konstruktoren oder Destruktoren, lassen sich auch nicht instanzieren, ausgenommen durch die Klassen selbst, welche die Methoden implementieren. Bindings wie virtual, dynamic, abstract oder override sind nicht erlaubt. Da Schnittstellen keine eigenen Methoden implementieren, haben diese Bezeichnungen keine Bedeutung. 1.2 Baustelle Genug von Theorie und Design, ich komme von der Schnittstelle zur Baustelle, d.h zur Implementierung. Unser Beispiel einer Zinseszinsberechnung in Abb. 2 besteht aus mindestens drei Units: Die Library income.dpr beinhaltet als DLL die eigentlichen konkreten Methoden und die zu exportierende Referenz als Funktion. Die Unit income1.pas, beinhaltet die Schnittstelle IIncomeInt, weitere Interfaces lassen sich hinzufügen. Und eine Unit, die den Client als TfrmIncome mit der Referenz darstellt. 3
4 Abb. 2: Das Klassendiagramm mit dem Interface Die Library income.dpr, die ja von der Schnittstelle, d.h. von der Klasse IIncomeInt, erbt, implementiert die Methoden nach Wunsch und Anforderung in einer DLL. Wie gesagt, die Implementation lässt sich auch in eine DCU oder ein Package packen. Die Diskussion DLL versus Packages sollte man ein andermal führen ;). Spezifisch für die Klasse ist nun, dass von der Schnittstelle einerseits und von einer Basisklasse andrerseits geerbt wird. Auf diese Basisklasse gehe ich nun näher ein. Über allem steht in Delphi die Deklaration von TInterfacedObject aus der Unit System, da der Vorfahr ja TObject sein muss und zugleich IUnknown jeweils implementiert. TInterfacedObject implementiert also die Schnittstelle IUnknown. Daher deklariert und implementiert TInterfacedObject für uns jede der drei Methoden QueryInterface, _AddRef und _Release von IUnknown und eignet sich aus diesem Grund als Basis für jede weitere Klasse, die eine Schnittstelle implementiert. TInterfacedObject = class(tobject, IUnknown) protected FRefCount: Integer; function QueryInterface(const IID: TGUID; out Obj): HResult; stdcall; function _AddRef: Integer; stdcall; function _Release: Integer; stdcall; public class function NewInstance: TObject; override; property RefCount: Integer read FRefCount; Das eigentliche Arbeitspferd ist die konkrete Klasse mit Implementierung in der DLL, die von der Basisklasse wie von der Schnittstelle erbt: TIncomeRealIntf = class (TInterfacedObject, IIncomeInt) FRate: Real; 4
5 function Power(X: Real; Y: Integer): Real; protected function GetRate: Real; public constructor Create; destructor destroy; override; function GetIncome(const anetto: Currency): Currency; stdcall;... property Rate: Real read GetRate; Wenn Sie mit DLL+ arbeiten, muss noch die Referenz zum exportieren befähigt werden. Der eigentliche Export befindet sich in einer globalen Funktion, die als Rückgabewert die Referenz über den Constructor der Klasse zurückgibt. Dann benötigt man nur noch das Schlüsselwort exports. function CreateIncome: IIncomeInt; stdcall; result:= TIncomeRealIntf.Create; exports CreateIncome; 1.3 Speicher und Referenz Da die Klasse TInterfacedObject die Methoden von IUnknown implementiert, führt sie automatisch die Referenzzählung und die Speicherverwaltung für Schnittstellenobjekte durch. Eines der grundlegenden Konzepte beim Entwurf von Schnittstellen besteht in der Sicherstellung der Referenzverwaltung für die Objekte, welche die Schnittstellen implementieren. Die IUnknown- Methoden _AddRef und _Release ermöglichen die Implementierung dieser Funktionalität. Sie überwachen die Existenz eines Objekts mit Hilfe eines Referenzzählers. Dieser wird jedesmal erhöht, wenn eine Schnittstellenreferenz an einen Client übergeben wird. Sobald der Referenzzähler den Wert Null erreicht, wird das Objekt freigegeben. Bei einem Objekt, das ausschliesslich durch Schnittstellen referenziert wird, ist eine manuelle Freigabe nicht mehr nötig. Seine Freigabe erfolgt automatisch, wenn der Referenzzähler den Wert Null erreicht. In unserem Beispiel erfolgt das Erzeugen der lokalen Schnittstellenreferenz (incomeintref:= createincome) direkt auf Mausklick, wir erzwingen also mit bei jedem Durchlauf die Berechnung der Zinsen und stellen fest, das Objekt wird bei jeder neuen Berechnung wieder mit destroy aus dem Speicher entfernt. Warum, weil bei jedem neuen Konstruktoraufruf IUnknown automatisch das alte Objekt entfernt, obwohl kein _Release oder ähnliches im Spiel ist! Denn beim Verlassen der Prozedur wird der Zähler auf Null gesetzt. Auch beim Schliessen des Client erfolgt der gleiche Freigabemechanismus und auch hier wird destroy automatisch aufgerufen. destructor TIncomeRealIntf.destroy; messagebox(0,'automatic release','tincomerealintf',mb_ok) Im Experiment lässt sich der Automatismus mit einem Expliziten Setzen von AddRef auch mal austricksen, d.h. wir treiben den Zähler künstlich in die Höhe und geben vor, dass mindestens eine Referenz noch im Spiel ist, wir verhindern also ständig die Freigabe. Hier hilft nur eine Release wieder, d.h. je nach Design und Dynamik sind die Automatismen eher hinderlich: procedure TfrmIncome.BitBtnOKClick(Sender: TObject); 5
6 incomeintref:=createincome; with incomeintref do if QueryInterface(IIncomeInt, incomeintref) = S_OK then //_addref;to test SetRate(strToInt(edtZins.text), strtoint(edtjahre.text));... Wenn die Implementierung der Klasse der Schnittstellendefinition entspricht, ist die Schnittstelle vollständig polymorph: Zugriff und Verwendung der Schnittstelle ist also für alle Implementierungen dieser Schnittstelle identisch. Wir könnten also noch eine zweite Klasse, z.b. TIcomeReal2Intf Implementieren, die eine andere Art der Berechnung durchführt. Dann einfach Referenz im Client ändern und es steht eine andere Implementierung derselben Methoden im Einsatz. Mit Schnittstellen eröffnet sich eine neue Möglichkeit zur Trennung von Einsatz und Implementierung einer Klasse. Zwei Klassen können also dieselbe Schnittstelle verwenden, auch wenn sie keine Nachkommen derselben Basisklasse sind. Abb. 3: Sicheres Typecasting mit QueryInterface Wenn Klassen Schnittstellen implementieren, können sie den Operator as für die dynamische Bindung an die Schnittstelle verwenden. Spätestens hier wird eine IID als GUID benötigt, welche sich direkt im Code-Editor mit SHIFT+CTRL+G fabrizieren lässt. Eine GUID (Schnittstellen-ID) ist ein binärer 16-Byte-Wert, der eine Schnittstelle weltweit eindeutig bezeichnet (Wahrscheinlichkeitsrechnung). Wenn eine Schnittstelle eine GUID hat, können Sie über eine Schnittstellenabfrage Referenzen auf ihre Implementationen abrufen. Mit Hilfe des Operators as können Schnittstellenumwandlungen durchgeführt werden. Dieser Vorgang wird auch als Schnittstellenabfrage bezeichnet und macht dann Sinn, wenn so mehr als 3 Interfaces im Spiel sind. In Abb. 3 ist ersichtlich, dass beim Aufruf von QueryInterface immer ein as im Spiel ist. Eine Schnittstellenabfrage generiert auf der Basis des (zur Laufzeit vorliegenden) Objekttyps aus einer Objektreferenz oder einer anderen Schnittstellenreferenz einen neuen Ausdruck vom Typ einer Schnittstelle. Die Syntax für eine Schnittstellenabfrage lautet: Objekt as Schnittstelle Objekt ist entweder ein Ausdruck vom Typ einer Schnittstelle oder Variante, oder er bezeichnet eine Instanz einer Klasse, die eine Schnittstelle implementiert. Also, angenommen wir haben zwei 6
7 Interfaces und rufen den Konstruktor für die erste Schnittstelle auf. Diese Instanz möchte wir nun auf die zweite Schnittstelle IUserAccount anwenden und erhalten eine Umwandlung unserer ersten Instanz, ohne erneuten Aufruf des Constructors. Beispiel: var incomeintref: IIncomeInt; userref: IUserAccount; incomeintref:= TIncome.create incomeintref.setrate(); userref:= incomeintref as IUserAccount userref.setwapaccount() Im Gegensatz einer direkten Typumwandlung mit as (die bei Fehler eine Exception auslöst), lässt sich mit QueryInterface einfach und locker nachfragen, ob ein definiertes Interface vom Objekt unterstützt wird: if QueryInterface(IIncomeInt, incomeintref) = S_OK then Wenn Objekt den Wert NIL hat, liefert die Schnittstellenabfrage als Ergebnis NIL. Andernfalls wird die GUID der Schnittstelle an die Methode QueryInterface übergeben. Wenn QueryInterface keinen gültigen Vergleich anbringen kann, wird NIL gesetzt. Ist der Rückgabewert dagegen Null oder gültig (d.h. das Objekt unterstützt mit seiner Implementation die Schnittstelle) ergibt die Schnittstellenabfrage eine Referenz auf das Objekt. Das heisst aber nicht, dass QueryInterface in irgend einer Art Objekte instanziert, ein erstes Objekt muss in jedem Fall vor dem Aufruf von QueryInterface instanziert worden sein. Tipps zu Interfaces: Die Standard-Aufrufkonvention für Schnittstellen ist register. Schnittstellen, die man von verschiedenen Modulen gemeinsam benutzt, sollten die Methoden mit stdcall deklarieren. Dies gilt insbesondere, wenn diese Module in verschiedenen Programmiersprachen erstellt wurden. Wenn Sie den Operator as oder QueryInterface() mit einer Schnittstelle einsetzen, muss diese eine zugeordnete IID besitzen. In jedem Interface ist unterstellt, dass die Basisklasse oder ein Vorfahr die Methoden von IUnknown zur Referenzzählung implementiert. Die einfachste Art, diese Methoden zu implementieren, besteht darin, die implementierende Klasse von TInterfacedObject in der Unit System abzuleiten. Wenn es sich beim Objekt um eine VCL-Komponente oder ein Steuerelement handelt, unterliegt dieses Objekt der Speicherverwaltung von TComponent. Mischen Sie also nicht VCL Referenzverwaltung mit der COM-Referenzzählung. Die Funktion GUIDToString() konvertiert eine GUID in einen String aus druckbaren Zeichen. Jede GUID wird in einen eindeutigen String umgewandelt. Im Unterschied zu einer abstrakten Klasse enthält eine Schnittstelle überhaupt keine implementierte Methode, alle Methoden sind abstrakt. Abstrakte Klassen lassen sich verwenden, wenn bereits ein bestimmtes Grundverhalten in den abgeleiteten Klassen vorhanden sein soll. 1.4 Delegieren wir mal Eine Möglichkeit der Wiederverwendung von Quelltext in Schnittstellen besteht darin, ein Objekt in die Schnittstelle aufzunehmen bzw. die Schnittstelle als Objekt in eine andere einzufügen. Die VCL verwendet zu diesem Zweck Properties, die Objekttypen darstellen. Zur Unterstützung dieser Struktur für Schnittstellen stellt Object Pascal das Schlüsselwort implements bereit, mit dem die Implementierung einer Schnittstelle ganz oder teilweise einem untergeordneten Objekt übertragen werden kann. So erreicht man eine zentralisierte Instanzierung mit einem Objekt. Dies nennt man Delegation. Es gibt aber ein Delegieren vom Typ einer Schnittstelle (Beispiel 1) und ein Delegieren vom Typ einer Klasse (Beispiel 2). 7
8 Type //Beispiel 1 IMyInterface = interface procedure P1; procedure P2; TMyClass = class(tobject, IMyInterface) FMyInterface: IMyInterface; property MyInterface: IMyInterface read FMyInterface implements IMyInterface; Die folgende Aggregation ist eine andere Möglichkeit, Sourcecode über diese Mechanismen wiederzuverwenden. Bei der Aggregation enthält ein übergeordnetes, umgebendes Objekt ein untergeordnetes. Vorteil: Es lassen sich bestehende Klassen, die nicht von einem Interface abstammen, einbinden. Das untergeordnete Objekt implementiert Schnittstellen, die (nur) für dieses übergeordnete Objekt verfügbar sind. Hier ist also der Unterschied zwischen Delegation und Aggregation zu sehen. Bei der Aggregation sind nebst der Schnittstelle mindestens zwei Objekte im Spiel, so dass Objekt A an ein Objekt B delegiert. Die VCL enthält beispielsweise Klassen, welche die Aggregation unterstützen. Das Objekt gibt also vor, selbst Interfaces zu implementieren, die in der Tat von anderen Objekten stammen. IMyInterface = interface //Beispiel 2 procedure P1; procedure P2; TMyImplClass = class procedure P1; procedure P2; TMyClass = class(tinterfacedobject, IMyInterface) FMyImplClass: TMyImplClass; property MyImplClass: TMyImplClass read FMyImplClass implements IMyInterface; Fazit: Schnittstellen bieten gegenüber abstrakten Klassen mehr verfügbare Merkmale an, sind aber auch restriktiver in der Handhabung. Ich erinnere daran, dass ein Interface selbst kein Grundverhalten implementieren darf. Wenn ein Grundverhalten nicht nötig ist, steht dem Einsatz von Zwischengesichtern eigentlich nichts mehr im Wege. Das komplette Beispiel läuft übrigens auch unter Kylix, wie Abb. 4 als Starter zeigt. Der Code der SO liegt der CD-ROM bei. Wobei DLL+ dann zu SO+ (für Shared Objects Plus) mutiert. Warum sich aber die SO-Grösse verdreifacht und welche anderen wundersamen Libraries sonst noch geladen werden, steht dann in einem anderen Kapitel. 8
9 Abb. 4: Start einer SO als DLL+ in Kylix Literatur & Links [MK00], Max Kleiner: UML mit Delphi, Software & Support Verlag [DE01], Das Plus beim Export, Der Entwickler Umfangreicher Delphipool mit Designkriterien Max Kleiner Beispiel auf der CD-ROM 9
Vererbung & Schnittstellen in C#
Vererbung & Schnittstellen in C# Inhaltsübersicht - Vorüberlegung - Vererbung - Schnittstellenklassen - Zusammenfassung 1 Vorüberlegung Wozu benötigt man Vererbung überhaubt? 1.Um Zeit zu sparen! Verwendung
Objektorientierte Programmierung
Objektorientierte Programmierung 1 Geschichte Dahl, Nygaard: Simula 67 (Algol 60 + Objektorientierung) Kay et al.: Smalltalk (erste rein-objektorientierte Sprache) Object Pascal, Objective C, C++ (wiederum
Arbeiten mit UMLed und Delphi
Arbeiten mit UMLed und Delphi Diese Anleitung soll zeigen, wie man Klassen mit dem UML ( Unified Modeling Language ) Editor UMLed erstellt, in Delphi exportiert und dort so einbindet, dass diese (bis auf
5 DATEN. 5.1. Variablen. Variablen können beliebige Werte zugewiesen und im Gegensatz zu
Daten Makro + VBA effektiv 5 DATEN 5.1. Variablen Variablen können beliebige Werte zugewiesen und im Gegensatz zu Konstanten jederzeit im Programm verändert werden. Als Variablen können beliebige Zeichenketten
13 OOP MIT DELPHI. Records und Klassen Ein Vergleich
13 OOP MIT DELPHI Delphi war früher "Object Pascal". Dieser Name impliziert eine Funktionalität, welche in der Welt der Programmierung nicht mehr wegzudenken ist: die objektorientierte Programmierung,
Primzahlen und RSA-Verschlüsselung
Primzahlen und RSA-Verschlüsselung Michael Fütterer und Jonathan Zachhuber 1 Einiges zu Primzahlen Ein paar Definitionen: Wir bezeichnen mit Z die Menge der positiven und negativen ganzen Zahlen, also
Wintersemester Maschinenbau und Kunststofftechnik. Informatik. Tobias Wolf http://informatik.swoke.de. Seite 1 von 22
Kapitel 19 Vererbung, UML Seite 1 von 22 Vererbung - Neben der Datenabstraktion und der Datenkapselung ist die Vererbung ein weiteres Merkmal der OOP. - Durch Vererbung werden die Methoden und die Eigenschaften
Zwischenablage (Bilder, Texte,...)
Zwischenablage was ist das? Informationen über. die Bedeutung der Windows-Zwischenablage Kopieren und Einfügen mit der Zwischenablage Vermeiden von Fehlern beim Arbeiten mit der Zwischenablage Bei diesen
Programmieren in Java
Programmieren in Java objektorientierte Programmierung 2 2 Zusammenhang Klasse-Datei In jeder *.java Datei kann es genau eine public-klasse geben wobei Klassen- und Dateiname übereinstimmen. Es können
1 Mathematische Grundlagen
Mathematische Grundlagen - 1-1 Mathematische Grundlagen Der Begriff der Menge ist einer der grundlegenden Begriffe in der Mathematik. Mengen dienen dazu, Dinge oder Objekte zu einer Einheit zusammenzufassen.
Anleitung über den Umgang mit Schildern
Anleitung über den Umgang mit Schildern -Vorwort -Wo bekommt man Schilder? -Wo und wie speichert man die Schilder? -Wie füge ich die Schilder in meinen Track ein? -Welche Bauteile kann man noch für Schilder
AutoCAD 2007 - Dienstprogramm zur Lizenzübertragung
AutoCAD 2007 - Dienstprogramm zur Lizenzübertragung Problem: Um AutoCAD abwechselnd auf mehreren Rechnern einsetzen zu können konnte man bis AutoCAD 2000 einfach den Dongle umstecken. Seit AutoCAD 2000i
Eine eigene Seite auf Facebook-Fanseiten einbinden und mit einem Tab verbinden.
Eine eigene Seite auf Facebook-Fanseiten einbinden und mit einem Tab verbinden. Nach den Änderungen die Facebook vorgenommen hat ist es einfacher und auch schwerer geworden eigene Seiten einzubinden und
Lineargleichungssysteme: Additions-/ Subtraktionsverfahren
Lineargleichungssysteme: Additions-/ Subtraktionsverfahren W. Kippels 22. Februar 2014 Inhaltsverzeichnis 1 Einleitung 2 2 Lineargleichungssysteme zweiten Grades 2 3 Lineargleichungssysteme höheren als
Klassenbeziehungen & Vererbung
Klassenbeziehungen & Vererbung VL Objektorientierte Programmierung Raimund Kirner teilweise nach Folien von Franz Puntigam, TU Wien Überblick Arten von Klassenbeziehungen Untertypen versus Vererbung in
AGROPLUS Buchhaltung. Daten-Server und Sicherheitskopie. Version vom 21.10.2013b
AGROPLUS Buchhaltung Daten-Server und Sicherheitskopie Version vom 21.10.2013b 3a) Der Daten-Server Modus und der Tresor Der Daten-Server ist eine Betriebsart welche dem Nutzer eine grosse Flexibilität
Einführung in die Programmierung
Technische Universität München WS 2003/2004 Institut für Informatik Prof. Dr. Christoph Zenger Testklausur Einführung in die Programmierung Probeklausur Java (Lösungsvorschlag) 1 Die Klasse ArrayList In
4. BEZIEHUNGEN ZWISCHEN TABELLEN
4. BEZIEHUNGEN ZWISCHEN TABELLEN Zwischen Tabellen können in MS Access Beziehungen bestehen. Durch das Verwenden von Tabellen, die zueinander in Beziehung stehen, können Sie Folgendes erreichen: Die Größe
Programmierparadigmen. Programmierparadigmen. Imperatives vs. objektorientiertes Programmieren. Programmierparadigmen. Agenda für heute, 4.
Agenda für heute, 4. Mai, 2006 Programmierparadigmen Imperative Programmiersprachen In Prozeduren zusammengefasste, sequentiell ausgeführte Anweisungen Die Prozeduren werden ausgeführt, wenn sie als Teil
Mit dem Tool Stundenverwaltung von Hanno Kniebel erhalten Sie die Möglichkeit zur effizienten Verwaltung von Montagezeiten Ihrer Mitarbeiter.
Stundenverwaltung Mit dem Tool Stundenverwaltung von Hanno Kniebel erhalten Sie die Möglichkeit zur effizienten Verwaltung von Montagezeiten Ihrer Mitarbeiter. Dieses Programm zeichnet sich aus durch einfachste
Installation OMNIKEY 3121 USB
Installation OMNIKEY 3121 USB Vorbereitungen Installation PC/SC Treiber CT-API Treiber Einstellungen in Starke Praxis Testen des Kartenlesegeräts Vorbereitungen Bevor Sie Änderungen am System vornehmen,
Folge 18 - Vererbung
Workshop Folge 18 - Vererbung 18.1 Ein einfacher Fall der Vererbung Schritt 1 - Vorbereitungen Besorgen Sie sich - vielleicht aus einer der Übungen der Folge 17 - ein fertiges und lauffähiges Listenprojekt,
FuxMedia Programm im Netzwerk einrichten am Beispiel von Windows 7
FuxMedia Programm im Netzwerk einrichten am Beispiel von Windows 7 Die Installation der FuxMedia Software erfolgt erst NACH Einrichtung des Netzlaufwerks! Menüleiste einblenden, falls nicht vorhanden Die
P&P Software - Adressexport an Outlook 05/29/16 14:44:26
Adressexport an Outlook Wozu? Aus EASY können viele Daten im Excelformat ausgegeben werden. Diese Funktion kann zum Beispiel zum Export von Lieferantenadressen an Outlook genutzt werden. Hinweis Wir können
teamsync Kurzanleitung
1 teamsync Kurzanleitung Version 4.0-19. November 2012 2 1 Einleitung Mit teamsync können Sie die Produkte teamspace und projectfacts mit Microsoft Outlook synchronisieren.laden Sie sich teamsync hier
Projektmanagement in der Spieleentwicklung
Projektmanagement in der Spieleentwicklung Inhalt 1. Warum brauche ich ein Projekt-Management? 2. Die Charaktere des Projektmanagement - Mastermind - Producer - Projektleiter 3. Schnittstellen definieren
Charakteristikum des Gutachtenstils: Es wird mit einer Frage begonnen, sodann werden die Voraussetzungen Schritt für Schritt aufgezeigt und erörtert.
Der Gutachtenstil: Charakteristikum des Gutachtenstils: Es wird mit einer Frage begonnen, sodann werden die Voraussetzungen Schritt für Schritt aufgezeigt und erörtert. Das Ergebnis steht am Schluß. Charakteristikum
Kapitel 4 Die Datenbank Kuchenbestellung Seite 1
Kapitel 4 Die Datenbank Kuchenbestellung Seite 1 4 Die Datenbank Kuchenbestellung In diesem Kapitel werde ich die Theorie aus Kapitel 2 Die Datenbank Buchausleihe an Hand einer weiteren Datenbank Kuchenbestellung
Advoware mit VPN Zugriff lokaler Server / PC auf externe Datenbank
Advoware mit VPN Zugriff lokaler Server / PC auf externe Datenbank Die Entscheidung Advoware über VPN direkt auf dem lokalen PC / Netzwerk mit Zugriff auf die Datenbank des zentralen Servers am anderen
Nutzung von GiS BasePac 8 im Netzwerk
Allgemeines Grundsätzlich kann das GiS BasePac Programm in allen Netzwerken eingesetzt werden, die Verbindungen als Laufwerk zu lassen (alle WINDOWS Versionen). Die GiS Software unterstützt nur den Zugriff
Factory Method (Virtual Constructor)
Factory Method (Virtual Constructor) Zweck: Definition einer Schnittstelle für Objekterzeugung Anwendungsgebiete: Klasse neuer Objekte bei Objekterzeugung unbekannt Unterklassen sollen Klasse neuer Objekte
Zählen von Objekten einer bestimmten Klasse
Zählen von Objekten einer bestimmten Klasse Ziel, Inhalt Zur Übung versuchen wir eine Klasse zu schreiben, mit der es möglich ist Objekte einer bestimmten Klasse zu zählen. Wir werden den ++ und den --
Lizenzierung von SharePoint Server 2013
Lizenzierung von SharePoint Server 2013 Das Lizenzmodell von SharePoint Server 2013 besteht aus zwei Komponenten: Serverlizenzen zur Lizenzierung der Serversoftware und CALs zur Lizenzierung der Zugriffe
Objektorientierte Programmierung. Kapitel 12: Interfaces
12. Interfaces 1/14 Objektorientierte Programmierung Kapitel 12: Interfaces Stefan Brass Martin-Luther-Universität Halle-Wittenberg Wintersemester 2012/13 http://www.informatik.uni-halle.de/ brass/oop12/
In diesem Thema lernen wir die Grundlagen der Datenbanken kennen und werden diese lernen einzusetzen. Access. Die Grundlagen der Datenbanken.
In diesem Thema lernen wir die Grundlagen der Datenbanken kennen und werden diese lernen einzusetzen. Access Die Grundlagen der Datenbanken kurspc15 Inhaltsverzeichnis Access... Fehler! Textmarke nicht
Lizenzierung von SharePoint Server 2013
Lizenzierung von SharePoint Server 2013 Das Lizenzmodell von SharePoint Server 2013 besteht aus zwei Komponenten: Serverlizenzen zur Lizenzierung der Serversoftware und CALs zur Lizenzierung der Zugriffe
Große Übung Praktische Informatik 1
Große Übung Praktische Informatik 1 2005-12-08 [email protected] http://www.informatik.uni-mannheim.de/pi4/people/fuessler 1: Announcements / Orga Weihnachtsklausur zählt als Übungsblatt,
Monitore. Klicken bearbeiten
Sascha Kretzschmann Institut für Informatik Monitore Formatvorlage und deren Umsetzung des Untertitelmasters durch Klicken bearbeiten Inhalt 1. Monitore und Concurrent Pascal 1.1 Warum Monitore? 1.2 Monitordefinition
Programme im Griff Was bringt Ihnen dieses Kapitel?
3-8272-5838-3 Windows Me 2 Programme im Griff Was bringt Ihnen dieses Kapitel? Wenn Sie unter Windows arbeiten (z.b. einen Brief schreiben, etwas ausdrucken oder ein Fenster öffnen), steckt letztendlich
Einführung in die Java- Programmierung
Einführung in die Java- Programmierung Dr. Volker Riediger Tassilo Horn riediger [email protected] WiSe 2012/13 1 Wichtig... Mittags keine Pommes... Praktikum A 230 C 207 (Madeleine + Esma) F 112 F 113
.NET Code schützen. Projekt.NET. Version 1.0
.NET Code schützen Projekt.NET Informationsmaterial zum Schützen des.net Codes Version 1.0 Autor: Status: Ablage: Empfänger: Seiten: D. Hoyer 1 / 6 Verteiler : Dokument1 Seite 1 von 1 Änderungsprotokoll
Corporate Actions in epoca
in epoca Einführung Die können in Bezug auf die Buchhaltung zu den komplexesten und anspruchsvollsten Transaktionen gehören. Sie können den Transfer eines Teils oder des ganzen Buchwerts einer Position
Kapitel 3 Bilder farblich verändern - Arbeiten mit Objekten
Nahezu auf jedem Buchcover, CD Hülle oder auf den Werbeseiten in Zeitschriften und Magazinen, sehen Sie fast ausschließlich Bilder, die mit einem EBV Programm einen sogenannten künstlerischen Touch erhalten
Lehrer: Einschreibemethoden
Lehrer: Einschreibemethoden Einschreibemethoden Für die Einschreibung in Ihren Kurs gibt es unterschiedliche Methoden. Sie können die Schüler über die Liste eingeschriebene Nutzer Ihrem Kurs zuweisen oder
Systeme 1. Kapitel 6. Nebenläufigkeit und wechselseitiger Ausschluss
Systeme 1 Kapitel 6 Nebenläufigkeit und wechselseitiger Ausschluss Threads Die Adressräume verschiedener Prozesse sind getrennt und geschützt gegen den Zugriff anderer Prozesse. Threads sind leichtgewichtige
M@school Software- und Druckerzuweisung Selbstlernmaterialien
Bildung und Sport M@school Software- und Druckerzuweisung Selbstlernmaterialien Hinweise zum Skript: LMK = Linker Mausklick RMK = Rechter Mausklick LMT = Linke Maustaste RMT = Rechte Maustaste Um die Lesbarkeit
Der lokale und verteilte Fall
Lokale Beans Der lokale und verteilte Fall RemoteClient Lokaler Client (JSP) RemoteSession/Entity-Bean Lokale Session/Entity-Bean 2 Lokale Beans Die bisher vorgestellten EJBswaren immer in der Lage auf
affilinet_ Flash-Spezifikationen
affilinet_ Flash-Spezifikationen Inhaltsverzeichnis Allgemeines...2 Klickzählung...2 Lead/Sale Programme... 2 PPC und Kombi Programme...3 Übergabe von Formulardaten...4 clicktag Variante Sale/Lead Programm...4
PHP - Projekt Personalverwaltung. Erstellt von James Schüpbach
- Projekt Personalverwaltung Erstellt von Inhaltsverzeichnis 1Planung...3 1.1Datenbankstruktur...3 1.2Klassenkonzept...4 2Realisierung...5 2.1Verwendete Techniken...5 2.2Vorgehensweise...5 2.3Probleme...6
Informatik GK 12 Klassen Klassen programmieren in Delphi am Beispiel der konkreten Klasse Auto
programmieren in Delphi am Beispiel der konkreten Klasse Auto Auto -Baujahr -Typ -Besitzer -Farbe -Kilometerstand -Fahren() -Bremsen() Objekt1: Auto Typ: Golf Baujahr: 1998 Besitzer: Peter Farbe: rot Kilometerstand:
Testen mit JUnit. Motivation
Test First Design for Test in Eclipse (eigentlich: ) zu einer Klasse Beispiel zur Demonstration Ergänzungen Test First "Immer dann, wenn Du in Versuchung kommst, etwas wie eine print- Anweisung oder einen
7 Rechnen mit Polynomen
7 Rechnen mit Polynomen Zu Polynomfunktionen Satz. Zwei Polynomfunktionen und f : R R, x a n x n + a n 1 x n 1 + a 1 x + a 0 g : R R, x b n x n + b n 1 x n 1 + b 1 x + b 0 sind genau dann gleich, wenn
Erstellen einer Collage. Zuerst ein leeres Dokument erzeugen, auf dem alle anderen Bilder zusammengefügt werden sollen (über [Datei] > [Neu])
3.7 Erstellen einer Collage Zuerst ein leeres Dokument erzeugen, auf dem alle anderen Bilder zusammengefügt werden sollen (über [Datei] > [Neu]) Dann Größe des Dokuments festlegen beispielsweise A4 (weitere
Verhindert, dass eine Methode überschrieben wird. public final int holekontostand() {...} public final class Girokonto extends Konto {...
PIWIN I Kap. 8 Objektorientierte Programmierung - Vererbung 31 Schlüsselwort: final Verhindert, dass eine Methode überschrieben wird public final int holekontostand() {... Erben von einer Klasse verbieten:
Jederzeit Ordnung halten
Kapitel Jederzeit Ordnung halten 6 auf Ihrem Mac In diesem Buch war bereits einige Male vom Finder die Rede. Dieses Kapitel wird sich nun ausführlich diesem so wichtigen Programm widmen. Sie werden das
2.1 Präsentieren wozu eigentlich?
2.1 Präsentieren wozu eigentlich? Gute Ideen verkaufen sich in den seltensten Fällen von allein. Es ist heute mehr denn je notwendig, sich und seine Leistungen, Produkte etc. gut zu präsentieren, d. h.
Repetitionsaufgaben Wurzelgleichungen
Repetitionsaufgaben Wurzelgleichungen Inhaltsverzeichnis A) Vorbemerkungen B) Lernziele C) Theorie mit Aufgaben D) Aufgaben mit Musterlösungen 4 A) Vorbemerkungen Bitte beachten Sie: Bei Wurzelgleichungen
Vorkurs C++ Programmierung
Vorkurs C++ Programmierung Klassen Letzte Stunde Speicherverwaltung automatische Speicherverwaltung auf dem Stack dynamische Speicherverwaltung auf dem Heap new/new[] und delete/delete[] Speicherklassen:
Stand: 28.11.2012. Adressnummern ändern Modulbeschreibung
Seite 1 Inhalt Allgemein...3 Installation...3 manuelle Eingabe von alten und neuen Adressnummern...4 Vorbereiten von Adressnummern-Änderungen in Tabellen...5 Seite 2 Allgemein Das INKS-Modul ermöglicht
Professionelle Seminare im Bereich MS-Office
Der Name BEREICH.VERSCHIEBEN() ist etwas unglücklich gewählt. Man kann mit der Funktion Bereiche zwar verschieben, man kann Bereiche aber auch verkleinern oder vergrößern. Besser wäre es, die Funktion
Die Captimizer BTZ-Datei 2015
Dipl.-Math. Rainer Schwindt Captimizer s Secrets behind the User Interface 2 Die Captimizer BTZ-Datei 2015 Regeln zur BTZ bei laufendem Navigator und Navigator-Neustart beim Jahreswechsel Geheimnisse hinter
Handbuch Fischertechnik-Einzelteiltabelle V3.7.3
Handbuch Fischertechnik-Einzelteiltabelle V3.7.3 von Markus Mack Stand: Samstag, 17. April 2004 Inhaltsverzeichnis 1. Systemvorraussetzungen...3 2. Installation und Start...3 3. Anpassen der Tabelle...3
Umzug der abfallwirtschaftlichen Nummern /Kündigung
Umzug der abfallwirtschaftlichen Nummern /Kündigung Um sich bei ebegleitschein abzumelden/ zu kündigen sind folgende Schritte notwendig: Schritt 1: Sie erteilen bifa Umweltinstitut GmbH den Auftrag, Ihre
4 Aufzählungen und Listen erstellen
4 4 Aufzählungen und Listen erstellen Beim Strukturieren von Dokumenten und Inhalten stellen Listen und Aufzählungen wichtige Werkzeuge dar. Mit ihnen lässt sich so ziemlich alles sortieren, was auf einer
http://train-the-trainer.fh-joanneum.at IINFO Storyboard
IINFO Storyboard Allgemeine Bemerkungen und Richtlinien zur Handhabung. Das Storyboard besteht aus einem Web, d.h. einer vernetzten Struktur von HTML-Seiten welche später von den Programmieren direkt als
Objektbasierte Entwicklung
Embedded Software Objektbasierte Entwicklung Objektorientierung in C? Prof. Dr. Nikolaus Wulff Objektbasiert entwickeln Ohne C++ wird meist C im alten Stil programmiert. => Ein endlose while-schleife mit
L10N-Manager 3. Netzwerktreffen der Hochschulübersetzer/i nnen Mannheim 10. Mai 2016
L10N-Manager 3. Netzwerktreffen der Hochschulübersetzer/i nnen Mannheim 10. Mai 2016 Referentin: Dr. Kelly Neudorfer Universität Hohenheim Was wir jetzt besprechen werden ist eine Frage, mit denen viele
Windows. Workshop Internet-Explorer: Arbeiten mit Favoriten, Teil 1
Workshop Internet-Explorer: Arbeiten mit Favoriten, Teil 1 Wenn der Name nicht gerade www.buch.de oder www.bmw.de heißt, sind Internetadressen oft schwer zu merken Deshalb ist es sinnvoll, die Adressen
EinfÅhrung in die objektorientiere Programmierung (OOP) unter Delphi 6.0. EDV Kurs 13/2
EinfÅhrung in die objektorientiere Programmierung (OOP) unter Delphi 6.0 EDV Kurs 13/2 Inhaltsverzeichnis 1 Objekte... 1 2 Klassen... 3 2.1 Beziehungen zwischen Klassen... 4 2.1.1 Vererbung... 4 2.1.2
Excel Funktionen durch eigene Funktionen erweitern.
Excel Funktionen durch eigene Funktionen erweitern. Excel bietet eine große Anzahl an Funktionen für viele Anwendungsbereiche an. Doch es kommt hin und wieder vor, dass man die eine oder andere Funktion
Bedienungsanleitung Anlassteilnehmer (Vereinslisten)
Bedienungsanleitung Anlassteilnehmer Dieses Programm ist speziell für Vereine entworfen. Es ist lizenzfrei verwendbar und gratis. Das Programm ist mit Excel 2010 erstellt worden und enthält VBA Programmierungen,
Typumwandlungen bei Referenztypen
Typumwandlungen bei Referenztypen Genau wie es bei einfachen Typen Typumwandlungen gibt, gibt es auch bei Referenztypen Umwandlungen von einem Referenztypen in einen anderen Referenztypen, die wie bei
Grundlagen der Theoretischen Informatik, SoSe 2008
1. Aufgabenblatt zur Vorlesung Grundlagen der Theoretischen Informatik, SoSe 2008 (Dr. Frank Hoffmann) Lösung von Manuel Jain und Benjamin Bortfeldt Aufgabe 2 Zustandsdiagramme (6 Punkte, wird korrigiert)
Treppensoftware Programme. Hilfe - 3D Plus Online. konstruieren/präsentieren
Treppensoftware Programme Hilfe - 3D Plus Online konstruieren/präsentieren INHALT 1. Allgemeines... 3 2. Arbeitsbereich im Internet aufrufen... 4 3. Firmendaten im Internet hinterlegen... 5 4. Verwaltung
Speicher in der Cloud
Speicher in der Cloud Kostenbremse, Sicherheitsrisiko oder Basis für die unternehmensweite Kollaboration? von Cornelius Höchel-Winter 2013 ComConsult Research GmbH, Aachen 3 SYNCHRONISATION TEUFELSZEUG
Fotogalerie mit PWGallery in Joomla (3.4.0) erstellen
Fotogalerie mit PWGallery in Joomla (3.4.0) erstellen Als ersten Schritt müssen wir alle Fotos die in die Galerie sollen hochladen. Wir gehen davon aus, dass das Plugin PWGallery bereits installiert und
Verwenden von OnlineUebungen.ch nichts einfacher als das!
Verwenden von OnlineUebungen.ch nichts einfacher als das! Diese Kurzanleitung soll Ihnen einen Schnell-Überblick über den SchulArena-Übungsgenerator www.onlineuebungen.ch verschaffen. 1. Anmeldung als
Terminabgleich mit Mobiltelefonen
Terminabgleich mit Mobiltelefonen Sie können Termine- und Aufgaben aus unserem Kalender, sowie die Adressdaten aus dem Hauptprogramm mit Ihrem Mobiltelefon abgleichen. MS Outlook dient dabei als Schnittstelle
U08 Entwurfsmuster (II)
U08 Entwurfsmuster (II) Inhalt der Übung Diskussion und Implementierung von Entwurfsmustern Übungsaufgaben Aufgabe 1 (Queue) Gegeben ist das folgende Analysemodell einer Warteschlange (Queue): Eine Warteschlange
Tipps und Tricks zu Netop Vision und Vision Pro
Tipps und Tricks zu Netop Vision und Vision Pro Zulassen, filtern, sperren: Das Internet im Unterricht gezielt einsetzen Das Internet ist ein dynamisches Gebilde, das viel Potenzial für den Unterricht
Binäre Bäume. 1. Allgemeines. 2. Funktionsweise. 2.1 Eintragen
Binäre Bäume 1. Allgemeines Binäre Bäume werden grundsätzlich verwendet, um Zahlen der Größe nach, oder Wörter dem Alphabet nach zu sortieren. Dem einfacheren Verständnis zu Liebe werde ich mich hier besonders
Serienbrief mit Works 7.0
Serienbrief mit Works 7.0 Wie Sie die Kundendaten aus der JS Software exportieren können, ist in der Anleitungen Datenexport aus JS-Software beschrieben. Wir gehen davon aus, dass Sie im Programm Etikettendruck
Menü auf zwei Module verteilt (Joomla 3.4.0)
Menü auf zwei Module verteilt (Joomla 3.4.0) Oft wird bei Joomla das Menü in einem Modul dargestellt, wenn Sie aber z.b. ein horizontales Hauptmenü mit einem vertikalen Untermenü machen möchten, dann finden
Software Engineering. Zur Architektur der Applikation Data Repository. Franz-Josef Elmer, Universität Basel, HS 2015
Software Engineering Zur Architektur der Applikation Data Repository Franz-Josef Elmer, Universität Basel, HS 2015 Software Engineering: Mit acht bewährten Praktiken zu gutem Code 2 Schichtarchitektur
Import und Export von Übergängern
Import und Export von Übergängern SibankPLUS bietet Ihnen eine komfortable Schnittstelle, um den Wechsel der Schüler nach der Stufe 4 von der Grundschule auf eine weiterführende Schule zu verarbeiten.
Einführung in die Algebra
Prof. Dr. H. Brenner Osnabrück SS 2009 Einführung in die Algebra Vorlesung 13 Einheiten Definition 13.1. Ein Element u in einem Ring R heißt Einheit, wenn es ein Element v R gibt mit uv = vu = 1. DasElementv
1. Adressen für den Serienversand (Briefe Katalogdruck Werbung/Anfrage ) auswählen. Die Auswahl kann gespeichert werden.
Der Serienversand Was kann man mit der Maske Serienversand machen? 1. Adressen für den Serienversand (Briefe Katalogdruck Werbung/Anfrage ) auswählen. Die Auswahl kann gespeichert werden. 2. Adressen auswählen,
CAD Warehouse- Verbindungen. Plattformspezifische Darstellung
CAD Warehouse- Verbindungen Plattformspezifische Darstellung Tipps & Tricks Dezember 2010 2010 Intergraph SG&I Deutschland GmbH. Alle Rechte vorbehalten. Der Inhalt dieses Dokuments ist urheberrechtlich
Welche Gedanken wir uns für die Erstellung einer Präsentation machen, sollen Ihnen die folgende Folien zeigen.
Wir wollen mit Ihnen Ihren Auftritt gestalten Steil-Vorlage ist ein österreichisches Start-up mit mehr als zehn Jahren Erfahrung in IT und Kommunikation. Unser Ziel ist, dass jede einzelne Mitarbeiterin
Bereich METIS (Texte im Internet) Zählmarkenrecherche
Bereich METIS (Texte im Internet) Zählmarkenrecherche Über die Zählmarkenrecherche kann man nach der Eingabe des Privaten Identifikationscodes einer bestimmten Zählmarke, 1. Informationen zu dieser Zählmarke
Die Backup-Voreinstellungen finden Sie in M-System Server unter dem Reiter "Wartung".
TechNote Backup Protrixx Software GmbH, 2013-09-23 Im Folgenden finden Sie die von uns empfohlenen Einstellungen des automatischen Backups in M-System. Der Zugriff auf die Backup-Einstellungen ist nur
Ein Blick voraus. des Autors von C++: Bjarne Stroustrup. 04.06.2005 Conrad Kobsch
Ein Blick voraus des Autors von C++: Bjarne Stroustrup 04.06.2005 Conrad Kobsch Inhalt Einleitung Rückblick Nur eine Übergangslösung? Was würde C++ effektiver machen? Quelle 2 Einleitung Wo steht C++,
Etikettendruck mit Works 7.0
Etikettendruck mit Works 7.0 Wie Sie die Kundendaten aus der JS Software exportieren können, ist in der Anleitungen Datenexport aus JS-Software beschrieben. Wir gehen davon aus, dass Sie im Programm Etikettendruck
Erweiterung der Aufgabe. Die Notenberechnung soll nicht nur für einen Schüler, sondern für bis zu 35 Schüler gehen:
VBA Programmierung mit Excel Schleifen 1/6 Erweiterung der Aufgabe Die Notenberechnung soll nicht nur für einen Schüler, sondern für bis zu 35 Schüler gehen: Es müssen also 11 (B L) x 35 = 385 Zellen berücksichtigt
Zeichen bei Zahlen entschlüsseln
Zeichen bei Zahlen entschlüsseln In diesem Kapitel... Verwendung des Zahlenstrahls Absolut richtige Bestimmung von absoluten Werten Operationen bei Zahlen mit Vorzeichen: Addieren, Subtrahieren, Multiplizieren
Erweiterungen Webportal
Erweiterungen Webportal Adress-Suche Inaktive Merkmale und gelöschte Adresse Die Suche im Webportal wurde so erweitert, dass inaktive Adresse (gelöscht) und inaktive Merkmale bei der Suche standardmässig
K.U.Müller www.muellerbahn.de November 2009
K.U.Müller www.muellerbahn.de November 2009 Anschluss der Acryl-Röhren an die MpC Ziel ist es, den jeweiligen Röhren eine Block-Nummer zuzuordnen, um in diesem Block außerhalb der Anlage einen Zug parken
Delphi eine Einführung
Delphi eine Einführung 1. Die Entwicklungsumgebung Delphi ist ein sogenanntes RAD Werkzeug. RAD = Rapid Application Development = schnelle Anwendungsentwicklung Merkmale: - es gibt vorgefertigte Komponenten
5.2 Neue Projekte erstellen
5.2 Neue Projekte erstellen Das Bearbeiten von bestehenden Projekten und Objekten ist ja nicht schlecht wie aber können Sie neue Objekte hinzufügen oder gar völlig neue Projekte erstellen? Die Antwort
