uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls, mneueintrag, meintrag, morderedlist;

Ähnliche Dokumente
Musterlösungen zu den RSA-Arbeitsblättern

Delphi Grundkurs Seite 31

Programmierung in Delphi

Delphi DLL Tutorial Wie exportiere ich Komponenten aus einer DLL?

Programmierung mit Delphi

6. Grafikprogrammierung

Delphi eine Einführung

Komponente PortIO für Delphi 5.0

EINFACH. Programmier-Grundkurs. Rosa Mistelbauer

Institut für Informatik Christian-Albrechts-Universität zu Kiel. Borland Delphi. Einführung in die Programmiersprache

Komponente PortUSB für Delphi 5.0

Ein Softwareprojekt mit Delphi

LWB VIII. Programmieren mit Delphi Zur Laufzeit verwaltete Objekte. Zur Laufzeit verwaltete Objekte. Am Beispiel des bekannten Memory-Spieles

Einführung in Delphi. Komponenten regeln die Dateneingabe und Datenausgabe.

Aspekte objektorientierter Programmierung. mit Delphi

Anleitung zum Dialog Simulator

Gymnasium Herkenrath Leistungskonzept -Fachbereich Deutsch-

Einführung in rekursives Programmieren

G. KAMLEITER INFORMATIK. Einführung in DELPHI SJ 2004/05 LGG * DARMSTADT. Kurs 11

Container-Klassen in Delphi

2 Programmentwicklung mit Delphi

TCP/IP Kommunikation im Internet

Fakultät Angewandte Informatik Programmierung verteilter Systeme Übungen zur Vorlesung Informatik II, Blatt 6

1. Erste Schritte 2. Einfache Datentypen 3. Anweisungen und Kontrollstrukturen 4. Verifikation 5. Reihungen (Arrays)

8. Fachseminar Informatik Martin Jakobs Einstieg in die Objektorientierte Programmierung (Standard 1 / 3)

Informatik GK 12 Klassen Klassen programmieren in Delphi am Beispiel der konkreten Klasse Auto

Lösungen zu den Übungsaufgaben zu Feldern

Einführung zu der DLL für die USB Experiment Interface Board K8055

Erste Programme mit Lazarus

II.3.1 Rekursive Algorithmen - 1 -

DELPHI 02. Sprachelemente und Strukturen. Herbert Paukert

Simulation von digitalen Schaltungen

Facharbeit. Thema: Ein neuronales Netz lernt Zahlen Mustererkennung am PC

Klausur in 12.1 Themen: Zahlsysteme, Grundlagen von Delphi (Bearbeitungszeit: 90 Minuten)

Ich liebe Java && Ich liebe C# Rolf Borst

EINFÜHRUNG IN DELPHI IN DER JAHRGANGSSTUFE 11.1

Analyse, historische Einordnung & Implementation des Vigenère-Verfahrens

Fakultät für Elektrotechnik und Informationstechnik Institut für Grundgebiete der Elektrotechnik (EIT 2) Diplomarbeit

Vererbung & Schnittstellen in C#

Buch-Add-Ons. Jürgen Bayer. Object Pascal-Tipps und Tricks. 1 Konvertieren und auf numerische Werte überprüfen 2

Grundlagen der Programmierung Prof. H. Mössenböck. 6. Methoden

DELPHI FÜR ELEKTRONIKER

Übungsaufgaben zu Delphi von M. Hühr

TAFS_SEPA = class(tcomponent)

MB2-ALG, SS15 Seite 1 Hauptklausur, geschrieben am

Einführung in die objektorientierte Programmierung mit Delphi Klassen in Delphi

VCL Memory Tutorial. von Narses. Version 2.01 vom Zielsystem: Delphi 7 Win32VCL. Version 2.01 vom Seite 1 von 16

Einführung Datentypen Verzweigung Schleifen. Java Crashkurs. Kim-Manuel Klein May 4, 2015

public class SternchenRechteckGefuellt {

Projekt Minidatenbank

Delphi-Source.de. Delphi-Source.de - Grundlagen. Object Pascal-Grundlagen. Allgemeines zur Syntax. Variablen und Konstanten. Was ist Object Pascal?

Keine Angst vor Puppet 4. Secure Linux Administration Conference 2015 Martin Alfke

Zusammenfassung: Programmieren 2 (C#)

Informatik im Wahlpflichtbereich der Schuljahrgänge 7 bis 9 am Gymnasium Informatikunterricht mit technischen Aspekten

Von Pascal zu Delphi. Aufbau eines Delphi-Projektes. Grundlagen von ObjectPascal. Prozeduren und Funktionen. Übungen. Ende

Einführung in die Programmierung für Wirtschaftsinformatik

Objektorientierte Programmierung

Einführung in die Objektorientierte Programmierung

Java Cheatsheet. Mehrzeiliger Kommentar (beginnt mit /* und endet mit */)

Bild Nummer 1: Bild Nummer 2: Seite B 1

Memory Memory

Stapel (Stack, Keller)

Signalverstärkung durch Rauschen. von. Jonathan Schindler Florian Fülbert WEIRD SCIENCE CLUB DARMSTADT. an der. Europaschule Lichtenbergschule

1 Einsatz von Interfaces

JavaScript. Dies ist normales HTML. Hallo Welt! Dies ist JavaScript. Wieder normales HTML.

Delphi Starter. Einführung in Embarcadero Delphi. Version 3.5, Dezember 2013

Visual Basic Basisbefehle Hinweis: Der Text in eckigen Klammern [ ] ist variabel, z.b. [var] => 5.3. Eckige Klammern sind stets wegzulassen!

Z E I G E R. Verkettete Listen und binäre Bäume. Herbert Paukert

Übungsaufgaben zum Erlernen der Handhabung von Delphi

Projekt Informatik: Programmieren einer selbstgewählten Anwendungssoftware. Jenny Förster Susann Lorenz

Javakurs für Anfänger

1 Effiziente Mehrsprachigkeit für ObjectPascal

zu große Programme (Bildschirmseite!) zerlegen in (weitgehend) unabhängige Einheiten: Unterprogramme

Siegfried Spolwig. Karel D. Robot. - Der Delphi-Karel Tutorial. Ein spielerischer Weg, um OOP mit Delphi zu lernen

Einstieg in die Informatik mit Java

Einführung in die Programmierung mit Delphi

Übung Programmierung WS 2007/08 - Blatt 5

5 Semantische Analyse Symboltabelle

EXCEL VBA Cheat Sheet

Übersicht. 1 Vorbemerkungen zu Sequenzdiagrammen. 2 Sequenzdiagramm aus Code ableiten. 3 Sequenzdiagramm konstruieren und in Java implementieren

1. Typen und Literale (6 Punkte) 2. Zuweisungen (6 = Punkte)

Vorkurs Informatik Wintersemester 2015/2016. Programmtexte

Arbeitsblatt Übungen in Delphi Informatik Klasse: Datum: 1. Juni 2007

Die Klasse TCanvas (Canvas = Leinwand) stellt eine abstrakte Zeichenfläche dar.

Welche Informatik-Kenntnisse bringen Sie mit?

FH D. Objektorientierte Programmierung in Java FH D FH D. Prof. Dr. Ing. André Stuhlsatz. Wiederholung: Interfaces

Drucken in JAVA. 12-Drucken

Java-Schulung Grundlagen

The app the crashes, before the breakpoint is reached: Code to the event:

C# im Vergleich zu Java

zu große Programme (Bildschirmseite!) zerlegen in (weitgehend) unabhängige Einheiten: Unterprogramme

JAVA - Methoden

Transkript:

unit madressliste; interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls, mneueintrag, meintrag, morderedlist; type TMain = class(tform) Panel1: TPanel; ednachname: TEdit; lbnachname: TLabel; Panel2: TPanel; btneu: TButton; Panel3: TPanel; btanfang: TButton; btvor: TButton; lbleer: TLabel; btzurueck: TButton; btende: TButton; edvorname: TEdit; lbvorname: TLabel; edprivat: TEdit; edarbeit: TEdit; edmobil: TEdit; lbprivat: TLabel; lbarbeit: TLabel; lbmobil: TLabel; btloeschen: TButton; procedure btneuclick(sender: TObject); procedure FormCreate(Sender: TObject); procedure btanfangclick(sender: TObject); procedure btvorclick(sender: TObject); procedure btzurueckclick(sender: TObject); procedure btendeclick(sender: TObject); procedure btloeschenclick(sender: TObject); private { Private-Deklarationen } sortierteliste: TOrderedList; Nachname: string; Vorname: string; privat: string; Arbeit: string; mobil: string; procedure public { Public-Deklarationen } var Main: TMain; implementation {$R *.DFM}

procedure TMain. var Eintrag: TEintrag; if not sortierteliste.isempty then Eintrag := TEintrag(sortierteListe.getItem()); Nachname := Eintrag.getNachname(); Vorname := Eintrag.getVorname(); privat := Eintrag.getPrivat(); Arbeit := Eintrag.getArbeit(); mobil := Eintrag.getmobil(); ednachname.text := Nachname; edvorname.text := Vorname; edprivat.text := privat; edarbeit.text := Arbeit; edmobil.text := mobil; lbleer.caption := ''; end else ednachname.text := ''; edvorname.text := ''; edprivat.text := ''; edarbeit.text := ''; edmobil.text := ''; lbleer.caption :='Liste leer!' procedure TMain.btNeuClick(Sender: TObject); var NeuEintrag: TNeuEintrag; Eintrag: TEintrag; NeuEintrag := TNeuEintrag.create(Main); NeuEintrag.ShowModal(); if not NeuEintrag.getAbbruch then Nachname := NeuEintrag.getNachname(); Vorname := NeuEintrag.getVorname(); privat := NeuEintrag.getprivat(); Arbeit := NeuEintrag.getArbeit(); mobil := NeuEintrag.getmobil(); Eintrag := TEintrag.create(); Eintrag.setNachname(Nachname); Eintrag.setVorname(Vorname); Eintrag.setPrivat(privat); Eintrag.setArbeit(Arbeit); Eintrag.setmobil(mobil); sortierteliste.insertitem(eintrag); anzeigen() Neueintrag.destroy();

procedure TMain.FormCreate(Sender: TObject); sortierteliste := TOrderedList.create(); procedure TMain.btAnfangClick(Sender: TObject); sortierteliste.tofirst(); procedure TMain.btVorClick(Sender: TObject); sortierteliste.next(); if sortierteliste.isbehind then sortierteliste.previous(); procedure TMain.btZurueckClick(Sender: TObject); sortierteliste.previous(); if sortierteliste.isbefore then sortierteliste.next(); procedure TMain.btEndeClick(Sender: TObject); sortierteliste.tolast(); procedure TMain.btLoeschenClick(Sender: TObject); sortierteliste.delete(); if sortierteliste.isbehind then sortierteliste.previous(); end.

unit mitem; interface uses classes; type TItem =class(tobject) public function isequal(pitem: TItem): boolean; virtual; abstract; function islower(pitem: TItem): boolean; virtual; abstract; function isgreater (pitem: TItem): boolean; virtual; abstract; implementation end.

unit meintrag; interface uses dialogs, mitem; type TEintrag = class(titem) private Nachname: string; Vorname: string; privat: string; Arbeit: string; mobil: string; public function getnachname(): string; function getvorname(): string; function getprivat(): string; function getarbeit(): string; function getmobil(): string; procedure setnachname(name: string); procedure setvorname(name: string); procedure setprivat(nummer: string); procedure setarbeit(nummer: string); procedure setmobil(nummer: string); function islower(pitem: TItem): boolean; override; implementation function TEintrag.getNachname(): string; result := Nachname; function TEintrag.getVorname(): string; result := Vorname; function TEintrag.getPrivat(): string; result := privat; function TEintrag.getArbeit(): string; result := Arbeit; function TEintrag.getMobil(): string; result := mobil; procedure TEintrag.setNachname(Name: string);

Nachname := Name; procedure TEintrag.setVorname(Name: string); Vorname := Name; procedure TEintrag.setPrivat(Nummer: string); privat := Nummer; procedure TEintrag.setArbeit(Nummer: string); Arbeit := Nummer; procedure TEintrag.setMobil(Nummer: string); mobil := Nummer; function TEintrag.isLower(pItem: TItem): boolean; if self.nachname < TEintrag(pItem).nachname then result := true else if self.nachname = TEintrag(pItem).nachname then result := self.vorname < TEintrag(pItem).Vorname else result := false; end.

unit mneueintrag; interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls; type TNeuEintrag = class(tform) Panel1: TPanel; lbvorname: TLabel; lbnachname: TLabel; lbprivat: TLabel; lbarbeit: TLabel; lbmobil: TLabel; edvorname: TEdit; ednachname: TEdit; edprivat: TEdit; edarbeit: TEdit; edmobil: TEdit; Panel2: TPanel; btuebernehmen: TButton; btabbruch: TButton; procedure btuebernehmenclick(sender: TObject); procedure btabbruchclick(sender: TObject); private { Private-Deklarationen } Abbruch: boolean; public { Public-Deklarationen } function getabbruch(): boolean; function getnachname(): string; function getvorname(): string; function getprivat(): string; function getarbeit(): string; function getmobil(): string; implementation {$R *.DFM} procedure TNeuEintrag.btUebernehmenClick(Sender: TObject); Abbruch := false; close(); procedure TNeuEintrag.btAbbruchClick(Sender: TObject); Abbruch := true; close();

function TNeuEintrag.getAbbruch(): boolean; result := Abbruch; function TNeuEintrag.getNachname(): string; result := ednachname.text; function TNeuEintrag.getVorname(): string; result := edvorname.text; function TNeuEintrag.getprivat(): string; result := edprivat.text; function TNeuEintrag.getArbeit(): string; result := edarbeit.text; function TNeuEintrag.getMobil(): string; result := edmobil.text; end.