Beiträge durchsuchen

Object Pascal/RTL

Parallelisierung mit Delphis Parallel Library

Einführung Will man alle CPU-Kerne für die Rechenarbeit seiner Anwendung einsetzen, muss man mehrere Threads starten. Das nennt sich Nebenläufigkeit. Bislang hat Delphi dem Entwickler lediglich die Klasse TThread zur Verfügung gestellt, so dass man nicht direkt auf die Win32-API zugreifen musste. Ein Tutorial dazu gibt ist auf Delphi-Treff zu finden. Mit Delphi XE7 hat sich die Sache deutlich verbessert. Nun gibt es die sog. Parallel Library, die zur RTL gehört, also sowohl in der […]

Delphi-Crashkurs

Warum Delphi? Delphi vereint mehrere Vorteile in einem Programm. Dabei ist einer der Vorteile, die sofort ins Auge fallen, Delphis unglaublich ausgeklügelte RAD-Umgebung (RAD steht für „Rapid Application Development“). Damit ist es möglich, innerhalb kürzester Zeit das Äußere eines Programmes und auch einige der Abläufe zu erstellen. Das System arbeitet dabei grafisch und als WYSIWYG. Die Entwicklungszeit von Programmen wird durch die sehr ausgereifte Umgebung dabei minimiert. Ein weiterer Vorteil von Delphi ist seine Sprache. […]

Includedateien und Units

Einleitung Zu Beginn einer Unterrichtsstunde in einem Informatik-Lehrgang einer Volkshochschule wurde die Frage gestellt: Was ist eine Sammlung von Konstanten, Datentypen und Variablen? Was hättest du da geantwortet? Du hättest zwei Antworten geben können: es ist eine Includedatei, es ist eine Unit. Beide Antworten wären richtig gewesen.

DLLs

Einleitung Dieses DLLs-Tutorial soll Delphi-Einsteigern erklären, wie man DLLs erstellt und wie man sie anschließend in eigene Programme einbindet. Doch zu allererst: Was sind DLLs und wozu braucht man sie überhaupt? „DLL“ ist die Abkürzung für Dynamic Link Library, also eine Programmbibliothek, die erst zur Laufzeit in eine Anwendung eingebunden wird. Eine DLL enthält Prozeduren und Funktionen. Sie kann aus mehreren Units bestehen, und es ist sogar möglich, Formulare („Fenster“) zu verwenden. Und wozu braucht […]

Exceptions

Einleitung Fehler macht jeder. Und wenn ein Programm nahezu fehlerfrei ist, weil es vielleicht entsprechend klein ist, dann gibt es immer noch die bösen Anwender, die in ein Eingabefeld, das eigentlich nur für Zahlen vorgesehen ist, Buchstaben eingeben. Das kann man den Anwendern nicht verübeln. Dennoch ist es in solchen Fällen sinnvoller, wenn ein Meldungsfenster auf solche Fehleingaben hinweist, statt dass das Programm mit viel Tamtam und einigen Zugriffsverletzungen abstürzt und womöglich noch das ganze […]

Drucken

Einleitung Das Drucken aus einer Delphi-Anwendung heraus ist nicht mehr ganz so einfach wie zu DOS-Zeiten. Damals hatte man keine großartigen Möglichkeiten. Besonders wenn man nur Text drucken wollte, ging das zeilenweise recht einfach. Heutzutage sind die Ansprüche natürlich wesentlich höher. Ausdrucke können neben Text auch Grafiken enthalten. Texte haben unterschiedliche Formatierungen. Delphi lässt dem Programmierer die Freiheit, alle Elemente, die zu einem Ausdruck gehören, frei auf dem Blatt zu positionieren. Und immer, wenn man […]

Threads

Einleitung Im Gegensatz zu anderen Programmiersprachen ist es in Delphi kein großes Problem, Thread-Objekte zu erstellen. Es gibt sogar einen Assistenten dafür. Dennoch sollte man natürlich wissen, was Threads überhaupt sind, wofür sie eingesetzt werden und worauf man achten muss. Da es sich bei Threads um ein sehr komplexes Thema handelt, kann das Gebiet hier nur angeschnitten werden. Wer sich darüber hinaus intensiver damit beschäftigen will, dem seien die Beispielprogramme in den Verzeichnissen DemosIPCDemos und […]

Stringverarbeitung

Überblick Die wichtigsten String-Funktionen in Delphi: zum Suchen in Strings: Pos PosEx zum Verarbeiten von Strings: Copy Delete Insert StringReplace Sonstige: Length AnsiUpperCase AnsiLowerCase Ein paar Vorbemerkungen zu den Funktionen: Die Funktionen Copy, Delete, Insert, Length und Pos befinden sich in der Unit System, stehen also automatisch zur Verfügung. StringReplace (ab Delphi 5), AnsiUpperCase und AnsiLowerCase befinden sich in der Unit SysUtils. Weitere interessante String-Funktionen(u.a. auch PosEx) sind in der Unit StrUtils zu finden. Zur […]

Programmierung mit Boolean-Werten

George Boole und seine Variablen Was würde wohl George Boole (1815-1864), der englische Mathematiker und Philosoph, der Namensgeber der Booleschen Variablen, dazu sagen, wenn er wüsste, dass über hundert Jahre nach seinem Tod sein Name in so gut wie jedem Quelltext verewigt ist[1]? Und was würde er sagen, wenn er wüsste, dass viele Programmieranfänger Probleme mit „seinen“ Variablen haben? Damit er sich zumindest über die letzte Frage nicht mehr so viele Gedanken machen muss, soll […]

Dialogfenster

Einleitung In diesem (meinem übrigens ersten Tutorial) werden wir uns mit den verschiedenen Dialogfenstern beschäftigen. Ich habe es für den Tutorialwettbewerb bei Delphi-Treff geschrieben und hoffe, dass ein paar von euch etwas damit anfangen können.

Das Überladen von Operatoren

Einleitung Seit Delphi 2006 gibt es auch unter Anwendungen für Win32 die Möglichkeit, Operatoren zu überladen. Was bedeutet das nun aber konkret? Diejenigen, die sich bereits näher mit Delphi befasst haben, wissen, dass es die Möglichkeit gibt, Funktionen zu überladen. So hat man mehrere Funktionen, die zwar denselben Namen haben, jedoch unterschiedliche Typen als Parameter mitliefern und so u.U. auch unterschiedliche Arbeiten erfüllen. Das Überladen von Operatoren kann man sich ähnlich vorstellen. Es gibt die […]

Berücksichtigung von Benutzerrechten

Einführung Spätestens seit Erscheinen von Windows Vista mit seiner strengen Trennung von Administratoren und Normalbenutzern ist es unbedingt erforderlich, dass man auch in eigenen Anwendungen darauf achtet, was der Benutzer darf und was nicht. In diesem Tutorial wollen wir uns ansehen, wer auf welche Verzeichnisse Lese- und/oder Schreibzugriff hat, was zu tun ist, wenn es mal ohne Administratorrechte nicht geht und wie man seine Anwendung Windows-konform installiert. Zum Einsatz kommen hier Windows 7 und Delphi […]

Visual Live Bindings

Einführung Seit Delphi XE2 gibt es die sog. „Live Bindings“. Dabei handelt es sich um eine Verbindung oder Synchronisation zwischen Properties verschiedener Komponenten oder Klassen. Beispiele: Deaktivieren von Komponenten per Checkbox – dazu muss einfach die Enabled-Property einer oder mehrerer Komponenten mit der Checked-Property einer Checkbox verbunden werden. Anzeige von Datenbankinhalten – das war bisher nur mit speziellen DB-Komponenten möglich (z.B. TDBEdit statt TEdit). Mit Hilfe der Live Bindings lassen sich auch „normale“ Komponenten zur […]

Reguläre Ausdrücke in Delphi

Was sind reguläre Ausdrücke? Bei einem regulären Ausdruck (engl. „Regular Expression“, kurz „RegEx“) handelt es sich um eine Zeichenfolge mit einem Suchmuster. Verwendet werden solche Suchmuster in der Regel, um zu überprüfen, ob ein String (z.B. eine Benutzereingabe) einer erwarteten Vorgabe entspricht. Die Prüfung, ob es sich um eine Zahl handelt, ist noch relativ einfach, weil man die Benutzereingabe einfach in einen Integer-Wert umwandelt und prüft, ob dabei ein Fehler auftritt. Aber andere Formate wie […]