Keyboard shortcuts

Press ← or → to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

@Layout

Describe la distribución de una pantalla o reporte: Label, Input, Column, DataGridView, Block, o cualquier otro Nombre(...) como control genérico. Los nombres de control pueden llevar @ opcionalmente (@Label/Label son equivalentes).

Controles con gramática propia

ControlSintaxisVálido enDescripción
LabelLabel(x, y, texto)Program, ScreenEtiqueta estática en x,y. texto puede ser &Variable, "literal" o un nombre de campo suelto. x,y = 1,1 (esquina exacta) está prohibido — DDS rechaza cualquier campo ahí.
BlockBlock("Nombre")[ Label(...), ... ]ProgramGrupo nombrado e imprimible de Labels — se imprime una instancia con Print("Nombre") desde @Source.
InputInput("Nombre", x, y, texto, &Variable[, habilitado])ScreenCampo editable en x,y. "Nombre" identifica el control (se lee con CurrentInput()). &Variable es donde se guarda el valor ingresado. habilitado opcional (default true): literal, &Variable o función de retorno number (no-cero = habilitado), reevaluado antes de cada redibujado. x,y = 1,1 también prohibido.
ColumnColumn(texto, variableOCampo[, Input|Hidden])sólo dentro de DataGridViewEl 3er argumento opcional hace la columna editable (Input) o invisible (Hidden).
DataGridViewDataGridView("Nombre", x, y, filas[, separador])[ Column(...), ... ]ScreenGrilla nombrada en x,y mostrando filas visibles. El nombre es obligatorio y único entre Input/DataGridView. Ver DataGridView para la guía completa.

Ejemplo (Screen)

@Layout {
    @Label(1,2,&Programa)
    @Label(1,70,&Fecha)
    @Input("txtNroSolicitud",3,1,"Nro. Solicitud: ",&NroSolicitud,true)
    @DataGridView("GridSolicitudes",6,1,8," ") [
        @Column("Pais",&nPais)
        @Column("Usuario",&cUsuario)
    ]
}

Ejemplo (Program, con Block imprimible)

@Layout {
    @Block("Encabezado") [
        Label(1,1,"Reporte de Ventas")
        Label(2,1,&FechaHoy)
    ]
}
@Source {
    Print("Encabezado")
}

@Layout es opcional en Program (un programa puramente batch, sin salida impresa, no la necesita) pero obligatoria en Screen. No aplica a tablas.