Programmieren mit C++

Allgemeines

Datenstrukturen

HTML-Seiten erzeugen

Wie kann eine Delphi-Anwendung aus vorhandenen Texten oder Informationen eine individuelle HTML-Seite erzeugen?

Frage

Ein HyperText Markup Language-Dokument ist ein einfacher ASCII-Text, der bestimmte Schlüsselworte enthält. Diese Schlüsselworte teilen dem Internet-Browser mit, wie ein bestimmter Teil des Textes auf dem Bildschirm dargestellt werden soll.

Schlüsselworte werden in spitze Klammern eingeschlossen: beispielsweise „

“ oder „“. Ein Slash vor einem Schlüsselwort wirkt wie eine schließende Klammer, die den Wirkungsbereich beendet, der durch das gleiche Schlüsselwort ohne Slash eingeleitet wurde.

Professionelle Layouts können mittels HTML sehr komplexe Dokumente erzeugen, die weit über den Rahmen dieser kurzen Einführung hinausgehen. Ohne entsprechende Hilfsmittel sind solche Dokumente nur sehr mühsam per Hand und ohne visuelle Kontrolle zu erstellen. Die nachfolgenden Ausführungen stellen von daher nur eine Einführung in die Grundlagen der HTML-Programmierung dar.

HTML-Grundstruktur

Lösung

Die Identifikation eines HTML-Dokuments erfolgt über das Schlüsselwort „“. Somit ist die kleinste mögliche HTML-Datei


Text

wobei Text einen beliebigen Text zur Anzeige enthalten kann.

Eine „normale“ HTML-Datei enthält jedoch weitere Informationen. Die typische Grundstruktur der meisten HTML-Seiten entspricht dem nachfolgenden Schema.

               <- Format Identifikation
 
               <- Kopfinformationen folgen
 
              <- Titel der Seite als erste Kopfinformation
Name der Seite       <- String mit Seitentitel
             <- Ende des Seitentitels
                     <- optional weitere Kopfinformationen 
 
              <- Ende der Kopfinformationen
 
               <- Beginn des Informationsteils 
                     <- hier steht der Seiteninhalt
              <- Ende des Informationsteiles
 
              <- Ende der Datei

Die Kopfinformationen erscheinen im Browser nicht auf der Seite. Man kann sich diese Informationen jedoch im Browser ansehen. Im Body-Teil steht (normalerweise formatierter) Text, der auch Bilder, Eingabefelder, Listen und Schaltflächen sowie andere Gestaltungselemente enthalten kann.

Schlüsselworte für die Kopfinformationen

Eingeleitet und abgeschlossen werden die Kopfinformationen durch das Schlüsselwort:

...

Einen der wichtigsten Teile der Kopfsektion bildet der Titel der Seite. Diesen markiert das Schlüssselwort

...

Damit gibt es als weiteren wichtigen Bestandteil der Kopfinformationen die sogenannten META-Tags. Diese bestehen aus drei Teilen:

Das Schlüsselwort „

Attribute

Bedeutung

NAME

Definiert den Bezeichner des Tags

CONTENT

Enthält den Inhalt des Tags

Ein gültiges Beispiel für ein Autoren-META-Tag wäre:

Dokumentenidentifikation

Die drei meistbenutzten META-Tags sind:

  • AUTHOR
  • KEYWORDS
  • DESCRIPTION

Sie beschreiben den Autor des Dokuments sowie Schlüsselbegriffe, die speziell von Suchmaschinen ausgewertet werden, sowie eine Beschreibung des Dokuments. Darüber hi-naus können jedoch weitere META-Tags benutzt werden, die unter Umständen rein privater Natur sind. Server, die auf ihnen unbekannte META-Tags treffen, ignorieren diese einfach.

Schlüsselworte zur Textformatierung

Der Textkörper kann gleich zusammen mit dem „-Schlüsselwort einer Standardschrift zugewiesen werden. Dazu definieren die Attribute

Attribut

Bedeutung

Bgcolor

Hintergrundfarbe

Style

Schriftart und Größe

Die Farbe ist in Form eines dreiteiligen Hexwerts für Rot, Grün und Blau mit vorangestelltem „#“ anzugeben. Ein Beispiel für eine solche Definition bildet:

Eine Funktion zur Codierung von Farbwerten gemäß HTML-Konventionen ist nachfolgend wiedergegeben.

LPSTR ConvertColorToHTML(DWORD Col)
{
  LPSTR ColStr = (LPSTR)malloc(8);
  char tmp[3];
 
  strcpy(ColStr, "#");
  strcat(ColStr, MakeHex(Col && 0xff, tmp));
  Col = Col >> 8;
  strcat(ColStr, MakeHex(Col && 0xff, tmp));
  Col = Col >> 8;
strcat(ColStr, MakeHex(Col && 0xff, tmp));
  return ColStr;
}

Innerhalb des Textes gibt es sechs Standardlevel für Überschriften, von denen H1 die größte und H6 die kleinste Schrift verwendet.

Text


Text


...
Text

Zur Definition einer speziellen Schrift im Text kann das FONT-Tag verwendet werden. Es kennt die Attribute

Attribut

Bedeutung

Face

Schriftart

Size

Schriftgröße als Faktor der Standard-Browserschrift

Color

Fabe in Hexadezimal-RGB-Darstellung

Optional können auch einzelne Attribute entfallen, wenn nur die übrigen interessieren. Ein vollständiges Beispiel ist:

Funktion ConvertColor-ToHTML

Neben der numerischen Farbangabe sind jedoch auch englische Bezeichner für Standardfarben wie Blue, Green, Red, Yellow etc. erlaubt.

Innerhalb einer gewählten Schrift lassen sich Textattribute wie fett oder kursiv über die nachfolgenden Schlüsselwörter aktivieren.

Text Text fett
Text Text kursiv

Standardisierte Formatierungen für Text liefern die Schlüsselwörter

Text
Text

Sie wählen eine hervorgehobene Darstellung bzw. eine kleine Schrift. Text mit gleichbleibender Schriftbreite fordert das nachfolgende Schlüsselwort

Text

Innerhalb eines längeren Dokuments können einzelne Absätze mittels

Text

gekennzeichnet werden. Sinn macht dieses Schlüsselwort unter anderem dann, wenn über


ein Zeilenumbruch gefordert wird, ohne dass ein neuer Absatz beginnt. Hierbei ist zu beachten, dass es kein
gibt.

Generell ist zu beachten, dass der Zeilenumbruch grundsätzlich durch den HTML-Browser auf Basis der aktuellen Seitenbreite errechnet wird. Die Zeilenumbrüche im HTML-Textkörper spielen daher keine Rolle, sofern sie nicht durch „
“ erzwungen werden.

Die Ausgabe einer horizontalen Linie fordert


Eine zentrierte Anzeige von Text, Bilder, Tabellen und anderen Elementen erreicht man über das Schlüsselwort

Text,Bild,...

Kommentare in HTML-Seiten

Einen Kommentar wird durch „!—„ eingeleitet und durch „—„ abgeschlossen.

Integration eines Bildes auf der HTML-Seite

Das IMG-Tag erlaubt das Integrieren von Bildern in der HTML-Seite. Als Attribute spezifizieren:

Attribut

Bedeutung

SRC

Name der Bilddatei

ALT

alternativer Text, wenn die Grafik nicht angezeigt werden kann

BORDER

Breite der Umrandung

HEIGHT

Größe des Bildes

WIDTH

Breite des Bildes

ALIGN

Ausrichtung des Bildes

Mögliche Werte für Align sind: right und left für rechts- und linksbündig.

Die nachfolgende Anweisung zeigt ein Bild, das im GIF-Format vorliegt, mit einer Umrandung der Stärke 3 in der durch width und height angegebenen Größe rechtsbündig auf der HTML-Seite an.

“Alternativtext“

Für die Darstellung von Listen kennt HTML diverse Formate. Hauptsächlich kommen dabei Tabellen und allgemeine Listen zum Einsatz. Letztere werden eingerahmt von

    ...
geordnete Liste
    ...
ungeordnete Liste

Zwischen diesen Anweisungen folgen die Listenelemente, die mit folgendem Tag eingeleitet werden:

  • Text

    Für eine geordnete Liste erzeugt der Browser eine Nummerierung der Elemente. So führt die HTML-Sequenz

    1. PASCAL
    2. DELPHI
    3. C++

    zur Darstellung

    1. PASCAL
    2. DELPHI
    3. C++

    Die gleiche Anweisungsfolge mit „

      “ anstelle von „
        “ liefert die nachfolgende Liste:

        PASCAL
        DELPHI
        C++

        Tiefere Ebenen der Listen erreicht man durch eine erneute Liste, die innerhalb eines „

      1. “-Blocks erneut mit „“ eingeleitet und beendet wird. Daneben kennt HTML auch eine Definitionsliste. Sie entspricht im Aussehen einem Inhaltsverzeichnis und wird über „
        “ kodiert.

        Punkt 1
        Punkt 1.1
        Punkt 1.2
        Punkt 2
        Punkt 2.1

        Die einzelnen Punkte werden mittels „

        “ auf der ersten und „
        “ auf der zweiten Ebene eingeleitet. Weitere Lis-tenformen, die hier nicht weiter beschrieben werden, sind:

        ... Menüliste
        ... Verzeichnisliste

        Hyperlinks

        Mit Hyperlinks können andere HTML-Seiten aufgerufen oder zu Positionen (Anker) auf der gleichen Seite verzweigt werden. Ebenso kann ein Bild angezeigt und anklickbar gemacht werden, um eine Folgeseite zu laden oder einen Download auszulösen. Es gibt verschiedene Einsatzmöglichkeiten und Varianten für Downloads, die nachfolgend beispielhaft beschrieben werden.

        Eingeleitet werden Hyperlinks jeweils durch „“ schließt. Der darauf folgende Text wird unterstrichen dargestellt und bildet den Hinweis für den Anwender. Zum Abschluss kommt das Ende des Hyperlink-Tags „“.

  • Listen auf der HTML-Seite

    Gehe zur Folgeseite

    Auf dem Bildschirm erscheint der unterstrichene Text

    Gehe zur Folgeseite.

    Bei Anklicken dieses Schriftzuges wird seiteX.html von http://www.servx.com/test/ geladen. Wird seiteX.html aus dem gleichen Verzeichnis geladen, aus dem auch die aktuelle Seite vom Server geladen wurde, genügt die Angabe des Namens der HTML-Seite im obigen Aufruf. Der vorangehende Pfad kann weggelassen werden, da er in diesem Fall der Standardpfad ist (Standard-Location).

    Zum Abschnitt 1

    Seite seiteX.html wird aufgerufen und in der Anzeige der Seite im Browser wird die Position, an der sich der Anker ANK1 auf der Seite befindet, voreingestellt. Es können so auch Positionierungen innerhalb der eigenen Seite vorgenommen werden. Um auf einen Anker positionieren zu können, muss er innerhalb der Seite definiert sein, z.B.durch:

    Text


    Das Bild BILD1.GIF kann angeklickt werden, um das Laden und Anzeigen von seiteX.html als Folgeseite auszulösen.

    Download der ZIP-Datei

    In der HTML-Seite ist

    Download der ZIP-Datei

    zu lesen. Ein Anklicken löst ein Download der im ZIP-Format gepackten Datei aus. Der Start von CGI-Scripts erfolgt in ähnlicher Weise. Hier sind allerdings einige zusätzliche Randbedingungen einzuhalten, deren Darstellung den Rahmen dieses Beitrags sprengen würde

    Zeichenfolgen für Umlaute

    Anstelle von Umlauten müssen in Texten ersatzweise die folgenden Dezimalcodes mit abschließendem Semikolon eingegeben werden oder alternativ die entsprechenden Hexadezimalwerte mit vorangestelltem Prozentzeichen:

    Sonderzeichen

    &-Codierung

    %-Codierung

    „ä“

    ä

    %E4

    „ö“

    ö

    %F6

    „ü“

    ü

    %FC

    „Ä“

    Ä

    %C4

    „Ö“

    Ö

    %D6

    „Ü“

    Ü

    %DC

    „ß“

    ß

    %DF

    „ „

    +

    +

    In der Praxis begegnet man normalerweise nur der %-Codierung, die von allen Servern eingesetzt wird. Als Feldbegrenzungszeichen kommt das „&“ zum Einsatz.

    Eine Funktion zum Erzeugen eines HTML-Strings unter Berücksichtigung der Umcodierung der Sonderzeichen wird nachfolgend vorgestellt. Sie setzt im Wesentlichen die oben vorgestellte Tabelle um.

    LPSTR ConvertStringToHTML(LPSTR S)
    {
      unsigned int I, newlen = 0;
      LPSTR NewStr = (LPSTR)malloc(3 * strlen(S));
      for(I = 0; I
    




    Sachgebiet


    © 2009-2012 by Alojado Publishing. Alle Rechte vorbehalten. Ausgewiesene Marken gehören ihren jeweiligen Eigentümern.
    Mit der Benutzung dieser Seite erkennen Sie die Nutzungsbedingungen und die Datenschutzerklärung an. Der Betreiber übernimmt keine Haftung für den Inhalt verlinkter externer Internetseiten.
    Seite erzeugt 2012-05-20 02:20:29 von textarchiv.alojado.de