GDL-Übung 6: Erstellen spezialisierter Versionen
Übung
Erstellen Sie mit Übung 5 drei spezialisierte Versionen von *POption für *PFeature: PaperSize.
Die erste Version gilt für Papersize-Optionen mit instance Namen von "Letter", "Legal" und "A4". Diese Optionen weisen ihr aktuelles Verhalten auf.
Die zweite Version ist für Paperize-Optionen mit instance Namen von "Benutzerdefiniert" und erkennt die folgenden zusätzlichen Attribute: *MinSize und *MaxSize.
In der dritten Version werden andere Papiererstellungsoptionen behandelt, die als OEM definiert gelten und das zusätzliche Attribut *OEM_Info erkennen.
Nehmen Sie diese Änderung vor, ohne eine der zuvor definierten Vorlagen zu löschen oder zu ändern. Erstellen Sie eine einfache GDL-Datendatei, um die ordnungsgemäße Vorlagenverwaltung der Einträge zu überprüfen.
-Projektmappe
Das folgende Codebeispiel zeigt eine mögliche Antwort.
*Template: MIN_SIZE
{
*Name: "*MinSize"
*Type: ATTRIBUTE
*ValueType: PAGE_DIM
}
*Template: MAX_SIZE
{
*Name: "*MaxSize"
*Type: ATTRIBUTE
*ValueType: PAGE_DIM
}
*Template: OEM_INFO
{
*Name: "*OEM_Info"
*Type: ATTRIBUTE
*ValueType: NORMAL_STRING
}
*Template: OEM_PAPERSIZE_OPTION
{
*Inherits: PAPERSIZE_OPTION2
*Members: (OEM_INFO)
*Instances: <ANY>
}
*Template: CUST_PAPERSIZE_OPTION
{
*Inherits: PAPERSIZE_OPTION2
*Members: (MIN_SIZE, MAX_SIZE)
*Instances: Custom
}
*Template: PREDEFINED_PAPERSIZE_OPTION
{
*Inherits: PAPERSIZE_OPTION2
*Instances: (Letter, Legal, A4)
}
Das folgende Codebeispiel zeigt eine GDL-Beispieldatendatei zur Überprüfung.
*PFeature: random
{
*Name: "Generic Feature"
*DefaultOption: First
*POption: First
{
*Name: "First Option"
*Command: "Select me"
}
}
*PFeature: PaperSize
{
*Name: "Paper Size"
*DefaultOption: Letter
*POption: Letter
{
*Name: "Letter"
*Command: "Select Letter"
*PaperSize: PAIR(8.5, 11) , inches
}
*POption: Legal
{
*Name: "Legal"
*Command: "Select Legal"
*PaperSize: PAIR(8.5, 14) , inches
}
*POption: A4
{
*Name: "A4"
*Command: "Select A4"
*PaperSize: PAIR(205, 317), mm
}
*POption: OEMName_Special_size
{
*Name: "OEMName size"
*Command: "Select OEMName size"
*PaperSize: PAIR(365, 487), mm
*OEM_Info: "<83 d4 93 ae>"
}
*POption: Custom
{
*Name: "Custom Size"
*Command: "Select Custom"
*MaxSize: PAIR(400, 500), mm
*MinSize: PAIR(100, 150), mm
}
}
*PFeature: InputTray
{
*Name: "Paper Source"
*DefaultOption: Upper
*POption: Upper
{
*Name: "Upper Tray"
*Command: "Select Upper Tray"
*Capacity: 2000 *% sheets
}
*POption: Lower
{
*Name: "Lower Tray"
*Command: "Select Lower Tray"
*Capacity: 500 *% sheets
}
}