LISP. Eine Einführung



Ähnliche Dokumente
How to do? Projekte - Zeiterfassung

In diesem Tutorial lernen Sie, wie Sie einen Termin erfassen und verschiedene Einstellungen zu einem Termin vornehmen können.

Bedienungsanleitung für den Online-Shop

Bedienungsanleitung. Matthias Haasler. Version 0.4. für die Arbeit mit der Gemeinde-Homepage der Paulus-Kirchengemeinde Tempelhof

TeamSpeak3 Einrichten

my.ohm Content Services Autorenansicht Rechte

Benutzerhandbuch. Leitfaden zur Benutzung der Anwendung für sicheren Dateitransfer.

Kleines Handbuch zur Fotogalerie der Pixel AG

Kulturobjekte der Donau Das ContentManagementSystem (CMS)

Installation des Authorware Webplayers für den Internet Explorer unter Windows Vista

SMS-Versand in MACS Einrichtung des SMS-Versand Verwendung des SMS-Versandes Der SMS-Versand Empfängerfeld Empfänger-Rufnummer Inhalt der SMS

Installation / Aktualisierung von Druckertreibern unter Windows 7

Bauteilattribute als Sachdaten anzeigen

Fotostammtisch-Schaumburg

Tacx Trainer-Software Version 3.6 Bedienung

Leichte-Sprache-Bilder

HSR git und subversion HowTo

Einrichtung des Cisco VPN Clients (IPSEC) in Windows7

Anleitung für Kunden zum Umgang mit verschlüsselten s von der LASA Brandenburg GmbH

Daten Sichern mit dem QNAP NetBak Replicator 4.0

Einen Wiederherstellungspunktes erstellen & Rechner mit Hilfe eines Wiederherstellungspunktes zu einem früheren Zeitpunkt wieder herstellen

Multiplayer Anweisungen

SCHRITT 1: Öffnen des Bildes und Auswahl der Option»Drucken«im Menü»Datei«...2. SCHRITT 2: Angeben des Papierformat im Dialog»Drucklayout«...

Benutzerhandbuch MedHQ-App

Step by Step-Anleitung Version 1.00 vom 03. März 2009 Christian Schnettelker,

ecall Anleitung Outlook Mobile Service (OMS)

Handbuch zur Anlage von Turnieren auf der NÖEV-Homepage

Wichtige Information zur Verwendung von CS-TING Version 9 für Microsoft Word 2000 (und höher)

Dokumentation für die software für zahnärzte der procedia GmbH Onlinedokumentation

INDEX. Öffentliche Ordner erstellen Seite 2. Offline verfügbar einrichten Seite 3. Berechtigungen setzen Seite 7. Öffentliche Ordner Offline

Der einfache Weg zum CFX-Demokonto

AGROPLUS Buchhaltung. Daten-Server und Sicherheitskopie. Version vom b

Anleitung Redmine. Inhalt. Seite 1 von 11. Anleitung Redmine

OutLook 2003 Konfiguration

Der Kalender im ipad

Anleitungen für User der Seite TSV AustriAlpin Fulpmes. So erstellen Sie einen Bericht (Beitrag) auf der TSV-AustriAlpin Fulpmes Homepage.

Installation des Add-Ins für Lineare Algebra in Microsoft Excel

WorldShip Installation auf einen Arbeitsgruppen-Admin- oder Arbeitsgruppen-Remote-Arbeitsstation

Nach der Installation des FolderShare-Satellits wird Ihr persönliches FolderShare -Konto erstellt.

Ordner Berechtigung vergeben Zugriffsrechte unter Windows einrichten

Installationshinweise und Systemvoraussetzungen

Tess TeSign nutzen mit App's"! iphone und Bria Informationen zur Nutzung

Die nachfolgende Anleitung zeigt die Vorgehensweise unter Microsoft Windows Vista.

Anleitung Typo3-Extension - Raumbuchungssystem

easysolution GmbH easynet Bessere Kommunikation durch die Weiterleitung von easynet-nachrichten per nach Hause

Sichere Anleitung Zertifikate / Schlüssel für Kunden der Sparkasse Germersheim-Kandel. Sichere . der

Lehrer: Einschreibemethoden

Installation der Konfigurationsdateien für alle Windows-Versionen bis einschließlich Microsoft Windows 7

Datenaustausch mit dem BVK Data Room

Diese Ansicht erhalten Sie nach der erfolgreichen Anmeldung bei Wordpress.

Hinweise zum Übungsblatt Formatierung von Text:

Anleitung Redmine. Inhalt. Seite 1 von 11. Anleitung Redmine

Einrichtung des WS_FTP95 LE

Benutzerverwaltung Business- & Company-Paket

Einspielanleitung für das Update DdD Cowis backoffice DdD Cowis pos

Konvertieren von Settingsdateien

Anleitung für Aussteller So funktioniert s!

Dokumentation zum Spielserver der Software Challenge

4.1 Download der App über den Play Store

mysql - Clients MySQL - Abfragen eine serverbasierenden Datenbank

Urlaubsregel in David

Virtueller Seminarordner Anleitung für die Dozentinnen und Dozenten

E-Government Sondertransporte (SOTRA) Registrierung von Benutzerkennung

MORE Profile. Pass- und Lizenzverwaltungssystem. Stand: MORE Projects GmbH

Hilfe bei Adobe Reader. Internet Explorer 8 und 9

Umstellung auf das Mobile-TAN-Verfahren in der VR-NetWorld Software

Hilfedatei der Oden$-Börse Stand Juni 2014

Das Starten von Adami Vista CRM

Datenaustausch mit dem BVK Data Room

Zahlen und das Hüten von Geheimnissen (G. Wiese, 23. April 2009)

Lizenzen auschecken. Was ist zu tun?

Der neue persönliche Bereich/die CommSy-Leiste

Einrichtung eines VPN-Zugangs

Diese Anleitung erläutert die Einrichtung des Active Directory Modus im DNS-343.

Kapitel 2 SAP Easy Access

Einrichtungsanleitungen Hosted Exchange 2013

ER alpha 1D5 Protokoll-Aktualisierungsprogramm Installationsanleitung

2. Die eigenen Benutzerdaten aus orgamax müssen bekannt sein

GOtoSPORT.CH Internetplattform

Step by Step Webserver unter Windows Server von Christian Bartl

Erstellen eines Screenshot

Klassenverwaltung im FIS-Lernportal

Verwendung des IDS Backup Systems unter Windows 2000

Karten-Freischaltung mit dem UNLOCK MANAGER

Lizenz Verwaltung. Adami Vista CRM

Bedienungsanleitung KSG-Forum

TTS - TinyTimeSystem. Unterrichtsprojekt BIBI

Benutzeranleitung Superadmin Tool

Tutorial: Wie nutze ich den Mobile BusinessManager?

Angaben zu einem Kontakt...1 So können Sie einen Kontakt erfassen...4 Was Sie mit einem Kontakt tun können...7

Hilfe zur Urlaubsplanung und Zeiterfassung

Steganos Secure Schritt für Schritt-Anleitung für den Gastzugang SCHRITT 1: AKTIVIERUNG IHRES GASTZUGANGS

Ein + vor dem Ordnernamen zeigt an, dass der Ordner weitere Unterordner enthält. Diese lassen sich mit einem Klick (linke Maustaste) anzeigen.

FIS: Projektdaten auf den Internetseiten ausgeben

INSTALLATION OFFICE 2013

Partnerportal Installateure Registrierung

Transkript:

LISP Eine Einführung 5. OBERFLÄCHLICHES

Übersicht 2 5.1 Verschiedenes zum letzten Aufgabenblatt 5.2 Geschwister und Komponenten oder wie finde ich was 5.3 on-click-methoden und on-change-methoden

5.1 Musterlösung 3 (defmethod installiere-os ((computer computer) (os-typ string) (version string) (name string) (passwd string)) (setf (os computer) (make-instance 'betriebssystem :os-typ os-typ :version version :user (list (make-instance 'benutzer :name name :passwd passwd :benutzertyp "admin"))))) (defmethod konto-gesperrtp ((user benutzer)) (<= (status user) 0))

(defmethod starte-sitzung ((computer computer) (name string) (kode string)) (let ((user (find-if #'(lambda (x) (equal (name x) name)) (append (angemeldet (os computer)) (user (os computer)))))) (cond ((not user) "Ein Benutzer mit diesem Namen existiert nicht!") ((konto-gesperrtp user) "Ihr Konto ist gesperrt!") ((= (status user) 100) "Sitzung ist bereits aktiv!") ((and (equal name (name user)) (equal kode (passwd user)) (> (status user) 0)) (setf (status user) 100) (unless (member user (angemeldet (os computer)) :test #'equal) (setf (angemeldet (os computer)) (cons user (angemeldet (os computer))))) "Zugang gewährt.") Musterlösung (t (setf (status user) (- (status user) 1)) "Falsches Passwort!" )))) 4

Musterlösung 5 (defmethod beende-sitzung ((computer computer)) (if (and (angemeldet (os computer)) (= (status (first (angemeldet (os computer)))) 100)) (progn (setf (status (first (angemeldet (os computer)))) 3 (angemeldet (os computer)) (rest (angemeldet (os computer)))) "Sitzung beendet") "Unzulässige Aktion!"))

Musterlösung 6 (defmethod neuer-benutzer ((computer computer) (name string) (kode string)) (cond ((not (angemeldet (os computer))) "Niemand angemeldet!") ((not (equal (benutzertyp (first (angemeldet (os computer)))) "admin")) "Sie haben keine ausreichende Berechtigung(en)!") (t (setf (user (os computer)) (cons (make-instance 'benutzer :name name :passwd kode :benutzertyp "standard") (user (os computer)))) "Benutzer eingetragen")))

Musterlösung 7 (defmethod benutzer-wechseln ((computer computer)) (cond ((not (angemeldet (os computer))) "Niemand angemeldet!") (t (setf (angemeldet (os computer)) (append (rest (angemeldet (os computer))) (list (first (angemeldet (os computer)))))) (list "Aktiver Benutzer: " (name (first (angemeldet (os computer))))))))

5.2 Geschwister 8 Jede Applikation kann aus einer (beliebigen) Anzahl von Fenstern (bzw. Formen) bestehen. Fenster, die dem Benutzer ein gewisses Maß an Interaktivität gestatten, sind vom Typ dialog. Alle Objekte, die auf einem Fenster liegen, sind Komponenten des Fensters; das Fenster wird auch als Elternteil (parent) dieser Objekte betrachtet. Alle Objekte, die auf einem Fenster liegen, werden als Geschwister (voneinander) betrachtet.

Geschwister Eigenschaften von Objekten können vor der Ausführung des Programms im Inspector oder während der Ausführung des Programms durch geeignete Methoden geändert werden (via SETF-Eigenschaft-Anweisungen). In automatisch generierten Methoden bzw. Funktionen wird der Fenster-Parameter mit dialog und der Objekt-Parameter mit widget bezeichnet: (defun form1-button1-on-click (dialog widget) 9

Geschwister Zum Auffinden von Objekten können folgende beiden Funktionen verwendet werden: FIND-COMPONENT name fenster-oder-name name ist der Name des gesuchten Objekt; fenster-oder-name identifiziert das Fenster, auf dem sich name befindet 10 FIND-SIBLING name objekt name ist der Name des gesuchten Objekt; objekt das Schwesterobjekt, das als Referenzpunkt der Suche dient

Geschwister 11 1. Wenn auf einem Fenster mit dem Namen :mein-fenster ein Knopf mit dem Namen :hilfe-knopf liegt, dann kann dieser Knopf durch (find-component :hilfe-knopf :mein-fenster ) erreicht werden und seine Eigenschaften durch (setf (eigenschaft (find-component :hilfe-knopf :mein-fenster ) neuer-wert) verändert werden. 2. Gibt es noch einen Knopf mit Namen :abschalt-knopf, dann ist er durch (find-component : abschalt-knopf :mein-fenster ) oder (find-sibling :abschalt-knopf :hilfe-knopf) ansprechbar.

5.3 on-click-methoden und on-change-methoden 12 ACL stellt für Dialogobjekte verschiedene Funktionen zur Behandlung folgender Ereignisse zur Verfügung: on-change on-click on-double-click on-mouse-in on-mouse-out

on-click-methoden und on-change-methoden 13 Wenn man im Inspector die Tabelle Events betrachtet, entdeckt man, dass es diesen Ereignissen korrespondierende Attribute gibt, deren Wert fast ausschließlich mit NIL initialisiert ist. Wenn man eines dieser Wertfelder anklickt, erzeugt ACL automatisch das Skelett einer Funktion zur Behandlung des entsprechenden Ereignisses.

on-click-methoden und on-change-methoden 14 (defun formname-objektname-on-change (widget new-value old-value) (declare (ignore-if-unused widget new-value old-value)) < An dieser Stelle sollten die gewünschten Anweisungen enigefügt werden> t) ; Accept the new value (defun formname-objektname-on-click (dialog widget) (declare (ignore-if-unused dialog widget)) < An dieser Stelle sollten die gewünschten Anweisungen eingefügt werden> t)

on-click-methoden und on-change-methoden 15 pop-up-message-dialog fenster title prompt icon button1 Es wird ein Meldungsfenster über fenster angezeigt, dass im Rahmen titel und im Fenster prompt anzeigt und durch Anklicken von button1 geschlossen wird. Als title-, prompt- und button1-argumente werden Strings erwartet; als fenster und icon-argument müssen geeignete Objekte (bzw. bei icon auch NIL) verwendet werden.