Wiki-KopieMirror

Dies ist ein Mirror des Wikis von pascal.chat. Bearbeiten, Verlauf und Anmeldung finden dort statt.

X11/de

Deutsch · English · Español

Dieser Artikel beschäftigt sich mit der Linux / Unix Programmierung.

Das Package X11 enthält einige units mit Umsetzungen der X Header Dateien.

Liste der Units

Die Grundlegenden Units sind:

Weitere Units sind:

Alle diese Units verlinken zu Zahlreichen X Bibliotheken. Diese Schnittstellen Units zu den Client-Bibliotheken sind dokumentiert und sind somit weitgehend immun gegen die X11 <-> Xorg Veränderungen.

Beispiele

Ein Fenster mit einer Meldung

Dies ist eine sehr einfache Anwendung. Diese Anwendung zeigt ein Fenster mit einer Nachricht.

pascal
program xshowwindow;

{$mode objfpc}{$H+}

uses
  xlib,
  x,
  ctypes;

  procedure ModalShowX11Window(AMsg: string);
  var
    d: PDisplay;
    w: TWindow;
    e: TXEvent;
    msg: PChar;
    s: cint;

  begin
    msg := PChar(AMsg);

    // Erstellt die Verbindung zum Server
    d := XOpenDisplay(nil);
    if (d = nil) then
    begin
      WriteLn('[ModalShowX11Window] Kann nicht das Display öffnen');
      exit;
    end;

    s := DefaultScreen(d);

    // Erstellt das Fenster
    w := XCreateSimpleWindow(d, RootWindow(d, s), 10, 10, 200, 200,
      1, BlackPixel(d, s), WhitePixel(d, s));

    // Wählt die gewünschten Ereignisse aus
    XSelectInput(d, w, ExposureMask or KeyPressMask or ButtonPressMask);

    // Fenster anzeigen
    XMapWindow(d, w);

    // Ereignisschleife
    while (True) do
    begin
      XNextEvent(d, @e);

      case e._type of
        Expose:
          // Zeichnet ein Rechteck (Quadrat) und gibt einen Text aus
        begin
          XFillRectangle(d, w, DefaultGC(d, s), 20, 20, 10, 10);
          XDrawString(d, w, DefaultGC(d, s), 50, 50, msg, strlen(msg));
        end;
        KeyPress:
          // Beendet das Programm bei Tastendruck
          Break;
        ButtonPress:
          // Beendet das Programm bei einem Mausklick
          Break;
      end;

    end;

    // Schliesst Verbindung zum Server
    XCloseDisplay(d);
  end;

begin
  ModalShowX11Window('Meine Nachricht');
end.

Siehe auch


From the Free Pascal wiki, page "X11/de", as it stood on 2022-10-22 after a change by Mathias, out of the wiki's dump of 2024-05-26. Copyright stays with the author who wrote it, according to the old wiki's Licensing page. If you have concerns about this material, message the admin.

Version 1, zuletzt geändert von WikiArchive .