MMIX-Edit Felix Albrecht.

Slides:



Advertisements
Ähnliche Präsentationen
Be.as WEB Technologie
Advertisements

Bibliotheken in Windows 7
Präsentation PS: Klasse File von Janko Lange, Thomas Lung, Dennis Förster, Martin Hiller, Björn Schöbel.
Ein- und Ausgabe von Dateien
Funktionen und Module Einführung anhand des Beispiels Wörter sortieren Timm Grams Fachhochschule Fulda Fachbereich Elektrotechnik und Informationstechnik.
Programmorganisation
Java Beans von Raoul Schneider.
Windows-Programmierung
Ultris Version 8: Erzeugen der Formen und Anzeigen der Vorschau
Indirekte Adressierung
Java: Grundlagen der Sprache
WHILE - Anweisung.
V03 Laden und Initialisieren der Grafiken - Grafiken des Spiels laden und testweise auf dem Bildschirm anzeigen - eine Klasse anlegen, die alle erforderlichen.
Vers. 6: Der Konfigurationsdialog Quelle: Spieleprogrammierung mit DirectX und C++, U. Kaiser und P. Lensing, Galileo Computing (2007)
Spieleprogrammierung mit DirectX und C++
V03 Laden und Speichern von Spielfeldern und der Spielfeldeditor.
Oracle PL/SQL Server Pages (PSP). © Prof. T. Kudraß, HTWK Leipzig Grundidee: PSP – Internet-Seiten mit dynamischer Präsentation von Inhalten durch Einsatz.
Das Build-Tool ANT ETIS SS05. ETIS SS05 - Nadine FröhlichANT 2 Gliederung Motivation Build - Datei –Allgemeiner Aufbau –Project –Target –Task –Properties.
Software Design Patterns Extreme Programming (XP).
Einführung in Visual C++
DVG Einführung in Java1 Einführung in JAVA.
JDBC EDV JDBC.
Open Source Prozessor Leon2 Peer Royla und Marco Siebert RST-Labor WS 04/05 Prof. Dr.-Ing. Thomas Risse.
Planung einfache Dateibehandlung (externe Dateien, Öffnen, Lesen/Schreiben, Schließen). Diskussion des Problems, die Wörter in einem gegebenen Text.
Diplomarbeit: Design und prototypische Implementierung eines archetypbasierten EHR Systems Anton Brass Helmholtz Zentrum München IBMI München,
Handling und Erstellung von: DLL, EXE, COM, DCOM
Marcus Haller & René Schulze
Zurück zur ersten Seite SEP Entwurf und Implementierung einer effizienten Rechenstruktur zur Baumdarstellung mittels Java-Texteditoren Betreuer : Matthias.
3D Programmierung Version 12 - Highscores. Die vom Spieler erzielte Punktzahl wird mit 5 vorgegebenen Punktzahlen verglichen und, falls nötig, in die.
ODBC (Open Database Connectivity)
MS Excel, Open-/LibreOffice Calc Die Menüs I Office-Logo (Excel2007) bzw. Datei (andere): die Standard-Datei- und Druckoperationen; bei MS Excel hier auch.
Erste Schritte mit PHP 5 von Max Brandt, 22. September 2006.
Anlegen von Ordnern, speichern und Öffnen von Bildern und Briefen
Sharpdesk Überblick Desktop Composer Suche Imaging      
University of Applied Sciences Übung Objektorientierte Programmierung II Dipl.-Inf. (FH) Markus Vogler.
Simple Programmierung
INHALT INHALT Inhalt Delphi IDE ObjectPascal Hello World! Delphi IDE
Java ohne Kara. Java ohne Kara Ab jetzt: Java ohne Kara Ziel: Erfahrungen sammeln mit ersten Java Programmen.
08. September 2010Entwicklungsstrategien in Liferay 1 Christian Krause, URZ FSU Jena, IDM-Arbeitsgruppe.
Vortrag D. Braun, Praktikum. Übersicht Pleopatra API Pleopatra Tools Twitter Demonstration Ausblick.
Textdateien. Definition Die Textdateien sind eine Sammlung von homogene Daten(vom selben Typ), die auf einer externen Gerät gespeichert sind und durch.
Game Development mit LUA Integration und Kommunikation von LUA mit C++ Referat von Paul van Hemmen Seminar: Reusable Content in 3D und Simulationssystemen.
Von der Planung bis zum Hauptmenü Seminar: Softwaretechnologie II Dozent: Prof. Manfred Thaller Referent: Jan Bigalke.
App-Entwicklung mit HTML5, CSS und JavaScript
CGI (Common Gateway Interface)
Bonn-to-code.net Nutzung von.NET User Controls in Legacy Code Sascha Lehmann
Aufgaben Version 1: Es soll eine Wetterstation mit folgenden zwei Anzeigen implementiert werden: Aktuelle Wetterbedingungen mit Temperatur und.
Purga - Scriptengine Ein Einblick.
Learning By Doing WebStart Buch S.765 Verfahren, Java-Applikationen über das Internet an die Benützer zu verteilen. Die Java-Applikation wird auf dem.
Institut für Wirtschaftsinformatik – Software Engineering, JKU Linz 1 Algorithmen und Datenstrukturen Übungsmodul 2 Dr. W. Narzt u. Dr. A. Stritzinger.
Kommandozeile und Batch-Dateien Molekulare Phylogenetik – Praktikum
Kursarbeit Informatik
CSS Cascading Style Sheets
WeLoad Tagung der eLSA-Bundeslandkoordinator/innen
1. Charakteranimation 2. PlugIns schreiben und laden Universität zu Köln Institut für Historisch-Kulturwissenschaftliche Informationsverarbeitung WS 2010/2011.
Visual Rekapitulation Tag 1
Das Build-Tool ANT ETIS SS04. ant 2 Gliederung Motivation Build-Datei build.xml Bestandteile build.xml –Properties Zusammenfassung.
Das Internet Ein Netzwerk, das viele Rechner miteinander verbindet
PHPmyadmin Maya Kindler 6c.
Was macht er? Wie funktioniert er? Wie sieht er aus?
Andrea Herzog-Kienast Zeig was du kannst - SkillUp! TYPO3 Session Wien,
HORIZONT 1 Software für Rechenzentren The IT Information System Übersicht zu XINFO HORIZONT Software for Datacenters Garmischer Str. 8 D München.
Agenda Allgemeine Infos zur neuen Site Login Profil und Profileinstellungen Medien Beitrag erstellen (Beitragsarten,Gültigkeiten)
Loslegen mit Contrexx: In 10 Schritten zur professionellen Webseite. Juli 2012www.contrexx.com1 Autor: Nicolas Müller.
Einführung. Ziel der Veranstaltung  Vermittlung von Grundkenntnissen in C++  Solide Basis für anschließende Weiterentwicklung  Fähigkeit, kleine Programme.
Programmierung unter VB.Net mit der IDE VisualStudio. Schritt für Schritt erklärt und beschrieben. Zielgruppe: Komplette Neueinsteiger mit fundiertem Computerwissen.
Prof. Sergio Montenegro Lehrstuhl Informatik 8 Telemetrie Nils Gageik Luft- und Raumfahrtlabor Telemetrie.
Das IT - Informationssystem
Cäsar-Verschlüsselung
Cäsar-Verschlüsselung
 Präsentation transkript:

MMIX-Edit Felix Albrecht

Inhalt Einleitung Was ist Scintilla Wie baut man eine Win32 Anwendung Wie integriert man Scintilla Wie integriert man MMIX

Einleitung Bachelorarbeit Erstellung einer MMIX IDE für Windows Systeme mit Hilfe von Scintilla

Einleitung Was war benötigt: - Win32 Anwendung - Scintilla als Editorkomponente - MMIX im Hintergrund

Scintilla Texteditorkomponente Open-Source

Scintilla

Scintilla Enthalten in vielen Editoren wie Notepad++, SciTE, TeXnicCenter, usw. Mehrere Ports: Win32, MUI (AmigaOS), Gtk (GIMP-Toolkit), Qt (mit Gtk in X11), usw.

Scintilla Wichtige Funktionen von Scintilla: - Code-Highlighting - Marker-Setzung - Zeilennummern

Win32 Win32 Funktionen arbeiten mit wchar_t char*/String müssen in wchar_t umgewandelt werden “String” => L”String”

Win32 int WINAPI WinMain([…]) - Einstiegspunkt in die Anwendung - Enthält die Nachrichtenschleife

Win32 WNDCLASSEX windowClass - speichert Informationen der Anwendung - benötigt zum Erstellen des Hauptfensters

Win32 Atom WINAPI RegisterClassEx([…]) - Registrieren des Hauptfensters - benötigt die WNDCLASSEX

Win32 HWND WINAPI CreateWindow([…]) - erstellt registriertes Hauptfenster - gibt Handle des Fensters zurück

Win32 BOOL WINAPI ShowWindow([…]) - ändert Sichtbarkeit des angegebenen Fensters - Minimierung oder Maximierung möglich

Win32 Nachrichtenschleife - while mit GetMessage - leitet Nachrichten weiter

Win32 BOOL WINAPI GetMessage([…]) - holt oberste Nachricht von Messagequeue - filtert Nachrichten nach Kriterien

Win32 LRESULT WINAPI DispatchMessage([…]) - leitet Nachricht an richtiges Fenster weiter - bei Hauptfenster an WndProc

Win32 LRESULT CALLBACK WndProc([…]) - verarbeitet Nachrichten an Fenster - muss WNDCLASSEX zugeordnet werden

Scintilla Integration Scintilla.h muss includiert werden Scintilla.dll brauch nicht eingebunden werden muss nur in Ordner sein

Scintilla Integration Neuer Editor mit CreateWindow lpClassName = L“Scintilla“ lpWindowName = L“Source“

Scintilla Integration SciLexer.h muss eingebunden sein SciLexer.DLL muss mit LoadLibrary geladen werden

Scintilla Integration MMIX Lexer existiert bereits SendMessage zum Ändern des Lexers SCI_SETLEXER und SCLEX_MMIXAL

MMIX Integration MMIX Quellcode in .w Dateien Change files in .ch Dateien Mit Ctangle zu .c Dateien kompilieren

MMIX Integration @x original Text @y neuer Text @z

MMIX Integration Änderungen müssen in richtiger Reihenfolge sein

MMIX Integration Exit und Return müssen geändert werden Sourcecode muss direkt übergeben werden können

MMIX Integration Einstiegsfunktionen müssen Prototyp in cpp haben Einbindung als EXTERN_C Funktion

Fragen!