Verwendung des DU_InputDialog
Folgender Code dient als Vorlage für einen Eingabe-Dialog via Funktion DU_InputDialog() mit allen verfügbaren Datentypen.
Für den eigenen Anwendungsfall überschüssigen Code entfernen.
JS
|
aDialogResult,
nNummer, cString, cPasswort, bBoolean, dDatum, dKWDatum, nAttribVal, nKdNr, cArtNr, nLiefNr, nVertreter
|
aDialogResult := DU_InputDialog(
'Überschrift des Eingabe-Dialogs',
'Nachricht an den Anwender / Zu tätigende Eingaben / Info',
{
DU_InputDialog_CreateInputControlDefinition('NUM', 'Nummer' , gl_DU_InputControlType_Numeric, '', 0, 123, True),
DU_InputDialog_CreateInputControlDefinition('STR', 'String' , gl_DU_InputControlType_String, '', 0, 'Text!', True),
DU_InputDialog_CreateInputControlDefinition('PAW', 'Passwort' , gl_DU_InputControlType_Password, '', 0, '', True),
DU_InputDialog_CreateInputControlDefinition('LOG', 'Ja / Nein' , gl_DU_InputControlType_Logical, '', 0, false, True),
DU_InputDialog_CreateInputControlDefinition('DAT', 'Datum' , gl_DU_InputControlType_Date, '', 0, date(), True),
DU_InputDialog_CreateInputControlDefinition('KWD', 'KW-Datum' , gl_DU_InputControlType_DateKW, '', 0, KW(Date()), True),
DU_InputDialog_CreateInputControlDefinition('ATT', 'Attribut/MM', gl_DU_InputControlType_Attribute, '', -17, 0, True),
DU_InputDialog_CreateInputControlDefinition('CLI', 'Kunde' , gl_DU_InputControlType_ClientNo,'', 0, 0, True),
DU_InputDialog_CreateInputControlDefinition('ART', 'Artikel' , gl_DU_InputControlType_ArticleNo, '', 0, '', True),
DU_InputDialog_CreateInputControlDefinition('SUP', 'Lieferant' , gl_DU_InputControlType_SupplierNo, '', 0, 0, True),
DU_InputDialog_CreateInputControlDefinition('VER', 'Vertreter' , gl_DU_InputControlType_AgentNo, '', 0, 0, True)
},
{
// ButtonID, Caption, ModalResult, ImageIndex, Default (Button, der bei "Enter" bestätigt wird)
DU_InputDialog_CreateButtonDefinition('BUTTON1', 'Beschriftung Button 1', 100, 1, True),
mrCancel
},
{} // Hier Array für Optionale Dialog-Settings
),
WriteLn('Rückgabe des Dialogs', aDialogResult),
if DU_InputDialogResult_GetModalResult(aDialogResult) = 100 then // Bei Bestätigen mit Button 1
nNummer := DU_InputDialogResult_GetInputValue(aDialogResult, 'NUM'),
cString := DU_InputDialogResult_GetInputValue(aDialogResult, 'STR'),
cPasswort := DU_InputDialogResult_GetInputValue(aDialogResult, 'PAW'),
bBoolean := DU_InputDialogResult_GetInputValue(aDialogResult, 'LOG'),
dDatum := DU_InputDialogResult_GetInputValue(aDialogResult, 'DAT'),
dKWDatum := DU_InputDialogResult_GetInputValue(aDialogResult, 'KWD'),
nAttribVal := DU_InputDialogResult_GetInputValue(aDialogResult, 'ATT'),
nKdNr := DU_InputDialogResult_GetInputValue(aDialogResult, 'CLI'),
cArtNr := DU_InputDialogResult_GetInputValue(aDialogResult, 'ART'),
nLiefNr := DU_InputDialogResult_GetInputValue(aDialogResult, 'SUP'),
nVertreter := DU_InputDialogResult_GetInputValue(aDialogResult, 'VER'),
endif,
Optionale Dialog-Settings
JS
// * aDialogSettings: Key-Value-Array mit Einstellungen für den Dialog.
// Folgende Parameter sind bislang implementiert:
// - nWindowWidth: Gesamt-Breite des Fensters (default = 200)
// - bCenterWindow: Fenster wird immer in Bildschirmmitte positioniert (default = true)
// - nMemoHeight: Höhe von Memo-Feldern (default = 50)
// Obacht!! Wenn die Höhe von Memo-Felder größer als 50 definiert wird, TODO
// wird bei nachfolgenden Feldern das Label unter das Feld platziert.
// - bMemoOnlyText: nur text oder Richtext (default = false)
// - nAnzahlZeilenDescription: Anzahl der Zeilen in der Beschreibung (default = 2)
// - nDropdownCount: Bestimmt wieviele Merkmale in der Auswahl ohne zu Scrollen sichtbar sind.
// Wird nur bei den InputTypen gl_DU_InputControlType_Attribute &
// gl_DU_InputControlType_Attribute_MultiCheck ausgelesen.