Zum Inhalt springen

Component Pascal

aus Wikipedia, der freien Enzyklopädie
{{#if: | {{#if: | {{#if:imperativ, modular, objektorientiert, komponentenorientiert| {{#if:1990| {{#if:| {{#if:Niklaus Wirth /
Oberon microsystems| {{#if:1.5| {{#if:| {{#if:statisch und dynamisch, stark| {{#if:BlackBox Component Builder, Gardens Point Component Pascal| {{#if:| {{#if:| {{#if:Modula-2 / Oberon| {{#if:| {{#if:Windows, Laufzeitsysteme .Net-Framework und JVM| {{#if:frei| {{#if:BlackBox Framework|
{{#if: Component Pascal | Component Pascal | {{#invoke:WLink|getArticleBase}} }}
colspan="2" class="notheme" style="text-align:center; background-color:#Vorlage:Standardfarbe;" | |
 {{#if: {{#invoke:Wikidata|claim|P154}} |
[[Datei:{{#invoke:Wikidata|claim|P154}}|150px]]
 }}

}}

{{{Screenshot}}}{{#if: Effizienter, schlanker Compiler für sicheren Programmcode |
Effizienter, schlanker Compiler für sicheren Programmcode }}|

}}

Basisdaten
Paradigmen: imperativ, modular, objektorientiert, komponentenorientiert

}}

Erscheinungsjahr:
 {{#if: {{#invoke:Wikidata|claim|P571}} | 
Erscheinungsjahr: claim|P571|references=ja}}
 }}

}}

Designer:
 {{#if: {{#invoke:Wikidata|claim|P287}} | 
Designer: claim|P287|parameter=link|references=ja|list=, }}
 }}

}}

Entwickler: Niklaus Wirth /
Oberon microsystems |
 {{#if: {{#invoke:Wikidata|claim|P178}} | 
Entwickler: claim|P178|parameter=link|references=ja|list=, }}
 }}

}}

Aktuelle Version: 1.5  (2005, Release Candidate 1.6: 2007) |

{{#if: {{#invoke:Wikidata|claim|P348}} |

Aktuelle Version {{#invoke:Wikidata|claim|P348|references=ja}}{{#if: {{#invoke:Wikidata|claim|Version|qualifier=P577}} | ({{#invoke:Wikidata|claim|Version|qualifier=P577}})}}}}

}}

Aktuelle Vorabversion: {{{AktuelleVorabVersion}}}  ({{{AktuelleVorabVersionFreigabeDatum}}})

}}

Typisierung: statisch und dynamisch, stark

}}

Wichtige Implementierungen: BlackBox Component Builder, Gardens Point Component Pascal

}}

Dialekte:

}}

Standardisierungen: {{{Standardisierungen}}}

}}

Beeinflusst von: Modula-2 / Oberon |
 {{#if: {{#invoke:Wikidata|claim|P737}} | 
Beeinflusst von: claim|P737|parameter=link|references=ja|list=, }}
 }}

}}

Beeinflusste:

}}

Betriebssystem: Windows, Laufzeitsysteme .Net-Framework und JVM |
 {{#if: {{#invoke:Wikidata|claim|P306}} | 
Betriebssystem: claim|P306|parameter=link|references=ja|list=, }}
 }}

}}

Lizenz:
 {{#if: {{#invoke:Wikidata|claim|P275}} | 
Lizenz: claim|P275|parameter=link|references=ja|list=, }}
 }}

}}

BlackBox Framework |
 {{#if: {{#invoke:Wikidata|claim|P856}} | 
{{#invoke: WLink | formatURL | {{#invoke:Wikidata|claim|P856|parameter=link}}}}
 }}

}}

Component Pascal ist eine seit 2004 kostenlose, seit 1990 entwickelte, imperative, modulare, objekt- und komponentenorientierte Programmiersprache für das von Oberon microsystems entwickelte, komponentenbasierte Entwicklungssystem BlackBox Component Builder. Inzwischen gibt es unter dem Namen Gardens Point Component Pascal auch Versionen, die unter dem .Net-Framework und unter der Java Virtual Machine lauffähig sind.

Component Pascal ist aus der Programmiersprache Oberon entwickelt worden und firmierte bei der Veröffentlichung 1994 noch unter dem Namen Oberon/L. Das dazugehörende Framework wurde Oberon/F genannt. Mit dem Release 1.3 (das etwa zum Jahreswechsel 1996/1997 freigegeben wurde) wurde aus der Sprache Oberon/L Component Pascal und aus dem Framework Oberon/F der BlackBox Component Builder.

Seit 2019 findet keine wesentliche Entwicklung mehr von Component Pascal statt.<ref>Letzte Stable-Version BlackBox Framework</ref>

Eigenschaften

Component Pascal hat eine ausgesprochen kurze und einfache Sprachbeschreibung mit einer vollständig strukturierten Syntax. Sie erlaubt statische Typen und Objekte genauso wie dynamische Typen, sowie dynamische Bindung. Es handelt sich um eine sehr stark typisierte und typsichere Programmiersprache, solange das Modul SYSTEM nicht explizit importiert wird, was in der Regel nur für Systemprogrammierung vorgesehen ist, und ist daher leicht portabel. Vererbung ist in der Programmiersprache verankert, nicht jedoch mehrfache Vererbung, um zusätzliche Belastung für die Compiler zu vermeiden und die Sprachsemantik so eindeutig wie möglich zu gestalten und das Diamond-Problem zu vermeiden.

Component Pascal unterstützt auch zur Laufzeit automatische Speicherbereinigung und dynamisches Laden und Entfernen von Modulen respektive Komponenten, auch während Instanzen bereits existieren und weiterverwendet werden sollen.

Darüber hinaus erlaubt Component Pascal Assertionen, generische Programmierung und das Überschreiben von Datentypen und somit auch Methoden (sogenannte typengebundene Prozeduren). Im Sinne der Einfachheit und besseren Nachvollziehbarkeit des Quellcodes ist das Überladen von Operatoren oder Methoden jedoch nicht möglich.

Die Programmiersprache Component Pascal und das Entwicklungs- und Laufzeitsystem BlackBox Component Builder sind seit 2005 quelloffen.

Einsatzgebiete

Component Pascal zeichnet sich durch seine geringen Ansprüche an die Hardware, hohe Stabilität, Einfachheit und Schnelligkeit sowohl bei der Laufzeit als auch bei der Softwareentwicklung aus. Es wird vor allem für wissenschaftliche und technische Anwendungen, in Lehre und Forschung, aber auch für kommerzielle Anwendungen eingesetzt.

Programme

Hallo Welt

Das Programm Hallo Welt in Component Pascal 1. Beispiel

Im Modul HalloWelt wird das (parameterlose) Kommando Output definiert. Der Stern (*) hinter dem Prozedurnamen definiert den Export der Prozedur Output, so dass diese außerhalb des Moduls mit der Syntax HalloWelt.Output referenziert werden kann. Der folgende Quelltext stellt ein einfaches Programm dar, das die Meldung Hallo Welt! gefolgt von einem Zeilenumbruch ausgibt: <syntaxhighlight lang="ComponentPascal">

MODULE HalloWelt;
IMPORT Out;
PROCEDURE Output*;
BEGIN
   Out.Open;
   Out.String ("Hallo Welt!");
   Out.Ln;
END Output;
END HalloWelt.

</syntaxhighlight>

Das Programm Hallo Welt in Component Pascal 2. Beispiel

Im Modul HalloWelt2 wird eine Variable definiert, die später in einer Dialogbox ausgegeben wird. Der Stern (*) hinter dem Prozedurnamen definiert den Export der Prozedur Output, so dass diese außerhalb des Moduls mit der Syntax HalloWelt.Output referenziert werden kann. Der folgende Quelltext stellt ein einfaches Programm dar, das die Meldung Hallo Welt! in einer Dialogbox ausgibt, die über "IMPORT Dialog;" importiert wurde. In der Dialogbox werden u. a. alle mit einem * gekennzeichneten Variablen ausgegeben. Mit "VAR ausgabe*: ARRAY 50 OF CHAR" wird festgelegt, dass eine VAR Variable "ausgabe" angelegt werden soll, die 1. im Dialog sichtbar ist (*) und 2. aus einer Aneinanderreihung von 50 Schriftzeichen besteht (ARRAY 50 OF CHAR) Durch die Zeile "Dialog.UpdateString(ausgabe);" wird angeordnet, dass der Inhalt der Variable "ausgabe" der Dialogbox zugewiesen wird und sofort angezeigt wird.: <syntaxhighlight lang="ComponentPascal">

 MODULE HalloWelt2;
 IMPORT Dialog;
 VAR ausgabe*: ARRAY 50 OF CHAR;
 PROCEDURE Output*;
 BEGIN
   ausgabe:= "Hallo Welt!" ;
   Dialog.UpdateString(ausgabe);
 END Output;
END HalloWelt2.

</syntaxhighlight>

Rechner

Das Programm Additions-Rechner in Component Pascal 1. Beispiel

<syntaxhighlight lang="ComponentPascal">

MODULE Kurs10Rechner;
IMPORT Dialog;
VAR zahl1*, zahl2*, ergebnis*: INTEGER;
  PROCEDURE add*;
  BEGIN
     ergebnis := (zahl1 + zahl2);
     Dialog.UpdateInt (ergebnis);
  END add;
END Kurs10Rechner.

</syntaxhighlight>

Beispiele für die Implementierung von Vererbung

Die Implementierung von vererbbaren Strukturen ist bei Component Pascal gegenüber seinem Vorgänger Oberon etwas vereinfacht und noch klarer und sicherer strukturiert worden. Die Bemerkungen zwischen (* und *) dienen zur Erläuterung und werden vom Compiler ignoriert. Beispiele:

<syntaxhighlight lang="ComponentPascal">

MODULE Vererbung1;
TYPE (* Typendefinitionen *)
   GraphischesObjekt* = POINTER TO ABSTRACT RECORD farbe*: INTEGER; END;
   Punkt* = POINTER TO RECORD (GraphischesObjekt) x*, y*: INTEGER; END;
   Linie* = POINTER TO RECORD (GraphischesObjekt) xStart*, yStart*, xEnde*, yEnde*: INTEGER; END;
VAR (* Variablendefinitionen *)
   punkt1: Punkt;
   linie1: Linie;
PROCEDURE (g: GraphischesObjekt) Zeichne* (), NEW, EXTENSIBLE;
BEGIN
   (* Leere, erweiterbare Methode *)
END Zeichne;
PROCEDURE (punkt: Punkt) Zeichne* ();
BEGIN
   (* ... *)
END Zeichne;
PROCEDURE (linie: Linie) Zeichne* ();
BEGIN
   (* ... *)
END Zeichne;
BEGIN
   NEW (punkt1);
   punkt1.farbe := 0FFH; (* Objektfarbe wird auf 0FF ("H" für hexadezimal) gesetzt *)
   punkt1.x := 1;
   punkt1.y := 1;
   punkt1.Zeichne ();
   NEW (linie1);
   linie1.farbe := 07FH; (* Objektfarbe wird auf 07F ("H" für hexadezimal) gesetzt *)
   linie1.xStart := 1;
   linie1.yStart := 1;
   linie1.xEnde  := 2;
   linie1.yEnde  := 2;
   linie1.Zeichne ();
END Vererbung1.

</syntaxhighlight>

Attribute, die nur einen Lesezugriff haben, können durch typengebundene Prozeduren (Methoden) verändert werden. Der Export entsprechender Identifizierer, die außerhalb der objekteigenen Module nur gelesen werden können, wird nicht durch *, sondern durch - gekennzeichnet. Beispiel:

<syntaxhighlight lang="ComponentPascal">

MODULE Vererbung2;
TYPE
   Objekt* = POINTER TO RECORD x-: INTEGER; END; (* Kommentar: außerhalb des Moduls "Vererbung2" ist kein direkter Schreibzugriff auf das Attribut "x" möglich *)
PROCEDURE (objekt: Objekt) setzeX* (wert: INTEGER), NEW; (* Kommentar: für den indirekten Schreibzugriff auf das Attribut "x" *)
BEGIN
   objekt.x := wert;
END setzeX;
END Vererbung2.

</syntaxhighlight>

<syntaxhighlight lang="ComponentPascal">

MODULE AnderesModul;
IMPORT Vererbung2;
VAR
   objekt1: Vererbung2.Objekt;
   int: INTEGER;
BEGIN
   NEW (objekt1);
   objekt1.setzeX (1); (* Kommentar: die Anweisung "objekt1.x := 1" ist außerhalb des Moduls "Vererbung2" nicht möglich *)
   int := objekt1.x;  (* Kommentar: direkter Lesezugriff auf das Attribut ""x ist möglich *)
END AnderesModul.

</syntaxhighlight>

Literatur

  • Karlheinz Hug: Module, Klassen, Verträge. Ein Lehrbuch zur komponentenorientierten Softwarekonstruktion mit Component Pascal. Vieweg Verlagsgesellschaft, 2001
  • J. Stanley Warford: Computing Fundamentals - The Theory and Practice of Software Design with BlackBox Component Builder. Vieweg, 2002
  • Markus Bautsch: Cycles of Software Crises. In: ENISA Quarterly on Secure Software (PDF; 2 MB)

Weblinks

      | {{#ifeq: 20150119165207 | *
    | Vorlage:Webarchiv/Wartung/Stern{{#if: Component Pascal Resources | {{#invoke:WLink|getEscapedTitle|Component Pascal Resources}} | {{#invoke:Webarchiv|getdomain|http://www.cfbsoftware.com/gpcp}} }} (Archivversionen)
    | {{#iferror: {{#time: j. F Y|20150119165207}}
         | {{#if:  || }}Vorlage:Webarchiv/Wartung/DatumDer Wert des Parameters {{#if: wayback | wayback | Datum }} muss ein gültiger Zeitstempel der Form YYYYMMDDHHMMSS sein!
         | {{#if: Component Pascal Resources | {{#invoke:WLink|getEscapedTitle|Component Pascal Resources}} | {{#invoke:Webarchiv|getdomain|http://www.cfbsoftware.com/gpcp}} }} {{#ifeq:  | [] | [ | ( }}Memento{{#if: {{#if:  | {{{archiv-bot}}} |  }} |  des Vorlage:Referrer }} vom {{#time: j. F Y|20150119165207}} im Internet Archive{{#if:  | ;  }}{{#ifeq:  | [] | ] | ) }}
      }}
  }}
      | {{#if:
          | {{#iferror: {{#time: j. F Y|{{{webciteID}}}}}
    | {{#switch: {{#invoke:Str|len|{{{webciteID}}}}}
       | 16= {{#if: Component Pascal Resources | {{#invoke:WLink|getEscapedTitle|Component Pascal Resources}} | {{#invoke:Webarchiv|getdomain|http://www.cfbsoftware.com/gpcp}} }} {{#ifeq:  | [] | [ | ( }}Memento{{#if: {{#if:  | {{{archiv-bot}}} |  }} |  des Vorlage:Referrer }} vom {{#time: j. F Y| 19700101000000 + {{#expr: floor {{#expr: {{#invoke:Str|sub|{{{webciteID}}}|1|10}}/86400}} }} days}} auf WebCite{{#if:  | ;  }}{{#ifeq:  | [] | ] | ) }}
       | 9 = {{#if: Component Pascal Resources | {{#invoke:WLink|getEscapedTitle|Component Pascal Resources}} | {{#invoke:Webarchiv|getdomain|http://www.cfbsoftware.com/gpcp}} }} {{#ifeq:  | [] | [ | ( }}Memento{{#if: {{#if:  | {{{archiv-bot}}} |  }} |  des Vorlage:Referrer}} vom {{#time: j. F Y| 19700101000000 + {{#expr: floor {{#expr: {{#invoke:Str|sub|{{#invoke:Expr|base62|{{{webciteID}}}}}|1|10}}/86400}} }} days}} auf WebCite{{#if:  | ;  }}{{#ifeq:  | [] | ] | ) }}
       | #default= Der Wert des Parameters {{#if: webciteID | webciteID | ID }} muss entweder ein Zeitstempel der Form YYYYMMDDHHMMSS oder ein Schüsselwert mit 9 Zeichen oder eine 16-stellige Zahl sein!Vorlage:Webarchiv/Wartung/webcitation{{#if:  || }}
      }}
    | c|{{{webciteID}}}}} {{#if: Component Pascal Resources | {{#invoke:WLink|getEscapedTitle|Component Pascal Resources}} | {{#invoke:Webarchiv|getdomain|http://www.cfbsoftware.com/gpcp}} }} (Memento{{#if: {{#if:  | {{{archiv-bot}}} |  }} |  des Vorlage:Referrer}} vom {{#time: j. F Y|{{{webciteID}}}}} auf WebCite{{#if:  | ;  }}{{#ifeq:  | [] | ] | ) }}
  }}
          | {{#if: 
              | Vorlage:Webarchiv/Today
              | {{#if:
                      | Vorlage:Webarchiv/Generisch
                      | {{#if: Component Pascal Resources | {{#invoke:WLink|getEscapedTitle|Component Pascal Resources}} | {{#invoke:Webarchiv|getdomain|http://www.cfbsoftware.com/gpcp}} }}  
                 }}}}}}}}{{#if:
    | Vorlage:Webarchiv/archiv-bot
  }}{{#invoke:TemplatePar|check
     |all      = url=
     |opt      = text= wayback= webciteID= archive-is= archive-today= archiv-url= archiv-datum= ()= archiv-bot= format= original=
     |cat      = Wikipedia:Vorlagenfehler/Vorlage:Webarchiv
     |errNS    = 0
     |template = Vorlage:Webarchiv
     |format   = *
     |preview  = 1
  }}{{#ifexpr: {{#if:20150119165207|1|0}}{{#if:|+1}}{{#if:|+1}}{{#if:|+1}}{{#if:|+1}} <> 1
    | {{#if:  || }}Vorlage:Webarchiv/Wartung/Parameter{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Genau einer der Parameter 'wayback', 'webciteID', 'archive-today', 'archive-is' oder 'archiv-url' muss angegeben werden.|1}}
  }}{{#if: 
    | {{#switch: {{#invoke:Webarchiv|getdomain|{{{archiv-url}}}}}
        | web.archive.org = 
          {{#if:  || }}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Im Parameter 'archiv-url' wurde URL von Internet Archive erkannt, bitte Parameter 'wayback' benutzen.|1}} 
        | webcitation.org = 
          {{#if:  || }}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Im Parameter 'archiv-url' wurde URL von WebCite erkannt, bitte Parameter 'webciteID' benutzen.|1}} 
        | archive.today |archive.is |archive.ph |archive.fo |archive.li |archive.md |archive.vn = 
          {{#if:  || }}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Im Parameter 'archiv-url' wurde URL von archive.today erkannt, bitte Parameter 'archive-today' benutzen.|1}}
      }}{{#if: 
         | {{#iferror: {{#iferror:{{#invoke:Vorlage:FormatDate|Execute}}|}}
             | {{#if:  || }}Vorlage:Webarchiv/Wartung/Parameter{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Der Wert des Parameter 'archiv-datum' ist ungültig oder hat ein ungültiges Format.|1}}
          |  }} 
         | {{#if:  || }}Vorlage:Webarchiv/Wartung/Parameter{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Der Pflichtparameter 'archiv-datum' wurde nicht angegeben.|1}}
      }}
    | {{#if: 
         | {{#if:  || }}Vorlage:Webarchiv/Wartung/Parameter{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Der Parameter 'archiv-datum' ist nur in Verbindung mit 'archiv-url' angebbar.|1}}
      }}
  }}{{#if:{{#invoke:URLutil|isHostPathResource|http://www.cfbsoftware.com/gpcp}}
    || {{#if:  || }}
  }}{{#if: Component Pascal Resources
    | {{#if: {{#invoke:WLink|isBracketedLink|Component Pascal Resources}}
        | {{#if:  || }}
      }}
    | {{#if:  || }}Vorlage:Webarchiv/Wartung/Linktext_fehlt
  }}{{#switch: 
    |addlarchives|addlpages= {{#if:  || }}{{#if: 1 |Vorlage:Webarchiv/Wartung/Parameter}}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: enWP-Wert im Parameter 'format'.|1}}
  }}{{#ifeq: {{#invoke:Str|find|http://www.cfbsoftware.com/gpcp%7Carchiv}} |-1
    || {{#ifeq: {{#invoke:Str|find|{{#invoke:Str|cropleft|http://www.cfbsoftware.com/gpcp%7C4}}%7Chttp}} |-1
         || {{#switch: {{#invoke:Webarchiv|getdomain|http://www.cfbsoftware.com/gpcp }}
              | abendblatt.de | daserste.ndr.de | inarchive.com | webcitation.org = 
              | #default = {{#if:  || }}{{#if: 1 |Vorlage:Webarchiv/Wartung/URL}}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Archiv-URL im Parameter 'url' anstatt URL der Originalquelle. Entferne den vor der Original-URL stehenden Mementobestandteil und setze den Archivierungszeitstempel in den Parameter 'wayback', 'webciteID', 'archive.today' oder 'archive-is' ein, sofern nicht bereits befüllt.|1}}
            }} 
       }}
  }}
  • <templatestyles src="Webarchiv/styles.css" />{{#if:20120324161020
      | {{#ifeq: 20120324161020 | *
    | Vorlage:Webarchiv/Wartung/Stern{{#if: Gardens Point Component Pascal | {{#invoke:WLink|getEscapedTitle|Gardens Point Component Pascal}} | {{#invoke:Webarchiv|getdomain|http://plas.fit.qut.edu.au/gpcp/Downloads.aspx}} }} (Archivversionen)
    | {{#iferror: {{#time: j. F Y|20120324161020}}
         | {{#if:  || }}Vorlage:Webarchiv/Wartung/DatumDer Wert des Parameters {{#if: wayback | wayback | Datum }} muss ein gültiger Zeitstempel der Form YYYYMMDDHHMMSS sein!
         | {{#if: Gardens Point Component Pascal | {{#invoke:WLink|getEscapedTitle|Gardens Point Component Pascal}} | {{#invoke:Webarchiv|getdomain|http://plas.fit.qut.edu.au/gpcp/Downloads.aspx}} }} {{#ifeq:  | [] | [ | ( }}Memento{{#if: {{#if:  | {{{archiv-bot}}} |  }} |  des Vorlage:Referrer }} vom {{#time: j. F Y|20120324161020}} im Internet Archive{{#if:  | ;  }}{{#ifeq:  | [] | ] | ) }}
      }}
  }}
      | {{#if:
          | {{#iferror: {{#time: j. F Y|{{{webciteID}}}}}
    | {{#switch: {{#invoke:Str|len|{{{webciteID}}}}}
       | 16= {{#if: Gardens Point Component Pascal | {{#invoke:WLink|getEscapedTitle|Gardens Point Component Pascal}} | {{#invoke:Webarchiv|getdomain|http://plas.fit.qut.edu.au/gpcp/Downloads.aspx}} }} {{#ifeq:  | [] | [ | ( }}Memento{{#if: {{#if:  | {{{archiv-bot}}} |  }} |  des Vorlage:Referrer }} vom {{#time: j. F Y| 19700101000000 + {{#expr: floor {{#expr: {{#invoke:Str|sub|{{{webciteID}}}|1|10}}/86400}} }} days}} auf WebCite{{#if:  | ;  }}{{#ifeq:  | [] | ] | ) }}
       | 9 = {{#if: Gardens Point Component Pascal | {{#invoke:WLink|getEscapedTitle|Gardens Point Component Pascal}} | {{#invoke:Webarchiv|getdomain|http://plas.fit.qut.edu.au/gpcp/Downloads.aspx}} }} {{#ifeq:  | [] | [ | ( }}Memento{{#if: {{#if:  | {{{archiv-bot}}} |  }} |  des Vorlage:Referrer}} vom {{#time: j. F Y| 19700101000000 + {{#expr: floor {{#expr: {{#invoke:Str|sub|{{#invoke:Expr|base62|{{{webciteID}}}}}|1|10}}/86400}} }} days}} auf WebCite{{#if:  | ;  }}{{#ifeq:  | [] | ] | ) }}
       | #default= Der Wert des Parameters {{#if: webciteID | webciteID | ID }} muss entweder ein Zeitstempel der Form YYYYMMDDHHMMSS oder ein Schüsselwert mit 9 Zeichen oder eine 16-stellige Zahl sein!Vorlage:Webarchiv/Wartung/webcitation{{#if:  || }}
      }}
    | c|{{{webciteID}}}}} {{#if: Gardens Point Component Pascal | {{#invoke:WLink|getEscapedTitle|Gardens Point Component Pascal}} | {{#invoke:Webarchiv|getdomain|http://plas.fit.qut.edu.au/gpcp/Downloads.aspx}} }} (Memento{{#if: {{#if:  | {{{archiv-bot}}} |  }} |  des Vorlage:Referrer}} vom {{#time: j. F Y|{{{webciteID}}}}} auf WebCite{{#if:  | ;  }}{{#ifeq:  | [] | ] | ) }}
  }}
          | {{#if: 
              | Vorlage:Webarchiv/Today
              | {{#if:
                      | Vorlage:Webarchiv/Generisch
                      | {{#if: Gardens Point Component Pascal | {{#invoke:WLink|getEscapedTitle|Gardens Point Component Pascal}} | {{#invoke:Webarchiv|getdomain|http://plas.fit.qut.edu.au/gpcp/Downloads.aspx}} }}  
                 }}}}}}}}{{#if:
    | Vorlage:Webarchiv/archiv-bot
  }}{{#invoke:TemplatePar|check
     |all      = url=
     |opt      = text= wayback= webciteID= archive-is= archive-today= archiv-url= archiv-datum= ()= archiv-bot= format= original=
     |cat      = Wikipedia:Vorlagenfehler/Vorlage:Webarchiv
     |errNS    = 0
     |template = Vorlage:Webarchiv
     |format   = *
     |preview  = 1
  }}{{#ifexpr: {{#if:20120324161020|1|0}}{{#if:|+1}}{{#if:|+1}}{{#if:|+1}}{{#if:|+1}} <> 1
    | {{#if:  || }}Vorlage:Webarchiv/Wartung/Parameter{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Genau einer der Parameter 'wayback', 'webciteID', 'archive-today', 'archive-is' oder 'archiv-url' muss angegeben werden.|1}}
  }}{{#if: 
    | {{#switch: {{#invoke:Webarchiv|getdomain|{{{archiv-url}}}}}
        | web.archive.org = 
          {{#if:  || }}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Im Parameter 'archiv-url' wurde URL von Internet Archive erkannt, bitte Parameter 'wayback' benutzen.|1}} 
        | webcitation.org = 
          {{#if:  || }}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Im Parameter 'archiv-url' wurde URL von WebCite erkannt, bitte Parameter 'webciteID' benutzen.|1}} 
        | archive.today |archive.is |archive.ph |archive.fo |archive.li |archive.md |archive.vn = 
          {{#if:  || }}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Im Parameter 'archiv-url' wurde URL von archive.today erkannt, bitte Parameter 'archive-today' benutzen.|1}}
      }}{{#if: 
         | {{#iferror: {{#iferror:{{#invoke:Vorlage:FormatDate|Execute}}|}}
             | {{#if:  || }}Vorlage:Webarchiv/Wartung/Parameter{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Der Wert des Parameter 'archiv-datum' ist ungültig oder hat ein ungültiges Format.|1}}
          |  }} 
         | {{#if:  || }}Vorlage:Webarchiv/Wartung/Parameter{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Der Pflichtparameter 'archiv-datum' wurde nicht angegeben.|1}}
      }}
    | {{#if: 
         | {{#if:  || }}Vorlage:Webarchiv/Wartung/Parameter{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Der Parameter 'archiv-datum' ist nur in Verbindung mit 'archiv-url' angebbar.|1}}
      }}
  }}{{#if:{{#invoke:URLutil|isHostPathResource|http://plas.fit.qut.edu.au/gpcp/Downloads.aspx}}
    || {{#if:  || }}
  }}{{#if: Gardens Point Component Pascal
    | {{#if: {{#invoke:WLink|isBracketedLink|Gardens Point Component Pascal}}
        | {{#if:  || }}
      }}
    | {{#if:  || }}Vorlage:Webarchiv/Wartung/Linktext_fehlt
  }}{{#switch: 
    |addlarchives|addlpages= {{#if:  || }}{{#if: 1 |Vorlage:Webarchiv/Wartung/Parameter}}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: enWP-Wert im Parameter 'format'.|1}}
  }}{{#ifeq: {{#invoke:Str|find|http://plas.fit.qut.edu.au/gpcp/Downloads.aspx%7Carchiv}} |-1
    || {{#ifeq: {{#invoke:Str|find|{{#invoke:Str|cropleft|http://plas.fit.qut.edu.au/gpcp/Downloads.aspx%7C4}}%7Chttp}} |-1
         || {{#switch: {{#invoke:Webarchiv|getdomain|http://plas.fit.qut.edu.au/gpcp/Downloads.aspx }}
              | abendblatt.de | daserste.ndr.de | inarchive.com | webcitation.org = 
              | #default = {{#if:  || }}{{#if: 1 |Vorlage:Webarchiv/Wartung/URL}}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Archiv-URL im Parameter 'url' anstatt URL der Originalquelle. Entferne den vor der Original-URL stehenden Mementobestandteil und setze den Archivierungszeitstempel in den Parameter 'wayback', 'webciteID', 'archive.today' oder 'archive-is' ein, sofern nicht bereits befüllt.|1}}
            }} 
       }}
  }}
  • <templatestyles src="Webarchiv/styles.css" />{{#if:20070706175140
      | {{#ifeq: 20070706175140 | *
    | Vorlage:Webarchiv/Wartung/Stern{{#if: Tutorium Component Pascal | {{#invoke:WLink|getEscapedTitle|Tutorium Component Pascal}} | {{#invoke:Webarchiv|getdomain|http://www.lahini.de/daten/tutorium/tutorium.pdf}} }} (Archivversionen)
    | {{#iferror: {{#time: j. F Y|20070706175140}}
         | {{#if:  || }}Vorlage:Webarchiv/Wartung/DatumDer Wert des Parameters {{#if: wayback | wayback | Datum }} muss ein gültiger Zeitstempel der Form YYYYMMDDHHMMSS sein!
         | {{#if: Tutorium Component Pascal | {{#invoke:WLink|getEscapedTitle|Tutorium Component Pascal}} | {{#invoke:Webarchiv|getdomain|http://www.lahini.de/daten/tutorium/tutorium.pdf}} }} {{#ifeq:  | [] | [ | ( }}Memento{{#if: {{#if:  | {{{archiv-bot}}} |  }} |  des Vorlage:Referrer }} vom {{#time: j. F Y|20070706175140}} im Internet Archive{{#if:  | ;  }}{{#ifeq:  | [] | ] | ) }}
      }}
  }}
      | {{#if:
          | {{#iferror: {{#time: j. F Y|{{{webciteID}}}}}
    | {{#switch: {{#invoke:Str|len|{{{webciteID}}}}}
       | 16= {{#if: Tutorium Component Pascal | {{#invoke:WLink|getEscapedTitle|Tutorium Component Pascal}} | {{#invoke:Webarchiv|getdomain|http://www.lahini.de/daten/tutorium/tutorium.pdf}} }} {{#ifeq:  | [] | [ | ( }}Memento{{#if: {{#if:  | {{{archiv-bot}}} |  }} |  des Vorlage:Referrer }} vom {{#time: j. F Y| 19700101000000 + {{#expr: floor {{#expr: {{#invoke:Str|sub|{{{webciteID}}}|1|10}}/86400}} }} days}} auf WebCite{{#if:  | ;  }}{{#ifeq:  | [] | ] | ) }}
       | 9 = {{#if: Tutorium Component Pascal | {{#invoke:WLink|getEscapedTitle|Tutorium Component Pascal}} | {{#invoke:Webarchiv|getdomain|http://www.lahini.de/daten/tutorium/tutorium.pdf}} }} {{#ifeq:  | [] | [ | ( }}Memento{{#if: {{#if:  | {{{archiv-bot}}} |  }} |  des Vorlage:Referrer}} vom {{#time: j. F Y| 19700101000000 + {{#expr: floor {{#expr: {{#invoke:Str|sub|{{#invoke:Expr|base62|{{{webciteID}}}}}|1|10}}/86400}} }} days}} auf WebCite{{#if:  | ;  }}{{#ifeq:  | [] | ] | ) }}
       | #default= Der Wert des Parameters {{#if: webciteID | webciteID | ID }} muss entweder ein Zeitstempel der Form YYYYMMDDHHMMSS oder ein Schüsselwert mit 9 Zeichen oder eine 16-stellige Zahl sein!Vorlage:Webarchiv/Wartung/webcitation{{#if:  || }}
      }}
    | c|{{{webciteID}}}}} {{#if: Tutorium Component Pascal | {{#invoke:WLink|getEscapedTitle|Tutorium Component Pascal}} | {{#invoke:Webarchiv|getdomain|http://www.lahini.de/daten/tutorium/tutorium.pdf}} }} (Memento{{#if: {{#if:  | {{{archiv-bot}}} |  }} |  des Vorlage:Referrer}} vom {{#time: j. F Y|{{{webciteID}}}}} auf WebCite{{#if:  | ;  }}{{#ifeq:  | [] | ] | ) }}
  }}
          | {{#if: 
              | Vorlage:Webarchiv/Today
              | {{#if:
                      | Vorlage:Webarchiv/Generisch
                      | {{#if: Tutorium Component Pascal | {{#invoke:WLink|getEscapedTitle|Tutorium Component Pascal}} | {{#invoke:Webarchiv|getdomain|http://www.lahini.de/daten/tutorium/tutorium.pdf}} }}  
                 }}}}}}}}{{#if:
    | Vorlage:Webarchiv/archiv-bot
  }}{{#invoke:TemplatePar|check
     |all      = url=
     |opt      = text= wayback= webciteID= archive-is= archive-today= archiv-url= archiv-datum= ()= archiv-bot= format= original=
     |cat      = Wikipedia:Vorlagenfehler/Vorlage:Webarchiv
     |errNS    = 0
     |template = Vorlage:Webarchiv
     |format   = *
     |preview  = 1
  }}{{#ifexpr: {{#if:20070706175140|1|0}}{{#if:|+1}}{{#if:|+1}}{{#if:|+1}}{{#if:|+1}} <> 1
    | {{#if:  || }}Vorlage:Webarchiv/Wartung/Parameter{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Genau einer der Parameter 'wayback', 'webciteID', 'archive-today', 'archive-is' oder 'archiv-url' muss angegeben werden.|1}}
  }}{{#if: 
    | {{#switch: {{#invoke:Webarchiv|getdomain|{{{archiv-url}}}}}
        | web.archive.org = 
          {{#if:  || }}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Im Parameter 'archiv-url' wurde URL von Internet Archive erkannt, bitte Parameter 'wayback' benutzen.|1}} 
        | webcitation.org = 
          {{#if:  || }}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Im Parameter 'archiv-url' wurde URL von WebCite erkannt, bitte Parameter 'webciteID' benutzen.|1}} 
        | archive.today |archive.is |archive.ph |archive.fo |archive.li |archive.md |archive.vn = 
          {{#if:  || }}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Im Parameter 'archiv-url' wurde URL von archive.today erkannt, bitte Parameter 'archive-today' benutzen.|1}}
      }}{{#if: 
         | {{#iferror: {{#iferror:{{#invoke:Vorlage:FormatDate|Execute}}|}}
             | {{#if:  || }}Vorlage:Webarchiv/Wartung/Parameter{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Der Wert des Parameter 'archiv-datum' ist ungültig oder hat ein ungültiges Format.|1}}
          |  }} 
         | {{#if:  || }}Vorlage:Webarchiv/Wartung/Parameter{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Der Pflichtparameter 'archiv-datum' wurde nicht angegeben.|1}}
      }}
    | {{#if: 
         | {{#if:  || }}Vorlage:Webarchiv/Wartung/Parameter{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Der Parameter 'archiv-datum' ist nur in Verbindung mit 'archiv-url' angebbar.|1}}
      }}
  }}{{#if:{{#invoke:URLutil|isHostPathResource|http://www.lahini.de/daten/tutorium/tutorium.pdf}}
    || {{#if:  || }}
  }}{{#if: Tutorium Component Pascal
    | {{#if: {{#invoke:WLink|isBracketedLink|Tutorium Component Pascal}}
        | {{#if:  || }}
      }}
    | {{#if:  || }}Vorlage:Webarchiv/Wartung/Linktext_fehlt
  }}{{#switch: 
    |addlarchives|addlpages= {{#if:  || }}{{#if: 1 |Vorlage:Webarchiv/Wartung/Parameter}}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: enWP-Wert im Parameter 'format'.|1}}
  }}{{#ifeq: {{#invoke:Str|find|http://www.lahini.de/daten/tutorium/tutorium.pdf%7Carchiv}} |-1
    || {{#ifeq: {{#invoke:Str|find|{{#invoke:Str|cropleft|http://www.lahini.de/daten/tutorium/tutorium.pdf%7C4}}%7Chttp}} |-1
         || {{#switch: {{#invoke:Webarchiv|getdomain|http://www.lahini.de/daten/tutorium/tutorium.pdf }}
              | abendblatt.de | daserste.ndr.de | inarchive.com | webcitation.org = 
              | #default = {{#if:  || }}{{#if: 1 |Vorlage:Webarchiv/Wartung/URL}}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Archiv-URL im Parameter 'url' anstatt URL der Originalquelle. Entferne den vor der Original-URL stehenden Mementobestandteil und setze den Archivierungszeitstempel in den Parameter 'wayback', 'webciteID', 'archive.today' oder 'archive-is' ein, sofern nicht bereits befüllt.|1}}
            }} 
       }}
  }}
  • <templatestyles src="Webarchiv/styles.css" />{{#if:20191021025943
      | {{#ifeq: 20191021025943 | *
    | Vorlage:Webarchiv/Wartung/Stern{{#if: Sprachdefinition (PDF; 221 kB) | {{#invoke:WLink|getEscapedTitle|Sprachdefinition (PDF; 221 kB)}} | {{#invoke:Webarchiv|getdomain|http://www.oberon.ch/pdf/CP-Lang.pdf}} }} (Archivversionen)
    | {{#iferror: {{#time: j. F Y|20191021025943}}
         | {{#if:  || }}Vorlage:Webarchiv/Wartung/DatumDer Wert des Parameters {{#if: wayback | wayback | Datum }} muss ein gültiger Zeitstempel der Form YYYYMMDDHHMMSS sein!
         | {{#if: Sprachdefinition (PDF; 221 kB) | {{#invoke:WLink|getEscapedTitle|Sprachdefinition (PDF; 221 kB)}} | {{#invoke:Webarchiv|getdomain|http://www.oberon.ch/pdf/CP-Lang.pdf}} }} {{#ifeq:  | [] | [ | ( }}Memento{{#if: {{#if:  | {{{archiv-bot}}} |  }} |  des Vorlage:Referrer }} vom {{#time: j. F Y|20191021025943}} im Internet Archive{{#if:  | ;  }}{{#ifeq:  | [] | ] | ) }}
      }}
  }}
      | {{#if:
          | {{#iferror: {{#time: j. F Y|{{{webciteID}}}}}
    | {{#switch: {{#invoke:Str|len|{{{webciteID}}}}}
       | 16= {{#if: Sprachdefinition (PDF; 221 kB) | {{#invoke:WLink|getEscapedTitle|Sprachdefinition (PDF; 221 kB)}} | {{#invoke:Webarchiv|getdomain|http://www.oberon.ch/pdf/CP-Lang.pdf}} }} {{#ifeq:  | [] | [ | ( }}Memento{{#if: {{#if:  | {{{archiv-bot}}} |  }} |  des Vorlage:Referrer }} vom {{#time: j. F Y| 19700101000000 + {{#expr: floor {{#expr: {{#invoke:Str|sub|{{{webciteID}}}|1|10}}/86400}} }} days}} auf WebCite{{#if:  | ;  }}{{#ifeq:  | [] | ] | ) }}
       | 9 = {{#if: Sprachdefinition (PDF; 221 kB) | {{#invoke:WLink|getEscapedTitle|Sprachdefinition (PDF; 221 kB)}} | {{#invoke:Webarchiv|getdomain|http://www.oberon.ch/pdf/CP-Lang.pdf}} }} {{#ifeq:  | [] | [ | ( }}Memento{{#if: {{#if:  | {{{archiv-bot}}} |  }} |  des Vorlage:Referrer}} vom {{#time: j. F Y| 19700101000000 + {{#expr: floor {{#expr: {{#invoke:Str|sub|{{#invoke:Expr|base62|{{{webciteID}}}}}|1|10}}/86400}} }} days}} auf WebCite{{#if:  | ;  }}{{#ifeq:  | [] | ] | ) }}
       | #default= Der Wert des Parameters {{#if: webciteID | webciteID | ID }} muss entweder ein Zeitstempel der Form YYYYMMDDHHMMSS oder ein Schüsselwert mit 9 Zeichen oder eine 16-stellige Zahl sein!Vorlage:Webarchiv/Wartung/webcitation{{#if:  || }}
      }}
    | c|{{{webciteID}}}}} {{#if: Sprachdefinition (PDF; 221 kB) | {{#invoke:WLink|getEscapedTitle|Sprachdefinition (PDF; 221 kB)}} | {{#invoke:Webarchiv|getdomain|http://www.oberon.ch/pdf/CP-Lang.pdf}} }} (Memento{{#if: {{#if:  | {{{archiv-bot}}} |  }} |  des Vorlage:Referrer}} vom {{#time: j. F Y|{{{webciteID}}}}} auf WebCite{{#if:  | ;  }}{{#ifeq:  | [] | ] | ) }}
  }}
          | {{#if: 
              | Vorlage:Webarchiv/Today
              | {{#if:
                      | Vorlage:Webarchiv/Generisch
                      | {{#if: Sprachdefinition (PDF; 221 kB) | {{#invoke:WLink|getEscapedTitle|Sprachdefinition (PDF; 221 kB)}} | {{#invoke:Webarchiv|getdomain|http://www.oberon.ch/pdf/CP-Lang.pdf}} }}  
                 }}}}}}}}{{#if:
    | Vorlage:Webarchiv/archiv-bot
  }}{{#invoke:TemplatePar|check
     |all      = url=
     |opt      = text= wayback= webciteID= archive-is= archive-today= archiv-url= archiv-datum= ()= archiv-bot= format= original=
     |cat      = Wikipedia:Vorlagenfehler/Vorlage:Webarchiv
     |errNS    = 0
     |template = Vorlage:Webarchiv
     |format   = *
     |preview  = 1
  }}{{#ifexpr: {{#if:20191021025943|1|0}}{{#if:|+1}}{{#if:|+1}}{{#if:|+1}}{{#if:|+1}} <> 1
    | {{#if:  || }}Vorlage:Webarchiv/Wartung/Parameter{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Genau einer der Parameter 'wayback', 'webciteID', 'archive-today', 'archive-is' oder 'archiv-url' muss angegeben werden.|1}}
  }}{{#if: 
    | {{#switch: {{#invoke:Webarchiv|getdomain|{{{archiv-url}}}}}
        | web.archive.org = 
          {{#if:  || }}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Im Parameter 'archiv-url' wurde URL von Internet Archive erkannt, bitte Parameter 'wayback' benutzen.|1}} 
        | webcitation.org = 
          {{#if:  || }}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Im Parameter 'archiv-url' wurde URL von WebCite erkannt, bitte Parameter 'webciteID' benutzen.|1}} 
        | archive.today |archive.is |archive.ph |archive.fo |archive.li |archive.md |archive.vn = 
          {{#if:  || }}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Im Parameter 'archiv-url' wurde URL von archive.today erkannt, bitte Parameter 'archive-today' benutzen.|1}}
      }}{{#if: 
         | {{#iferror: {{#iferror:{{#invoke:Vorlage:FormatDate|Execute}}|}}
             | {{#if:  || }}Vorlage:Webarchiv/Wartung/Parameter{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Der Wert des Parameter 'archiv-datum' ist ungültig oder hat ein ungültiges Format.|1}}
          |  }} 
         | {{#if:  || }}Vorlage:Webarchiv/Wartung/Parameter{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Der Pflichtparameter 'archiv-datum' wurde nicht angegeben.|1}}
      }}
    | {{#if: 
         | {{#if:  || }}Vorlage:Webarchiv/Wartung/Parameter{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Der Parameter 'archiv-datum' ist nur in Verbindung mit 'archiv-url' angebbar.|1}}
      }}
  }}{{#if:{{#invoke:URLutil|isHostPathResource|http://www.oberon.ch/pdf/CP-Lang.pdf}}
    || {{#if:  || }}
  }}{{#if: Sprachdefinition (PDF; 221 kB)
    | {{#if: {{#invoke:WLink|isBracketedLink|Sprachdefinition (PDF; 221 kB)}}
        | {{#if:  || }}
      }}
    | {{#if:  || }}Vorlage:Webarchiv/Wartung/Linktext_fehlt
  }}{{#switch: 
    |addlarchives|addlpages= {{#if:  || }}{{#if: 1 |Vorlage:Webarchiv/Wartung/Parameter}}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: enWP-Wert im Parameter 'format'.|1}}
  }}{{#ifeq: {{#invoke:Str|find|http://www.oberon.ch/pdf/CP-Lang.pdf%7Carchiv}} |-1
    || {{#ifeq: {{#invoke:Str|find|{{#invoke:Str|cropleft|http://www.oberon.ch/pdf/CP-Lang.pdf%7C4}}%7Chttp}} |-1
         || {{#switch: {{#invoke:Webarchiv|getdomain|http://www.oberon.ch/pdf/CP-Lang.pdf }}
              | abendblatt.de | daserste.ndr.de | inarchive.com | webcitation.org = 
              | #default = {{#if:  || }}{{#if: 1 |Vorlage:Webarchiv/Wartung/URL}}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Archiv-URL im Parameter 'url' anstatt URL der Originalquelle. Entferne den vor der Original-URL stehenden Mementobestandteil und setze den Archivierungszeitstempel in den Parameter 'wayback', 'webciteID', 'archive.today' oder 'archive-is' ein, sofern nicht bereits befüllt.|1}}
            }} 
       }}
  }}
  • <templatestyles src="Webarchiv/styles.css" />{{#if:19970227054638
      | {{#ifeq: 19970227054638 | *
    | Vorlage:Webarchiv/Wartung/Stern{{#if: Ankündigung BlackBox 1.3 (1997) | {{#invoke:WLink|getEscapedTitle|Ankündigung BlackBox 1.3 (1997)}} | {{#invoke:Webarchiv|getdomain|http://www.oberon.ch/news/newnames.html}} }} (Archivversionen)
    | {{#iferror: {{#time: j. F Y|19970227054638}}
         | {{#if:  || }}Vorlage:Webarchiv/Wartung/DatumDer Wert des Parameters {{#if: wayback | wayback | Datum }} muss ein gültiger Zeitstempel der Form YYYYMMDDHHMMSS sein!
         | {{#if: Ankündigung BlackBox 1.3 (1997) | {{#invoke:WLink|getEscapedTitle|Ankündigung BlackBox 1.3 (1997)}} | {{#invoke:Webarchiv|getdomain|http://www.oberon.ch/news/newnames.html}} }} {{#ifeq:  | [] | [ | ( }}Memento{{#if: {{#if:  | {{{archiv-bot}}} |  }} |  des Vorlage:Referrer }} vom {{#time: j. F Y|19970227054638}} im Internet Archive{{#if:  | ;  }}{{#ifeq:  | [] | ] | ) }}
      }}
  }}
      | {{#if:
          | {{#iferror: {{#time: j. F Y|{{{webciteID}}}}}
    | {{#switch: {{#invoke:Str|len|{{{webciteID}}}}}
       | 16= {{#if: Ankündigung BlackBox 1.3 (1997) | {{#invoke:WLink|getEscapedTitle|Ankündigung BlackBox 1.3 (1997)}} | {{#invoke:Webarchiv|getdomain|http://www.oberon.ch/news/newnames.html}} }} {{#ifeq:  | [] | [ | ( }}Memento{{#if: {{#if:  | {{{archiv-bot}}} |  }} |  des Vorlage:Referrer }} vom {{#time: j. F Y| 19700101000000 + {{#expr: floor {{#expr: {{#invoke:Str|sub|{{{webciteID}}}|1|10}}/86400}} }} days}} auf WebCite{{#if:  | ;  }}{{#ifeq:  | [] | ] | ) }}
       | 9 = {{#if: Ankündigung BlackBox 1.3 (1997) | {{#invoke:WLink|getEscapedTitle|Ankündigung BlackBox 1.3 (1997)}} | {{#invoke:Webarchiv|getdomain|http://www.oberon.ch/news/newnames.html}} }} {{#ifeq:  | [] | [ | ( }}Memento{{#if: {{#if:  | {{{archiv-bot}}} |  }} |  des Vorlage:Referrer}} vom {{#time: j. F Y| 19700101000000 + {{#expr: floor {{#expr: {{#invoke:Str|sub|{{#invoke:Expr|base62|{{{webciteID}}}}}|1|10}}/86400}} }} days}} auf WebCite{{#if:  | ;  }}{{#ifeq:  | [] | ] | ) }}
       | #default= Der Wert des Parameters {{#if: webciteID | webciteID | ID }} muss entweder ein Zeitstempel der Form YYYYMMDDHHMMSS oder ein Schüsselwert mit 9 Zeichen oder eine 16-stellige Zahl sein!Vorlage:Webarchiv/Wartung/webcitation{{#if:  || }}
      }}
    | c|{{{webciteID}}}}} {{#if: Ankündigung BlackBox 1.3 (1997) | {{#invoke:WLink|getEscapedTitle|Ankündigung BlackBox 1.3 (1997)}} | {{#invoke:Webarchiv|getdomain|http://www.oberon.ch/news/newnames.html}} }} (Memento{{#if: {{#if:  | {{{archiv-bot}}} |  }} |  des Vorlage:Referrer}} vom {{#time: j. F Y|{{{webciteID}}}}} auf WebCite{{#if:  | ;  }}{{#ifeq:  | [] | ] | ) }}
  }}
          | {{#if: 
              | Vorlage:Webarchiv/Today
              | {{#if:
                      | Vorlage:Webarchiv/Generisch
                      | {{#if: Ankündigung BlackBox 1.3 (1997) | {{#invoke:WLink|getEscapedTitle|Ankündigung BlackBox 1.3 (1997)}} | {{#invoke:Webarchiv|getdomain|http://www.oberon.ch/news/newnames.html}} }}  
                 }}}}}}}}{{#if:
    | Vorlage:Webarchiv/archiv-bot
  }}{{#invoke:TemplatePar|check
     |all      = url=
     |opt      = text= wayback= webciteID= archive-is= archive-today= archiv-url= archiv-datum= ()= archiv-bot= format= original=
     |cat      = Wikipedia:Vorlagenfehler/Vorlage:Webarchiv
     |errNS    = 0
     |template = Vorlage:Webarchiv
     |format   = *
     |preview  = 1
  }}{{#ifexpr: {{#if:19970227054638|1|0}}{{#if:|+1}}{{#if:|+1}}{{#if:|+1}}{{#if:|+1}} <> 1
    | {{#if:  || }}Vorlage:Webarchiv/Wartung/Parameter{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Genau einer der Parameter 'wayback', 'webciteID', 'archive-today', 'archive-is' oder 'archiv-url' muss angegeben werden.|1}}
  }}{{#if: 
    | {{#switch: {{#invoke:Webarchiv|getdomain|{{{archiv-url}}}}}
        | web.archive.org = 
          {{#if:  || }}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Im Parameter 'archiv-url' wurde URL von Internet Archive erkannt, bitte Parameter 'wayback' benutzen.|1}} 
        | webcitation.org = 
          {{#if:  || }}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Im Parameter 'archiv-url' wurde URL von WebCite erkannt, bitte Parameter 'webciteID' benutzen.|1}} 
        | archive.today |archive.is |archive.ph |archive.fo |archive.li |archive.md |archive.vn = 
          {{#if:  || }}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Im Parameter 'archiv-url' wurde URL von archive.today erkannt, bitte Parameter 'archive-today' benutzen.|1}}
      }}{{#if: 
         | {{#iferror: {{#iferror:{{#invoke:Vorlage:FormatDate|Execute}}|}}
             | {{#if:  || }}Vorlage:Webarchiv/Wartung/Parameter{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Der Wert des Parameter 'archiv-datum' ist ungültig oder hat ein ungültiges Format.|1}}
          |  }} 
         | {{#if:  || }}Vorlage:Webarchiv/Wartung/Parameter{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Der Pflichtparameter 'archiv-datum' wurde nicht angegeben.|1}}
      }}
    | {{#if: 
         | {{#if:  || }}Vorlage:Webarchiv/Wartung/Parameter{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Der Parameter 'archiv-datum' ist nur in Verbindung mit 'archiv-url' angebbar.|1}}
      }}
  }}{{#if:{{#invoke:URLutil|isHostPathResource|http://www.oberon.ch/news/newnames.html}}
    || {{#if:  || }}
  }}{{#if: Ankündigung BlackBox 1.3 (1997)
    | {{#if: {{#invoke:WLink|isBracketedLink|Ankündigung BlackBox 1.3 (1997)}}
        | {{#if:  || }}
      }}
    | {{#if:  || }}Vorlage:Webarchiv/Wartung/Linktext_fehlt
  }}{{#switch: 
    |addlarchives|addlpages= {{#if:  || }}{{#if: 1 |Vorlage:Webarchiv/Wartung/Parameter}}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: enWP-Wert im Parameter 'format'.|1}}
  }}{{#ifeq: {{#invoke:Str|find|http://www.oberon.ch/news/newnames.html%7Carchiv}} |-1
    || {{#ifeq: {{#invoke:Str|find|{{#invoke:Str|cropleft|http://www.oberon.ch/news/newnames.html%7C4}}%7Chttp}} |-1
         || {{#switch: {{#invoke:Webarchiv|getdomain|http://www.oberon.ch/news/newnames.html }}
              | abendblatt.de | daserste.ndr.de | inarchive.com | webcitation.org = 
              | #default = {{#if:  || }}{{#if: 1 |Vorlage:Webarchiv/Wartung/URL}}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Archiv-URL im Parameter 'url' anstatt URL der Originalquelle. Entferne den vor der Original-URL stehenden Mementobestandteil und setze den Archivierungszeitstempel in den Parameter 'wayback', 'webciteID', 'archive.today' oder 'archive-is' ein, sofern nicht bereits befüllt.|1}}
            }} 
       }}
  }}

Einzelnachweise

<references />