08.05.2013 Views

VisualAge RPG Parts Reference - IBM

VisualAge RPG Parts Reference - IBM

VisualAge RPG Parts Reference - IBM

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

AS/400e <br />

<strong>VisualAge</strong> ® <strong>RPG</strong><br />

Manual de consulta de componentes<br />

Versión4.5.1paraWindows ®<br />

<br />

SC10-3065-04


AS/400e <br />

<strong>VisualAge</strong> ® <strong>RPG</strong><br />

Manual de consulta de componentes<br />

Versión4.5.1paraWindows ®<br />

<br />

SC10-3065-04


Importante<br />

Antes de utilizar esta información y el producto al que da soporte, asegúrese de leer la información general que figura en el<br />

apartado “Avisos” en la página 507.<br />

Quinta edición (Abril 2000)<br />

Esta edición se aplica a la Versión 4, Release 5, Nivel de modificación 1, de <strong>IBM</strong> WebSphere Development Tools<br />

para AS/400 (Programa 5769-CL3) y a todos los releases y modificaciones posteriores hasta que se indique lo<br />

contrario en nuevas ediciones.<br />

Esta edición sustituye a la publicación SC10-3065-03.<br />

Los cambios y adiciones realizados en el texto y en las ilustraciones vienen indicados por una línea vertical a la<br />

izquierda del cambio o adición.<br />

Puede efectuar pedidos de publicaciones a su representante de <strong>IBM</strong> o en la sucursal de <strong>IBM</strong> de su localidad. En la<br />

dirección que figura más abajo no hay existencias de publicaciones.<br />

<strong>IBM</strong> agradece sus comentarios. Puede enviar los comentarios a:<br />

<strong>IBM</strong>, S.A.<br />

National Language Solutions Center<br />

Avda. Diagonal, 571<br />

08029 Barcelona<br />

España<br />

También puede enviar sus comentarios a <strong>IBM</strong> electrónicamente o por fax (a la atención del coordinador RCF).<br />

Consulte el apartado “Cómo enviar comentarios” en la página xi para ver una descripción de los métodos.<br />

Cuando envía información a <strong>IBM</strong>, otorga a <strong>IBM</strong> un derecho no exclusivo de utilizar o distribuir dicha información<br />

del modo que crea oportuno sin incurrir en ninguna obligación hacia usted.<br />

© Copyright International Business Machines Corporation 1994, 2000. Reservados todos los derechos.


Contenido<br />

Acerca de este manual . . . . . . . . ix<br />

Convenios de resaltado que se utilizan en este<br />

manual . . . . . . . . . . . . . . . . ix<br />

Requisito previo e información relacionada . . . . ix<br />

La biblioteca <strong>VisualAge</strong> <strong>RPG</strong>. . . . . . . . . ix<br />

Cómo enviar comentarios . . . . . . . . . . xi<br />

Acceso a la información en línea . . . . . . . xi<br />

Utilización de manuales en línea . . . . . . xi<br />

Publicaciones en formato PDF . . . . . . . xi<br />

Utilización de ayuda en línea . . . . . . . xii<br />

Novedades de este Release. . . . . . xv<br />

Capítulo 1. Componentes . . . . . . . 1<br />

ActiveX . . . . . . . . . . . . . . . . 1<br />

Control de animación . . . . . . . . . . . 3<br />

Calendario . . . . . . . . . . . . . . . 4<br />

Lienzo . . . . . . . . . . . . . . . . 5<br />

Recuadro de selección . . . . . . . . . . . 7<br />

Recuadro de combinación . . . . . . . . . . 8<br />

*Component . . . . . . . . . . . . . . 10<br />

Referencia a componente lógico. . . . . . . . 11<br />

Contenedor . . . . . . . . . . . . . . 12<br />

Cliente DDE . . . . . . . . . . . . . . 13<br />

Campo de entrada . . . . . . . . . . . . 14<br />

Gráfica . . . . . . . . . . . . . . . . 16<br />

Pulsador gráfico . . . . . . . . . . . . . 17<br />

Recuadro de grupo . . . . . . . . . . . . 19<br />

Barra de desplazamiento horizontal . . . . . . 20<br />

Imagen . . . . . . . . . . . . . . . . 21<br />

Bean Java . . . . . . . . . . . . . . . 23<br />

Recuadro de lista . . . . . . . . . . . . 24<br />

Medios . . . . . . . . . . . . . . . . 25<br />

Panel de medios . . . . . . . . . . . . . 26<br />

Barra de menús . . . . . . . . . . . . . 27<br />

Elemento de menú . . . . . . . . . . . . 28<br />

Subarchivo de mensajes . . . . . . . . . . 29<br />

Edición de múltiples líneas . . . . . . . . . 30<br />

Cuaderno . . . . . . . . . . . . . . . 31<br />

Página de cuaderno . . . . . . . . . . . 32<br />

Página de cuaderno con lienzo . . . . . . . . 33<br />

Interfaz ODBC/JDBC . . . . . . . . . . . 34<br />

Recuadro de contorno . . . . . . . . . . . 36<br />

Menú emergente. . . . . . . . . . . . . 37<br />

Barra de progreso . . . . . . . . . . . . 38<br />

Pulsador . . . . . . . . . . . . . . . 39<br />

Botón de selección . . . . . . . . . . . . 40<br />

Graduador . . . . . . . . . . . . . . 41<br />

Selector cíclico . . . . . . . . . . . . . 42<br />

Texto estático . . . . . . . . . . . . . . 43<br />

Barra de estado . . . . . . . . . . . . . 44<br />

Subarchivo . . . . . . . . . . . . . . 45<br />

Submenú . . . . . . . . . . . . . . . 46<br />

Temporizador . . . . . . . . . . . . . 47<br />

Barra de desplazamiento vertical . . . . . . . 48<br />

|<br />

Ventana. . . . . . . . . . . . . . . . 49<br />

Ventana con lienzo . . . . . . . . . . . . 50<br />

Capítulo 2. Atributos de componente 51<br />

Activate . . . . . . . . . . . . . . . 52<br />

Active . . . . . . . . . . . . . . . . 53<br />

AddEvent . . . . . . . . . . . . . . . 54<br />

AddItemEnd . . . . . . . . . . . . . . 55<br />

AddLineEnd . . . . . . . . . . . . . . 56<br />

AddLink . . . . . . . . . . . . . . . 57<br />

AddMsgID . . . . . . . . . . . . . . 59<br />

AddMsgText . . . . . . . . . . . . . . 60<br />

AddOffset . . . . . . . . . . . . . . . 61<br />

AddRcd . . . . . . . . . . . . . . . 62<br />

AddSrcEvt. . . . . . . . . . . . . . . 64<br />

Alarm . . . . . . . . . . . . . . . . 65<br />

Alignment . . . . . . . . . . . . . . . 66<br />

AllowChg . . . . . . . . . . . . . . . 68<br />

AllowEdit . . . . . . . . . . . . . . . 69<br />

AllowLink . . . . . . . . . . . . . . . 70<br />

AppData . . . . . . . . . . . . . . . 72<br />

AppName. . . . . . . . . . . . . . . 73<br />

Arrange . . . . . . . . . . . . . . . 74<br />

AttrValue . . . . . . . . . . . . . . . 75<br />

AudioMode . . . . . . . . . . . . . . 76<br />

AutoInc . . . . . . . . . . . . . . . 77<br />

AutoScroll . . . . . . . . . . . . . . . 78<br />

AutoSelect. . . . . . . . . . . . . . . 80<br />

BackColor . . . . . . . . . . . . . . . 81<br />

BackMix . . . . . . . . . . . . . . . 83<br />

BarLabel . . . . . . . . . . . . . . . 84<br />

Bass . . . . . . . . . . . . . . . . . 85<br />

BindPart . . . . . . . . . . . . . . . 86<br />

BlankChar . . . . . . . . . . . . . . . 87<br />

Border . . . . . . . . . . . . . . . . 88<br />

Bottom . . . . . . . . . . . . . . . . 89<br />

BufferDec . . . . . . . . . . . . . . . 90<br />

BufferLen . . . . . . . . . . . . . . . 91<br />

BufferPtr . . . . . . . . . . . . . . . 92<br />

BufferType. . . . . . . . . . . . . . . 93<br />

Button . . . . . . . . . . . . . . . . 95<br />

ButtonIdx . . . . . . . . . . . . . . . 96<br />

Buttons . . . . . . . . . . . . . . . . 97<br />

ButtonTip . . . . . . . . . . . . . . . 98<br />

CanUndo . . . . . . . . . . . . . . . 99<br />

CapsLock. . . . . . . . . . . . . . . 100<br />

Case . . . . . . . . . . . . . . . . 101<br />

CellBGClr . . . . . . . . . . . . . . 102<br />

CellBGMix . . . . . . . . . . . . . . 104<br />

CellFGClr . . . . . . . . . . . . . . 105<br />

CellFGMix . . . . . . . . . . . . . . 107<br />

Center. . . . . . . . . . . . . . . . 108<br />

CharData . . . . . . . . . . . . . . . 109<br />

CharOffset . . . . . . . . . . . . . . 110<br />

Checked . . . . . . . . . . . . . . . 111<br />

© Copyright <strong>IBM</strong> Corp. 1994, 2000 iii


ChildCount . . . . . . . . . . . . . . 112<br />

ChildList . . . . . . . . . . . . . . . 113<br />

ClearAll . . . . . . . . . . . . . . . 114<br />

ClearDate. . . . . . . . . . . . . . . 115<br />

ClearMonth . . . . . . . . . . . . . . 116<br />

ClearYear . . . . . . . . . . . . . . . 117<br />

ClipBoard . . . . . . . . . . . . . . 118<br />

ColBGClr. . . . . . . . . . . . . . . 119<br />

ColBGMix . . . . . . . . . . . . . . 121<br />

ColFGClr. . . . . . . . . . . . . . . 122<br />

ColFGMix . . . . . . . . . . . . . . 124<br />

Collapsed . . . . . . . . . . . . . . 125<br />

ColNumber . . . . . . . . . . . . . . 126<br />

Color . . . . . . . . . . . . . . . . 127<br />

ColorArea . . . . . . . . . . . . . . 129<br />

ColorMix . . . . . . . . . . . . . . . 131<br />

Column . . . . . . . . . . . . . . . 132<br />

ColumnDec . . . . . . . . . . . . . . 133<br />

ColumnLen . . . . . . . . . . . . . . 134<br />

ColumnName . . . . . . . . . . . . . 135<br />

Columns . . . . . . . . . . . . . . . 136<br />

ColumnType . . . . . . . . . . . . . 137<br />

ColWidth. . . . . . . . . . . . . . . 138<br />

CompName . . . . . . . . . . . . . . 139<br />

Connect . . . . . . . . . . . . . . . 140<br />

Connected . . . . . . . . . . . . . . 141<br />

ConnectStr . . . . . . . . . . . . . . 142<br />

Copy . . . . . . . . . . . . . . . . 143<br />

Count . . . . . . . . . . . . . . . . 144<br />

CsrAtEnd . . . . . . . . . . . . . . 145<br />

CsrLine . . . . . . . . . . . . . . . 146<br />

CsrPos . . . . . . . . . . . . . . . 147<br />

CurrentDir . . . . . . . . . . . . . . 148<br />

CurrentRow . . . . . . . . . . . . . . 149<br />

Cut. . . . . . . . . . . . . . . . . 150<br />

DataGroup . . . . . . . . . . . . . . 151<br />

DataPoint . . . . . . . . . . . . . . 152<br />

DataType . . . . . . . . . . . . . . . 153<br />

DataValue . . . . . . . . . . . . . . 154<br />

Date . . . . . . . . . . . . . . . . 155<br />

DateIdx . . . . . . . . . . . . . . . 156<br />

DateText . . . . . . . . . . . . . . . 157<br />

DateUnder . . . . . . . . . . . . . . 158<br />

Day . . . . . . . . . . . . . . . . 159<br />

DayIdx . . . . . . . . . . . . . . . 160<br />

DayLen . . . . . . . . . . . . . . . 161<br />

DayNumPos. . . . . . . . . . . . . . 162<br />

DayNumRect . . . . . . . . . . . . . 163<br />

DayStart . . . . . . . . . . . . . . . 164<br />

DDEAddLink . . . . . . . . . . . . . 165<br />

DDEMode . . . . . . . . . . . . . . 167<br />

DDERmvLink . . . . . . . . . . . . . 168<br />

DeActivate . . . . . . . . . . . . . . 169<br />

Delete . . . . . . . . . . . . . . . . 170<br />

DeleteRow . . . . . . . . . . . . . . 171<br />

DelimChar . . . . . . . . . . . . . . 172<br />

DeSelect . . . . . . . . . . . . . . . 173<br />

Dialog . . . . . . . . . . . . . . . . 174<br />

DIRName . . . . . . . . . . . . . . 175<br />

DlgOwner . . . . . . . . . . . . . . 176<br />

DoEvents. . . . . . . . . . . . . . . 177<br />

iv <strong>VisualAge</strong> <strong>RPG</strong> Manual de consulta de componentes<br />

|<br />

DragEnable . . . . . . . . . . . . . . 178<br />

DropEnable . . . . . . . . . . . . . . 179<br />

DspHeight . . . . . . . . . . . . . . 180<br />

DspWidth . . . . . . . . . . . . . . 181<br />

EditItem . . . . . . . . . . . . . . . 182<br />

EnableBtn . . . . . . . . . . . . . . 183<br />

Enabled . . . . . . . . . . . . . . . 184<br />

Execute . . . . . . . . . . . . . . . 186<br />

ExecuteSQL . . . . . . . . . . . . . . 187<br />

ExtSelect . . . . . . . . . . . . . . . 188<br />

Fetch . . . . . . . . . . . . . . . . 189<br />

FetchNext . . . . . . . . . . . . . . 190<br />

FetchPrior . . . . . . . . . . . . . . 191<br />

FieldExit . . . . . . . . . . . . . . . 192<br />

FileName. . . . . . . . . . . . . . . 193<br />

FillStyle . . . . . . . . . . . . . . . 195<br />

FirstSel . . . . . . . . . . . . . . . 197<br />

Focus . . . . . . . . . . . . . . . . 198<br />

FontArea . . . . . . . . . . . . . . . 200<br />

FontBold . . . . . . . . . . . . . . . 202<br />

FontItalic . . . . . . . . . . . . . . . 204<br />

FontName . . . . . . . . . . . . . . 206<br />

FontSize . . . . . . . . . . . . . . . 207<br />

FontStrike . . . . . . . . . . . . . . 208<br />

FontUnder . . . . . . . . . . . . . . 210<br />

ForeColor . . . . . . . . . . . . . . 212<br />

ForeMix . . . . . . . . . . . . . . . 214<br />

Format . . . . . . . . . . . . . . . 216<br />

FrameRate . . . . . . . . . . . . . . 217<br />

FrmtString . . . . . . . . . . . . . . 218<br />

GetItem . . . . . . . . . . . . . . . 219<br />

GetNewID . . . . . . . . . . . . . . 220<br />

GetRcdFld . . . . . . . . . . . . . . 221<br />

GetRcdIcon . . . . . . . . . . . . . . 222<br />

GetRcdText . . . . . . . . . . . . . . 223<br />

GetTables. . . . . . . . . . . . . . . 224<br />

Ejemplo de GetTables. . . . . . . . . . 225<br />

GnEqGrpCol . . . . . . . . . . . . . 226<br />

GnEqPntCol . . . . . . . . . . . . . . 227<br />

GraphType . . . . . . . . . . . . . . 228<br />

GrphHiLite . . . . . . . . . . . . . . 229<br />

GroupLabel . . . . . . . . . . . . . . 230<br />

Handle . . . . . . . . . . . . . . . 231<br />

HasPrpPage . . . . . . . . . . . . . . 232<br />

HdgBGClr . . . . . . . . . . . . . . 233<br />

HdgBGMix . . . . . . . . . . . . . . 235<br />

HdgFGClr . . . . . . . . . . . . . . 236<br />

HdgFGMix . . . . . . . . . . . . . . 238<br />

HdgIdx . . . . . . . . . . . . . . . 239<br />

HdgText . . . . . . . . . . . . . . . 240<br />

Height. . . . . . . . . . . . . . . . 241<br />

HelpEnable . . . . . . . . . . . . . . 242<br />

HelpWindow . . . . . . . . . . . . . 244<br />

Hidden . . . . . . . . . . . . . . . 245<br />

HighLight . . . . . . . . . . . . . . 246<br />

HitItem . . . . . . . . . . . . . . . 248<br />

HlitPoints . . . . . . . . . . . . . . 250<br />

HRule . . . . . . . . . . . . . . . . 251<br />

IconHandle . . . . . . . . . . . . . . 252<br />

Index . . . . . . . . . . . . . . . . 253<br />

InPlace . . . . . . . . . . . . . . . 254


InsertItem . . . . . . . . . . . . . . 255<br />

InsertLine . . . . . . . . . . . . . . 256<br />

InsertMode . . . . . . . . . . . . . . 257<br />

InsertRow . . . . . . . . . . . . . . 258<br />

InsertText. . . . . . . . . . . . . . . 259<br />

Interval . . . . . . . . . . . . . . . 260<br />

InUse . . . . . . . . . . . . . . . . 261<br />

InvName . . . . . . . . . . . . . . . 262<br />

InvPName . . . . . . . . . . . . . . 263<br />

IsData. . . . . . . . . . . . . . . . 264<br />

Item . . . . . . . . . . . . . . . . 265<br />

ItemCount . . . . . . . . . . . . . . 267<br />

ItemKey . . . . . . . . . . . . . . . 268<br />

Label . . . . . . . . . . . . . . . . 269<br />

LabelPlace . . . . . . . . . . . . . . 271<br />

Left. . . . . . . . . . . . . . . . . 272<br />

LegendType . . . . . . . . . . . . . . 273<br />

Length . . . . . . . . . . . . . . . 274<br />

LineNumber. . . . . . . . . . . . . . 275<br />

LineText . . . . . . . . . . . . . . . 276<br />

LookNFeel . . . . . . . . . . . . . . 277<br />

Magnify . . . . . . . . . . . . . . . 278<br />

Masked . . . . . . . . . . . . . . . 279<br />

Maximum . . . . . . . . . . . . . . 280<br />

Method . . . . . . . . . . . . . . . 281<br />

Ejemplo de Method . . . . . . . . . . 281<br />

MiniIcon . . . . . . . . . . . . . . . 282<br />

Minimum . . . . . . . . . . . . . . 283<br />

Mode . . . . . . . . . . . . . . . . 284<br />

Month. . . . . . . . . . . . . . . . 285<br />

MonthArrow . . . . . . . . . . . . . 286<br />

MonthIdx . . . . . . . . . . . . . . 287<br />

MonthLen . . . . . . . . . . . . . . 288<br />

MouseIcon . . . . . . . . . . . . . . 289<br />

MouseShape. . . . . . . . . . . . . . 290<br />

MsgData . . . . . . . . . . . . . . . 292<br />

MsgFile . . . . . . . . . . . . . . . 293<br />

MsgID. . . . . . . . . . . . . . . . 294<br />

MsgSubText . . . . . . . . . . . . . . 295<br />

MsgText . . . . . . . . . . . . . . . 296<br />

Multiplier . . . . . . . . . . . . . . 297<br />

MultSelect . . . . . . . . . . . . . . 298<br />

Name . . . . . . . . . . . . . . . . 299<br />

NbrOfImage. . . . . . . . . . . . . . 300<br />

NbrOfLines . . . . . . . . . . . . . . 301<br />

NbrOfSel . . . . . . . . . . . . . . . 302<br />

NextLine . . . . . . . . . . . . . . . 303<br />

NextPage . . . . . . . . . . . . . . . 304<br />

NotSrcEvt . . . . . . . . . . . . . . 305<br />

NotSrcPart . . . . . . . . . . . . . . 306<br />

NotSrcWin . . . . . . . . . . . . . . 307<br />

OCXProp. . . . . . . . . . . . . . . 308<br />

OCXValue . . . . . . . . . . . . . . 309<br />

OpenEdit . . . . . . . . . . . . . . . 310<br />

OS . . . . . . . . . . . . . . . . . 311<br />

OutlineRcl . . . . . . . . . . . . . . 312<br />

PageNumber . . . . . . . . . . . . . 313<br />

PageSize . . . . . . . . . . . . . . . 314<br />

Panel . . . . . . . . . . . . . . . . 315<br />

PanelItem . . . . . . . . . . . . . . 317<br />

PanelMode . . . . . . . . . . . . . . 319<br />

|<br />

|<br />

Parent. . . . . . . . . . . . . . . . 320<br />

ParentId . . . . . . . . . . . . . . . 322<br />

ParentList . . . . . . . . . . . . . . 323<br />

ParentName . . . . . . . . . . . . . . 324<br />

PartCount . . . . . . . . . . . . . . 325<br />

PartList . . . . . . . . . . . . . . . 326<br />

PartName . . . . . . . . . . . . . . 327<br />

PartType . . . . . . . . . . . . . . . 328<br />

Paste . . . . . . . . . . . . . . . . 329<br />

PBRange . . . . . . . . . . . . . . . 330<br />

PBSetPos . . . . . . . . . . . . . . . 331<br />

PBStep . . . . . . . . . . . . . . . 332<br />

PBStepSize . . . . . . . . . . . . . . 333<br />

Platform . . . . . . . . . . . . . . . 334<br />

PlugCmd . . . . . . . . . . . . . . . 335<br />

PlugDLL . . . . . . . . . . . . . . . 336<br />

PlugID . . . . . . . . . . . . . . . 337<br />

PlugRC . . . . . . . . . . . . . . . 338<br />

PlugResult . . . . . . . . . . . . . . 339<br />

Poke . . . . . . . . . . . . . . . . 340<br />

Position . . . . . . . . . . . . . . . 341<br />

PrevLine . . . . . . . . . . . . . . . 342<br />

PrevPage . . . . . . . . . . . . . . . 343<br />

Print . . . . . . . . . . . . . . . . 344<br />

Printer. . . . . . . . . . . . . . . . 345<br />

ProgresBar . . . . . . . . . . . . . . 346<br />

Range . . . . . . . . . . . . . . . . 347<br />

ReadOnly . . . . . . . . . . . . . . 348<br />

RecordID . . . . . . . . . . . . . . . 350<br />

RefAttr . . . . . . . . . . . . . . . 351<br />

RefParent. . . . . . . . . . . . . . . 352<br />

RefPart . . . . . . . . . . . . . . . 353<br />

Refresh . . . . . . . . . . . . . . . 354<br />

RemoveItem. . . . . . . . . . . . . . 355<br />

RemoveLink. . . . . . . . . . . . . . 356<br />

RemoveMsg . . . . . . . . . . . . . . 357<br />

RemoveRcd . . . . . . . . . . . . . . 358<br />

Request . . . . . . . . . . . . . . . 359<br />

RmvSrcEvt . . . . . . . . . . . . . . 360<br />

RmvEvent . . . . . . . . . . . . . . 361<br />

RowBGClr . . . . . . . . . . . . . . 362<br />

RowBGMix . . . . . . . . . . . . . . 364<br />

RowFGClr . . . . . . . . . . . . . . 365<br />

RowFGMix . . . . . . . . . . . . . . 367<br />

Rows . . . . . . . . . . . . . . . . 368<br />

SBIndex . . . . . . . . . . . . . . . 369<br />

SBLabel . . . . . . . . . . . . . . . 370<br />

SBPanes . . . . . . . . . . . . . . . 371<br />

SBPosition . . . . . . . . . . . . . . 372<br />

SBStyle . . . . . . . . . . . . . . . 373<br />

Scale . . . . . . . . . . . . . . . . 374<br />

Search . . . . . . . . . . . . . . . . 375<br />

SearchType . . . . . . . . . . . . . . 376<br />

Selected . . . . . . . . . . . . . . . 377<br />

SelectIdx . . . . . . . . . . . . . . . 378<br />

SelectItem . . . . . . . . . . . . . . 379<br />

SelectList . . . . . . . . . . . . . . . 380<br />

Ejemplo de SelectList . . . . . . . . . . 380<br />

SelectRcd . . . . . . . . . . . . . . . 381<br />

SelPrinter. . . . . . . . . . . . . . . 382<br />

Sequence . . . . . . . . . . . . . . . 383<br />

Contenido v


SetItem . . . . . . . . . . . . . . . 385<br />

SetRcdFld . . . . . . . . . . . . . . 386<br />

SetRcdIcon . . . . . . . . . . . . . . 387<br />

SetRcdText . . . . . . . . . . . . . . 388<br />

SetTop. . . . . . . . . . . . . . . . 389<br />

SflNxtChg . . . . . . . . . . . . . . 390<br />

ShData . . . . . . . . . . . . . . . 391<br />

ShDataLen . . . . . . . . . . . . . . 392<br />

ShDataName . . . . . . . . . . . . . 393<br />

ShDataPos . . . . . . . . . . . . . . 394<br />

ShowMsgID . . . . . . . . . . . . . . 395<br />

ShowProp . . . . . . . . . . . . . . 396<br />

ShowRects . . . . . . . . . . . . . . 397<br />

ShowTabs . . . . . . . . . . . . . . 398<br />

ShowText. . . . . . . . . . . . . . . 399<br />

ShowTips. . . . . . . . . . . . . . . 400<br />

SizeToFit . . . . . . . . . . . . . . . 401<br />

SortAsc . . . . . . . . . . . . . . . 402<br />

SortDesc . . . . . . . . . . . . . . . 403<br />

SQLError . . . . . . . . . . . . . . . 404<br />

SQLMsgBox . . . . . . . . . . . . . . 405<br />

SQLQuery . . . . . . . . . . . . . . 406<br />

StartAt . . . . . . . . . . . . . . . 407<br />

Ejemplo de StartAt . . . . . . . . . . 408<br />

StartNew . . . . . . . . . . . . . . . 409<br />

StatusBar . . . . . . . . . . . . . . . 410<br />

SwitchTo . . . . . . . . . . . . . . . 411<br />

TabImage. . . . . . . . . . . . . . . 412<br />

TabLabel . . . . . . . . . . . . . . . 413<br />

Text . . . . . . . . . . . . . . . . 414<br />

TextEnd . . . . . . . . . . . . . . . 415<br />

TextLength . . . . . . . . . . . . . . 416<br />

TextSelect. . . . . . . . . . . . . . . 417<br />

TextStart . . . . . . . . . . . . . . . 418<br />

TextString . . . . . . . . . . . . . . 419<br />

TickLabel . . . . . . . . . . . . . . . 420<br />

TickNumber . . . . . . . . . . . . . . 421<br />

Tile. . . . . . . . . . . . . . . . . 422<br />

TimeOut . . . . . . . . . . . . . . . 423<br />

TimerMode . . . . . . . . . . . . . . 424<br />

TimerTicks . . . . . . . . . . . . . . 425<br />

TipText . . . . . . . . . . . . . . . 426<br />

Title . . . . . . . . . . . . . . . . 427<br />

TitlePlace . . . . . . . . . . . . . . . 428<br />

Top. . . . . . . . . . . . . . . . . 429<br />

Topic . . . . . . . . . . . . . . . . 430<br />

TopLine . . . . . . . . . . . . . . . 431<br />

TopRecord . . . . . . . . . . . . . . 432<br />

Treble . . . . . . . . . . . . . . . . 433<br />

UnBind . . . . . . . . . . . . . . . 434<br />

UnderPoint . . . . . . . . . . . . . . 435<br />

Undo . . . . . . . . . . . . . . . . 436<br />

UpdateRow . . . . . . . . . . . . . . 437<br />

UseData . . . . . . . . . . . . . . . 438<br />

UseDelim. . . . . . . . . . . . . . . 439<br />

UserData . . . . . . . . . . . . . . . 440<br />

Validate . . . . . . . . . . . . . . . 441<br />

Value . . . . . . . . . . . . . . . . 443<br />

View . . . . . . . . . . . . . . . . 444<br />

Visible. . . . . . . . . . . . . . . . 445<br />

VisTitle . . . . . . . . . . . . . . . 447<br />

vi <strong>VisualAge</strong> <strong>RPG</strong> Manual de consulta de componentes<br />

|<br />

VisTitlSep . . . . . . . . . . . . . . 448<br />

Volume . . . . . . . . . . . . . . . 449<br />

VRule . . . . . . . . . . . . . . . . 450<br />

WeekDay . . . . . . . . . . . . . . . 451<br />

WeekDayIdx. . . . . . . . . . . . . . 452<br />

Width . . . . . . . . . . . . . . . . 453<br />

WindowMode . . . . . . . . . . . . . 454<br />

WordWrap . . . . . . . . . . . . . . 455<br />

WrkStnName . . . . . . . . . . . . . 456<br />

X . . . . . . . . . . . . . . . . . 457<br />

XAxisLabel . . . . . . . . . . . . . . 458<br />

Y . . . . . . . . . . . . . . . . . 459<br />

YAxisLabel . . . . . . . . . . . . . . 460<br />

Year . . . . . . . . . . . . . . . . 461<br />

YearIdx . . . . . . . . . . . . . . . 462<br />

YearLen . . . . . . . . . . . . . . . 463<br />

Yinc . . . . . . . . . . . . . . . . 464<br />

Capítulo 3. Eventos de componentes 465<br />

Activate . . . . . . . . . . . . . . . 465<br />

BeanEvent . . . . . . . . . . . . . . 465<br />

Change . . . . . . . . . . . . . . . 466<br />

Click . . . . . . . . . . . . . . . . 466<br />

Close . . . . . . . . . . . . . . . . 467<br />

Collapsed . . . . . . . . . . . . . . 467<br />

ColSelect . . . . . . . . . . . . . . . 467<br />

Complete. . . . . . . . . . . . . . . 467<br />

Create . . . . . . . . . . . . . . . . 468<br />

Data . . . . . . . . . . . . . . . . 468<br />

DblClick . . . . . . . . . . . . . . . 469<br />

DeActivate . . . . . . . . . . . . . . 469<br />

Destroy . . . . . . . . . . . . . . . 469<br />

Drop . . . . . . . . . . . . . . . . 470<br />

DropDown . . . . . . . . . . . . . . 470<br />

Enter . . . . . . . . . . . . . . . . 471<br />

ExecuteAck . . . . . . . . . . . . . . 471<br />

Expanded . . . . . . . . . . . . . . 471<br />

FirstRec . . . . . . . . . . . . . . . 472<br />

GotFocus . . . . . . . . . . . . . . . 472<br />

KeyPress . . . . . . . . . . . . . . . 472<br />

LastRec . . . . . . . . . . . . . . . 473<br />

LClickTray . . . . . . . . . . . . . . 473<br />

Link . . . . . . . . . . . . . . . . 473<br />

LostFocus . . . . . . . . . . . . . . 473<br />

MenuSelect . . . . . . . . . . . . . . 474<br />

MouseDown. . . . . . . . . . . . . . 474<br />

MouseEnter . . . . . . . . . . . . . . 474<br />

MouseExit . . . . . . . . . . . . . . 475<br />

MouseMove . . . . . . . . . . . . . . 475<br />

MouseUp. . . . . . . . . . . . . . . 476<br />

Moved . . . . . . . . . . . . . . . 476<br />

MthChange . . . . . . . . . . . . . . 476<br />

NextRec . . . . . . . . . . . . . . . 476<br />

Notify . . . . . . . . . . . . . . . . 477<br />

OCXEvent . . . . . . . . . . . . . . 477<br />

PageDown . . . . . . . . . . . . . . 477<br />

PageEnd . . . . . . . . . . . . . . . 478<br />

PageSelect . . . . . . . . . . . . . . 478<br />

PageTop . . . . . . . . . . . . . . . 478<br />

PageUp . . . . . . . . . . . . . . . 478<br />

PokeAck . . . . . . . . . . . . . . . 479


Popup . . . . . . . . . . . . . . . . 479<br />

Press . . . . . . . . . . . . . . . . 480<br />

PrevRec . . . . . . . . . . . . . . . 480<br />

RClickTray . . . . . . . . . . . . . . 480<br />

ReSize . . . . . . . . . . . . . . . . 480<br />

Scroll . . . . . . . . . . . . . . . . 481<br />

Select . . . . . . . . . . . . . . . . 481<br />

ShutDown . . . . . . . . . . . . . . 481<br />

SpinDown . . . . . . . . . . . . . . 482<br />

SpinEnd . . . . . . . . . . . . . . . 482<br />

SpinUp . . . . . . . . . . . . . . . 482<br />

Terminate . . . . . . . . . . . . . . 482<br />

Tick . . . . . . . . . . . . . . . . 483<br />

Timeout . . . . . . . . . . . . . . . 483<br />

VKeyPress . . . . . . . . . . . . . . 484<br />

YearChange . . . . . . . . . . . . . . 484<br />

Capítulo 4. Atributos de eventos . . . 485<br />

%Alt . . . . . . . . . . . . . . . . 486<br />

%Button . . . . . . . . . . . . . . . 486<br />

%Character . . . . . . . . . . . . . . 486<br />

%ColNumber . . . . . . . . . . . . . 487<br />

%Complete . . . . . . . . . . . . . . 487<br />

%Control . . . . . . . . . . . . . . . 487<br />

%Data. . . . . . . . . . . . . . . . 488<br />

%EventName . . . . . . . . . . . . . 488<br />

|<br />

%Index . . . . . . . . . . . . . . . 488<br />

%Item . . . . . . . . . . . . . . . . 488<br />

%MouseX . . . . . . . . . . . . . . 488<br />

%MouseY . . . . . . . . . . . . . . 489<br />

%NewHeight . . . . . . . . . . . . . 489<br />

%NewMode. . . . . . . . . . . . . . 489<br />

%NewWidth. . . . . . . . . . . . . . 489<br />

%Page. . . . . . . . . . . . . . . . 490<br />

%Part . . . . . . . . . . . . . . . . 490<br />

%Position . . . . . . . . . . . . . . 490<br />

%RealName . . . . . . . . . . . . . . 490<br />

%Shift . . . . . . . . . . . . . . . . 490<br />

%SrcCompName . . . . . . . . . . . . 491<br />

%SrcEvtName . . . . . . . . . . . . . 491<br />

%SrcPartName . . . . . . . . . . . . . 491<br />

%SrcWinName . . . . . . . . . . . . . 491<br />

%Window . . . . . . . . . . . . . . 492<br />

Glosario . . . . . . . . . . . . . 493<br />

Bibliografía . . . . . . . . . . . . 505<br />

Avisos . . . . . . . . . . . . . . 507<br />

Información de interfaz de programación . . . . 508<br />

Marcas registradas y marcas de servicio . . . . 508<br />

Contenido vii


viii <strong>VisualAge</strong> <strong>RPG</strong> Manual de consulta de componentes


Acerca de este manual<br />

Este manual proporciona información de consulta sobre los componentes de<br />

<strong>VisualAge</strong> ® para <strong>RPG</strong>, que se utilizan para crear la aplicación de interfaz gráfica<br />

de usuario (GUI); los atributos y los eventos asociados con cada componente; y<br />

los atributos de evento que puede consultar en la aplicación VA<strong>RPG</strong>. Está<br />

destinado a aquellas personas que programan aplicaciones mediante <strong>VisualAge</strong><br />

<strong>RPG</strong>.<br />

Antes de utilizar este manual, debería leer la publicación Iniciación a <strong>VisualAge</strong> <strong>RPG</strong><br />

y CODE/400.<br />

Convenios de resaltado que se utilizan en este manual<br />

A lo largo de este manual, todos los nombres de atributos, eventos y atributos de<br />

eventos aparecen en el tipo negrita, al igual que un término en su primera<br />

aparición, otros términos enfatizados y cualquier referencia a texto que aparezca en<br />

la interfaz de <strong>VisualAge</strong> <strong>RPG</strong>. Las variables aparecen en cursiva. Los códigos de<br />

operación de <strong>VisualAge</strong> <strong>RPG</strong> aparecen TOTALMENTE EN MAYÚSCULAS.<br />

Requisito previo e información relacionada<br />

La biblioteca <strong>VisualAge</strong> <strong>RPG</strong><br />

Utilice el centro de información de AS/400 ® como punto de partida para consultar<br />

información técnica sobre AS/400. Puede acceder al Information Center desde el<br />

CD-ROM AS/400e Information Center (versión en español: SK3T-1330-02<br />

(SK3T-2027-03)) o desde una de las páginas Web siguientes:<br />

http://www.as400.ibm.com/infocenter<br />

http://publib.boulder.ibm.com/pubs/html/as400/infocenter.htm<br />

El centro de información de AS/400 contiene temas importantes como, por<br />

ejemplo, particiones lógicas, sistemas en clusters, Java, TCP/IP, servicios de Web y<br />

redes seguras. También contiene enlaces de Internet a páginas Web como, por<br />

ejemplo, la biblioteca en línea de AS/400 y el estudio técnico de AS/400. En el<br />

centro de información hay un enlace que describe a un nivel superior las<br />

diferencias de información entre el centro de información y la biblioteca en línea.<br />

Para obtener una versión en copia software de las publicaciones de AS/400,<br />

consulte la publicación CD-ROM AS/400e Biblioteca en soporte software, SK3T-1325-04<br />

(SK3T-0118-04).<br />

*Nota: Se han actualizado todas las versiones en línea de las publicaciones de<br />

WebSphere Development Tools para AS/400. Las publicaciones cuyo título<br />

está marcado con un asterisco (*) no se han vuelto a imprimir en este<br />

release.<br />

La biblioteca <strong>VisualAge</strong> <strong>RPG</strong> contiene las publicaciones siguientes:<br />

*Iniciación a <strong>VisualAge</strong> <strong>RPG</strong> y CODE/400<br />

© Copyright <strong>IBM</strong> Corp. 1994, 2000 ix


Utilice esta publicación para familiarizarse con los conceptos y la interfaz de<br />

<strong>VisualAge</strong> <strong>RPG</strong> y como consulta de tareas al utilizar <strong>VisualAge</strong> <strong>RPG</strong>.<br />

*Programación con <strong>VisualAge</strong> para <strong>RPG</strong><br />

Esta publicación contiene información específica acerca de la creación de<br />

aplicaciones con <strong>VisualAge</strong> <strong>RPG</strong>. Describe los pasos a seguir en cada fase del ciclo<br />

de desarrollo de aplicaciones, desde el diseño al empaquetado y la distribución. Se<br />

incluyen ejemplos de programación para aclarar los conceptos y el proceso del<br />

desarrollo de aplicaciones <strong>VisualAge</strong> <strong>RPG</strong>.<br />

*<strong>VisualAge</strong> <strong>RPG</strong> Manual de consulta de componentes<br />

Esta publicación proporciona información sobre los componentes, atributos de<br />

componente, eventos de componente y atributos de evento de <strong>VisualAge</strong> <strong>RPG</strong>. Es<br />

un manual de consulta para todos aquellos que desarrollan aplicaciones con<br />

<strong>VisualAge</strong> <strong>RPG</strong>.<br />

*<strong>VisualAge</strong> <strong>RPG</strong> Manual de consulta del lenguaje<br />

Esta publicación proporciona información acerca del lenguaje <strong>RPG</strong> IV tal como se<br />

implementa utilizando el compilador <strong>VisualAge</strong> <strong>RPG</strong>. Contiene:<br />

v Conceptos básicos del lenguaje como el juego de caracteres, nombres simbólicos<br />

y palabras reservadas, directivas del compilador e indicadores.<br />

v Tipos y formatos de datos<br />

v Manejo de errores y de excepciones<br />

v Especificaciones<br />

v Funciones incorporadas, expresiones y códigos de operación.<br />

Para obtener una lista de publicaciones relacionadas, consulte la bibliografía al<br />

final de esta publicación.<br />

VA <strong>RPG</strong> y CODE/400 Tutorial<br />

Hay una guía de aprendizaje en formato HTML disponible en el URL siguiente:<br />

http://www.ibm.com/software/ad/varpg/download/#interactive<br />

Esta guía de aprendizaje interactiva registra la evolución del usuario para poder<br />

volver fácilmente al último ejercicio realizado. Hay unas pruebas al final de cada<br />

lección que sirven de ayuda para probar los conocimientos adquiridos de la<br />

unidad.<br />

Nota: Para poder utilizar esta guía de aprendizaje, necesitará un navegador que<br />

admita marcos, Java ® y Javascript. También necesitará una herramienta de<br />

extracción de archivos, como es WinZip, que pueda manejar nombres largos<br />

de archivos.<br />

También puede encontrar la información más reciente sobre VA <strong>RPG</strong> y CODE/400<br />

en las siguientes fuentes en línea:<br />

La página de presentación de <strong>VisualAge</strong> <strong>RPG</strong> y CODE/400<br />

http://www.ibm.com/software/ad/varpg/<br />

x <strong>VisualAge</strong> <strong>RPG</strong> Manual de consulta de componentes


Cómo enviar comentarios<br />

Sus opiniones son importantes para ayudarnos a proporcionar la información más<br />

exacta y de mayor calidad posible. <strong>IBM</strong> agradece todos los comentarios sobre esta<br />

publicación o cualquier otra documentación de AS/400.<br />

v Si prefiere enviar los comentarios por correo, puede utilizar la dirección<br />

siguiente:<br />

<strong>IBM</strong>, S.A.<br />

National Language Solutions Center<br />

Avda. Diagonal, 571<br />

08029 Barcelona<br />

España<br />

Si envía una hoja de comentarios del cliente desde un país fuera de Estados<br />

Unidos, puede entregar la hoja de comentarios a la sucursal <strong>IBM</strong> local o al<br />

representante de <strong>IBM</strong> para enviarla por correo pagado.<br />

v Si prefiere enviar los comentarios por fax, puede utilizar el número siguiente:<br />

– +34 93 321 61 34<br />

v Si prefiere enviar los comentarios por correo electrónico, puede utilizar una de<br />

las direcciones siguientes:<br />

– Comentarios sobre publicaciones<br />

hojacom@vnet.ibm.com<br />

<strong>IBM</strong>Link: to toribm(torrcf)<br />

– Comentarios sobre el centro de información de AS/400:<br />

RCHINFOC@us.ibm.com<br />

Asegúrese de indicar lo siguiente:<br />

v El título del libro<br />

v El número de la publicación<br />

v El número de página o el tema al que hace referencia el comentario.<br />

Acceso a la información en línea<br />

<strong>VisualAge</strong> <strong>RPG</strong> tiene varios manuales en línea y ayuda en línea. Puede acceder a<br />

la ayuda mientras utiliza el producto, y puede visualizar los manuales tanto si está<br />

utilizando el producto como si no.<br />

Utilización de manuales en línea<br />

Para visualizar un manual en línea,realice una de las acciones siguientes:<br />

v Seleccione el nombre del manual desde el menú desplegable Ayuda del<br />

Diseñador GUI de <strong>VisualAge</strong> <strong>RPG</strong> o de la ventana del editor.<br />

v Puede acceder a las publicaciones desde el menú Inicio. Seleccione Programas →<br />

<strong>VisualAge</strong> <strong>RPG</strong> y CODE400. Después, seleccione Información de VA<strong>RPG</strong> y<br />

CODE400.<br />

Publicaciones en formato PDF<br />

Todas las publicaciones de VA <strong>RPG</strong> y CODE/400 se incluyen como parte de la<br />

ayuda habitual para el producto. Además del formato normal, el producto también<br />

contiene la versión PDF de las publicaciones.<br />

Nota: Debe disponer del programa Adobe Acrobat Reader, Versión 3.01 o superior<br />

para Windows, para ver el formato PDF de las publicaciones en la estación<br />

Acerca de este manual xi


de trabajo. Si no dispone de dicho programa, puede descargar una copia de<br />

la página Web de Adobe Systems (http://www.adobe.com).<br />

En la ayuda en línea están disponibles las siguientes publicaciones en formato<br />

PDF:<br />

v Iniciación a <strong>VisualAge</strong> <strong>RPG</strong> y CODE/400<br />

v Programación con <strong>VisualAge</strong> para <strong>RPG</strong><br />

v <strong>VisualAge</strong> <strong>RPG</strong> Manual de consulta de componentes<br />

v <strong>VisualAge</strong> <strong>RPG</strong> Manual de consulta del lenguaje<br />

Nota: Se han actualizado todas las versiones en línea de las publicaciones de<br />

WebSphere Development Tools para AS/400.<br />

Utilización de ayuda en línea<br />

Hay ayuda en línea disponible para todas las áreas de <strong>VisualAge</strong> <strong>RPG</strong>. Para<br />

obtener ayuda para una ventana determinada, un recuadro de diálogo o un<br />

cuaderno de propiedades, seleccione el pulsador Ayuda (si está disponible).<br />

Nota: Para ver la ayuda que está en formato HTML, la estación de trabajo debe<br />

tener un navegador Web que soporte marcos como, por ejemplo Netscape<br />

Navigator 4.04 o superior, o Microsoft ® Internet Explorer 4.01 o superior. (El<br />

navegador recomendado es Netscape Navigator 4.6 o Internet Explorer 5.0)<br />

Utilización de ayuda según el contexto<br />

Para obtener ayuda sensible al contexto en cualquier momento, pulse F1. La ayuda<br />

que aparece es específica del área de la interfaz que tiene foco de entrada. El foco<br />

de entrada puede estar en elementos de menú, ventanas, recuadros de diálogo y<br />

cuadernos de propiedades, o en componentes específicos de los mismos.<br />

Para obtener ayuda según contexto en los recuadros de diálogo, pulse el botón<br />

sobre el signo de interrogación (si está disponible) en el extremo superior derecho<br />

de la ventana. Aparece un signo de interrogación al lado de la flecha del ratón.<br />

Pulse el botón sobre una palabra o un campo y aparecerá la información de ayuda<br />

sobre ese determinado campo.<br />

Utilización de hipertexto<br />

Algunas ventanas de ayuda contienen palabras, frases o gráficos que aparecen<br />

resaltados. Son enlaces de hipertexto que llevan de un tema a otro. Para visualizar<br />

ayuda específica de un tema resaltado, pulse en él. Cuando siga un enlace de<br />

hipertexto, puede aparecer un botón Sincronizar en la esquina superior derecha<br />

del tema de ayuda. (Quizás deba retroceder páginas para verlo). Si pulsa el botón<br />

Sincronizar, la lista de temas del marco izquierdo se renueva a fin de mostrarle el<br />

lugar que ocupa el tema actual en la tabla de contenido general.<br />

Utilización de la tabla de contenido de la ayuda<br />

Cuando se visualice la ventana de Ayuda, pulse el botón Sincronizar (cuando esté<br />

disponible) para visualizar la sección Componentes en el marco de la izquierda.<br />

Pulse los símbolos más + y menos − para expandir y contraer la sección<br />

correspondiente al componente deseado. Para ver un tema, pulse en él.<br />

Utilización del recurso de búsqueda<br />

El sistema de ayuda <strong>VisualAge</strong> <strong>RPG</strong> y CODE/400 utiliza un motor de búsqueda<br />

avanzado de texto completo, que devuelve ″aciertos″ o ″coincidencias″ HTML<br />

basados en la petición de búsqueda. Para buscar un tema:<br />

xii <strong>VisualAge</strong> <strong>RPG</strong> Manual de consulta de componentes


1. Escriba una palabra, frase o pregunta (no incluya los interrogantes) en el área<br />

de texto situada junto a las +Opciones de búsqueda. Pulse Intro.<br />

2. Si la palabra o frase no se encuentra, se visualiza información acerca del intento<br />

de búsqueda. De lo contrario, aparece la página Resultado de la búsqueda con<br />

una lista de temas en los que se ha encontrado la palabra o frase. Pulse el<br />

enlace que desee ver.<br />

3. Puede utilizar las +Opciones de búsqueda para especificar el número de<br />

documentos que debe devolverse.<br />

Si desea obtener consejos para refinar las búsquedas, puede ver el tema Cómo<br />

buscar información en la ayuda en línea.<br />

Utilización de ayuda según el lenguaje<br />

Para obtener ayuda según el lenguaje, pulse F1 en una ventana de edición. Si el<br />

cursor está en un código de operación, recibirá ayuda para ese código de<br />

operación; de lo contrario, recibirá ayuda para la especificación actual.<br />

Acerca de este manual xiii


xiv <strong>VisualAge</strong> <strong>RPG</strong> Manual de consulta de componentes


Novedades de este Release<br />

Las siguientes funciones nuevas de <strong>VisualAge</strong> <strong>RPG</strong> se han añadido en este release<br />

de <strong>IBM</strong> <strong>VisualAge</strong> <strong>RPG</strong> y CODE (Cooperative Development Environment) para<br />

AS/400:<br />

v Los campos de subarchivo soportan la palabra clave VALUE.<br />

v Se dispone de un nuevo atributo StartAt en el componente subarchivo. Ahora<br />

puede forzarse que la operación READC empiece en el registro especificado.<br />

v El carácter de sustitución de etiqueta (|) se soporta ahora en las cabeceras de<br />

columna de los subarchivos.<br />

v Puede establecerse un tabulador en el componente subarchivo.<br />

v Se ha añadido la validación y formato automáticos en los campos de entrada.<br />

v Los componentes subarchivo, contenedor y recuadro de lista soportan los<br />

eventos KeyPress y VKeyPress.<br />

v El atributo Tablabel de la página de cuaderno ahora también es de lectura.<br />

v Un nuevo atributo ShowTabs para el componente Cuaderno permite ocultar las<br />

pestañas.<br />

v Un valor nuevo del diálogo Preferencias del usuario determina si deben<br />

mostrarse todas las pestañas en los cuadernos de propiedades.<br />

v Se soportan posibilidades adicionales de espaciado de los componentes, en<br />

relación con una área circundante.<br />

v El componente Lienzo ahora soporta el atributo Enabled.<br />

v El nuevo atributo de componente *component, Platform, devuelve el entorno en<br />

el que se ejecuta la aplicación (Java o Windows).<br />

v La posibilidad de especificar el tamaño y la posición de un componente dentro<br />

de una ventana.<br />

v La posibilidad de invocar mandatos de usuario en el último paso de<br />

construcción.<br />

v La ayuda en línea se visualiza ahora en formato HTML. (Deberá tener instalado<br />

un navegador en la estación de trabajo para ver la ayuda).<br />

v Se da soporte a Personal Communications (PCOMM) para Windows.<br />

v Un nuevo diálogo ’¿Quién soy?’ del Diseñador GUI proporciona información<br />

sobre el proyecto y VA<strong>RPG</strong>.<br />

v Se ha añadido el nuevo componente Bean Java a la paleta de componentes.<br />

Ahora pueden utilizarse componentes JavaBean en la aplicación.<br />

v Las opciones de menú dan soporte a la ayuda ¿Qué es esto? en las aplicaciones<br />

Java.<br />

v Los componentes Campo de entrada y Edición de múltiples líneas proporcionan<br />

un nuevo valor que conserva la selección de texto aunque la ventana en la que<br />

están pierda el foco.<br />

v Se ha añadido un botón Buscar en el diálogo Empaquetar componente.<br />

v Para cada proyecto puede especificarse el directorio TEST.<br />

© Copyright <strong>IBM</strong> Corp. 1994, 2000 xv


xvi <strong>VisualAge</strong> <strong>RPG</strong> Manual de consulta de componentes


Capítulo 1. Componentes<br />

ActiveX<br />

Los componentes son los bloques de construcción que se utilizan al crear una<br />

aplicación GUI (interfaz gráfica de usuario). Actúan como plantillas sobre las que<br />

se construye, permitiendo al usuario crear diseños de forma rápida y sencilla. Cada<br />

componente tiene asociados atributos y eventos.<br />

Este capítulo describe los componentes de <strong>VisualAge</strong> ®<br />

<strong>RPG</strong>. Cada una de las<br />

descripciones contiene lo siguiente:<br />

v Una descripción general del componente<br />

v Una lista de los atributos que se aplican al componente<br />

v Una lista de los eventos que se aplican al componente<br />

v Cualquier restricción que se aplique<br />

* Restricción: Este componente no está soportado en las aplicaciones Java ® .<br />

Utilice el componente ActiveX para añadir objetos de control ActiveX al proyecto.<br />

Las aplicaciones podrán acceder a los atributos y supervisar los eventos. (Otros<br />

proveedores se encargan del desarrollo y suministro de los controles ActiveX.)<br />

Debe estar familiarizado con los controles ActiveX que añade. El Diseñador GUI de<br />

VA<strong>RPG</strong> no puede controlar las funciones que proporcionan estos componentes.<br />

Nota: VA<strong>RPG</strong> sólo trabaja con controles ActiveX que tengan interfaces escritas en<br />

C++. Consulte con su suministrador de controles ActiveX para asegurarse de<br />

que VA<strong>RPG</strong> funcionará con el control ActiveX que desea utilizar.<br />

© Copyright <strong>IBM</strong> Corp. 1994, 2000 1


Atributos de componente<br />

Activate AddEvent Bottom DeActivate<br />

HasPrpPage Height Left Method<br />

OCXProp OCXValue ParentName PartName<br />

PartType Refresh RmvEvent ShowProp<br />

Top UserData Visible Width<br />

Eventos a los que puede aplicarse<br />

Create Destroy OCXEvent<br />

2 <strong>VisualAge</strong> <strong>RPG</strong> Manual de consulta de componentes


|<br />

Control de animación<br />

En las aplicaciones de Windows ® , el componente control de animación reproduce<br />

los archivos de vídeo con la extensión AVI. Este componente se distingue del<br />

componente medios en que el vídeo se reproduce independientemente de la lógica<br />

del programa. Un uso habitual de este componente es visualizar un archivo AVI<br />

que muestre un progreso como, por ejemplo, un archivo que se traspase de una<br />

carpeta a otra.<br />

El componente control de animación reproduce los archivos de vídeo sin sonido. El<br />

archivo AVI no puede estar en formato comprimido a menos que se haya<br />

comprimido con el método RLE (Running-Length Encoded).<br />

En las aplicaciones Java, el componente control de animación se utiliza para<br />

reproducir una secuencia de archivos GIF utilizando el atributo NbrOfImage.<br />

Atributos de componente<br />

FileName FrameRate Handle* Left<br />

Mode NbrOfImage ParentName PartName<br />

PartType Top UserData Visible<br />

* Nota: Consulte la descripción del atributo si desea saber cuáles son las<br />

restricciones.<br />

Eventos a los que puede aplicarse<br />

Create Destroy<br />

Capítulo 1. Componentes 3


Calendario<br />

El componente calendario presenta un calendario por meses. Al efectuar una<br />

pulsación sobre una de las flechas de los meses, el usuario puede navegar por el<br />

calendario y desplazarse al mes anterior o posterior.<br />

También tiene un control del programa absoluto sobre el calendario para<br />

desplazarse hasta una fecha específica, determinar qué fecha ha seleccionado el<br />

usuario y añadir breves comentarios de texto a días individuales en el calendario.<br />

Atributos de componente<br />

Border Bottom ClearAll ClearDate<br />

ClearMonth ClearYear Color ColorArea<br />

ColorMix Date DateIdx DateText<br />

DateUnder Day DayIdx DayLen<br />

DayNumPos DayNumRect DayStart Enabled<br />

FontArea FontBold FontItalic FontName<br />

FontSize FontStrike* FontUnder* FrmtString<br />

Handle* Height HRule Left<br />

Month MonthArrow MonthIdx MonthLen<br />

OutlineRcl ParentName PartName PartType<br />

Refresh ShowRects ShowText TipText<br />

Top UserData Visible VRule<br />

WeekDay WeekDayIdx Width Year<br />

YearIdx YearLen<br />

* Nota:: Consulte la descripción del atributo si desea saber cuáles son las<br />

restricciones.<br />

Eventos a los que puede aplicarse<br />

Click Create Destroy DblClick<br />

MouseDown MouseEnter MouseExit MouseMove<br />

MouseUp MthChange YearChange<br />

4 <strong>VisualAge</strong> <strong>RPG</strong> Manual de consulta de componentes


Lienzo<br />

Utilice el componente lienzo con una ventana o una página de cuaderno si desea<br />

poner más de un componente en la ventana o en la página de cuaderno. Puede<br />

colocar diversos componentes en el lienzo señalándolos y pulsando el botón del<br />

ratón y cambiarlos de posición para crear una interfaz gráfica de usuario.<br />

El componente lienzo ocupa el área de cliente de una ventana o de una página de<br />

cuaderno. Si en la ventana o en la página de cuaderno no hay lienzo, sólo puede<br />

colocar un componente en el área de cliente, a menos que sean extensiones de la<br />

ventana, como barras de menús y subarchivos de mensajes.<br />

A menudo creará ventanas y páginas de cuaderno que contendrán más de un<br />

componente. En este caso, deberá utilizar los componentes página de cuaderno y<br />

con lienzo y la ventana con lienzo. Así se ahorrará un paso, ya que estos<br />

componentes ya contienen el componente lienzo.<br />

En tiempo de creación de la aplicación, también puede incluir una imagen de<br />

bitmap a modo de fondo del lienzo; para ello, especifique el atributo FileName.<br />

Esta imagen puede ponerse en mosaico estableciendo el atributo Tile. Enlas<br />

aplicaciones Java, puede incluir imágenes GIF o JPG como fondo.<br />

Notas:<br />

1. Los componentes lienzo, ventana (sin lienzo) y página de cuaderno (sin lienzo)<br />

se encuentran en el catálogo de componentes, no en la paleta de componentes.<br />

Si desea utilizarlos con frecuencia, puede añadirlos a la paleta de componentes.<br />

2. Si los componentes situados en un componente lienzo tienen especificado el<br />

valor de font por omisión (Font del sistema por omisión), heredarán la definición<br />

de font especificada en el componente lienzo. Para aplicar un font determinado<br />

a la mayor parte de componentes de un lienzo, especifique ese font en el<br />

componente lienzo en lugar de hacerlo en cada componente individual.<br />

Para obtener información relacionada, consulte el apartado:<br />

v “Ventana” en la página 49<br />

v “Ventana con lienzo” en la página 50<br />

v “Página de cuaderno” en la página 32<br />

v “Página de cuaderno con lienzo” en la página 33.<br />

Capítulo 1. Componentes 5


Atributos de componente<br />

BackColor BackMix Bottom* Enabled<br />

FileName FontBold FontItalic FontName<br />

FontSize FontStrike* FontUnder* Handle*<br />

Height Left ParentName PartName<br />

PartType ReadOnly Refresh Tile<br />

Top* UserData Width<br />

* Nota: Consulte la descripción del atributo si desea saber cuáles son las<br />

restricciones.<br />

Eventos a los que puede aplicarse<br />

Click Create DblClick Destroy<br />

MouseDown MouseMove MouseUp Popup<br />

6 <strong>VisualAge</strong> <strong>RPG</strong> Manual de consulta de componentes


Recuadro de selección<br />

Utilice el componente recuadro de selección si desea que el usuario elija entre dos<br />

estados claramente diferenciados; por ejemplo, activado y desactivado.<br />

Una etiqueta asociada con el recuadro de selección describe el valor del mismo<br />

cuando se selecciona.<br />

Normalmente, se utiliza un grupo de recuadros de selección para proporcionar una<br />

lista de opciones. El usuario puede seleccionar uno, varios o ningún recuadro. Las<br />

opciones no son mutuamente excluyentes; por lo tanto, marcar un recuadro de<br />

selección no tiene ningún efecto en otros recuadros de la ventana. Si desea que el<br />

usuario pueda seleccionar sólo una opción de un grupo de dos o más, utilice<br />

botones de selección. Consulte el apartado “Botón de selección” en la página 40 si<br />

desea más información.<br />

Para definir el estado de un recuadro de selección, el usuario puede pulsar el<br />

botón del ratón en el mismo, pulsar la barra espaciadora cuando el recuadro tenga<br />

el foco o pulsar la tecla correspondiente al nemotécnico (si le ha asignado una).<br />

Para obtener información sobre la asignación de teclas nemotécnicas, consulte la<br />

publicación Programación con <strong>VisualAge</strong> para <strong>RPG</strong>, SC10-3067-02 (SC09-2449-02).<br />

Atributos de componente<br />

AddLink* AllowLink* BackColor BackMix<br />

Bottom Checked Enabled Focus<br />

FontBold FontItalic FontName FontSize<br />

FontStrike* FontUnder* ForeColor ForeMix<br />

Handle* Height Highlight* Label<br />

Left ParentName PartName PartType<br />

Refresh RemoveLink* ShowTips TipText<br />

Top UserData Visible Width<br />

* Nota: Consulte la descripción del atributo si desea saber cuáles son las<br />

restricciones.<br />

Eventos a los que puede aplicarse<br />

Create Destroy MouseEnter MouseExit<br />

MouseMove Popup Select<br />

Capítulo 1. Componentes 7


Recuadro de combinación<br />

Un recuadro de combinación ofrece al usuario la opción de escribir información<br />

específica o de seleccionarla en una lista de opciones utilizadas con frecuencia.<br />

Se compone de un campo de entrada con un recuadro de lista adjunto que<br />

presenta una lista de valores por la que el usuario puede desplazarse. Si el usuario<br />

selecciona uno de estos valores, aparecerá en el campo de entrada sustituyendo<br />

cualquier texto que hubiese antes. De manera alternativa, el usuario puede escribir<br />

un valor, que no tiene por qué coincidir con ninguno de los que aparecen en la<br />

lista, directamente en el campo de entrada.<br />

Hay disponibles varios estilos de recuadros de combinación. Puede seleccionar el<br />

estilo que desee en el cuaderno de propiedades del componente.<br />

Para obtener información relacionada, consulte los apartados:<br />

v “Recuadro de lista” en la página 24<br />

v “Campo de entrada” en la página 14<br />

Atributos de componente<br />

AddItemEnd AutoScroll* BackColor BackMix<br />

Bottom Case* Count DelimChar<br />

DeSelect* DragEnable* DropEnable* Enabled<br />

FieldExit FirstSel Focus FontBold<br />

FontItalic FontName FontSize FontStrike*<br />

FontUnder* ForeColor ForeMix GetItem<br />

Handle* Height Index InsertItem*<br />

ItemKey Left ParentName PartName<br />

PartType ReadOnly Refresh RemoveItem<br />

Search* SearchType* Selected SelectItem<br />

Sequence* SetItem SetTop* Showtips<br />

SizeToFit* Text TipText Top<br />

UseDelim UserData Visible Width<br />

8 <strong>VisualAge</strong> <strong>RPG</strong> Manual de consulta de componentes<br />

*Nota: Consulte la descripción del atributo si desea saber cuáles son las<br />

restricciones.


Eventos a los que puede aplicarse<br />

Change Create Destroy Drop*<br />

DropDown* Enter GotFocus KeyPress<br />

LostFocus MouseEnter MouseExit MouseMove<br />

Popup Select VKeyPress<br />

*Nota: Consulte la descripción del evento si desea saber cuáles son las<br />

restricciones.<br />

Capítulo 1. Componentes 9


*Component<br />

Este componente permite a los programadores acceder y utilizar atributos de<br />

componente lógico y del sistema.<br />

Un componente *component es la ″representación del componente″ del<br />

componente lógico. Para cada componente lógico se crea un componente<br />

*component; no se ve y no está en la paleta.<br />

Atributos de componente<br />

Active* Alarm AppData Button<br />

ClipBoard CurrentDir Dialog DIRName*<br />

DlgOwner DoEvents* DspHeight DspWidth<br />

FileName HelpWindow LookNFeel* MsgData<br />

MsgFile* MsgID MsgText Name<br />

OS Parent PartCount PartList<br />

Platform PlugCmd* PlugDLL* PlugID*<br />

PlugRC* PlugResult* Printer* SelPrinter*<br />

ShData ShDataLen ShDataName ShDataPos<br />

ShowMsgID SwitchTo* WrkStnName*<br />

*Nota: Consulte la descripción del atributo si desea saber cuáles son las<br />

restricciones.<br />

Eventos a los que puede aplicarse<br />

Este componente no tiene eventos asociados.<br />

10 <strong>VisualAge</strong> <strong>RPG</strong> Manual de consulta de componentes


|<br />

|<br />

Referencia a componente lógico<br />

El componente referencia a componente lógico permite que un componente lógico<br />

de VA<strong>RPG</strong> se comunique con otro. Utilice el componente referencia a componente<br />

lógico para afectar a un componente del otro componente lógico. El componente<br />

lógico al que se hace referencia debe estar ejecutándose en la misma aplicación que<br />

el componente referencia a componente lógico.<br />

El componente referencia a componente lógico también supervisa un evento<br />

especificado en el otro componente lógico. Cuando se produzca el evento<br />

supervisado, el componente referencia a componente lógico señalará un evento<br />

Notify.<br />

Atributos de componente<br />

AddSrcEvt AttrValue Bottom CompName<br />

Left NotSrcEvt NotSrcPart NotSrcWin<br />

ParentName PartName PartType RefAttr<br />

RefParent RefPart RmvSrcEvt UserData<br />

Visible<br />

Eventos a los que puede aplicarse<br />

Create Destroy Notify<br />

Capítulo 1. Componentes 11


|<br />

Contenedor<br />

Utilice el componente contenedor para almacenar registros relacionados. Los<br />

registros se pueden mostrar en una vista de iconos, de árbol, de árbol de texto o de<br />

detalles.<br />

Atributos de componente<br />

AddRcd Arrange BackColor BackMix<br />

BlankChar Bottom ChildCount ChildList<br />

Collapsed ColNumber Count DeSelect<br />

EditItem Enabled ExtSelect* FirstSel<br />

Focus FontBold FontItalic FontName<br />

FontSize FontStrike* FontUnder* ForeColor<br />

ForeMix GetNewID GetRcdFld GetRcdIcon<br />

GetRcdText Handle* Height InUse*<br />

Label Left MiniIcon ParentId<br />

ParentList ParentName PartName PartType<br />

ReadOnly RecordID Refresh RemoveRcd<br />

Selected SelectRcd SetRcdFld SetRcdIcon<br />

SetRcdText SetTop* ShowTips SortAsc<br />

SortDesc TipText Top UserData<br />

View* Visible VisTitle VisTitlSep<br />

Width<br />

*Nota: Consulte la descripción del atributo si desea saber cuáles son las<br />

restricciones.<br />

Eventos a los que puede aplicarse<br />

Click Collapsed ColSelect Create<br />

DblClick Destroy Enter Expanded<br />

GotFocus KeyPress LostFocus MouseDown<br />

MouseEnter MouseExit MouseMove MouseUp<br />

Popup Select VKeyPress<br />

12 <strong>VisualAge</strong> <strong>RPG</strong> Manual de consulta de componentes


Cliente DDE<br />

* Restricción: Este componente no está soportado en las aplicaciones Java.<br />

Utilice el componente cliente DDE para intercambiar datos con otras aplicaciones<br />

(por ejemplo, hojas de cálculo), que den soporte al protocolo de intercambio<br />

dinámico de datos (DDE).<br />

Este intercambio recibe el nombre de conversación DDE. La aplicación que inicia<br />

la conversación es el cliente y la aplicación que responde es el servidor. Para<br />

determinar si una aplicación da soporte a DDE, consulte la documentación que se<br />

ha entregado con ella.<br />

El componente cliente DDE da soporte a las conversaciones de enlace estático y<br />

enlace dinámico. Una conversación de enlace estático consta de un programa<br />

cliente que realiza peticiones explícitas al programa servidor. Una conversación de<br />

enlace dinámico consta de un programa servidor que actualiza automáticamente el<br />

programa cliente cuando se modifican sus datos.<br />

Puede configurar conversaciones de enlace estático o dinámico en el cuaderno de<br />

propiedades del componente cliente DDE y en la lógica del programa.<br />

Atributos de componente<br />

AppName Bottom DDEAddLink DDEMode<br />

DDERmvLink Execute Format Item<br />

Left ParentName PartName PartType<br />

Poke Request TimeOut Top<br />

Topic UserData Visible<br />

Eventos a los que puede aplicarse<br />

Create Data Destroy ExecuteAck<br />

PokeAck Terminate TimeOut<br />

Capítulo 1. Componentes 13


Campo de entrada<br />

Utilice el componente campo de entrada si desea que el usuario pueda especificar<br />

valores que no se pueden predecir. Un campo de entrada es un área en la que el<br />

usuario puede escribir o colocar texto. Sus límites suelen estar indicados. El<br />

usuario puede desplazarse por el texto del campo de entrada si hay más<br />

información disponible de la que resulta visible.<br />

Puede configurar el componente campo de entrada para que acepte datos de tipo<br />

carácter, numéricos o de doble byte (DBCS).<br />

También puede hacer que el campo de entrada sea de sólo lectura, para que el<br />

usuario no pueda modificar la información que contiene directamente.<br />

Puede señalar y pulsar un componente campo de entrada en la paleta de<br />

componentes y después pulsar el botón del ratón en el componente subarchivo<br />

para crear un campo de entrada de subarchivo.<br />

Atributos de componente<br />

AddLink* Alignment AllowLink* AutoScroll*<br />

AutoSelect BackColor BackMix Bottom<br />

CapsLock Copy CsrAtEnd Cut<br />

DataType Delete DragEnable* DropEnable*<br />

Enabled FieldExit Focus FontBold<br />

FontItalic FontName FontSize FontStrike*<br />

FontUnder* ForeColor ForeMix Handle*<br />

Height InsertMode* Left Masked<br />

ParentName PartName PartType Paste<br />

ReadOnly Refresh RemoveLink* ShowTips<br />

Text TextEnd TextLength TextSelect<br />

TextStart TipText Top UserData<br />

Visible Width<br />

14 <strong>VisualAge</strong> <strong>RPG</strong> Manual de consulta de componentes<br />

*Nota: Consulte la descripción del atributo si desea saber cuáles son las<br />

restricciones.


Eventos a los que puede aplicarse<br />

Change Click Create DblClick<br />

Destroy Drop GotFocus KeyPress<br />

Link* LostFocus MouseDown MouseEnter<br />

MouseExit MouseMove MouseUp Popup<br />

VKeyPress<br />

*Nota: Consulte la descripción del evento si desea saber cuáles son las<br />

restricciones.<br />

Capítulo 1. Componentes 15


|<br />

Gráfica<br />

El componente gráfica le permite crear y diseñar un gráfico en el proyecto.<br />

Durante la ejecución podrá enviar datos al gráfico y modificar los atributos de<br />

gráfico y el tipo de gráfico. El componente gráfica da soporte a los tipos de gráfica<br />

circular, de líneas, de barras y de líneas y barras.<br />

Los tipos de gráfica de barras y de líneas permiten utilizar el control de texto<br />

ToolTip. Si está habilitado, al mover el ratón sobre un punto de datos se visualiza<br />

el control de texto de ayuda flotante. Para utilizar este soporte en la lógica del<br />

programa, debe establecer el valor del punto en el atributo TipText y activar el<br />

atributo ShowTips para la ventana que contiene el componente gráfica.<br />

Atributos de componente<br />

AutoInc BarLabel Bottom Color<br />

ColorArea ColorMix DataGroup DataPoint<br />

DataValue Enabled FillStyle* FontArea<br />

FontBold FontItalic FontName FontSize<br />

FontStrike* FontUnder* GnEqGrpCol GnEqPntCol<br />

GraphType GroupLabel GrphHiLite Handle*<br />

Height HitItem* HlitPoints* LabelPlace<br />

Left LegendType ParentName PartName<br />

PartType Refresh StartNew TipText<br />

Title TitlePlace Top UnderPoint*<br />

UseData UserData Visible Width<br />

XAxisLabel YAxisLabel YInc<br />

*Nota: Consulte la descripción del atributo si desea saber cuáles son las<br />

restricciones.<br />

Eventos a los que puede aplicarse<br />

Click Create Destroy DblClick<br />

MouseDown MouseEnter MouseExit MouseMove<br />

MouseUp<br />

16 <strong>VisualAge</strong> <strong>RPG</strong> Manual de consulta de componentes


Pulsador gráfico<br />

Utilice pulsadores gráficos para proporcionar un acceso fácil a las acciones<br />

utilizadas con frecuencia.<br />

El pulsador gráfico proporciona la misma función que un pulsador. Indica una<br />

acción que se iniciará cuando el usuario lo seleccione, pero en lugar de visualizar<br />

una etiqueta que describa su función, muestra una imagen. El atributo FileName<br />

especifica el nombre de la imagen que debe utilizarse.<br />

Los formatos válidos de imágenes de Windows son:<br />

v Bitmaps de Windows ® y OS/2 (BMP, VGA, BGA, RLE, DIB, RL4, RL8)<br />

v Icono (ICO)<br />

v TIF, TIFF (Formato de Archivo de Imagen Codificada) de Microsoft/Aldus<br />

v GIF (Formato de Intercambio de Gráficos) de CompuServe<br />

v PCX (Formato de Archivo de Imagen) de ZSoft PC Paintbrush<br />

v TGA, VST, AFI (Bitmap Targa/Vista) de Truevision<br />

v IFF, ILBM (Formato de Bitmap Intercalado) de Amiga<br />

v XBM (Bitmap) de X Windows<br />

v PSE, PSEG, PSEG38PP, PSEG3820 (Segmento de Página de Impresora) de <strong>IBM</strong><br />

Los formatos válidos de imágenes Java son:<br />

v GIF (Formato de Intercambio de Gráficos) de CompuServe<br />

v JPG, JPEG (formato Joint Photographic Experts Group)<br />

Para obtener información relacionada, consulte el apartado “Pulsador” en la<br />

página 39.<br />

Capítulo 1. Componentes 17


Atributos de componente<br />

Bottom Enabled FileName Focus<br />

Handle* Height HelpEnable HighLight<br />

Left ParentName PartName PartType<br />

Refresh ShowTips TipText Top<br />

UserData Validate Visible Width<br />

* Nota:: Consulte la descripción del atributo si desea saber cuáles son las<br />

restricciones.<br />

Eventos a los que puede aplicarse<br />

Create Destroy GotFocus LostFocus<br />

MouseEnter MouseExit MouseMove Popup<br />

Press<br />

18 <strong>VisualAge</strong> <strong>RPG</strong> Manual de consulta de componentes


Recuadro de grupo<br />

Utilice un recuadro de grupo para distinguir visualmente un grupo de<br />

componentes de una ventana.<br />

Un recuadro de grupo es un rectángulo trazado alrededor de un grupo de<br />

componentes para indicar que están relacionados. Por lo general, es recomendable<br />

poner una etiqueta a un recuadro de grupo. Si no se precisa una etiqueta, puede<br />

utilizar un recuadro de contorno.<br />

Atributos de componente<br />

Bottom Enabled FontBold FontItalic<br />

FontName FontSize FontStrike* FontUnder*<br />

ForeColor ForeMix Handle* Height<br />

Label Left ParentName PartName<br />

PartType Refresh Top UserData<br />

Visible Width<br />

Nota: Consulte la descripción del atributo si desea saber cuáles son las<br />

restricciones.<br />

Eventos a los que puede aplicarse<br />

Create Destroy<br />

Capítulo 1. Componentes 19


Barra de desplazamiento horizontal<br />

Utilice el componente barra de desplazamiento horizontal para poder desplazarse<br />

por un panel de información de izquierda a derecha o viceversa. La información<br />

puede ser una lista de archivos, los registros de una base de datos, las columnas de<br />

un documento, etcétera. Puede utilizar el atributo Range para representar el<br />

número total de los objetos por los que se efectuará el desplazamiento y el atributo<br />

PageSize para determinar el número de objetos que pueden visualizarse en una<br />

página.<br />

Atributos de componente<br />

Bottom Enabled Focus Handle*<br />

Height Left NextLine NextPage<br />

PageSize ParentName PartName PartType<br />

Position PrevLine PrevPage Range<br />

Top UserData Visible Width<br />

*Nota: Consulte la descripción del atributo si desea saber cuáles son las<br />

restricciones.<br />

Eventos a los que puede aplicarse<br />

Create Destroy Scroll<br />

20 <strong>VisualAge</strong> <strong>RPG</strong> Manual de consulta de componentes


Imagen<br />

Utilice el componente imagen para visualizar imágenes. El atributo FileName<br />

especifica el nombre de la imagen que debe utilizarse.<br />

Los formatos válidos de imágenes de Windows son:<br />

v Bitmaps de Windows y OS/2 (BMP, VGA, BGA, RLE, DIB, RL4, RL8)<br />

v Icono (ICO)<br />

v TIF, TIFF (Formato de Archivo de Imagen Codificada) de Microsoft/Aldus<br />

v GIF (Formato de Intercambio de Gráficos) de CompuServe<br />

v PCX (Formato de Archivo de Imagen) de ZSoft PC Paintbrush<br />

v TGA, VST, AFI (Bitmap Targa/Vista) de Truevision<br />

v IFF, ILBM (Formato de Bitmap Intercalado) de Amiga<br />

v XBM (Bitmap) de X Windows<br />

v PSE, PSEG, PSEG38PP, PSEG3820 (Segmento de Página de Impresora) de <strong>IBM</strong><br />

Los formatos válidos de imágenes Java son:<br />

v GIF (Formato de Intercambio de Gráficos) de CompuServe<br />

v JPG, JPEG (formato Joint Photographic Experts Group)<br />

Estos archivos residen en la estación de trabajo programable (PWS), no en el<br />

sistema principal. Debe almacenar los archivos de bitmap y de icono específicos<br />

del sistema en el directorio de tiempo de ejecución adecuado (RT_JAVA o<br />

RT_WIN32) para que el programa de utilidad de empaquetado los incluya al crear<br />

el paquete de la aplicación.<br />

Nota: El componente imagen sólo se puede soltar en una página de cuaderno con<br />

lienzo o en una ventana con lienzo.<br />

Capítulo 1. Componentes 21


Atributos de componente<br />

AddLink* AllowLink* BackColor BackMix<br />

Border Bottom Enabled FileName<br />

Handle* Height Left Magnify<br />

Panel ParentName PartName PartType<br />

Print Refresh RemoveLink* ShowTips<br />

TipText Top UserData Visible<br />

Width<br />

* Nota:: Consulte la descripción del atributo si desea saber cuáles son las<br />

restricciones.<br />

Eventos a los que puede aplicarse<br />

Click Create DblClick Destroy<br />

Link* MouseEnter MouseExit MouseMove<br />

22 <strong>VisualAge</strong> <strong>RPG</strong> Manual de consulta de componentes<br />

* Nota:: Consulte la descripción del evento si desea saber cuáles son las<br />

restricciones.


Bean Java<br />

* Restricción: Este componente no está soportado en las aplicaciones Windows.<br />

Utilice el componente bean Java para añadir beans JavaBeans ® al proyecto. Los<br />

beans Java sirven para llamar de forma directa a métodos Java. Si desea obtener<br />

más información sobre las llamadas a métodos Java, consulte la publicación<br />

Programación con <strong>VisualAge</strong> para <strong>RPG</strong>, SC10-3067-02 (SC09-2449-02).<br />

Para desarrollar aplicaciones que utilicen el componente bean Java, debe tener<br />

instalado Java 2 Software Development Kit (J2SDK), Standard Edition, versión 1.2 o<br />

superior, de JavaSoft, en la estación de trabajo. Si no tiene el J2SDK, puede bajarlo<br />

de Sun Microsystems en el URL siguiente:<br />

http://www.javasoft.com/products/<br />

Tras instalar el J2SDK, establezca la variable de entorno PATH de modo que<br />

apunte a la ubicación tanto del compilador Java como de jvm.dll, que forma parte<br />

del J2SDK y del JRE (Java Runtime Environment). Por ejemplo, si el directorio<br />

inicial de J2SDK es x:\jdk1.2, añada las siguientes sentencias en la variable PATH:<br />

x:\jdk1.2\bin<br />

x:\jdk1.2\jre\bin\classic<br />

Atributos de componente<br />

AddEvent Bottom Enabled Height<br />

Left ParentName PartName PartType<br />

RmvEvent ShowProp Top UserData<br />

Visible Width<br />

Eventos a los que puede aplicarse<br />

Create Destroy BeanEvent<br />

Capítulo 1. Componentes 23


Recuadro de lista<br />

Utilice el componente recuadro de lista para proporcionar al usuario una lista de<br />

elementos de los que se pueden seleccionar uno o más. Un recuadro de lista consta<br />

de elementos de sólo lectura. Un elemento de un recuadro de lista es una serie de<br />

caracteres.<br />

Las barras de desplazamiento verticales y horizontales permiten al usuario ver<br />

partes de la lista que no están visualizadas. Puede configurar el recuadro de lista<br />

de modo que el usuario pueda seleccionar un solo elemento o varios. Puede<br />

utilizar los atributos Search, SearchType, and Case para buscar fácilmente en la<br />

lista un elemento determinado.<br />

Atributos de componente<br />

AddItemEnd AddLink* AllowLink* BackColor<br />

BackMix Bottom Case* Count<br />

DelimChar DeSelect DragEnable* DropEnable*<br />

Enabled ExtSelect* FirstSel Focus<br />

FontBold FontItalic FontName FontSize<br />

FontStrike* FontUnder* ForeColor ForeMix<br />

GetItem Handle* Height Index<br />

InsertItem* ItemKey Left MultSelect<br />

NbrOfSel ParentName PartName PartType<br />

Refresh RemoveItem RemoveLink* Search*<br />

SearchType* Selected SelectItem SelectList<br />

Sequence* SetItem SetTop ShowTips<br />

SizeToFit TipText Top UseDelim<br />

UserData Visible Width<br />

* Nota:: Consulte la descripción del atributo si desea saber cuáles son las<br />

restricciones.<br />

Eventos a los que puede aplicarse<br />

Create Destroy Drop* Enter*<br />

GotFocus KeyPress LostFocus MouseEnter<br />

MouseExit MouseMove Popup Select<br />

VKeyPress<br />

24 <strong>VisualAge</strong> <strong>RPG</strong> Manual de consulta de componentes<br />

* Nota:: Consulte la descripción del evento si desea saber cuáles son las<br />

restricciones.


Medios<br />

Utilice el componente medios para reproducir o grabar información de audio o<br />

para reproducir archivos de vídeo.<br />

El componente medios ofrece a los programas la posibilidad de procesar archivos<br />

de ondas (.WAV), MIDI (.MID) y QuickTime Movie (.MOV). Si desea utilizar estos<br />

archivos de audio, el PC debe estar equipado con una tarjeta de sonido que pueda<br />

procesar estos archivos. Para grabar un archivo de sonido, necesitará un micrófono<br />

o algún otro dispositivo de entrada soportado por la tarjeta de sonido. Los<br />

archivos MIDI no pueden grabarse con el componente medios.<br />

Las aplicaciones Java deben tener instalada la API JMF (Java Media Framework).<br />

El componente medios sólo permite reproducir los archivos de audio y de vídeo en<br />

el entorno Java.<br />

Los formatos de archivo de vídeo que se pueden procesar son: MPEG (*.mpg),<br />

QUICKTIME Movie (*.mov), *.dat y *.avi de Microsoft ® Video para Windows en<br />

Windows NT/95/98. Para reproducir estos archivos de vídeo, el sistema debe tener<br />

los controladores adecuados.<br />

Atributos de componente<br />

AddLink* AllowLink* AudioMode Bass*<br />

Bottom FileName Handle* InPlace<br />

Left Length Panel ParentName<br />

PartName PartType Position RemoveLink*<br />

Top Treble* UserData Visible<br />

Volumen<br />

*Nota: Consulte la descripción del atributo si desea saber cuáles son las<br />

restricciones.<br />

Eventos a los que puede aplicarse<br />

Complete Create Destroy Link*<br />

*Nota: Consulte la descripción del evento si desea saber cuáles son las<br />

restricciones.<br />

Capítulo 1. Componentes 25


Panel de medios<br />

Nota: Este componente no se utiliza en las aplicaciones Java.<br />

Utilice el componente panel de medios para proporcionar un acceso rápido a las<br />

acciones más utilizadas.<br />

También puede utilizarlo para dar al usuario control sobre otros componentes sin<br />

necesidad de crear lógica de programa. Por ejemplo, puede utilizarlo para crear<br />

pulsadores o controles de graduador que controlen el volumen o la modalidad de<br />

un componente medios.<br />

En el cuaderno de propiedades del componente panel de medios, puede indicar lo<br />

siguiente:<br />

v Qué botones, de un grupo definido, contendrá el panel de medios<br />

v Si los graduadores de posición y volumen se visualizarán<br />

Nota: El componente panel de medios sólo se puede soltar en una página de<br />

cuaderno con lienzo o en una ventana con lienzo.<br />

Atributos de componente<br />

AddLink AllowLink BackColor BackMix<br />

Bottom Enabled Handle Height<br />

Left PanelItem PanelMode ParentName<br />

PartName PartType Position RemoveLink<br />

Top UserData Visible Volume<br />

Width<br />

Eventos a los que puede aplicarse<br />

Change Create Destroy Link<br />

MouseEnter MouseExit MouseMove Popup<br />

Press<br />

26 <strong>VisualAge</strong> <strong>RPG</strong> Manual de consulta de componentes


Barra de menús<br />

Utilice el componente barra de menús para proporcionar a los usuarios acceso a<br />

los menús desplegables. Puede añadir componentes submenú y opción de menú a<br />

la barra de menús.<br />

Las barras de menús aparecen en la parte superior del marco de la ventana, debajo<br />

de la barra de título. Cuando el usuario selecciona un menú en ella, aparece un<br />

menú desplegable con todas sus opciones. Al seleccionar una de ellas se inicia<br />

inmediatamente la acción que describe.<br />

Nota: Las propiedades, los eventos, etcétera de este componente sólo se pueden<br />

manipular desde su menú emergente de la vista de árbol de proyectos.<br />

Para obtener información relacionada, consulte el apartado:<br />

v “Elemento de menú” en la página 28<br />

v “Submenú” en la página 46<br />

v “Menú emergente” en la página 37<br />

Atributos de componente<br />

PartType PartName ParentName UserData<br />

Eventos a los que puede aplicarse<br />

Create Destroy<br />

Capítulo 1. Componentes 27


Elemento de menú<br />

Utilice los elementos de menú para crear menús desplegables o emergentes.<br />

Una opción de menú describe una acción que se inicia cuando el usuario<br />

selecciona esa opción.<br />

Para crear un menú:<br />

1. Suelte un componente submenú en una barra de menús o en un menú<br />

emergente.<br />

2. Suelte opciones de menú en el submenú.<br />

Nota: Las propiedades, los eventos, etcétera de este componente sólo se pueden<br />

manipular desde su menú emergente de la vista de árbol de proyectos.<br />

Para obtener información relacionada, consulte el apartado:<br />

v “Barra de menús” en la página 27<br />

v “Menú emergente” en la página 37<br />

v “Submenú” en la página 46<br />

Atributos de componente<br />

Checked Enabled FileName Label<br />

ParentName PartName PartType UserData<br />

Eventos a los que puede aplicarse<br />

Create Destroy MenuSelect<br />

28 <strong>VisualAge</strong> <strong>RPG</strong> Manual de consulta de componentes


Subarchivo de mensajes<br />

Utilice el componente subarchivo de mensajes para visualizar mensajes<br />

predefinidos o para visualizar texto proporcionado en la lógica del programa: por<br />

ejemplo, información de error o de estado.<br />

Este componente está situado siempre en la parte inferior de la ventana y ocupa la<br />

anchura de la ventana. No se puede cambiar la anchura de este componente; sin<br />

embargo, sí se puede cambiar la altura para que se visualicen más mensajes. En<br />

tiempo de ejecución, los usuarios pueden utilizar las barras de desplazamiento<br />

para ver todos los mensajes.<br />

Atributos de componente<br />

AddMsgID AddMsgText Count DragEnable*<br />

DropEnable* Enabled FirstSel FontBold<br />

FontItalic FontName FontSize FontStrike*<br />

FontUnder* ForeColor ForeMix GetItem<br />

Handle* Height Index MsgSubText<br />

NbrOfSel ParentName PartName PartType<br />

RemoveMsg Selected ShowTips TipText<br />

UserData Visible<br />

* Nota:: Consulte la descripción del atributo si desea saber cuáles son las<br />

restricciones.<br />

Eventos a los que puede aplicarse<br />

Create Destroy Drop Enter<br />

MouseEnter MouseExit MouseMove Popup<br />

Select<br />

Capítulo 1. Componentes 29


Edición de múltiples líneas<br />

Utilice el componente edición de múltiples líneas si desea que el usuario pueda<br />

escribir varias líneas de texto.<br />

El componente edición de múltiples líneas tiene límites definidos. A veces no se<br />

visualiza todo el texto que contiene. El usuario puede desplazar el texto vertical y<br />

horizontalmente para ver la parte que no se visualiza.<br />

Atributos de componente<br />

AddLineEnd AddOffset BackColor BackMix<br />

Bottom CanUndo CharOffset Copy<br />

CsrLine CsrPos Cut Delete<br />

DragEnable* DropEnable* Enabled Focus<br />

FontBold FontItalic FontName FontSize<br />

FontStrike* FontUnder* ForeColor ForeMix<br />

Handle* Height InsertLine InsertText<br />

Left LineNumber LineText NbrOfLines<br />

ParentName PartName PartType Paste<br />

ReadOnly Refresh ShowTips Text<br />

TextEnd TextLength TextSelect TextStart<br />

TextString TipText Top TopLine<br />

Undo UserData Visible Width<br />

WordWrap<br />

* Nota:: Consulte la descripción del atributo para conocer las restricciones.<br />

Eventos a los que puede aplicarse<br />

Change Click Create DblClick<br />

Destroy Drop GotFocus KeyPress<br />

LostFocus MouseDown MouseEnter MouseExit<br />

MouseMove MouseUp Popup VKeyPress<br />

30 <strong>VisualAge</strong> <strong>RPG</strong> Manual de consulta de componentes


Cuaderno<br />

Utilice el componente cuaderno para presentar datos que se pueden agrupar<br />

lógicamente por temas: por ejemplo, información de cliente dividida en categorías<br />

tales como Nombre, Dirección de envío, Pedidos y Créditos.<br />

Un componente cuaderno es una representación gráfica de un cuaderno de espiral.<br />

(En aplicaciones Windows, recibe el nombre de control de separadores). Puede<br />

añadir páginas al cuaderno y agruparlas en secciones separadas por hojas<br />

separadoras con pestañas. Si la página de cuaderno tiene lienzo, puede añadir más<br />

de un componente a la misma. Si no tiene lienzo, sólo se puede añadir un<br />

componente.<br />

El usuario puede pasar las páginas de un cuaderno para ir de una página a otra o<br />

ir directamente a una sección del cuaderno pulsando el botón del ratón sobre la<br />

pestaña.<br />

Puede añadir páginas de cuaderno del modo siguiente:<br />

v Utilizando el cuaderno de propiedades del componente cuaderno<br />

v Señalando y pulsando (o arrastrando y soltando) una página de cuaderno o una<br />

página de cuaderno con lienzo en el componente cuaderno.<br />

Para obtener información relacionada, consulte el apartado:<br />

v “Página de cuaderno” en la página 32<br />

v “Página de cuaderno con lienzo” en la página 33<br />

Atributos de componente<br />

BackColor BackMix Bottom Count<br />

Enabled Focus FontBold FontItalic<br />

FontName FontSize FontStrike* FontUnder*<br />

ForeColor ForeMix Handle* Height<br />

Left PageNumber ParentName PartName<br />

PartType Refresh ShowTabs* Top<br />

UserData Visible Width<br />

*Nota: Consulte la descripción del atributo si desea saber cuáles son las<br />

restricciones.<br />

Eventos a los que puede aplicarse<br />

Create Destroy<br />

Capítulo 1. Componentes 31


Página de cuaderno<br />

Utilice el componente página de cuaderno para añadir páginas a un cuaderno.<br />

Solamente puede añadir un componente a una página de cuaderno; el tamaño del<br />

mismo se adaptará a la página. Si desea añadir más de un componente en una<br />

página, debe colocar un componente lienzo en la página de cuaderno. También<br />

puede utilizar el componente página de cuaderno con lienzo para ahorrarse un<br />

paso.<br />

Nota: Las propiedades, los eventos, etcétera de este componente sólo se pueden<br />

manipular desde su menú emergente de la vista de árbol de proyectos.<br />

El usuario puede pulsar las teclas de flecha izquierda y derecha para ir de una<br />

página a otra.<br />

Para obtener información relacionada, consulte los apartados<br />

v “Cuaderno” en la página 31<br />

v “Página de cuaderno con lienzo” en la página 33<br />

Atributos de componente<br />

Enabled ParentName PartName PartType<br />

Refresh TabImage TabLabel UserData<br />

Visible<br />

Eventos a los que puede aplicarse<br />

Create Destroy PageSelect<br />

32 <strong>VisualAge</strong> <strong>RPG</strong> Manual de consulta de componentes


Página de cuaderno con lienzo<br />

Utilice la página de cuaderno con lienzo para añadir páginas a un componente<br />

cuaderno.<br />

El componente lienzo ocupa el área de cliente de un componente página de<br />

cuaderno. Si se añaden componentes al lienzo se puede crear una interfaz gráfica<br />

de usuario.<br />

Si sólo desea añadir un componente a la página, puede utilizar el componente<br />

página de cuaderno en lugar del componente página de cuaderno con lienzo.<br />

Puesto que dicho componente no tiene lienzo, el tamaño del componente que se<br />

añada se ajustará automáticamente.<br />

Para obtener información relacionada, consulte el apartado:<br />

v “Página de cuaderno” en la página 32<br />

v “Cuaderno” en la página 31<br />

Atributos de componente<br />

Enabled ParentName PartName PartType<br />

TabImage TabLabel UserData Visible<br />

Eventos a los que puede aplicarse<br />

Create Destroy PageSelect<br />

Capítulo 1. Componentes 33


Interfaz ODBC/JDBC<br />

El componente Interfaz ODBC/JDBC proporciona la posibilidad de procesar<br />

archivos de base de datos que den soporte a la API ODBC de Windows o la API<br />

JDBC de JavaSoft. Foxpro, Access y Paradox son ejemplos de estos tipos de<br />

archivos de base de datos.<br />

Para desarrollar aplicaciones que puedan utilizar el componente Interfaz<br />

ODBC/JDBC, debe estar familiarizado con SQL y tener instalado el SDK ODBC de<br />

Windows o el Java 2 Software Development Kit (J2SDK), Standard Edition, de<br />

JavaSoft en la estación de trabajo.<br />

Si no tiene el SDK ODBC, puede bajarlo de Microsoft en el URL siguiente:<br />

http://www.microsoft.com/odbc/download.htm<br />

El soporte de JDBC forma parte del Java 2 Software Development Kit (J2SDK)<br />

Versión 1.2 para Windows. Si no tiene el J2SDK, puede bajarlo de Sun<br />

Microsystems en el URL siguiente:<br />

http://www.javasoft.com/products/<br />

Las aplicaciones que acceden y manipulan datos de una base de datos JDBC<br />

necesitan el controlador de conformidad con JDBC 2.0 adecuado. Puede encontrar<br />

el controlador JDBC y más información en el URL siguiente:<br />

http://java.sun.com/products/jdbc/<br />

Nota: JDBC no se puede utilizar en applets.<br />

Una base de datos ODBC o JDBC se compone de una o varias tablas. Los datos se<br />

almacenan en una tabla como una serie de filas. Cada fila, o registro, contiene un<br />

número de columnas con datos. El programa puede someter sentencias SQL junto<br />

con los atributos del componente Interfaz ODBC/JDBC para manipular filas, o<br />

para traspasar datos entre campos del programa y columnas de tablas.<br />

Para poder procesar una base de datos existente, el programa VA<strong>RPG</strong> debe<br />

conectarse antes a la base de datos e indicar a qué tabla hace referencia. Para<br />

manipular las filas de una tabla, el programa debe crear un conjunto de registros<br />

que identifique los registros que el componente interfaz ODBC/JDBC debe<br />

devolver y mantener. Para acceder a los datos de una fila, debe enlazar cada una<br />

de las columnas utilizadas en la fila de la tabla con un campo del programa. En las<br />

aplicaciones Java no se pueden utilizar los punteros. Una columna está enlazada a<br />

un componente; para enlazar sólo se pueden utilizar los componentes texto estático<br />

y campo de entrada.<br />

Si crea una aplicación Java que utiliza el componente Interfaz ODBC/JDBC, los<br />

usuarios finales que ejecuten la aplicación deben instalar el archivo varpgjdb.jar en<br />

sus estaciones de trabajo y añadir su ubicación en la sentencia classpath. El<br />

programa de utilidad de empaquetamiento no incluye este archivo JAR. El archivo<br />

JAR está ubicado en el subdirectorio adtswin\java.<br />

34 <strong>VisualAge</strong> <strong>RPG</strong> Manual de consulta de componentes


Atributos de componente<br />

AllowChg* BindPart Bottom BufferDec*<br />

BufferLen* BufferPtr* BufferType* CharData<br />

Column ColumnDec ColumnLen ColumnName<br />

Columns ColumnType Connect Connected<br />

ConnectStr CurrentRow DeleteRow ExecuteSQL<br />

Fetch FetchNext FetchPrior GetTables<br />

Handle* Height InsertRow IsData<br />

Left ParentName PartName PartType<br />

Refresh Rows* SQLError SQLMsgBox<br />

SQLQuery Top UnBind UpdateRow<br />

UserData Visible Width<br />

*Nota: Consulte la descripción del atributo si desea saber cuáles son las<br />

restricciones.<br />

Eventos a los que puede aplicarse<br />

Create Destroy<br />

Capítulo 1. Componentes 35


Recuadro de contorno<br />

Utilice un recuadro de contorno alrededor de un grupo de componentes para<br />

indicar que están relacionados.<br />

Un recuadro de contorno no tiene etiqueta. Si en el recuadro debe aparecer una<br />

etiqueta, utilice el componente recuadro de grupo en lugar de éste.<br />

Para obtener información relacionada, consulte el apartado “Recuadro de grupo”<br />

en la página 19.<br />

Atributos de componente<br />

Bottom Handle* Height Left<br />

ParentName PartName PartType Refresh<br />

Top UserData Visible Width<br />

Nota: Consulte la descripción del atributo si desea saber cuáles son las<br />

restricciones.<br />

Eventos a los que puede aplicarse<br />

Create Destroy<br />

36 <strong>VisualAge</strong> <strong>RPG</strong> Manual de consulta de componentes


Menú emergente<br />

Utilice el componente menú emergente para visualizar las opciones que pertenecen<br />

a un componente determinado de la interfaz. Puede añadir opciones de menú y<br />

submenús a los menús emergentes.<br />

Este menú se llama “emergente” porque aparece cuando el usuario pulsa la tecla o<br />

el botón del ratón adecuados.<br />

Nota: Las propiedades, los eventos, etcétera de este componente sólo se pueden<br />

manipular desde su menú emergente de la vista de árbol de proyectos.<br />

Para obtener información relacionada, consulte el apartado:<br />

v “Barra de menús” en la página 27<br />

v “Elemento de menú” en la página 28<br />

v “Submenú” en la página 46<br />

Atributos de componente<br />

Handle* InvName InvPName ParentName<br />

PartName PartType UserData Visible*<br />

X Y<br />

*Nota: Consulte la descripción del atributo si desea saber cuáles son las<br />

restricciones.<br />

Eventos a los que puede aplicarse<br />

No hay eventos para este componente.<br />

Capítulo 1. Componentes 37


Barra de progreso<br />

Utilice el componente barra de progreso para indicar de forma gráfica el progreso<br />

de un proceso como, por ejemplo, copiar archivos, cargar una base de datos, etc.<br />

Por ejemplo, para mostrar el progreso de copiar 100 archivos, puede establecer el<br />

atributo PBRange en 100 y el atributo PBStepSize en 10. El código podría<br />

supervisar el proceso de copiar archivos y el indicador de barra de progreso<br />

avanzaría en pasos por cada diez archivos copiados.<br />

En las aplicaciones Java, si el ancho de la barra de progreso es menor que la altura,<br />

la barra de progreso será vertical.<br />

Atributos de componente<br />

Bottom Handle* Height Left<br />

ParentName PartName PartType PBRange<br />

PBSetPos PBStep PBStepSize Top<br />

UserData Visible Width<br />

*Nota: Consulte la descripción del atributo si desea saber cuáles son las<br />

restricciones.<br />

Eventos a los que puede aplicarse<br />

Create Destroy<br />

38 <strong>VisualAge</strong> <strong>RPG</strong> Manual de consulta de componentes


Pulsador<br />

Utilice pulsadores para proporcionar un acceso rápido a las acciones más<br />

utilizadas.<br />

Cada componente pulsador controla una acción determinada. Cuando el usuario lo<br />

pulsa, la acción se inicia inmediatamente. La etiqueta de texto del pulsador<br />

describe la acción que éste realiza.<br />

Comparese con el componente “Pulsador gráfico” en la página 17.<br />

Atributos de componente<br />

BackColor BackMix Border* Bottom<br />

Enabled Focus FontBold FontItalic<br />

FontName FontSize FontStrike* FontUnder*<br />

ForeColor ForeMix Handle* Height<br />

HelpEnable HighLight Label Left<br />

ParentName PartName PartType Refresh<br />

ShowTips TipText Top UserData<br />

Validate Visible Width<br />

*Nota: Consulte la descripción del atributo si desea saber cuáles son las<br />

restricciones.<br />

Eventos a los que puede aplicarse<br />

Create Destroy GotFocus LostFocus<br />

MouseEnter MouseExit MouseMove Popup<br />

Press<br />

Capítulo 1. Componentes 39


Botón de selección<br />

Utilice botones de selección si desea que el usuario seleccione sólo una opción de<br />

un grupo de opciones relacionadas pero que se excluyen mutuamente. Cuando el<br />

usuario efectúa una selección, la opción seleccionada anteriormente en el grupo se<br />

deselecciona.<br />

Un botón de selección tiene forma circular con los bordes en relieve yasulado<br />

hay texto. Cuando está seleccionado, contiene un punto.<br />

No utilice botones de selección si desea que el usuario pueda seleccionar más de<br />

una opción al mismo tiempo. En este caso, consulte el apartado “Recuadro de<br />

selección” en la página 7.<br />

Atributos de componente<br />

BackColor BackMix Bottom Checked<br />

Enabled Focus FontBold FontItalic<br />

FontName FontSize FontStrike* FontUnder*<br />

ForeColor ForeMix Handle* Height<br />

HighLight* Label Left ParentName<br />

PartName PartType Refresh SelectIdx<br />

ShowTips TipText Top UserData<br />

Visible Width<br />

*Nota: Consulte la descripción del atributo si desea saber cuáles son las<br />

restricciones.<br />

Eventos a los que puede aplicarse<br />

Create Destroy Enter MouseEnter<br />

MouseExit MouseMove Popup Select<br />

40 <strong>VisualAge</strong> <strong>RPG</strong> Manual de consulta de componentes


Graduador<br />

Utilice el componente graduador si desea que el usuario visualice, establezca o<br />

modifique un valor moviendo el eje del graduador.<br />

Los graduadores suelen utilizarse para valores con incrementos habituales, como<br />

los segundos o los grados, o con el fin de mostrar qué porcentaje se ha realizado<br />

de una tarea.<br />

Por omisión, el graduador se sitúa horizontalmente en el centro de un recuadro<br />

con su eje en el lado izquierdo. Se puede visualizar una escala para mostrar las<br />

unidades de medida del graduador.<br />

Utilice el cuaderno de propiedades del componente graduador para:<br />

v Definir el rango de valores que un graduador puede devolver.<br />

v Colocar el graduador en posición vertical u horizontal en una ventana.<br />

v Proporcionar una escala para indicar la unidad de medida del graduador.<br />

Atributos de componente<br />

AddLink* AllowLink* BackColor BackMix<br />

Bottom Enabled Focus FontBold<br />

FontItalic FontName FontSize FontStrike*<br />

FontUnder* ForeColor ForeMix Handle*<br />

Height Left Maximum Minimum<br />

ParentName PartName PartType Refresh<br />

RemoveLink* ShowTips TickLabel TickNumber<br />

TipText Top UserData Value<br />

Visible Width<br />

*Nota: Consulte la descripción del atributo si desea saber cuáles son las<br />

restricciones.<br />

Eventos a los que puede aplicarse<br />

Change Create Destroy GotFocus<br />

Link* LostFocus MouseEnter MouseExit<br />

MouseMove Popup<br />

*Nota: Consulte la descripción del evento si desea saber cuáles son las<br />

restricciones.<br />

Capítulo 1. Componentes 41


Selector cíclico<br />

Utilice el componente selector cíclico para visualizar, de forma secuencial, un<br />

grupo de opciones relacionadas, pero que se excluyen mutuamente, que tienen un<br />

orden consecutivo lógico; por ejemplo, los meses del año. Las opciones se<br />

visualizan como si estuvieran organizadas en forma de anillo. El usuario puede<br />

mover (o “girar”) las opciones pulsando la flecha arriba para ir al valor superior<br />

siguiente o la flecha abajo para ir al valor inferior siguiente. También puede<br />

escribir una opción directamente en el campo de entrada del selector cíclico.<br />

Atributos de componente<br />

AddItemEnd Alignment* BackColor BackMix<br />

Bottom Enabled Focus FontBold<br />

FontItalic FontName FontSize FontStrike*<br />

FontUnder* ForeColor ForeMix Handle*<br />

Height Left Maximum Minimum<br />

ParentName PartName PartType ReadOnly<br />

Refresh RemoveItem ShowTips Text<br />

TipText Top UserData Value<br />

Visible Width<br />

*Nota: Consulte la descripción del atributo si desea saber cuáles son las<br />

restricciones.<br />

Eventos a los que puede aplicarse<br />

Change Create Destroy GotFocus<br />

Link* LostFocus MouseEnter MouseExit<br />

MouseMove Popup SpinDown SpinEnd<br />

SpinUp<br />

42 <strong>VisualAge</strong> <strong>RPG</strong> Manual de consulta de componentes<br />

*Nota: Consulte la descripción del evento si desea saber cuáles son las<br />

restricciones.


Texto estático<br />

Utilice el componente texto estático como etiqueta de otros componentes, por<br />

ejemplo, como mensaje de solicitud de un componente campo de entrada. Los<br />

componentes texto estático no aceptan la entrada de datos por parte del usuario.<br />

En las aplicaciones Java, el texto estático se visualiza únicamente en una sola línea.<br />

Atributos de componente<br />

Alignment BackColor BackMix Bottom<br />

DataType DragEnable* DropEnable* Enabled<br />

FontBold FontItalic FontName FontSize<br />

FontStrike* FontUnder* ForeColor ForeMix<br />

Handle* Height Label Left<br />

ParentName PartName PartType Refresh<br />

ShowTips TipText Top UserData<br />

Visible Width<br />

*Nota: Consulte la descripción del atributo si desea saber cuáles son las<br />

restricciones.<br />

Eventos a los que puede aplicarse<br />

Click Create DblClick Destroy<br />

Drop Link* MouseDown MouseEnter<br />

MouseExit MouseMove MouseUp Popup<br />

*Nota: Consulte la descripción del evento si desea saber cuáles son las<br />

restricciones.<br />

Capítulo 1. Componentes 43


Barra de estado<br />

Utilice el componente barra de estado para proporcionar información adicional<br />

sobre un proceso o una acción de la ventana. Puede crear hasta cinco paneles para<br />

la barra de estado. El componente barra de estado proporciona al componente<br />

ventana mayor flexibilidad que el atributo StatusBar.<br />

Por omisión, la barra de estado se crea en la parte inferior de la ventana. No<br />

obstante, puede utilizar el cuaderno de propiedades para colocarla en la parte<br />

superior. También puede establecer el estilo del borde, el número de paneles y la<br />

alineación del texto.<br />

Atributos de componente<br />

Handle* ParentName PartName PartType<br />

SBIndex SBLabel SBPanes UserData<br />

Visible<br />

*Nota: Consulte la descripción del atributo si desea saber cuáles son las<br />

restricciones.<br />

Eventos a los que puede aplicarse<br />

Create Destroy<br />

44 <strong>VisualAge</strong> <strong>RPG</strong> Manual de consulta de componentes


Subarchivo<br />

Utilice el componente subarchivo para visualizar una lista de registros, cada uno<br />

de los cuales consta de uno o más campos.<br />

La función del componente subarchivo es similar a la de un subarchivo de<br />

AS/400 ®<br />

. El usuario puede desplazar el contenido de la lista en sentido horizontal<br />

o vertical utilizando las barras de desplazamiento del subarchivo.<br />

Para crear un campo de entrada de subarchivo, añada un campo de la ventana<br />

Definir campos de referencia o de la paleta de componentes en el componente<br />

subarchivo. También puede añadir campos utilizando el cuaderno de propiedades.<br />

Nota: El componente subarchivo sólo se puede colocar en una página de cuaderno<br />

con lienzo o en una ventana con lienzo.<br />

Atributos de componente<br />

AddItemEnd AllowEdit AutoSelect BackColor<br />

BackMix Bottom ButtonIdx Buttons<br />

ButtonTip CapsLock CellBGClr CellBGMix<br />

CellFGClr CellFGMix ColBGClr ColBGMix<br />

ColFGClr ColFGMix ColNumber ColWidth<br />

Count DeSelect EnableBtn Enabled<br />

ExtSelect* FirstSel Focus FontArea<br />

FontBold FontItalic FontName FontSize<br />

FontStrike* FontUnder* ForeColor ForeMix<br />

Handle* HdgBGClr HdgBGMix HdgFGClr<br />

HdgFGMix HdgIdx HdgText Height<br />

Hidden HRule Index ItemCount<br />

Left MultSelect NbrOfSel OpenEdit<br />

PageSize ParentName PartName PartType<br />

RemoveItem RowBGClr RowBGMix RowFGClr<br />

RowFGMix Scale Selected SelectItem<br />

SelectList SetTop SflNxtChg ShowTips<br />

SizeToFit StartAt TipText Top<br />

TopRecord UserData Visible VRule<br />

Width<br />

* Nota:: Consulte la descripción del atributo si desea saber cuáles son las<br />

restricciones.<br />

Eventos a los que puede aplicarse<br />

Change ColSelect Create Destroy<br />

Enter FirstRec GotFocus KeyPress<br />

LastRec LostFocus MouseEnter MouseExit<br />

MouseMove NextRec PageDown PageEnd<br />

PageTop PageUp Popup PrevRec<br />

Select VKeyPress<br />

Capítulo 1. Componentes 45


Submenú<br />

Utilice un submenú para:<br />

v Iniciar un menú en cascada nuevo a partir de una opción de menú de un menú<br />

ya existente.<br />

v Iniciar un menú desplegable a partir de una opción de menú de la barra de<br />

menús.<br />

Tras crear un submenú, puede añadirle opciones de menú colocando componentes<br />

opción de menú, pero solamente en la vista de árbol.<br />

Nota: Las propiedades, los eventos, etcétera de este componente sólo se pueden<br />

manipular desde su menú emergente de la vista de árbol de proyectos.<br />

Para obtener información relacionada, consulte el apartado “Elemento de menú” en<br />

la página 28.<br />

Atributos de componente<br />

ParentName PartName PartType UserData<br />

Eventos a los que puede aplicarse<br />

Create Destroy<br />

46 <strong>VisualAge</strong> <strong>RPG</strong> Manual de consulta de componentes


Temporizador<br />

Utilice el componente temporizador si el programa debe realizar determinadas<br />

operaciones en intervalos de tiempo preestablecidos. Por ejemplo, puede utilizarlo<br />

para cerrar una ventana o para finalizar una aplicación después de un periodo<br />

determinado de inactividad.<br />

El componente temporizador cuenta unidades de tiempo e inspecciona el intervalo<br />

de tiempo preestablecido entre dos eventos, desencadenando el segundo evento<br />

cuando ha pasado el tiempo necesario.<br />

Cuando se crea un componente temporizador en el constructor GUI, el<br />

componente aparece en forma de icono en la ventana de diseño. Sin embargo, en el<br />

cuaderno de propiedades de un componente temporizador, puede especificar que<br />

no desea que el icono se visualice mientras el programa se ejecuta.<br />

Nota: No utilice el componente temporizador cuando precise un control exacto del<br />

tiempo. El evento Tick puede no producirse en el intervalo exacto que ha<br />

especificado, a causa de otros programas que estén ejecutándose en el<br />

sistema.<br />

Atributos de componente<br />

AddLink* AllowLink* Bottom Interval<br />

Left Multiplier ParentName PartName<br />

PartType RemoveLink* TimerMode TimerTicks<br />

Top UserData Visible<br />

* Nota:: Consulte la descripción del atributo si desea saber cuáles son las<br />

restricciones.<br />

Eventos a los que puede aplicarse<br />

Create Destroy Link* Tick<br />

* Nota:: Consulte la descripción del evento si desea saber cuáles son las<br />

restricciones.<br />

Capítulo 1. Componentes 47


Barra de desplazamiento vertical<br />

Utilice el componente barra de desplazamiento vertical para poder desplazarse por<br />

un panel de información de arriba abajo. La información puede ser una lista de<br />

archivos, los registros de una base de datos, las columnas de un documento,<br />

etcétera. Puede utilizar el atributo Range para representar el número total de los<br />

objetos por los que se efectuará el desplazamiento y el atributo PageSize para<br />

determinar el número de objetos que pueden visualizarse en una página.<br />

Atributos de componente<br />

Bottom Enabled Focus Handle*<br />

Height Left NextLine NextPage<br />

PageSize ParentName PartName PartType<br />

Position PrevLine PrevPage Range<br />

Top UserData Visible Width<br />

*Nota: Consulte la descripción del atributo si desea saber cuáles son las<br />

restricciones.<br />

Eventos a los que puede aplicarse<br />

Create Destroy Scroll<br />

48 <strong>VisualAge</strong> <strong>RPG</strong> Manual de consulta de componentes


|<br />

Ventana<br />

Las ventanas son el medio primordial que tiene el usuario de interactuar con el<br />

programa. Las aplicaciones deben contener al menos una ventana.<br />

Sólo puede añadir un componente al área de cliente de una ventana, con la<br />

excepción de los componentes que son extensiones del marco de la ventana, como<br />

las barras de menús, los menús emergentes y los subarchivos de mensajes. El<br />

tamaño del componente que añada se ajusta automáticamente al área de cliente.<br />

Si desea que una ventana contenga más de un componente, deberá añadirle un<br />

componente lienzo. Puede utilizar el componente ventana con lienzo para<br />

ahorrarse un paso.<br />

Nota: El componente ventana se encuentra en el apartado Marcos del catálogo de<br />

componentes, no en la paleta de componentes.<br />

Para obtener información relacionada, consulte los apartados:<br />

v “Lienzo” en la página 5<br />

v “Ventana con lienzo” en la página 50<br />

Atributos de componente<br />

Bottom Center Enabled FileName*<br />

Focus* FontBold* FontItalic* FontName*<br />

FontSize* FontStrike* FontUnder* Handle*<br />

Height IconHandle* Label Left<br />

MouseIcon* MouseShape* ParentName PartName<br />

PartType PBRange PBSetPos PBStep<br />

PBStepSize Print ProgresBar Refresh<br />

SBLabel SBPosition SBStyle ShowTips<br />

StatusBar Top UserData Visible<br />

Width WindowMode*<br />

*Nota: Consulte la descripción del atributo si desea saber cuáles son las<br />

restricciones.<br />

Eventos a los que puede aplicarse<br />

Activate Close Create DeActivate<br />

Destroy LClickTray Moved RClickTray<br />

ReSize ShutDown<br />

Capítulo 1. Componentes 49


|<br />

Ventana con lienzo<br />

Las ventanas son el medio primordial que tiene el usuario final para interactuar<br />

con el programa. El lienzo, en un componente ventana con lienzo, le permite<br />

añadir varios componentes a la ventana.<br />

Puede colocar diversos componentes en el lienzo señalándolos y pulsando el botón<br />

del ratón y cambiarlos de posición para crear una interfaz gráfica de usuario.<br />

También puede añadir componentes que sean extensiones del marco de la ventana,<br />

como barras de menús, menús emergentes y subarchivos de mensajes.<br />

Si sólo precisa colocar un componente en el área de cliente de la ventana, no<br />

necesita el componente ventana con lienzo: en lugar de éste, debe usar el<br />

componente ventana (que se encuentra en la sección Marcos del catálogo de<br />

componentes). Sin lienzo, el tamaño del componente añadido se ajusta<br />

automáticamente al área de cliente.<br />

Para obtener información relacionada, consulte los apartados:<br />

v “Lienzo” en la página 5<br />

v “Ventana” en la página 49<br />

Atributos de componente<br />

Bottom Center Enabled FileName*<br />

Focus* FontBold* FontItalic* FontName*<br />

FontSize* FontStrike* FontUnder* Handle*<br />

Height IconHandle* Label Left<br />

MouseIcon* MouseShape* ParentName PartName<br />

PartType PBRange PBSetPos PBStep<br />

PBStepSize Print ProgresBar Refresh<br />

SBLabel SBPosition SBStyle ShowTips<br />

StatusBar Top UserData Visible<br />

Width WindowMode*<br />

*Nota: Consulte la descripción del atributo si desea saber cuáles son las<br />

restricciones.<br />

Eventos a los que puede aplicarse<br />

Activate Close Create DeActivate<br />

Destroy LClickTray Moved RClickTray<br />

ReSize ShutDown<br />

50 <strong>VisualAge</strong> <strong>RPG</strong> Manual de consulta de componentes


Capítulo 2. Atributos de componente<br />

Al crear la interfaz gráfica de usuario (GUI) mediante <strong>VisualAge</strong> <strong>RPG</strong>, puede<br />

establecer o cambiar la mayor parte de los atributos de un componente abriendo el<br />

cuaderno de propiedades de ese componente.<br />

También puede establecer los atributos de la mayoría de los componentes en<br />

tiempo de ejecución en el programa de aplicación <strong>VisualAge</strong> <strong>RPG</strong> mediante las<br />

funciones incorporadas o los códigos de operación. Para ello, codifique la función<br />

incorporada %setatr en el código de operación EVAL de formato libre, o utilice el<br />

código de operación SETATR. Para recuperar los valores de los atributos de<br />

componente, codifique la función incorporada %getatr en el código de operación<br />

EVAL de formato libre o utilice el código de operación GETATR.<br />

Este apartado describe los atributos de componente. Cada una de las descripciones<br />

contiene lo siguiente:<br />

v Una descripción general del atributo.<br />

v El tipo de datos del atributo.<br />

v Una lista de los componentes a los que se aplica el atributo.<br />

v Una tabla que indica si el usuario puede establecer u obtener el atributo<br />

mediante las funciones incorporadas o los códigos de operación. Esta tabla<br />

también indica si se puede establecer un atributo utilizando el cuaderno de<br />

propiedades de un componente.<br />

v Los valores permitidos para el atributo.<br />

v Ejemplos de sintaxis de formato libre y de códigos de operación. Para conocer<br />

los detalles de la sintaxis, consulte la publicación <strong>VisualAge</strong> <strong>RPG</strong> Manual de<br />

consulta del lenguaje.<br />

Nota: Algunos ejemplos utilizados en este capítulo utilizan texto en mayúsculas<br />

únicamente. No obstante, la lógica se puede entrar en mayúsculas o en<br />

minúsculas.<br />

v Cualquier restricción aplicable.<br />

© Copyright <strong>IBM</strong> Corp. 1994, 2000 51


Activate<br />

Establezca este atributo en 1 para activar un objeto ActiveX.<br />

Tipo Numérico<br />

Se aplica a los componentes<br />

ActiveX<br />

Códigos de operación<br />

SETATR<br />

Operativo en tiempo de ejecución<br />

sí<br />

GETATR no<br />

Ejemplo de formato libre<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C EVAL %setatr('win01': 'AX1': 'Activate') = 1<br />

*<br />

Ejemplo de formato fijo<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C 'AX1' SETATR 1 'ACTIVATE'<br />

*<br />

52 <strong>VisualAge</strong> <strong>RPG</strong> Manual de consulta de componentes


Active<br />

*Restricción: Este atributo no está soportado en las aplicaciones Java.<br />

Determina si hay otra instancia del componente lógico en ejecución.<br />

Tipo Numérico<br />

Se aplica a los componentes<br />

*Component<br />

Códigos de operación<br />

SETATR<br />

Operativo en tiempo de ejecución<br />

no<br />

GETATR sí<br />

Valor permitido<br />

El valor de Active puede ser uno de los siguientes:<br />

0 La instancia actual es la única instancia del componente lógico<br />

1 Se está ejecutando otra instancia del componente lógico<br />

Ejemplo de formato libre<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C<br />

*<br />

EVAL Act=%getatr('*Component':'*Component':'Active')<br />

Ejemplo de formato fijo<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C '*COMPONENT' GETATR 'Active' Act<br />

*<br />

Capítulo 2. Atributos de componente 53


AddEvent<br />

Añade el nombre de evento a la lista de filtro de eventos. Puede utilizar el valor<br />

especial *ALL para que el componente ActiveX o bean Java direccione al programa<br />

VA<strong>RPG</strong> todos los eventos disponibles almacenados en la lista. Por omisión, el<br />

componente ActiveX o bean Java no direcciona ningún evento.<br />

Para crear una nueva lista de eventos parcial después de haber emitido<br />

AddEvent(*ALL), primero debe vaciar la lista con el atributo RmvEvent.<br />

Tipo Serie<br />

Se aplica a los componentes<br />

ActiveX Bean Java<br />

Códigos de operación<br />

SETATR<br />

Operativo en tiempo de ejecución<br />

sí<br />

GETATR no<br />

Ejemplo de formato libre<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C EVAL %setatr('win01':'AX1':'AddEvent')='EVT2'<br />

*<br />

Ejemplo de formato fijo<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C 'AX1' SETATR 'EVT2' 'ADDEVENT'<br />

*<br />

54 <strong>VisualAge</strong> <strong>RPG</strong> Manual de consulta de componentes


AddItemEnd<br />

Añade un nuevo elemento al final de la lista.<br />

En un componente subarchivo, este atributo se aplica a un campo de entrada de<br />

subarchivo que tenga valores definidos como tipo de validación. Utilice este<br />

atributo para añadir valores a la lista de validación del campo de entrada del<br />

subarchivo. Primero ha de establecer el atributo ColNumber a fin de identificar la<br />

columna con la que se debe trabajar.<br />

Tipo Serie<br />

Se aplica a los componentes<br />

Recuadro de<br />

combinación<br />

Códigos de operación<br />

Recuadro de lista Selector cíclico Subarchivo<br />

SETATR<br />

Operativo en tiempo de ejecución<br />

sí<br />

GETATR no<br />

Valor permitido<br />

El elemento que se añadirá a la lista o el valor de validación del campo de<br />

entrada del subarchivo<br />

Ejemplo de formato libre<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C EVAL %setatr('win01':'LB1':'AddItemEnd')=newitem<br />

*<br />

Ejemplo de formato fijo<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C 'LB1' SETATR 'NEWITEM' 'ADDITEMEND'<br />

*<br />

Capítulo 2. Atributos de componente 55


AddLineEnd<br />

Añade una nueva línea después de la última línea de un campo de edición de<br />

múltiples líneas.<br />

Tipo Serie<br />

Se aplica a<br />

Edición de múltiples<br />

líneas<br />

Códigos de operación<br />

SETATR<br />

Operativo en tiempo de ejecución<br />

sí<br />

GETATR no<br />

Valor permitido<br />

La nueva línea de texto<br />

Ejemplo de formato libre<br />

Obtener el valor de texto de un campo de entrada y añadirlo al final de un<br />

campo de edición de múltiples líneas<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C EVAL %setatr('win01':'MLE1':'AddLineEnd')=newtext<br />

*<br />

Ejemplo de formato fijo<br />

Añadir una línea al final de un campo de edición de múltiples líneas.<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C 'MLE1' SETATR 'NEWTEXT' 'ADDLINEEND'<br />

*<br />

56 <strong>VisualAge</strong> <strong>RPG</strong> Manual de consulta de componentes


AddLink<br />

*Restricción: Este atributo no está soportado en las aplicaciones Java.<br />

Enlaza un componente destino con su componente origen. Si el atributo<br />

AllowLink también está establecido, el componente destino genera un evento Link<br />

cuando este componente se modifica.<br />

Para obtener una lista de tipos de componentes que se pueden enlazar, consulte la<br />

Tabla 1.<br />

Tabla 1. Componentes origen y destino permitidos<br />

Cuando Componente<br />

origen<br />

Cambio de modalidad o<br />

posición<br />

Se selecciona Recuadro de<br />

selección<br />

Valor modificado Campo de<br />

entrada<br />

Respuesta del componente de destino<br />

enlazado<br />

Medios El Panel de medios responde al cambio de<br />

modalidad del componente Medios.<br />

El componente Temporizador se habilita o se<br />

inhabilita.<br />

Medios: se establece el nombre de archivo.<br />

Campo de entrada: se actualiza el valor de<br />

texto.<br />

Imagen: se establece el nombre de archivo.<br />

Graduador: se actualiza el valor numérico.<br />

Selector cíclico: se actualiza el valor numérico.<br />

Cambios nombre archivo Imagen<br />

Texto estático: se actualiza el valor de texto.<br />

Texto estático: se actualiza el valor de texto.<br />

Se selecciona Recuadro de<br />

lista<br />

Medios: se establece el nombre de archivo.<br />

Campo de entrada: se actualiza el valor de<br />

texto.<br />

Cambio de control Panel de<br />

medios<br />

Imagen: se establece el nombre de archivo.<br />

Texto estático: se actualiza el valor de texto.<br />

El componente Medios responde al cambio de<br />

modalidad del componente Panel de medios.<br />

Cambio de nivel Graduador Campo de entrada: se actualiza el valor de<br />

texto.<br />

Graduador: se actualiza el valor numérico.<br />

Tick Temporizador<br />

Texto estático: se actualiza el valor de texto.<br />

Texto estático: se actualiza el valor de texto.<br />

El contador del temporizador se pone a cero.<br />

Capítulo 2. Atributos de componente 57


Tipo Serie<br />

Se aplica a los componentes<br />

Recuadro de selección Campo de entrada Imagen Recuadro de lista<br />

Medios Panel de medios Graduador Temporizador<br />

Códigos de operación<br />

SETATR*<br />

Operativo en tiempo de ejecución<br />

sí<br />

GETATR no<br />

* Nota: Puede definirse utilizando el cuaderno de propiedades del<br />

diseñador GUI. Para ello, utilice la página Enlace y rellene los<br />

campos Nombre de componente de destino y Nombre de<br />

componente padre de destino.<br />

Valor permitido<br />

Nombre del componente con el que se va a enlazar.<br />

El nombre del componente debe tener el formato:<br />

'ventana|componente'<br />

donde ventana es la ventana donde está ubicado el componente y<br />

componente es el nombre del componente.<br />

Ejemplo de formato libre<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C EVAL %setatr('win01':'CB1':'AddLink')='WIN1|TIMER1'<br />

*<br />

Ejemplo de formato fijo<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C 'CB1' SETATR 'WIN1|TIMER1' 'ADDLINK'<br />

*<br />

58 <strong>VisualAge</strong> <strong>RPG</strong> Manual de consulta de componentes


AddMsgID<br />

Añade un mensaje al componente subarchivo de mensajes.<br />

Los mensajes se añaden después de los mensajes existentes en el componente<br />

subarchivo de mensajes.<br />

Tipo Numérico<br />

Se aplica a los componentes<br />

Subarchivo de<br />

mensajes<br />

Códigos de operación<br />

SETATR<br />

Operativo en tiempo de ejecución<br />

sí<br />

GETATR no<br />

Valor permitido<br />

El identificador de mensaje (msgid), que es un número de cuatro dígitos de<br />

longitud como máximo.<br />

Ejemplo de formato libre<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C EVAL %setatr('win01': 'MSG1': 'AddMsgID') = 1234<br />

*<br />

Ejemplo de formato fijo<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C 'MSG1' SETATR 1234 'ADDMSGID'<br />

*<br />

Capítulo 2. Atributos de componente 59


AddMsgText<br />

Añade un mensaje al componente subarchivo de mensajes. El mensaje se añade en<br />

forma de serie.<br />

Los mensajes se añaden después de los mensajes existentes en el componente<br />

subarchivo de mensajes.<br />

Tipo Serie<br />

Se aplica a los componentes<br />

Subarchivo de<br />

mensajes<br />

Códigos de operación<br />

SETATR<br />

Operativo en tiempo de ejecución<br />

sí<br />

GETATR no<br />

Valor permitido<br />

Serie de texto del mensaje<br />

Ejemplo de formato libre<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C EVAL %setatr('win01':'MSG1':'AddMsgText')='Help!'<br />

*<br />

Ejemplo de formato fijo<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C 'MSG1' SETATR 'Help!' 'ADDMSGTEXT'<br />

*<br />

60 <strong>VisualAge</strong> <strong>RPG</strong> Manual de consulta de componentes


AddOffset<br />

Inserta el texto especificado en el campo de edición de múltiples líneas en el<br />

desplazamiento de caracteres especificado mediante el atributo CharOffset.<br />

Tipo Serie<br />

Se aplica a los componentes<br />

Edición de múltiples<br />

líneas<br />

Códigos de operación<br />

SETATR<br />

Operativo en tiempo de ejecución<br />

sí<br />

GETATR no<br />

Valor permitido<br />

Serie a insertar en el campo de edición de múltiples líneas<br />

Ejemplo de formato libre<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C EVAL %setatr('win01': 'MLE1': 'CharOffset') = 10<br />

C EVAL %setatr('win01': 'MLE1': 'AddOffset') = 'XXX'<br />

*<br />

Ejemplo de formato fijo<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C 'MLE1' SETATR 10 'CHAROFFSET'<br />

C<br />

*<br />

'MLE1' SETATR 'XXX' 'ADDOFFSET'<br />

Capítulo 2. Atributos de componente 61


AddRcd<br />

Añade un registro nuevo a un contenedor<br />

Tipo Serie<br />

Se aplica a los componentes<br />

Contenedor<br />

Códigos de operación<br />

SETATR<br />

Operativo en tiempo de ejecución<br />

sí<br />

GETATR no<br />

Valor permitido<br />

El valor que se transfiere a este atributo debe ser una serie que conste de<br />

los parámetros siguientes, cada uno separado por un espacio:<br />

Estructura de registro<br />

ID Valor numérico utilizado para identificar el registro. Declare este<br />

valor de modo que pueda contener la cantidad máxima de<br />

registros que espera que contenga el contenedor.<br />

Nota: Puede utilizar el atributo GetNewID para que <strong>VisualAge</strong><br />

<strong>RPG</strong> genere un identificador exclusivo para usted.<br />

Text Texto que aparecerá junto al icono del registro cuando el<br />

contenedor esté en la vista de iconos o en la vista de árbol.<br />

FileName<br />

Nombre de archivo del icono.<br />

ParentID<br />

Identificador del registro padre de este registro. Si el registro no<br />

tiene padre, este parámetro tendrá el valor 0.<br />

field_data<br />

Este valor es opcional. Si se especifica, los datos se situarán en los<br />

campos correspondientes del registro. Es necesario proporcionar<br />

datos para todos los campos del registro. El número de campos de<br />

cada registro del componente contenedor en el diseñador GUI ya<br />

está definido; por tanto, sólo debe especificar ese número.<br />

Nota: Si los datos de un campo no están disponibles, utilice el<br />

carácter de subrayado (_)como reserva de posición para el<br />

campo. Si un campo contiene blancos intercalados, deben<br />

sustituirse por el carácter de subrayado antes de añadir el<br />

registro. Los blancos intercalados aparecerán en los datos del<br />

campo del registro añadido.<br />

Los datos de los campos se pueden actualizar después de añadir el<br />

registro utilizando el atributo SetRcdFld.<br />

Ejemplo de formato libre<br />

62 <strong>VisualAge</strong> <strong>RPG</strong> Manual de consulta de componentes


*...1....+....2....+....3....+....4....+....5....+....6....+....7....+.<br />

DName+++++++++++ETDsFrom+++To/L+++IDc.Keywords+++++++++++++++++++++++++<br />

D NewRecord<br />

D RecordID 1 6<br />

D FileName 8 64<br />

D Parent 1 6 INZ(0)<br />

D Text 8 20 INZ('Next record')<br />

*<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C Eval RecordID=%getatr('win01': 'CN1': 'GetNewID')<br />

C Eval FileName = 'D:\V<strong>RPG</strong>\NEW.ICO'<br />

C Eval %setatr('win01': 'CN1': 'AddRcd') = NewRecord<br />

*<br />

Ejemplo de formato fijo<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C 'CN1' SETATR NewRecord 'ADDRCD'<br />

*<br />

Capítulo 2. Atributos de componente 63


|<br />

|<br />

|<br />

|<br />

|<br />

|<br />

|<br />

|<br />

|<br />

|<br />

|<br />

|<br />

|<br />

|<br />

|<br />

|<br />

|<br />

|<br />

|<br />

|<br />

|<br />

|<br />

|<br />

|<br />

|<br />

|<br />

|<br />

|<br />

|<br />

|<br />

|<br />

|<br />

|<br />

|<br />

|<br />

|<br />

|<br />

|<br />

|<br />

|<br />

|<br />

|<br />

|<br />

|<br />

|<br />

AddSrcEvt<br />

Añade un nuevo evento de origen a la lista actual de eventos que supervisa el<br />

componente de referencia a componente lógico. Este atributo permite que un<br />

componente de referencia a componente lógico supervise varios eventos. Para<br />

eliminar eventos de origen de la lista, utilice el atributo RmvSrcEvt.<br />

Para identificar el evento de origen que se añade, especifique juntos los nombres<br />

del componente lógico, la ventana, el componente y el evento. El formato de la<br />

serie es:<br />

'NOMBRECOMPLÓGICO | NOMBREVENTANA | NOMBRECOMP | NOMBREVENTO'<br />

Dado que el compilador no realiza ninguna comprobación de validez, deberá<br />

identificar correctamente cada evento de origen.<br />

Tipo Serie<br />

Se aplica a los componentes<br />

Referencia a<br />

componente lógico<br />

Códigos de operación<br />

SETATR<br />

Operativo en tiempo de ejecución<br />

sí<br />

GETATR no<br />

Ejemplo de formato libre<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+.<br />

DName+++++++++++ETDsFrom+++To/L+++IDc.Keywords+++++++++++++++++++++++++<br />

D Event<br />

*<br />

S 100<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C EVAL Event='compb|win02|ef02|change'<br />

C EVAL %setatr('win01': 'CRP1':<br />

C<br />

*<br />

'AddSrcEvt')=Event<br />

Ejemplo de formato fijo<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+.<br />

DName+++++++++++ETDsFrom+++To/L+++IDc.Keywords+++++++++++++++++++++++++<br />

D Event<br />

*<br />

S 100<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C EVAL Event='compb|win02|ef02|change'<br />

C<br />

*<br />

'CRP1' SETATR Event 'ADDSRCEVT'<br />

64 <strong>VisualAge</strong> <strong>RPG</strong> Manual de consulta de componentes


Alarm<br />

Hace que el altavoz emita un pitido.<br />

Tipo Numérico<br />

Se aplica a los componentes<br />

*Componente lógico<br />

Códigos de operación<br />

SETATR<br />

Operativo en tiempo de ejecución<br />

sí<br />

GETATR no<br />

Valor permitido<br />

El valor de este atributo debe establecerse en 1.<br />

Ejemplo de formato libre<br />

Hacer que se oiga un pitido:<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C EVAL %setatr('*Component':'*Component':'Alarm')=1<br />

*<br />

Ejemplo de formato fijo<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C '*COMPONENT' SETATR 1 'ALARM'<br />

*<br />

Capítulo 2. Atributos de componente 65


Alignment<br />

Este atributo determina cómo se alinean el texto y las etiquetas en los<br />

componentes.<br />

Tipo Numérico<br />

Se aplica a los componentes<br />

Campo de entrada* Selector cíclico* Texto estático<br />

* Restricciones:: Una vez establecido este atributo, no puede cambiarse en<br />

tiempo de ejecución.<br />

Códigos de operación<br />

SETATR*<br />

Operativo en tiempo de ejecución<br />

sí<br />

GETATR sí<br />

*Nota: Puede definirse utilizando el cuaderno de propiedades en el<br />

diseñador GUI.<br />

Valor permitido<br />

El valor de Alignment puede ser uno de los siguientes:<br />

1 Texto alineado a la izquierda<br />

2 Texto alineado a la derecha<br />

3 Texto centrado<br />

66 <strong>VisualAge</strong> <strong>RPG</strong> Manual de consulta de componentes


Ejemplo de formato libre<br />

Si el texto de un componente está justificado a la izquierda, hacer que esté<br />

alineado a la derecha:<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C<br />

*<br />

EVAL align = %getatr('win01': 'ST1': 'Alignment')<br />

C align IFEQ 1<br />

C<br />

*<br />

EVAL %setatr('win01': 'ST1': 'Alignment') = 2<br />

C ELSE<br />

C EVAL %setatr('win01': 'ST1': 'Alignment') = 1<br />

C<br />

*<br />

ENDIF<br />

Ejemplo de formato fijo<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C 'ST1' GETATR 'ALIGNMENT' ALIGN 1 0<br />

C ALIGN IFEQ 1<br />

C<br />

*<br />

'ST1' SETATR 2 'ALIGNMENT'<br />

C ELSE<br />

C<br />

*<br />

*<br />

'ST1' SETATR 1 'ALIGNMENT'<br />

C<br />

*<br />

ENDIF<br />

Capítulo 2. Atributos de componente 67


AllowChg<br />

* Restricción: Este atributo no está soportado en las aplicaciones Java.<br />

Identifica los datos de columna como un tipo de datos VA<strong>RPG</strong> no soportado. En<br />

esta columna de datos no se realizan actualizaciones.<br />

Al ejecutar una acción FetchNext, FetchPrior, InsertRow o UpdateRow, los datos<br />

se traspasan del almacenamiento intermedio del campo de programa a la columna<br />

de tabla correspondiente, o viceversa. Si la columna tiene un tipo de datos VA<strong>RPG</strong><br />

no soportado, debe establecer el atributo AllowChg en 0. El valor por omisión es<br />

1. (Consulte el apartado “BufferType” en la página 93 para obtener una lista de los<br />

tipos de datos soportados).<br />

Establezca el atributo Column en la columna deseada antes de establecer el valor<br />

AllowChg.<br />

Tipo Numérico<br />

Se aplica a los componentes<br />

Interfaz ODBC/JDBC<br />

Códigos de operación<br />

SETATR<br />

Operativo en tiempo de ejecución<br />

sí<br />

GETATR sí<br />

Valor permitido<br />

El valor de AllowChg puede ser uno de los siguientes:<br />

0 Tipo de datos VA<strong>RPG</strong> no soportado.<br />

1 Tipo de datos VA<strong>RPG</strong> soportado. Por omisión, esta opción está<br />

seleccionada.<br />

Ejemplo de formato libre<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C<br />

*<br />

EVAL %setatr('win01': 'ODBC1': 'AllowChg') = 0<br />

Ejemplo de formato fijo<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C 'ODBC1' SETATR 0 'AllowChg'<br />

*<br />

68 <strong>VisualAge</strong> <strong>RPG</strong> Manual de consulta de componentes


AllowEdit<br />

Determina si se pueden editar los campos de entrada de subarchivo. El estado de<br />

edición se puede especificar para el subarchivo, el registro, la columna o la casilla.<br />

Tipo Numérico<br />

Se aplica a los componentes<br />

Subarchivo<br />

Códigos de operación<br />

SETATR<br />

Operativo en tiempo de ejecución<br />

sí<br />

GETATR no<br />

Valor permitido<br />

AllowEdit puede tener uno de estos valores:<br />

1 Impide editar el subarchivo completo.<br />

2 Impide editar el registro que especifica el atributo Index.<br />

3 Impide editar la columna que especifica el atributo ColNumber.<br />

4 Impide editar la casilla que especifican los atributos ColNumber e<br />

Index.<br />

11 Permite editar el subarchivo completo.<br />

12 Permite editar el registro que especifica el atributo Index.<br />

13 Permite editar la columna que especifica el atributo ColNumber.<br />

14 Permite editar la casilla que especifican los atributos ColNumber e<br />

Index.<br />

Ejemplo de formato libre<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C EVAL %setatr('win01': 'SFL1': 'Index') = 5<br />

C<br />

*<br />

EVAL %setatr('win01': 'SFL1': 'AllowEdit') = 12<br />

Ejemplo de formato fijo<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C 'SFL1' SETATR 5 'INDEX'<br />

C<br />

*<br />

'SFL1' SETATR 12 'ALLOWEDIT'<br />

Capítulo 2. Atributos de componente 69


AllowLink<br />

* Restricción: Este atributo no está soportado en las aplicaciones Java.<br />

Este atributo determina si el componente destino especificado por el atributo<br />

AddLink o DDEAddLink generará un evento Link cuando el componente origen<br />

se modifique.<br />

Tipo Numérico<br />

Se aplica a los componentes<br />

Recuadro de selección Campo de entrada Imagen Recuadro de lista<br />

Medios Panel de medios Graduador Temporizador<br />

Códigos de operación<br />

SETATR*<br />

Operativo en tiempo de ejecución<br />

sí<br />

GETATR sí<br />

* Nota: Puede definirse utilizando el cuaderno de propiedades del<br />

diseñador GUI. Para ello, utilice la página Enlace y seleccione<br />

Habilitar notificación al destino.<br />

Valor permitido<br />

El valor de AllowLink puede ser uno de los siguientes:<br />

0 El evento Link no se señala<br />

1 El evento Link se señala<br />

70 <strong>VisualAge</strong> <strong>RPG</strong> Manual de consulta de componentes


Ejemplo de formato libre<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C EVAL allow = %getatr('win01': 'EF1': 'AllowLink')<br />

*<br />

C allow IFEQ 1<br />

C EVAL %setatr('win01': 'EF1': 'AllowLink') = 0<br />

*<br />

C ELSE<br />

C EVAL %setatr('win01': 'EF1': 'AllowLink') = 1<br />

C ENDIF<br />

*<br />

Ejemplo de formato fijo<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C<br />

*<br />

'EF01' GETATR 'ALLOWLINK' ALLOW 1 0<br />

C ALLOW IFEQ 1<br />

C<br />

*<br />

'EF01' SETATR 0 'ALLOWLINK'<br />

C ELSE<br />

C<br />

*<br />

'EF01' SETATR 1 'ALLOWLINK'<br />

C<br />

*<br />

ENDIF<br />

Capítulo 2. Atributos de componente 71


AppData<br />

Contiene datos globales a los que cualquier componente puede hacer referencia.<br />

Este atributo proporciona una alternativa a la transferencia de parámetros que, en<br />

caso contrario, deben declararse.<br />

Tipo Serie<br />

Se aplica a los componentes<br />

*Componente lógico<br />

Códigos de operación<br />

SETATR<br />

Operativo en tiempo de ejecución<br />

sí<br />

GETATR sí<br />

Ejemplo de formato libre<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C EVAL %setatr('*Component': '*Component': 'AppData')<br />

C = NData<br />

C EVAL TmpFld=%getatr('*Component':'*Component':<br />

C<br />

*<br />

'AppData')<br />

Ejemplo de formato fijo<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C '*COMPONENT' SETATR NData 'APPDATA'<br />

C<br />

*<br />

'*COMPONENT' GETATR 'APPDATA' TmpFld<br />

72 <strong>VisualAge</strong> <strong>RPG</strong> Manual de consulta de componentes


AppName<br />

* Restricción: Este atributo no está soportado en las aplicaciones Java.<br />

Es el nombre de la aplicación del servidor a la que se conectará el componente<br />

Cliente DDE en una conversación DDE. La aplicación del servidor determina el<br />

nombre del servidor. Consulte la documentación de la aplicación para averiguar el<br />

valor de AppName que se utilizará para dicha aplicación.<br />

El establecimiento de AppName no inicia la conversación DDE. Para obtener<br />

información acerca del inicio de una conversación DDE, consulte el apartado<br />

“DDEMode” en la página 167.<br />

Tipo Serie<br />

Se aplica a los componentes<br />

Cliente DDE<br />

Códigos de operación<br />

SETATR*<br />

Operativo en tiempo de ejecución<br />

sí<br />

GETATR sí<br />

*Nota: Puede definirse utilizando el cuaderno de propiedades en el<br />

diseñador GUI.<br />

Valor permitido<br />

Nombre de la aplicación del servidor<br />

Si el programa del servidor es una aplicación <strong>VisualAge</strong> <strong>RPG</strong>, este atributo<br />

será el nombre de la aplicación, incluida la extensión. Por ejemplo, si la<br />

aplicación <strong>VisualAge</strong> <strong>RPG</strong> se llama server, el atributo AppName debe<br />

definirlo como se indica a continuación:<br />

EVAL %setatr('WIN':'DDE1':'AppName') = 'SERVER.EXE'<br />

Ejemplo de formato libre<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C EVAL %setatr('win01': 'DDE1': 'AppName') = 'APP01'<br />

*<br />

Ejemplo de formato fijo<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C 'DDE1' SETATR 'APP01' 'APPNAME'<br />

*<br />

Capítulo 2. Atributos de componente 73


Arrange<br />

Ordena los elementos de un contenedor en la vista de iconos de manera que los<br />

iconos quedan alineados en filas.<br />

Tipo Numérico<br />

Se aplica a los componentes<br />

Contenedor<br />

Códigos de operación<br />

SETATR<br />

Operativo en tiempo de ejecución<br />

sí<br />

GETATR no<br />

Valor permitido<br />

El valor de este atributo debe ser 1.<br />

Ejemplo de formato libre<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C Eval %setatr('window': 'CN1': 'Arrange') = 1<br />

*<br />

Ejemplo de formato fijo<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C 'CN1' SETATR 1 'ARRANGE'<br />

*<br />

74 <strong>VisualAge</strong> <strong>RPG</strong> Manual de consulta de componentes


AttrValue<br />

Valor del atributo al que hace referencia el componente referencia a componente.<br />

En primer lugar, debe establecer el componente referencia a componente a fin de<br />

identificar el componente, la ventana y el nombre del componente para el atributo.<br />

Tipo Serie<br />

Se aplica a los componentes<br />

Referencia a<br />

componente lógico<br />

Códigos de operación<br />

SETATR<br />

Operativo en tiempo de ejecución<br />

sí<br />

GETATR sí<br />

Ejemplo de formato libre<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C EVAL %setatr('win01': 'COMP1': 'AttrValue')='Test'<br />

*<br />

Ejemplo de formato fijo<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C 'COMP1' SETATR 'Test' 'ATTRVALUE'<br />

*<br />

Capítulo 2. Atributos de componente 75


AudioMode<br />

Establece la modalidad de operación para el componente.<br />

Tipo Numérico<br />

Se aplica a los componentes<br />

Medios<br />

Códigos de operación<br />

SETATR<br />

Operativo en tiempo de ejecución<br />

sí<br />

GETATR no<br />

Valor permitido<br />

El valor de AudioMode puede ser uno de los siguientes:<br />

1 Pausa<br />

2 Reproducir<br />

3 Grabar<br />

4 Parar<br />

Ejemplo de formato libre<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C<br />

*<br />

EVAL %setatr('win01': 'AUDIO01': 'AudioMode') = 1<br />

Ejemplo de formato fijo<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C 'AUDIO01' SETATR 1 'AUDIOMODE'<br />

*<br />

76 <strong>VisualAge</strong> <strong>RPG</strong> Manual de consulta de componentes


AutoInc<br />

Este atributo hace que se incremente el valor actual de DataPoint cada vez que se<br />

establece el atributo DataValue.<br />

Tipo Numérico<br />

Se aplica a los componentes<br />

Gráfica<br />

Códigos de operación<br />

SETATR<br />

Operativo en tiempo de ejecución<br />

sí<br />

GETATR sí<br />

Valor permitido<br />

El atributo AutoInc devuelve uno de los valores siguientes:<br />

0 DataPoint no se incrementa automáticamente<br />

1 DataPoint se incrementa automáticamente.<br />

Ejemplo de formato libre<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C<br />

*<br />

EVAL auto = %getatr('win01': 'GP1': 'AutoInc')<br />

C auto IFEQ 1<br />

C<br />

*<br />

EVAL %setatr('win01': 'GP1': 'AutoInc') = 0<br />

C ELSE<br />

C EVAL %setatr('win01': 'GP1': 'AutoInc') = 1<br />

C<br />

*<br />

ENDIF<br />

Ejemplo de formato fijo<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C<br />

*<br />

'GP01' GETATR 'AUTOINC' Auto 1 0<br />

C AUTO IFEQ 1<br />

C<br />

*<br />

'GP01' SETATR 0 'AUTOINC'<br />

C ELSE<br />

C<br />

*<br />

'GP01' SETATR 1 'AUTOINC'<br />

C<br />

*<br />

ENDIF<br />

Capítulo 2. Atributos de componente 77


|<br />

|<br />

|<br />

|<br />

|<br />

AutoScroll<br />

* Restricción: Este atributo no está soportado en las aplicaciones Java.<br />

Permite que un usuario pueda desplazar datos en un campo de entrada cuando se<br />

puede escribir más texto o cuando hay más información disponible de la que se<br />

puede visualizar en el campo de entrada.<br />

Tipo Numérico<br />

Se aplica a los componentes<br />

Recuadro de<br />

combinación<br />

Códigos de operación<br />

Campo de entrada<br />

SETATR<br />

Operativo en tiempo de ejecución<br />

sí<br />

GETATR sí<br />

Valor permitido<br />

El valor de AutoScroll puede ser uno de los siguientes:<br />

0 Desplazamiento automático no permitido<br />

1 Desplazamiento automático permitido<br />

78 <strong>VisualAge</strong> <strong>RPG</strong> Manual de consulta de componentes


Ejemplo de formato libre<br />

Conmutar el atributo AutoScroll de un campo de entrada.<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C EVAL rc = %getatr('win01': 'EF1': 'AutoScroll')<br />

*<br />

C rc IFEQ 1<br />

C EVAL %setatr('win01': 'EF1': 'AutoScroll') = 0<br />

*<br />

C ELSE<br />

C EVAL %setatr('win01': 'EF1': 'AutoScroll') = 1<br />

C ENDIF<br />

*<br />

Ejemplo de formato fijo<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C<br />

*<br />

'EF1' GETATR 'AUTOSCROLL' rc 1 0<br />

C rc IFEQ 1<br />

C<br />

*<br />

'EF1' SETATR 0 'AUTOSCROLL'<br />

C ELSE<br />

C 'EF1' SETATR 1 'AUTOSCROLL'<br />

C<br />

*<br />

ENDIF<br />

Capítulo 2. Atributos de componente 79


AutoSelect<br />

Indica si se resalta el texto que figura en el campo de entrada cuando éste recibe el<br />

foco. En el caso de un componente subarchivo, establezca primero el atributo<br />

ColNumber para identificar la columna con la que se debe trabajar.<br />

Tipo Numérico<br />

Se aplica a los componentes<br />

Campo de entrada Subarchivo<br />

Códigos de operación<br />

SETATR*<br />

Operativo en tiempo de ejecución<br />

sí<br />

GETATR sí<br />

*Nota: Puede definirse utilizando el cuaderno de propiedades en el<br />

diseñador GUI.<br />

Valor permitido<br />

El valor de AutoSelect puede ser uno de los siguientes:<br />

0 No se resalta el valor del campo de entrada<br />

1 Sí se resalta el valor del campo de entrada<br />

Ejemplo de formato libre<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C<br />

*<br />

EVAL highlight=%getatr('win01':'EF1':'AutoSelect')<br />

C highlight IFEQ 0<br />

C EVAL %setatr('win01':'EF1':'AutoSelect')=1<br />

C ELSE<br />

C EVAL %setatr('win01':'EF1':'AutoSelect')=0<br />

C<br />

*<br />

ENDIF<br />

Ejemplo de formato fijo<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C<br />

*<br />

'EF1' GETATR 'AUTOSELECT' highlight 1 0<br />

C<br />

*<br />

'EF1' SETATR 1 'AUTOSELECT'<br />

80 <strong>VisualAge</strong> <strong>RPG</strong> Manual de consulta de componentes


BackColor<br />

Valor numérico que determina el color de fondo de un componente.<br />

Si el atributo de color de fondo se había establecido mediante el atributo BackMix,<br />

se devuelve el índice de colores que representa de manera más aproximada el<br />

valor de mezcla de colores de fondo.<br />

Tipo Numérico<br />

Se aplica a los componentes<br />

Lienzo Recuadro de selección Recuadro de<br />

combinación<br />

Contenedor<br />

Campo de entrada Imagen Recuadro de lista Panel de medios<br />

Edición de múltiples<br />

líneas<br />

Cuaderno Pulsador Botón de selección<br />

Graduador Selector cíclico Texto estático Subarchivo<br />

Códigos de operación<br />

SETATR*<br />

Operativo en tiempo de ejecución<br />

sí<br />

GETATR sí<br />

*Nota: Puede definirse utilizando el cuaderno de propiedades en el<br />

diseñador GUI.<br />

Valor permitido<br />

El color del fondo debe ser uno de los siguientes:<br />

-1 Por omisión (no se utiliza en las aplicaciones Java)<br />

0 Blanco<br />

1 Negro<br />

2 Azul (Blue)<br />

3 Rojo (Red)<br />

4 Rosa<br />

5 Verde<br />

6 Cian<br />

7 Amarillo (Yellow)<br />

8 Gris oscuro<br />

9 Azul oscuro<br />

10 Rojo oscuro<br />

Capítulo 2. Atributos de componente 81


11 Rosa oscuro<br />

12 Verde oscuro<br />

13 Cian oscuro<br />

14 Marrón<br />

15 Gris claro<br />

Nota: No se puede utilizar el color por omisión (-1) para SETATR.<br />

Ejemplo de formato libre<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C<br />

*<br />

EVAL color = %getatr('win01': 'EF1': 'BackColor')<br />

C color IFEQ *Red<br />

C EVAL %setatr('win01': 'EF1': 'BackColor') = *Blue<br />

C<br />

*<br />

ENDIF<br />

Ejemplo de formato fijo<br />

*...1....+....2....+....3....+....4....+... .5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C 'EF1' SETATR *BLUE 'BACKCOLOR'<br />

*<br />

82 <strong>VisualAge</strong> <strong>RPG</strong> Manual de consulta de componentes


BackMix<br />

Consulta o establece la mezcla del color de fondo.<br />

Tipo Serie<br />

Se aplica a los componentes<br />

Lienzo Recuadro de selección Recuadro de<br />

combinación<br />

Contenedor<br />

Campo de entrada Imagen Recuadro de lista Panel de medios<br />

Edición de múltiples<br />

líneas<br />

Cuaderno Pulsador Botón de selección<br />

Graduador Selector cíclico Texto estático Subarchivo<br />

Códigos de operación<br />

SETATR*<br />

Operativo en tiempo de ejecución<br />

sí<br />

GETATR sí<br />

*Nota: Puede definirse utilizando el cuaderno de propiedades en el<br />

diseñador GUI.<br />

Valor permitido<br />

La mezcla del color de fondo debe tener el formato siguiente:<br />

'rojo:verde:azul'<br />

donde rojo, verde y azul son valores situados entre 0 y 255 que representan<br />

la intensidad del color respectivo.<br />

Ejemplo de formato libre<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C<br />

*<br />

EVAL color=%getatr('win01':'EF1':'BackMix')<br />

C color IFNE '10:23:200'<br />

C EVAL %setatr('win01':'EF1':'BackMix')='10:23:200'<br />

C<br />

*<br />

ENDIF<br />

Ejemplo de formato fijo<br />

*...1....+....2....+....3....+....4....+... .5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C 'EF1' SETATR '10:23:200' 'BACKMIX'<br />

*<br />

Capítulo 2. Atributos de componente 83


BarLabel<br />

Indica cuál es la etiqueta del elemento de datos actual (según lo especificado en<br />

DataPoint y DataGroup).<br />

Tipo Serie<br />

Se aplica a los componentes<br />

Gráfica<br />

Códigos de operación<br />

SETATR<br />

Operativo en tiempo de ejecución<br />

sí<br />

GETATR sí<br />

Ejemplo de formato libre<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C EVAL %setatr('win01': 'GPH1': 'BarLabel') = 'BAR01'<br />

*<br />

Ejemplo de formato fijo<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C 'GPH1' SETATR 'BAR01' 'BARLABEL'<br />

*<br />

84 <strong>VisualAge</strong> <strong>RPG</strong> Manual de consulta de componentes


Bass<br />

Nota: Este atributo sólo se utiliza en Windows NT/95/98.<br />

Establece el nivel de bajos del componente medios.<br />

Tipo Numérico<br />

Se aplica a los componentes<br />

Medios<br />

Códigos de operación<br />

SETATR<br />

Operativo en tiempo de ejecución<br />

sí<br />

GETATR sí<br />

Valor permitido<br />

El valor de Bass puede estar entre 0 y 100.<br />

Ejemplo de formato libre<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C EVAL %setatr('win01': 'AUD1': 'Bass') = 37<br />

*<br />

*<br />

Ejemplo de formato fijo<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C 'AUD1' SETATR 37 'BASS'<br />

*<br />

Capítulo 2. Atributos de componente 85


|<br />

|<br />

|<br />

|<br />

|<br />

BindPart<br />

Restricción: Este atributo sólo se utiliza en las aplicaciones Java.<br />

Identifica el componente que se va a enlazar o que está enlazado a la columna de<br />

datos. En el entorno Java, sólo se permite enlazar en los componentes campo de<br />

entrada y texto estático.<br />

Tipo Serie<br />

Se aplica a los componentes<br />

Interfaz ODBC/JDBC<br />

Códigos de operación<br />

SETATR<br />

Operativo en tiempo de ejecución<br />

sí<br />

GETATR no<br />

Valor permitido<br />

El formato del nombre de padre/componente que se va a enlazar es el<br />

siguiente:<br />

'FRAMEWINDOW|PARTNAME'<br />

donde FrameWindow es el nombre de la ventana propietaria de PartName.<br />

Ejemplo de formato libre<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C EVAL %setatr('win01': 'WIN1': 'BindPart')<br />

C = 'WIN1|ENT2'<br />

*<br />

Ejemplo de formato fijo<br />

*...1....+....2....+....3....+....4....+... .5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C 'WIN1' SETATR 'WIN1|ENT2' 'BINDPART'<br />

*<br />

86 <strong>VisualAge</strong> <strong>RPG</strong> Manual de consulta de componentes


|<br />

|<br />

|<br />

|<br />

|<br />

BlankChar<br />

Especifica el carácter que representará el espacio en blanco en una serie.<br />

El componente contenedor utiliza un blanco como delimitador de elementos en un<br />

registro. Si el elemento que añade contiene blancos como, por ejemplo, el texto del<br />

icono, establezca el atributo BlankChar en un carácter que no sea blanco.<br />

El carácter de blanco por omisión es el subrayado (_).<br />

Tipo Serie<br />

Se aplica a los componentes<br />

Contenedor<br />

Códigos de operación<br />

SETATR<br />

Operativo en tiempo de ejecución<br />

sí<br />

GETATR sí<br />

Ejemplo de formato libre<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C EVAL %setatr('win01':'CTR1':'BlankChar')='&'<br />

*<br />

Ejemplo de formato fijo<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C 'CTR1' SETATR '&' 'BLANKCHAR'<br />

*<br />

Capítulo 2. Atributos de componente 87


Border<br />

Determina si el componente tiene un borde.<br />

Tipo Numérico<br />

Se aplica a los componentes<br />

Calendario Imagen Pulsador*<br />

* Restricción: Este atributo sólo se puede establecer y obtener para el<br />

componente pulsador en las aplicaciones Java.<br />

Códigos de operación<br />

SETATR*<br />

Operativo en tiempo de ejecución<br />

sí<br />

GETATR sí<br />

*Nota: Puede definirse utilizando el cuaderno de propiedades en el<br />

diseñador GUI.<br />

Valor permitido<br />

El valor de Border puede ser uno de los siguientes:<br />

0 El componente no tiene borde<br />

1 El componente tiene borde<br />

Ejemplo de formato libre<br />

Conmutar el atributo Border de un componente:<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C EVAL brdval = %getatr('win01': 'IMG1': 'Border')<br />

C brdval IFEQ 0<br />

C EVAL %setatr('win01': 'IMG1': 'Border') = 1<br />

*<br />

C ELSE<br />

C EVAL %setatr('win01': 'IMG1': 'Border') = 0<br />

C ENDIF<br />

*<br />

Ejemplo de formato fijo<br />

Conmutar el valor de borde actual de un pulsador:<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C 'IMG1' GETATR 'BORDER' brdval 1 0<br />

C brdval IFEQ 1<br />

C<br />

*<br />

'IMG1' SETATR 0 'BORDER'<br />

C ELSE<br />

C 'IMG1' SETATR 1 'BORDER'<br />

C ENDIF<br />

88 <strong>VisualAge</strong> <strong>RPG</strong> Manual de consulta de componentes


Bottom<br />

Especifica en pixels la coordenada inferior de pantalla del componente u objeto.<br />

Nota: El punto de origen es el ángulo superior izquierdo y empieza por cero.<br />

Tipo Numérico<br />

Se aplica a los componentes<br />

ActiveX Calendario Lienzo* Recuadro de selección<br />

Recuadro de<br />

Referencia a<br />

Contenedor Cliente DDE<br />

combinación<br />

componente lógico<br />

Campo de entrada Gráfica Pulsador gráfico Recuadro de grupo<br />

Barra de<br />

desplazamiento<br />

horizontal<br />

Imagen Bean Java Recuadro de lista<br />

Medios Panel de medios Edición de múltiples<br />

líneas<br />

Cuaderno<br />

Interfaz ODBC/JDBC Recuadro de contorno Barra de progreso Pulsador<br />

Botón de selección Graduador Selector cíclico Texto estático<br />

Subarchivo Temporizador Barra de<br />

desplazamiento<br />

vertical<br />

Ventana<br />

* Restricción: Este atributo sólo se puede obtener en tiempo de ejecución<br />

para el componente lienzo.<br />

Códigos de operación<br />

SETATR<br />

Operativo en tiempo de ejecución<br />

sí<br />

GETATR sí<br />

Valor permitido<br />

Número de pixels<br />

Ejemplo de formato libre<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C EVAL bot = %getatr('win01': 'Image1': 'Bottom')<br />

C bot SUB 100 newbot<br />

C<br />

*<br />

EVAL %setatr('win01': 'Image1': 'Bottom') = newbot<br />

Ejemplo de formato fijo<br />

Mover una imagen 200 pixels dentro de su ventana.<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C 'IMAGE1' GETATR 'BOTTOM' OldBot 4 0<br />

C OldBot ADD 200 NewBot 4 0<br />

C<br />

*<br />

'IMAGE' SETATR NewBot 'BOTTOM'<br />

Capítulo 2. Atributos de componente 89


|<br />

|<br />

|<br />

|<br />

|<br />

BufferDec<br />

* Restricción: Este atributo no está soportado en las aplicaciones Java.<br />

Especifica el número de posiciones decimales del almacenamiento intermedio de la<br />

columna.<br />

Tipo Numérico<br />

Se aplica a los componentes<br />

Interfaz ODBC/JDBC<br />

Códigos de operación<br />

SETATR<br />

Operativo en tiempo de ejecución<br />

sí<br />

GETATR sí<br />

Ejemplo de formato libre<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C EVAL<br />

%setatr('win01':'ODBC1':'BufferDec')=4<br />

*<br />

Ejemplo de formato fijo<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C 'ODBC1' SETATR 4 'BufferDec'<br />

*<br />

90 <strong>VisualAge</strong> <strong>RPG</strong> Manual de consulta de componentes


BufferLen<br />

* Restricción: Este atributo no está soportado en las aplicaciones Java.<br />

Especifica la longitud del campo de programa disponible para los datos de<br />

columna. El componente Interfaz ODBC/JDBC necesita conocer la longitud de los<br />

datos establecida y entrar en el campo de programa al traspasar los datos hacia<br />

una columna y desde una columna.<br />

Establezca el atributo Column en la columna deseada antes de utilizar este<br />

atributo.<br />

Tipo Numérico<br />

Se aplica a los componentes<br />

Interfaz ODBC/JDBC<br />

Códigos de operación<br />

SETATR<br />

Operativo en tiempo de ejecución<br />

sí<br />

GETATR sí<br />

Ejemplo de formato libre<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C EVAL %setatr('win01':'ODBC1':'BufferLen')=20<br />

*<br />

Ejemplo de formato fijo<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C 'ODBC1' SETATR 20 'BufferLen'<br />

*<br />

Capítulo 2. Atributos de componente 91


BufferPtr<br />

* Restricción: Este atributo no está soportado en las aplicaciones Java.<br />

Especifica el valor de puntero para el campo de programa. El componente Interfaz<br />

ODBC/JDBC utiliza este valor para traspasar datos de la base de datos al campo<br />

de programa.<br />

Establezca el atributo Column en la columna deseada antes de utilizar este<br />

atributo.<br />

Para obtener la dirección de un campo de programa, utilice la función %ADDR<br />

incorporada según se muestra a continuación:<br />

D FieldPtr S * INZ(%Addr(Campo))<br />

Nota: Este atributo no se utiliza en el entorno Java.<br />

Tipo Numérico<br />

Se aplica a los componentes<br />

Interfaz ODBC/JDBC<br />

Códigos de operación<br />

SETATR<br />

Operativo en tiempo de ejecución<br />

sí<br />

GETATR sí<br />

Nota: En el caso de la operación SETATR, el atributo BufferPtr puede<br />

codificarse solamente con sintaxis de formato fijo.<br />

Ejemplo de formato fijo<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C 'ODBC1' SETATR FieldPtr 'BufferPtr'<br />

*<br />

92 <strong>VisualAge</strong> <strong>RPG</strong> Manual de consulta de componentes


BufferType<br />

* Restricción: Este atributo no está soportado en las aplicaciones Java.<br />

Indica el tipo de datos del campo del programa <strong>VisualAge</strong> <strong>RPG</strong> al que hace<br />

referencia el atributo BufferPtr. El componente Interfaz ODBC/JDBC utiliza el<br />

atributo BufferType para realizar la conversión de datos correcta al traspasar datos<br />

entre el campo del programa y la columna de la tabla. Es importante establecer<br />

correctamente este atributo, ya que no se comprueba si los tipos de campo son<br />

adecuados.<br />

Establezca el atributo Column antes de utilizar el atributo BufferType. Si el campo<br />

de programa está asociado a un componente de la interfaz, puede utilizar el<br />

atributo DataType para obtener el tipo de almacenamiento intermedio.<br />

Si una columna contiene un tipo de datos que el componente Interfaz ODBC/JDBC<br />

no soporta, establezca el atributo AllowChg en 0 para esa columna. El componente<br />

Interfaz ODBC/JDBC no traspasará datos entre ningún campo de programa y la<br />

columna. No se efectuará ningún cambio en los datos.<br />

Utilice el siguiente diagrama para establecer el tipo de datos VA<strong>RPG</strong> en el<br />

correspondiente tipo de datos SQL soportado. Especifique los atributos BufferLen<br />

y BufferDec sólo como se listan en el diagrama.<br />

Tipo de datos SQL Tipo de datos<br />

VA<strong>RPG</strong><br />

Especifica la longitud<br />

del campo de<br />

programa (utilice<br />

BufferLen)<br />

Especifica las posiciones<br />

decimales de la columna<br />

del almacenamiento<br />

intermedio (utilice<br />

BufferDec)<br />

Carácter CHAR X<br />

Decimal Decimal con zona X<br />

Entero Decimal con zona X<br />

Entero pequeño Decimal con zona X<br />

Doble 8F<br />

Doble Decimal con zona X X<br />

Coma flotante 4F<br />

Coma flotante Decimal con zona X X<br />

Real 4F<br />

Real Decimal con zona X X<br />

Para los tipos de datos carácter, decimal, entero o entero pequeño, especifique sólo<br />

el atributo BufferLen.<br />

Tenga en cuenta que los tipos de datos doble, flotante y real pueden definirse en<br />

VA<strong>RPG</strong>, como flotante (F) o decimal con zona. Si los define como decimal con<br />

zona, el tiempo de ejecución de VA<strong>RPG</strong> sólo utilizará el número de posiciones<br />

decimales que especifica el atributo BufferDec cuando traslade datos de la<br />

columna. Esto puede provocar una pérdida de precisión si el origen de datos tiene<br />

más posiciones decimales que las especificadas por el atributo BufferDec. Si define<br />

estos campos como flotantes (F), NO especifique los atributos BufferLen ni<br />

BufferDec.<br />

Tipo Numérico<br />

Capítulo 2. Atributos de componente 93


Se aplica a los componentes<br />

Interfaz ODBC/JDBC<br />

Códigos de operación<br />

SETATR<br />

Operativo en tiempo de ejecución<br />

sí<br />

GETATR sí<br />

Valor permitido<br />

El valor de BufferType puede ser uno de los siguientes:<br />

0 Datos numéricos.<br />

Los tipos de datos SQL que se pueden utilizar son:<br />

v Decimal<br />

v Entero<br />

v Entero pequeño<br />

v Coma flotante<br />

v Real<br />

v Doble<br />

1 Datos de tipo carácter.<br />

Los tipos de datos SQL que se pueden utilizar son:<br />

v Carácter<br />

v Carácter de longitud variable<br />

v Fecha<br />

v Hora<br />

v Indicación de la hora<br />

Ejemplo de formato libre<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C<br />

*<br />

EVAL %setatr('win01':'ODBC1':'BufferType')=1<br />

Ejemplo de formato fijo<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C 'ODBC1' SETATR 1 'BUFFERTYPE'<br />

*<br />

94 <strong>VisualAge</strong> <strong>RPG</strong> Manual de consulta de componentes


Button<br />

Averigua si se ha pulsado el botón ACEPTAR o CANCELAR o bien si se ha<br />

cerrado el diálogo de archivo.<br />

Tipo Numérico<br />

Se aplica a los componentes<br />

*Component<br />

Códigos de operación<br />

SETATR<br />

Operativo en tiempo de ejecución<br />

no<br />

GETATR sí<br />

Valor permitido<br />

El estado de Button puede ser uno de los siguientes:<br />

0 No se ha cerrado el diálogo de archivo<br />

1 Se ha pulsado el botón ACEPTAR<br />

2 Se ha pulsado el botón CANCELAR<br />

Ejemplo de formato libre<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C<br />

*<br />

EVAL But=%getatr('*Component':'*Component':'Button')<br />

Ejemplo de formato fijo<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C '*COMPONENT' GETATR 'Button' But<br />

*<br />

Capítulo 2. Atributos de componente 95


ButtonIdx<br />

Establece y obtiene el índice para los botones de navegación. El índice debe<br />

establecerse antes de activar el atributo EnableBtn.<br />

Tipo Numérico<br />

Se aplica a los componentes<br />

Subarchivo<br />

Códigos de operación<br />

SETATR<br />

Operativo en tiempo de ejecución<br />

sí<br />

GETATR sí<br />

Valor permitido<br />

El índice puede establecerse con los valores siguientes:<br />

1 Botón de inicio de página<br />

2 Botón de retroceso de página<br />

3 Botón de registro anterior<br />

4 Botón de registro siguiente<br />

5 Botón de avance de página<br />

6 Botón de fin de página<br />

Ejemplo de formato libre<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C<br />

*<br />

EVAL %setatr('win01': 'SFI1': 'ButtonIdx') = 4<br />

Ejemplo de formato fijo<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C 'SFI1' SETATR 4 'BUTTONIDX'<br />

*<br />

96 <strong>VisualAge</strong> <strong>RPG</strong> Manual de consulta de componentes


Buttons<br />

Amplía o contrae la barra de navegación.<br />

Tipo Numérico<br />

Se aplica a los componentes<br />

Subarchivo<br />

Códigos de operación<br />

SETATR<br />

Operativo en tiempo de ejecución<br />

sí<br />

GETATR sí<br />

Valor permitido<br />

El valor de Buttons puede ser uno de los siguientes:<br />

0 No mostrar los botones<br />

1 Mostrar los botones<br />

Ejemplo de formato libre<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C EVAL btnval = %getatr('win01': 'SF1': 'Buttons')<br />

C btnval IFEQ 0<br />

C<br />

*<br />

EVAL %setatr('win01': 'SF1': 'Buttons') = 1<br />

C ELSE<br />

C EVAL %setatr('win01': 'SF1': 'Buttons') = 0<br />

C<br />

*<br />

ENDIF<br />

Ejemplo de formato fijo<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C 'SF1' GETATR 'BUTTONS' btnval 1 0<br />

C btnval IFEQ 1<br />

C<br />

*<br />

'SF1' SETATR 0 'BUTTONS'<br />

C ELSE<br />

C 'SF1' SETATR 1 'BUTTONS'<br />

C ENDIF<br />

Capítulo 2. Atributos de componente 97


ButtonTip<br />

Define el texto de la ayuda flotante de los botones de navegación correspondientes<br />

establecidos con ButtonIdx.<br />

Este texto puede ser una serie o un mensaje (*MSGnnnn).<br />

Tipo Serie<br />

Se aplica a los componentes<br />

Subarchivo<br />

Códigos de operación<br />

SETATR<br />

Operativo en tiempo de ejecución<br />

sí<br />

GETATR no<br />

Valor permitido<br />

Texto de ayuda flotante<br />

Ejemplo de formato libre<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C EVAL %setatr('win01': 'SFI1': 'ButtonTip') = string<br />

*<br />

Ejemplo de formato fijo<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C 'SFI1' SETATR STRING 'BUTTONTIP'<br />

*<br />

98 <strong>VisualAge</strong> <strong>RPG</strong> Manual de consulta de componentes


CanUndo<br />

Indica si se puede deshacer la última acción. Si se devuelve 1, la última acción se<br />

puede deshacer. El valor 0 indica que no se puede.<br />

Tipo Numérico<br />

Se aplica a los componentes<br />

Edición de múltiples<br />

líneas<br />

Códigos de operación<br />

SETATR<br />

Operativo en tiempo de ejecución<br />

no<br />

GETATR sí<br />

Ejemplo de formato libre<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C EVAL Chng=%getatr('win01':'ML1':'CanUndo')<br />

*<br />

Ejemplo de formato fijo<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C 'ML1' GETATR 'CANUNDO' CHNG<br />

*<br />

Capítulo 2. Atributos de componente 99


CapsLock<br />

Determina si el texto que se escribe en un campo de entrada o en un subarchivo de<br />

un campo de entrada se convertirá en mayúsculas.<br />

Nota: Para obtener o establecer CapsLock en un campo de entrada de subarchivo,<br />

debe establecerse el atributo ColNumber en un número de columna<br />

correcto.<br />

Tipo Numérico<br />

Se aplica a los componentes<br />

Campo de entrada Subarchivo<br />

Códigos de operación<br />

SETATR*<br />

Operativo en tiempo de ejecución<br />

sí<br />

GETATR sí<br />

*Nota: Puede definirse utilizando el cuaderno de propiedades en el<br />

diseñador GUI.<br />

Valor permitido<br />

El valor de CapsLock puede ser uno de los siguientes:<br />

0 El texto no se convierte en mayúsculas<br />

1 El texto se convierte en mayúsculas<br />

Ejemplo de formato libre<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C EVAL %setatr('win01': 'EF1': 'CapsLock') = 1<br />

*<br />

Ejemplo de formato fijo<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C 'EF1' SETATR 1 'CAPSLOCK'<br />

*<br />

100 <strong>VisualAge</strong> <strong>RPG</strong> Manual de consulta de componentes


Case<br />

* Restricción: Este atributo no está soportado en las aplicaciones Java.<br />

Determina si la comparación de búsqueda es sensible a las mayúsculas y<br />

minúsculas.<br />

Tipo Numérico<br />

Se aplica a los componentes<br />

Recuadro de<br />

combinación<br />

Códigos de operación<br />

Recuadro de lista<br />

SETATR<br />

Operativo en tiempo de ejecución<br />

sí<br />

GETATR sí<br />

Valor permitido<br />

El valor de Case puede ser uno de los siguientes:<br />

0 La comparación no es sensible a las mayúsculas y minúsculas.<br />

1 La comparación sí es sensible a las mayúsculas y minúsculas.<br />

Ejemplo de formato libre<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C<br />

*<br />

EVAL %setatr('win01': 'CB1': 'Case') = 1<br />

Ejemplo de formato fijo<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C 'CB1' SETATR 1 'CASE'<br />

*<br />

Capítulo 2. Atributos de componente 101


CellBGClr<br />

Valor numérico que determina el color de fondo de una casilla de un subarchivo.<br />

Debe utilizar los atributos Index y ColNumber para identificar la casilla en la que<br />

se establecerá el color.<br />

Si el color de fondo se ha establecido mediante el atributo CellBGMix, el color de<br />

fondo devuelto es el que se parece más al color de mezcla.<br />

Tipo Numérico<br />

Se aplica a los componentes<br />

Subarchivo<br />

Códigos de operación<br />

SETATR<br />

Operativo en tiempo de ejecución<br />

sí<br />

GETATR sí<br />

Valor permitido<br />

El color debe ser uno de los siguientes:<br />

-1 Por omisión (no se utiliza en las aplicaciones Java)<br />

0 Blanco<br />

1 Negro<br />

2 Azul (Blue)<br />

3 Rojo (Red)<br />

4 Rosa<br />

5 Verde<br />

6 Cian<br />

7 Amarillo (Yellow)<br />

8 Gris oscuro<br />

9 Azul oscuro<br />

10 Rojo oscuro<br />

102 <strong>VisualAge</strong> <strong>RPG</strong> Manual de consulta de componentes


11 Rosa oscuro<br />

12 Verde oscuro<br />

13 Cian oscuro<br />

14 Marrón<br />

15 Gris claro<br />

Ejemplo de formato libre<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C<br />

*<br />

EVAL CBcolor = %getatr('win01': 'SFL1': 'CellBGClr')<br />

C EVAL %setatr('win01': 'SFL1': 'ColNumber') = 1<br />

C EVAL %setatr('win01': 'SFL1': 'Index') = 4<br />

C<br />

*<br />

EVAL %setatr('win01': 'SFL1': 'CellBGClr') = 5<br />

Ejemplo de formato fijo<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C<br />

*<br />

'SFL1' GETATR 'CELLBGCLR' 'CBcolor' 2 0<br />

C 'SFL1' SETATR 1 'COLNUMBER'<br />

C 'SFL1' SETATR 4 'INDEX'<br />

C<br />

*<br />

'SFL1' SETATR 5 'CELLBGCLR'<br />

Capítulo 2. Atributos de componente 103


CellBGMix<br />

Consulta o establece la mezcla de colores de fondo de una casilla de un<br />

subarchivo. Debe utilizar los atributos Index y ColNumber para identificar la<br />

casilla en la que se consultará o se establecerá la mezcla de colores.<br />

Tipo Serie<br />

Se aplica a los componentes<br />

Subarchivo<br />

Códigos de operación<br />

SETATR<br />

Operativo en tiempo de ejecución<br />

sí<br />

GETATR sí<br />

Valor permitido<br />

La mezcla del color de fondo debe tener el formato siguiente:<br />

'rojo:verde:azul'<br />

donde rojo, verde y azul son valores situados entre 0 y 255 que representan<br />

la intensidad del color respectivo.<br />

Ejemplo de formato libre<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C<br />

*<br />

EVAL CBclrMx = %getatr('win01': 'SFL1': 'CellBGMix')<br />

C CBclrMx IFNE '10:23:200'<br />

C EVAL %setatr('win01': 'SFL1': 'CellBGMix') = '10:23:200'<br />

C<br />

*<br />

ENDIF<br />

Ejemplo de formato fijo<br />

*...1....+....2....+....3....+....4....+... .5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C 'SFL1' SETATR '10:23:200' 'CELLBGMIX'<br />

*<br />

104 <strong>VisualAge</strong> <strong>RPG</strong> Manual de consulta de componentes


CellFGClr<br />

Valor numérico que determina el color de primer plano de una casilla de un<br />

subarchivo. Debe utilizar los atributos Index y ColNumber para identificar la<br />

casilla en la que se establecerá el color.<br />

Si el color de primer plano se ha establecido mediante el atributo CellFGMix, el<br />

color de primer plano devuelto es el que se parece más al color de mezcla.<br />

Tipo Numérico<br />

Se aplica a los componentes<br />

Subarchivo<br />

Códigos de operación<br />

SETATR<br />

Operativo en tiempo de ejecución<br />

sí<br />

GETATR sí<br />

Valor permitido<br />

El color debe ser uno de los siguientes:<br />

-1 Por omisión (no se utiliza en las aplicaciones Java)<br />

0 Blanco<br />

1 Negro<br />

2 Azul (Blue)<br />

3 Rojo (Red)<br />

4 Rosa<br />

5 Verde<br />

6 Cian<br />

7 Amarillo (Yellow)<br />

8 Gris oscuro<br />

9 Azul oscuro<br />

10 Rojo oscuro<br />

Capítulo 2. Atributos de componente 105


11 Rosa oscuro<br />

12 Verde oscuro<br />

13 Cian oscuro<br />

14 Marrón<br />

15 Gris claro<br />

Ejemplo de formato libre<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C<br />

*<br />

EVAL CFcolor = %getatr('win01': 'SFL1': 'CellFGClr')<br />

C EVAL %setatr('win01': 'SFL1': 'ColNumber') = 1<br />

C EVAL %setatr('win01': 'SFL1': 'Index') = 4<br />

C<br />

*<br />

EVAL %setatr('win01': 'SFL1': 'CellFGClr') = 5<br />

Ejemplo de formato fijo<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C<br />

*<br />

'SFL1' GETATR 'CELLFGCLR' 'CFcolor' 2 0<br />

C 'SFL1' SETATR 1 'COLNUMBER'<br />

C 'SFL1' SETATR 4 'INDEX'<br />

C<br />

*<br />

'SFL1' SETATR 5 'CELLFGCLR'<br />

106 <strong>VisualAge</strong> <strong>RPG</strong> Manual de consulta de componentes


CellFGMix<br />

Consulta o establece la mezcla de colores de primer plano de una casilla de un<br />

subarchivo. Debe utilizar los atributos Index y ColNumber para identificar la<br />

casilla en la que se consultará o se establecerá la mezcla de colores.<br />

Tipo Serie<br />

Se aplica a los componentes<br />

Subarchivo<br />

Códigos de operación<br />

SETATR<br />

Operativo en tiempo de ejecución<br />

sí<br />

GETATR sí<br />

Valor permitido<br />

La mezcla de colores de primer plano debe tener el formato siguiente:<br />

'rojo:verde:azul'<br />

donde rojo, verde y azul son valores situados entre 0 y 255 que representan<br />

la intensidad del color respectivo.<br />

Ejemplo de formato libre<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C<br />

*<br />

EVAL CFclrMx=%getatr('win01':'SFL1':'CellFGMix')<br />

C CFclrMx IFNE '10:23:200'<br />

C EVAL %setatr('win01':'SFL1':'CellFGMix')='10:23:200'<br />

C<br />

*<br />

ENDIF<br />

Ejemplo de formato fijo<br />

*...1....+....2....+....3....+....4....+... .5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C 'SFL1' SETATR '10:23:200' 'CELLFGMIX'<br />

*<br />

Capítulo 2. Atributos de componente 107


Center<br />

Cuando se establece en 1, la ventana se centrará al visualizarse por primera vez. El<br />

usuario podrá mover después esta ventana como desee.<br />

Si después de centrar la ventana, la coordenada xoydelángulo superior<br />

izquierdo es negativa, ambas coordenadas se establecerán en (0,0) para garantizar<br />

que la barra de título de la ventana sea siempre visible.<br />

Tipo Numérico<br />

Se aplica a los componentes<br />

Ventana Ventana con lienzo<br />

Códigos de operación<br />

SETATR*<br />

Operativo en tiempo de ejecución<br />

sí<br />

GETATR no<br />

*Nota: Puede definirse utilizando el cuaderno de propiedades en el<br />

diseñador GUI.<br />

Valor permitido<br />

El atributo sólo puede establecerse en 1<br />

Ejemplo de formato libre<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C EVAL %setatr('FW1': 'FW1': 'Center') = 1<br />

*<br />

Ejemplo de formato fijo<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C 'FW1' SETATR 1 'CENTER'<br />

*<br />

108 <strong>VisualAge</strong> <strong>RPG</strong> Manual de consulta de componentes


CharData<br />

Devuelve el texto de tipo carácter para una columna específica de un conjunto de<br />

registros devuelto. Establezca el atributo Column antes de utilizar este atributo.<br />

Tipo Serie<br />

Se aplica a los componentes<br />

Interfaz ODBC/JDBC<br />

Códigos de operación<br />

SETATR<br />

Operativo en tiempo de ejecución<br />

no<br />

GETATR sí<br />

Ejemplo de formato libre<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C EVAL ColData=%getatr('win01':'ODBC1':'CharData')<br />

*<br />

Ejemplo de formato fijo<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C 'ODBC1' GETATR 'CHARDATA' COLDATA<br />

*<br />

Capítulo 2. Atributos de componente 109


CharOffset<br />

Determina el valor de desplazamiento de carácter en un campo de edición de<br />

múltiples líneas donde se insertará el texto cuando se establezca el atributo<br />

AddOffset.<br />

Tipo Numérico<br />

Se aplica a los componentes<br />

Edición de múltiples<br />

líneas<br />

Códigos de operación<br />

SETATR<br />

Operativo en tiempo de ejecución<br />

sí<br />

GETATR sí<br />

Valor permitido<br />

Desplazamiento de carácter<br />

Ejemplo de formato libre<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C<br />

*<br />

EVAL %setatr('win01': 'MLE1': 'CharOffset') = 10<br />

C<br />

*<br />

EVAL value = %getatr('win01': 'MLE1': 'CharOffset')<br />

Ejemplo de formato fijo<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C 'MLE1' SETATR 10 'CHAROFFSET'<br />

C<br />

*<br />

'MLE1' SETATR 'text' 'ADDOFFSET'<br />

110 <strong>VisualAge</strong> <strong>RPG</strong> Manual de consulta de componentes


Checked<br />

Determina si el componente está marcado.<br />

Tipo Numérico<br />

Se aplica a los componentes<br />

Recuadro de selección Opción de menú Botón de selección<br />

Códigos de operación<br />

SETATR*<br />

Operativo en tiempo de ejecución<br />

sí<br />

GETATR sí<br />

* Nota: Puede definirse utilizando el cuaderno de propiedades del<br />

diseñador GUI. Para ello, en el caso de los componentes recuadro<br />

de selección y botón de selección, es necesario elegir el estilo<br />

Selected (seleccionado). En el caso de los componentes opción de<br />

menú, hay que seleccionar el estilo Checked (marcada).<br />

Valor permitido<br />

El estado Checked del componente puede ser uno de los siguientes:<br />

0 El componente no está marcado<br />

1 El componente está marcado<br />

Ejemplo de formato libre<br />

Establecer el estado de marca de un recuadro de selección con el mismo<br />

estado que un botón de selección:<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C EVAL ischecked = %getatr('win01': 'RB1': 'Checked')<br />

*<br />

C EVAL %setatr('win01': 'CB1': 'Checked') = ischecked<br />

*<br />

Ejemplo de formato fijo<br />

Conmutar el estado de marca de un recuadro de selección:<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C<br />

*<br />

'CB1' GETATR 'CHECKED' ischecked<br />

C ischecked IFEQ 1<br />

C<br />

*<br />

'CB1' SETATR 0 'CHECKED'<br />

C ELSE<br />

C 'CB1' SETATR 1 'CHECKED'<br />

C<br />

*<br />

ENDIF<br />

Capítulo 2. Atributos de componente 111


ChildCount<br />

Devuelve el número de hijos directos de un padre especificado por RecordId.<br />

Tipo Numérico<br />

Se aplica a los componentes<br />

Contenedor<br />

Códigos de operación<br />

SETATR<br />

Operativo en tiempo de ejecución<br />

no<br />

GETATR sí<br />

Ejemplo de formato libre<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C EVAL children = %getatr('win01': 'CTR1': 'ChildCount')<br />

*<br />

Ejemplo de formato fijo<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C 'CTR1' GETATR 'CHILDCOUNT' children<br />

*<br />

112 <strong>VisualAge</strong> <strong>RPG</strong> Manual de consulta de componentes


ChildList<br />

Devuelve una lista, delimitada por espacios en blanco, de los hijos directos de un<br />

registro que se halla en el componente contenedor. Para especificar de qué registro<br />

desea la lista, utilice el atributo RecordId.<br />

Tipo Serie<br />

Se aplica a los componentes<br />

Contenedor<br />

Códigos de operación<br />

SETATR<br />

Operativo en tiempo de ejecución<br />

no<br />

GETATR sí<br />

Ejemplo de formato libre<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C EVAL list = %getatr('win01': 'CTR1': 'ChildList')<br />

*<br />

Ejemplo de formato fijo<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C 'CTR1' GETATR 'CHILDLIST' list<br />

*<br />

Capítulo 2. Atributos de componente 113


ClearAll<br />

Si se establece ClearAll, se elimina la totalidad del texto de usuario del calendario.<br />

Tipo Numérico<br />

Se aplica a los componentes<br />

Calendario<br />

Códigos de operación<br />

SETATR<br />

Operativo en tiempo de ejecución<br />

sí<br />

GETATR no<br />

Valor permitido<br />

El único valor válido de ClearAll es 1<br />

Ejemplo de formato libre<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C EVAL %setatr('win01': 'CAL1': 'ClearAll') = 1<br />

*<br />

Ejemplo de formato fijo<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C 'CAL1' SETATR 1 'CLEARALL'<br />

*<br />

114 <strong>VisualAge</strong> <strong>RPG</strong> Manual de consulta de componentes


ClearDate<br />

Si se establece ClearDate, se elimina el texto de usuario para la fecha indicada por<br />

DayIdx/MonthIdx/YearIdx.<br />

Tipo Numérico<br />

Se aplica a los componentes<br />

Calendario<br />

Códigos de operación<br />

SETATR<br />

Operativo en tiempo de ejecución<br />

sí<br />

GETATR no<br />

Valor permitido<br />

El único valor válido de ClearDate es 1<br />

Ejemplo de formato libre<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C EVAL %setatr('win01': 'CAL1': 'ClearDate') = 1<br />

*<br />

Ejemplo de formato fijo<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C 'CAL1' SETATR 1 'CLEARDATE'<br />

*<br />

Capítulo 2. Atributos de componente 115


ClearMonth<br />

Si se establece ClearMonth, se elimina el texto de usuario establecido para el mes<br />

indicado por MonthIdx/YearIdx.<br />

Tipo Numérico<br />

Se aplica a los componentes<br />

Calendario<br />

Códigos de operación<br />

SETATR<br />

Operativo en tiempo de ejecución<br />

sí<br />

GETATR no<br />

Valor permitido<br />

El único valor válido de ClearMonth es 1<br />

Ejemplo de formato libre<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C EVAL %setatr('win01': 'CAL1': 'ClearMonth') = 1<br />

*<br />

Ejemplo de formato fijo<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C 'CAL1' SETATR 1 'CLEARMONTH'<br />

*<br />

116 <strong>VisualAge</strong> <strong>RPG</strong> Manual de consulta de componentes


ClearYear<br />

Si se establece ClearYear, se elimina el texto de usuario establecido para el año<br />

indicado por YearIdx.<br />

Tipo Numérico<br />

Se aplica a los componentes<br />

Calendario<br />

Códigos de operación<br />

SETATR<br />

Operativo en tiempo de ejecución<br />

sí<br />

GETATR no<br />

Valor permitido<br />

El único valor válido de ClearYear es 1<br />

Ejemplo de formato libre<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C EVAL %setatr('win01': 'CAL1': 'ClearYear') = 1<br />

*<br />

Ejemplo de formato fijo<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C 'CAL1' SETATR 1 'CLEARYEAR'<br />

*<br />

Capítulo 2. Atributos de componente 117


ClipBoard<br />

Copia texto al área común o desde ésta.<br />

Tipo Serie<br />

Se aplica a los componentes<br />

*Componente lógico<br />

Códigos de operación<br />

SETATR<br />

Operativo en tiempo de ejecución<br />

sí<br />

GETATR sí<br />

Ejemplo de formato libre<br />

Obtener el contenido del portapapeles:<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C<br />

*<br />

EVAL %setatr('*Component':'*Component':'ClipBoard')=text<br />

C<br />

*<br />

EVAL text=%getatr('*Component':'*Component':'ClipBoard')<br />

Ejemplo de formato fijo<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C<br />

*<br />

'*COMPONENT' SETATR text 'CLIPBOARD'<br />

C<br />

*<br />

'*COMPONENT' GETATR 'CLIPBOARD' text<br />

118 <strong>VisualAge</strong> <strong>RPG</strong> Manual de consulta de componentes


ColBGClr<br />

Valor numérico que determina el color de fondo de una columna de subarchivo.<br />

Debe utilizar el atributo ColNumber para identificar la columna que tendrá<br />

definido el color.<br />

Si el color de fondo se ha establecido con el atributo ColBGMix, el color de fondo<br />

devuelto es el que se parece más al color de mezcla.<br />

Tipo Numérico<br />

Se aplica a los componentes<br />

Subarchivo<br />

Códigos de operación<br />

SETATR<br />

Operativo en tiempo de ejecución<br />

sí<br />

GETATR sí<br />

Valor permitido<br />

El color debe ser uno de los siguientes:<br />

-1 Por omisión (no se utiliza en las aplicaciones Java)<br />

0 Blanco<br />

1 Negro<br />

2 Azul (Blue)<br />

3 Rojo (Red)<br />

4 Rosa<br />

5 Verde<br />

6 Cian<br />

7 Amarillo (Yellow)<br />

8 Gris oscuro<br />

9 Azul oscuro<br />

10 Rojo oscuro<br />

Capítulo 2. Atributos de componente 119


11 Rosa oscuro<br />

12 Verde oscuro<br />

13 Cian oscuro<br />

14 Marrón<br />

15 Gris claro<br />

Ejemplo de formato libre<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C<br />

*<br />

EVAL CBcolor = %getatr('win01': 'SFL1': 'ColBGClr')<br />

C EVAL %setatr('win01': 'SFL1': 'ColNumber') = 1<br />

C<br />

*<br />

EVAL %setatr('win01': 'SFL1': 'ColBGClr') = 5<br />

Ejemplo de formato fijo<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C<br />

*<br />

'SFL1' GETATR 'COLBGCLR' 'CBcolor' 2 0<br />

C 'SFL1' SETATR 1 'COLNUMBER'<br />

C<br />

*<br />

'SFL1' SETATR 5 'COLBGCLR'<br />

120 <strong>VisualAge</strong> <strong>RPG</strong> Manual de consulta de componentes


ColBGMix<br />

Consulta o establece la mezcla de colores de fondo de una columna de subarchivo.<br />

Debe utilizar el atributo ColNumber para identificar la columna en la que se<br />

consultará o se establecerá la mezcla de colores.<br />

Tipo Serie<br />

Se aplica a los componentes<br />

Subarchivo<br />

Códigos de operación<br />

SETATR<br />

Operativo en tiempo de ejecución<br />

sí<br />

GETATR sí<br />

Valor permitido<br />

La mezcla del color de fondo debe tener el formato siguiente:<br />

'rojo:verde:azul'<br />

donde rojo, verde y azul son valores situados entre 0 y 255 que representan<br />

la intensidad del color respectivo.<br />

Ejemplo de formato libre<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C<br />

*<br />

EVAL CBclrMx = %getatr('win01': 'SFL1': 'ColBGMix')<br />

C CBclrMx IFNE '10:23:200'<br />

C EVAL %setatr('win01': 'SFL1': 'ColBGMix') = '10:23:200'<br />

C<br />

*<br />

ENDIF<br />

Ejemplo de formato fijo<br />

*...1....+....2....+....3....+....4....+... .5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C 'SFL1' SETATR '10:23:200' 'COLBGMIX'<br />

*<br />

Capítulo 2. Atributos de componente 121


ColFGClr<br />

Valor numérico que determina el color de primer plano de una columna de<br />

subarchivo. Debe utilizar el atributo ColNumber para identificar la columna que<br />

tendrá definido el color.<br />

Si el color de primer plano se ha establecido mediante el atributo ColFGMix, el<br />

color de primer plano devuelto es el que se parece más al color de mezcla.<br />

Tipo Numérico<br />

Se aplica a los componentes<br />

Subarchivo<br />

Códigos de operación<br />

SETATR<br />

Operativo en tiempo de ejecución<br />

sí<br />

GETATR sí<br />

Valor permitido<br />

El color debe ser uno de los siguientes:<br />

-1 Por omisión (no se utiliza en las aplicaciones Java)<br />

0 Blanco<br />

1 Negro<br />

2 Azul (Blue)<br />

3 Rojo (Red)<br />

4 Rosa<br />

5 Verde<br />

6 Cian<br />

7 Amarillo (Yellow)<br />

8 Gris oscuro<br />

9 Azul oscuro<br />

10 Rojo oscuro<br />

122 <strong>VisualAge</strong> <strong>RPG</strong> Manual de consulta de componentes


11 Rosa oscuro<br />

12 Verde oscuro<br />

13 Cian oscuro<br />

14 Marrón<br />

15 Gris claro<br />

Ejemplo de formato libre<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C<br />

*<br />

EVAL CFcolor = %getatr('win01': 'SFL1': 'ColFGClr')<br />

C EVAL %setatr('win01': 'SFL1': 'ColNumber') = 1<br />

C<br />

*<br />

EVAL %setatr('win01': 'SFL1': 'ColFGClr') = 5<br />

Ejemplo de formato fijo<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C<br />

*<br />

'SFL1' GETATR 'COLFGCLR' 'CFcolor' 2 0<br />

C 'SFL1' SETATR 1 'COLNUMBER'<br />

C<br />

*<br />

'SFL1' SETATR 5 'COLFGCLR'<br />

Capítulo 2. Atributos de componente 123


ColFGMix<br />

Consulta o establece la mezcla de colores de primer plano de una columna de<br />

subarchivo. Debe utilizar el atributo ColNumber para identificar la columna en la<br />

que se consultará o se establecerá la mezcla de colores.<br />

Tipo Serie<br />

Se aplica a los componentes<br />

Subarchivo<br />

Códigos de operación<br />

SETATR<br />

Operativo en tiempo de ejecución<br />

sí<br />

GETATR sí<br />

Valor permitido<br />

La mezcla de colores de primer plano debe tener el formato siguiente:<br />

'rojo:verde:azul'<br />

donde rojo, verde y azul son valores situados entre 0 y 255 que representan<br />

la intensidad del color respectivo.<br />

Ejemplo de formato libre<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C<br />

*<br />

EVAL CFclrMx = %getatr('win01': 'SFL1': 'ColFGMix')<br />

C CFclrMx IFNE '10:23:200'<br />

C EVAL %setatr('win01': 'SFL1': 'ColFGMix') = '10:23:200'<br />

C<br />

*<br />

ENDIF<br />

Ejemplo de formato fijo<br />

*...1....+....2....+....3....+....4....+... .5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C 'SFL1' SETATR '10:23:200' 'COLFGMIX'<br />

*<br />

124 <strong>VisualAge</strong> <strong>RPG</strong> Manual de consulta de componentes


Collapsed<br />

Se aplica a un contenedor en la vista de árbol. Este atributo puede utilizarse para<br />

ampliar o contraer elementos en un registro especificado por el atributo RecordID.<br />

La especificación del identificador de registro cero invierte el estado de todos los<br />

registros en la vista de árbol.<br />

Al ampliar un registro específico de una aplicación Java, los registros hijo y padre<br />

del registro se hacen visibles. Al contraer un registro, sólo se ocultan los registros<br />

hijo; los registros padre permanecen visibles.<br />

Tipo Numérico<br />

Se aplica a los componentes<br />

Contenedor<br />

Códigos de operación<br />

SETATR<br />

Operativo en tiempo de ejecución<br />

sí<br />

GETATR sí<br />

Valor permitido<br />

El valor de Collapsed puede ser uno de los siguientes:<br />

1 Contraer el registro<br />

0 Ampliar el registro<br />

Ejemplo de formato libre<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

* Contraer el registro<br />

C Eval %setatr('window': 'CN1': 'Collapsed') = 1<br />

*<br />

Ejemplo de formato fijo<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C 'CN1' SETATR 1 'COLLAPSED'<br />

*<br />

Capítulo 2. Atributos de componente 125


ColNumber<br />

Establece el número de columna de campo a utilizar al establecer otros atributos<br />

de subarchivo. Este atributo se utiliza con el atributo Index para indicar a qué<br />

campo de un registro de subarchivo se hace referencia.<br />

Tipo Numérico<br />

Se aplica a los componentes<br />

Contenedor Subarchivo<br />

Códigos de operación<br />

SETATR<br />

Operativo en tiempo de ejecución<br />

sí<br />

GETATR no<br />

Valor permitido<br />

Número de columna de campo<br />

Ejemplo de formato libre<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C EVAL %setatr('win01': 'SF1': 'Index') = 5<br />

C EVAL %setatr('win01': 'SF1': 'ColNumber') = 2<br />

*<br />

Ejemplo de formato fijo<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C 'SF1' SETATR 5 'INDEX'<br />

C<br />

*<br />

'SF1' SETATR 2 'COLNUMBER'<br />

126 <strong>VisualAge</strong> <strong>RPG</strong> Manual de consulta de componentes


Color<br />

Establece y obtiene el color de las áreas indicadas por el valor del atributo<br />

ColorArea.<br />

Tipo Numérico<br />

Se aplica a los componentes<br />

Calendario Gráfica<br />

Códigos de operación<br />

SETATR*<br />

Operativo en tiempo de ejecución<br />

sí<br />

GETATR sí<br />

*Nota: Puede definirse utilizando el cuaderno de propiedades en el<br />

diseñador GUI.<br />

Valor permitido<br />

El color debe ser uno de los siguientes:<br />

-1 Por omisión (no se utiliza en las aplicaciones Java)<br />

0 Blanco<br />

1 Negro<br />

2 Azul (Blue)<br />

3 Rojo (Red)<br />

4 Rosa<br />

5 Verde<br />

6 Cian<br />

7 Amarillo (Yellow)<br />

8 Gris oscuro<br />

9 Azul oscuro<br />

10 Rojo oscuro<br />

Capítulo 2. Atributos de componente 127


11 Rosa oscuro<br />

12 Verde oscuro<br />

13 Cian oscuro<br />

14 Marrón<br />

15 Gris claro<br />

Nota: No se puede utilizar el color por omisión (-1) para SETATR.<br />

Ejemplo de formato libre<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C<br />

*<br />

EVAL color = %getatr('win01': 'GP1': 'Color')<br />

C color IFEQ *Red<br />

C EVAL %setatr('win01': 'GP1': 'Color') = *Blue<br />

C<br />

*<br />

ENDIF<br />

Ejemplo de formato fijo<br />

*...1....+....2....+....3....+....4....+... .5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C 'GP1' SETATR *BLUE 'COLOR'<br />

*<br />

128 <strong>VisualAge</strong> <strong>RPG</strong> Manual de consulta de componentes


ColorArea<br />

Indica el área a la que deben aplicarse los atributos Color y ColorMix al obtenerla<br />

o definirla.<br />

Tipo Numérico<br />

Se aplica a los componentes<br />

Calendario Gráfica<br />

Códigos de operación<br />

SETATR*<br />

Operativo en tiempo de ejecución<br />

sí<br />

GETATR sí<br />

*Nota: Puede definirse utilizando el cuaderno de propiedades en el<br />

diseñador GUI.<br />

Valor permitido<br />

Para el componente gráfica, el valor de ColorArea puede ser uno de los<br />

siguientes:<br />

1 Color del título<br />

2 Color de fondo<br />

3 Color de las etiquetas de los ejes<br />

4 Color de las líneas de los ejes<br />

5 Color de las etiquetas de los puntos de datos<br />

6 Color de resaltado<br />

7 Color de fondo de la gráfica<br />

8 Color de los bordes<br />

9 Color de las barras/sectores/líneas<br />

Para el componente calendario, el valor de ColorArea puede ser uno de<br />

los siguientes:<br />

1 Fondo<br />

2 Cuadrícula<br />

3 Interior de calendario<br />

4 Flechas de cambio de mes<br />

5 Contornos de las flechas de cambio de mes<br />

6 Contorno de mes/año<br />

7 Fondo de mes/año<br />

8 Primer plano de mes/año<br />

9 Fondo de nombres de día<br />

10 Primer plano de nombres de día<br />

11 Contorno de fecha seleccionada<br />

Capítulo 2. Atributos de componente 129


12 Contorno de hoy<br />

13 Color por omisión para los contornos definidos por el usuario<br />

14 Color por omisión para el texto de usuario<br />

15 Border<br />

16 Números de fecha<br />

17 Contornos de los número de fecha<br />

18 Contorno definido por el usuario (sólo en tiempo de ejecución)<br />

19 Texto de usuario (sólo en tiempo de ejecución)<br />

Ejemplo de formato libre<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C<br />

*<br />

EVAL colarea = %getatr('win01': 'GP1': 'ColorArea')<br />

C colarea IFEQ 3<br />

C EVAL %setatr('win01': 'GP1': 'ColorArea') = 4<br />

C<br />

*<br />

ENDIF<br />

Ejemplo de formato fijo<br />

*...1....+....2....+....3....+....4....+... .5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C 'GP1' SETATR 4 'COLORAREA'<br />

*<br />

130 <strong>VisualAge</strong> <strong>RPG</strong> Manual de consulta de componentes


ColorMix<br />

Establece y obtiene la mezcla de colores indicada mediante el valor del atributo<br />

ColorArea.<br />

Tipo Serie<br />

Se aplica a los componentes<br />

Calendario Gráfica<br />

Códigos de operación<br />

SETATR*<br />

Operativo en tiempo de ejecución<br />

sí<br />

GETATR no<br />

*Nota: Puede definirse utilizando el cuaderno de propiedades en el<br />

diseñador GUI.<br />

Valor permitido<br />

La mezcla de colores debe tener el formato siguiente:<br />

'rojo:verde:azul'<br />

donde rojo, verde y azul son valores situados entre 0 y 255 que representan<br />

la intensidad del color respectivo.<br />

Ejemplo de formato libre<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C<br />

*<br />

EVAL color=%getatr('win01':'GP1':'ColorMix')<br />

C color IFNE '10:23:200'<br />

C EVAL %setatr('win01':'GP1':'ColorMix')='0:0:255'<br />

C<br />

*<br />

ENDIF<br />

Ejemplo de formato fijo<br />

*...1....+....2....+....3....+....4....+... .5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C 'GP1' SETATR '10:23:200' 'COLORMIX'<br />

*<br />

Capítulo 2. Atributos de componente 131


Column<br />

Establece cuál es la columna de una tabla a la que hacen referencia otros atributos<br />

como, por ejemplo, BufferLen, BufferPtr y BufferType.<br />

Tipo Numérico<br />

Se aplica a los componentes<br />

Interfaz ODBC/JDBC<br />

Códigos de operación<br />

SETATR<br />

Operativo en tiempo de ejecución<br />

sí<br />

GETATR sí<br />

Valor permitido<br />

Entre 1yelnúmero de columnas de la tabla.<br />

Ejemplo de formato libre<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C EVAL %setatr('win01':'ODBC1':'Column')=12<br />

*<br />

Ejemplo de formato fijo<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C 'ODBC1' SETATR 12 'COLUMN'<br />

*<br />

132 <strong>VisualAge</strong> <strong>RPG</strong> Manual de consulta de componentes


ColumnDec<br />

Devuelve el número de posiciones decimales definido para una columna.<br />

Establezca el atributo Column antes de utilizar este atributo.<br />

Tipo Numérico<br />

Se aplica a los componentes<br />

Interfaz ODBC/JDBC<br />

Códigos de operación<br />

SETATR<br />

Operativo en tiempo de ejecución<br />

no<br />

GETATR sí<br />

Ejemplo de formato libre<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C EVAL Dec=%getatr('win01':'ODBC1':'ColumnDec')<br />

*<br />

Ejemplo de formato fijo<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C 'ODBC1' GETATR 'COLUMNDEC' DEC<br />

*<br />

Capítulo 2. Atributos de componente 133


ColumnLen<br />

Devuelve la longitud definida de una columna específica de una tabla. Establezca<br />

el atributo Column antes de utilizar este atributo.<br />

Tipo Numérico<br />

Se aplica a los componentes<br />

Interfaz ODBC/JDBC<br />

Códigos de operación<br />

SETATR<br />

Operativo en tiempo de ejecución<br />

no<br />

GETATR sí<br />

Ejemplo de formato libre<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C EVAL Len=%getatr('win01':'ODBC1':'ColumnLen')<br />

*<br />

Ejemplo de formato fijo<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C 'ODBC1' GETATR 'COLUMNLEN' LEN<br />

*<br />

134 <strong>VisualAge</strong> <strong>RPG</strong> Manual de consulta de componentes


ColumnName<br />

Devuelve el nombre de una columna específica de un conjunto de registros.<br />

Establezca el atributo Column antes de utilizar este atributo. Una consulta SQL con<br />

los atributos SQLQuery y ExecuteSQL ejecutada correctamente mostrará los<br />

nombres de columna disponibles.<br />

Tipo Serie<br />

Se aplica a los componentes<br />

Interfaz ODBC/JDBC<br />

Códigos de operación<br />

SETATR<br />

Operativo en tiempo de ejecución<br />

no<br />

GETATR sí<br />

Ejemplo de formato libre<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C EVAL CName=%getatr('win01':'ODBC1':'ColumnName')<br />

*<br />

Ejemplo de formato fijo<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C 'ODBC1' GETATR 'COLUMNNAME' CNAME<br />

*<br />

Capítulo 2. Atributos de componente 135


Columns<br />

Devuelve el número de columnas en el conjunto de resultados. Una consulta SQL<br />

con los atributos SQLQuery y ExecuteSQL ejecutada correctamente mostrará el<br />

número de columnas disponibles.<br />

Tipo Numérico<br />

Se aplica a los componentes<br />

Interfaz ODBC/JDBC<br />

Códigos de operación<br />

SETATR<br />

Operativo en tiempo de ejecución<br />

no<br />

GETATR sí<br />

Ejemplo de formato libre<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C EVAL Cols=%getatr('win01':'ODBC1':'Columns')<br />

*<br />

Ejemplo de formato fijo<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C 'ODBC1' GETATR 'COLUMNS' COLS<br />

*<br />

136 <strong>VisualAge</strong> <strong>RPG</strong> Manual de consulta de componentes


ColumnType<br />

Devuelve el tipo de datos de una columna. Antes de utilizar este atributo,<br />

establezca los atributos Column y ExecuteSQL.<br />

Tipo Numérico<br />

Se aplica a los componentes<br />

Interfaz ODBC/JDBC<br />

Códigos de operación<br />

SETATR<br />

Operativo en tiempo de ejecución<br />

no<br />

GETATR sí<br />

Valor devuelto<br />

El valor devuelto puede ser uno de los siguientes:<br />

1 Carácter de longitud variable<br />

2 Carácter de longitud variable largo<br />

3 Carácter<br />

4 Numérico<br />

5 Decimal<br />

6 Entero<br />

7 Entero pequeño<br />

8 Indicación de la hora<br />

0 Para los siguientes tipos de datos JDBC: fecha, hora, entero<br />

grande, bit, doble, flotante, real, entero pequeño, binario, binario de<br />

longitud variable largo, binario de longitud variable, otros, nulo<br />

Ejemplo de formato libre<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C<br />

*<br />

EVAL CType=%getatr('win01':'ODBC1':'ColumnType')<br />

Ejemplo de formato fijo<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C 'ODBC1' GETATR 'COLUMNTYPE' CTYPE<br />

*<br />

Capítulo 2. Atributos de componente 137


ColWidth<br />

Determina el ancho de una columna de subarchivo en pixels.<br />

El atributo ColNumber debe estar establecido para indicar a qué columna afecta.<br />

Tipo Numérico<br />

Se aplica a los componentes<br />

Subarchivo<br />

Códigos de operación<br />

SETATR<br />

Operativo en tiempo de ejecución<br />

sí<br />

GETATR sí<br />

Ejemplo de formato libre<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C EVAL %setatr('win01': 'SFI1': 'ColWidth') = 50<br />

*<br />

Ejemplo de formato fijo<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C 'SFI1' SETATR 50 'COLWIDTH'<br />

*<br />

138 <strong>VisualAge</strong> <strong>RPG</strong> Manual de consulta de componentes


|<br />

|<br />

|<br />

|<br />

|<br />

CompName<br />

Es el nombre del componente lógico al que se hace referencia.<br />

Tipo Serie<br />

Se aplica a los componentes<br />

Referencia a<br />

componente lógico<br />

Códigos de operación<br />

SETATR<br />

Operativo en tiempo de ejecución<br />

sí<br />

GETATR sí<br />

Ejemplo de formato libre<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C Eval %setatr('win1': 'comp1': 'CompName')='Palette'<br />

*<br />

Ejemplo de formato fijo<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C 'COMP1' SETATR 'Palette' 'COMPNAME'<br />

*<br />

Capítulo 2. Atributos de componente 139


Connect<br />

Establezca este atributo en 1 para conectar el componente Interfaz ODBC/JDBC<br />

con una base de datos. Antes de utilizar este atributo, establezca el atributo<br />

ConnectStr para determinar con qué origen de datos se conecta.<br />

Tipo Numérico<br />

Se aplica a los componentes<br />

Interfaz ODBC/JDBC<br />

Códigos de operación<br />

SETATR<br />

Operativo en tiempo de ejecución<br />

sí<br />

GETATR no<br />

Ejemplo de formato libre<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C EVAL %setatr('win01':'ODBC1':'Connect')=1<br />

*<br />

Ejemplo de formato fijo<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C 'ODBC1' SETATR 1 'CONNECT'<br />

*<br />

140 <strong>VisualAge</strong> <strong>RPG</strong> Manual de consulta de componentes


Connected<br />

Determina tras un intento de conexión con una tabla si la conexión se ha<br />

establecido correctamente. Si el atributo devuelve 1, la conexión se ha establecido.<br />

Todos los demás valores indican que la conexión no se ha establecido.<br />

Tipo Numérico<br />

Se aplica a los componentes<br />

Interfaz ODBC/JDBC<br />

Códigos de operación<br />

SETATR<br />

Operativo en tiempo de ejecución<br />

no<br />

GETATR sí<br />

Ejemplo de formato libre<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C EVAL Status=%getatr('win01':'ODBC1':'Connected')<br />

*<br />

Ejemplo de formato fijo<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C 'ODBC1' GETATR 'CONNECTED' STATUS<br />

*<br />

Capítulo 2. Atributos de componente 141


ConnectStr<br />

Proporciona la serie de conexión que debe pasarse al gestor ODBC para establecer<br />

una conexión con un origen de datos. Establezca este atributo antes de utilizar el<br />

atributo Connect. Si establece la serie de conexión en *BLANKS, aparecerá el<br />

diálogo Seleccionar origen de datos. En este diálogo podrá seleccionar la tabla con la<br />

que conectarse.<br />

Consulte la documentación de la API ODBC para conocer la sintaxis de una serie<br />

de conexión.<br />

Tipo Serie<br />

Se aplica a los componentes<br />

Interfaz ODBC/JDBC<br />

Códigos de operación<br />

SETATR<br />

Operativo en tiempo de ejecución<br />

sí<br />

GETATR sí<br />

Ejemplo de formato libre<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C EVAL %setatr('win01':'ODBC1':'ConnectStr')=Str<br />

*<br />

Ejemplo de formato fijo<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C 'ODBC1' SETATR STR 'CONNECTSTR'<br />

*<br />

142 <strong>VisualAge</strong> <strong>RPG</strong> Manual de consulta de componentes


Copy<br />

Copia el texto seleccionado en el portapapeles, sin suprimirlo.<br />

Tipo Numérico<br />

Se aplica a los componentes<br />

Campo de entrada Edición de múltiples<br />

líneas<br />

Códigos de operación<br />

SETATR<br />

Operativo en tiempo de ejecución<br />

sí<br />

GETATR no<br />

Valor permitido<br />

El valor permitido es 1.<br />

Ejemplo de formato libre<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C EVAL %setatr('win01': 'MLE1': 'Copy') = 1<br />

*<br />

Ejemplo de formato fijo<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C 'MLE1' SETATR 1 'copy'<br />

*<br />

Capítulo 2. Atributos de componente 143


Count<br />

Proporciona el número de elementos de la parte de lista de un componente.<br />

El atributo Count se actualiza cada vez que se añade o suprime un elemento de la<br />

lista.<br />

Tipo Numérico<br />

Se aplica a los componentes<br />

Recuadro de<br />

Contenedor Recuadro de lista Subarchivo de<br />

combinación<br />

mensajes<br />

Cuaderno Subarchivo<br />

Códigos de operación<br />

SETATR<br />

Operativo en tiempo de ejecución<br />

no<br />

GETATR sí<br />

Ejemplo de formato libre<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C EVAL rc = %getatr('win01': 'LB1': 'Count')<br />

*<br />

Ejemplo de formato fijo<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C 'LB1' GETATR 'COUNT' count 2 0<br />

*<br />

144 <strong>VisualAge</strong> <strong>RPG</strong> Manual de consulta de componentes


CsrAtEnd<br />

Establezca este atributo en 1 para colocar el cursor detrás del último carácter de un<br />

campo de entrada, cuando éste pasa a ser el campo activo.<br />

Tipo Numérico<br />

Se aplica a los componentes<br />

Campo de entrada<br />

Códigos de operación<br />

SETATR<br />

Operativo en tiempo de ejecución<br />

sí<br />

GETATR no<br />

Ejemplo de formato libre<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C EVAL %setatr('win01': 'EN1': 'CsrAtEnd') = 1<br />

*<br />

Ejemplo de formato fijo<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C 'EN1' SETATR 1 'CSRATEND'<br />

*<br />

Capítulo 2. Atributos de componente 145


CsrLine<br />

Indica la línea en la que está situado el cursor.<br />

Tipo Numérico<br />

Se aplica a los componentes<br />

Edición de múltiples<br />

líneas<br />

Códigos de operación<br />

SETATR<br />

Operativo en tiempo de ejecución<br />

sí<br />

GETATR sí<br />

Valor permitido<br />

Número de línea<br />

Ejemplo de formato libre<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C EVAL %setatr('win01': 'MLE1': 'CsrLine') = 2<br />

*<br />

Ejemplo de formato fijo<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C 'MLE1' SETATR 2 'CSRLINE'<br />

*<br />

146 <strong>VisualAge</strong> <strong>RPG</strong> Manual de consulta de componentes


CsrPos<br />

Indica la posición del cursor respecto al primer carácter del campo de edición de<br />

múltiples líneas.<br />

Tipo Numérico<br />

Se aplica a los componentes<br />

Edición de múltiples<br />

líneas<br />

Códigos de operación<br />

SETATR<br />

Operativo en tiempo de ejecución<br />

sí<br />

GETATR sí<br />

Valor permitido<br />

La posición del cursor<br />

Ejemplo de formato libre<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C EVAL %setatr('win01': 'MLE1': 'CsrPos') = 4<br />

*<br />

Ejemplo de formato fijo<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C 'MLE1' SETATR 4 'CSRPOS'<br />

*<br />

Capítulo 2. Atributos de componente 147


CurrentDir<br />

Devuelve el directorio de trabajo actual.<br />

Tipo Serie<br />

Se aplica a los componentes<br />

*Component<br />

Códigos de operación<br />

SETATR<br />

Operativo en tiempo de ejecución<br />

no<br />

GETATR sí<br />

Ejemplo de formato libre<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C EVAL Dir = %getatr('*component': '*component':<br />

C<br />

*<br />

'CurrentDir)<br />

Ejemplo de formato fijo<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C '*component' GETATR 'CurrentDir' Dir<br />

*<br />

148 <strong>VisualAge</strong> <strong>RPG</strong> Manual de consulta de componentes


CurrentRow<br />

Devuelve el número de fila actual del conjunto de resultados.<br />

Nota: En las aplicaciones Java, este atributo necesita el controlador adecuado de<br />

conformidad con JDBC 2.0.<br />

Tipo Numérico<br />

Se aplica a los componentes<br />

Interfaz ODBC/JDBC<br />

Códigos de operación<br />

SETATR<br />

Operativo en tiempo de ejecución<br />

no<br />

GETATR sí<br />

Ejemplo de formato libre<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C EVAL CRow=%getatr('win01':'ODBC1':'CurrentRow')<br />

*<br />

Ejemplo de formato fijo<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C 'ODBC1' GETATR 'CURRENTROW' CROW<br />

*<br />

Capítulo 2. Atributos de componente 149


Cut<br />

Suprime el texto seleccionado y lo copia en el portapapeles.<br />

Tipo Numérico<br />

Se aplica a los componentes<br />

Campo de entrada Edición de múltiples<br />

líneas<br />

Códigos de operación<br />

SETATR<br />

Operativo en tiempo de ejecución<br />

sí<br />

GETATR no<br />

Valor permitido<br />

El valor permitido es 1.<br />

Ejemplo de formato libre<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C EVAL %setatr('win01': 'MLE1': 'Cut') = 1<br />

*<br />

Ejemplo de formato fijo<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C 'MLE1' SETATR 1 'cut'<br />

*<br />

150 <strong>VisualAge</strong> <strong>RPG</strong> Manual de consulta de componentes


DataGroup<br />

Se utiliza junto con DataPoint para indicar un dato específico o independiente<br />

cuando se hace referencia a un grupo de puntos en su totalidad.<br />

Tipo Numérico<br />

Se aplica a los componentes<br />

Gráfica<br />

Códigos de operación<br />

SETATR<br />

Operativo en tiempo de ejecución<br />

sí<br />

GETATR sí<br />

Valor permitido<br />

El valor debe ser mayor que 0.<br />

Ejemplo de formato libre<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C EVAL %setatr('win01': 'GR1': 'DataGroup') = 1<br />

*<br />

Ejemplo de formato fijo<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C 'GR1' SETATR 1 'DATAGROUP'<br />

*<br />

Capítulo 2. Atributos de componente 151


DataPoint<br />

Se utiliza junto con DataGroup para indicar un dato específico.<br />

Tipo Numérico<br />

Se aplica a los componentes<br />

Gráfica<br />

Códigos de operación<br />

SETATR<br />

Operativo en tiempo de ejecución<br />

sí<br />

GETATR sí<br />

Valor permitido<br />

El valor debe ser mayor que 0.<br />

Ejemplo de formato libre<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C EVAL %setatr('win01': 'GR1': 'DataPoint') = 1<br />

*<br />

Ejemplo de formato fijo<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C 'GR1' SETATR 1 'DATAPOINT'<br />

*<br />

152 <strong>VisualAge</strong> <strong>RPG</strong> Manual de consulta de componentes


DataType<br />

Determina el tipo de datos permitidos en este campo.<br />

Tipo Numérico<br />

Se aplica a los componentes<br />

Campo de entrada Texto estático<br />

Códigos de operación<br />

SETATR*<br />

Operativo en tiempo de ejecución<br />

no<br />

GETATR sí<br />

*Nota: Puede definirse utilizando el cuaderno de propiedades en el<br />

diseñador GUI.<br />

Valor permitido<br />

El valor de DataType puede ser uno de los siguientes:<br />

0 Numéricos con zona - Este componente sólo admite caracteres<br />

numéricos. También admite un guión (-)como carácter inicial<br />

para indicar que el número es negativo.<br />

1 Carácter - Este componente sólo admite caracteres alfanuméricos.<br />

2 Sólo DBCS - Este componente sólo admite caracteres DBCS.<br />

3 DBCS Cualquiera - Este componente admite caracteres SBCS o<br />

DBCS, pero no ambos al mismo tiempo, en función del primer<br />

carácter que se entre.<br />

4 DBCS Mixto - Este componente admite caracteres SBCS y DBCS.<br />

Ejemplo de formato libre<br />

Obtener el tipo de carácter para un campo de entrada:<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C<br />

*<br />

EVAL type = %getatr('win01': 'EF1': 'DataType')<br />

Ejemplo de formato fijo<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C 'EF1' GETATR 'DATATYPE' type 1 0<br />

*<br />

Capítulo 2. Atributos de componente 153


DataValue<br />

Especifica el valor asignado a un dato en concreto<br />

Tipo Numérico<br />

Se aplica a los componentes<br />

Gráfica<br />

Códigos de operación<br />

SETATR<br />

Operativo en tiempo de ejecución<br />

sí<br />

GETATR sí<br />

Ejemplo de formato libre<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C EVAL %setatr('win01': 'GR1': 'DataValue') = 1<br />

*<br />

Ejemplo de formato fijo<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C 'GR1' SETATR 1 'DATAVALUE'<br />

*<br />

154 <strong>VisualAge</strong> <strong>RPG</strong> Manual de consulta de componentes


Date<br />

Indica la fecha seleccionada actualmente. La fecha siempre es una serie con el<br />

formato AAAAMMDD y se corresponde con los atributos Year/Month/Day.<br />

Tipo Serie<br />

Se aplica a los componentes<br />

Calendario<br />

Códigos de operación<br />

SETATR*<br />

Operativo en tiempo de ejecución<br />

sí<br />

GETATR sí<br />

*Nota: Puede definirse utilizando el cuaderno de propiedades en el<br />

diseñador GUI.<br />

Valor permitido<br />

La fecha cuyo formato sea AAAAMMDD<br />

Ejemplo de formato libre<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C EVAL %setatr('win01': 'CAL1': 'Date') = '19980221'<br />

*<br />

Ejemplo de formato fijo<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C 'CAL1' SETATR '19980221' 'DATE'<br />

*<br />

Capítulo 2. Atributos de componente 155


DateIdx<br />

Permite que el usuario defina datos en una fecha que no se visualiza en la página<br />

actual del calendario. La fecha siempre es una serie con el formato AAAAMMDD<br />

y coincide con YearIdx/MonthIdx/DayIdx.<br />

Tipo Serie<br />

Se aplica a los componentes<br />

Calendario<br />

Códigos de operación<br />

SETATR<br />

Operativo en tiempo de ejecución<br />

sí<br />

GETATR sí<br />

Valor permitido<br />

El valor de índice<br />

Ejemplo de formato libre<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C EVAL %setatr('win01': 'CAL1': 'DateIdx') =<br />

C = '19980221'<br />

*<br />

Ejemplo de formato fijo<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C 'CAL1' SETATR '19980221' 'DATEIDX'<br />

*<br />

156 <strong>VisualAge</strong> <strong>RPG</strong> Manual de consulta de componentes


DateText<br />

Es el texto que se visualiza dentro de la casilla de la fecha indicada por<br />

DayIdx/MonthIdx/YearIdx.<br />

Tipo Serie<br />

Se aplica a los componentes<br />

Calendario<br />

Códigos de operación<br />

SETATR<br />

Operativo en tiempo de ejecución<br />

sí<br />

GETATR sí<br />

Ejemplo de formato libre<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C EVAL %setatr('win01': 'CAL1': 'DateText') = 'text'<br />

*<br />

Ejemplo de formato fijo<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C 'CAL1' SETATR 'text' 'DATETEXT'<br />

*<br />

Capítulo 2. Atributos de componente 157


DateUnder<br />

Devuelve la fecha que hay debajo del cursor en forma de serie AAAAMMDD. Si el<br />

ratón no se encuentra encima de una fecha, DateUnder devuelve una serie vacía.<br />

Tipo Serie<br />

Se aplica a los componentes<br />

Calendario<br />

Códigos de operación<br />

SETATR<br />

Operativo en tiempo de ejecución<br />

no<br />

GETATR sí<br />

Ejemplo de formato libre<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C EVAL yyyymmdd = %getatr('win01': 'CAL1':<br />

C<br />

*<br />

'DateUnder')<br />

Ejemplo de formato fijo<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C 'CAL1' GETATR 'DATEUNDER' yyyymmdd<br />

*<br />

158 <strong>VisualAge</strong> <strong>RPG</strong> Manual de consulta de componentes


Day<br />

Indica el día seleccionado actualmente. Si se establece, se actualiza la fecha<br />

seleccionada en el componente calendario para que los cambios queden reflejados.<br />

Tipo Numérico<br />

Se aplica a los componentes<br />

Calendario<br />

Códigos de operación<br />

SETATR*<br />

Operativo en tiempo de ejecución<br />

sí<br />

GETATR sí<br />

*Nota: Puede definirse utilizando el cuaderno de propiedades en el<br />

diseñador GUI.<br />

Valor permitido<br />

El día del mes<br />

Ejemplo de formato libre<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C EVAL %setatr('win01': 'CAL1': 'Day') = 21<br />

*<br />

Ejemplo de formato fijo<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C 'CAL1' SETATR 21 'DAY'<br />

*<br />

Capítulo 2. Atributos de componente 159


DayIdx<br />

Permite que el usuario defina datos en una fecha que no se visualiza en la página<br />

actual del calendario.<br />

Tipo Numérico<br />

Se aplica a los componentes<br />

Calendario<br />

Códigos de operación<br />

SETATR<br />

Operativo en tiempo de ejecución<br />

sí<br />

GETATR sí<br />

Valor permitido<br />

El valor de índice<br />

Ejemplo de formato libre<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C EVAL %setatr('win01': 'CAL1': 'DayIdx') = 21<br />

*<br />

Ejemplo de formato fijo<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C 'CAL1' SETATR 21 'DAYIDX'<br />

*<br />

160 <strong>VisualAge</strong> <strong>RPG</strong> Manual de consulta de componentes


DayLen<br />

Indica el formato de visualización del nombre de los días.<br />

Tipo Numérico<br />

Se aplica a los componentes<br />

Calendario<br />

Códigos de operación<br />

SETATR*<br />

Operativo en tiempo de ejecución<br />

sí<br />

GETATR sí<br />

*Nota: Puede definirse utilizando el cuaderno de propiedades en el<br />

diseñador GUI.<br />

Valor permitido<br />

El valor de DayLen puede ser uno de los siguientes:<br />

1 Nombre completo<br />

2 Nombre abreviado de tres caracteres<br />

3 Prefijo abreviado de dos caracteres (por ejemplo, SU, MO, TU...)<br />

4 Prefijo abreviado de un solo carácter (por ejemplo, S, M, T...)<br />

Ejemplo de formato libre<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C<br />

*<br />

EVAL %setatr('win01': 'CAL1': 'DayLen') = 2<br />

Ejemplo de formato fijo<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C 'CAL1' GETATR 'DAYLEN' daylen<br />

*<br />

Capítulo 2. Atributos de componente 161


DayNumPos<br />

Indica la posición de los números que representan los días del mes.<br />

Tipo Numérico<br />

Se aplica a los componentes<br />

Calendario<br />

Códigos de operación<br />

SETATR<br />

Operativo en tiempo de ejecución<br />

sí<br />

GETATR sí<br />

Valor permitido<br />

El valor de DayNumPos puede ser uno de los siguientes:<br />

1 Parte superior izquierda<br />

2 Parte superior derecha<br />

3 Parte inferior izquierda<br />

4 Parte inferior derecha<br />

Ejemplo de formato libre<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C<br />

*<br />

EVAL %setatr('win01': 'CAL1': 'DayNumPos') = 3<br />

Ejemplo de formato fijo<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C 'CAL1' GETATR 'DAYNUMPOS' daynumpos<br />

*<br />

162 <strong>VisualAge</strong> <strong>RPG</strong> Manual de consulta de componentes


DayNumRect<br />

Indica si se dibujará un contorno para los días del mes.<br />

Tipo Numérico<br />

Se aplica a los componentes<br />

Calendario<br />

Códigos de operación<br />

SETATR<br />

Operativo en tiempo de ejecución<br />

sí<br />

GETATR sí<br />

Valor permitido<br />

El valor de DayNumRect puede ser uno de los siguientes:<br />

0 Los números no tendrán contorno<br />

1 Los números sí tendrán contorno<br />

Ejemplo de formato libre<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C<br />

*<br />

EVAL isout = %getatr('win01': 'CAL1': 'DayNumRect')<br />

C<br />

*<br />

EVAL %setatr('win01': 'CAL1': 'DayNumRect') = 1<br />

Ejemplo de formato fijo<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C 'CAL1' GETATR 'DAYNUMRECT' isout<br />

*<br />

Capítulo 2. Atributos de componente 163


DayStart<br />

Determina cuál es el primer día de la semana.<br />

Tipo Numérico<br />

Se aplica a los componentes<br />

Calendario<br />

Códigos de operación<br />

SETATR<br />

Operativo en tiempo de ejecución<br />

sí<br />

GETATR sí<br />

Valor permitido<br />

El valor de DayStart puede ser uno de los siguientes:<br />

0 Domingo<br />

1 Lunes<br />

2 Martes<br />

3 Miércoles<br />

4 Jueves<br />

5 Viernes<br />

6 Sábado<br />

Ejemplo de formato libre<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C<br />

*<br />

EVAL %setatr('win01': 'CAL1': 'DayStart') = 2<br />

Ejemplo de formato fijo<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C 'CAL1' SETATR 2 'DAYSTART'<br />

*<br />

164 <strong>VisualAge</strong> <strong>RPG</strong> Manual de consulta de componentes


DDEAddLink<br />

Al establecer este atributo se establece una conversación de enlace dinámico DDE<br />

entre la aplicación del servidor definida por los atributos AppName y Topic yel<br />

componente indicado por el parámetro componente.<br />

Cuando se establece una conversación de enlace dinámico, la aplicación del<br />

servidor señalará automáticamente un evento Data al componente cliente DDE<br />

cuando cambie el elemento especificado mediante el atributo Item del componente<br />

cliente DDE. A continuación, el componente cliente DDE actualizará el componente<br />

enlazado con los datos nuevos si se ha establecido el atributo AllowLink.<br />

Tipo Serie<br />

Se aplica a los componentes<br />

Cliente DDE<br />

Códigos de operación<br />

SETATR*<br />

Operativo en tiempo de ejecución<br />

sí<br />

GETATR no<br />

* Nota: Puede definirse utilizando el cuaderno de propiedades del<br />

diseñador GUI. Para ello, seleccione el pulsador Añadir y<br />

especifique valores en el recuadro de diálogo Añadir enlace DDE.<br />

Valor permitido<br />

El parámetro componente debe codificarse tal como se muestra a<br />

continuación:<br />

'ventana|componente'<br />

Capítulo 2. Atributos de componente 165


Ejemplo de formato libre<br />

Establecer una conversación de enlace dinámico entre un campo de<br />

entrada y una celda de una hoja de cálculo. Cuando la celda cambie, el<br />

contenido del campo de entrada también cambiará.<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C EVAL %setatr('win01':'DDE1':'AppName')='APP01'<br />

C EVAL %setatr('win01':'DDE1':'Topic')='APP01.WG2'<br />

C EVAL %setatr('win01':'DDE1':'Item')='A1'<br />

C<br />

*<br />

EVAL %setatr('win01':'DDE1':'DDEAddLink')='win1|ef1'<br />

Ejemplo de formato fijo<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C 'DDE1' SETATR 'win1|ef1' 'DDEADDLINK'<br />

*<br />

166 <strong>VisualAge</strong> <strong>RPG</strong> Manual de consulta de componentes


DDEMode<br />

Determina la modalidad actual de un componente cliente DDE.<br />

Tipo Numérico<br />

Se aplica a los componentes<br />

Cliente DDE<br />

Códigos de operación<br />

SETATR<br />

Operativo en tiempo de ejecución<br />

sí<br />

GETATR no<br />

Valor permitido<br />

La modalidad del componente representada por uno de los valores<br />

siguientes:<br />

1 Initiate - Inicia una conversación DDE. Antes de poder iniciar la<br />

conversación, se deben haber establecido los atributos AppName y<br />

Topic.<br />

Cuando se ha iniciado la conversación DDE satisfactoriamente, se<br />

establece una conversación de enlace estático entre la aplicación del<br />

servidor y el componente Cliente DDE. Una conversación de enlace<br />

estático quiere decir que el componente cliente DDE debe<br />

establecer el atributo Request para obtener datos de la aplicación<br />

del servidor, y establecer el atributo Poke para enviar datos a la<br />

aplicación del servidor.<br />

2 Terminate - Finaliza la conversación DDE. Cuando se establece este<br />

atributo, se envía una solicitud de finalización a la aplicación del<br />

servidor. Cuando la aplicación del servidor haya procesado la<br />

solicitud de terminación, responderá señalizando un evento<br />

Terminate en el programa. Para procesar este evento, debe<br />

codificar una subrutina de acción de terminación en el programa.<br />

Ejemplo de formato libre<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C<br />

*<br />

EVAL %setatr('win01': 'DDE1': 'DDEMode') = 1<br />

Ejemplo de formato fijo<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C 'DDE1' SETATR 1 'DDEMODE'<br />

*<br />

Capítulo 2. Atributos de componente 167


DDERmvLink<br />

Suprime un enlace de este componente cliente DDE. El atributo Item se utiliza<br />

para determinar el enlace que se va a eliminar.<br />

Tipo Serie<br />

Se aplica a los componentes<br />

Cliente DDE<br />

Códigos de operación<br />

SETATR<br />

Operativo en tiempo de ejecución<br />

sí<br />

GETATR no<br />

Valor permitido<br />

El parámetro part debe codificarse de la forma siguiente:<br />

'ventana|componente'<br />

Ejemplo de formato libre<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C EVAL %setatr('win01':'DDE1':'DDERmvLink')='win1|ef1'<br />

*<br />

Ejemplo de formato fijo<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C 'DDE1' SETATR 'win1|ef1' 'DDERMVLINK'<br />

*<br />

168 <strong>VisualAge</strong> <strong>RPG</strong> Manual de consulta de componentes


DeActivate<br />

Establezca este atributo en 1 para desactivar un objeto ActiveX.<br />

Tipo Numérico<br />

Se aplica a los componentes<br />

ActiveX<br />

Códigos de operación<br />

SETATR<br />

Operativo en tiempo de ejecución<br />

sí<br />

GETATR no<br />

Ejemplo de formato libre<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C EVAL %setatr('win01': 'AX1': 'DeActivate') = 1<br />

*<br />

Ejemplo de formato fijo<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C 'AX1' SETATR 1 'DEACTIVATE'<br />

*<br />

Capítulo 2. Atributos de componente 169


Delete<br />

Suprime el texto seleccionado.<br />

Tipo Numérico<br />

Se aplica a los componentes<br />

Campo de entrada Edición de múltiples<br />

líneas<br />

Códigos de operación<br />

SETATR<br />

Operativo en tiempo de ejecución<br />

sí<br />

GETATR no<br />

Valor permitido<br />

El valor permitido es 1.<br />

Ejemplo de formato libre<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C EVAL %setatr('win01': 'MLE1': 'Delete') = 1<br />

*<br />

Ejemplo de formato fijo<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C 'MLE1' SETATR 1 'delete'<br />

*<br />

170 <strong>VisualAge</strong> <strong>RPG</strong> Manual de consulta de componentes


DeleteRow<br />

Determina el número de fila que se suprime del conjunto de resultados. No es<br />

necesario buscar antes una fila para suprimirla. Este atributo ocasionará que se<br />

suprima cualquier fila.<br />

Para suprimir una fila que se acaba de buscar, utilice el atributo CurrentRow para<br />

obtener el número de fila.<br />

Nota: En las aplicaciones Java, este atributo necesita el controlador adecuado de<br />

conformidad con JDBC 2.0.<br />

Tipo Numérico<br />

Se aplica a los componentes<br />

Interfaz ODBC/JDBC<br />

Códigos de operación<br />

SETATR<br />

Operativo en tiempo de ejecución<br />

sí<br />

GETATR no<br />

Ejemplo de formato libre<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C EVAL %setatr('win01':'ODBC1':'DeleteRow')=4<br />

*<br />

Ejemplo de formato fijo<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C 'ODBC1' SETATR 4 'DELETEROW'<br />

*<br />

Capítulo 2. Atributos de componente 171


DelimChar<br />

Especifica el carácter delimitador que separa varios elementos de una serie de<br />

datos. Los atributos DelimChar y UseDelim se utilizan juntos.<br />

Por ejemplo, puede utilizar el punto y coma (;) para delimitar los elementos de una<br />

serie de datos como se indica: abcd;efgh;ijkl. Al especificar el atributo<br />

AddItemEnd, se generará una lista vertical de elementos de esta serie. De este<br />

modo, se pueden añadir varios elementos con una sola operación.<br />

Tipo Serie<br />

Se aplica a los componentes<br />

Recuadro de<br />

combinación<br />

Códigos de operación<br />

Recuadro de lista<br />

SETATR*<br />

Operativo en tiempo de ejecución<br />

sí<br />

GETATR sí<br />

*Nota: Puede definirse utilizando el cuaderno de propiedades en el<br />

diseñador GUI.<br />

Ejemplo de formato libre<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C EVAL %setatr('win01':'CB1':'DelimChar') = ';'<br />

*<br />

Ejemplo de formato fijo<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C 'CB1' SETATR ';' 'DELIMCHAR'<br />

*<br />

172 <strong>VisualAge</strong> <strong>RPG</strong> Manual de consulta de componentes


DeSelect<br />

Anula selecciones de elementos de la parte de lista de un componente.<br />

En las aplicaciones Windows, DeSelect no tiene ningún efecto si:<br />

v El contenedor está establecido para una selección ampliada o múltiple y está en<br />

la vista de árbol.<br />

v El subarchivo está establecido para la selección simple.<br />

En estos casos, si se selecciona un elemento, permanece seleccionado.<br />

En las aplicaciones Java, el contenedor se puede establecer para una selección<br />

ampliada o múltiple en la vista de árbol.<br />

Tipo Numérico<br />

Se aplica a los componentes<br />

Recuadro de<br />

combinación*<br />

Contenedor Recuadro de lista Subarchivo<br />

* Restricción: Este atributo no está soportado en tiempo de ejecución en<br />

las aplicaciones Java para este componente.<br />

Códigos de operación<br />

SETATR<br />

Operativo en tiempo de ejecución<br />

sí<br />

GETATR no<br />

Valor permitido<br />

Especifique el número del elemento que va a deseleccionar. Para<br />

deseleccionar todos los elementos de la lista, establezca el valor en cero.<br />

Ejemplo de formato libre<br />

Deseleccionar el quinto elemento de la lista.<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C EVAL %setatr('win01': 'LB1': 'DeSelect') = 5<br />

*<br />

Ejemplo de formato fijo<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C 'LB1' SETATR 5 'DESELECT'<br />

*<br />

Capítulo 2. Atributos de componente 173


Dialog<br />

Permite que el usuario elija un diálogo Abrir o Guardar como.<br />

Tipo Numérico<br />

Se aplica a los componentes<br />

*Component<br />

Códigos de operación<br />

SETATR<br />

Operativo en tiempo de ejecución<br />

sí<br />

GETATR sí<br />

Valor permitido<br />

El valor de Dialog puede ser uno de los siguientes:<br />

1 Abrir<br />

2 Guardar como<br />

Ejemplo de formato libre<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C EVAL rc = %getatr('*component': '*component':<br />

C<br />

*<br />

'Dialog')<br />

Ejemplo de formato fijo<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C '*component' GETATR 'DIALOG' rc<br />

*<br />

174 <strong>VisualAge</strong> <strong>RPG</strong> Manual de consulta de componentes


DIRName<br />

* Restricción: Este atributo no está soportado en las aplicaciones Java.<br />

Devuelve el nombre del directorio en el que se halla el componente lógico.<br />

Tipo Serie<br />

Se aplica a los componentes<br />

*Component<br />

Códigos de operación<br />

SETATR<br />

Operativo en tiempo de ejecución<br />

no<br />

GETATR sí<br />

Valor permitido<br />

Texto<br />

Ejemplo de formato libre<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C EVAL dir = %getatr('*component': '*component':<br />

C 'DIRName')<br />

*<br />

Ejemplo de formato fijo<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C '*component' GETATR 'DIRNAME' dir<br />

*<br />

Capítulo 2. Atributos de componente 175


DlgOwner<br />

Indica qué ventana es propietaria de un diálogo. Si no se especifica, por omisión<br />

será propiedad del escritorio.<br />

Tipo Serie<br />

Se aplica a los componentes<br />

*Component<br />

Códigos de operación<br />

SETATR<br />

Operativo en tiempo de ejecución<br />

sí<br />

GETATR sí<br />

Valor permitido<br />

El valor debe tener el formato:<br />

NombVent NombVent<br />

Ejemplo de formato libre<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C EVAL %setatr('*component':'*component':'DlgOwner')=<br />

C<br />

*<br />

='win1 win1'<br />

Ejemplo de formato fijo<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C '*component' SETATR 'win1 win1' 'DLGOWNER'<br />

*<br />

176 <strong>VisualAge</strong> <strong>RPG</strong> Manual de consulta de componentes


DoEvents<br />

* Restricción: Este atributo no está soportado en las aplicaciones Java.<br />

Establezca este atributo en 1 para liberar el control de la subrutina de acciones que<br />

está en ejecución actualmente para que se puedan ejecutar otros eventos. Es útil<br />

sobre todo cuando una subrutina de acciones está en un bucle de larga ejecución.<br />

Tipo Numérico<br />

Se aplica a los componentes<br />

*component<br />

Códigos de operación<br />

SETATR<br />

Operativo en tiempo de ejecución<br />

sí<br />

GETATR no<br />

Ejemplo de formato libre<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C EVAL %setatr('*component':'*component':'DoEvents')=1<br />

*<br />

Ejemplo de formato fijo<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C '*COMPONENT' SETATR 1 'DOEVENTS'<br />

*<br />

Capítulo 2. Atributos de componente 177


DragEnable<br />

* Restricción: Este atributo no está soportado en las aplicaciones Java.<br />

Cuando este atributo está habilitado, el usuario puede mover el texto o la etiqueta<br />

de un componente colocando el puntero encima del componente y pulsando y<br />

manteniendo pulsado el botón 2 del ratón.<br />

Tipo Numérico<br />

Se aplica a los componentes<br />

Recuadro de<br />

combinación<br />

Edición de múltiples<br />

líneas<br />

Códigos de operación<br />

Campo de entrada<br />

Texto estático<br />

Recuadro de lista Subarchivo de<br />

mensajes<br />

SETATR*<br />

Operativo en tiempo de ejecución<br />

sí<br />

GETATR sí<br />

*Nota: Puede definirse utilizando el cuaderno de propiedades en el<br />

diseñador GUI.<br />

Valor permitido<br />

Uno de los siguientes:<br />

0 El texto o la etiqueta del componente no se puede arrastrar<br />

1 El texto o la etiqueta del componente sí se puede arrastrar<br />

Nota: Este atributo sólo se puede establecer en 1.<br />

Ejemplo de formato libre<br />

Permitir DragEnable para un componente:<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C EVAL %setatr('win01': 'EF1': 'DragEnable') = 1<br />

*<br />

Ejemplo de formato fijo<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C 'EF1' SETATR 1 'DRAGENABLE'<br />

*<br />

178 <strong>VisualAge</strong> <strong>RPG</strong> Manual de consulta de componentes


DropEnable<br />

* Restricción: Este atributo no está soportado en las aplicaciones Java.<br />

Determina si el componente responderá a eventos Drop<br />

Tipo Numérico<br />

Se aplica a los componentes<br />

Recuadro de<br />

combinación<br />

Edición de múltiples<br />

líneas<br />

Códigos de operación<br />

Campo de entrada<br />

Texto estático<br />

Recuadro de lista Subarchivo de<br />

mensajes<br />

SETATR*<br />

Operativo en tiempo de ejecución<br />

sí<br />

GETATR sí<br />

*Nota: Puede definirse utilizando el cuaderno de propiedades en el<br />

diseñador GUI.<br />

Valor permitido<br />

Uno de los siguientes:<br />

0 El componente no responde a los eventos Drop<br />

1 El componente responde a los eventos Drop<br />

Nota: El valor por omisión de este atributo es 0 (desactivado). Una vez<br />

que se ha establecido en 1 en el constructor, no se puede restablecer.<br />

Ejemplo de formato libre<br />

Permitir operaciones de soltar en un componente:<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C EVAL %setatr('win01': 'EF1': 'DropEnable') = 1<br />

*<br />

Ejemplo de formato fijo<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C 'EF1' SETATR 1 'DROPENABLE'<br />

*<br />

Capítulo 2. Atributos de componente 179


DspHeight<br />

Devuelve la altura de la pantalla en pixels.<br />

Tipo Numérico<br />

Se aplica a los componentes<br />

*Componente lógico<br />

Códigos de operación<br />

SETATR<br />

Operativo en tiempo de ejecución<br />

no<br />

GETATR sí<br />

Ejemplo de formato libre<br />

Obtener la altura de la pantalla:<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C EVAL DH=%getatr('*Component':'*Component':'DspHeight')<br />

*<br />

Ejemplo de formato fijo<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C '*COMPONENT' GETATR 'DSPHEIGHT' DH<br />

*<br />

180 <strong>VisualAge</strong> <strong>RPG</strong> Manual de consulta de componentes


DspWidth<br />

Devuelve la anchura de la pantalla en pixels.<br />

Tipo Numérico<br />

Se aplica a los componentes<br />

*Componente lógico<br />

Códigos de operación<br />

SETATR<br />

Operativo en tiempo de ejecución<br />

no<br />

GETATR sí<br />

Ejemplo de formato libre<br />

Obtener la anchura de la pantalla:<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C EVAL Dwd=%getatr('*Component':'*Component':<br />

C 'DspWidth')<br />

*<br />

Ejemplo de formato fijo<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C '*COMPONENT' GETATR 'DSPWIDTH' Dwd<br />

*<br />

Capítulo 2. Atributos de componente 181


EditItem<br />

En las aplicaciones de Windows, al establecer este atributo en 1 se abre un campo<br />

de edición en el texto del registro para un contenedor de la vista de iconos o de<br />

árbol. En las aplicaciones Java, este atributo sólo es aplicable a la vista de árbol.<br />

Debe establecer el atributo ColNumber antes de utilizarlo.<br />

Tipo Numérico<br />

Se aplica a los componentes<br />

Contenedor<br />

Códigos de operación<br />

SETATR<br />

Operativo en tiempo de ejecución<br />

sí<br />

GETATR no<br />

Ejemplo de formato libre<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C EVAL %setatr('win01': 'CN1': 'EditItem')=1<br />

*<br />

Ejemplo de formato fijo<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C 'CN1' SETATR 1 'EDITITEM'<br />

*<br />

182 <strong>VisualAge</strong> <strong>RPG</strong> Manual de consulta de componentes


EnableBtn<br />

Habilita e inhabilita los botones de navegación. Es necesario establecer ButtonIdx<br />

antes de utilizar el atributo EnableBtn.<br />

Tipo Numérico<br />

Se aplica a los componentes<br />

Subarchivo<br />

Códigos de operación<br />

SETATR<br />

Operativo en tiempo de ejecución<br />

sí<br />

GETATR sí<br />

Valor permitido<br />

Puede ser uno de los siguientes:<br />

0 Inhabilitar el botón<br />

1 Habilitar el botón<br />

Ejemplo de formato libre<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C<br />

*<br />

EVAL %setatr('win01': 'SFI1': 'EnableBtn') = 1<br />

Ejemplo de formato fijo<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C 'SFI1' SETATR 1 'ENABLEBTN'<br />

*<br />

Capítulo 2. Atributos de componente 183


Enabled<br />

Determina si el componente responderá a eventos de interfaz del usuario.<br />

Nota: Si se especifica este atributo para los componentes en un lienzo, el valor del<br />

atributo establecido para el lienzo tiene preferencia.<br />

Tipo Numérico<br />

Se aplica a los componentes<br />

Calendario Lienzo Recuadro de selección Recuadro de<br />

combinación<br />

Contenedor Campo de entrada Gráfica Pulsador gráfico<br />

Recuadro de grupo Barra de<br />

desplazamiento<br />

horizontal<br />

Imagen Bean Java<br />

Recuadro de lista Panel de medios Opción de menú Subarchivo de<br />

mensajes<br />

Edición de múltiples Cuaderno Página de cuaderno Página de cuaderno<br />

líneas<br />

con lienzo<br />

Pulsador Botón de selección Graduador Selector cíclico<br />

Subarchivo Barra de<br />

desplazamiento<br />

vertical<br />

Ventana<br />

Códigos de operación<br />

SETATR*<br />

Operativo en tiempo de ejecución<br />

sí<br />

GETATR sí<br />

*Nota: Puede definirse utilizando el cuaderno de propiedades en el<br />

diseñador GUI.<br />

Valor permitido<br />

Uno de los siguientes:<br />

0 El componente no puede responder a eventos<br />

1 El componente puede responder a eventos<br />

184 <strong>VisualAge</strong> <strong>RPG</strong> Manual de consulta de componentes


Ejemplo de formato libre<br />

Conmutar el estado habilitado de un componente:<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C<br />

*<br />

EVAL rc = %getatr('win01': 'EF1': 'Enabled')<br />

C rc IFEQ 0<br />

C<br />

*<br />

EVAL %setatr('win01': 'EF1': 'Enabled') = 1<br />

C ELSE<br />

C EVAL %setatr('win01': 'EF1': 'Enabled') = 0<br />

C<br />

*<br />

ENDIF<br />

Ejemplo de formato fijo<br />

Conmutar el estado de habilitación de un campo de entrada:<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C 'EF1' GETATR 'ENABLED' rc 1 0<br />

C rc IFEQ 1<br />

C<br />

*<br />

'EF1' SETATR 0 'ENABLED'<br />

C ELSE<br />

C 'EF1' SETATR 1 'ENABLED'<br />

C<br />

*<br />

ENDIF<br />

Capítulo 2. Atributos de componente 185


Execute<br />

Al establecer este atributo se envía un mandato execute a la aplicación del servidor<br />

en una conversación DDE. La aplicación del servidor determina la estructura de la<br />

serie del mandato. Consulte en la documentación de la aplicación del servidor los<br />

mandatos a los que se da soporte y la estructura de los mismos.<br />

Se debe haber iniciado una conversación DDE satisfactoriamente antes de<br />

establecer este atributo.<br />

Cuando la aplicación del servidor procesa el mandato execute, genera un evento<br />

ExecuteAck. Compruebe el atributo de evento %DDEAck en la subrutina de<br />

acción del evento ExecuteAck para determinar si execute se ha realizado de<br />

manera satisfactoria.<br />

Tipo Serie<br />

Se aplica a los componentes<br />

Cliente DDE<br />

Códigos de operación<br />

SETATR<br />

Operativo en tiempo de ejecución<br />

sí<br />

GETATR no<br />

Ejemplo de formato libre<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C EVAL %setatr('win01': 'DDE1': 'Execute') = 'FILEOPEN'<br />

*<br />

Ejemplo de formato fijo<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C 'DDE1' SETATR 'FILEOPEN' 'EXECUTE'<br />

*<br />

186 <strong>VisualAge</strong> <strong>RPG</strong> Manual de consulta de componentes


ExecuteSQL<br />

Si se establece este atributo en 1, se ejecuta la sentencia SQL que ha sometido el<br />

último atributo SQLQuery.<br />

Tipo Numérico<br />

Se aplica a los componentes<br />

Interfaz ODBC/JDBC<br />

Códigos de operación<br />

SETATR<br />

Operativo en tiempo de ejecución<br />

sí<br />

GETATR no<br />

Ejemplo de formato libre<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C EVAL %setatr('win01':'ODBC1':'ExecuteSQL')=1<br />

*<br />

Ejemplo de formato fijo<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C 'ODBC1' SETATR 1 'EXECUTESQL'<br />

*<br />

Capítulo 2. Atributos de componente 187


ExtSelect<br />

Determina si el componente permite la selección ampliada. La selección ampliada<br />

permite que el usuario seleccione un elemento y a continuación seleccione<br />

elementos adicionales. El usuario puede marcar varias entradas arrastrando el<br />

cursor del ratón sobre ellas.<br />

El atributo MultSelect no tiene ningún efecto en el atributo ExtSelect. El atributo<br />

ExtSelect prevalece sobre los valores para MultSelect o para una única selección.<br />

Tipo Numérico<br />

Se aplica a los componentes<br />

Contenedor (1) Recuadro de lista(2.) Subarchivo (2.)<br />

Restricciones:<br />

1. Este atributo sólo se puede establecer en tiempo de<br />

ejecución para el componente contenedor en las<br />

aplicaciones Windows.<br />

2. Este atributo sólo se puede obtener en tiempo de<br />

ejecución para los componentes recuadro de lista y<br />

subarchivo en las aplicaciones Java.<br />

Códigos de operación<br />

SETATR<br />

Operativo en tiempo de ejecución<br />

sí<br />

GETATR no<br />

Valor permitido<br />

Uno de los siguientes:<br />

0 La selección ampliada no está permitida<br />

1 La selección ampliada está permitida<br />

Ejemplo de formato libre<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C<br />

*<br />

EVAL rc = %getatr('win01': 'LB1': 'ExtSelect')<br />

Ejemplo de formato fijo<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C 'LB1' GETATR 'EXTSELECT' rc 1 0<br />

*<br />

188 <strong>VisualAge</strong> <strong>RPG</strong> Manual de consulta de componentes


Fetch<br />

Si se establece este atributo en 1, devuelve una fila específica del origen de datos<br />

asociado. Los datos devueltos dependen del último tipo de petición de búsqueda<br />

realizada. Con una petición de atributo GetTables, Fetch devuelve una lista de<br />

tablas de la base de datos. Con una petición ExecuteSQL, Fetch devuelve una fila<br />

de datos de la tabla.<br />

Nota: En las aplicaciones Java, este atributo necesita el controlador adecuado de<br />

conformidad con JDBC 2.0.<br />

Tipo Numérico<br />

Se aplica a los componentes<br />

Interfaz ODBC/JDBC<br />

Códigos de operación<br />

SETATR<br />

Operativo en tiempo de ejecución<br />

sí<br />

GETATR no<br />

Ejemplo de formato libre<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C EVAL %setatr('win01':'ODBC1':'Fetch')=1<br />

*<br />

Ejemplo de formato fijo<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C 'ODBC1' SETATR 1 'FETCH'<br />

*<br />

Capítulo 2. Atributos de componente 189


FetchNext<br />

Si se establece este atributo en 1, se busca la siguiente fila de datos del conjunto de<br />

resultados.<br />

Tipo Numérico<br />

Se aplica a los componentes<br />

Interfaz ODBC/JDBC<br />

Códigos de operación<br />

SETATR<br />

Operativo en tiempo de ejecución<br />

sí<br />

GETATR no<br />

Ejemplo de formato libre<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C EVAL %setatr('win01':'ODBC1':'FetchNext')=1<br />

*<br />

Ejemplo de formato fijo<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C 'ODBC1' SETATR 1 'FETCHNEXT'<br />

*<br />

190 <strong>VisualAge</strong> <strong>RPG</strong> Manual de consulta de componentes


FetchPrior<br />

Si se establece este atributo en 1, se busca la fila de datos anterior del conjunto de<br />

resultados.<br />

Nota: En las aplicaciones Java, este atributo necesita el controlador adecuado de<br />

conformidad con JDBC 2.0.<br />

Tipo Numérico<br />

Se aplica a los componentes<br />

Interfaz ODBC/JDBC<br />

Códigos de operación<br />

SETATR<br />

Operativo en tiempo de ejecución<br />

sí<br />

GETATR no<br />

Ejemplo de formato libre<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C EVAL %setatr('win01':'ODBC1':'FetchPrior')=1<br />

*<br />

Ejemplo de formato fijo<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C 'ODBC1' SETATR 1 'FETCHPRIOR'<br />

*<br />

Capítulo 2. Atributos de componente 191


FieldExit<br />

Hace que, al pulsar Intro, el cursor se desplace al siguiente campo de entrada de<br />

salto de tabulación.<br />

Tipo Numérico<br />

Se aplica a los componentes<br />

Recuadro de<br />

combinación<br />

Códigos de operación<br />

Campo de entrada<br />

SETATR<br />

Operativo en tiempo de ejecución<br />

sí<br />

GETATR no<br />

Valor permitido<br />

Uno de los siguientes:<br />

0 El cursor no se colocará en el siguiente campo de entrada que<br />

corresponda<br />

1 El cursor se colocará en el siguiente campo de entrada que<br />

corresponda<br />

Ejemplo de formato libre<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C<br />

*<br />

EVAL %setatr('win01': 'EF1': 'FieldExit') = 1<br />

Ejemplo de formato fijo<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C 'EF1' SETATR 1 'FIELDEXIT'<br />

*<br />

192 <strong>VisualAge</strong> <strong>RPG</strong> Manual de consulta de componentes


|<br />

|<br />

FileName<br />

Especifica el archivo que se asociará con el componente.<br />

En un componente medios, puede ser un archivo válido de ondas (.wav) o MIDI<br />

(.mid) o bien, un archivo válido de vídeo que tenga la extensión .mov o .mpg.<br />

En las aplicaciones de Windows que utilizan un componente control de<br />

animación, el archivo puede ser de vídeo con la extensión .avi. En las aplicaciones<br />

Java que utilizan el componente control de animación con el atributo NbrOfImage,<br />

el archivo puede ser una imagen GIF.<br />

En el caso de los componentes lienzo, pulsador gráfico, imagen u opción de menú,<br />

el archivo debe ser un archivo de imagen válido. Si desea ver una lista de los<br />

formatos de imagen válidos, consulte “Imagen” en la página 21.<br />

En el componente opción de menú, siFileName hace referencia a un bitmap, la<br />

opción de menú se visualiza como el bitmap. Si FileName hace referencia a un<br />

archivo de icono, el icono se visualiza junto al texto de la opción de menú. En las<br />

aplicaciones Java, si FileName hace referencia a un archivo GIF, la imagen GIF se<br />

visualiza junto al texto de la opción de menú.<br />

En las aplicaciones Java, FileName hace referencia a un archivo GIF que se<br />

visualiza como un icono en el componente Ventana.<br />

Si se cambia el atributo FileName de un componente medios, no se procesa el<br />

archivo. Para procesarlo, se debe establecer el atributo AudioMode.<br />

Al cambiar el atributo FileName para un componente lienzo, pulsador gráfico o<br />

imagen, la imagen de ese componente cambiará de inmediato.<br />

Si se establece el atributo FileName para *Component, se visualizará el diálogo<br />

especificado con el atributo Dialog.<br />

El nombre de archivo se puede especificar con la vía de acceso completa o sin ella.<br />

Si sólo se especifica el nombre de archivo, el archivo debe colocarse en el<br />

subdirectorio de ejecución: el subdirectorio RT_JAVA para una aplicación Java o el<br />

subdirectorio RT_WIN32 para una aplicación de Windows 95, Windows 98 o<br />

Windows NT. Si sólo se especifica el nombre de archivo, los archivos sólo se<br />

localizarán si el subdirectorio RT_JAVA o RT_WIN32 es el directorio actual.<br />

Consulte la publicación Programación con <strong>VisualAge</strong> para <strong>RPG</strong> para obtener más<br />

información sobre consideraciones de nombres de archivo.<br />

Capítulo 2. Atributos de componente 193


|<br />

|<br />

|<br />

|<br />

Tipo Serie<br />

Se aplica a los componentes<br />

Control de animación Lienzo *Component Pulsador gráfico<br />

Imagen Medios Opción de menú Ventana<br />

Ventana con lienzo<br />

Códigos de operación<br />

SETATR*<br />

Operativo en tiempo de ejecución<br />

sí<br />

GETATR sí<br />

*Nota: Puede definirse utilizando el cuaderno de propiedades en el<br />

diseñador GUI.<br />

* Restricción: en aplicaciones Java, este atributo es sólo de escritura.<br />

Valor permitido<br />

El nombre del archivo de estación de trabajo que se va a asociar con este<br />

componente<br />

Ejemplo de formato libre<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C EVAL %setatr('win01':'audio1':'FileName')='BARK.WAV'<br />

*<br />

Ejemplo de formato fijo<br />

Guardar el nombre de archivo actual de un componente imagen y<br />

establecer un nuevo valor para el mismo:<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C 'IMAGE01' GETATR 'FILENAME' oldfile 64<br />

C 'IMAGE01' SETATR newfile 'FILENAME'<br />

*<br />

194 <strong>VisualAge</strong> <strong>RPG</strong> Manual de consulta de componentes


FillStyle<br />

* Restricción: Este atributo no está soportado en las aplicaciones Java.<br />

Describe la forma en que se rellenará un área<br />

Tipo Numérico<br />

Se aplica a los componentes<br />

Gráfica<br />

Códigos de operación<br />

SETATR<br />

Operativo en tiempo de ejecución<br />

sí<br />

GETATR sí<br />

Valor permitido<br />

El valor de FillStyle puede ser uno de los siguientes:<br />

1 Sólido<br />

2 Hueco<br />

3 Relleno de baja densidad<br />

4-9 Grados crecientes de densidad de relleno<br />

10 Relleno de alta densidad<br />

11 Con rayas verticales<br />

12 Con rayas horizontales<br />

13 Con rayas inclinadas hacia delante en diagonal<br />

14 Con rayas muy inclinadas hacia delante en diagonal<br />

15 Con rayas inclinadas hacia atrás en diagonal<br />

16 Con rayas muy inclinadas hacia atrás en diagonal<br />

17 Relleno a media tinta<br />

18 Tramado<br />

19 Tramado en diagonal<br />

Capítulo 2. Atributos de componente 195


Ejemplo de formato libre<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C EVAL style = %getatr('win01': 'GP1': 'FillStyle')<br />

*<br />

C style IFEQ 3<br />

C EVAL %setatr('win01': 'GP1': 'FillStyle') = 12<br />

C ENDIF<br />

*<br />

Ejemplo de formato fijo<br />

*...1....+....2....+....3....+....4....+... .5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C 'GP1' SETATR 12 'FILLSTYLE'<br />

*<br />

196 <strong>VisualAge</strong> <strong>RPG</strong> Manual de consulta de componentes


FirstSel<br />

Devuelve el valor de índice del primer elemento seleccionado de la parte de lista<br />

de un componente. Los valores de índice empiezan por 1. Si no hay ningún<br />

elemento seleccionado en la lista, se devuelve cero.<br />

Tipo Numérico<br />

Se aplica a los componentes<br />

Recuadro de<br />

combinación<br />

Subarchivo<br />

Códigos de operación<br />

Contenedor Recuadro de lista Subarchivo de<br />

mensajes<br />

SETATR<br />

Operativo en tiempo de ejecución<br />

no<br />

GETATR sí<br />

Ejemplo de formato libre<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C EVAL ix = %getatr('win01': 'LB1': 'FirstSel')<br />

*<br />

Ejemplo de formato fijo<br />

Comprobar si se ha seleccionado un elemento de un recuadro de lista y<br />

visualizar un mensaje si no se ha seleccionado:<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C 'LB1' GETATR 'FIRSTSEL' IX 3 0<br />

C IX IFEQ *ZERO<br />

C 'Select error'DSPLY STYLE rc<br />

C<br />

*<br />

ENDIF<br />

Capítulo 2. Atributos de componente 197


Focus<br />

Determina si el componente tiene el foco actualmente. Cuando un componente<br />

tiene el foco, el cursor de entrada se traslada a él y la entrada del usuario se dirige<br />

hacia él. Por ejemplo, para que un usuario pueda escribir en un campo de entrada,<br />

éste debe tener el foco.<br />

Cuando un componente recibe el foco, recibe un evento GotFocus.<br />

Tipo Numérico<br />

Se aplica a los componentes<br />

Recuadro de selección Recuadro de<br />

combinación<br />

Contenedor Campo de entrada<br />

Pulsador gráfico Barra de<br />

Recuadro de lista Edición de múltiples<br />

desplazamiento<br />

horizontal<br />

líneas<br />

Cuaderno Pulsador Botón de selección Graduador<br />

Selector cíclico Subarchivo Barra de<br />

desplazamiento<br />

vertical<br />

Ventana*<br />

* Restricción: Este atributo sólo se puede establecer en tiempo de<br />

ejecución para el componente ventana en las aplicaciones<br />

Java.<br />

Códigos de operación<br />

SETATR<br />

Operativo en tiempo de ejecución<br />

sí<br />

GETATR sí<br />

Valor permitido<br />

Uno de los siguientes:<br />

0 El componente no tiene el foco de entrada<br />

1 El componente tiene el foco de entrada<br />

198 <strong>VisualAge</strong> <strong>RPG</strong> Manual de consulta de componentes<br />

Nota: Este atributo sólo se puede establecer en 1.


Ejemplo de formato libre<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C EVAL %setatr('win01': 'EF1': 'Focus') = 1<br />

*<br />

C EVAL rc = %getatr('win01': 'EF1': 'Focus')<br />

*<br />

Ejemplo de formato fijo<br />

Conmutar el foco para un componente:<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C<br />

*<br />

'EF1' GETATR 'FOCUS' HasFocus 1 0<br />

C<br />

*<br />

'EF1' SETATR 1 'FOCUS'<br />

Capítulo 2. Atributos de componente 199


FontArea<br />

Indica el área del componente calendario, gráfica o subarchivo a la que deben<br />

aplicarse el resto de atributos relacionados con el font.<br />

Tipo Numérico<br />

Se aplica a los componentes<br />

Calendario Gráfica Subarchivo<br />

Códigos de operación<br />

SETATR<br />

Operativo en tiempo de ejecución<br />

sí<br />

GETATR sí<br />

Valor permitido<br />

Para el componente calendario, el valor puede ser uno de los siguientes:<br />

1 Mes/año<br />

2 Nombre de los días<br />

3 Valor por omisión para texto de usuario<br />

4 Número de los días<br />

5 Texto de usuario<br />

200 <strong>VisualAge</strong> <strong>RPG</strong> Manual de consulta de componentes<br />

Para el componente gráfica, el valor puede ser uno de los siguientes:<br />

1 Font del título<br />

2 Font de las etiquetas de los ejes<br />

3 Font de las etiquetas de los puntos de datos<br />

4 Font de la leyenda<br />

Para el componente subarchivo, el valor puede ser uno de los siguientes:<br />

1 Cabecera<br />

2 Grabar


Ejemplo de formato libre<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C EVAL Farea = %getatr('win01': 'GRA1': 'FontArea')<br />

*<br />

C EVAL %setatr('win01': 'GRA1': 'FontArea') = 5<br />

*<br />

Ejemplo de formato fijo<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C 'GRA1' GETATR 'FONTAREA' Farea 1 0<br />

*<br />

Capítulo 2. Atributos de componente 201


FontBold<br />

Determina si la etiqueta o el texto se visualiza en negrita.<br />

Tipo Numérico<br />

Se aplica a los componentes<br />

Calendario Lienzo Recuadro de selección Recuadro de<br />

combinación<br />

Contenedor Campo de entrada Gráfica Recuadro de grupo<br />

Recuadro de lista Subarchivo de Edición de múltiples Cuaderno<br />

mensajes<br />

líneas<br />

Pulsador Botón de selección Graduador Selector cíclico<br />

Texto estático Subarchivo Ventana*<br />

* Restricción: Este atributo no está soportado en tiempo de ejecución en<br />

las aplicaciones Java para este componente.<br />

Nota: En el caso de los componentes calendario y gráfica, el área de font<br />

real afectada queda determinada por el valor del atributo FontArea.<br />

Códigos de operación<br />

SETATR*<br />

Operativo en tiempo de ejecución<br />

sí<br />

GETATR sí<br />

202 <strong>VisualAge</strong> <strong>RPG</strong> Manual de consulta de componentes<br />

* Nota: Puede definirse utilizando el cuaderno de propiedades del<br />

diseñador GUI. Para ello, utilice la página Font y seleccione el<br />

pulsador Cambiar font.


Valor permitido<br />

El valor de FontBold puede ser uno de los siguientes:<br />

0 El font no se visualiza en negrita<br />

1 El font se visualiza en negrita<br />

Ejemplo de formato libre<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C<br />

*<br />

EVAL bold = %getatr('win01': 'ST1': 'FontBold')<br />

C bold IFEQ 0<br />

C EVAL %setatr('win01': 'ST1': 'FontBold') = 1<br />

C ELSE<br />

C EVAL %setatr('win01': 'ST1': 'FontBold') = 0<br />

C<br />

*<br />

ENDIF<br />

Ejemplo de formato fijo<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C<br />

*<br />

'ST1' GETATR 'FONTBOLD' bold 1 0<br />

C<br />

*<br />

'ST1' SETATR 1 'FONTBOLD'<br />

Capítulo 2. Atributos de componente 203


FontItalic<br />

Determina si la etiqueta o el texto se muestra en Cursiva.<br />

Tipo Numérico<br />

Se aplica a los componentes<br />

Calendario Lienzo Recuadro de selección Recuadro de<br />

combinación<br />

Contenedor Campo de entrada Gráfica Recuadro de grupo<br />

Recuadro de lista Subarchivo de Edición de múltiples Cuaderno<br />

mensajes<br />

líneas<br />

Pulsador Botón de selección Graduador Selector cíclico<br />

Texto estático Subarchivo Ventana*<br />

* Restricción: Este atributo no está soportado en tiempo de ejecución en<br />

las aplicaciones Java para este componente.<br />

Nota: En el caso de los componentes calendario y gráfica, el área de font<br />

real afectada queda determinada por el valor del atributo FontArea.<br />

Códigos de operación<br />

SETATR*<br />

Operativo en tiempo de ejecución<br />

sí<br />

GETATR sí<br />

204 <strong>VisualAge</strong> <strong>RPG</strong> Manual de consulta de componentes<br />

* Nota: Puede definirse utilizando el cuaderno de propiedades del<br />

diseñador GUI. Para ello, utilice la página Font y seleccione el<br />

pulsador Cambiar font.


Valor permitido<br />

El valor de FontItalic puede ser uno de los siguientes:<br />

0 El font no se visualiza en cursiva<br />

1 El font se visualiza en cursiva<br />

Ejemplo de formato libre<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C<br />

*<br />

EVAL italic = %getatr('win01': 'ST1': 'FontItalic')<br />

C italic IFEQ 0<br />

C EVAL %setatr('win01': 'ST1': 'FontItalic') = 1<br />

C ELSE<br />

C EVAL %setatr('win01': 'ST1': 'FontItalic') = 0<br />

C<br />

*<br />

ENDIF<br />

Ejemplo de formato fijo<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C<br />

*<br />

'ST1' GETATR 'FONTITALIC' italic 1 0<br />

C<br />

*<br />

'ST1' SETATR 1 'FONTITALIC'<br />

Capítulo 2. Atributos de componente 205


FontName<br />

Especifica el font que va a utilizarse para el texto o la etiqueta que se aplica a este<br />

componente.<br />

Tipo Serie<br />

Se aplica a los componentes<br />

Calendario Lienzo Recuadro de selección Recuadro de<br />

combinación<br />

Contenedor Campo de entrada Gráfica Recuadro de grupo<br />

Recuadro de lista Subarchivo de Edición de múltiples Cuaderno<br />

mensajes<br />

líneas<br />

Pulsador Botón de selección Graduador Selector cíclico<br />

Texto estático Subarchivo Ventana*<br />

* Restricción: Este atributo no está soportado en tiempo de ejecución en<br />

las aplicaciones Java para este componente.<br />

Nota: En el caso de los componentes calendario y gráfica, el área de font<br />

real afectada queda determinada por el valor del atributo FontArea.<br />

Códigos de operación<br />

SETATR*<br />

Operativo en tiempo de ejecución<br />

sí<br />

GETATR sí<br />

* Nota: Puede definirse utilizando el cuaderno de propiedades del<br />

diseñador GUI. Para ello, utilice la página Font y seleccione el<br />

pulsador Cambiar font.<br />

Valor permitido<br />

Nombre del font<br />

Ejemplo de formato libre<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C EVAL oldfont = %getatr('win01': 'ST1': 'FontName')<br />

*<br />

C EVAL %setatr('win01': 'ST1': 'FontName') = 'COURIER'<br />

*<br />

Ejemplo de formato fijo<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C<br />

*<br />

'ST1' GETATR 'FONTNAME' oldfont 64<br />

C<br />

*<br />

'ST1' SETATR 'COURIER' 'FONTNAME'<br />

206 <strong>VisualAge</strong> <strong>RPG</strong> Manual de consulta de componentes


FontSize<br />

Especifica el tamaño del font a utilizar con este componente. El atributo FontSize<br />

se expresa en puntos.<br />

Tipo Numérico<br />

Se aplica a los componentes<br />

Calendario Lienzo Recuadro de selección Recuadro de<br />

combinación<br />

Contenedor Campo de entrada Gráfica Recuadro de grupo<br />

Recuadro de lista Subarchivo de Edición de múltiples Cuaderno<br />

mensajes<br />

líneas<br />

Pulsador Botón de selección Graduador Selector cíclico<br />

Texto estático Subarchivo Ventana*<br />

* Restricción: Este atributo no está soportado en tiempo de ejecución en<br />

las aplicaciones Java para este componente.<br />

Nota: En el caso de los componentes calendario y gráfica, el área de font<br />

real afectada queda determinada por el valor del atributo FontArea.<br />

Códigos de operación<br />

SETATR*<br />

Operativo en tiempo de ejecución<br />

sí<br />

GETATR sí<br />

* Nota: Puede definirse utilizando el cuaderno de propiedades del<br />

diseñador GUI. Para ello, utilice la página Font y seleccione el<br />

pulsador Cambiar font.<br />

Valor permitido<br />

El tamaño de font especificado en puntos<br />

Ejemplo de formato libre<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C EVAL oldsize = %getatr('win01': 'ST1': 'FontSize')<br />

*<br />

C EVAL %setatr('win01': 'ST1': 'FontSize') = 10<br />

*<br />

Ejemplo de formato fijo<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C<br />

*<br />

'ST1' GETATR 'FONTSIZE' oldsize 2 0<br />

C<br />

*<br />

'ST1' SETATR 10 'FONTSIZE'<br />

Capítulo 2. Atributos de componente 207


FontStrike<br />

* Restricción: Este atributo no está soportado en las aplicaciones Java.<br />

Determina si el texto o la etiqueta aparecen en font tachado.<br />

Tipo Numérico<br />

Se aplica a los componentes<br />

Calendario Lienzo Recuadro de selección Recuadro de<br />

combinación<br />

Contenedor Campo de entrada Gráfica Recuadro de grupo<br />

Recuadro de lista Subarchivo de Edición de múltiples Cuaderno<br />

mensajes<br />

líneas<br />

Pulsador Botón de selección Graduador Selector cíclico<br />

Texto estático Subarchivo Ventana<br />

Nota: En el caso de los componentes calendario y gráfica, el área de font<br />

real afectada queda determinada por el valor del atributo FontArea.<br />

Códigos de operación<br />

SETATR*<br />

Operativo en tiempo de ejecución<br />

sí<br />

GETATR sí<br />

208 <strong>VisualAge</strong> <strong>RPG</strong> Manual de consulta de componentes<br />

* Nota: Puede definirse utilizando el cuaderno de propiedades del<br />

diseñador GUI. Para ello, utilice la página Font y seleccione el<br />

pulsador Cambiar font.


Valor permitido<br />

El valor de FontStrike puede ser uno de los siguientes:<br />

0 El font no se visualiza tachado<br />

1 El font se visualiza tachado<br />

Ejemplo de formato libre<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C<br />

*<br />

EVAL strikeout=%getatr('win01':'ST1':'FontStrike')<br />

C strikeout IFEQ 0<br />

C EVAL %setatr('win01':'ST1':'FontStrike')=1<br />

C ELSE<br />

C<br />

*<br />

EVAL %setatr('win01':'ST1':'FontStrike')=0<br />

Ejemplo de formato fijo<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C<br />

*<br />

'ST1' GETATR 'FONTSTRIKE' strikeout 1 0<br />

C<br />

*<br />

'ST1' SETATR 1 'FONTSTRIKE'<br />

Capítulo 2. Atributos de componente 209


FontUnder<br />

* Restricción: Este atributo no está soportado en las aplicaciones Java.<br />

Determina si el texto o la etiqueta aparece subrayado.<br />

Tipo Numérico<br />

Se aplica a los componentes<br />

Calendario Lienzo Recuadro de selección Recuadro de<br />

combinación<br />

Contenedor Campo de entrada Gráfica Recuadro de grupo<br />

Recuadro de lista Subarchivo de Edición de múltiples Cuaderno<br />

mensajes<br />

líneas<br />

Pulsador Botón de selección Graduador Selector cíclico<br />

Texto estático Subarchivo Ventana<br />

Nota: En el caso de los componentes calendario y gráfica, el área de font<br />

real afectada queda determinada por el valor del atributo FontArea.<br />

Códigos de operación<br />

SETATR*<br />

Operativo en tiempo de ejecución<br />

sí<br />

GETATR sí<br />

* Nota: Puede definirse utilizando el cuaderno de propiedades del<br />

diseñador GUI. Para ello, utilice la página Font y seleccione el<br />

pulsador Cambiar font.<br />

Valor permitido<br />

El valor de FontUnder puede ser uno de los siguientes:<br />

0 El texto no se subraya<br />

1 El texto se subraya<br />

210 <strong>VisualAge</strong> <strong>RPG</strong> Manual de consulta de componentes


Ejemplo de formato libre<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C EVAL underline=%getatr('win01':'ST1':'FontUnder')<br />

*<br />

C underline IFEQ 0<br />

C EVAL %setatr('win01':'ST1':'FontUnder')=1<br />

C ELSE<br />

C EVAL %setatr('win01':'ST1':'FontUnder')=0<br />

C ENDIF<br />

*<br />

Ejemplo de formato fijo<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C<br />

*<br />

'ST1' GETATR 'FONTUNDER' underline 1 0<br />

C<br />

*<br />

'ST1' SETATR 1 'FONTUNDER'<br />

Capítulo 2. Atributos de componente 211


ForeColor<br />

Valor numérico que determina el color de primer plano de un componente.<br />

Si el color de primer plano se ha establecido utilizando el atributo ForeMix, el<br />

color de primer plano devuelto es el más próximo al color de mezcla.<br />

Tipo Numérico<br />

Se aplica a los componentes<br />

Recuadro de selección Recuadro de<br />

combinación<br />

Contenedor Campo de entrada<br />

Recuadro de grupo Recuadro de lista Subarchivo de Edición de múltiples<br />

mensajes<br />

líneas<br />

Cuaderno Pulsador Botón de selección Graduador<br />

Selector cíclico Texto estático Subarchivo<br />

Códigos de operación<br />

SETATR*<br />

Operativo en tiempo de ejecución<br />

sí<br />

GETATR sí<br />

*Nota: Puede definirse utilizando el cuaderno de propiedades en el<br />

diseñador GUI.<br />

Valor permitido<br />

El color debe ser uno de los siguientes:<br />

-1 Por omisión (no se utiliza en las aplicaciones Java)<br />

0 Blanco<br />

1 Negro<br />

2 Azul (Blue)<br />

3 Rojo (Red)<br />

4 Rosa<br />

5 Verde<br />

6 Cian<br />

7 Amarillo (Yellow)<br />

8 Gris oscuro<br />

9 Azul oscuro<br />

212 <strong>VisualAge</strong> <strong>RPG</strong> Manual de consulta de componentes


10 Rojo oscuro<br />

11 Rosa oscuro<br />

12 Verde oscuro<br />

13 Cian oscuro<br />

14 Marrón<br />

15 Gris claro<br />

Nota: No se puede utilizar el color por omisión (-1) para SETATR.<br />

Ejemplo de formato libre<br />

Establecer contraste invertido de un campo:<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C EVAL fcolor = %getatr('win01': 'EF1': 'ForeColor')<br />

C<br />

*<br />

EVAL bcolor = %getatr('win01': 'EF1': 'BackColor')<br />

C EVAL %setatr('win01': 'EF1': 'ForeColor') = 2<br />

C<br />

*<br />

EVAL %setatr('win01': 'EF1': 'BackColor') = 15<br />

Ejemplo de formato fijo<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C<br />

*<br />

'EF1' GETATR 'FORECOLOR' fcolor 2 0<br />

C<br />

*<br />

'EF1' SETATR 2 'FORECOLOR'<br />

Capítulo 2. Atributos de componente 213


ForeMix<br />

Consulta o establece la mezcla de colores de primer plano.<br />

Tipo Serie<br />

Se aplica a los componentes<br />

Recuadro de selección Recuadro de<br />

combinación<br />

Contenedor Campo de entrada<br />

Recuadro de grupo Recuadro de lista Subarchivo de Edición de múltiples<br />

mensajes<br />

líneas<br />

Cuaderno Pulsador Botón de selección Graduador<br />

Selector cíclico Texto estático Subarchivo<br />

Códigos de operación<br />

SETATR*<br />

Operativo en tiempo de ejecución<br />

sí<br />

GETATR sí<br />

214 <strong>VisualAge</strong> <strong>RPG</strong> Manual de consulta de componentes<br />

*Nota: Puede definirse utilizando el cuaderno de propiedades en el<br />

diseñador GUI.


Valor permitido<br />

La mezcla de colores de primer plano debe tener el formato siguiente:<br />

'rojo:verde:azul'<br />

donde rojo, verde y azul son valores situados entre 0 y 255 que representan<br />

la intensidad del color respectivo.<br />

Ejemplo de formato libre<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C<br />

*<br />

EVAL colormix = %getatr('win01': 'EF1': 'ForeMix')<br />

C<br />

*<br />

EVAL %setatr('win01': 'EF1': 'ForeMix') = '10:23:200'<br />

Ejemplo de formato fijo<br />

*...1....+....2....+....3....+....4....+... .5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C 'EF1' SETATR '10:23:200' 'FOREMIX'<br />

*<br />

Capítulo 2. Atributos de componente 215


Format<br />

Determina el formato de los datos a los que el atributo Item hace referencia y que<br />

se han enviado a la aplicación del servidor en una conversación DDE. El valor de<br />

este atributo lo determina la aplicación del servidor. Consulte la documentación de<br />

dicha aplicación para ver cuáles son los tipos de formato válidos. El valor por<br />

omisión es cf_text. Debe establecerse este atributo antes de utilizar el atributo Poke.<br />

Tipo Serie<br />

Se aplica a los componentes<br />

Cliente DDE<br />

Códigos de operación<br />

SETATR<br />

Operativo en tiempo de ejecución<br />

sí<br />

GETATR sí<br />

Valor permitido<br />

El formato de los datos a los que se hace referencia y que se envían a la<br />

aplicación del servidor<br />

Ejemplo de formato libre<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C EVAL %setatr('win01': 'DDE1': 'Format') = 'bitmap'<br />

*<br />

Ejemplo de formato fijo<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C 'DDE1' SETATR 'bitmap' 'Format'<br />

*<br />

216 <strong>VisualAge</strong> <strong>RPG</strong> Manual de consulta de componentes


|<br />

|<br />

|<br />

|<br />

|<br />

|<br />

|<br />

|<br />

|<br />

|<br />

|<br />

|<br />

|<br />

|<br />

|<br />

|<br />

|<br />

|<br />

|<br />

|<br />

|<br />

|<br />

|<br />

|<br />

|<br />

|<br />

|<br />

FrameRate<br />

Determina el tiempo, en milisegundos, que transcurre entre cada fotograma de una<br />

secuencia GIF animada.<br />

Tipo Numérico<br />

Se aplica a los componentes<br />

Control de animación<br />

Códigos de operación<br />

SETATR<br />

Operativo en tiempo de ejecución<br />

sí<br />

GETATR no<br />

Valor permitido<br />

El número de milisegundos que transcurren entre las distintas imágenes.<br />

Ejemplo de formato libre<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C EVAL %setatr('win01':'WIN1':'FrameRate')=1000<br />

*<br />

Ejemplo de formato fijo<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C 'ANI' SETATR 1000 'FRAMERATE'<br />

*<br />

Capítulo 2. Atributos de componente 217


FrmtString<br />

Indica la forma en que se visualizan juntos el mes y el año.<br />

Cada vez que se encuentre MMONTH o YYEAR en la serie de formato, se<br />

sustituirán, respectivamente, por el mes o el año actual. Por ejemplo, la serie de<br />

formato ″MMONTH - YYEAR″ correspondiente a julio de 1997 se convierte en<br />

″Julio - 1997″.<br />

Tipo Serie<br />

Se aplica a los componentes<br />

Calendario<br />

Códigos de operación<br />

SETATR*<br />

Operativo en tiempo de ejecución<br />

sí<br />

GETATR sí<br />

*Nota: Puede definirse utilizando el cuaderno de propiedades en el<br />

diseñador GUI.<br />

Ejemplo de formato libre<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C EVAL %setatr('win01': 'CAL1': 'FrmtString') =<br />

C 'MMONTH/YYEAR'<br />

*<br />

Ejemplo de formato fijo<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C 'CAL1' SETATR 'MMONTH/YYEAR''FRMTSTRING'<br />

*<br />

218 <strong>VisualAge</strong> <strong>RPG</strong> Manual de consulta de componentes


GetItem<br />

Devuelve un elemento de una lista. El elemento a devolver se determina<br />

estableciendo primero el valor del atributo Index.<br />

Tipo Serie<br />

Se aplica a los componentes<br />

Recuadro de<br />

combinación<br />

Códigos de operación<br />

Recuadro de lista Subarchivo de<br />

mensajes<br />

SETATR<br />

Operativo en tiempo de ejecución<br />

no<br />

GETATR sí<br />

Ejemplo de formato libre<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C EVAL x = %getatr('win01': 'LB1': 'GetItem')<br />

*<br />

Ejemplo de formato fijo<br />

Guardar un elemento en un recuadro de lista y cambiarlo:<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C 'LB1' SETATR 3 'INDEX'<br />

C 'LB1' GETATR 'GETITEM' saveitem 64<br />

C<br />

*<br />

'LB1' SETATR 'New string' 'SetItem'<br />

Capítulo 2. Atributos de componente 219


GetNewID<br />

Devuelve un ID nuevo y exclusivo para un registro de contenedor. Utilice este<br />

atributo para asegurarse de que todos los ID de registros de contenedor son<br />

exclusivos. El identificador de registro devuelto es un valor numérico.<br />

Tipo Numérico<br />

Se aplica a los componentes<br />

Contenedor<br />

Códigos de operación<br />

SETATR<br />

Operativo en tiempo de ejecución<br />

no<br />

GETATR sí<br />

Ejemplo de formato libre<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C EVAL id = %getatr('win01': 'CN1': 'GetNewID')<br />

*<br />

Ejemplo de formato fijo<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C 'CN1' GETATR 'GetNewID' id<br />

*<br />

220 <strong>VisualAge</strong> <strong>RPG</strong> Manual de consulta de componentes


GetRcdFld<br />

Devuelve el contenido de un campo de un registro de contenedor. El atributo<br />

RecordID del contenedor debe estar establecido para indicar qué registro de<br />

contenedor se ha de utilizar. También debe estar establecido el atributo<br />

ColNumber para indicar el campo del que se recuperarán los datos.<br />

Tipo Serie<br />

Se aplica a los componentes<br />

Contenedor<br />

Códigos de operación<br />

SETATR<br />

Operativo en tiempo de ejecución<br />

no<br />

GETATR sí<br />

Ejemplo de formato libre<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C EVAL %setatr('win01': 'CN1': 'RecordID')=ID<br />

C EVAL %setatr('win01': 'CN1': 'ColNumber')=1<br />

C<br />

*<br />

EVAL data = %getatr('win01': 'CN1': 'GetRcdFld')<br />

Ejemplo de formato fijo<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C 'CN1' SETATR ID 'RECORDID'<br />

C 'CN1' SETATR 1 'COLNUMBER'<br />

C<br />

*<br />

'CN1' GETATR 'GETRCDFLD' data<br />

Capítulo 2. Atributos de componente 221


GetRcdIcon<br />

Devuelve el nombre de archivo del icono que se utiliza para representar este<br />

registro en la vista de árbol y de iconos. El atributo RecordID debe estar<br />

establecido para identificar a qué registro se hace referencia.<br />

Tipo Serie<br />

Se aplica a los componentes<br />

Contenedor<br />

Códigos de operación<br />

SETATR<br />

Operativo en tiempo de ejecución<br />

no<br />

GETATR sí<br />

Ejemplo de formato libre<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C EVAL file = %getatr('win01': 'CN1': 'GetRcdIcon')<br />

*<br />

Ejemplo de formato fijo<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C 'CN1' GETATR 'GETRCDICON' file<br />

*<br />

222 <strong>VisualAge</strong> <strong>RPG</strong> Manual de consulta de componentes


GetRcdText<br />

Devuelve el texto del icono correspondiente a un registro del contenedor. El<br />

atributo RecordID debe estar establecido para identificar a qué registro se hace<br />

referencia.<br />

Tipo Serie<br />

Se aplica a los componentes<br />

Contenedor<br />

Códigos de operación<br />

SETATR<br />

Operativo en tiempo de ejecución<br />

no<br />

GETATR sí<br />

Ejemplo de formato libre<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C EVAL text = %getatr('win01': 'CN1': 'GetRcdText')<br />

*<br />

Ejemplo de formato fijo<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C 'CN1' GETATR 'GETRCDTEXT' text<br />

*<br />

Capítulo 2. Atributos de componente 223


GetTables<br />

Al establecer este atributo en 1, se recupera la lista de las tablas almacenadas en<br />

una fuente de datos. El componente Interfaz ODBC/JDBC devuelve la lista como<br />

un conjunto de datos. Este atributo es equivalente a la API ODBC de tablas SQL.<br />

Puede utilizar el atributo FetchNext para obtener los registros de tablas del<br />

conjunto de datos devuelto.<br />

Para ODBC, cada registro de la lista corresponde a una tabla y contiene la<br />

información siguiente:<br />

Columna Nombre de<br />

columna<br />

Tipo de datos Comentarios<br />

1 Calificador de tabla Carácter<br />

2 Propietario de tabla Carácter El propietario de la tabla<br />

3 Nombre de tabla Carácter El nombre de la tabla<br />

4 Tipo de tabla Carácter Una serie que representa el tipo<br />

de la tabla<br />

5 Observaciones Carácter Una descripción de la tabla<br />

Consulte la documentación de la API ODBC para conocer los detalles de las<br />

descripciones de columna.<br />

Para JDBC, se devuelve la información siguiente:<br />

Columna Nombre de<br />

columna<br />

Tipo de datos Comentarios<br />

1 TABLE_CAT Carácter Catálogo de tablas (puede ser un<br />

nulo)<br />

2 TABLE_SCHEM Carácter Esquema de tablas (puede ser un<br />

nulo)<br />

3 TABLE_NAME Carácter El nombre de la tabla<br />

4 TABLE_TYPE Carácter Una serie que representa el tipo<br />

de la tabla. Los valores usuales<br />

son: TABLE, VIEW, SYSTEM<br />

TABLE, ALIAS, etcétera.<br />

5 REMARKS Carácter Una descripción de la tabla<br />

Consulte la documentación de la API JDBC para conocer los detalles de las<br />

descripciones de columna.<br />

224 <strong>VisualAge</strong> <strong>RPG</strong> Manual de consulta de componentes


Tipo Numérico<br />

Se aplica a los componentes<br />

Interfaz ODBC/JDBC<br />

Códigos de operación<br />

SETATR<br />

Operativo en tiempo de ejecución<br />

sí<br />

GETATR no<br />

Ejemplo de formato libre<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C EVAL %setatr('win01':'ODBC1':'GetTables')=1<br />

*<br />

Ejemplo de formato fijo<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C 'ODBC1' SETATR 1 'GETTABLES'<br />

*<br />

Ejemplo de GetTables<br />

En este ejemplo se muestra cómo obtener una lista de tablas de una fuente de<br />

datos y listarlas en el recuadro de lista TABLES:<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

C 'ODBC1' Setatr 1 'GetTables'<br />

C 'ODBC1' Setatr 1 'Fetch'<br />

C 'ODBC1' Getatr 'IsData' Temp 1 0<br />

*<br />

C If Temp = 1<br />

C 'Tables' Setatr 0 'RemoveItem'<br />

*<br />

C DoW Temp = 1<br />

C 'ODBC1' Setatr 3 'Column'<br />

C 'ODBC1' Getatr 'CharData' TableName 20<br />

C 'Tables' Setatr TableName 'AddItemEnd'<br />

C 'ODBC1' Setatr 1 'FetchNext'<br />

C 'ODBC1' Getatr 'IsData' Temp<br />

C EndDo<br />

*<br />

C EndIf<br />

Capítulo 2. Atributos de componente 225


GnEqGrpCol<br />

Genera un conjunto aleatorio de colores de manera que todos los puntos de datos<br />

de un mismo grupo sean del mismo color.<br />

Este atributo resulta útil cuando se muestra una gráfica de barras.<br />

Tipo Numérico<br />

Se aplica a los componentes<br />

Gráfica<br />

Códigos de operación<br />

SETATR<br />

Operativo en tiempo de ejecución<br />

sí<br />

GETATR no<br />

Valor permitido<br />

El valor sólo puede definirse en 1.<br />

Ejemplo de formato libre<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C EVAL %setatr('win01':'GR1':'GnEqGrpCol')=1<br />

*<br />

Ejemplo de formato fijo<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C 'GR1' SETATR 1 'GNEQGRPCOL'<br />

*<br />

226 <strong>VisualAge</strong> <strong>RPG</strong> Manual de consulta de componentes


GnEqPntCol<br />

Genera un conjunto aleatorio de colores de manera que todos los valores de un<br />

punto de datos determinado sean del mismo color.<br />

Este atributo resulta útil cuando se muestra un diagrama circular.<br />

Tipo Numérico<br />

Se aplica a los componentes<br />

Gráfica<br />

Códigos de operación<br />

SETATR<br />

Operativo en tiempo de ejecución<br />

sí<br />

GETATR no<br />

Valor permitido<br />

El valor sólo puede definirse en 1.<br />

Ejemplo de formato libre<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C EVAL %setatr('win01':'GR1':'GnEqPntCol')=1<br />

*<br />

Ejemplo de formato fijo<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C 'GR1' SETATR 1 'GNEQPNTCOL'<br />

*<br />

Capítulo 2. Atributos de componente 227


GraphType<br />

Indica qué tipo de gráfica se utiliza.<br />

Tipo Numérico<br />

Se aplica a los componentes<br />

Gráfica<br />

Códigos de operación<br />

SETATR*<br />

Operativo en tiempo de ejecución<br />

sí<br />

GETATR sí<br />

*Nota: Puede definirse utilizando el cuaderno de propiedades en el<br />

diseñador GUI.<br />

Valor permitido<br />

GraphType puede tener uno de los siguientes valores:<br />

1 Gráfica de líneas<br />

2 Gráfica de barras<br />

3 Gráfica de barras y de líneas<br />

4 Diagrama circular<br />

Ejemplo de formato libre<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C<br />

*<br />

EVAL GRtype = %getatr('win01': 'GRT1': 'GraphType')<br />

C<br />

*<br />

EVAL %setatr('win01': 'GRT1': 'GraphType') = 2<br />

Ejemplo de formato fijo<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C<br />

*<br />

'GRT1' GETATR 'GRAPHTYPE' 'GRtype' 1 0<br />

C<br />

*<br />

'GRT1' SETATR 2 'GRAPHTYPE'<br />

228 <strong>VisualAge</strong> <strong>RPG</strong> Manual de consulta de componentes


GrphHiLite<br />

Determina si se resalta un elemento.<br />

Tipo Numérico<br />

Se aplica a los componentes<br />

Gráfica<br />

Códigos de operación<br />

SETATR<br />

Operativo en tiempo de ejecución<br />

sí<br />

GETATR sí<br />

Valor permitido<br />

El valor de GrphHiLite puede ser uno de los siguientes:<br />

0 No se resalta el elemento<br />

1 Sí se resalta el elemento<br />

Ejemplo de formato libre<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C<br />

*<br />

EVAL lite = %getatr('win01': 'GR1': 'GrphHiLite')<br />

C lite IFEQ 0<br />

C EVAL %setatr('win01': 'GR1': 'GrphHiLite') = 1<br />

C ELSE<br />

C EVAL %setatr('win01':<br />

'GR1': 'GrphHiLite') = 0<br />

C<br />

*<br />

ENDIF<br />

Ejemplo de formato fijo<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C<br />

*<br />

'GR1' GETATR 'GRPHHILITE' lite 1 0<br />

C<br />

*<br />

'GR1' SETATR 1 'GRPHHILITE'<br />

Capítulo 2. Atributos de componente 229


GroupLabel<br />

Indica cuál es la etiqueta del grupo actual. Las etiquetas de grupo se utilizan como<br />

encabezamiento de cada uno de los grupos de puntos, si la gráfica es un diagrama<br />

circular, o como leyenda, si ésta está definida para mostrar las etiquetas de grupo.<br />

Tipo Serie<br />

Se aplica a los componentes<br />

Gráfica<br />

Códigos de operación<br />

SETATR*<br />

Operativo en tiempo de ejecución<br />

sí<br />

GETATR sí<br />

*Nota: Puede definirse utilizando el cuaderno de propiedades en el<br />

diseñador GUI.<br />

Ejemplo de formato libre<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C EVAL %setatr('win01':'graph1':'GroupLabel')='July'<br />

*<br />

Ejemplo de formato fijo<br />

Guardar la etiqueta actual de un componente gráfica y establecer un nuevo<br />

valor para la misma:<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C 'GRAPH01' GETATR 'GROUPLABEL' oldlabel<br />

C 'GRAPH01' SETATR 'July' 'GROUPLABEL'<br />

*<br />

230 <strong>VisualAge</strong> <strong>RPG</strong> Manual de consulta de componentes


Handle<br />

* Restricción: Este atributo no está soportado en las aplicaciones Java.<br />

Devuelve el handle de ventana del componente. Si está familiarizado con las API<br />

de Windows, puede utilizar este handle para invocar las funciones de API. En el<br />

proceso ODBC, devuelve el handle de entorno.<br />

Por ejemplo, cuando el componente Interfaz ODBC/JDBC se conecta a una base de<br />

datos, se crea un handle de entorno y se devuelve al componente. El componente<br />

utiliza este handle para comunicarse con la API ODBC. El atributo Handle se<br />

puede utilizar para recuperar la variable de handle del programa e invocar las<br />

funciones de la API ODBC. La variable de handle es un valor de 32 bits. Debe<br />

codificar la variable para recibir el handle como tipo de datos entero con una<br />

longitud de 10 y 0 decimales:<br />

DName+++++++++++ETDsFrom+++To/L+++IDc.Keywords+++++++++++++<br />

D hWnd S 10I 0<br />

Tipo Numérico<br />

Se aplica a los componentes<br />

Todos los componentes excepto los siguientes: ActiveX, *componente<br />

lógico, referencia a componente lógico, barra de menús, opción de menú,<br />

página de cuaderno, página de cuaderno con lienzo, submenú y<br />

temporizador.<br />

Códigos de operación<br />

SETATR<br />

Operativo en tiempo de ejecución<br />

no<br />

GETATR sí<br />

Valor devuelto<br />

Devuelve el handle del componente.<br />

Ejemplo de formato libre<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C EVAL hWnd = %getatr('win01': 'FW1': 'Handle')<br />

*<br />

Ejemplo de formato fijo<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C 'FW1' GETATR 'HANDLE' hWnd<br />

*<br />

Capítulo 2. Atributos de componente 231


HasPrpPage<br />

Devuelve el valor 1 si el objeto ActiveX tiene su propio diálogo de página de<br />

propiedades. Devuelve el valor 0 si no lo tiene.<br />

Tipo Numérico<br />

Se aplica a los componentes<br />

ActiveX<br />

Códigos de operación<br />

SETATR<br />

Operativo en tiempo de ejecución<br />

no<br />

GETATR sí<br />

Ejemplo de formato libre<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C EVAL PPG=%getatr('win01':'AX1':'HasPrpPage')<br />

*<br />

Ejemplo de formato fijo<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C 'AX1' GETATR 'HASPRPPAGE' PPG<br />

*<br />

232 <strong>VisualAge</strong> <strong>RPG</strong> Manual de consulta de componentes


HdgBGClr<br />

Valor numérico que determina el color de fondo de una cabecera de subarchivo.<br />

Si el color de fondo se ha establecido mediante el atributo HdgBGMix, el color de<br />

fondo devuelto es el que se parece más al color de mezcla.<br />

Tipo Numérico<br />

Se aplica a los componentes<br />

Subarchivo<br />

Códigos de operación<br />

SETATR<br />

Operativo en tiempo de ejecución<br />

sí<br />

GETATR sí<br />

Valor permitido<br />

El color debe ser uno de los siguientes:<br />

-1 Por omisión<br />

0 Blanco<br />

1 Negro<br />

2 Azul<br />

3 Rojo<br />

4 Rosa<br />

5 Verde<br />

6 Cian<br />

7 Amarillo<br />

8 Gris oscuro<br />

9 Azul oscuro<br />

10 Rojo oscuro<br />

Capítulo 2. Atributos de componente 233


11 Rosa oscuro<br />

12 Verde oscuro<br />

13 Cian oscuro<br />

14 Marrón<br />

15 Gris claro<br />

Ejemplo de formato libre<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C<br />

*<br />

EVAL HBcolor = %getatr('win01': 'SFL1': 'HdgBGClr')<br />

C<br />

*<br />

EVAL %setatr('win01': 'SFL1': 'HdgBGClr') = 5<br />

Ejemplo de formato fijo<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C<br />

*<br />

'SFL1' GETATR 'HDGBGCLR' HBcolor 2 0<br />

C<br />

*<br />

'SFL1' SETATR 5 'HDGBGCLR'<br />

234 <strong>VisualAge</strong> <strong>RPG</strong> Manual de consulta de componentes


HdgBGMix<br />

Consulta o establece la mezcla de colores de fondo de una cabecera de subarchivo.<br />

Tipo Serie<br />

Se aplica a los componentes<br />

Subarchivo<br />

Códigos de operación<br />

SETATR<br />

Operativo en tiempo de ejecución<br />

sí<br />

GETATR sí<br />

Valor permitido<br />

La mezcla del color de fondo debe tener el formato siguiente:<br />

'rojo:verde:azul'<br />

donde rojo, verde y azul son valores situados entre 0 y 255 que representan<br />

la intensidad del color respectivo.<br />

Ejemplo de formato libre<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C<br />

*<br />

EVAL HBclrMx=%getatr('win01':'SFL1':'HdgBGMix')<br />

C HBclrMx IFNE '10:23:200'<br />

C EVAL %setatr('win01':'SFL1':'HdgBGMix')='10:23:200'<br />

C<br />

*<br />

ENDIF<br />

Ejemplo de formato fijo<br />

*...1....+....2....+....3....+....4....+... .5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C 'SFL1' SETATR '10:23:200' 'HDGBGMIX'<br />

*<br />

Capítulo 2. Atributos de componente 235


HdgFGClr<br />

Valor numérico que determina el color de primer plano de una cabecera de<br />

subarchivo.<br />

Si el color de primer plano se ha establecido mediante el atributo HdgFGMix, el<br />

color de primer plano devuelto es el que se parece más al color de mezcla.<br />

Tipo Numérico<br />

Se aplica a los componentes<br />

Subarchivo<br />

Códigos de operación<br />

SETATR<br />

Operativo en tiempo de ejecución<br />

sí<br />

GETATR sí<br />

Valor permitido<br />

El color debe ser uno de los siguientes:<br />

-1 Por omisión<br />

0 Blanco<br />

1 Negro<br />

2 Azul<br />

3 Rojo<br />

4 Rosa<br />

5 Verde<br />

6 Cian<br />

7 Amarillo<br />

8 Gris oscuro<br />

9 Azul oscuro<br />

10 Rojo oscuro<br />

11 Rosa oscuro<br />

12 Verde oscuro<br />

13 Cian oscuro<br />

14 Marrón<br />

15 Gris claro<br />

236 <strong>VisualAge</strong> <strong>RPG</strong> Manual de consulta de componentes


Ejemplo de formato libre<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C EVAL HFcolor = %getatr('win01': 'SFL1': 'HdgFGClr')<br />

*<br />

C EVAL %setatr('win01': 'SFL1': 'HdgFGClr') = 5<br />

*<br />

Ejemplo de formato fijo<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C<br />

*<br />

'SFL1' GETATR 'HDGFGCLR' HFcolor 2 0<br />

C<br />

*<br />

'SFL1' SETATR 5 'HDGFGCLR'<br />

Capítulo 2. Atributos de componente 237


HdgFGMix<br />

Consulta o establece la mezcla de colores de primer plano de una cabecera de<br />

subarchivo.<br />

Tipo Serie<br />

Se aplica a los componentes<br />

Subarchivo<br />

Códigos de operación<br />

SETATR<br />

Operativo en tiempo de ejecución<br />

sí<br />

GETATR sí<br />

Valor permitido<br />

La mezcla de colores de primer plano debe tener el formato siguiente:<br />

'rojo:verde:azul'<br />

donde rojo, verde y azul son valores situados entre 0 y 255 que representan<br />

la intensidad del color respectivo.<br />

Ejemplo de formato libre<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C<br />

*<br />

EVAL HFclrMx = %getatr('win01': 'SFL1': 'HdgFGMix')<br />

C HFclrMx IFNE '10:23:200'<br />

C EVAL %setatr('win01': 'SFL1': 'HdgFGMix')<br />

C = '10:23:200'<br />

C<br />

*<br />

ENDIF<br />

Ejemplo de formato fijo<br />

*...1....+....2....+....3....+....4....+... .5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C 'SFL1' SETATR '10:23:200' 'HDGFGMIX'<br />

*<br />

238 <strong>VisualAge</strong> <strong>RPG</strong> Manual de consulta de componentes


HdgIdx<br />

Identifica la fila en una cabecera de columna de varias líneas. Por ejemplo, un<br />

valor de 1 especifica la primera fila. Utilice este atributo junto con el atributo<br />

ColNumber para recuperar o cambiar el texto especificado en el atributo HdgText.<br />

Tipo Numérico<br />

Se aplica a los componentes<br />

Subarchivo<br />

Códigos de operación<br />

SETATR<br />

Operativo en tiempo de ejecución<br />

sí<br />

GETATR sí<br />

Valor permitido<br />

HdgIdx puede estar entre 1y3.<br />

Ejemplo de formato libre<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C EVAL %setatr('win01':'SF1':'HdgIdx')=3<br />

C EVAL %setatr('win01': 'SF1': 'ColNumber') = 2<br />

*<br />

Ejemplo de formato fijo<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C 'SF1' SETATR 3 'HDGIDX'<br />

C<br />

*<br />

'SF1' SETATR 2 'COLNUMBER'<br />

Capítulo 2. Atributos de componente 239


HdgText<br />

El texto de la cabecera de columna. Este texto puede contener hasta tres líneas de<br />

texto. Puede ser un identificador de mensaje del archivo de mensajes o etiqueta de<br />

sustitución. Para cambiar este texto en tiempo de ejecución, debe establecer antes<br />

los atributos ColNumber y HdgIdx.<br />

Tipo Serie<br />

Se aplica a los componentes<br />

Subarchivo<br />

Códigos de operación<br />

SETATR<br />

Operativo en tiempo de ejecución<br />

sí<br />

GETATR sí<br />

Ejemplo de formato libre<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C EVAL %setatr('win01':'SF1':'HdgText')='HEAD1'<br />

*<br />

Ejemplo de formato fijo<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C 'SF1' SETATR 'HEAD1' 'HDGTEXT'<br />

*<br />

240 <strong>VisualAge</strong> <strong>RPG</strong> Manual de consulta de componentes


|<br />

|<br />

|<br />

|<br />

|<br />

|<br />

|<br />

Height<br />

Especifica la altura del componente en pixels.<br />

El atributo Height no puede sobrepasar la altura máxima determinada por la<br />

resolución de pantalla utilizada. Por ejemplo, no se puede crear un componente<br />

que tenga 600 pixels de altura si se trabaja con una pantalla de 480 pixels de<br />

altura.<br />

Tipo Numérico<br />

Se aplica a los componentes<br />

ActiveX Calendario Lienzo Recuadro de selección<br />

Recuadro de<br />

combinación<br />

Contenedor Campo de entrada Gráfica<br />

Pulsador gráfico Recuadro de grupo Barra de<br />

desplazamiento<br />

horizontal<br />

Imagen<br />

Bean Java Recuadro de lista Panel de medios Subarchivo de<br />

mensajes<br />

Edición de múltiples<br />

líneas<br />

Cuaderno Interfaz ODBC/JDBC Recuadro de contorno<br />

Barra de progreso Pulsador Botón de selección Graduador<br />

Selector cíclico<br />

Ventana<br />

Texto estático Subarchivo Barra de<br />

desplazamiento<br />

vertical<br />

Códigos de operación<br />

SETATR*<br />

Operativo en tiempo de ejecución<br />

sí<br />

GETATR sí<br />

*Nota: Puede definirse utilizando el cuaderno de propiedades en el<br />

diseñador GUI.<br />

Valor permitido<br />

La altura del componente en pixels<br />

Ejemplo de formato libre<br />

Cambiar la altura de un componente:<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C EVAL howtall = %getatr('win01': 'PB1': 'Height')<br />

C howtall add 150 howtall<br />

C EVAL %setatr('win01': 'PB1': 'Height') = howtall<br />

*<br />

Ejemplo de formato fijo<br />

Hacer que un pulsador tenga 100 pixels menos de altura:<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C 'PB1' GETATR 'HEIGHT' OldHeight 2 0<br />

C OldHeight SUB 100 NewHeight 2 0<br />

C<br />

*<br />

'PB1' SETATR NewHeight 'HEIGHT'<br />

Capítulo 2. Atributos de componente 241


HelpEnable<br />

Visualiza información de Ayuda cuando el usuario pulsa un pulsador o un<br />

pulsador gráfico. Es lo más útil si desea visualizar Ayuda general para una<br />

ventana. Generalmente, para visualizar Ayuda para un componente, el usuario<br />

debe pulsar la tecla F1 cuando el componente tiene el foco.<br />

Nota: Para que el usuario pueda visualizar la ayuda, primero debe dar el foco al<br />

componente pulsador o pulsador gráfico.<br />

Tipo Numérico<br />

Se aplica a los componentes<br />

Pulsador gráfico Pulsador<br />

Códigos de operación<br />

SETATR*<br />

Operativo en tiempo de ejecución<br />

sí<br />

GETATR sí<br />

*Nota: Puede definirse utilizando el cuaderno de propiedades del<br />

diseñador GUI. Para ello, seleccione el estilo Visualizar ayuda.<br />

Valor permitido<br />

El valor de HelpEnable puede ser uno de los siguientes:<br />

0 No está habilitada la Ayuda para este componente<br />

1 Está habilitada la Ayuda para este componente<br />

242 <strong>VisualAge</strong> <strong>RPG</strong> Manual de consulta de componentes


Ejemplo de formato libre<br />

Conmutar el estado de ayuda habilitada de un componente:<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C<br />

*<br />

EVAL rc = %getatr('win01': 'PB1': 'HelpEnable')<br />

C rc IFEQ 0<br />

C<br />

*<br />

EVAL %setatr('win01': 'PB1': 'HelpEnable') = 1<br />

C ELSE<br />

C EVAL %setatr('win01': 'PB1': 'HelpEnable') = 0<br />

C<br />

*<br />

ENDIF<br />

Ejemplo de formato fijo<br />

Conmutar el estado de ayuda habilitada de un campo de entrada:<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C 'PB1' GETATR 'HELPENABLE' HasHelp 1 0<br />

C HasHelp IFEQ 1<br />

C<br />

*<br />

'PB1' SETATR 0 'HELPENABLE'<br />

C ELSE<br />

C 'PB1' SETATR 1 'HELPENABLE'<br />

C<br />

*<br />

ENDIF<br />

Capítulo 2. Atributos de componente 243


HelpWindow<br />

Origina la visualización de una ventana específica de panel de ayuda. El valor de<br />

helpid es el identificador de ayuda especificado en el archivo de ayuda. Si se<br />

utiliza el valor de identificador de ayuda 0, se visualizará un diálogo de temas de<br />

ayuda del estilo de Windows 95.<br />

Tipo Numérico<br />

Se aplica a los componentes<br />

*Component<br />

Códigos de operación<br />

SETATR<br />

Operativo en tiempo de ejecución<br />

sí<br />

GETATR no<br />

Valor permitido<br />

El helpid<br />

Ejemplo de formato libre<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C EVAL %setatr('*component':'*component':'HelpWindow')=<br />

C 12<br />

*<br />

Ejemplo de formato fijo<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C '*component' SETATR 12 'HELPWINDOW'<br />

*<br />

244 <strong>VisualAge</strong> <strong>RPG</strong> Manual de consulta de componentes


Hidden<br />

Determina si una columna de un subarchivo será visible. El atributo ColNumber<br />

debe estar establecido para indicar a qué columna afecta.<br />

Tipo Numérico<br />

Se aplica a los componentes<br />

Subarchivo<br />

Códigos de operación<br />

SETATR<br />

Operativo en tiempo de ejecución<br />

sí<br />

GETATR sí<br />

Valor permitido<br />

El valor de Hidden puede ser uno de los siguientes:<br />

0 La columna no está oculta<br />

1 La columna está oculta<br />

Ejemplo de formato libre<br />

Cambiar el estado Hidden de una columna<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C<br />

*<br />

EVAL rc = %getatr('win01': 'SF1': 'Hidden')<br />

C rc IFEQ 0<br />

C<br />

*<br />

EVAL %setatr('win01': 'SF1': 'Hidden') = 1<br />

C ELSE<br />

C EVAL %setatr('win01': 'SF1': 'Hidden') = 0<br />

C<br />

*<br />

ENDIF<br />

Ejemplo de formato fijo<br />

Cambiar el estado Hidden de un atributo<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C 'SF1' GETATR 'HIDDEN' IsHidden 1 0<br />

C IsHidden IFEQ 1<br />

C<br />

*<br />

'SF1' SETATR 0 'HIDDEN'<br />

C ELSE<br />

C 'SF1' SETATR 1 'HIDDEN'<br />

C<br />

*<br />

ENDIF<br />

Capítulo 2. Atributos de componente 245


HighLight<br />

Determina si se resalta el componente especificado. Un componente resaltado tiene<br />

el mismo aspecto que un botón en el que se pulse el botón 1 del ratón mientras el<br />

puntero del ratón está sobre el control del botón.<br />

Tipo Numérico<br />

Se aplica a los componentes<br />

Recuadro de<br />

selección*<br />

Pulsador gráfico Pulsador Botón de selección*<br />

* Restricción: Este atributo no está soportado en tiempo de ejecución en<br />

las aplicaciones Java para este componente.<br />

Códigos de operación<br />

SETATR<br />

Operativo en tiempo de ejecución<br />

sí<br />

GETATR sí<br />

Valor permitido<br />

El valor de HighLight puede ser uno de los siguientes:<br />

0 El componente no está resaltado<br />

1 El componente está resaltado<br />

246 <strong>VisualAge</strong> <strong>RPG</strong> Manual de consulta de componentes


Ejemplo de formato libre<br />

Conmutar el estado de HighLight de un componente:<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C<br />

*<br />

EVAL rc = %getatr('win01': 'PB1': 'HighLight')<br />

C rc IFEQ 0<br />

C<br />

*<br />

EVAL %setatr('win01': 'PB1': 'HighLight') = 1<br />

C ELSE<br />

C EVAL %setatr('win01': 'PB1': 'HighLight') = 0<br />

C<br />

*<br />

ENDIF<br />

Ejemplo de formato fijo<br />

Conmutar el estado de HighLight de un componente:<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C 'PB1' GETATR 'HIGHLIGHT' IsHighlighted 1 0<br />

C IsHilighted IFEQ 1 0<br />

C<br />

*<br />

'PB1' SETATR 0 'HIGHLIGHT'<br />

C ELSE<br />

C 'PB1' SETATR 1 0 'HIGHLIGHT'<br />

C<br />

*<br />

ENDIF<br />

Capítulo 2. Atributos de componente 247


HitItem<br />

Una vez establecido UnderPoint, HitItem indicará qué aspecto de la gráfica está<br />

debajo del punto especificado.<br />

Si debajo del punto especificado se encuentra una barra o un sector, se establecen<br />

DataGroup y DataPoint.<br />

Si la gráfica es un diagrama circular y debajo del punto especificado hay una<br />

etiqueta de grupo, se establece DataGroup.<br />

Nota: Este atributo no se utiliza en las aplicaciones Java.<br />

Tipo Numérico<br />

Se aplica a los componentes<br />

Gráfica<br />

Códigos de operación<br />

SETATR<br />

Operativo en tiempo de ejecución<br />

no<br />

GETATR sí<br />

Valor devuelto<br />

Uno de los siguientes:<br />

0 No hay nada debajo del punto especificado<br />

1 Debajo del punto especificado hay una barra<br />

2 Debajo del punto especificado hay un sector<br />

3 Debajo del punto especificado está la leyenda<br />

4 Debajo del punto especificado está el título<br />

5 Debajo del punto especificado está la etiqueta del eje de la X<br />

6 Debajo del punto especificado está la etiqueta del eje de la Y<br />

7 Debajo del punto especificado hay una etiqueta de grupo<br />

248 <strong>VisualAge</strong> <strong>RPG</strong> Manual de consulta de componentes


Ejemplo de formato libre<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C EVAL itemhit = %getatr('win01': 'GRA1': 'HitItem')<br />

*<br />

Ejemplo de formato fijo<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C 'GRA1' GETATR 'HITITEM' itemhit 1 0<br />

*<br />

Capítulo 2. Atributos de componente 249


HlitPoints<br />

* Restricción: Este atributo no está soportado en las aplicaciones Java.<br />

Si se establece HlitPoints, se resaltan todos los datos del grupo indicado por<br />

DataGroup. Este es relevante sólo si la gráfica es de barras.<br />

Tipo Numérico<br />

Se aplica a los componentes<br />

Gráfica<br />

Códigos de operación<br />

SETATR<br />

Operativo en tiempo de ejecución<br />

sí<br />

GETATR sí<br />

Valor permitido<br />

Los valores permitidos son los siguientes:<br />

0 El grupo de datos actual no está resaltado<br />

Cualquier valor que no sea cero<br />

El grupo de datos actual está resaltado<br />

Ejemplo de formato libre<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C EVAL %setatr('win01': 'GP1': 'HlitPoints') = 20<br />

*<br />

Ejemplo de formato fijo<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C 'GP1' SETATR 20 'HLITPOINTS'<br />

*<br />

250 <strong>VisualAge</strong> <strong>RPG</strong> Manual de consulta de componentes


HRule<br />

Visualiza reglas horizontales.<br />

Tipo Numérico<br />

Se aplica a los componentes<br />

Calendario Subarchivo<br />

Códigos de operación<br />

SETATR<br />

Operativo en tiempo de ejecución<br />

sí<br />

GETATR sí<br />

Valor permitido<br />

El valor de HRule puede ser uno de los siguientes:<br />

0 Desactiva la regla<br />

1 Activa la regla<br />

Ejemplo de formato libre<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C<br />

*<br />

EVAL Hzrule = %getatr('win01': 'SF1': 'HRule')<br />

C Hzrule IFEQ 0<br />

C EVAL %setatr('win01': 'SF1': 'HRule') = 1<br />

C ELSE<br />

C EVAL %setatr('win01': 'SF1': 'HRule') = 0<br />

C<br />

*<br />

ENDIF<br />

Ejemplo de formato fijo<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C<br />

*<br />

'SF1' GETATR 'HRULE' Hzrule 1 0<br />

C<br />

*<br />

'SF1' SETATR 1 'HRULE'<br />

Capítulo 2. Atributos de componente 251


IconHandle<br />

* Restricción: Este atributo no está soportado en las aplicaciones Java.<br />

Devuelve el handle del icono de ventana.<br />

Tipo Numérico<br />

Se aplica a los componentes<br />

Ventana Ventana con lienzo<br />

Códigos de operación<br />

SETATR<br />

Operativo en tiempo de ejecución<br />

no<br />

GETATR sí<br />

Ejemplo de formato libre<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C EVAL ichW=%getatr('win01':'FW1':'IconHandle')<br />

*<br />

Ejemplo de formato fijo<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C 'FW1' GETATR 'ICONHANDLE' ICHW<br />

*<br />

252 <strong>VisualAge</strong> <strong>RPG</strong> Manual de consulta de componentes


Index<br />

Establece el valor de índice para la parte de lista de un componente. Este valor<br />

determina el elemento que se ve afectado cuando se utilizan determinados<br />

atributos. Por ejemplo, el atributo Index debe establecerse para un elemento para<br />

que el atributo GetItem se pueda utilizar para recuperarlo.<br />

Tipo Numérico<br />

Se aplica a los componentes<br />

Recuadro de<br />

combinación<br />

Códigos de operación<br />

Recuadro de lista Subarchivo de<br />

mensajes<br />

Subarchivo<br />

SETATR<br />

Operativo en tiempo de ejecución<br />

sí<br />

GETATR sí<br />

Valor permitido<br />

Valor de índice<br />

Ejemplo de formato libre<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C<br />

*<br />

EVAL %setatr('win01': 'LB1': 'Index') = 4<br />

C<br />

*<br />

EVAL index = %getatr('win01': 'LB1': 'Index')<br />

Ejemplo de formato fijo<br />

Guardar el valor de índice actual para un recuadro de lista y, a<br />

continuación, cambiarlo:<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C 'LB1' GETATR 'INDEX' OldIndex 2 0<br />

C 'LB1' SETATR NewIndex 'INDEX' 2 0<br />

*<br />

Capítulo 2. Atributos de componente 253


InPlace<br />

Nota: Este atributo sólo se utiliza en Windows NT/95/98.<br />

Utilice InPlace para designar dónde debe reproducirse el archivo de vídeo. Si<br />

InPlace se establece en 1, el vídeo se reproducirá en la posición del componente<br />

medios. Si se establece en 0, el archivo se reproducirá en una ventana aparte.<br />

Tipo Numérico<br />

Se aplica a los componentes<br />

Medios<br />

Códigos de operación<br />

SETATR<br />

Operativo en tiempo de ejecución<br />

sí<br />

GETATR sí<br />

Valor permitido<br />

El valor de InPlace puede ser uno de los siguientes:<br />

0 El archivo se abrirá en una ventana aparte<br />

1 El archivo se abrirá en la posición del componente medios<br />

Ejemplo de formato libre<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C<br />

*<br />

EVAL %setatr('win01': 'AUD1': 'InPlace') = 1<br />

Ejemplo de formato fijo<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C 'AUD1' SETATR 1 'INPLACE'<br />

*<br />

254 <strong>VisualAge</strong> <strong>RPG</strong> Manual de consulta de componentes


InsertItem<br />

* Restricción: Este atributo no está soportado en las aplicaciones Java.<br />

Inserta un elemento en la parte de lista de un componente. El valor actual del<br />

atributo Sequence para el componente determina dónde se insertará el elemento<br />

en la lista.<br />

Si se utiliza el método Index para insertar elementos en la lista, el elemento que<br />

aparece en la posición del valor de índice y todos los que le siguen descienden un<br />

puesto en la lista.<br />

Tipo Serie<br />

Se aplica a los componentes<br />

Recuadro de<br />

combinación<br />

Códigos de operación<br />

Recuadro de lista<br />

SETATR<br />

Operativo en tiempo de ejecución<br />

sí<br />

GETATR no<br />

Valor permitido<br />

El elemento a insertar en la lista<br />

Ejemplo de formato libre<br />

Insertar un elemento en un recuadro de lista:<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C EVAL %setatr('win01': 'LB1': 'Index') = 3<br />

C EVAL %setatr('win01': 'LB1': 'InsertItem') = 'new'<br />

*<br />

Ejemplo de formato fijo<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C 'LB1' SETATR 3 'INDEX'<br />

C<br />

*<br />

'LB1' SETATR 'new' 'InsertItem'<br />

Capítulo 2. Atributos de componente 255


InsertLine<br />

Inserta la serie especificada en el campo de edición de múltiples líneas en la<br />

posición especificada mediante el atributo LineNumber actual. Todas las líneas<br />

siguientes a la que se ha insertado descienden una línea.<br />

Tipo Serie<br />

Se aplica a los componentes<br />

Edición de múltiples<br />

líneas<br />

Códigos de operación<br />

SETATR<br />

Operativo en tiempo de ejecución<br />

sí<br />

GETATR no<br />

Valor permitido<br />

La serie que se añadirá al campo de edición de múltiples líneas<br />

Ejemplo de formato libre<br />

Insertar texto en el desplazamiento 10 en un campo de edición de<br />

múltiples líneas:<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C EVAL %setatr('win01': 'MLE1': 'LineNumber') = 10<br />

C EVAL %setatr('win01': 'MLE1': 'InsertLine') = 'text'<br />

*<br />

Ejemplo de formato fijo<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C 'MLE1' SETATR 10 'LINENUMBER'<br />

C<br />

*<br />

'MLE1' SETATR 'text' 'INSERTLINE'<br />

256 <strong>VisualAge</strong> <strong>RPG</strong> Manual de consulta de componentes


InsertMode<br />

* Restricción: Este atributo no está soportado en las aplicaciones Java.<br />

Determina si la parte del campo de entrada del componente está en modalidad de<br />

inserción. Cuando la modalidad de inserción está activada, al escribir caracteres en<br />

un campo, se desplazan los caracteres situados a la derecha del cursor. Cuando<br />

está desactivada, al escribir caracteres en un campo, se escribe encima de los<br />

existentes.<br />

Tipo Numérico<br />

Se aplica a los componentes<br />

Campo de entrada<br />

Códigos de operación<br />

SETATR<br />

Operativo en tiempo de ejecución<br />

no<br />

GETATR sí<br />

Valor permitido<br />

El valor de InsertMode puede ser uno de los siguientes:<br />

0 El campo de entrada no está en modalidad de inserción<br />

1 El campo de entrada está en modalidad de inserción<br />

Ejemplo de formato libre<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C<br />

*<br />

EVAL mode = %getatr('win01': 'EF1': 'InsertMode')<br />

Ejemplo de formato fijo<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C 'EF1' GETATR 'INSERTMODE' InsertMode 1 0<br />

*<br />

Capítulo 2. Atributos de componente 257


InsertRow<br />

Al establecer este atributo en 1, se añade otra fila a la tabla. Antes de añadir la<br />

nueva fila, los datos se traspasan de los campos de programa que están enlazados<br />

a las columnas de las tablas.<br />

Nota: En las aplicaciones Java, este atributo necesita el controlador adecuado de<br />

conformidad con JDBC 2.0.<br />

Tipo Numérico<br />

Se aplica a los componentes<br />

Interfaz ODBC/JDBC<br />

Códigos de operación<br />

SETATR<br />

Operativo en tiempo de ejecución<br />

sí<br />

GETATR no<br />

Ejemplo de formato libre<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C EVAL %setatr('win01':'ODBC1':'InsertRow')=1<br />

*<br />

Ejemplo de formato fijo<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C 'ODBC1' SETATR 1 'INSERTROW'<br />

*<br />

258 <strong>VisualAge</strong> <strong>RPG</strong> Manual de consulta de componentes


InsertText<br />

Inserta el texto especificado en la posición actual del cursor del campo de edición<br />

de múltiples líneas.<br />

Tipo Serie<br />

Se aplica a los componentes<br />

Edición de múltiples<br />

líneas<br />

Códigos de operación<br />

SETATR<br />

Operativo en tiempo de ejecución<br />

sí<br />

GETATR no<br />

Valor permitido<br />

La serie de texto que se debe insertar<br />

Ejemplo de formato libre<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C EVAL %setatr('win01': 'MLE1': 'InsertText') = 'New'<br />

*<br />

Ejemplo de formato fijo<br />

Añadir texto a un campo de edición de múltiples líneas en la posición<br />

actual del cursor::<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C 'MLE1' SETATR 'New' 'InsertText'<br />

*<br />

Capítulo 2. Atributos de componente 259


Interval<br />

Determina el valor de intervalo para un componente temporizador. Este atributo se<br />

utiliza con el atributo Multiplier para determinar el número de milisegundos que<br />

transcurrirán hasta que el temporizador genere un evento Tick.<br />

Tipo Numérico<br />

Se aplica a los componentes<br />

Temporizador<br />

Códigos de operación<br />

SETATR*<br />

Operativo en tiempo de ejecución<br />

sí<br />

GETATR sí<br />

*Nota: Puede definirse utilizando el cuaderno de propiedades en el<br />

diseñador GUI.<br />

Valor permitido<br />

Valor del intervalo en milisegundos<br />

El valor máximo del intervalo es 65535.<br />

El valor mínimo del intervalo es 100.<br />

Ejemplo de formato libre<br />

Cambiar el valor de intervalo para un componente temporizador a un<br />

segundo (1000 milisegundos):<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C EVAL oldint=%getatr('win01':'TIMER01':'Interval')<br />

*<br />

C EVAL %setatr('win01':'TIMER01':'Interval')=1000<br />

*<br />

Ejemplo de formato fijo<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C<br />

*<br />

'TIMER01' GETATR 'INTERVAL' OldInt 6 0<br />

C<br />

*<br />

'TIMER01' SETATR 1000 'INTERVAL'<br />

260 <strong>VisualAge</strong> <strong>RPG</strong> Manual de consulta de componentes


InUse<br />

* Restricción: Este atributo no está soportado en las aplicaciones Java.<br />

Consulta si un objeto del contenedor tiene actualmente un énfasis que indica que<br />

se está utilizando. Un objeto con este énfasis está en una ventana de diseño abierta<br />

y se muestra con un recuadro sombreado detrás de su icono, como se indica a<br />

continuación:<br />

El atributo RecordID debe estar establecido para indicar a qué registro se hace<br />

referencia.<br />

Tipo Numérico<br />

Se aplica a los componentes<br />

Contenedor<br />

Códigos de operación<br />

SETATR<br />

Operativo en tiempo de ejecución<br />

sí<br />

GETATR sí<br />

Valor permitido<br />

El valor de InUse puede ser uno de los siguientes:<br />

0 No se está utilizando<br />

1 Se está utilizando<br />

Ejemplo de formato libre<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C<br />

*<br />

EVAL %setatr('win01': 'CN1': 'InUse') = 1<br />

Ejemplo de formato fijo<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C 'CN1' SETATR 1 'INUSE'<br />

*<br />

Capítulo 2. Atributos de componente 261


InvName<br />

*Restricción: Este atributo sólo se utiliza en las aplicaciones Java.<br />

Especifica el nombre del componente que invoca o bien, ancla el menú emergente.<br />

Este atributo se utiliza junto con los atributos InvPname, X e Y.<br />

Tipo Serie<br />

Se aplica a los componentes<br />

Menú emergente<br />

Códigos de operación<br />

SETATR<br />

Operativo en tiempo de ejecución<br />

sí<br />

GETATR no<br />

Ejemplo de formato libre<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C EVAL %setatr('win01':'POP1':'InvName')='INVN1'<br />

*<br />

Ejemplo de formato fijo<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C 'POP1' SETATR 'INVN1' 'INVNAME'<br />

*<br />

262 <strong>VisualAge</strong> <strong>RPG</strong> Manual de consulta de componentes


InvPName<br />

*Restricción: Este atributo sólo se utiliza en las aplicaciones Java.<br />

Especifica el nombre de padre del componente que invoca o bien, ancla el menú<br />

emergente. Este atributo se utiliza junto con los atributos InvName, X e Y.<br />

Tipo Serie<br />

Se aplica a los componentes<br />

Menú emergente<br />

Códigos de operación<br />

SETATR<br />

Operativo en tiempo de ejecución<br />

sí<br />

GETATR no<br />

Ejemplo de formato libre<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C EVAL %setatr('win01':'POP1':'InvPName')='INVPN1'<br />

*<br />

Ejemplo de formato fijo<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C 'POP1' SETATR 'INVPN1' 'INVPNAME'<br />

*<br />

Capítulo 2. Atributos de componente 263


IsData<br />

Indica si una operación Fetch, FetchNext o FetchPrior ha devuelto datos.<br />

Tipo Numérico<br />

Se aplica a los componentes<br />

Interfaz ODBC/JDBC<br />

Códigos de operación<br />

SETATR<br />

Operativo en tiempo de ejecución<br />

no<br />

GETATR sí<br />

Valor devuelto<br />

0 Indica que no se ha devuelto ningún dato.<br />

1 Indica que se han devuelto datos.<br />

Ejemplo de formato libre<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C<br />

*<br />

EVAL Flag=%getatr('win01':'ODBC1':'IsData')<br />

Ejemplo de formato fijo<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C 'ODBC1' GETATR 'ISDATA' FLAG<br />

*<br />

264 <strong>VisualAge</strong> <strong>RPG</strong> Manual de consulta de componentes


Item<br />

Un elemento DDE es la unidad de datos específica a la que se hace referencia en<br />

una conversación DDE. Un ejemplo de un elemento DDE es una casilla en una<br />

aplicación de hoja de cálculo. El formato de un elemento DDE lo determina la<br />

aplicación del servidor. Consulte la documentación de la aplicación del servidor<br />

para ver cuáles son los tipos de este formato. En el ejemplo de una hoja de cálculo<br />

podría ser ’A1’.<br />

En la tabla siguiente se resume qué componentes pueden ser un elemento de una<br />

conversación DDE, y a qué atributo se hace referencia durante un evento Poke o<br />

Request. Si se hace referencia a cualquier otro tipo de componente, la operación se<br />

pasa por alto.<br />

Tipo de componente Poke Request<br />

Medios Nombre de archivo Nombre de archivo<br />

Recuadro de selección Etiqueta Etiqueta<br />

Campo de entrada Texto Texto<br />

Imagen Nombre de archivo Nombre de archivo<br />

Recuadro de lista ninguno Elemento seleccionado<br />

Graduador Valor Valor<br />

Texto estático Etiqueta Etiqueta<br />

Temporizador Count Count<br />

Tipo Serie<br />

Se aplica a los componentes<br />

Cliente DDE<br />

Códigos de operación<br />

SETATR<br />

Operativo en tiempo de ejecución<br />

sí<br />

GETATR sí<br />

Valor permitido<br />

La unidad de datos a la que se hace referencia en una conversación DDE<br />

Si el programa del servidor es un componente lógico <strong>VisualAge</strong> <strong>RPG</strong>, el<br />

elemento será el nombre del componente al que se hace referencia. Se<br />

especifica del modo siguiente:<br />

'ventana|componente'<br />

Capítulo 2. Atributos de componente 265


Ejemplo de formato libre<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C EVAL %setatr('win01': 'DDE1': 'Item') = 'A1'<br />

*<br />

Ejemplo de formato fijo<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C 'DDE1' SETATR 'A1' 'ITEM'<br />

*<br />

266 <strong>VisualAge</strong> <strong>RPG</strong> Manual de consulta de componentes


ItemCount<br />

Devuelve el número de elementos que hay en la lista de valores de una columna<br />

de subarchivo. Primero ha de establecerse el atributo ColNumber a fin de<br />

identificar la columna con la que se debe trabajar. El tipo de validación de la<br />

columna de subarchivo debe ser Values.<br />

Tipo Numérico<br />

Se aplica a los componentes<br />

Subarchivo<br />

Códigos de operación<br />

SETATR<br />

Operativo en tiempo de ejecución<br />

no<br />

GETATR sí<br />

Ejemplo de formato libre<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C EVAL ItCnt = %getatr('win01': 'SF1': 'ItemCount')<br />

*<br />

Ejemplo de formato fijo<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C 'SF1' GETATR 'ITEMCOUNT' ITCNT<br />

*<br />

Capítulo 2. Atributos de componente 267


ItemKey<br />

Devuelve el valor de clave de un elemento de la lista. El atributo Index debe estar<br />

establecido para indicar a qué elemento se hace referencia.<br />

Nota: Si no hay definida ninguna clave, ItemKey devolverá una serie nula.<br />

Tipo Serie<br />

Se aplica a los componentes<br />

Recuadro de<br />

combinación<br />

Códigos de operación<br />

Recuadro de lista<br />

SETATR<br />

Operativo en tiempo de ejecución<br />

no<br />

GETATR sí<br />

Nota: El atributo ItemKey de recuadro de combinación puede establecerse<br />

utilizando el cuaderno de propiedades.<br />

Ejemplo de formato libre<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C EVAL keyitem = %getatr('win01': 'LB1': 'ItemKey')<br />

*<br />

Ejemplo de formato fijo<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C 'LB1' GETATR 'ITEMKEY' keyitem<br />

*<br />

268 <strong>VisualAge</strong> <strong>RPG</strong> Manual de consulta de componentes


Label<br />

La serie de texto que está asociada con un componente, como por ejemplo el texto<br />

que aparece en un pulsador.<br />

El atributo label puede tener uno de los formatos siguientes:<br />

v Una serie tecleada<br />

v Una etiqueta de sustitución<br />

v Un identificador de mensaje del archivo de mensajes<br />

Si el título de una columna del contenedor tiene blancos, el contenedor no se<br />

visualizará correctamente. Para corregir esto, sustituya todos los espacios en blanco<br />

del título por el carácter de subrayado ( _ ).<br />

Windows visualiza la barra de título aunque se haya inhabilitado la misma en el<br />

cuaderno de propiedades. Cuando el valor de Barra de título es de no<br />

seleccionado, el usuario todavía puede desplazar la ventana utilizando el ratón en<br />

el área de la barra de título, pero tiene que cerrar la ventana utilizando el teclado.<br />

Tipo Serie<br />

Se aplica a los componentes<br />

Recuadro de selección Contenedor Recuadro de grupo Opción de menú<br />

Pulsador Botón de selección Texto estático Ventana<br />

Códigos de operación<br />

SETATR*<br />

Operativo en tiempo de ejecución<br />

sí<br />

GETATR sí<br />

*Nota: Puede definirse utilizando el cuaderno de propiedades en el<br />

diseñador GUI. Para ello, utilice la página General y especifique un<br />

valor en el campo Etiqueta o Título.<br />

Valor permitido<br />

La etiqueta del componente<br />

Capítulo 2. Atributos de componente 269


Ejemplo de formato libre<br />

Cambiar la etiqueta de un pulsador:<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C<br />

*<br />

EVAL checked = %getatr('win01': 'CB1': 'Checked')<br />

C checked IFEQ 0<br />

C<br />

*<br />

EVAL %setatr('win01': 'PB1': 'Label') = 'No'<br />

C ELSE<br />

C EVAL %setatr('win01': 'PB1': 'Label') = 'Yes'<br />

C<br />

*<br />

ENDIF<br />

Ejemplo de formato fijo<br />

Cambiar el texto de un pulsador:<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C 'PB1' GETATR 'LABEL' OldText 2 0<br />

C 'PB1' SETATR 'Cancel' 'LABEL'<br />

*<br />

270 <strong>VisualAge</strong> <strong>RPG</strong> Manual de consulta de componentes


LabelPlace<br />

Indica en qué lugar de la gráfica debe aparecer la etiqueta del dato indicado.<br />

Este atributo no se aplica cuando la gráfica es un diagrama circular.<br />

Tipo Numérico<br />

Se aplica a los componentes<br />

Gráfica<br />

Códigos de operación<br />

SETATR<br />

Operativo en tiempo de ejecución<br />

sí<br />

GETATR sí<br />

Valor permitido<br />

El valor de LabelPlace puede ser uno de los siguientes:<br />

0 El elemento de datos no debe tener ninguna etiqueta<br />

1 La etiqueta se debe visualizar en el eje de la X<br />

2 La etiqueta debe visualizarse por encima de la barra si el valor del<br />

elemento es positivo, y por debajo si es negativo.<br />

Ejemplo de formato libre<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C<br />

*<br />

EVAL %setatr('Win1': 'Gra1': 'LabelPlace') = 2<br />

Ejemplo de formato fijo<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C 'Gra1' SETATR 2 'LABELPLACE'<br />

*<br />

Capítulo 2. Atributos de componente 271


|<br />

|<br />

|<br />

|<br />

|<br />

|<br />

|<br />

Left<br />

Especifica la coordenada, en pixels, desde el borde izquierdo del objeto o pantalla<br />

que contiene este componente.<br />

Tipo Numérico<br />

Se aplica a los componentes<br />

ActiveX Control de animación Calendario Lienzo<br />

Recuadro de selección Recuadro de<br />

Referencia a<br />

Contenedor<br />

combinación<br />

componente lógico<br />

Cliente DDE Campo de entrada Gráfica Pulsador gráfico<br />

Recuadro de grupo Barra de<br />

desplazamiento<br />

horizontal<br />

Imagen Bean Java<br />

Recuadro de lista Medios Panel de medios Edición de múltiples<br />

líneas<br />

Cuaderno Interfaz ODBC/JDBC Recuadro de contorno Barra de progreso<br />

Pulsador Botón de selección Graduador Selector cíclico<br />

Texto estático<br />

Ventana<br />

Subarchivo Temporizador Barra de<br />

desplazamiento<br />

vertical<br />

Códigos de operación<br />

SETATR*<br />

Operativo en tiempo de ejecución<br />

sí<br />

GETATR sí<br />

*Nota: Puede definirse utilizando el cuaderno de propiedades en el<br />

diseñador GUI.<br />

Valor permitido<br />

Número de pixels<br />

Ejemplo de formato libre<br />

Mover un componente a la izquierda en su ventana:<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C EVAL leftside = %getatr('win01': 'image1': 'Left')<br />

C EVAL %setatr('window': 'part': 'Left') =<br />

leftside - 120<br />

*<br />

Ejemplo de formato fijo<br />

Mover un pulsador 200 pixels a la derecha:<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C 'PB01' GETATR 'LEFT' OldLeft 2 0<br />

C OldLeft ADD 200 NewLeft 2 0<br />

C<br />

*<br />

'PB01' SETATR NewLeft 'LEFT'<br />

272 <strong>VisualAge</strong> <strong>RPG</strong> Manual de consulta de componentes


LegendType<br />

Indica el tipo de leyenda utilizada en el componente gráfica.<br />

Tipo Numérico<br />

Se aplica a los componentes<br />

Gráfica<br />

Códigos de operación<br />

SETATR<br />

Operativo en tiempo de ejecución<br />

sí<br />

GETATR sí<br />

Valor permitido<br />

El valor debe ser uno de los siguientes:<br />

0 Sin leyenda<br />

1 Sólo puntos<br />

2 Sólo grupos<br />

3 Todos los elementos<br />

Ejemplo de formato libre<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C<br />

*<br />

EVAL %setatr('Win1': 'Gra': 'LegendType') = 2<br />

Ejemplo de formato fijo<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C 'Gra1' SETATR 2 'LegendType'<br />

*<br />

Capítulo 2. Atributos de componente 273


Length<br />

Nota: Este atributo sólo se utiliza en Windows NT/95/98.<br />

Especifica la longitud del archivo en milisegundos.<br />

Tipo Numérico<br />

Se aplica a los componentes<br />

Medios<br />

Códigos de operación<br />

SETATR<br />

Operativo en tiempo de ejecución<br />

no<br />

GETATR sí<br />

Ejemplo de formato libre<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C EVAL Len = %getatr('win01': 'AUD01': 'Length')<br />

*<br />

Ejemplo de formato fijo<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C 'AUD01' GETATR 'LENGTH' Len 6 0<br />

*<br />

274 <strong>VisualAge</strong> <strong>RPG</strong> Manual de consulta de componentes


LineNumber<br />

Determina en que línea insertará el atributo InsertLine una nueva línea en un<br />

campo de edición de múltiples líneas. Este valor debe ser superior a cero e inferior<br />

o igual al atributo NbrOfLines actual. Si es mayor que el atributo NbrOfLines<br />

actual, la nueva línea se insertará después de la última.<br />

Tipo Numérico<br />

Se aplica a los componentes<br />

Edición de múltiples<br />

líneas<br />

Códigos de operación<br />

SETATR<br />

Operativo en tiempo de ejecución<br />

sí<br />

GETATR sí<br />

Valor permitido<br />

Número de línea<br />

Ejemplo de formato libre<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C EVAL oldline = %getatr('win01': 'MLE01': 'LineNumber')<br />

C EVAL %setatr('win01': 'MLE01': 'LineNumber') = 5<br />

*<br />

Ejemplo de formato fijo<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C 'MLE01' GETATR 'LINENUMBER' OldLine 2 0<br />

C<br />

*<br />

'MLE01' SETATR 5 'LINENUMBER'<br />

Capítulo 2. Atributos de componente 275


LineText<br />

Recupera el texto de una línea de edición de múltiples líneas especificada por<br />

LineNumber.<br />

Tipo Serie<br />

Se aplica a los componentes<br />

Edición de múltiples<br />

líneas<br />

Códigos de operación<br />

SETATR<br />

Operativo en tiempo de ejecución<br />

no<br />

GETATR sí<br />

Valor permitido<br />

El texto de la línea<br />

Ejemplo de formato libre<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C EVAL lines = %getatr('win01': 'MLE1': 'NbrOfLines')<br />

C Do lines ix<br />

C EVAL %setatr('win01': 'MLE1': 'LineNumber') = ix<br />

C EVAL nextline= %getatr('win01': 'MLE1': 'LineText')<br />

C ...<br />

C<br />

*<br />

EndDo<br />

Ejemplo de formato fijo<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C 'MLE1' GETATR 'LINETEXT' line<br />

*<br />

276 <strong>VisualAge</strong> <strong>RPG</strong> Manual de consulta de componentes


LookNFeel<br />

*Restricción: Este atributo es sólo de Java.<br />

Permite que las aplicaciones Java utilicen el mecanismo PLAF (Pluggable Look and<br />

Feel) de Swing para controlar el aspecto y la funcionalidad de la interfaz gráfica de<br />

usuario.<br />

Tipo Serie<br />

Se aplica a los componentes<br />

*Component<br />

Códigos de operación<br />

SETATR<br />

Operativo en tiempo de ejecución<br />

sí<br />

GETATR no<br />

Valor permitido<br />

El valor de LookNFeel puede ser uno de los siguientes:<br />

Look Serie<br />

Metal javax.swing.plaf.metal.MetalLookAndFeel<br />

Motif com.sun.java.swing.plaf.motif.MotifLookAndFeel<br />

Windows<br />

com.sun.java.swing.plaf.windows.WindowsLookAndFeel<br />

Ejemplo de formato libre<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C eval %setatr('*component':'*component':<br />

C 'LookNFeel')=<br />

C 'com.sun.java.swing.plaf.motif.' +<br />

C<br />

*<br />

'MotifLookAndFeel'<br />

Capítulo 2. Atributos de componente 277


Magnify<br />

Especifica el valor, en forma de porcentaje, del graduador de ampliación en el<br />

componente imagen, que controla la escala de la imagen visualizada. El valor cero<br />

hará que la escala de la imagen se ajuste al componente imagen.<br />

Tipo Numérico<br />

Se aplica a los componentes<br />

Imagen<br />

Códigos de operación<br />

SETATR<br />

Operativo en tiempo de ejecución<br />

sí<br />

GETATR sí<br />

Valor permitido<br />

El valor del graduador de ampliación puede ser uno de los siguientes:<br />

0<br />

25 - 200<br />

Ajustar a escala<br />

El valor de ampliación en forma de porcentaje<br />

Ejemplo de formato libre<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C<br />

*<br />

EVAL %setatr('win1': 'Img1': 'Magnify') = 50<br />

Ejemplo de formato fijo<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C 'IMG1' SETATR 50 'MAGNIFY'<br />

*<br />

278 <strong>VisualAge</strong> <strong>RPG</strong> Manual de consulta de componentes


Masked<br />

Cuando se establece este atributo, al escribir en el campo de entrada se<br />

visualizarán caracteres asteriscos (*) en lugar de los caracteres que se están<br />

escribiendo. Este atributo se utiliza muy a menudo cuando el usuario va a escribir<br />

datos confidenciales, tales como una contraseña o un número de cuenta.<br />

Tipo Numérico<br />

Se aplica a los componentes<br />

Campo de entrada<br />

Códigos de operación<br />

SETATR*<br />

Operativo en tiempo de ejecución<br />

no<br />

GETATR sí<br />

*Nota: Puede definirse utilizando el cuaderno de propiedades en el<br />

diseñador GUI.<br />

Valor permitido<br />

El estado de protección de contraseña del campo puede ser uno de los<br />

siguientes:<br />

0 El campo no está enmascarado<br />

1 El campo está enmascarado<br />

Ejemplo de formato libre<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C EVAL isMasked = %getatr('win01': 'EF1': 'Masked')<br />

*<br />

Ejemplo de formato fijo<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C 'EF1' GETATR 'MASKED' isMasked 1 0<br />

*<br />

Capítulo 2. Atributos de componente 279


Maximum<br />

Determina el valor máximo que puede devolver un graduador o un selector cíclico.<br />

Este atributo sólo está permitido para selectores cíclicos numéricos.<br />

El valor máximo es 65535.<br />

Tipo Numérico<br />

Se aplica a los componentes<br />

Graduador Selector cíclico<br />

Códigos de operación<br />

SETATR<br />

Operativo en tiempo de ejecución<br />

sí<br />

GETATR sí<br />

Valor permitido<br />

Valor máximo del componente<br />

Ejemplo de formato libre<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C<br />

*<br />

EVAL oldmax=%getatr('window':'SLIDER01':'Maximum')<br />

C<br />

*<br />

EVAL %setatr('window':'SLIDER01':'Maximum')=100<br />

Ejemplo de formato fijo<br />

Cambiar el valor máximo de un graduador:<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C 'SLIDER01' GETATR 'MAXIMUM' OldMax 3 0<br />

C 'SLIDER01' SETATR 100 'MAXIMUM'<br />

*<br />

280 <strong>VisualAge</strong> <strong>RPG</strong> Manual de consulta de componentes


Method<br />

Especifica el nombre del método ActiveX que se ha de invocar, junto con los<br />

valores que se han de pasar al método. Los componentes ActiveX se controlan<br />

estableciendo sus propiedades y métodos.<br />

Cuando se activan ciertos controles ActiveX, como por ejemplo Netscape 4.x,<br />

puede abrirse un diálogo modal de aplicación y quedar oculto tras el Diseñador<br />

GUI o una aplicación VA<strong>RPG</strong>. Téngalo presente, ya que parecerá que la aplicación<br />

o el Diseñador GUI están bloqueados.<br />

La sintaxis del valor de tipo serie es:<br />

nombre_método, valor1, valor2, ...<br />

Restricción: Los únicos tipos de datos que pueden tener los parámetros de método<br />

y propiedad son numérico (es decir, entero y flotante) y serie (char*).<br />

Los tipos de datos Font, Color, UserDefined, PTR (puntero) no están<br />

soportados.<br />

Tipo Serie<br />

Se aplica a los componentes<br />

ActiveX<br />

Códigos de operación<br />

SETATR<br />

Operativo en tiempo de ejecución<br />

sí<br />

GETATR no<br />

Ejemplo de formato libre<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C EVAL %setatr('win01':'AX1':'Method')='PN1'<br />

*<br />

Ejemplo de formato fijo<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C 'AX1' SETATR 'PN1' 'METHOD'<br />

*<br />

Ejemplo de Method<br />

En el ejemplo siguiente, se invoca el método DisplayText de un componente<br />

ActiveX y se le pasa un único valor. Si el método espera recibir un valor numérico,<br />

se le pasa el equivalente de tipo carácter.<br />

D dspText S Inz('DisplayText,New Text')<br />

*<br />

C 'MSCAL' Setatr dspText 'Method'<br />

Capítulo 2. Atributos de componente 281


MiniIcon<br />

Este atributo determina la forma de presentar los iconos del componente<br />

contenedor. Si se establece, los iconos aparecen en el componente contenedor en<br />

forma de miniiconos. Si no se establece, los iconos aparecen en su forma normal.<br />

Tipo Numérico<br />

Se aplica a los componentes<br />

Contenedor<br />

Códigos de operación<br />

SETATR*<br />

Operativo en tiempo de ejecución<br />

sí<br />

GETATR sí<br />

*Nota: Puede definirse utilizando el cuaderno de propiedades en el<br />

diseñador GUI.<br />

Valor permitido<br />

El valor de MiniIcon puede ser uno de los siguientes:<br />

0 Los iconos se visualizan a tamaño normal<br />

1 Los iconos se visualizan en forma de miniiconos<br />

Ejemplo de formato libre<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C EVAL %setatr('win01': 'Cont1': 'Miniicon') = 0<br />

*<br />

Ejemplo de formato fijo<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C 'Cont1' SETATR 0 'MINIICON'<br />

*<br />

282 <strong>VisualAge</strong> <strong>RPG</strong> Manual de consulta de componentes


Minimum<br />

Determina el valor mínimo que puede devolver un graduador o un selector cíclico.<br />

Este atributo sólo está permitido para selectores cíclicos numéricos.<br />

El valor mínimo es -32767.<br />

Tipo Numérico<br />

Se aplica a los componentes<br />

Graduador Selector cíclico<br />

Códigos de operación<br />

SETATR<br />

Operativo en tiempo de ejecución<br />

sí<br />

GETATR sí<br />

Valor permitido<br />

Valor mínimo del componente<br />

Ejemplo de formato libre<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C<br />

*<br />

EVAL oldmin = %getatr('window': 'SLIDER01': 'Minimum')<br />

C<br />

*<br />

EVAL %setatr('window': 'part': 'Minimum') = 0<br />

Ejemplo de formato fijo<br />

Cambiar el valor mínimo de un graduador::<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C 'SLIDER01' GETATR 'MINIMUM' OldMin 3 0<br />

C 'SLIDER01' SETATR 0 'MINIMUM'<br />

*<br />

Capítulo 2. Atributos de componente 283


Mode<br />

Determina si se reproduce o no el archivo de vídeo o GIF.<br />

Tipo Numérico<br />

Se aplica a los componentes<br />

Control de animación<br />

Códigos de operación<br />

SETATR<br />

Operativo en tiempo de ejecución<br />

sí<br />

GETATR no<br />

Valor permitido<br />

El valor de Mode puede ser uno de los siguientes:<br />

1 Empezar a reproducir el archivo<br />

2 Parar de reproducir el archivo<br />

Ejemplo de formato libre<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C<br />

*<br />

EVAL %setatr('win01': 'WIN1': 'Mode') = 1<br />

Ejemplo de formato fijo<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C 'WIN1' SETATR 1 'MODE'<br />

*<br />

284 <strong>VisualAge</strong> <strong>RPG</strong> Manual de consulta de componentes


Month<br />

Indica el mes seleccionado actualmente. Si se establece, se actualizará la fecha<br />

seleccionada en el componente calendario para que los cambios queden reflejados.<br />

Tipo Numérico<br />

Se aplica a los componentes<br />

Calendario<br />

Códigos de operación<br />

SETATR*<br />

Operativo en tiempo de ejecución<br />

sí<br />

GETATR sí<br />

*Nota: Puede definirse utilizando el cuaderno de propiedades en el<br />

diseñador GUI.<br />

Valor permitido<br />

El mes<br />

Ejemplo de formato libre<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C EVAL %setatr('win01': 'CAL1': 'Month') = 02<br />

*<br />

Ejemplo de formato fijo<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C 'CAL1' SETATR 02 'Month'<br />

*<br />

Capítulo 2. Atributos de componente 285


MonthArrow<br />

Indica si las flechas de mes (< o >) o de año (>) están disponibles para que<br />

los usuarios puedan avanzar o retroceder por los meses o los años. Si no hay<br />

ninguna flecha, el usuario no tiene forma de cambiar el mes o el año visualizado<br />

actualmente.<br />

Tipo Numérico<br />

Se aplica a los componentes<br />

Calendario<br />

Códigos de operación<br />

SETATR<br />

Operativo en tiempo de ejecución<br />

sí<br />

GETATR sí<br />

Valor permitido<br />

El valor de MonthArrow puede ser uno de los siguientes:<br />

0 No se mostrarán las flechas<br />

1 Se mostrarán las flechas<br />

Ejemplo de formato libre<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C<br />

*<br />

EVAL isshown = %getatr('win01': 'CAL1': 'MonthArrow')<br />

C<br />

*<br />

EVAL %setatr('win01': 'CAL1': 'MonthArrow') = 1<br />

Ejemplo de formato fijo<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C 'CAL1' GETATR 'MONTHARROW' isshown<br />

*<br />

286 <strong>VisualAge</strong> <strong>RPG</strong> Manual de consulta de componentes


MonthIdx<br />

Permite que el usuario defina datos en una fecha que no se visualiza en la página<br />

actual del calendario.<br />

Tipo Numérico<br />

Se aplica a los componentes<br />

Calendario<br />

Códigos de operación<br />

SETATR<br />

Operativo en tiempo de ejecución<br />

sí<br />

GETATR sí<br />

Valor permitido<br />

Valor de índice<br />

Ejemplo de formato libre<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C EVAL %setatr('win01': 'CAL1': 'MonthIdx') = 2<br />

*<br />

Ejemplo de formato fijo<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C 'CAL1' SETATR 2 'MonthIdx'<br />

*<br />

Capítulo 2. Atributos de componente 287


MonthLen<br />

Indica el formato de visualización del nombre del mes.<br />

Tipo Numérico<br />

Se aplica a los componentes<br />

Calendario<br />

Códigos de operación<br />

SETATR*<br />

Operativo en tiempo de ejecución<br />

sí<br />

GETATR sí<br />

*Nota: Puede definirse utilizando el cuaderno de propiedades en el<br />

diseñador GUI.<br />

Valor permitido<br />

El valor de MonthLen puede ser uno de los siguientes:<br />

1 Nombre completo<br />

2 Nombre abreviado de tres caracteres<br />

3 Dos dígitos<br />

4 Dos dígitos, con un cero para los meses que sólo tienen un dígito<br />

Ejemplo de formato libre<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C<br />

*<br />

EVAL %setatr('win01': 'CAL1': 'MonthLen') = 3<br />

Ejemplo de formato fijo<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C 'CAL1' GETATR 'MONTHLEN' MonthLen 1 0<br />

*<br />

288 <strong>VisualAge</strong> <strong>RPG</strong> Manual de consulta de componentes


MouseIcon<br />

* Restricción: Este atributo no está soportado en las aplicaciones Java.<br />

Especifica el nombre del archivo de iconos que se utilizará para la forma del<br />

puntero del ratón. Antes de utilizar este atributo, debe establecer el valor de<br />

MouseShape en 99.<br />

El archivo puede ser de cursor (.CUR) o de icono (.ICO o .ANI).<br />

Tipo Serie<br />

Se aplica a los componentes<br />

Ventana<br />

Códigos de operación<br />

SETATR<br />

Operativo en tiempo de ejecución<br />

sí<br />

GETATR no<br />

Ejemplo de formato libre<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C EVAL %setatr('win01':'WIN1':'MouseIcon')=Myicon<br />

*<br />

Ejemplo de formato fijo<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C 'WIN1' SETATR MYICON 'MOUSEICON'<br />

*<br />

Capítulo 2. Atributos de componente 289


MouseShape<br />

Cambia la forma del puntero del ratón cuando el puntero está situado en el marco<br />

de la ventana del componente padre o de sus hijos.<br />

Tipo Numérico<br />

Se aplica a los componentes<br />

Ventana<br />

Códigos de operación<br />

SETATR<br />

Operativo en tiempo de ejecución<br />

sí<br />

GETATR no<br />

Valor permitido<br />

El valor de MouseShape puede ser uno de los siguientes:<br />

0 Por omisión<br />

1 Icono de flecha<br />

2 Icono de reloj de arena<br />

3 Icono de ″stop″ o no permitido<br />

4 Flecha con reloj de arena (inicio de aplicación)<br />

5 Cursor en cruz<br />

6 Cursor en I<br />

7 Flecha arriba<br />

8 Flechas nordeste/sudoeste<br />

9 Flechas norte/sur<br />

10 Flechas noroeste/sudeste<br />

11 Flechas este/oeste<br />

12 Flechas para todos los puntos (norte/sur/este/oeste)<br />

13 Cursor con forma de mano<br />

99 Icono definido por el usuario según especifica el atributo<br />

MouseIcon. (Este valor sólo se utiliza en las aplicaciones de<br />

Windows.)<br />

290 <strong>VisualAge</strong> <strong>RPG</strong> Manual de consulta de componentes


El atributo MouseShape no es permanente; sólo se aplica al marco de la<br />

ventana. Si modifica la forma por omisión del puntero del ratón, debe<br />

restablecer este atributo en 0 para utilizar la forma por omisión del<br />

puntero.<br />

Ejemplo de formato libre<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C EVAL %setatr('Win1': 'Win1': 'MouseShape') = 2<br />

*<br />

Ejemplo de formato fijo<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C 'Win1' SETATR 2 'MOUSESHAPE'<br />

*<br />

Capítulo 2. Atributos de componente 291


MsgData<br />

Especifica el texto de sustitución para las variables que aparezcan en el texto del<br />

mensaje. Si hay varias variables, utilice un espacio para delimitar cada texto de<br />

sustitución. Utilice el carácter de subrayado ( _ ) para incluir espacios en blanco<br />

en el texto de sustitución. Por ejemplo, para utilizar ″A BC″ y ″CustNo″ en las<br />

variables %1 y %2 de un mensaje respectivamente, especifique los datos del<br />

mensaje del modo siguiente:<br />

'A_B_C CustNo'<br />

Tipo Serie<br />

Se aplica a los componentes<br />

*Componente lógico<br />

Códigos de operación<br />

SETATR<br />

Operativo en tiempo de ejecución<br />

sí<br />

GETATR no<br />

Valor permitido<br />

La serie de sustitución de la variable de mensaje<br />

Ejemplo de formato libre<br />

Obtener el texto del mensaje 0001 y utilizar CustNo para la sustitución:<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C EVAL %setatr('*Component':'*Component':'MsgID')=0001<br />

C EVAL %setatr('*Component':'*Component':'MsgData')=CustNo<br />

C EVAL text = %getatr('*Component':'*Component':'MsgText')<br />

*<br />

Ejemplo de formato fijo<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C '*COMPONENT' SETATR 0001 'MSGID'<br />

C '*COMPONENT' SETATR CustNo 'MSGDATA'<br />

C<br />

*<br />

'*COMPONENT' GETATR 'MSGTEXT' text<br />

292 <strong>VisualAge</strong> <strong>RPG</strong> Manual de consulta de componentes


MsgFile<br />

* Restricción: Este atributo no está soportado en las aplicaciones Java.<br />

Especifica el archivo de mensajes por omisión que se utilizará cuando no se<br />

encuentre un identificador de mensaje en el archivo de mensajes del componente<br />

lógico.<br />

Tipo Serie<br />

Se aplica a los componentes<br />

*Componente lógico<br />

Códigos de operación<br />

SETATR<br />

Operativo en tiempo de ejecución<br />

sí<br />

GETATR sí<br />

Valor permitido<br />

Nombre completo del archivo de mensajes por omisión (archivo.txm). Se<br />

utiliza la vía de acceso actual para la búsqueda de archivos.<br />

Ejemplo de formato libre<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C EVAL %setatr('*Component':'*Component':'MsgFile')<br />

C = Fn<br />

C EVAL Mf = %getatr('*Component':'*Component':<br />

C<br />

*<br />

'MsgFile')<br />

Ejemplo de formato fijo<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C<br />

*<br />

'*COMPONENT' SETATR Fn 'MSGFILE'<br />

C<br />

*<br />

'*COMPONENT' GETATR 'MSGFILE' Mf<br />

Capítulo 2. Atributos de componente 293


MsgID<br />

Especifica el número de mensaje en el archivo de mensajes del componente lógico.<br />

Tipo Numérico<br />

Se aplica a los componentes<br />

*Componente lógico<br />

Códigos de operación<br />

SETATR<br />

Operativo en tiempo de ejecución<br />

sí<br />

GETATR no<br />

Valor permitido<br />

El número de mensaje<br />

Ejemplo de formato libre<br />

Obtener el texto del mensaje 0001 y utilizar CusNo para la sustitución:<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C EVAL %setatr('*Component':'*Component':'MsgID')=0001<br />

C EVAL %setatr('*Component':'*Component':'MsgData')=CusNo<br />

C EVAL text=%getatr('*Component':'*Component':'MsgText')<br />

*<br />

Ejemplo de formato fijo<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C '*COMPONENT' SETATR 0001 'MSGID'<br />

C '*COMPONENT' SETATR CusNo 'MSGDATA'<br />

C<br />

*<br />

'*COMPONENT' GETATR 'MSGTEXT' text<br />

294 <strong>VisualAge</strong> <strong>RPG</strong> Manual de consulta de componentes


MsgSubText<br />

Define el texto de sustitución del mensaje para un componente subarchivo de<br />

mensajes. Este atributo debe estar establecido antes de añadir un mensaje a un<br />

componente subarchivo de mensajes mediante el atributo AddMsgID o<br />

AddMsgText. Se hace referencia al texto de sustitución de mensaje cuando un<br />

mensaje tiene variables de sustitución en el texto del mensaje. Las variables de<br />

sustitución de mensaje se identifican mediante un símbolo ’%’ seguido por un<br />

valor numérico. Cada variable de sustitución de mensaje se sustituye por la<br />

palabra correspondiente delimitada por blancos en el atributo MsgSubText antes<br />

de añadir el mensaje al componente subarchivo de mensajes. La serie de<br />

sustitución del mensaje permanece vigente hasta que se establece otro atributo<br />

MsgSubText.<br />

Tipo Serie<br />

Se aplica a los componentes<br />

Subarchivo de<br />

mensajes<br />

Códigos de operación<br />

SETATR<br />

Operativo en tiempo de ejecución<br />

sí<br />

GETATR no<br />

Valor permitido<br />

El texto de sustitución de mensaje<br />

Ejemplo de formato libre<br />

Si el mensaje 1000 fuera:<br />

Pulse %1 para continuar, %2 para cancelar<br />

se visualizaría de este modo:<br />

Pulse Yes para continuar, No para cancelar<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C EVAL %setatr('win01':'MSG1':'MsgSubText')='Yes No'<br />

C EVAL %setatr('win01':'MSG1':'AddMsgID')=1000<br />

*<br />

Ejemplo de formato fijo<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C 'MSG1' SETATR 'Yes No' 'MSGSUBTEXT'<br />

C<br />

*<br />

'MSG1' SETATR 1000 'ADDMSGID'<br />

Capítulo 2. Atributos de componente 295


MsgText<br />

Devuelve el texto del mensaje del archivo de mensajes del componente lógico para<br />

el identificador de mensaje especificado.<br />

Tipo Serie<br />

Se aplica a los componentes<br />

*Componente lógico<br />

Códigos de operación<br />

SETATR<br />

Operativo en tiempo de ejecución<br />

no<br />

GETATR sí<br />

Ejemplo de formato libre<br />

Obtener el texto del mensaje 0001:<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C EVAL %setatr('*Component':'*Component':'MsgID')=0001<br />

C EVAL text=%getatr('*Component':'*Component':'MsgText')<br />

*<br />

Ejemplo de formato fijo<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C '*COMPONENT' SETATR 'MSGID' 0001<br />

C<br />

*<br />

'*COMPONENT' GETATR 'MSGTEXT' text<br />

296 <strong>VisualAge</strong> <strong>RPG</strong> Manual de consulta de componentes


Multiplier<br />

Determina la cantidad de intervalos del temporizador que deben transcurrir antes<br />

de que el temporizador cause un evento Tick.<br />

El valor máximo del multiplicador es 65535.<br />

El valor mínimo del multiplicador es 1.<br />

Tipo Numérico<br />

Se aplica a los componentes<br />

Temporizador<br />

Códigos de operación<br />

SETATR*<br />

Operativo en tiempo de ejecución<br />

sí<br />

GETATR no<br />

*Nota: Puede definirse utilizando el cuaderno de propiedades en el<br />

diseñador GUI.<br />

Valor permitido<br />

El valor del multiplicador<br />

Ejemplo de formato libre<br />

Si se ha establecido el atributo Interval en 1000 milisegundos, el<br />

temporizador generará un evento Tick cada tres segundos:<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C EVAL %setatr('win01': 'TIMER01': 'Multiplier') = 3<br />

*<br />

Ejemplo de formato fijo<br />

Cambiar el atributo Multiplier de un temporizador:<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C 'TIMER01' SETATR 3 'MULTIPLIER'<br />

*<br />

Capítulo 2. Atributos de componente 297


MultSelect<br />

Determina si puede haber más de un elemento seleccionado en la parte de lista de<br />

un componente. Cuando no se ha establecido este atributo, al seleccionar un<br />

elemento se deselecciona cualquier elemento seleccionado actualmente.<br />

Este atributo debe estar establecido para que el recuadro de lista permita la<br />

selección ampliada proporcionada por el atributo ExtSelect.<br />

El atributo MultSelect no tiene ningún efecto en el atributo ExtSelect. El atributo<br />

ExtSelect prevalece sobre los valores para MultSelect o para una única selección.<br />

Tipo Numérico<br />

Se aplica a los componentes<br />

Recuadro de lista Subarchivo<br />

Códigos de operación<br />

SETATR<br />

Operativo en tiempo de ejecución<br />

no<br />

GETATR sí<br />

Valor permitido<br />

El estado de selección múltiple puede ser uno de los siguientes:<br />

0 Sólo se puede seleccionar un elemento<br />

1 Se pueden seleccionar varios elementos<br />

Ejemplo de formato libre<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C<br />

*<br />

Ejemplo de formato fijo<br />

EVAL rc = %getatr('win01': 'LB1': 'MultSelect')<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C<br />

*<br />

'LB1' GETATR 'MULTSELECT' rc 1 0<br />

298 <strong>VisualAge</strong> <strong>RPG</strong> Manual de consulta de componentes


Name<br />

Devuelve el nombre del componente lógico.<br />

Tipo Serie<br />

Se aplica a los componentes<br />

*Componente lógico<br />

Códigos de operación<br />

SETATR<br />

Operativo en tiempo de ejecución<br />

no<br />

GETATR sí<br />

Ejemplo de formato libre<br />

Obtener el nombre del componente lógico:<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C EVAL appname=%getatr('*Component':'*Component':'Name')<br />

*<br />

Ejemplo de formato fijo<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C '*COMPONENT' GETATR 'NAME' appname<br />

*<br />

Capítulo 2. Atributos de componente 299


NbrOfImage<br />

*Restricción: Este atributo es sólo de Java.<br />

Establece el número de imágenes que se reproducen en una secuencia de<br />

animación GIF. Utilice este atributo junto con los atributos FileName y Mode.<br />

Por ejemplo, para reproducir un archivo base Archivo.GIF como una secuencia de<br />

10 imágenes, debe establecer FileName en Archivo.GIF, NbrOfImage en 10 y<br />

Mode en 1. También, puede reproducir varias imágenes GIF distintas, como<br />

Archivo1.GIF, Archivo2.GIF, ... Archivo10.GIF.<br />

Tipo Numérico<br />

Se aplica a los componentes<br />

Control de animación<br />

Códigos de operación<br />

SETATR<br />

Operativo en tiempo de ejecución<br />

sí<br />

GETATR no<br />

Valor permitido<br />

El número de imágenes que se reproducen.<br />

Ejemplo de formato libre<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C EVAL %setatr('win01':'WIN1':'NbrOfImage')=10<br />

*<br />

Ejemplo de formato fijo<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C 'WIN1' SETATR 1 'NBROFIMAGE'<br />

*<br />

300 <strong>VisualAge</strong> <strong>RPG</strong> Manual de consulta de componentes


NbrOfLines<br />

Devuelve el número de líneas del campo de edición de múltiples líneas. Si está<br />

vacío, se devuelve el valor cero.<br />

Tipo Numérico<br />

Se aplica a los componentes<br />

Edición de múltiples<br />

líneas<br />

Códigos de operación<br />

SETATR<br />

Operativo en tiempo de ejecución<br />

no<br />

GETATR sí<br />

Ejemplo de formato libre<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C EVAL NumL = %getatr('win01': 'MLE1': 'NbrOfLines')<br />

*<br />

Ejemplo de formato fijo<br />

Obtener el número de líneas de un campo de edición de múltiples líneas:<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C 'MLE1' GETATR 'NBROFLINES' NumL 2 0<br />

*<br />

Capítulo 2. Atributos de componente 301


NbrOfSel<br />

Devuelve el número de elementos seleccionados en la parte de lista de un<br />

componente.<br />

Si no hay ningún elemento seleccionado actualmente, se devuelve el valor cero.<br />

Tipo Numérico<br />

Se aplica a los componentes<br />

Recuadro de lista Subarchivo de<br />

mensajes<br />

Códigos de operación<br />

Subarchivo<br />

SETATR<br />

Operativo en tiempo de ejecución<br />

no<br />

GETATR sí<br />

Ejemplo de formato libre<br />

Obtener el número de elementos seleccionados en un recuadro de lista:<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C<br />

*<br />

EVAL num=%getatr('win01':'LB1':'NbrOfSel')<br />

C num IFEQ *ZERO<br />

C EVAL %setatr('win01':'MSG1':'AddMsgText')='None'<br />

C<br />

*<br />

ENDIF<br />

Ejemplo de formato fijo<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C 'LB1' GETATR 'NBROFSEL' NbrSelected 2 0<br />

*<br />

302 <strong>VisualAge</strong> <strong>RPG</strong> Manual de consulta de componentes


NextLine<br />

Si este atributo se establece en 1, el graduador de la barra de desplazamiento se<br />

traslada a una posición que representa la siguiente línea dentro de una lista de<br />

elementos. El movimiento descrito por el graduador es relativo al atributo Range<br />

establecido para el componente barra de desplazamiento.<br />

Por ejemplo, supongamos que tiene un componente subarchivo y desea indicar<br />

dónde se halla un usuario dentro de un conjunto de registros cuando se pulsa una<br />

tecla de movimiento del cursor o de mandato. El componente barra de<br />

desplazamiento conectado a un subarchivo indica únicamente dónde se encuentra<br />

el usuario tomando como base el número de registros que hay actualmente en el<br />

subarchivo. Al capturar el evento VKeyPress, se puede establecer el atributo de<br />

graduador pertinente. Cuando el graduador queda situado en su nueva posición,<br />

se señala un evento Scroll y se actualiza el atributo del evento %Position.<br />

El atributo PageSize determina el tamaño de página visible de los elementos<br />

visualizados. El atributo Range determina el límite superior correspondiente al<br />

número de elementos por los que se pasará al realizar el desplazamiento.<br />

Tipo Numérico<br />

Se aplica a los componentes<br />

Barra de<br />

desplazamiento<br />

horizontal<br />

Códigos de operación<br />

Barra de<br />

desplazamiento<br />

vertical<br />

SETATR<br />

Operativo en tiempo de ejecución<br />

sí<br />

GETATR no<br />

Ejemplo de formato libre<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C EVAL %setatr('win01':'VSC1':'NextLine')=1<br />

*<br />

Ejemplo de formato fijo<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C 'VSC1' SETATR 1 'NEXTLINE'<br />

*<br />

Capítulo 2. Atributos de componente 303


NextPage<br />

Si este atributo se establece en 1, el graduador de la barra de desplazamiento se<br />

traslada a una posición que representa la siguiente página dentro de una lista de<br />

elementos. El movimiento descrito por el graduador es relativo al atributo Range<br />

establecido para el componente barra de desplazamiento.<br />

Por ejemplo, supongamos que tiene un componente subarchivo y desea indicar<br />

dónde se halla un usuario dentro de un conjunto de registros cuando se pulsa una<br />

tecla de movimiento del cursor o de mandato. El componente barra de<br />

desplazamiento conectado a un subarchivo indica únicamente dónde se encuentra<br />

el usuario tomando como base el número de registros que hay actualmente en el<br />

subarchivo. Al capturar el evento VKeyPress, se puede establecer el atributo de<br />

graduador pertinente. Cuando el graduador queda situado en su nueva posición,<br />

se señala un evento Scroll y se actualiza el atributo del evento %Position.<br />

El atributo PageSize determina el tamaño de página visible de los elementos<br />

visualizados. El atributo Range determina el límite superior correspondiente al<br />

número de elementos por los que se pasará al realizar el desplazamiento.<br />

Tipo Numérico<br />

Se aplica a los componentes<br />

Barra de<br />

desplazamiento<br />

horizontal<br />

Códigos de operación<br />

Barra de<br />

desplazamiento<br />

vertical<br />

SETATR<br />

Operativo en tiempo de ejecución<br />

sí<br />

GETATR no<br />

Ejemplo de formato libre<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C EVAL %setatr('win01':'VSC1':'NextPage')=1<br />

*<br />

Ejemplo de formato fijo<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C 'VSC1' SETATR 1 'NEXTPAGE'<br />

*<br />

304 <strong>VisualAge</strong> <strong>RPG</strong> Manual de consulta de componentes


NotSrcEvt<br />

Utilice este atributo, junto con los atributos NotSrcPart y NotSrcWin, para que el<br />

componente referencia a componente lógico supervise la aparición de un evento<br />

específico en un componente determinado de una ventana en particular de otro<br />

componente lógico. Este atributo se utiliza para identificar el evento que desea.<br />

Utilice NotSrcPart y NotSrcWin para especificar el componente y la ventana<br />

determinados que desea supervisar para la aparición de ese evento.<br />

Tipo Serie<br />

Se aplica a los componentes<br />

Referencia a<br />

componente lógico<br />

Códigos de operación<br />

SETATR*<br />

Operativo en tiempo de ejecución<br />

sí<br />

GETATR sí<br />

*Nota: Puede definirse utilizando el cuaderno de propiedades en el<br />

diseñador GUI.<br />

Ejemplo de formato libre<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C EVAL event = %getatr('win01': 'CR1': 'NotSrcEvt')<br />

*<br />

Ejemplo de formato fijo<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C 'CR1' GETATR 'NOTSRCEVT' event<br />

*<br />

Capítulo 2. Atributos de componente 305


NotSrcPart<br />

Utilice este atributo, junto con los atributos NotSrcEvt y NotSrcWin, para que el<br />

componente referencia a componente lógico supervise la aparición de un evento<br />

específico en un componente determinado de una ventana en particular de otro<br />

componente lógico. Este atributo se utiliza para identificar el componente que<br />

desea. Utilice NotSrcEvt y NotSrcWin para especificar el evento que desea<br />

supervisar para ese componente y la ventana en la que se encuentra el<br />

componente.<br />

Tipo Serie<br />

Se aplica a los componentes<br />

Referencia a<br />

componente lógico<br />

Códigos de operación<br />

SETATR*<br />

Operativo en tiempo de ejecución<br />

sí<br />

GETATR sí<br />

*Nota: Puede definirse utilizando el cuaderno de propiedades en el<br />

diseñador GUI.<br />

Ejemplo de formato libre<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C EVAL PartN = %getatr('win1': 'CR1': 'NotSrPart')<br />

*<br />

Ejemplo de formato fijo<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C 'CR1' GETATR 'NOTSRCPART' PartN<br />

*<br />

306 <strong>VisualAge</strong> <strong>RPG</strong> Manual de consulta de componentes


NotSrcWin<br />

Utilice este atributo, junto con los atributos NotSrcEvt y NotSrcPart, para que el<br />

componente referencia a componente lógico supervise la aparición de un evento<br />

específico en un componente determinado de una ventana en particular de otro<br />

componente lógico. Este atributo se utiliza para identificar la ventana que desea.<br />

Utilice NotSrcPart y NotSrcEvt para especificar el componente y el evento que<br />

desea supervisar en dicha ventana.<br />

Tipo Serie<br />

Se aplica a los componentes<br />

Referencia a<br />

componente lógico<br />

Códigos de operación<br />

SETATR*<br />

Operativo en tiempo de ejecución<br />

sí<br />

GETATR sí<br />

*Nota: Puede definirse utilizando el cuaderno de propiedades en el<br />

diseñador GUI.<br />

Ejemplo de formato libre<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C EVAL WinNam = %getatr('win1': 'CR1': 'NotSrcWin')<br />

*<br />

Ejemplo de formato fijo<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C 'CR1' GETATR 'NotSrcWin' WinNam<br />

*<br />

Capítulo 2. Atributos de componente 307


OCXProp<br />

Determina el nombre de la propiedad. Este nombre se utiliza para determinar el<br />

valor de propiedad con el atributo OCXValue.<br />

Tipo Serie<br />

Se aplica a los componentes<br />

ActiveX<br />

Códigos de operación<br />

SETATR<br />

Operativo en tiempo de ejecución<br />

sí<br />

GETATR sí<br />

Ejemplo de formato libre<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C EVAL %setatr('win01':'AX1':'OCXProp')='PN1'<br />

*<br />

Ejemplo de formato fijo<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C 'AX1' SETATR 'PN1' 'OCXPROP'<br />

*<br />

308 <strong>VisualAge</strong> <strong>RPG</strong> Manual de consulta de componentes


OCXValue<br />

Determina el valor de la propiedad según proporciona el atributo OCXProp.<br />

Tipo Serie<br />

Se aplica a los componentes<br />

ActiveX<br />

Códigos de operación<br />

SETATR<br />

Operativo en tiempo de ejecución<br />

sí<br />

GETATR sí<br />

Ejemplo de formato libre<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C EVAL %setatr('win01':'AX1':'OCXValue')='VL1'<br />

*<br />

Ejemplo de formato fijo<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C 'AX1' SETATR 'VL1' 'OCXVALUE'<br />

*<br />

Capítulo 2. Atributos de componente 309


OpenEdit<br />

Determina si se puede editar un campo de entrada de un registro de subarchivo.<br />

Antes de establecer este atributo, debe establecer los atributos ColNumber e Index.<br />

El valor devuelto por el atributo OpenEdit indica si hay algún campo del<br />

subarchivo abierto en este momento para su edición. Por consiguiente, no es<br />

necesario establecer primero los atributos ColNumber e Index antes de obtener<br />

este atributo.<br />

Cuando el atributo OpenEdit está establecido en 0, se cierran todos los campos<br />

abiertos actualmente para edición. Los atributos ColNumber e Index se pasan por<br />

alto.<br />

Tipo Numérico<br />

Se aplica a los componentes<br />

Subarchivo<br />

Códigos de operación<br />

SETATR<br />

Operativo en tiempo de ejecución<br />

sí<br />

GETATR sí<br />

Valor permitido<br />

OpenEdit puede tener uno de los siguientes valores:<br />

0 El campo no se puede editar<br />

1 El campo se puede editar<br />

Ejemplo de formato libre<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C<br />

*<br />

EVAL isopen = %getatr('win01': 'SF1': 'OpenEdit')<br />

C<br />

*<br />

EVAL %setatr('win01': 'SF1': 'OpenEdit') = 1<br />

Ejemplo de formato fijo<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C 'SF1' GETATR 'OPENEDIT' isopen<br />

*<br />

310 <strong>VisualAge</strong> <strong>RPG</strong> Manual de consulta de componentes


OS<br />

Devuelve el nombre del sistema operativo.<br />

Tipo Serie<br />

Se aplica a los componentes<br />

*Componente lógico<br />

Códigos de operación<br />

SETATR<br />

Operativo en tiempo de ejecución<br />

no<br />

GETATR sí<br />

Valor devuelto<br />

Sistema operativo WINDOWS: Windows NT, Windows 95 o Windows 98<br />

Ejemplo de formato libre<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C EVAL ostring=%getatr('*Component':'*Component':'Os')<br />

*<br />

Ejemplo de formato fijo<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C '*COMPONENT' GETATR 'OS' ostring<br />

*<br />

Capítulo 2. Atributos de componente 311


OutlineRcl<br />

Indica si hay o no un rectángulo bordeando la fecha YearIdx/MonthIdx/DayIdx.<br />

Tipo Numérico<br />

Se aplica a los componentes<br />

Calendario<br />

Códigos de operación<br />

SETATR<br />

Operativo en tiempo de ejecución<br />

sí<br />

GETATR sí<br />

Valor permitido<br />

OutlineRcl puede tener uno de los siguientes valores:<br />

0 No hay ningún rectángulo<br />

1 Hay un rectángulo<br />

Ejemplo de formato libre<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C<br />

*<br />

EVAL %setatr('win01': 'CAL1': 'OutlineRcl') = 1<br />

Ejemplo de formato fijo<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C 'CAL1' SETATR 1 'OUTLINERCL'<br />

*<br />

312 <strong>VisualAge</strong> <strong>RPG</strong> Manual de consulta de componentes


PageNumber<br />

Determina qué número de página está seleccionado actualmente.<br />

Tipo Numérico<br />

Se aplica a los componentes<br />

Cuaderno<br />

Códigos de operación<br />

SETATR<br />

Operativo en tiempo de ejecución<br />

sí<br />

GETATR sí<br />

Valor permitido<br />

El número de página seleccionado actualmente<br />

Ejemplo de formato libre<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C EVAL %setatr('win01': 'NB1': 'PageNumber') = 1<br />

*<br />

Ejemplo de formato fijo<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C 'NB1' SETATR 1 'PAGENUMBER'<br />

*<br />

Capítulo 2. Atributos de componente 313


PageSize<br />

Para un componente subarchivo, indica el número de filas de datos visibles. Este<br />

atributo es útil si desea efectuar el proceso página a página.<br />

Para un componente barra de desplazamiento horizontal o vertical, determina el<br />

tamaño de página visible. El valor de PageSize no puede sobrepasar el valor de<br />

Range.<br />

Tipo Numérico<br />

Se aplica a los componentes<br />

Barra de<br />

desplazamiento<br />

horizontal<br />

Barra de<br />

desplazamiento<br />

vertical<br />

Subarchivo*<br />

* Restricción: Este atributo sólo se puede obtener en tiempo de ejecución<br />

para el componente subarchivo.<br />

Códigos de operación<br />

SETATR<br />

Operativo en tiempo de ejecución<br />

sí<br />

GETATR sí<br />

Valor permitido<br />

Para un componente barra de desplazamiento horizontal o vertical, el valor<br />

de PageSize puede estar entre 1 y 32.767. No puede sobrepasar el valor de<br />

Range.<br />

Ejemplo de formato libre<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C EVAL PS = %getatr('win01':'SFL1':'PageSize')<br />

*<br />

Ejemplo de formato fijo<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C 'SFL1' GETATR 'PAGESIZE' PS<br />

*<br />

314 <strong>VisualAge</strong> <strong>RPG</strong> Manual de consulta de componentes


Panel<br />

Nota: Este atributo sólo se utiliza en Windows NT/95/98.<br />

En el componente imagen, panel determina si el componente tiene un panel de<br />

ampliación asociado. El panel de ampliación contiene dos controles que permiten<br />

la manipulación de la imagen:<br />

Recuadro de selección Ajustar escala<br />

Cuando este recuadro de selección no está marcado, la imagen se ajusta<br />

proporcionalmente para encajar en el componente imagen. Cuando está<br />

marcado, se habilita el graduador de ampliación.<br />

Graduador de ampliación<br />

Cuando está habilitado, este graduador ajusta la ampliación de la imagen entre<br />

un 25% y un 200% de su tamaño original.<br />

En el componente medios, panel se utiliza para mostrar un panel de medios para<br />

reproducir archivos.<br />

Tipo Numérico<br />

Se aplica a los componentes<br />

Imagen Medios<br />

Códigos de operación<br />

SETATR<br />

Operativo en tiempo de ejecución<br />

sí<br />

GETATR sí<br />

Capítulo 2. Atributos de componente 315


Valor permitido<br />

Uno de los siguientes:<br />

0 No se conecta el panel de ampliación o se oculta el panel de<br />

reproducción.<br />

1 Se conecta el panel de ampliación o se muestra el panel de<br />

reproducción.<br />

Ejemplo de formato libre<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C<br />

*<br />

EVAL oldval = %getatr('window': 'MMP1': 'Panel')<br />

C<br />

*<br />

EVAL %setatr('window': 'MMP1': 'Panel') = 1<br />

Ejemplo de formato fijo<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C 'MMP1' GETATR 'PANEL' OldVal 1 0<br />

C<br />

*<br />

'MMP1' SETATR 1 'PANEL'<br />

316 <strong>VisualAge</strong> <strong>RPG</strong> Manual de consulta de componentes


PanelItem<br />

Devuelve un valor que indica el último botón que se ha cambiado en un panel de<br />

medios. Un botón se puede cambiar pulsando sobre el mismo con el ratón o<br />

estableciendo el atributo PanelMode. Puede establecer la verificación de este<br />

atributo cuando el usuario haya pulsado uno de los botones del panel de medios.<br />

De este modo se producirá un evento Press. A continuación puede utilizar el<br />

atributo PanelItem de la subrutina de acción Press para determinar la función que<br />

debe llevarse a cabo.<br />

Tipo Numérico<br />

Se aplica a los componentes<br />

Panel de medios<br />

Códigos de operación<br />

SETATR<br />

Operativo en tiempo de ejecución<br />

no<br />

GETATR sí<br />

Valor devuelto<br />

Estado del último botón del panel de medios que se ha pulsado:<br />

0 No se ha pulsado ningún botón<br />

1 Pause (Pausa)<br />

2 Play (Reproducir)<br />

3 Grabar<br />

4 Stop (Parar)<br />

5 Pista siguiente<br />

6 Pista anterior<br />

7 Índice siguiente<br />

8 Índice anterior<br />

9 Volumen<br />

10 Posición<br />

Capítulo 2. Atributos de componente 317


Ejemplo de formato libre<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C EVAL button = %getatr('win01': 'MMP1': 'PanelItem')<br />

*<br />

C button CASEQ 2 PLAY<br />

C button CASEQ 3 RECORD<br />

C ...<br />

C ENDCS<br />

*<br />

Ejemplo de formato fijo<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C<br />

*<br />

'MMP1' GETATR 'PANELITEM' button 2 0<br />

C button CASEQ 2 PLAY<br />

C button CASEQ 3 RECORD<br />

C ...<br />

C<br />

*<br />

ENDCS<br />

318 <strong>VisualAge</strong> <strong>RPG</strong> Manual de consulta de componentes


PanelMode<br />

Establece la modalidad operativa para el componente panel de medios.<br />

Tipo Numérico<br />

Se aplica a los componentes<br />

Panel de medios<br />

Códigos de operación<br />

SETATR<br />

Operativo en tiempo de ejecución<br />

sí<br />

GETATR no<br />

Valor permitido<br />

La modalidad operativa de un componente panel de medios puede ser:<br />

1 Pause (Pausa)<br />

2 Play (Reproducir)<br />

3 Grabar<br />

4 Stop (Parar)<br />

Ejemplo de formato libre<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C<br />

*<br />

EVAL %setatr('win01': 'MMP1': 'PanelMode') = 1<br />

Ejemplo de formato fijo<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C 'MMP1' SETATR 1 'PANELMODE'<br />

*<br />

Capítulo 2. Atributos de componente 319


Parent<br />

Establece el componente padre cuya lista de hijos ha de recuperarse mediante el<br />

atributo PartList. Se devolverá la lista de hijos inmediatos. Para obtener la lista de<br />

ventanas de un componente lógico, establezca el atributo Parent con el nombre<br />

reservado *component.<br />

Nota: Este atributo debe establecerse antes de utilizar PartCount o PartList.<br />

Tipo Serie<br />

Se aplica a los componentes<br />

*Componente lógico<br />

Códigos de operación<br />

SETATR<br />

Operativo en tiempo de ejecución<br />

sí<br />

GETATR sí<br />

Valor permitido<br />

El formato del nombre de componente padre es:<br />

PARENTNAME|PARTNAME<br />

320 <strong>VisualAge</strong> <strong>RPG</strong> Manual de consulta de componentes<br />

ParentName es el nombre del componente ventana propietario de<br />

PartName. Si desea obtener una lista de los componentes de una ventana,<br />

utilice el nombre del componente lienzo como nombre del componente<br />

padre.


Ejemplo de formato libre<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C EVAL %setatr('*component':'*component':'Parent')<br />

C = 'WIN1|CANVS1'<br />

*<br />

Ejemplo de formato fijo<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C '*component' SETATR 'WIN1|CANVS1' 'PARENT'<br />

*<br />

Si desea obtener un nombre de lienzo desde un componente ventana padre, deberá<br />

especificar dos veces el nombre de la ventana. El siguiente ejemplo de código<br />

muestra cómo hacerlo. (La variable WinName contiene el nombre de la ventana<br />

padre).<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

* Establecer la ventana como el padre; entrar dos veces el<br />

nombre de la ventana.<br />

C EVAL %setatr('*component':'*component':'Parent')<br />

C = WinName + '|' + WinName<br />

*<br />

* Obtener PartList, que ahora tiene el nombre de la ventana, y<br />

asignarlo a la variable Canvas.<br />

C EVAL<br />

Canvas=%getatr('*component':'*component':'PartList')<br />

Consulte la descripción de PartList para obtener información sobre los valores<br />

devueltos por este atributo.<br />

Capítulo 2. Atributos de componente 321


ParentId<br />

Devuelve el ID del registro padre de un registro de un contenedor. Antes de<br />

utilizar este atributo, establezca el atributo RecordID en el ID del registro cuyo ID<br />

de padre desea determinar.<br />

Tipo Serie<br />

Se aplica a los componentes<br />

Contenedor<br />

Códigos de operación<br />

SETATR<br />

Operativo en tiempo de ejecución<br />

no<br />

GETATR sí<br />

Ejemplo de formato libre<br />

En el ejemplo siguiente, se supone que se ha seleccionado un registro. Se<br />

determinará cuál es el ID del registro padre del registro seleccionado.<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

CSRN01Factor1+++++++Opcode(E)+Extended-factor2+++++++++++++++++++++++++----<br />

* Establecer el ID del registro seleccionado<br />

C EVAL %setatr('Main':'CT1':'RecordID')=<br />

C %getatr('Main':'CT1':'FirstSel')<br />

* Obtener el ID del registro padre del registro seleccionado<br />

C EVAL Parent=%getatr('Main':'CT1':'ParentId')<br />

*<br />

Ejemplo de formato fijo<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C 'CT1' GETATR 'FIRSTSEL' ID 4 0<br />

C 'CT1' SETATR ID 'RECORDID'<br />

C<br />

*<br />

'CT1' GETATR 'PARENTID' PARENT 4 0<br />

322 <strong>VisualAge</strong> <strong>RPG</strong> Manual de consulta de componentes


|<br />

|<br />

|<br />

|<br />

|<br />

|<br />

|<br />

|<br />

|<br />

|<br />

|<br />

|<br />

|<br />

|<br />

|<br />

|<br />

|<br />

|<br />

|<br />

|<br />

|<br />

|<br />

|<br />

|<br />

|<br />

|<br />

|<br />

|<br />

|<br />

|<br />

|<br />

|<br />

|<br />

|<br />

ParentList<br />

Devuelve la lista, delimitada con blancos, de los ID de padre del registro actual.<br />

Antes de utilizar este atributo, establezca el atributo RecordID en el ID del registro<br />

actual.<br />

Tipo Serie<br />

Se aplica a los componentes<br />

Contenedor<br />

Códigos de operación<br />

SETATR<br />

Operativo en tiempo de ejecución<br />

no<br />

GETATR sí<br />

Ejemplo de formato libre<br />

En el ejemplo siguiente, se supone que se ha seleccionado un registro. Se<br />

determinará cuál es el ID de registro del registro seleccionado.<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

CSRN01Factor1+++++++Opcode(E)+Extended-factor2+++++++++++++++++++++++++----<br />

* Establecer el ID del registro seleccionado<br />

C EVAL %setatr('Main':'CT1':'RecordID')=<br />

C %getatr('Main':'CT1':'FirstSel')<br />

* Obtener la lista de los ID de padre del registro seleccionado<br />

C EVAL ParentL=%getatr('Main':'CT1':'ParentList')<br />

*<br />

Ejemplo de formato fijo<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C 'CT1' GETATR 'FIRSTSEL' ID 4 0<br />

C 'CT1' SETATR ID 'RECORDID'<br />

C<br />

*<br />

'CT1' GETATR 'PARENTLIST' PARENTL 4 0<br />

Capítulo 2. Atributos de componente 323


ParentName<br />

Devuelve el nombre del componente que contiene el componente al que el<br />

parámetro part hace referencia. En el caso de los componentes que están en una<br />

ventana, se devuelve el nombre de ésta. Cuando utilice este atributo para un<br />

componente ventana, se devolverá el nombre del componente ventana.<br />

Tipo Serie<br />

Se aplica a los componentes<br />

Todos los componentes excepto el componente *component<br />

Códigos de operación<br />

SETATR<br />

Operativo en tiempo de ejecución<br />

no<br />

GETATR sí<br />

Ejemplo de formato libre<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C EVAL PName = %getatr('win01': 'EF1': 'ParentName')<br />

*<br />

Ejemplo de formato fijo<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C 'EF1' GETATR 'PARENTNAME' PName 1 0<br />

*<br />

324 <strong>VisualAge</strong> <strong>RPG</strong> Manual de consulta de componentes


PartCount<br />

Devuelve el número de hijos del componente padre establecido por el atributo<br />

Parent.<br />

Tipo Numérico<br />

Se aplica a los componentes<br />

*Componente lógico Bean Java<br />

Códigos de operación<br />

SETATR<br />

Operativo en tiempo de ejecución<br />

no<br />

GETATR sí<br />

Valor permitido<br />

El número de hijos del componente padre especificado.<br />

Ejemplo de formato libre<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C EVAL Numchild=%getatr('*component':'*component':<br />

C 'PartCount')<br />

*<br />

Ejemplo de formato fijo<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C '*component' GETATR 'PARTCOUNT' Numchild<br />

*<br />

Capítulo 2. Atributos de componente 325


PartList<br />

Devuelve una lista de los componentes hijo del componente padre que ha<br />

establecido el atributo Parent.<br />

Tipo Serie<br />

Se aplica a los componentes<br />

*Componente lógico<br />

Códigos de operación<br />

SETATR<br />

Operativo en tiempo de ejecución<br />

no<br />

GETATR sí<br />

Valor devuelto<br />

El formato de la serie es una serie continua de nombres de componente. El<br />

nombre de cada uno de los componentes es una serie fija de 10 caracteres<br />

de longitud. Si una parte del nombre de componente tiene menos de 10<br />

caracteres, el nombre se rellena por la derecha con espacios en blanco.<br />

FRAMEbbbbbCANVASbbbbENTRYFIELD<br />

Ejemplo de formato libre<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C EVAL list = %getatr('*component': '*component':<br />

C<br />

*<br />

'PartList')<br />

Ejemplo de formato fijo<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C '*component' GETATR 'PARTLIST' list<br />

*<br />

326 <strong>VisualAge</strong> <strong>RPG</strong> Manual de consulta de componentes


PartName<br />

Devuelve el nombre del componente. Es el nombre que se asignó al componente<br />

cuando se creó por primera vez utilizando el valor del cuaderno.<br />

La longitud del valor del nombre es de 10 caracteres. Se devolverá en el campo de<br />

resultado justificado por la izquierda. Si el campo de resultado tiene menos de 10<br />

caracteres, el valor del nombre se truncará. Si tiene más de 10 caracteres, el campo<br />

se rellena con espacios en blanco.<br />

Tipo Serie<br />

Se aplica a los componentes<br />

Todos los componentes excepto el componente *component<br />

Códigos de operación<br />

SETATR<br />

Operativo en tiempo de ejecución<br />

no<br />

GETATR sí<br />

Ejemplo de formato libre<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C EVAL ctlname = %getatr('win01': 'MLE1': 'PartName')<br />

*<br />

Ejemplo de formato fijo<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C 'MLE1' GETATR 'PARTNAME' ctlname 10<br />

*<br />

Capítulo 2. Atributos de componente 327


PartType<br />

Devuelve el tipo del componente. El valor devuelto para un componente VA<strong>RPG</strong><br />

tiene como prefijo los caracteres FVDES. Por ejemplo, el valor devuelto para un<br />

componente campo de entrada es FVDESEntryField.<br />

Nota: Para un componente referencia a componente lógico, el valor devuelto tiene<br />

como prefijo los caracteres FVDESV.<br />

Tipo Serie<br />

Se aplica a los componentes<br />

Todos los componentes excepto el componente *component<br />

Códigos de operación<br />

SETATR<br />

Operativo en tiempo de ejecución<br />

no<br />

GETATR sí<br />

Ejemplo de formato libre<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C EVAL Type = %getatr('win01': 'MLE1': 'PartType')<br />

*<br />

Ejemplo de formato fijo<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C 'MLE1' GETATR 'PARTTYPE' Type 50<br />

*<br />

328 <strong>VisualAge</strong> <strong>RPG</strong> Manual de consulta de componentes


Paste<br />

Pega el texto del portapapeles en la posición del cursor. Si hay un texto<br />

seleccionado, se sustituirá por el texto del portapapeles.<br />

Tipo Numérico<br />

Se aplica a los componentes<br />

Campo de entrada Edición de múltiples<br />

líneas<br />

Códigos de operación<br />

SETATR<br />

Operativo en tiempo de ejecución<br />

sí<br />

GETATR no<br />

Valor permitido<br />

El valor permitido es 1<br />

Ejemplo de formato libre<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C EVAL %setatr('win01': 'MLE1': 'Paste') = 1<br />

*<br />

Ejemplo de formato fijo<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C 'MLE1' SETATR 1 'paste'<br />

*<br />

Capítulo 2. Atributos de componente 329


PBRange<br />

Determina el rango superior de la barra de progreso. El valor por omisión es 100.<br />

Este valor puede representar el límite superior del proceso que el programa está<br />

supervisando. Por ejemplo, si el programa está subiendo 1.000 archivos, puede<br />

interesarle establecer el rango superior en 1.000 para este proceso.<br />

Tipo Numérico<br />

Se aplica a los componentes<br />

Barra de progreso Ventana<br />

Códigos de operación<br />

SETATR<br />

Operativo en tiempo de ejecución<br />

sí<br />

GETATR no<br />

Ejemplo de formato libre<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

* Establecer el rango de una barra de progreso conectada a una ventana<br />

C EVAL %setatr('win01':'WIN1':'PBRange')=1000<br />

* Establecer el rango de un componente barra de progreso<br />

C EVAL %setatr('win01':'PBar1':'PBRange')=1000<br />

Ejemplo de formato fijo<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

* Establecer el rango de una barra de progreso conectada a una ventana<br />

C 'WIN1' SETATR 1000 'PBRANGE'<br />

* Establecer el rango de un componente barra de progreso<br />

C 'PBAR1' SETATR 1000 'PBRANGE'<br />

330 <strong>VisualAge</strong> <strong>RPG</strong> Manual de consulta de componentes


PBSetPos<br />

Mueve el indicador de barra de progreso a la posición absoluta especificada. Este<br />

valor depende de cómo se ha establecido el valor del atributo PBRange.<br />

Tipo Numérico<br />

Se aplica a los componentes<br />

Barra de progreso Ventana<br />

Códigos de operación<br />

SETATR<br />

Operativo en tiempo de ejecución<br />

sí<br />

GETATR no<br />

Ejemplo de formato libre<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C EVAL %setatr('win01':'WIN1':'PBSetPos')=50<br />

*<br />

Ejemplo de formato fijo<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C 'WIN1' SETATR 50 'PBSETPOS'<br />

*<br />

Capítulo 2. Atributos de componente 331


PBStep<br />

Establezca este atributo en 1 para mover el indicador de barra de progreso el<br />

número de unidades de pasos definido en el valor de PBStepSize.<br />

Tipo Numérico<br />

Se aplica a los componentes<br />

Barra de progreso Ventana<br />

Códigos de operación<br />

SETATR<br />

Operativo en tiempo de ejecución<br />

sí<br />

GETATR no<br />

Ejemplo de formato libre<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C EVAL %setatr('win01':'WIN1':'PBStep')=1<br />

*<br />

Ejemplo de formato fijo<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C 'WIN1' SETATR 1 'PBSTEP'<br />

*<br />

332 <strong>VisualAge</strong> <strong>RPG</strong> Manual de consulta de componentes


PBStepSize<br />

Determina la posición máxima a la que se mueve el indicador de barra de progreso<br />

cuando el atributo PBStep está activado. El valor por omisión es 10.<br />

Tipo Numérico<br />

Se aplica a los componentes<br />

Barra de progreso Ventana<br />

Códigos de operación<br />

SETATR<br />

Operativo en tiempo de ejecución<br />

sí<br />

GETATR no<br />

Ejemplo de formato libre<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C EVAL %setatr('win01':'WIN1':'PBStepSize')=10<br />

*<br />

Ejemplo de formato fijo<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C 'WIN1' SETATR 10 'PBSTEPSIZE'<br />

*<br />

Capítulo 2. Atributos de componente 333


Platform<br />

Devuelve el nombre de la plataforma en la que se está ejecutando la aplicación.<br />

Tipo Serie<br />

Se aplica a los componentes<br />

*Componente lógico<br />

Códigos de operación<br />

SETATR<br />

Operativo en tiempo de ejecución<br />

no<br />

GETATR sí<br />

Valor devuelto<br />

Uno de los siguientes:<br />

WINDOWS<br />

Windows<br />

JAVA Java<br />

Ejemplo de formato libre<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C EVAL app1=%getatr('*Component':'*Component':'Platform')<br />

*<br />

Ejemplo de formato fijo<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C '*COMPONENT' GETATR 'PLATFORM' APP1<br />

*<br />

334 <strong>VisualAge</strong> <strong>RPG</strong> Manual de consulta de componentes


PlugCmd<br />

*Restricciones:<br />

1. Este atributo no está soportado en las aplicaciones Java.<br />

2. Este atributo sólo se aplica a los conectores escritos en <strong>VisualAge</strong> <strong>RPG</strong>.<br />

Transfiere un mandato al componente lógico Conector del Diseñador GUI. Los<br />

atributos PlugDLL y PlugID deben estar establecidos antes de utilizar PlugCmd.<br />

Tipo Serie<br />

Se aplica a los componentes<br />

*Component<br />

Códigos de operación<br />

SETATR<br />

Operativo en tiempo de ejecución<br />

sí<br />

GETATR no<br />

Valor permitido<br />

El mandato de conector<br />

Ejemplo de formato libre<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C EVAL %setatr('*component': '*component': 'PlugCmd')<br />

C = cmdstring<br />

*<br />

Ejemplo de formato fijo<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C '*component' SETATR cmdstring 'PLUGCMD'<br />

*<br />

Capítulo 2. Atributos de componente 335


PlugDLL<br />

*Restricciones:<br />

1. Este atributo no está soportado en las aplicaciones Java.<br />

2. Este atributo sólo se aplica a los conectores escritos en <strong>VisualAge</strong> <strong>RPG</strong>.<br />

Establece el nombre de la DLL del conector. Los atributos PlugDLL y PlugID<br />

deben estar establecidos antes de utilizar PlugCmd.<br />

Tipo Serie<br />

Se aplica a los componentes<br />

*Component<br />

Códigos de operación<br />

SETATR<br />

Operativo en tiempo de ejecución<br />

sí<br />

GETATR no<br />

Valor permitido<br />

Nombre de la DLL del conector<br />

Ejemplo de formato libre<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C EVAL %setatr('*component': '*component': 'PlugDLL')<br />

C = PlugDLL<br />

*<br />

Ejemplo de formato fijo<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C '*component' SETATR DLLname 'PLUGDLL'<br />

*<br />

336 <strong>VisualAge</strong> <strong>RPG</strong> Manual de consulta de componentes


PlugID<br />

*Restricciones:<br />

1. Este atributo no está soportado en las aplicaciones Java.<br />

2. Este atributo sólo se aplica a los conectores escritos en <strong>VisualAge</strong> <strong>RPG</strong>.<br />

Establece el ID del Diseñador GUI que se pasa al conector. Los atributos PlugDLL<br />

y PlugID deben estar establecidos antes de utilizar PlugCmd.<br />

Tipo Serie<br />

Se aplica a los componentes<br />

*Component<br />

Códigos de operación<br />

SETATR<br />

Operativo en tiempo de ejecución<br />

sí<br />

GETATR no<br />

Valor permitido<br />

ID del Diseñador GUI<br />

Ejemplo de formato libre<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C EVAL %setatr('*component': '*component': 'PlugID')<br />

C = idname<br />

*<br />

Ejemplo de formato fijo<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C '*component' SETATR idname 'PLUGID'<br />

*<br />

Capítulo 2. Atributos de componente 337


PlugRC<br />

*Restricciones:<br />

1. Este atributo no está soportado en las aplicaciones Java.<br />

2. Este atributo sólo se aplica a los conectores escritos en <strong>VisualAge</strong> <strong>RPG</strong>.<br />

Obtiene el código de retorno del último mandato del conector.<br />

Tipo Numérico<br />

Se aplica a los componentes<br />

*Component<br />

Códigos de operación<br />

SETATR<br />

Operativo en tiempo de ejecución<br />

no<br />

GETATR sí<br />

Ejemplo de formato libre<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C EVAL code = %getatr('*component': '*component':<br />

C<br />

*<br />

'PlugRC')<br />

Ejemplo de formato fijo<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C '*component' GETATR 'PLUGRC' code 2 0<br />

*<br />

338 <strong>VisualAge</strong> <strong>RPG</strong> Manual de consulta de componentes


PlugResult<br />

*Restricciones:<br />

1. Este atributo no está soportado en las aplicaciones Java.<br />

2. Este atributo sólo se aplica a los conectores escritos en <strong>VisualAge</strong> <strong>RPG</strong>.<br />

Obtiene la serie del resultado del último mandato del conector.<br />

Tipo Serie<br />

Se aplica a los componentes<br />

*Component<br />

Códigos de operación<br />

SETATR<br />

Operativo en tiempo de ejecución<br />

no<br />

GETATR sí<br />

Ejemplo de formato libre<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C EVAL Result = %getatr('*component': '*component':<br />

C<br />

*<br />

'PlugResult')<br />

Ejemplo de formato fijo<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C '*component' GETATR 'PLUGRESULT' Result<br />

*<br />

Capítulo 2. Atributos de componente 339


Poke<br />

Envía datos a la aplicación del servidor. Para transferir datos a una aplicación del<br />

servidor, debe haberse iniciado satisfactoriamente una conversación DDE para el<br />

componente DDE. Asimismo, debe haberse establecido el atributo DDEItem para<br />

indicar el elemento del servidor que recibirá los datos transferidos.<br />

Cuando la aplicación del servidor procese la solicitud Poke, responderá con un<br />

evento PokeAck. Debe comprobar el atributo %PokeAck en la subrutina de acción<br />

PokeAck para determinar si la operación Poke se ha completado de manera<br />

satisfactoria o no.<br />

Tipo Serie<br />

Se aplica a los componentes<br />

Cliente DDE<br />

Códigos de operación<br />

SETATR<br />

Operativo en tiempo de ejecución<br />

sí<br />

GETATR no<br />

Ejemplo de formato libre<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C EVAL %setatr('win01': 'DDE1': 'DDEItem') = 'A1'<br />

C<br />

*<br />

EVAL %setatr('win01': 'DDE1': 'Poke') = '456.78'<br />

Ejemplo de formato fijo<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C 'DDE1' SETATR '123' 'POKE'<br />

*<br />

340 <strong>VisualAge</strong> <strong>RPG</strong> Manual de consulta de componentes


Position<br />

El valor devuelto para este atributo depende del tipo del componente.<br />

En el caso de un componente medios, devolverá la posición actual del archivo de<br />

audio. Este valor se proporciona en milisegundos. Si aún no se ha procesado el<br />

archivo de audio, se devolverá el valor cero.<br />

Para un componente panel de medios, devolverá la posición del graduador. Este<br />

valor se sitúa entre 0 y 100.<br />

Para un componente barra de desplazamiento horizontal o vertical, este atributo<br />

devolverá la posición del recuadro de desplazamiento en función del valor del<br />

atributo Range.<br />

Tipo Numérico<br />

Se aplica a los componentes<br />

Barra de<br />

desplazamiento<br />

horizontal<br />

Códigos de operación<br />

Medios Panel de medios Barra de<br />

desplazamiento<br />

vertical<br />

SETATR<br />

Operativo en tiempo de ejecución<br />

sí<br />

GETATR sí<br />

Valor permitido<br />

Para un componente panel de medios, el valor de Position, entre 0 y 100,<br />

representa un porcentaje. Para un componente barra de desplazamiento<br />

horizontal o vertical, se trata de un valor absoluto basado en el valor de<br />

Range.<br />

Ejemplo de formato libre<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C EVAL oldpos = %getatr('win01': 'MMP1': 'Position')<br />

*<br />

C EVAL %setatr('win01': 'MMP1': 'Position') = 5<br />

*<br />

Ejemplo de formato fijo<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C<br />

*<br />

'MMP1' GETATR 'POSITION' OldPos 3 0<br />

C<br />

*<br />

'MMP1' SETATR 5 'POSITION'<br />

Capítulo 2. Atributos de componente 341


PrevLine<br />

Si este atributo se establece en 1, el graduador de la barra de desplazamiento se<br />

traslada a una posición que representa la línea anterior dentro de una lista de<br />

elementos. El movimiento descrito por el graduador es relativo al atributo Range<br />

establecido para el componente barra de desplazamiento.<br />

Por ejemplo, supongamos que tiene un componente subarchivo y desea indicar<br />

dónde se halla un usuario dentro de un conjunto de registros cuando se pulsa una<br />

tecla de movimiento del cursor o de mandato. El componente barra de<br />

desplazamiento conectado a un subarchivo indica únicamente dónde se encuentra<br />

el usuario tomando como base el número de registros que hay actualmente en el<br />

subarchivo. Al capturar el evento VKeyPress, se puede establecer el atributo de<br />

graduador pertinente. Cuando el graduador queda situado en su nueva posición,<br />

se señala un evento Scroll y se actualiza el atributo del evento %Position.<br />

El atributo PageSize determina el tamaño de página visible de los elementos<br />

visualizados. El atributo Range determina el límite superior correspondiente al<br />

número de elementos por los que se pasará al realizar el desplazamiento.<br />

Tipo Numérico<br />

Se aplica a los componentes<br />

Barra de<br />

desplazamiento<br />

horizontal<br />

Códigos de operación<br />

Barra de<br />

desplazamiento<br />

vertical<br />

SETATR<br />

Operativo en tiempo de ejecución<br />

sí<br />

GETATR no<br />

Ejemplo de formato libre<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C EVAL %setatr('win01':'VSC1':'PrevLine')=1<br />

*<br />

Ejemplo de formato fijo<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C 'VSC1' SETATR 1 'PREVLINE'<br />

*<br />

342 <strong>VisualAge</strong> <strong>RPG</strong> Manual de consulta de componentes


PrevPage<br />

Si este atributo se establece en 1, el graduador de la barra de desplazamiento se<br />

traslada a una posición que representa la página anterior dentro de una lista de<br />

elementos. El movimiento descrito por el graduador es relativo al atributo Range<br />

establecido para el componente barra de desplazamiento.<br />

Por ejemplo, supongamos que tiene un componente subarchivo y desea indicar<br />

dónde se halla un usuario dentro de un conjunto de registros cuando se pulsa una<br />

tecla de movimiento del cursor o de mandato. El componente barra de<br />

desplazamiento conectado a un subarchivo indica únicamente dónde se encuentra<br />

el usuario tomando como base el número de registros que hay actualmente en el<br />

subarchivo. Al capturar el evento VKeyPress, se puede establecer el atributo de<br />

graduador pertinente. Cuando el graduador queda situado en su nueva posición,<br />

se señala un evento Scroll y se actualiza el atributo del evento %Position.<br />

El atributo PageSize determina el tamaño de página visible de los elementos<br />

visualizados. El atributo Range determina el límite superior correspondiente al<br />

número de elementos por los que se pasará al realizar el desplazamiento.<br />

Tipo Numérico<br />

Se aplica a los componentes<br />

Barra de<br />

desplazamiento<br />

horizontal<br />

Códigos de operación<br />

Barra de<br />

desplazamiento<br />

vertical<br />

SETATR<br />

Operativo en tiempo de ejecución<br />

sí<br />

GETATR no<br />

Ejemplo de formato libre<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C EVAL %setatr('win01':'VSC1':'PrevPage')=1<br />

*<br />

Ejemplo de formato fijo<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C 'VSC1' SETATR 1 'PREVPAGE'<br />

*<br />

Capítulo 2. Atributos de componente 343


Print<br />

Permite que se imprima la imagen o el área de cliente de la ventana. El valor de<br />

tipo serie representa el nombre y el título del trabajo. Si se establecer este atributo,<br />

se visualizará el diálogo de impresión de Windows a fin de que el usuario pueda<br />

elegir el tipo de impresora.<br />

Tipo Serie<br />

Se aplica a los componentes<br />

Imagen Ventana Ventana con lienzo<br />

Códigos de operación<br />

SETATR<br />

Operativo en tiempo de ejecución<br />

sí<br />

GETATR no<br />

Ejemplo de formato libre<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C EVAL %setatr('win01':'ima2':'Print')='Image2'<br />

*<br />

Ejemplo de formato fijo<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C 'WIN01' SETATR 'IMAGE2' 'PRINT'<br />

*<br />

344 <strong>VisualAge</strong> <strong>RPG</strong> Manual de consulta de componentes


Printer<br />

* Restricción: Este atributo no está soportado en las aplicaciones Java.<br />

Devuelve el nombre de impresora seleccionado en el diálogo de impresora. El<br />

diálogo de impresora del sistema Windows se visualiza estableciendo el atributo<br />

SelPrinter.<br />

Tipo Serie<br />

Se aplica a los componentes<br />

*Component<br />

Códigos de operación<br />

SETATR<br />

Operativo en tiempo de ejecución<br />

sí<br />

GETATR sí<br />

Ejemplo de formato libre<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C EVAL prtname = %getatr('*component': '*component':<br />

C<br />

*<br />

'Printer')<br />

Ejemplo de formato fijo<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C '*component' GETATR 'PRINTER' prtname<br />

*<br />

Capítulo 2. Atributos de componente 345


ProgresBar<br />

Añade o elimina una barra de progreso simple en una ventana como una<br />

extensión. Si hay una ventana de estado, la barra de progreso se colocará en la<br />

posición opuesta de la ventana. Utilice el componente barra de progreso si necesita<br />

una barra de progreso más variada.<br />

Tipo Numérico<br />

Se aplica a los componentes<br />

Ventana<br />

Códigos de operación<br />

SETATR<br />

Operativo en tiempo de ejecución<br />

sí<br />

GETATR no<br />

Valor permitido<br />

El valor de ProgresBar puede ser uno de los siguientes:<br />

1 Crear una barra de progreso<br />

0 Eliminar una barra de progreso<br />

Ejemplo de formato libre<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C<br />

*<br />

EVAL %setatr('win01':'WIN1':'ProgresBar')=1<br />

Ejemplo de formato fijo<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C 'WIN1' SETATR 1 'PROGRESBAR'<br />

*<br />

346 <strong>VisualAge</strong> <strong>RPG</strong> Manual de consulta de componentes


Range<br />

Determina el límite superior del rango de los elementos por los que se desplaza.<br />

Este valor puede representar el número de elementos que se visualizan en una<br />

lista. Por ejemplo, si el programa visualiza una lista de 100 archivos, puede<br />

interesarle establecer el rango superior en 100.<br />

El atributo PageSize determina el tamaño de página visible de los elementos<br />

visualizados.<br />

Tipo Numérico<br />

Se aplica a los componentes<br />

Barra de<br />

desplazamiento<br />

horizontal<br />

Códigos de operación<br />

Barra de<br />

desplazamiento<br />

vertical<br />

SETATR<br />

Operativo en tiempo de ejecución<br />

sí<br />

GETATR sí<br />

Valor permitido<br />

Range puede tener un valor entre 1 y 32.767.<br />

Ejemplo de formato libre<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C EVAL %setatr('win01':'HScroll1':'Range')=100<br />

*<br />

Ejemplo de formato fijo<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C 'HSCROLL1' SETATR 100 'RANGE'<br />

*<br />

Capítulo 2. Atributos de componente 347


ReadOnly<br />

Determina si la parte del campo de entrada de un componente es de sólo lectura.<br />

Cuando se ha establecido para sólo lectura, no se permite escribir en el campo de<br />

entrada.<br />

Cuando este atributo se aplica al componente lienzo, todos los campos de entrada<br />

del lienzo heredarán el valor del atributo ReadOnly.<br />

Tipo Numérico<br />

Se aplica a los componentes<br />

Lienzo Recuadro de<br />

combinación<br />

Edición de múltiples Selector cíclico<br />

líneas<br />

Códigos de operación<br />

Contenedor Campo de entrada<br />

SETATR*<br />

Operativo en tiempo de ejecución<br />

sí<br />

GETATR sí<br />

*Nota: Se puede establecer utilizando el cuaderno de propiedades en el<br />

Diseñador GUI, excepto en el caso de un componente contenedor.<br />

En el caso de un componente recuadro de combinación, seleccione<br />

un tipo de Lista desplegable para el estilo del recuadro de<br />

combinación. Para otros componentes, seleccione el estilo Sólo<br />

lectura.<br />

Valor permitido<br />

El estado ReadOnly del campo puede ser:<br />

0 El campo de entrada no es de sólo lectura<br />

1 El campo de entrada es de sólo lectura<br />

348 <strong>VisualAge</strong> <strong>RPG</strong> Manual de consulta de componentes


Ejemplo de formato libre<br />

Conmutar el estado de sólo lectura de un campo de entrada:<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C<br />

*<br />

EVAL rc = %getatr('win01': 'EF1': 'ReadOnly')<br />

C rc IFEQ 1<br />

C EVAL %setatr('win01': 'EF1': 'ReadOnly') = 0<br />

C ELSE<br />

C EVAL %setatr('win01':<br />

'EF1': 'ReadOnly') = 1<br />

C<br />

*<br />

ENDIF<br />

Ejemplo de formato fijo<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C<br />

*<br />

'EF1' GETATR 'READONLY' rc 1 0<br />

C rc IFEQ 1<br />

C 'EF1' SETATR 0 'READONLY'<br />

C ELSE<br />

C 'EF1' SETATR 1 'READONLY'<br />

C<br />

*<br />

ENDIF<br />

Capítulo 2. Atributos de componente 349


RecordID<br />

Establece la identificación de un registro de contenedor al que otros atributos<br />

hacen referencia. Por ejemplo, antes de utilizar el atributo GetRcdFld, debe<br />

establecer primero el atributo RecordID.<br />

Tipo Numérico<br />

Se aplica a los componentes<br />

Contenedor<br />

Códigos de operación<br />

SETATR<br />

Operativo en tiempo de ejecución<br />

sí<br />

GETATR sí<br />

Valor permitido<br />

El identificador del registro de contenedor<br />

Ejemplo de formato libre<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C EVAL %setatr('win01': 'CN1': 'RecordID') = id<br />

*<br />

Ejemplo de formato fijo<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C 'CN1' SETATR id 'RECORDID'<br />

*<br />

350 <strong>VisualAge</strong> <strong>RPG</strong> Manual de consulta de componentes


RefAttr<br />

Es el atributo del componente al que se hace referencia en un componente<br />

referencia a componente lógico.<br />

Tipo Serie<br />

Se aplica a los componentes<br />

Referencia a<br />

componente lógico<br />

Códigos de operación<br />

SETATR*<br />

Operativo en tiempo de ejecución<br />

sí<br />

GETATR sí<br />

*Nota: Puede definirse utilizando el cuaderno de propiedades en el<br />

diseñador GUI.<br />

Ejemplo de formato libre<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C EVAL %setatr('win01': 'COMP1': 'RefAttr') = 'Text'<br />

*<br />

Ejemplo de formato fijo<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C 'COMP1' SETATR 'Text' 'REFATTR'<br />

*<br />

Capítulo 2. Atributos de componente 351


RefParent<br />

Nombre de la ventana padre del componente destino.<br />

Tipo Serie<br />

Se aplica a los componentes<br />

Referencia a<br />

componente lógico<br />

Códigos de operación<br />

SETATR*<br />

Operativo en tiempo de ejecución<br />

sí<br />

GETATR sí<br />

*Nota: Puede definirse utilizando el cuaderno de propiedades en el<br />

diseñador GUI.<br />

Ejemplo de formato libre<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C EVAL %setatr('win01': 'COMP1': 'RefParent')<br />

C = 'WIN01'<br />

*<br />

Ejemplo de formato fijo<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C 'COMP1' SETATR 'WIN01' 'REFPARENT'<br />

*<br />

352 <strong>VisualAge</strong> <strong>RPG</strong> Manual de consulta de componentes


RefPart<br />

Nombre del componente situado en el componente lógico destino al que se hace<br />

referencia.<br />

Tipo Serie<br />

Se aplica a los componentes<br />

Referencia a<br />

componente lógico<br />

Códigos de operación<br />

SETATR*<br />

Operativo en tiempo de ejecución<br />

sí<br />

GETATR sí<br />

*Nota: Puede definirse utilizando el cuaderno de propiedades en el<br />

diseñador GUI.<br />

Ejemplo de formato libre<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C EVAL %setatr('window': 'COMP1': 'RefPart') = 'EF01'<br />

*<br />

Ejemplo de formato fijo<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C 'COMP1' SETATR 'EF01' 'REFPART'<br />

*<br />

Capítulo 2. Atributos de componente 353


Refresh<br />

Hace que el componente se dibuje de nuevo.<br />

Tipo Numérico<br />

Se aplica a los componentes<br />

ActiveX Calendario Lienzo Recuadro de selección<br />

Recuadro de<br />

combinación<br />

Contenedor Campo de entrada Gráfica<br />

Pulsador gráfico Recuadro de grupo Imagen Recuadro de lista<br />

Edición de múltiples<br />

líneas<br />

Cuaderno Interfaz ODBC/JDBC Recuadro de contorno<br />

Pulsador Botón de selección Graduador Selector cíclico<br />

Texto estático Ventana<br />

Códigos de operación<br />

SETATR<br />

Operativo en tiempo de ejecución<br />

sí<br />

GETATR no<br />

Valor permitido<br />

El atributo Refresh sólo puede estar establecido en 1.<br />

Ejemplo de formato libre<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C EVAL %setatr('win01': 'LB1': 'Refresh') = 1<br />

*<br />

Ejemplo de formato fijo<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C 'LB1' SETATR 1 'REFRESH'<br />

*<br />

354 <strong>VisualAge</strong> <strong>RPG</strong> Manual de consulta de componentes


RemoveItem<br />

Suprime un elemento de una lista. El parámetro index determina el elemento que<br />

se va a suprimir. Para eliminar todos los elementos de una lista, especifique 0<br />

como valor de índice.<br />

En un componente subarchivo, este atributo se aplica a un campo de entrada de<br />

subarchivo que tenga valores definidos como tipo de validación. Utilice este<br />

atributo para eliminar valores de la lista de validación del campo de entrada del<br />

subarchivo. Primero ha de establecer el atributo ColNumber a fin de identificar la<br />

columna con la que se debe trabajar.<br />

En el caso de un componente selector cíclico, sólo puede eliminar todos los<br />

elementos; es decir, el valor de índice debe establecerse en 0 (eliminar todos). No<br />

está permitido eliminar un elemento específico de un selector cíclico.<br />

Tipo Numérico<br />

Se aplica a los componentes<br />

Recuadro de<br />

combinación<br />

Códigos de operación<br />

Recuadro de lista Selector cíclico Subarchivo<br />

SETATR<br />

Operativo en tiempo de ejecución<br />

sí<br />

GETATR no<br />

Valor permitido<br />

El valor de índice del elemento que se va a eliminar<br />

Ejemplo de formato libre<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C EVAL %setatr('win01': 'LB1': 'RemoveItem') = 3<br />

*<br />

Ejemplo de formato fijo<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C 'LB1' SETATR 3 'REMOVEITEM'<br />

*<br />

Capítulo 2. Atributos de componente 355


RemoveLink<br />

*Restricción: Este atributo no está soportado en las aplicaciones Java.<br />

Elimina el enlace entre este componente y el componente indicado mediante el<br />

parámetro part. Si el componente no está enlazado actualmente, no se lleva a cabo<br />

ninguna acción.<br />

Tipo Serie<br />

Se aplica a los componentes<br />

Recuadro de selección Campo de entrada Imagen Recuadro de lista<br />

Medios Panel de medios Graduador Temporizador<br />

Códigos de operación<br />

SETATR<br />

Operativo en tiempo de ejecución<br />

sí<br />

GETATR no<br />

Valor permitido<br />

Nombre del componente que se va a suprimir<br />

Debe tener el formato:<br />

'ventana|componente'<br />

donde ventana es la ventana donde está ubicado el componente y<br />

componente es el nombre del componente.<br />

Ejemplo de formato libre<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C EVAL %setatr('win01':'EF1':'RemoveLink')='WIN1|EF1'<br />

*<br />

Ejemplo de formato fijo<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C 'EF1' SETATR 'WIN1|EF1' 'REMOVELINK'<br />

*<br />

356 <strong>VisualAge</strong> <strong>RPG</strong> Manual de consulta de componentes


RemoveMsg<br />

Elimina un mensaje del componente subarchivo de mensajes. El mensaje a eliminar<br />

lo determina el parámetro index. Para eliminar todos los mensajes, especifique 0<br />

como valor de índice.<br />

Tipo Numérico<br />

Se aplica a los componentes<br />

Subarchivo de<br />

mensajes<br />

Códigos de operación<br />

SETATR<br />

Operativo en tiempo de ejecución<br />

sí<br />

GETATR no<br />

Valor permitido<br />

El número de índice del mensaje que se va a eliminar<br />

Ejemplo de formato libre<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C EVAL %setatr('win01': 'MSG1': 'RemoveMsg') = 3<br />

*<br />

Ejemplo de formato fijo<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C 'MSG1' SETATR 3 'REMOVEMSG'<br />

*<br />

Capítulo 2. Atributos de componente 357


RemoveRcd<br />

Elimina un registro de un contenedor. Para eliminar todos los registros, especifique<br />

el valor 0.<br />

Tipo Numérico<br />

Se aplica a los componentes<br />

Contenedor<br />

Códigos de operación<br />

SETATR<br />

Operativo en tiempo de ejecución<br />

sí<br />

GETATR no<br />

Valor permitido<br />

Identificador del registro que se suprimirá<br />

Ejemplo de formato libre<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C EVAL %setatr('win01': 'CN1': 'RemoveRcd') = id<br />

*<br />

Ejemplo de formato fijo<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C 'CN1' SETATR id 'REMOVERCD'<br />

*<br />

358 <strong>VisualAge</strong> <strong>RPG</strong> Manual de consulta de componentes


Request<br />

Solicita el valor actual de un elemento en una aplicación de servidor. Antes de<br />

efectuar la solicitud, deben haberse establecido los atributos AppName y Topic y<br />

debe haberse iniciado la conversación DDE satisfactoriamente.<br />

Tipo Serie<br />

Se aplica a los componentes<br />

Cliente DDE<br />

Códigos de operación<br />

SETATR<br />

Operativo en tiempo de ejecución<br />

sí<br />

GETATR no<br />

Ejemplo de formato libre<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C EVAL %setatr('win01': 'DDE1': 'Request') = 'A1'<br />

*<br />

Ejemplo de formato fijo<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C 'DDE1' SETATR 'A1' 'REQUEST'<br />

*<br />

Capítulo 2. Atributos de componente 359


|<br />

|<br />

|<br />

|<br />

|<br />

|<br />

|<br />

|<br />

|<br />

|<br />

|<br />

|<br />

|<br />

|<br />

|<br />

|<br />

|<br />

|<br />

|<br />

|<br />

|<br />

|<br />

|<br />

|<br />

|<br />

|<br />

|<br />

|<br />

|<br />

|<br />

|<br />

|<br />

|<br />

|<br />

|<br />

|<br />

|<br />

|<br />

|<br />

|<br />

|<br />

|<br />

|<br />

|<br />

|<br />

RmvSrcEvt<br />

Elimina un evento de origen de la lista de eventos que supervisa el componente de<br />

referencia a componente lógico. Este atributo, junto con el atributo AddSrcEvt,<br />

permite a un componente de referencia a componente lógico supervisar varios<br />

eventos. Para añadir nuevos eventos de origen, utilice el atributo AddSrcEvt.<br />

Para identificar el evento de origen que se elimina, especifique juntos los nombres<br />

del componente lógico, la ventana, el componente y el evento. El formato de la<br />

serie es:<br />

'NOMBRECOMPLÓGICO | NOMBREVENTANA | NOMBRECOMP | NOMBREVENTO'<br />

Dado que el compilador no realiza ninguna comprobación de validez, deberá<br />

identificar correctamente cada evento de origen.<br />

Tipo Serie<br />

Se aplica a los componentes<br />

Referencia a<br />

componente lógico<br />

Códigos de operación<br />

SETATR<br />

Operativo en tiempo de ejecución<br />

sí<br />

GETATR no<br />

Ejemplo de formato libre<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+.<br />

DName+++++++++++ETDsFrom+++To/L+++IDc.Keywords+++++++++++++++++++++++++<br />

D Event<br />

*<br />

S 100<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C EVAL Event='compb|win02|ef02|change'<br />

C EVAL %setatr('win01': 'CRP1':<br />

C<br />

*<br />

'RmvSrcEvt')=Event<br />

Ejemplo de formato fijo<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+.<br />

DName+++++++++++ETDsFrom+++To/L+++IDc.Keywords+++++++++++++++++++++++++<br />

D Event<br />

*<br />

S 100<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C EVAL Event='compb|win02|ef02|change'<br />

C<br />

*<br />

'CRP1' SETATR Event 'RMVSRCEVT'<br />

360 <strong>VisualAge</strong> <strong>RPG</strong> Manual de consulta de componentes


RmvEvent<br />

Elimina el nombre de evento de la lista de filtro de eventos. Puede utilizar el valor<br />

especial *ALL para que el componente ActiveX o bean Java pare de direccionar al<br />

programa VA<strong>RPG</strong> todos los eventos almacenados en la lista.<br />

Tipo Serie<br />

Se aplica a los componentes<br />

ActiveX Bean Java<br />

Códigos de operación<br />

SETATR<br />

Operativo en tiempo de ejecución<br />

sí<br />

GETATR no<br />

Ejemplo de formato libre<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C EVAL %setatr('win01':'AX1':'RmvEvent')='EVT2'<br />

*<br />

Ejemplo de formato fijo<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C 'AX1' SETATR 'EVT2' 'RMVEVENT'<br />

*<br />

Capítulo 2. Atributos de componente 361


RowBGClr<br />

Valor numérico que determina el color de fondo de una fila de subarchivo. Debe<br />

utilizar el atributo Index para identificar la fila cuyo color se va a definir.<br />

Si el color de fondo se ha establecido con el atributo RowBGMix, el color de fondo<br />

devuelto es el que se parece más al color de mezcla.<br />

Tipo Numérico<br />

Se aplica a los componentes<br />

Subarchivo<br />

Códigos de operación<br />

SETATR<br />

Operativo en tiempo de ejecución<br />

sí<br />

GETATR sí<br />

Valor permitido<br />

El color debe ser uno de los siguientes:<br />

-1 Por omisión (no se utiliza en las aplicaciones Java)<br />

0 Blanco<br />

1 Negro<br />

2 Azul<br />

3 Rojo<br />

4 Rosa<br />

5 Verde<br />

6 Cian<br />

7 Amarillo<br />

8 Gris oscuro<br />

9 Azul oscuro<br />

10 Rojo oscuro<br />

362 <strong>VisualAge</strong> <strong>RPG</strong> Manual de consulta de componentes


11 Rosa oscuro<br />

12 Verde oscuro<br />

13 Cian oscuro<br />

14 Marrón<br />

15 Gris claro<br />

Ejemplo de formato libre<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C<br />

*<br />

EVAL RBcolor = %getatr('win01': 'SFL1': 'RowBGClr')<br />

C EVAL %setatr('win01': 'SFL1': 'Index') = 1<br />

C<br />

*<br />

EVAL %setatr('win01': 'SFL1': 'RowBGClr') = 5<br />

Ejemplo de formato fijo<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C<br />

*<br />

'SFL1' GETATR 'ROWBGCLR' 'RBcolor' 2 0<br />

C 'SFL1' SETATR 1 'INDEX'<br />

C<br />

*<br />

'SFL1' SETATR 5 'ROWBGCLR'<br />

Capítulo 2. Atributos de componente 363


RowBGMix<br />

Consulta o establece la mezcla de colores de fondo de una fila de subarchivo. Debe<br />

utilizar el atributo Index para identificar la fila en la que se consultará o se<br />

establecerá la mezcla de colores.<br />

Tipo Serie<br />

Se aplica a los componentes<br />

Subarchivo<br />

Códigos de operación<br />

SETATR<br />

Operativo en tiempo de ejecución<br />

sí<br />

GETATR sí<br />

Valor permitido<br />

La mezcla del color de fondo debe tener el formato siguiente:<br />

'rojo:verde:azul'<br />

donde rojo, verde y azul son valores situados entre 0 y 255 que representan<br />

la intensidad del color respectivo.<br />

Ejemplo de formato libre<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C<br />

*<br />

EVAL RBclrMx = %getatr('win01': 'SFL1': 'RowBGMix')<br />

C RBclrMx IFNE '10:23:200'<br />

C EVAL %setatr('win01': 'SFL1': 'RowBGMix') = '10:23:200'<br />

C<br />

*<br />

ENDIF<br />

Ejemplo de formato fijo<br />

*...1....+....2....+....3....+....4....+... .5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C 'SFL1' SETATR '10:23:200' 'ROWBGMIX'<br />

*<br />

364 <strong>VisualAge</strong> <strong>RPG</strong> Manual de consulta de componentes


RowFGClr<br />

Valor numérico que determina el color de primer plano de una fila de subarchivo.<br />

Debe utilizar el atributo Index para identificar la fila cuyo color se va a definir.<br />

Si el color de primer plano se ha establecido mediante el atributo RowFGMix, el<br />

color de primer plano devuelto es el que se parece más al color de mezcla.<br />

Tipo Numérico<br />

Se aplica a los componentes<br />

Subarchivo<br />

Códigos de operación<br />

SETATR<br />

Operativo en tiempo de ejecución<br />

sí<br />

GETATR sí<br />

Valor permitido<br />

El color debe ser uno de los siguientes:<br />

-1 Por omisión (no se utiliza en las aplicaciones Java)<br />

0 Blanco<br />

1 Negro<br />

2 Azul<br />

3 Rojo<br />

4 Rosa<br />

5 Verde<br />

6 Cian<br />

7 Amarillo<br />

8 Gris oscuro<br />

9 Azul oscuro<br />

10 Rojo oscuro<br />

11 Rosa oscuro<br />

12 Verde oscuro<br />

13 Cian oscuro<br />

14 Marrón<br />

15 Gris claro<br />

Capítulo 2. Atributos de componente 365


Ejemplo de formato libre<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C EVAL RFcolor = %getatr('win01': 'SFL1': 'RowFGClr')<br />

*<br />

C EVAL %setatr('win01': 'SFL1': 'Index') = 1<br />

C EVAL %setatr('win01': 'SFL1': 'RowFGClr') = 5<br />

*<br />

Ejemplo de formato fijo<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C<br />

*<br />

'SFL1' GETATR 'ROWFGCLR' 'RFcolor' 2 0<br />

C 'SFL1' SETATR 1 'INDEX'<br />

C<br />

*<br />

'SFL1' SETATR 5 'ROWFGCLR'<br />

366 <strong>VisualAge</strong> <strong>RPG</strong> Manual de consulta de componentes


RowFGMix<br />

Consulta o establece la mezcla de colores de primer plano de una fila de<br />

subarchivo. Debe utilizar el atributo Index para identificar la fila en la que se<br />

consultará o se establecerá la mezcla de colores.<br />

Tipo Serie<br />

Se aplica a los componentes<br />

Subarchivo<br />

Códigos de operación<br />

SETATR<br />

Operativo en tiempo de ejecución<br />

sí<br />

GETATR sí<br />

Valor permitido<br />

La mezcla de colores de primer plano debe tener el formato siguiente:<br />

'rojo:verde:azul'<br />

donde rojo, verde y azul son valores situados entre 0 y 255 que representan<br />

la intensidad del color respectivo.<br />

Ejemplo de formato libre<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C<br />

*<br />

EVAL RFclrMx = %getatr('win01': 'SFL1': 'RowFGMix')<br />

C RFclrMx IFNE '10:23:200'<br />

C EVAL %setatr('win01': 'SFL1': 'RowFGMix') = '10:23:200'<br />

C<br />

*<br />

ENDIF<br />

Ejemplo de formato fijo<br />

*...1....+....2....+....3....+....4....+... .5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C 'SFL1' SETATR '10:23:200' 'ROWFGMIX'<br />

*<br />

Capítulo 2. Atributos de componente 367


Rows<br />

*Restricción: Este atributo no está soportado en las aplicaciones Java.<br />

Devuelve el número de filas de un origen de datos.<br />

Nota: Utilice este atributo sólo si el controlador ODBC es la Versión 3 o superior.<br />

Los controladores anteriores devolverán resultados imprevisibles.<br />

Tipo Numérico<br />

Se aplica a los componentes<br />

Interfaz ODBC/JDBC<br />

Códigos de operación<br />

SETATR<br />

Operativo en tiempo de ejecución<br />

no<br />

GETATR sí<br />

Ejemplo de formato libre<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C EVAL Nrws=%getatr('win01':'ODBC1':'Rows')<br />

*<br />

Ejemplo de formato fijo<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C 'ODBC1' GETATR 'ROWS' NRWS<br />

*<br />

368 <strong>VisualAge</strong> <strong>RPG</strong> Manual de consulta de componentes


SBIndex<br />

Establece el valor de índice de un panel de barra de estado. Este valor determina<br />

cuál es el panel activo. Si hay una discrepancia entre el número de paneles y el<br />

valor de SBIndex, por omisión toma el valor 1.<br />

Tipo Numérico<br />

Se aplica a los componentes<br />

Barra de estado<br />

Códigos de operación<br />

SETATR<br />

Operativo en tiempo de ejecución<br />

sí<br />

GETATR sí<br />

Valor permitido<br />

El valor de SBIndex puede estar entre 1y5.Elvalor por omisión es 1.<br />

Ejemplo de formato libre<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C EVAL %setatr('win01':'WIN1':'SBIndex')=3<br />

*<br />

Ejemplo de formato fijo<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C 'WIN1' SETATR 3 'SBINDEX'<br />

*<br />

Capítulo 2. Atributos de componente 369


SBLabel<br />

El texto que aparece en una barra de estado o en un panel de barra de estado. En<br />

el caso de un componente barra de estado, el valor de SBIndex determina qué<br />

panel recibe el texto. El texto también puede ser un identificador de mensaje del<br />

archivo de mensajes.<br />

Tipo Serie<br />

Se aplica a los componentes<br />

Barra de estado Ventana<br />

Códigos de operación<br />

SETATR<br />

Operativo en tiempo de ejecución<br />

sí<br />

GETATR no<br />

Ejemplo de formato libre<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C EVAL %setatr('win01':'WIN1':'SBLabel')='Wait...'<br />

*<br />

Ejemplo de formato fijo<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C 'WIN1' SETATR 'Wait...' 'SBLABEL'<br />

*<br />

370 <strong>VisualAge</strong> <strong>RPG</strong> Manual de consulta de componentes


SBPanes<br />

Recupera el número de paneles activos de un componente barra de estado. Utilice<br />

el atributo SBIndex para establecer cuál es el panel activo.<br />

Tipo Numérico<br />

Se aplica a los componentes<br />

Barra de estado<br />

Códigos de operación<br />

SETATR<br />

Operativo en tiempo de ejecución<br />

no<br />

GETATR sí<br />

Ejemplo de formato libre<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C EVAL NPanes=%getatr('win01':'WIN1':'SBPanes')<br />

*<br />

Ejemplo de formato fijo<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C 'WIN1' GETATR 'SBPANES' NPANES<br />

*<br />

Capítulo 2. Atributos de componente 371


SBPosition<br />

Determina la posición de una barra de estado. La posición por omisión es la parte<br />

inferior de la ventana. Si hay una barra de progreso en la parte inferior, se mueve<br />

a la parte superior.<br />

Tipo Numérico<br />

Se aplica a los componentes<br />

Ventana<br />

Códigos de operación<br />

SETATR<br />

Operativo en tiempo de ejecución<br />

sí<br />

GETATR sí<br />

Valor permitido<br />

El valor de SBPosition puede ser uno de los siguientes:<br />

1 Colocar la barra de estado en la parte superior<br />

2 Colocar la barra de estado en la parte inferior<br />

Ejemplo de formato libre<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C<br />

*<br />

EVAL %setatr('win01':'WIN1':'SBPosition')=1<br />

Ejemplo de formato fijo<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C 'WIN1' SETATR 1 'SBPOSITION'<br />

*<br />

372 <strong>VisualAge</strong> <strong>RPG</strong> Manual de consulta de componentes


SBStyle<br />

Determina cómo se dibuja la barra de estado. Puede ser hundida (valor por<br />

omisión), en relieve o plana.<br />

Tipo Numérico<br />

Se aplica a los componentes<br />

Ventana<br />

Códigos de operación<br />

SETATR<br />

Operativo en tiempo de ejecución<br />

sí<br />

GETATR no<br />

Valor permitido<br />

El valor de SBStyle puede ser uno de los siguientes:<br />

1 Hundida (valor por omisión)<br />

2 En relieve<br />

3 Plana<br />

Ejemplo de formato libre<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C<br />

*<br />

EVAL %setatr('win01':'WIN1':'SBStyle')=2<br />

Ejemplo de formato fijo<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C 'WIN1' SETATR 2 'SBSTYLE'<br />

*<br />

Capítulo 2. Atributos de componente 373


Scale<br />

Permite que el programador ajuste el ancho de una columna según un porcentaje<br />

del ancho del carácter ″W″.<br />

Tipo Numérico<br />

Se aplica a los componentes<br />

Subarchivo<br />

Códigos de operación<br />

SETATR<br />

Operativo en tiempo de ejecución<br />

sí<br />

GETATR sí<br />

Ejemplo de formato libre<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C EVAL %setatr('win01': 'SFI1': 'Scale') = 8<br />

*<br />

Ejemplo de formato fijo<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C 'SFI1' SETATR 8 'SCALE'<br />

*<br />

374 <strong>VisualAge</strong> <strong>RPG</strong> Manual de consulta de componentes


Search<br />

*Restricción: Este atributo no está soportado en las aplicaciones Java.<br />

Busca la serie especificada en la lista. La búsqueda empieza en el elemento<br />

especificado por el atributo Index. Se devuelve el valor de Index si se encuentra el<br />

elemento o0sinoseencuentra.<br />

La forma de ejecutar la búsqueda se puede controlar utilizando los atributos Case<br />

y SearchType.<br />

Tipo Serie<br />

Se aplica a los componentes<br />

Recuadro de<br />

combinación<br />

Códigos de operación<br />

Recuadro de lista<br />

SETATR<br />

Operativo en tiempo de ejecución<br />

sí<br />

GETATR no<br />

Ejemplo de formato libre<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C EVAL %setatr('win01': 'CB1': 'Search') = 'Str1'<br />

*<br />

Ejemplo de formato fijo<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C 'CB1' SETATR 'STR1' 'SEARCH'<br />

*<br />

Capítulo 2. Atributos de componente 375


SearchType<br />

*Restricción: Este atributo no está soportado en las aplicaciones Java.<br />

Determina cómo se realiza la comparación para la serie de búsqueda cuando se<br />

utiliza el atributo Search.<br />

Tipo Numérico<br />

Se aplica a los componentes<br />

Recuadro de<br />

combinación<br />

Códigos de operación<br />

Recuadro de lista<br />

SETATR<br />

Operativo en tiempo de ejecución<br />

sí<br />

GETATR sí<br />

Valor permitido<br />

El valor de SearchType puede ser uno de los siguientes:<br />

1 Comparar el prefijo del elemento.<br />

2 Comparar todo el elemento.<br />

3 Coincidencia exacta (valor por omisión)<br />

Ejemplo de formato libre<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C<br />

*<br />

EVAL %setatr('win01': 'CB1': 'SearchType') = 1<br />

Ejemplo de formato fijo<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C 'CB1' SETATR 1 'SEARCHTYPE'<br />

*<br />

376 <strong>VisualAge</strong> <strong>RPG</strong> Manual de consulta de componentes


Selected<br />

Indica si un elemento específico de la parte de lista de un componente está<br />

seleccionado. El elemento que se va a comprobar se especifica estableciendo en<br />

primer lugar el atributo Index o RecordID para el componente.<br />

Tipo Numérico<br />

Se aplica a los componentes<br />

Recuadro de<br />

combinación<br />

Subarchivo<br />

Códigos de operación<br />

Contenedor Recuadro de lista Subarchivo de<br />

mensajes<br />

SETATR<br />

Operativo en tiempo de ejecución<br />

no<br />

GETATR sí<br />

Valor permitido<br />

El estado de Selected puede ser:<br />

0 El elemento no está seleccionado<br />

1 El elemento está seleccionado<br />

Ejemplo de formato libre<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C<br />

*<br />

EVAL Sel = %getatr('win01': 'LB1': 'Selected')<br />

Ejemplo de formato fijo<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C 'LB1' GETATR 'SELECTED' Sel 1 0<br />

*<br />

Capítulo 2. Atributos de componente 377


SelectIdx<br />

Devuelve un valor de índice que indica la posición del botón de selección<br />

seleccionado en la ventana Tabuladores y grupos. Los botones de selección se crean<br />

en grupos lógicos, de modo que al seleccionar uno se deseleccionan los demás. Si<br />

no se ha seleccionado ningún botón de selección, se devuelve 0ounnúmero<br />

mayor que el número de botones de selección del grupo.<br />

Puede utilizar el nombre de cualquier botón de selección del grupo como nombre<br />

del componente.<br />

Tipo Numérico<br />

Se aplica a los componentes<br />

Botón de selección<br />

Códigos de operación<br />

SETATR<br />

Operativo en tiempo de ejecución<br />

no<br />

GETATR sí<br />

Ejemplo de formato libre<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C EVAL sel = %getatr('win01': 'RB1': 'SelectIdx')<br />

*<br />

Ejemplo de formato fijo<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C 'RB1' GETATR 'SELECTIDX' sel 4 0<br />

*<br />

378 <strong>VisualAge</strong> <strong>RPG</strong> Manual de consulta de componentes


SelectItem<br />

Selecciona un elemento de la parte de lista de un componente. El elemento a<br />

seleccionar está especificado por el parámetro index. Para seleccionar todos los<br />

elementos de la lista, establezca el atributo Index en cero. Sin embargo, en el caso<br />

de un componente recuadro de lista, SelectItem no tiene efecto alguno cuando el<br />

atributo Index es cero.<br />

Si la lista sólo permite una selección, al seleccionar un elemento se deseleccionará<br />

cualquier otro elemento que esté seleccionado actualmente.<br />

Nota: Al seleccionar un elemento se generará un evento Select.<br />

Tipo Numérico<br />

Se aplica a los componentes<br />

Recuadro de<br />

combinación<br />

Códigos de operación<br />

Recuadro de lista Subarchivo<br />

SETATR<br />

Operativo en tiempo de ejecución<br />

sí<br />

GETATR no<br />

Valor permitido<br />

El valor de índice del elemento<br />

Ejemplo de formato libre<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C EVAL %setatr('win01': 'LB1': 'SelectItem') = 3<br />

*<br />

Ejemplo de formato fijo<br />

Seleccionar todas las entradas de un recuadro de lista si se solicita:<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C 'CB01' GETATR 'SELECTED' IsChecked 1 0<br />

C IsChecked IFEQ 1<br />

C 'LB1' SETATR 0 'SELECTITEM'<br />

C<br />

*<br />

ENDIF<br />

Capítulo 2. Atributos de componente 379


SelectList<br />

Devuelve una lista de los índices de los registros seleccionados de un componente<br />

recuadro de lista o subarchivo. La lista se devuelve en forma de serie de caracteres<br />

formada por 6 valores de posición. Cada valor representa el índice del registro<br />

seleccionado.<br />

Tipo Serie<br />

Se aplica a los componentes<br />

Recuadro de lista Subarchivo<br />

Códigos de operación<br />

SETATR<br />

Operativo en tiempo de ejecución<br />

no<br />

GETATR sí<br />

Ejemplo de formato libre<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C EVAL List=%getatr('Win01':'LB1':'SelectList')<br />

*<br />

Ejemplo de formato fijo<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C 'LB1' GETATR 'SELECTLIST' LIST<br />

*<br />

Ejemplo de SelectList<br />

En el fragmento de código siguiente se muestra una manera de procesar diversos<br />

registros seleccionados de un recuadro de lista mediante el atributo SelectList. En<br />

este ejemplo, se supone que se puede seleccionar 10 registros como máximo.<br />

*<br />

D DS<br />

D theList 60A<br />

D T 6 0 Dim(10) Overlay(theList)<br />

*<br />

C 'ListBox' Getatr 'NbrOfSel' N 2 0<br />

*<br />

C If N>0<br />

C 'ListBox' Getatr 'SelectList' theList<br />

*<br />

C Do N I 2 0<br />

C 'ListBox' Setatr T(I) 'Index'<br />

C 'ListBox' Getatr 'GetItem' theItem 60<br />

* ....<br />

* Se procesa el elemento<br />

* ....<br />

C EndDo<br />

*<br />

C EndIf<br />

380 <strong>VisualAge</strong> <strong>RPG</strong> Manual de consulta de componentes


SelectRcd<br />

Selecciona un registro de un contenedor.<br />

Tipo Serie<br />

Se aplica a los componentes<br />

Contenedor<br />

Códigos de operación<br />

SETATR<br />

Operativo en tiempo de ejecución<br />

sí<br />

GETATR no<br />

Valor permitido<br />

El identificador del registro que se seleccionará<br />

Ejemplo de formato libre<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C EVAL %setatr('win01': 'CN1': 'SelectRcd') = id<br />

*<br />

Ejemplo de formato fijo<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C 'CN1' SETATR id 'SELECTRCD'<br />

*<br />

Capítulo 2. Atributos de componente 381


SelPrinter<br />

*Restricción: Este atributo no está soportado en las aplicaciones Java.<br />

Hace que aparezca el diálogo de selección de impresora del sistema Windows.<br />

Tipo Numérico<br />

Se aplica a los componentes<br />

*Component<br />

Códigos de operación<br />

SETATR<br />

Operativo en tiempo de ejecución<br />

sí<br />

GETATR no<br />

Valor permitido<br />

El valor permitido es 1<br />

Ejemplo de formato libre<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C EVAL %setatr('*component': '*component':<br />

C 'SelPrinter') = 1<br />

*<br />

Ejemplo de formato fijo<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C '*component' SETATR 1 'SELPRINTER'<br />

*<br />

382 <strong>VisualAge</strong> <strong>RPG</strong> Manual de consulta de componentes


Sequence<br />

*Restricción: Este atributo no está soportado en las aplicaciones Java.<br />

Determina el orden en el que se añaden los elementos a la parte de lista de un<br />

componente cuando se establece el atributo InsertItem o SetItem.<br />

Cambiar el atributo Sequence no afecta al orden actual de la lista. El orden cambia<br />

cuando se establece el siguiente atributo InsertItem o SetItem.<br />

Tipo Numérico<br />

Se aplica a los componentes<br />

Recuadro de<br />

combinación<br />

Códigos de operación<br />

Recuadro de lista<br />

SETATR<br />

Operativo en tiempo de ejecución<br />

sí<br />

GETATR sí<br />

Valor permitido<br />

La secuencia de los elementos añadidos a una lista puede ser:<br />

1 Los elementos se insertan en orden ascendente<br />

2 Los elementos se insertan en orden descendente<br />

3 Los elementos se insertan en la posición especificada por el<br />

atributo Index<br />

4 Los elementos se insertan al final de la lista<br />

Capítulo 2. Atributos de componente 383


Ejemplo de formato libre<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C EVAL %setatr('win01': 'LB1': 'Sequence') = 1<br />

*<br />

C EVAL rc = %getatr('win01': 'LB1': 'Sequence')<br />

*<br />

Ejemplo de formato fijo<br />

Cambiar la secuencia de un recuadro de lista:<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C<br />

*<br />

'LB1' GETATR 'SEQUENCE' sequence 1 0<br />

C sequence IFEQ 1<br />

C<br />

*<br />

'LB1' SETATR 2 'SEQUENCE'<br />

C ELSE<br />

C sequence IFEQ 2<br />

C<br />

*<br />

'LB1' SETATR 3 'SEQUENCE'<br />

C ELSE<br />

C 'LB1' SETATR 2 'SEQUENCE'<br />

C<br />

*<br />

ENDIF<br />

C<br />

*<br />

ENDIF<br />

384 <strong>VisualAge</strong> <strong>RPG</strong> Manual de consulta de componentes


SetItem<br />

Sustituye un elemento existente de la lista. El elemento que se va a sustituir se<br />

determina mediante el valor actual del atributo Index para el componente.<br />

Para insertar un nuevo elemento en una lista, utilice el atributo InsertItem.<br />

Si el atributo Sequence especifica un orden de clasificación (es decir, ascendente o<br />

descendente), la posición del elemento una vez actualizado puede ser distinta de la<br />

indicada por el atributo Index.<br />

Tipo Serie<br />

Se aplica a los componentes<br />

Recuadro de<br />

combinación<br />

Códigos de operación<br />

Recuadro de lista<br />

SETATR<br />

Operativo en tiempo de ejecución<br />

sí<br />

GETATR no<br />

Valor permitido<br />

El nuevo texto del elemento<br />

Ejemplo de formato libre<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C EVAL %setatr('win01': 'LB1': 'Index') = 5<br />

C EVAL %setatr('win01': 'LB1': 'SetItem') = 'new'<br />

*<br />

Ejemplo de formato fijo<br />

Cambiar el valor actual de un elemento de recuadro de lista:<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C 'LB1' SETATR 5 'INDEX'<br />

C 'LB1' SETATR 'New' 'SetItem'<br />

*<br />

Capítulo 2. Atributos de componente 385


SetRcdFld<br />

Establece los datos correspondientes a un campo de un registro de contenedor.<br />

Para poder utilizar este atributo, el atributo RecordID debe estar establecido para<br />

indicar el registro de contenedor y ColNumber también debe estar establecido para<br />

indicar qué número de campo debe actualizarse en ese registro.<br />

Tipo Serie<br />

Se aplica a los componentes<br />

Contenedor<br />

Códigos de operación<br />

SETATR<br />

Operativo en tiempo de ejecución<br />

sí<br />

GETATR no<br />

Valor permitido<br />

Los datos que deben establecerse en el campo de contenedor<br />

Ejemplo de formato libre<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C EVAL %setatr('win01': 'CN1': 'SetRcdFld') = 'Test'<br />

*<br />

Ejemplo de formato fijo<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C 'CN1' SETATR 'Test' 'SetRcdFld'<br />

*<br />

386 <strong>VisualAge</strong> <strong>RPG</strong> Manual de consulta de componentes


SetRcdIcon<br />

Define el nombre de archivo del icono utilizado para representar este registro en la<br />

vista de árbol o en la vista de iconos. En las aplicaciones Java, este atributo es<br />

aplicable a todas las vistas. El atributo RecordID debe estar establecido para<br />

indicar qué registro se está utilizando.<br />

Tipo Serie<br />

Se aplica a los componentes<br />

Contenedor<br />

Códigos de operación<br />

SETATR<br />

Operativo en tiempo de ejecución<br />

sí<br />

GETATR no<br />

Valor permitido<br />

El nombre de archivo del icono<br />

Ejemplo de formato libre<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C EVAL %setatr('win01':'CN1':'SetRcdIcon')<br />

C ='C:\TEST.ICO'<br />

*<br />

Ejemplo de formato fijo<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C 'CN1' SETATR 'C:\TEST.ICO' 'SetRcdIcon'<br />

*<br />

Capítulo 2. Atributos de componente 387


SetRcdText<br />

Define el texto que se mostrará con el icono cuando el contenedor se visualice en<br />

la vista de árbol. El atributo RecordID debe estar establecido para indicar qué<br />

registro se está utilizando.<br />

Tipo Serie<br />

Se aplica a los componentes<br />

Contenedor<br />

Códigos de operación<br />

SETATR<br />

Operativo en tiempo de ejecución<br />

sí<br />

GETATR no<br />

Valor permitido<br />

El texto del registro<br />

Ejemplo de formato libre<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C EVAL %setatr('win01': 'CN1': 'SetRcdText') = text<br />

*<br />

Ejemplo de formato fijo<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C 'CN1' SETATR text 'SETRCDTEXT'<br />

*<br />

388 <strong>VisualAge</strong> <strong>RPG</strong> Manual de consulta de componentes


SetTop<br />

Ordena la lista dentro del componente de modo que el elemento especificado<br />

aparece al principio de la misma.<br />

Si el recuadro de lista no tiene barras de desplazamiento (es decir, todos los<br />

elementos de la lista están visualizados) la lista no se desplaza.<br />

Tipo Numérico<br />

Se aplica a los componentes<br />

Recuadro de<br />

combinación*<br />

Contenedor Recuadro de lista Subarchivo<br />

*Restricción: Este atributo no está soportado en tiempo de ejecución en las<br />

aplicaciones Java para este componente.<br />

Códigos de operación<br />

SETATR<br />

Operativo en tiempo de ejecución<br />

sí<br />

GETATR no<br />

Valor permitido<br />

El índice del elemento que se situará al principio de la lista<br />

Ejemplo de formato libre<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C EVAL %setatr('win01': 'LB1': 'SetTop') = 5<br />

*<br />

Ejemplo de formato fijo<br />

Desplazar la primera entrada seleccionada al principio de la lista:<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C<br />

*<br />

'LB1' GETATR 'FIRSTSEL' index 2 0<br />

C index IFGT *ZERO<br />

C 'LB1' SETATR index 'SETTOP'<br />

C<br />

*<br />

ENDIF<br />

Capítulo 2. Atributos de componente 389


SflNxtChg<br />

Indica si un registro de subarchivo ha cambiado o no. Debe establecer el atributo<br />

Index para indicar qué registro se está viendo afectado.<br />

Tipo Numérico<br />

Se aplica a los componentes<br />

Subarchivo<br />

Códigos de operación<br />

SETATR<br />

Operativo en tiempo de ejecución<br />

sí<br />

GETATR sí<br />

Valor permitido<br />

Establézcalo en 1 para indicar que el registro ha cambiado.<br />

Ejemplo de formato libre<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C EVAL %setatr('window': 'SFX': 'Index') = 12<br />

C EVAL %setatr('window': 'SFX': 'SflNxtChg') = 1<br />

*<br />

Ejemplo de formato fijo<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C 'SFX' SETATR 12 'INDEX'<br />

C<br />

*<br />

'SFX' SETATR 1 'SFLNXTCHG'<br />

390 <strong>VisualAge</strong> <strong>RPG</strong> Manual de consulta de componentes


ShData<br />

Especifica los datos de usuario que se deben leer o grabar en el espacio de datos<br />

compartidos establecido.<br />

Tipo Serie<br />

Se aplica a los componentes<br />

*Component<br />

Códigos de operación<br />

SETATR<br />

Operativo en tiempo de ejecución<br />

sí<br />

GETATR sí<br />

Ejemplo de formato libre<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C EVAL %setatr('*component':'*component':'ShData')='DTA'<br />

*<br />

Ejemplo de formato fijo<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C '*component' SETATR 'DTA' 'SHDATA'<br />

*<br />

Capítulo 2. Atributos de componente 391


ShDataLen<br />

Especifica el tamaño de los datos que se van a utilizar de los datos compartidos. El<br />

valor por omisión es 1024 bytes.<br />

Tipo Numérico<br />

Se aplica a los componentes<br />

*Component<br />

Códigos de operación<br />

SETATR<br />

Operativo en tiempo de ejecución<br />

sí<br />

GETATR sí<br />

Ejemplo de formato libre<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C EVAL %setatr('*component':'*component':'ShDataLen')=100<br />

*<br />

Ejemplo de formato fijo<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C '*component' SETATR 100 'SHDATALEN'<br />

*<br />

392 <strong>VisualAge</strong> <strong>RPG</strong> Manual de consulta de componentes


ShDataName<br />

Especifica el nombre de los datos globales que se pueden compartir en<br />

aplicaciones. El tamaño de cada uno de los datos compartidos está determinado a<br />

1024 bytes.<br />

Al establecer ShDataName, el sistema comprueba si existe el espacio de datos<br />

compartidos indicado. Si no lo está, se creará.<br />

Nota: Sólo puede utilizarse una instancia de la memoria compartida con nombre.<br />

Para la comunicación entre procesos, sólo puede utilizar memoria<br />

compartida en una aplicación, no en un componente. En los componentes,<br />

es mejor la utilización de parámetros para la comunicación entre procesos.<br />

Tipo Serie<br />

Se aplica a los componentes<br />

*Component<br />

Códigos de operación<br />

SETATR<br />

Operativo en tiempo de ejecución<br />

sí<br />

GETATR sí<br />

Ejemplo de formato libre<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C EVAL %setatr('*component':'*component':'ShDataName')='DTAN'<br />

*<br />

Ejemplo de formato fijo<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C '*component' SETATR 'DTAN' 'SHDATANAME'<br />

*<br />

Capítulo 2. Atributos de componente 393


ShDataPos<br />

Especifica la posición que hay en los datos compartidos a la que se hace referencia.<br />

La posición inicial por omisión es 1. El valor de ShDataLen y ShDataPos juntos no<br />

puede sobrepasar 1024.<br />

Tipo Numérico<br />

Se aplica a los componentes<br />

*Component<br />

Códigos de operación<br />

SETATR<br />

Operativo en tiempo de ejecución<br />

sí<br />

GETATR sí<br />

Ejemplo de formato libre<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C EVAL %setatr('*component':'*component':'ShDataPos')=100<br />

*<br />

Ejemplo de formato fijo<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C '*component' SETATR 100 'SHDATAPOS'<br />

*<br />

394 <strong>VisualAge</strong> <strong>RPG</strong> Manual de consulta de componentes


ShowMsgID<br />

Habilita o inhabilita la visualización de los identificadores de mensaje (MSGnnnn)<br />

en el recuadro de mensajes si se especifica el código de operación DSPLY.<br />

Tipo Numérico<br />

Se aplica a los componentes<br />

*Component<br />

Códigos de operación<br />

SETATR<br />

Operativo en tiempo de ejecución<br />

sí<br />

GETATR no<br />

Valor permitido<br />

El valor de ShowMsgID puede ser uno de los siguientes:<br />

0 No visualizar los identificadores de mensaje.<br />

1 Visualizar los identificadores de mensaje. Es el valor por omisión.<br />

Ejemplo de formato libre<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C<br />

*<br />

EVAL %setatr('*component':'*component':'ShowMsgID')=1<br />

Ejemplo de formato fijo<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C '*COMPONENT' SETATR 1 'SHOWMSGID'<br />

*<br />

Capítulo 2. Atributos de componente 395


ShowProp<br />

Establezca este atributo en 1 para que el componente muestre el diálogo de página<br />

de propiedades del objeto.<br />

Tipo Numérico<br />

Se aplica a los componentes<br />

ActiveX Bean Java<br />

Códigos de operación<br />

SETATR<br />

Operativo en tiempo de ejecución<br />

sí<br />

GETATR no<br />

Ejemplo de formato libre<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C EVAL %setatr('win01':'AX1':'ShowProp=') = 1<br />

*<br />

Ejemplo de formato fijo<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C 'AX1' SETATR 1 'SHOWPROP'<br />

*<br />

396 <strong>VisualAge</strong> <strong>RPG</strong> Manual de consulta de componentes


ShowRects<br />

Indica si se mostrarán o no los rectángulos resaltados definidos por el usuario.<br />

Tipo Numérico<br />

Se aplica a los componentes<br />

Calendario<br />

Códigos de operación<br />

SETATR<br />

Operativo en tiempo de ejecución<br />

sí<br />

GETATR sí<br />

Valor permitido<br />

El valor de ShowRects puede ser uno de los siguientes:<br />

0 No se mostrarán los rectángulos<br />

1 Sí se mostrarán los rectángulos<br />

Ejemplo de formato libre<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C<br />

*<br />

EVAL isshown = %getatr('win01': 'CAL1': 'ShowRects')<br />

C<br />

*<br />

EVAL %setatr('win01': 'CAL1': 'ShowRects') = 1<br />

Ejemplo de formato fijo<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C 'CAL1' GETATR 'SHOWRECTS' isshown 1 0<br />

*<br />

Capítulo 2. Atributos de componente 397


ShowTabs<br />

*Restricción: Este atributo no está soportado en las aplicaciones Java.<br />

Si se establece este atributo en 0, se ocultarán todas las pestañas de un componente<br />

cuaderno.<br />

Tipo Numérico<br />

Se aplica a los componentes<br />

Cuaderno<br />

Códigos de operación<br />

SETATR<br />

Operativo en tiempo de ejecución<br />

sí<br />

GETATR no<br />

Ejemplo de formato libre<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C EVAL %setatr('win01': 'WIN1': 'ShowTabs') = 0<br />

*<br />

Ejemplo de formato fijo<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C 'WIN1' SETATR 0 'SHOWTABS'<br />

*<br />

398 <strong>VisualAge</strong> <strong>RPG</strong> Manual de consulta de componentes


ShowText<br />

Indica si se mostrará o no el texto definido por el usuario.<br />

Tipo Numérico<br />

Se aplica a los componentes<br />

Calendario<br />

Códigos de operación<br />

SETATR<br />

Operativo en tiempo de ejecución<br />

sí<br />

GETATR sí<br />

Valor permitido<br />

El valor de ShowText puede ser uno de los siguientes:<br />

0 No se mostrará el texto<br />

1 Sí se mostrará el texto<br />

Ejemplo de formato libre<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C<br />

*<br />

EVAL isshown = %getatr('win01': 'CAL1': 'ShowText')<br />

C<br />

*<br />

EVAL %setatr('win01': 'CAL1': 'ShowText') = 1<br />

Ejemplo de formato fijo<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C 'CAL1' GETATR 'SHOWTEXT' shown 1 0<br />

*<br />

Capítulo 2. Atributos de componente 399


ShowTips<br />

Determina si debe visualizarse la ayuda flotante para un componente específico o<br />

para todos los componentes de la ventana. Si establece ShowTips para una<br />

ventana, este valor tiene prioridad sobre todos los demás valores establecidos para<br />

un componente específico de la ventana. Por ejemplo, si inhabilita que se muestre<br />

el texto de ayuda para la ventana, este valor se aplica también a todos los<br />

componentes de la ventana.<br />

Tipo Numérico<br />

Se aplica a los componentes<br />

Recuadro de selección Recuadro de<br />

combinación<br />

Contenedor Campo de entrada<br />

Pulsador gráfico Imagen Recuadro de lista Subarchivo de<br />

mensajes<br />

Edición de múltiples<br />

líneas<br />

Pulsador Botón de selección Graduador<br />

Selector cíclico Texto estático Subarchivo Ventana<br />

Códigos de operación<br />

SETATR<br />

Operativo en tiempo de ejecución<br />

sí<br />

GETATR sí<br />

Valor permitido<br />

El valor de ShowTips puede ser uno de los siguientes:<br />

0 No se visualiza la ayuda flotante para un componente específico ni<br />

para todos los componentes de la ventana.<br />

1 Se visualizará ayuda flotante para aquellos componentes de la<br />

ventana que tengan definido TipText.<br />

Ejemplo de formato libre<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C<br />

*<br />

EVAL isshown = %getatr('win01': 'Win01': 'ShowTips')<br />

C<br />

*<br />

EVAL %setatr('win01': 'Win01': 'ShowTips') = 1<br />

Ejemplo de formato fijo<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C 'Win01' GETATR 'SHOWTIPS' shown 1 0<br />

*<br />

400 <strong>VisualAge</strong> <strong>RPG</strong> Manual de consulta de componentes


SizeToFit<br />

Ajusta el tamaño del componente de forma automática de modo que el último<br />

elemento de la lista resulte completamente visible.<br />

Tipo Numérico<br />

Se aplica a los componentes<br />

Recuadro de<br />

combinación*<br />

Recuadro de lista Subarchivo<br />

*Restricción: Este atributo no está soportado en tiempo de ejecución en las<br />

aplicaciones Java para este componente.<br />

Códigos de operación<br />

SETATR<br />

Operativo en tiempo de ejecución<br />

sí<br />

GETATR no<br />

Valor permitido<br />

El valor de SizeToFit puede ser uno de los siguientes:<br />

0 No se ajusta el tamaño del componente.<br />

1 Ajustar automáticamente el tamaño del componente.<br />

Ejemplo de formato libre<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C<br />

*<br />

EVAL %setatr('win01': 'CB1': 'SizeToFit') = 1<br />

Ejemplo de formato fijo<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C 'CB1' SETATR 1 'SIZETOFIT'<br />

*<br />

Capítulo 2. Atributos de componente 401


SortAsc<br />

Ordena los registros de una columna de contenedor en orden ascendente. Las<br />

columnas con datos de texto se ordenan alfabéticamente.<br />

Tipo Numérico<br />

Se aplica a los componentes<br />

Contenedor<br />

Códigos de operación<br />

SETATR<br />

Operativo en tiempo de ejecución<br />

sí<br />

GETATR no<br />

Valor permitido<br />

El número de la columna que se debe ordenar.<br />

Ejemplo de formato libre<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C EVAL %setatr('win01': 'CTR1': 'SortAsc') = 2<br />

*<br />

Ejemplo de formato fijo<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C 'CTR1' SETATR 2 'SORTASC'<br />

*<br />

402 <strong>VisualAge</strong> <strong>RPG</strong> Manual de consulta de componentes


SortDesc<br />

Ordena los registros de una columna de contenedor en orden descendente. Las<br />

columnas con datos de texto se ordenan alfabéticamente.<br />

Tipo Numérico<br />

Se aplica a los componentes<br />

Contenedor<br />

Códigos de operación<br />

SETATR<br />

Operativo en tiempo de ejecución<br />

sí<br />

GETATR no<br />

Valor permitido<br />

El número de la columna que se debe ordenar.<br />

Ejemplo de formato libre<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C EVAL %setatr('win01': 'CTR1': 'SortDesc') = 2<br />

*<br />

Ejemplo de formato fijo<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C 'CTR1' SETATR 2 'SORTDESC'<br />

*<br />

Capítulo 2. Atributos de componente 403


SQLError<br />

Indica si la operación anterior se ha realizado correctamente. Si se devuelve el<br />

valor 0, la operación anterior se ha ejecutado correctamente. Todos los demás<br />

valores devueltos indican que se ha producido un error.<br />

Tipo Numérico<br />

Se aplica a los componentes<br />

Interfaz ODBC/JDBC<br />

Códigos de operación<br />

SETATR<br />

Operativo en tiempo de ejecución<br />

no<br />

GETATR sí<br />

Ejemplo de formato libre<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C EVAL Err=%getatr('win01':'ODBC1':'SQLError')<br />

*<br />

Ejemplo de formato fijo<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C 'ODBC1' GETATR 'SQLERROR' ERR<br />

*<br />

404 <strong>VisualAge</strong> <strong>RPG</strong> Manual de consulta de componentes


SQLMsgBox<br />

Suprime o visualiza el recuadro de mensajes ODBC si se producen errores al<br />

procesar una tabla.<br />

Si establece este atributo en 0 para suprimir el recuadro de mensajes, puede<br />

utilizar el atributo SQLError para determinar si se ha producido un error. Después,<br />

puede utilizar el atributo Handle y llamar a la API ODBC para obtener<br />

información adicional.<br />

Tipo Numérico<br />

Se aplica a los componentes<br />

Interfaz ODBC/JDBC<br />

Códigos de operación<br />

SETATR<br />

Operativo en tiempo de ejecución<br />

sí<br />

GETATR no<br />

Valor permitido<br />

El valor de SQLMsgBox puede ser uno de los siguientes:<br />

0 No visualizar el recuadro de mensajes.<br />

1 Visualizar el recuadro de mensajes. Este es el valor por omisión.<br />

Ejemplo de formato libre<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C<br />

*<br />

EVAL %setatr('win01':'ODBC1':'SQLMsgBox')=0<br />

Ejemplo de formato fijo<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C 'ODBC1' SETATR 0 'SQLMSGBOX'<br />

*<br />

Capítulo 2. Atributos de componente 405


SQLQuery<br />

Define la sentencia SQL que se ejecuta si se establece el atributo ExecuteSQL en 1.<br />

Tipo Serie<br />

Se aplica a los componentes<br />

Interfaz ODBC/JDBC<br />

Códigos de operación<br />

SETATR<br />

Operativo en tiempo de ejecución<br />

sí<br />

GETATR sí<br />

Ejemplo de formato libre<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C EVAL Query = 'Select * From "Customers"'<br />

C EVAL %setatr('win01':'ODBC1':'SQLQuery')=Query<br />

C<br />

*<br />

EVAL %setatr('win01':'ODBC1':'ExecuteSQL')=1<br />

Ejemplo de formato fijo<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

DName+++++++++++ETDsFrom+++To/L+++IDc.Keywords+++++++++++++++++++++++++++++<br />

*<br />

D Query<br />

*<br />

C 'Select * From "Customers"'<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C 'ODBC' Setatr Query 'SQLQuery'<br />

C<br />

*<br />

'ODBC' Setatr 1 'ExecuteSQL'<br />

406 <strong>VisualAge</strong> <strong>RPG</strong> Manual de consulta de componentes


StartAt<br />

Fuerza que se inicie la operación READC en el registro especificado del<br />

subarchivo. Este atributo resulta de utilidad en los programas que utilizan READC<br />

de forma reiterativa para comprobar la existencia de registros modificados en un<br />

subarchivo y devolverlos. Consulte el apartado “Ejemplo de StartAt” en la<br />

página 408.<br />

Tipo Numérico<br />

Se aplica a los componentes<br />

Subarchivo<br />

Códigos de operación<br />

SETATR<br />

Operativo en tiempo de ejecución<br />

sí<br />

GETATR no<br />

Valor permitido<br />

El registro en el que debe iniciarse<br />

Ejemplo de formato libre<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C EVAL %setatr('win01':<br />

'SFL1': 'StartAt')=4<br />

*<br />

Ejemplo de formato fijo<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C 'SFL1' SETATR 4 'STARTAT'<br />

*<br />

Capítulo 2. Atributos de componente 407


Ejemplo de StartAt<br />

El siguiente fragmento de código utiliza reiterativamente la operación READC para<br />

comprobar la existencia de todos los registros modificados en un subarchivo,<br />

devolverlos y procesarlos. Se supervisa el campo OPT para que tenga una entrada<br />

correcta. Si el valor de OPT no es correcto, el programa utiliza el atributo<br />

SflNxtChg para señalar el registro incorrecto como modificado. El atributo StartAt<br />

hace que la siguiente operación READC empiece en el registro situado a<br />

continuación del que tiene un error.<br />

Por omisión, READC empieza la búsqueda de registros modificados en el primer<br />

registro del subarchivo. Cuando se encuentra un registro modificado y se devuelve<br />

al programa, su estado se restablece en no modificado. En este ejemplo, el atributo<br />

StartAt también evita que la operación READC entre en un bucle en el registro<br />

señalado por SflNxtChg.<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

* Suponer que el subarchivo tiene un campo llamado OPT cuyo valor<br />

debe ser<br />

* mayor que 0<br />

*<br />

C ReadC SFL1<br />

99<br />

C Dow NOT *IN99<br />

*<br />

C If Opt>0<br />

*<br />

* Procesar el registro<br />

C Else<br />

*<br />

* El registro no es válido; establecer SFLNXTCHG para leerlo en la<br />

siguiente iteración.<br />

C 'SFL1' Getatr 'Index' X<br />

C 'SFL1' Setatr X 'Index'<br />

C 'SFL1' Setatr 1 'SFLNXTCHG'<br />

*<br />

* Establecer STARTAT para empezar a leer después del<br />

registro erróneo.<br />

C Eval X=X+1<br />

C 'SFL1' Setatr X 'StartAt'<br />

C ReadC SFL1<br />

99<br />

C EndDo<br />

*<br />

408 <strong>VisualAge</strong> <strong>RPG</strong> Manual de consulta de componentes


StartNew<br />

Si este atributo está establecido en 1, los datos existentes se dejan aparte y se<br />

mantienen para seguir dibujando la gráfica. Los nuevos datos establecidos no se<br />

utilizarán en la gráfica hasta que no se establezca el atributo UseData.<br />

Tipo Numérico<br />

Se aplica a los componentes<br />

Gráfica<br />

Códigos de operación<br />

SETATR<br />

Operativo en tiempo de ejecución<br />

sí<br />

GETATR no<br />

Valor permitido<br />

El valor permitido es 1.<br />

Ejemplo de formato libre<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C EVAL %setatr('win01': 'GRA1': 'StartNew') = 1<br />

*<br />

Ejemplo de formato fijo<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C 'GRA' SETATR 1 'STARTNEW'<br />

*<br />

Capítulo 2. Atributos de componente 409


StatusBar<br />

Añade o elimina una barra de progreso simple de un panel, en o de una ventana.<br />

La posición por omisión es la parte inferior de la ventana. Utilice el componente<br />

barra de estado si necesita una barra de estado compuesta, con varios paneles e<br />

información de acción.<br />

Tipo Numérico<br />

Se aplica a los componentes<br />

Ventana<br />

Códigos de operación<br />

SETATR<br />

Operativo en tiempo de ejecución<br />

sí<br />

GETATR no<br />

Valor permitido<br />

El valor de StatusBar puede ser uno de los siguientes:<br />

1 Crear una barra de estado<br />

0 Eliminar una barra de estado<br />

Ejemplo de formato libre<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C<br />

*<br />

EVAL %setatr('win01':'WIN1':'StatusBar')=1<br />

Ejemplo de formato fijo<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C 'WIN1' SETATR 1 'STATUSBAR'<br />

*<br />

410 <strong>VisualAge</strong> <strong>RPG</strong> Manual de consulta de componentes


SwitchTo<br />

*Restricción: Este atributo no está soportado en las aplicaciones Java.<br />

Si se establece este atributo, al iniciar una segunda instancia de un programa la<br />

instancia actual del programa será la que tendrá el foco. El atributo SwitchTo<br />

acepta como su propio valor el handle de la ventana del programa que va a<br />

obtener el foco. Si la ventana tiene formato de icono, se restaurará.<br />

El handle es un valor de 32 bits y debe estar declarado en una especificación D<br />

como tipo I (sin signo) con una longitud de 10 y 10 decimales.<br />

Tipo Numérico<br />

Se aplica a los componentes<br />

*Component<br />

Códigos de operación<br />

SETATR<br />

Operativo en tiempo de ejecución<br />

sí<br />

GETATR no<br />

Ejemplo de formato libre<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C EVAL hWnd=%getatr('Win1':'Win1':'Handle')<br />

C<br />

*<br />

EVAL %setatr('*component':'*component':'SwitchTo')=hWnd<br />

Ejemplo de formato fijo<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C 'WIN1' GETATR 'HANDLE' HWND<br />

C<br />

*<br />

'*COMPONENT' SETATR HWND 'SWITCHTO'<br />

Capítulo 2. Atributos de componente 411


TabImage<br />

Especifica el nombre de archivo de la imagen que se visualizará en una pestaña<br />

Página de cuaderno, junto a la etiqueta. Consulte el atributo FileName para ver la<br />

lista de los tipos de imágenes soportados. Si se especifica *BLANK o no se<br />

especifica ningún nombre de archivo, la imagen se elimina.<br />

Tipo Serie<br />

Se aplica a los componentes<br />

Página de cuaderno Página de cuaderno<br />

con lienzo<br />

Códigos de operación<br />

SETATR<br />

Operativo en tiempo de ejecución<br />

sí<br />

GETATR no<br />

Ejemplo de formato libre<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C EVAL %setatr('win01':'NP1':'TabImage') = 'N1.ICO'<br />

*<br />

Ejemplo de formato fijo<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C 'NP1' SETATR 'N1.ICO' 'TABIMAGE'<br />

*<br />

412 <strong>VisualAge</strong> <strong>RPG</strong> Manual de consulta de componentes


TabLabel<br />

Define la etiqueta que aparece en una pestaña de página de cuaderno. El atributo<br />

PageNumber debe estar establecido para indicar a qué página afecta.<br />

Tipo Serie<br />

Se aplica a los componentes<br />

Página de cuaderno<br />

Códigos de operación<br />

SETATR*<br />

Operativo en tiempo de ejecución<br />

sí<br />

GETATR Sí<br />

*Nota: Puede definirse utilizando el cuaderno de propiedades en el<br />

diseñador GUI. Para ello, especifique un valor en el campo Texto<br />

de tabulador.<br />

Valor permitido<br />

El texto que aparece en una pestaña de página de cuaderno<br />

Ejemplo de formato libre<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C EVAL %setatr('win01': 'NBP1': 'TabLabel')<br />

C = 'Section A'<br />

*<br />

Ejemplo de formato fijo<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C 'NBP1' SETATR 'Section A' 'TABLABEL'<br />

*<br />

Capítulo 2. Atributos de componente 413


Text<br />

Establece o devuelve el valor de texto de la parte del campo de entrada de un<br />

componente.<br />

Tipo Serie<br />

Se aplica a los componentes<br />

Recuadro de<br />

combinación<br />

Códigos de operación<br />

Campo de entrada Edición de múltiples<br />

líneas<br />

Selector cíclico<br />

SETATR*<br />

Operativo en tiempo de ejecución<br />

sí<br />

GETATR sí<br />

*Nota: Se puede establecer utilizando el cuaderno de propiedades en el<br />

Diseñador GUI, excepto en el caso de un componente edición de<br />

múltiples líneas o selector cíclico. Si se trata de un componente<br />

recuadro de combinación, utilice la página Datos y especifique<br />

valores. En el caso de un componente campo de entrada, utilice la<br />

página General e indique un valor en el campo Texto.<br />

Valor permitido<br />

El valor del campo de entrada<br />

Ejemplo de formato libre<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C EVAL oldstring = %getatr('win01': 'EF1': 'Text')<br />

*<br />

C EVAL %setatr('win01': 'EF1': 'Text') = 'Newstring'<br />

*<br />

Ejemplo de formato fijo<br />

Guardar el valor de un campo de entrada y cambiarlo:<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C 'EF1' GETATR 'TEXT' oldstring 64<br />

C 'EF1' SETATR 'Newstring' 'TEXT'<br />

*<br />

414 <strong>VisualAge</strong> <strong>RPG</strong> Manual de consulta de componentes


TextEnd<br />

Determina el desplazamiento de carácter del último carácter seleccionado. Si no se<br />

ha seleccionado ningún texto, se devuelve el valor 0. El texto se selecciona<br />

situando el puntero del ratón sobre el texto, pulsando el botón del ratón y<br />

moviendo el puntero a lo largo del texto.<br />

Este atributo se puede utilizar con TextStart para seleccionar una parte<br />

determinada de texto en el componente y para determinar la longitud del texto<br />

seleccionado.<br />

Tipo Numérico<br />

Se aplica a los componentes<br />

Campo de entrada Edición de múltiples<br />

líneas<br />

Códigos de operación<br />

SETATR<br />

Operativo en tiempo de ejecución<br />

sí<br />

GETATR sí<br />

Ejemplo de formato libre<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C<br />

*<br />

EVAL %setatr('win01': 'MLE1': 'TextEnd') = value<br />

C<br />

*<br />

EVAL value = %getatr('win01': 'MLE1': 'TextEnd')<br />

Ejemplo de formato fijo<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C 'MLE1' GETATR 'TEXTEND' endoffset 3 0<br />

*<br />

Capítulo 2. Atributos de componente 415


TextLength<br />

Devuelve la longitud del texto en un componente.<br />

Tipo Numérico<br />

Se aplica a los componentes<br />

Campo de entrada Edición de múltiples<br />

líneas<br />

Códigos de operación<br />

SETATR<br />

Operativo en tiempo de ejecución<br />

no<br />

GETATR sí<br />

Ejemplo de formato libre<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C EVAL length = %getatr('win01': 'EF1': 'TextLength')<br />

*<br />

Ejemplo de formato fijo<br />

Obtener la longitud del texto de un campo de entrada:<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C 'EF1' GETATR 'TEXTLENGTH' length 3 0<br />

*<br />

416 <strong>VisualAge</strong> <strong>RPG</strong> Manual de consulta de componentes


TextSelect<br />

Devuelve el texto seleccionado del componente. Si no hay texto seleccionado, se<br />

devuelve una serie de caracteres nula.<br />

Para seleccionar texto en el campo, establezca los atributos TextStart y TextEnd.<br />

Tipo Serie<br />

Se aplica a los componentes<br />

Campo de entrada Edición de múltiples<br />

líneas<br />

Códigos de operación<br />

SETATR<br />

Operativo en tiempo de ejecución<br />

no<br />

GETATR sí<br />

Ejemplo de formato libre<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C EVAL value = %getatr('win01': 'MLE1': 'TextSelect')<br />

*<br />

Ejemplo de formato fijo<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C 'MLE1' GETATR 'TEXTSELECT' seltext 100<br />

*<br />

Capítulo 2. Atributos de componente 417


TextStart<br />

Determina el primer carácter del campo de texto que se ha seleccionado. Si no se<br />

ha seleccionado ningún texto, se devuelve el valor 0.<br />

Este atributo puede utilizarse con TextEnd para seleccionar una cierta parte de<br />

texto en el componente.<br />

Tipo Numérico<br />

Se aplica a los componentes<br />

Campo de entrada Edición de múltiples<br />

líneas<br />

Códigos de operación<br />

SETATR<br />

Operativo en tiempo de ejecución<br />

sí<br />

GETATR sí<br />

Ejemplo de formato libre<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C<br />

*<br />

EVAL %setatr('win01': 'MLE1': 'TextStart') = value<br />

C<br />

*<br />

EVAL value = %getatr('win01': 'MLE1': 'TextStart')<br />

Ejemplo de formato fijo<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C 'MLE1' GETATR 'TEXTSTART' endoffset 3 0<br />

*<br />

418 <strong>VisualAge</strong> <strong>RPG</strong> Manual de consulta de componentes


TextString<br />

Devuelve todo el texto de un componente edición de múltiples líneas y convierte<br />

todos los caracteres de salto de línea o de retorno de carro en espacios en blanco.<br />

Tipo Serie<br />

Se aplica a los componentes<br />

Edición de múltiples<br />

líneas<br />

Códigos de operación<br />

SETATR<br />

Operativo en tiempo de ejecución<br />

no<br />

GETATR sí<br />

Ejemplo de formato libre<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C EVAL ATxt=%getatr('Win01':'ML1':'TextString')<br />

*<br />

Ejemplo de formato fijo<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C 'ML1' GETATR 'TEXTSTRING' ATXT<br />

*<br />

Capítulo 2. Atributos de componente 419


TickLabel<br />

Asigna una serie a una marca de escala de un componente graduador. El atributo<br />

TickNumber determina el TickLabel al que se hace referencia.<br />

Tipo Serie<br />

Se aplica a los componentes<br />

Graduador<br />

Códigos de operación<br />

SETATR*<br />

Operativo en tiempo de ejecución<br />

sí<br />

GETATR sí<br />

*Nota: Puede definirse utilizando el cuaderno de propiedades en el<br />

diseñador GUI. Para ello, seleccione el pulsador Añadir y<br />

especifique los valores en el recuadro de diálogo Añadir texto de<br />

escala.<br />

Valor permitido<br />

La etiqueta asignada a la marca de escala del graduador<br />

Ejemplo de formato libre<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C<br />

*<br />

Z-ADD 0 percent<br />

C DO 5 ticknbr<br />

C EVAL %setatr('win01':'SLIDER1':'TickNumber')=ticknbr<br />

C EVAL %setatr('win01':'SLIDER1':'TickLabel')=percent<br />

C ADD 25 percent<br />

C<br />

*<br />

ENDDO<br />

Ejemplo de formato fijo<br />

Cambiar el texto para una escala de graduador:<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C Z-ADD *ZERO value 2 0<br />

C 1 DO 11 tick 2 0<br />

C 'SLIDER1' SETATR tick 'TICKNUMBER'<br />

C 'SLIDER1' SETATR value 'TICKLABEL'<br />

C ADD 10 value<br />

C<br />

*<br />

ENDDO<br />

420 <strong>VisualAge</strong> <strong>RPG</strong> Manual de consulta de componentes


TickNumber<br />

Especifica en qué marca de escala del graduador se colocará el siguiente texto<br />

TickLabel.<br />

El número será un valor entre 1yelnúmero de marcas de escala especificado para<br />

el graduador en los valores del cuaderno.<br />

Tipo Numérico<br />

Se aplica a los componentes<br />

Graduador<br />

Códigos de operación<br />

SETATR<br />

Operativo en tiempo de ejecución<br />

sí<br />

GETATR sí<br />

Valor permitido<br />

El número de marca de escala<br />

Ejemplo de formato libre<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C EVAL x = %getatr('win01': 'SLIDER1': 'TickNumber')<br />

*<br />

Ejemplo de formato fijo<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C<br />

*<br />

'SLIDER1' GETATR 'TICKNUMBER' OldTick 3 0<br />

C<br />

*<br />

'SLIDER1' SETATR NewTick 'TICKNUMBER'<br />

Capítulo 2. Atributos de componente 421


Tile<br />

Cuando se establece en 1, la imagen del lienzo aparecerá en mosaico.<br />

Tipo Numérico<br />

Se aplica a los componentes<br />

Lienzo<br />

Códigos de operación<br />

SETATR*<br />

Operativo en tiempo de ejecución<br />

sí<br />

GETATR sí<br />

*Nota: Puede definirse utilizando el cuaderno de propiedades en el<br />

diseñador GUI.<br />

Valor permitido<br />

El valor de Tile puede ser uno de los siguientes:<br />

0 La imagen no se establece en mosaico<br />

1 La imagen se establece en mosaico<br />

Ejemplo de formato libre<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C EVAL %setatr('win01': 'CAN': 'Tile') = 1<br />

*<br />

Ejemplo de formato fijo<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C 'CAN1' SETATR 1 'TILE'<br />

*<br />

422 <strong>VisualAge</strong> <strong>RPG</strong> Manual de consulta de componentes


TimeOut<br />

Este valor determina cuánto tendrá que esperar un componente cliente DDE para<br />

establecer una conversación DDE después de establecer DDEMode en Initiate. Este<br />

valor se expresa en segundos.<br />

Si la conversación DDE no se ha completado en este período de tiempo, se señala<br />

un evento Timeout para el programa.<br />

Tipo Numérico<br />

Se aplica a los componentes<br />

Cliente DDE<br />

Códigos de operación<br />

SETATR<br />

Operativo en tiempo de ejecución<br />

sí<br />

GETATR sí<br />

Ejemplo de formato libre<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C EVAL %setatr('win01': 'DDE1': 'TimeOut') = 5<br />

*<br />

Ejemplo de formato fijo<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C 'DDE1' SETATR 5 'TIMEOUT'<br />

*<br />

Capítulo 2. Atributos de componente 423


TimerMode<br />

Determina la modalidad de operación actual para un componente temporizador.<br />

Cuando la modalidad está establecida en Start, el temporizador empezará a<br />

generar eventos Tick. Al establecer la modalidad en Stop se dejan de generar<br />

eventos Tick. Cuando TimerMode está establecido en Pause, el temporizador<br />

dejará de generar eventos Tick, pero seguirá actualizando el atributo TimerTicks.<br />

Tipo Numérico<br />

Se aplica a los componentes<br />

Temporizador<br />

Códigos de operación<br />

SETATR<br />

Operativo en tiempo de ejecución<br />

sí<br />

GETATR no<br />

Valor permitido<br />

El valor de TimerMode puede ser uno de los siguientes:<br />

1 Start<br />

2 Stop (Parar)<br />

3 Pause (Pausa)<br />

Ejemplo de formato libre<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C PB1 BEGACT PRESS<br />

C EVAL %setatr('win01': 'TIMER01': 'TimerMode') = 1<br />

C ...<br />

C<br />

*<br />

ENDACT<br />

Ejemplo de formato fijo<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C 'TIMER1' SETATR 1 'TIMERMODE'<br />

*<br />

424 <strong>VisualAge</strong> <strong>RPG</strong> Manual de consulta de componentes


TimerTicks<br />

Determina el valor de escala actual de un temporizador. El valor de TimerTicks es<br />

el número de veces que el temporizador ha generado un evento Tick.<br />

Tenga en cuenta que los atributos Interval y Multiplier también determinan el<br />

número de eventos Tick. El atributo TimerTicks se determina de la manera<br />

siguiente:<br />

TimerTicks = (tiempo transcurrido en milisegundos) / (Interval * Multiplier)<br />

Tipo Numérico<br />

Se aplica a los componentes<br />

Temporizador<br />

Códigos de operación<br />

SETATR<br />

Operativo en tiempo de ejecución<br />

sí<br />

GETATR sí<br />

Valor permitido<br />

La cuenta de escala actual del temporizador.<br />

Ejemplo de formato libre<br />

Cambiar el valor de impulsos del temporizador:<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C<br />

*<br />

EVAL count=%getatr('win01':'TIMER01':'TimerTicks')<br />

C count IFGT 1000<br />

C EVAL %setatr('win01':'TIMER01':'TimerTicks')=0<br />

C<br />

*<br />

ENDIF<br />

Ejemplo de formato fijo<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C<br />

*<br />

'TIMER01' GETATR 'TIMERTICKS' count 6 0<br />

C count IFGT 1000<br />

C 'TIMER01' SETATR 0 'TIMERTICKS'<br />

C<br />

*<br />

ENDIF<br />

Capítulo 2. Atributos de componente 425


TipText<br />

Especifica el texto visualizado en el control de ayuda flotante.<br />

Para un componente gráfica, debe asociar el texto de ayuda a un punto de datos.<br />

En una barra, por ejemplo, el texto flotante se visualizará junto a la barra que<br />

representa al punto de datos.<br />

Para un componente calendario, debe asociar el texto de ayuda al atributo<br />

DateIdx. La ayuda flotante se asociará con esa fecha.<br />

Tipo Serie<br />

Se aplica a los componentes<br />

Calendario Recuadro de selección Recuadro de<br />

combinación<br />

Contenedor<br />

Campo de entrada Gráfica Pulsador gráfico Imagen<br />

Recuadro de lista Subarchivo de Edición de múltiples Pulsador<br />

mensajes<br />

líneas<br />

Botón de selección<br />

Subarchivo<br />

Graduador Selector cíclico Texto estático<br />

Códigos de operación<br />

SETATR*<br />

Operativo en tiempo de ejecución<br />

sí<br />

GETATR no<br />

*Nota: Puede definirse utilizando el cuaderno de propiedades en el<br />

diseñador GUI.<br />

Valor permitido<br />

Un máximo de 80 caracteres de texto o un identificador de mensaje<br />

(*MSGnnn)<br />

Ejemplo de formato libre<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C EVAL %setatr('win01': 'MLE1': 'TipText')='*msg0002'<br />

*/xmp><br />

Ejemplo de formato fijo<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C 'MLE1' SETATR 'Hello' 'TipText'<br />

*<br />

426 <strong>VisualAge</strong> <strong>RPG</strong> Manual de consulta de componentes


Title<br />

Determina el texto del título de la gráfica.<br />

Tipo Serie<br />

Se aplica a los componentes<br />

Gráfica<br />

Códigos de operación<br />

SETATR<br />

Operativo en tiempo de ejecución<br />

sí<br />

GETATR sí<br />

Ejemplo de formato libre<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C EVAL value = %getatr('win01': 'GRA1': 'Title')<br />

*<br />

Ejemplo de formato fijo<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C 'GRA1' GETATR 'TITLE' seltitle 1 0<br />

*<br />

Capítulo 2. Atributos de componente 427


TitlePlace<br />

Indica dónde debe estar situado el título dentro de la gráfica.<br />

Tipo Numérico<br />

Se aplica a los componentes<br />

Gráfica<br />

Códigos de operación<br />

SETATR<br />

Operativo en tiempo de ejecución<br />

sí<br />

GETATR sí<br />

Valor permitido<br />

El valor de TitlePlace puede ser uno de los siguientes:<br />

0 Sin título<br />

1 Por encima de la gráfica<br />

2 Por debajo de la gráfica<br />

Ejemplo de formato libre<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C<br />

*<br />

EVAL %setatr('win01': 'GRA1': 'TitlePlace') = 3<br />

C<br />

*<br />

EVAL where = %getatr('win01': 'GRA1': 'TitlePlace')<br />

Ejemplo de formato fijo<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C 'GRA1' GETATR 'TITLEPLACE' where 1 0<br />

*<br />

428 <strong>VisualAge</strong> <strong>RPG</strong> Manual de consulta de componentes


|<br />

|<br />

|<br />

|<br />

|<br />

|<br />

|<br />

Top<br />

Especifica en pixels la coordenada superior de pantalla del componente u objeto.<br />

Nota: El punto de origen es el ángulo superior izquierdo y empieza por cero.<br />

Tipo Numérico<br />

Se aplica a los componentes<br />

ActiveX Control de animación Calendario Lienzo*<br />

Recuadro de selección Recuadro de<br />

combinación<br />

Contenedor Cliente DDE<br />

Campo de entrada Gráfica Pulsador gráfico Recuadro de grupo<br />

Barra de<br />

desplazamiento<br />

horizontal<br />

Imagen Bean Java Recuadro de lista<br />

Medios Panel de medios Edición de múltiples<br />

líneas<br />

Cuaderno<br />

Interfaz ODBC/JDBC Recuadro de contorno Barra de progreso Pulsador<br />

Botón de selección Graduador Selector cíclico Texto estático<br />

Subarchivo Temporizador Barra de<br />

desplazamiento<br />

vertical<br />

Ventana<br />

* Restricción: Este atributo sólo se puede obtener en tiempo de ejecución<br />

para el componente lienzo.<br />

Códigos de operación<br />

SETATR*<br />

Operativo en tiempo de ejecución<br />

sí<br />

GETATR sí<br />

*Nota: Puede definirse utilizando el cuaderno de propiedades en el<br />

diseñador GUI.<br />

Valor permitido<br />

Número de pixels<br />

Ejemplo de formato libre<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C EVAL otop = %getatr('win01': 'Image1': 'Top')<br />

C otop SUB 200 newtop<br />

C EVAL %setatr('win01': 'Image1': 'Top') = newtop<br />

*<br />

Ejemplo de formato fijo<br />

Mover una imagen 200 pixels dentro de su ventana.<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C 'IMAGE1' GETATR 'TOP' OldTop 4 0<br />

C OldTop SUB 200 NewTop 4 0<br />

C<br />

*<br />

'IMAGE' SETATR NewTop 'TOP'<br />

Capítulo 2. Atributos de componente 429


Topic<br />

El atributo Topic se establece para informar a la aplicación del servidor en una<br />

conversación DDE acerca del tema de la conversación. Antes de que pueda<br />

comenzar la conversación, también debe establecerse el atributo AppName.<br />

Un tema DDE es un conjunto de datos que puede procesar la aplicación del<br />

servidor. En el caso de una aplicación de hoja de cálculo, sería un archivo de hoja<br />

de cálculo.<br />

Si el programa servidor es un componente lógico <strong>VisualAge</strong> <strong>RPG</strong>, la sintaxis de<br />

este atributo es:<br />

'nombreapl|nombreapl'<br />

siendo nombreapl el nombre del componente lógico <strong>VisualAge</strong> <strong>RPG</strong>. Por ejemplo, si<br />

el programa servidor es un componente lógico <strong>VisualAge</strong> <strong>RPG</strong> llamado server, este<br />

atributo se establecería de este modo:<br />

EVAL %setatr('WIN1':'DDE1':'Topic') = 'SERVER|SERVER'<br />

Tipo Serie<br />

Se aplica a los componentes<br />

Cliente DDE<br />

Códigos de operación<br />

SETATR*<br />

Operativo en tiempo de ejecución<br />

sí<br />

GETATR sí<br />

*Nota: Puede definirse utilizando el cuaderno de propiedades en el<br />

diseñador GUI.<br />

Ejemplo de formato libre<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C EVAL %setatr('win01': 'DDE1': 'AppName') = 'APP01'<br />

C EVAL %setatr('win01': 'DDE1': 'Topic') = 'APP01.WG1'<br />

C EVAL %setatr('win01': 'DDE1': 'DDEMode') = 1<br />

C<br />

*<br />

...<br />

Ejemplo de formato fijo<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C 'DDE1' SETATR 'APP01.WG1' 'TOPIC'<br />

*<br />

430 <strong>VisualAge</strong> <strong>RPG</strong> Manual de consulta de componentes


TopLine<br />

Indica el número de la primera línea de un campo de edición de múltiples líneas.<br />

Si TopLine está establecido en cero, el campo de edición de múltiples líneas se<br />

visualizará en la última página.<br />

Tipo Numérico<br />

Se aplica a los componentes<br />

Edición de múltiples<br />

líneas<br />

Códigos de operación<br />

SETATR<br />

Operativo en tiempo de ejecución<br />

sí<br />

GETATR sí<br />

Valor permitido<br />

Número de línea<br />

Ejemplo de formato libre<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C EVAL %setatr('win01': 'MLE1': 'TopLine') = 0<br />

*<br />

Ejemplo de formato fijo<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C 'MLE1' SETATR 0 'TOPLINE'<br />

*<br />

Capítulo 2. Atributos de componente 431


TopRecord<br />

Sitúa la lista dentro del componente subarchivo de modo que el elemento de índice<br />

especificado se sitúa al principio de la lista u obtiene (o devuelve) el índice de la<br />

fila visible superior.<br />

Tipo Numérico<br />

Se aplica a los componentes<br />

Subarchivo<br />

Códigos de operación<br />

SETATR<br />

Operativo en tiempo de ejecución<br />

sí<br />

GETATR sí<br />

Ejemplo de formato libre<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C EVAL itemtop = %setatr('win01': 'SFI1': 'TopRecord')<br />

*<br />

Ejemplo de formato fijo<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C 'SFI1' SETATR 'TOPRECORD' itemtop<br />

*<br />

432 <strong>VisualAge</strong> <strong>RPG</strong> Manual de consulta de componentes


Treble<br />

Nota: Este atributo sólo se utiliza en Windows NT/95/98.<br />

El atributo Treble establece el nivel de agudos para el archivo de audio. El nivel<br />

puede establecerse entre 0 y 100.<br />

Tipo Numérico<br />

Se aplica a los componentes<br />

Medios<br />

Códigos de operación<br />

SETATR<br />

Operativo en tiempo de ejecución<br />

sí<br />

GETATR sí<br />

Valor permitido<br />

El valor debe estar entre 0y100<br />

Ejemplo de formato libre<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C EVAL %setatr('win01': 'AUD1': 'Treble') = 42<br />

*<br />

Ejemplo de formato fijo<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C 'AUD1' SETATR 42 'TREBLE'<br />

*<br />

Capítulo 2. Atributos de componente 433


UnBind<br />

*Restricción: Este atributo sólo se utiliza en las aplicaciones Java.<br />

Establezca este atributo en 1 para desenlazar componentes previamente enlazados.<br />

Tipo Numérico<br />

Se aplica a los componentes<br />

Interfaz ODBC/JDBC<br />

Códigos de operación<br />

SETATR<br />

Operativo en tiempo de ejecución<br />

sí<br />

GETATR no<br />

Ejemplo de formato libre<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C EVAL %setatr('win01':'OD1':'UnBind')=1<br />

*<br />

Ejemplo de formato fijo<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C 'OD1' SETATR 1 'UNBIND'<br />

*<br />

434 <strong>VisualAge</strong> <strong>RPG</strong> Manual de consulta de componentes


UnderPoint<br />

*Restricción: Este atributo no está soportado en las aplicaciones Java.<br />

Establezca este atributo en la representación en forma de serie de una posición<br />

relativa al ángulo superior izquierdo de la gráfica (por ejemplo, ″25 10″). A<br />

continuación, utilice los valores de los atributos HitItem, DataPoint y DataGroup<br />

para determinar qué parte de la gráfica está situada debajo del punto dado.<br />

Tipo Serie<br />

Se aplica a los componentes<br />

Gráfica<br />

Códigos de operación<br />

SETATR<br />

Operativo en tiempo de ejecución<br />

no<br />

GETATR sí<br />

Valor permitido<br />

Serie con el formato ″x y″<br />

Ejemplo de formato libre<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C EVAL xystring = %getatr('win01': 'GPH1': 'UnderPoint')<br />

*<br />

Ejemplo de formato fijo<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C 'GPH1' GETATR 'UNDERPOINT' xystring<br />

*<br />

Capítulo 2. Atributos de componente 435


Undo<br />

Establezca este atributo en 1 para deshacer el último cambio que se ha efectuado.<br />

Tipo Numérico<br />

Se aplica a los componentes<br />

Edición de múltiples<br />

líneas<br />

Códigos de operación<br />

SETATR<br />

Operativo en tiempo de ejecución<br />

sí<br />

GETATR no<br />

Ejemplo de formato libre<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C EVAL %setatr('win01': 'ML1': 'Undo') = 1<br />

*<br />

Ejemplo de formato fijo<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C 'ML1' SETATR 1 'UNDO'<br />

*<br />

436 <strong>VisualAge</strong> <strong>RPG</strong> Manual de consulta de componentes


UpdateRow<br />

Determina el número de fila que se actualiza en el conjunto de resultados. No es<br />

necesario buscar antes una fila para actualizarla. Este atributo ocasionará que se<br />

actualice cualquier fila.<br />

Para actualizar una fila que se acaba de buscar, utilice el atributo CurrentRow para<br />

obtener su número de fila.<br />

Nota: En las aplicaciones Java, este atributo necesita el controlador adecuado de<br />

conformidad con JDBC 2.0.<br />

Tipo Numérico<br />

Se aplica a los componentes<br />

Interfaz ODBC/JDBC<br />

Códigos de operación<br />

SETATR<br />

Operativo en tiempo de ejecución<br />

sí<br />

GETATR no<br />

Ejemplo de formato libre<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C EVAL %setatr('win01':'ODBC1':'UpdateRow')=4<br />

*<br />

Ejemplo de formato fijo<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C 'ODBC1' SETATR 4 'UPDATEROW'<br />

*<br />

Capítulo 2. Atributos de componente 437


UseData<br />

Establezca este atributo en 1 para empezar a utilizar los datos establecidos para la<br />

gráfica desde la última vez que se estableció StartNew.<br />

Tipo Numérico<br />

Se aplica a los componentes<br />

Gráfica<br />

Códigos de operación<br />

SETATR<br />

Operativo en tiempo de ejecución<br />

sí<br />

GETATR no<br />

Valor permitido<br />

El valor permitido es 1<br />

Ejemplo de formato libre<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C EVAL %setatr('win01': 'GRA1': 'UseData') = 1<br />

*<br />

Ejemplo de formato fijo<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C 'GRA1' SETATR 1 'USEDATA'<br />

*<br />

438 <strong>VisualAge</strong> <strong>RPG</strong> Manual de consulta de componentes


UseDelim<br />

Establezca este atributo en 1 para identificar los datos que tienen un carácter<br />

delimitador asociado. Utilice el atributo DelimChar para especificar el carácter<br />

delimitador, si lo hay.<br />

Tipo Numérico<br />

Se aplica a los componentes<br />

Recuadro de<br />

combinación<br />

Códigos de operación<br />

Recuadro de lista<br />

SETATR*<br />

Operativo en tiempo de ejecución<br />

sí<br />

GETATR sí<br />

*Nota: Puede definirse utilizando el cuaderno de propiedades en el<br />

diseñador GUI.<br />

Ejemplo de formato libre<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C EVAL %setatr('win01': 'CB1': 'UseDelim') = 1<br />

*<br />

Ejemplo de formato fijo<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C 'CB1' SETATR 1 'USEDELIM'<br />

*<br />

Capítulo 2. Atributos de componente 439


UserData<br />

Permite que cualquier serie definida por el usuario pueda asociarse con un<br />

componente. La serie no tiene restricción de longitud.<br />

Tipo Serie<br />

Se aplica a los componentes<br />

Todos los componentes excepto el componente *component<br />

Códigos de operación<br />

SETATR<br />

Operativo en tiempo de ejecución<br />

sí<br />

GETATR sí<br />

Valor permitido<br />

Los datos que se van a asociar al componente<br />

Ejemplo de formato libre<br />

Guardar el valor de un campo de entrada y cambiarlo:<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C EVAL oldstring = %getatr('win01': 'EF1': 'UserData')<br />

*<br />

C EVAL %setatr('win01': 'EF1': 'UserData') = 'Newstring'<br />

*<br />

Ejemplo de formato fijo<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C 'EF1' GETATR 'USERDATA' oldstring 64<br />

C<br />

*<br />

'EF1' SETATR 'Newstring' 'USERDATA'<br />

440 <strong>VisualAge</strong> <strong>RPG</strong> Manual de consulta de componentes


Validate<br />

Cuando este atributo está establecido, al pulsar el botón al que se aplica, se<br />

realizará la validación de campo para aquellos componentes que tengan valores de<br />

validación de campo y estén en la misma ventana que el botón. La validación de<br />

campo incluye aspectos tales como la comprobación del rango y de valores.<br />

Si se encuentra algún error durante la validación de campo, se visualiza un<br />

mensaje y no se señala el evento Press.<br />

Si no hay errores, o si no hay campos con validación de campo, se invoca la<br />

subrutina de acción del evento Press.<br />

Nota: Si ningún pulsador o pulsador gráfico de la ventana tiene establecido el<br />

atributo Validate. no se realizará la validación de campo.<br />

Tipo Numérico<br />

Se aplica a los componentes<br />

Pulsador gráfico Pulsador<br />

Códigos de operación<br />

SETATR*<br />

Operativo en tiempo de ejecución<br />

sí<br />

GETATR sí<br />

*Nota: Puede definirse utilizando el cuaderno de propiedades en el<br />

diseñador GUI. Para ello, seleccione el estilo Ejecutar validación de<br />

campo.<br />

Valor permitido<br />

El valor de Validate puede ser uno de los siguientes:<br />

0 No efectuar validación de entrada<br />

1 Efectuar validación de entrada<br />

Capítulo 2. Atributos de componente 441


Ejemplo de formato libre<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C EVAL validate = %getatr('win01': 'EF01': 'Validate')<br />

*<br />

C EVAL %setatr('win01': 'EF01': 'Validate') = 1<br />

*<br />

Ejemplo de formato fijo<br />

Guardar el valor de un campo de entrada y cambiarlo:<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C 'EF1' GETATR 'VALIDATE' validate 1 0<br />

C 'EF1' SETATR 1 'VALIDATE'<br />

*<br />

442 <strong>VisualAge</strong> <strong>RPG</strong> Manual de consulta de componentes


Value<br />

Devuelve el valor de un componente graduador. El valor será mayor o igual que el<br />

valor mínimo asignado al graduador, y menor o igual que el valor máximo.<br />

Para un selector cíclico, se devuelve el contenido actual del campo de entrada.<br />

Tipo Numérico<br />

Se aplica a los componentes<br />

Graduador Selector cíclico<br />

Códigos de operación<br />

SETATR<br />

Operativo en tiempo de ejecución<br />

sí<br />

GETATR sí<br />

Valor permitido<br />

Valor del graduador o del campo de entrada.<br />

Ejemplo de formato libre<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C<br />

*<br />

EVAL oldvalue = %getatr('win01': 'SLIDER1': 'Value')<br />

C<br />

*<br />

EVAL %setatr('win01': 'SLIDER1': 'Value') = 5<br />

Ejemplo de formato fijo<br />

Guardar el valor de un campo de entrada y cambiarlo:<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C 'SLIDER1' GETATR 'VALUE' OldValue 3 0<br />

C 'SLIDER1' SETATR 5 'VALUE'<br />

*<br />

Capítulo 2. Atributos de componente 443


View<br />

Determina cómo se visualizan los registros de un contenedor. Un contenedor<br />

puede visualizar registros en una vista de iconos, de árbol, de detalles o de árbol<br />

de texto.<br />

Tipo Numérico<br />

Se aplica a los componentes<br />

Contenedor<br />

*Restricción: En las aplicaciones Java, este atributo sólo se puede obtener<br />

en tiempo de ejecución para este componente.<br />

Códigos de operación<br />

SETATR<br />

Operativo en tiempo de ejecución<br />

sí<br />

GETATR sí<br />

Valor permitido<br />

La vista de contenedor puede ser:<br />

1 Vista de iconos<br />

2 De árbol<br />

3 Vista de detalles<br />

4 Vista de árbol de texto<br />

Ejemplo de formato libre<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C<br />

*<br />

EVAL %setatr('win01': 'CN1': 'View') = 1<br />

Ejemplo de formato fijo<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C 'CN1' SETATR 1 'VIEW'<br />

*<br />

444 <strong>VisualAge</strong> <strong>RPG</strong> Manual de consulta de componentes


Visible<br />

Determina si el componente es visible o no.<br />

Tipo Numérico<br />

Se aplica a los componentes<br />

ActiveX Control de animación Calendario Recuadro de selección<br />

Recuadro de<br />

Referencia a<br />

Contenedor Cliente DDE<br />

combinación<br />

componente lógico<br />

Campo de entrada Gráfica Pulsador gráfico Recuadro de grupo<br />

Barra de<br />

desplazamiento<br />

horizontal<br />

Imagen Bean Java Recuadro de lista<br />

Medios Panel de medios Subarchivo de Edición de múltiples<br />

mensajes<br />

líneas<br />

Cuaderno Página de cuaderno Interfaz ODBC/JDBC Recuadro de contorno<br />

Menú emergente* Barra de progreso Pulsador Botón de selección<br />

Graduador Selector cíclico Texto estático Barra de estado<br />

Subarchivo Temporizador Barra de<br />

desplazamiento<br />

vertical<br />

Ventana<br />

*Restricción: Para las aplicaciones Windows, una consulta (GETATR)<br />

devuelve un valor 0 para este atributo. En las aplicaciones<br />

Java, este atributo devuelve el estado del menú emergente.<br />

Códigos de operación<br />

SETATR*<br />

Operativo en tiempo de ejecución<br />

sí<br />

GETATR sí<br />

*Nota: Puede definirse utilizando el cuaderno de propiedades en el<br />

diseñador GUI.<br />

Valor permitido<br />

El valor de Visible puede ser uno de los siguientes:<br />

0 El componente no es visible<br />

1 El componente es visible<br />

Nota: En los menús emergentes de las aplicaciones Java, también<br />

debe establecer los atributos InvPname (nombre de padre<br />

del invocador) e InvName (nombre de invocador), y las<br />

coordenadas x-y del menú emergente del espacio de<br />

coordenadas del invocador.<br />

Capítulo 2. Atributos de componente 445


Ejemplo de formato libre<br />

Conmutar el estado de Visible de un componente:<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C<br />

*<br />

EVAL isVisible = %getatr('win01': 'EF1': 'Visible')<br />

C isVisible IFEQ 1<br />

C<br />

*<br />

EVAL %setatr('win01': 'EF1': 'Visible') = 0<br />

C ELSE<br />

C EVAL %setatr('win01': 'EF1': 'Visible') = 1<br />

C<br />

*<br />

ENDIF<br />

Ejemplo de formato fijo<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C 'EF1' GETATR 'VISIBLE' IsVisible 1 0<br />

C IsVisible IFEQ 1<br />

C<br />

*<br />

'EF1' SETATR 0 'VISIBLE'<br />

C ELSE<br />

C 'EF1' SETATR 1 'VISIBLE'<br />

C<br />

*<br />

ENDIF<br />

446 <strong>VisualAge</strong> <strong>RPG</strong> Manual de consulta de componentes


VisTitle<br />

Determina si el título del contenedor es visible o no.<br />

Tipo Numérico<br />

Se aplica a los componentes<br />

Contenedor<br />

Códigos de operación<br />

SETATR<br />

Operativo en tiempo de ejecución<br />

sí<br />

GETATR sí<br />

Valor permitido<br />

Uno de los siguientes:<br />

0 El título no es visible<br />

1 El título es visible<br />

Ejemplo de formato libre<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C<br />

*<br />

EVAL %setatr('win01': 'CN1': 'VisTitle) = 1<br />

Ejemplo de formato fijo<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C 'CN1' SETATR 1 'VisTitle'<br />

*<br />

Capítulo 2. Atributos de componente 447


VisTitlSep<br />

Determina si el separador del título del contenedor es visible o no.<br />

Tipo Numérico<br />

Se aplica a los componentes<br />

Contenedor<br />

Códigos de operación<br />

SETATR<br />

Operativo en tiempo de ejecución<br />

sí<br />

GETATR no<br />

Valor permitido<br />

Uno de los siguientes:<br />

0 El separador del título no es visible<br />

1 El separador del título es visible<br />

Ejemplo de formato libre<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C<br />

*<br />

EVAL %setatr('win01': 'CN1': 'VisTitlSep) = 1<br />

Ejemplo de formato fijo<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C 'CN1' SETATR 1 'VisTitlSep'<br />

*<br />

448 <strong>VisualAge</strong> <strong>RPG</strong> Manual de consulta de componentes


Volume<br />

Nota: Este atributo sólo se utiliza en Windows NT/95/98.<br />

Establece el volumen para el componente medios y la salida de ondas y el<br />

sintetizador del sistema.<br />

En el caso de un panel de medios, determina el valor del graduador de volumen.<br />

Este valor está entre 0 y 100.<br />

Tipo Numérico<br />

Se aplica a los componentes<br />

Medios Panel de medios<br />

Códigos de operación<br />

SETATR<br />

Operativo en tiempo de ejecución<br />

sí<br />

GETATR sí<br />

Valor permitido<br />

El valor de volumen<br />

Ejemplo de formato libre<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C<br />

*<br />

EVAL curvol = %getatr('win01': 'MMP1': 'Volume')<br />

C<br />

*<br />

EVAL %setatr('win01': 'MMP1': 'Volume') = 5<br />

Ejemplo de formato fijo<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C<br />

*<br />

'MMP1' GETATR 'VOLUME' curvol 3 0<br />

C<br />

*<br />

'MMP1' SETATR 5 'VOLUME'<br />

Capítulo 2. Atributos de componente 449


VRule<br />

Añade una regla vertical entre cada columna de una fila de datos de subarchivo o<br />

de calendario. Debe haber por lo menos una fila de datos.<br />

Tipo Numérico<br />

Se aplica a los componentes<br />

Calendario Subarchivo<br />

Códigos de operación<br />

SETATR<br />

Operativo en tiempo de ejecución<br />

sí<br />

GETATR sí<br />

Valor permitido<br />

El valor de VRule puede ser uno de los siguientes:<br />

0 Desactiva la regla<br />

1 Activa la regla<br />

Ejemplo de formato libre<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C<br />

*<br />

EVAL Vtrule = %getatr('win01': 'SF1': 'VRule')<br />

C Vtrule IFEQ 0<br />

C EVAL %setatr('win01': 'SF1': 'VRule') = 1<br />

C ELSE<br />

C EVAL %setatr('win01': 'SF1': 'VRule') = 0<br />

C<br />

*<br />

ENDIF<br />

Ejemplo de formato fijo<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C<br />

*<br />

'SF1' GETATR 'VRULE' Vtrule 1 0<br />

C<br />

*<br />

'SF1' SETATR 1 'Vtrule'<br />

450 <strong>VisualAge</strong> <strong>RPG</strong> Manual de consulta de componentes


WeekDay<br />

Indica el día de la semana que está seleccionado.<br />

Tipo Numérico<br />

Se aplica a los componentes<br />

Calendario<br />

Códigos de operación<br />

SETATR<br />

Operativo en tiempo de ejecución<br />

no<br />

GETATR sí<br />

Valor devuelto<br />

Uno de los siguientes:<br />

0 Domingo<br />

1 Lunes<br />

2 Martes<br />

3 Miércoles<br />

4 Jueves<br />

5 Viernes<br />

6 Sábado<br />

Ejemplo de formato libre<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C<br />

*<br />

EVAL index = %getatr('win01': 'CAL1': 'WeekDay')<br />

Ejemplo de formato fijo<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C 'CAL1' GETATR 'WEEKDAY' 02<br />

*<br />

Capítulo 2. Atributos de componente 451


WeekDayIdx<br />

Devuelve el día de la semana que corresponde a los valores de YearIdx, MonthIdx<br />

y DayIdx.<br />

Tipo Numérico<br />

Se aplica a los componentes<br />

Calendario<br />

Códigos de operación<br />

SETATR<br />

Operativo en tiempo de ejecución<br />

no<br />

GETATR sí<br />

Valor devuelto<br />

Uno de los siguientes:<br />

0 Domingo<br />

1 Lunes<br />

2 Martes<br />

3 Miércoles<br />

4 Jueves<br />

5 Viernes<br />

6 Sábado<br />

Ejemplo de formato libre<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C<br />

*<br />

EVAL index = %getatr('win01': 'CAL1': 'WeekDayIdx')<br />

Ejemplo de formato fijo<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C 'CAL1' GETATR 'WEEKDAYIDX' INDEX<br />

*<br />

452 <strong>VisualAge</strong> <strong>RPG</strong> Manual de consulta de componentes


|<br />

|<br />

|<br />

|<br />

|<br />

|<br />

|<br />

Width<br />

Especifica el ancho del componente en pixels. Al cambiar el ancho de una ventana<br />

se genera un evento ReSize.<br />

Nota: El atributo Width no puede sobrepasar el ancho máximo, que viene<br />

determinado por la resolución de pantalla utilizada. Por ejemplo, no se<br />

puede crear un componente que tenga 800 pixels de ancho si se trabaja con<br />

una pantalla de 640 pixels de ancho.<br />

Tipo Numérico<br />

Se aplica a los componentes<br />

ActiveX Calendario Lienzo Recuadro de selección<br />

Recuadro de<br />

combinación<br />

Contenedor Campo de entrada Gráfica<br />

Pulsador gráfico Recuadro de grupo Barra de<br />

desplazamiento<br />

horizontal<br />

Imagen<br />

Bean Java Recuadro de lista Panel de medios Edición de múltiples<br />

líneas<br />

Cuaderno Interfaz ODBC/JDBC Recuadro de contorno Barra de progreso<br />

Pulsador Botón de selección Graduador Selector cíclico<br />

Texto estático Subarchivo Barra de<br />

desplazamiento<br />

vertical<br />

Ventana<br />

Códigos de operación<br />

SETATR*<br />

Operativo en tiempo de ejecución<br />

sí<br />

GETATR sí<br />

*Nota: Puede definirse utilizando el cuaderno de propiedades en el<br />

diseñador GUI.<br />

Valor permitido<br />

El ancho del componente en pixels<br />

Ejemplo de formato libre<br />

Aumentar el ancho de un componente:<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C EVAL width = %getatr('win01': 'EF1': 'Width')<br />

*<br />

C EVAL %setatr('win01': 'EF1': 'Width') =<br />

width + 100<br />

*<br />

Ejemplo de formato fijo<br />

Ampliar un pulsador 200 pixels:<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C 'EF1' GETATR 'WIDTH' OldWidth 2 0<br />

C OldTop ADD 200 NewWidth 2 0<br />

C<br />

*<br />

'EF1' SETATR NewWidth 'WIDTH'<br />

Capítulo 2. Atributos de componente 453


WindowMode<br />

*Restricción: Este atributo no está soportado en las aplicaciones Java.<br />

Determina cómo se visualiza una ventana.<br />

Tipo Numérico<br />

Se aplica a los componentes<br />

Ventana<br />

Códigos de operación<br />

SETATR<br />

Operativo en tiempo de ejecución<br />

sí<br />

GETATR sí<br />

Valor permitido<br />

El valor de WindowMode puede ser uno de los siguientes:<br />

1 Maximizada - Muestra la ventana en su mayor tamaño posible<br />

2 Minimizada - Elimina la ventana del lugar de trabajo y la<br />

representa como un icono<br />

3 Restaurada - Devuelve la ventana al tamaño que tenía antes de ser<br />

minimizada o maximizada<br />

Nota: Cuando se restaura una ventana desde un estado maximizado, el<br />

atributo WindowMode puede indicar que la ventana sigue en estado<br />

maximizado aunque ya no lo esté.<br />

Ejemplo de formato libre<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C EVAL %setatr('win01': 'win01': 'WindowMode') = 1<br />

*<br />

Ejemplo de formato fijo<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C 'WIN01' SETATR 1 'WINDOWMODE'<br />

*<br />

454 <strong>VisualAge</strong> <strong>RPG</strong> Manual de consulta de componentes


WordWrap<br />

Determina si el texto entrado en un componente edición de múltiples líneas debe<br />

acomodarse al llegar al límite de palabras. Si WordWrap está inhabilitado, el texto<br />

continuará en la misma línea.<br />

Nota: Este atributo no funciona si se establece el estilo de desplazamiento<br />

horizontal.<br />

Tipo Numérico<br />

Se aplica a los componentes<br />

Edición de múltiples<br />

líneas<br />

Códigos de operación<br />

SETATR*<br />

Operativo en tiempo de ejecución<br />

no<br />

GETATR sí<br />

*Nota: Puede definirse utilizando el cuaderno de propiedades en el<br />

diseñador GUI.<br />

Valor permitido<br />

El valor de WordWrap puede ser uno de los siguientes:<br />

0 Acomodar palabra inhabilitado<br />

1 Acomodar palabra habilitado<br />

Ejemplo de formato libre<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C EVAL rc = %getatr('win01': 'MLE1': 'WordWrap')<br />

*<br />

Ejemplo de formato fijo<br />

Conmutar el estado de acomodación de palabra de un componente edición<br />

de múltiples líneas:<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C 'MLE1' GETATR 'WORDWRAP' break 1 0<br />

*<br />

Capítulo 2. Atributos de componente 455


WrkStnName<br />

*Restricción: Este atributo no está soportado en las aplicaciones Java.<br />

Devuelve el nombre de la estación de trabajo.<br />

Tipo Serie<br />

Se aplica a los componentes<br />

*Component<br />

Códigos de operación<br />

SETATR<br />

Operativo en tiempo de ejecución<br />

no<br />

GETATR sí<br />

Ejemplo de formato libre<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C EVAL WRKN=%getatr('*component':'*component':'WrkStnName')<br />

*<br />

Ejemplo de formato fijo<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C '*component' GETATR 'WRKSTNNAME' WRKN<br />

*<br />

456 <strong>VisualAge</strong> <strong>RPG</strong> Manual de consulta de componentes


X<br />

*Restricción: Este atributo sólo se utiliza en las aplicaciones Java.<br />

Especifica la coordenada x, en pixels, del menú emergente del espacio de<br />

coordenadas del invocador. Este atributo se utiliza junto con los atributos<br />

InvName, InvPname e Y.<br />

Tipo Numérico<br />

Se aplica a los componentes<br />

Menú emergente<br />

Códigos de operación<br />

SETATR<br />

Operativo en tiempo de ejecución<br />

sí<br />

GETATR no<br />

Ejemplo de formato libre<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C EVAL %setatr('win01':'POP1':'X')=35<br />

*<br />

Ejemplo de formato fijo<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C 'POP1' SETATR 35 'X'<br />

*<br />

Capítulo 2. Atributos de componente 457


XAxisLabel<br />

Es el texto que sirve de etiqueta del eje de la X.<br />

Tipo Serie<br />

Se aplica a los componentes<br />

Gráfica<br />

Códigos de operación<br />

SETATR<br />

Operativo en tiempo de ejecución<br />

sí<br />

GETATR sí<br />

Ejemplo de formato libre<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C EVAL %setatr('win01': 'GRA1': 'XAxisLabel') = label<br />

*<br />

Ejemplo de formato fijo<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C 'GRA' SETATR 'label' 'XAxisLabel'<br />

*<br />

458 <strong>VisualAge</strong> <strong>RPG</strong> Manual de consulta de componentes


Y<br />

*Restricción: Este atributo sólo se utiliza en las aplicaciones Java.<br />

Especifica la coordenada y, en pixels, del menú emergente del espacio de<br />

coordenadas del invocador. Este atributo se utiliza junto con los atributos<br />

InvName, InvPname y X.<br />

Tipo Numérico<br />

Se aplica a los componentes<br />

Menú emergente<br />

Códigos de operación<br />

SETATR<br />

Operativo en tiempo de ejecución<br />

sí<br />

GETATR no<br />

Ejemplo de formato libre<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C EVAL %setatr('win01':'POP1':'Y')=45<br />

*<br />

Ejemplo de formato fijo<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C 'POP1' SETATR 45 'Y'<br />

*<br />

Capítulo 2. Atributos de componente 459


YAxisLabel<br />

Es el texto que sirve de etiqueta del eje de la Y.<br />

Tipo Serie<br />

Se aplica a los componentes<br />

Gráfica<br />

Códigos de operación<br />

SETATR<br />

Operativo en tiempo de ejecución<br />

sí<br />

GETATR sí<br />

Ejemplo de formato libre<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C EVAL %setatr('win01': 'GRA1': 'YAxisLabel') = label<br />

*<br />

Ejemplo de formato fijo<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C 'GRA1' SETATR 'label' 'YAxisLable'<br />

*<br />

460 <strong>VisualAge</strong> <strong>RPG</strong> Manual de consulta de componentes


Year<br />

Indica el año del calendario que está seleccionado actualmente. Si se establece, se<br />

actualizará la fecha seleccionada del componente calendario para que los cambios<br />

queden reflejados.<br />

Tipo Numérico<br />

Se aplica a los componentes<br />

Calendario<br />

Códigos de operación<br />

SETATR<br />

Operativo en tiempo de ejecución<br />

sí<br />

GETATR sí<br />

Valor permitido<br />

El año<br />

Ejemplo de formato libre<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C EVAL %setatr('win01': 'CAL1': 'Year') = 1998<br />

*<br />

Ejemplo de formato fijo<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C 'CAL1' SETATR 1998 'YEAR'<br />

*<br />

Capítulo 2. Atributos de componente 461


YearIdx<br />

Permite que el usuario defina datos en una fecha que no se visualiza en la página<br />

actual del calendario.<br />

Tipo Numérico<br />

Se aplica a los componentes<br />

Calendario<br />

Códigos de operación<br />

SETATR<br />

Operativo en tiempo de ejecución<br />

sí<br />

GETATR sí<br />

Valor permitido<br />

Valor de índice<br />

Ejemplo de formato libre<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C EVAL %setatr('win01': 'CAL1': 'YearIdx') = 1998<br />

*<br />

Ejemplo de formato fijo<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C 'CAL1' SETATR 1998 'YEARIDX'<br />

*<br />

462 <strong>VisualAge</strong> <strong>RPG</strong> Manual de consulta de componentes


YearLen<br />

Indica el formato de visualización del año.<br />

Tipo Numérico<br />

Se aplica a los componentes<br />

Calendario<br />

Códigos de operación<br />

SETATR*<br />

Operativo en tiempo de ejecución<br />

sí<br />

GETATR sí<br />

*Nota: Puede definirse utilizando el cuaderno de propiedades en el<br />

diseñador GUI.<br />

Valor permitido<br />

YearLen puede tener uno de los valores siguientes:<br />

1 Año completo con cuatro dígitos<br />

2 Dos dígitos<br />

3<br />

Nota: Windows 95 visualiza ambos dígitos como la opción de<br />

relleno de dos dígitos. No hay distinción entre ambas.<br />

Dos dígitos, con un cero para los años que sólo tienen un dígito<br />

Ejemplo de formato libre<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C<br />

*<br />

EVAL %setatr('win01': 'CAL1': 'YearLen') = 3<br />

Ejemplo de formato fijo<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C 'CAL1' GETATR 'YEARLEN' YearLen 1 0<br />

*<br />

Capítulo 2. Atributos de componente 463


|<br />

|<br />

|<br />

|<br />

|<br />

|<br />

|<br />

|<br />

|<br />

|<br />

|<br />

|<br />

|<br />

|<br />

|<br />

|<br />

|<br />

|<br />

|<br />

|<br />

|<br />

|<br />

|<br />

|<br />

|<br />

Yinc<br />

Establece el número de marcas de escala que se utilizarán en el eje Y. El eje Y se<br />

dividirá en un número igual de incrementos, basándose en los valores mínimo y<br />

máximo permitidos.<br />

Tipo Numérico<br />

Se aplica a los componentes<br />

Gráfica<br />

Códigos de operación<br />

SETATR<br />

Operativo en tiempo de ejecución<br />

sí<br />

GETATR sí<br />

Ejemplo de formato libre<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C EVAL %setatr('win01': 'GRA1': 'YInc') = 20<br />

*<br />

Ejemplo de formato fijo<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+....8<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq----<br />

*<br />

C 'GRA1' SETATR 20 'YInc'<br />

*<br />

464 <strong>VisualAge</strong> <strong>RPG</strong> Manual de consulta de componentes


|<br />

Capítulo 3. Eventos de componentes<br />

Activate<br />

BeanEvent<br />

Cuando un componente reconoce un evento (por ejemplo, cuando el usuario<br />

selecciona un pulsador), invoca la subrutina de acción que haya definido entre los<br />

códigos de operación BEGACT y ENDACT específicos en el programa. Si no se ha<br />

definido ninguna subrutina de acción para un evento, éste se pasa por alto. La<br />

ventana Subrutinas de acción visualiza qué subrutinas de acción se invocan<br />

mediante qué eventos de componente.<br />

En ciertos casos, el evento también hará que se pueda disponer de atributos de<br />

evento, que contienen datos relevantes. Puede acceder a estos atributos de evento<br />

desde el programa haciendo referencia a los mismos.<br />

Este capítulo describe los eventos de componente. Cada una de las descripciones<br />

contiene lo siguiente:<br />

v Una lista de componentes a los que se aplica el evento<br />

v Una descripción general del evento<br />

v Una lista de los atributos de evento que se aplican al evento (si los hay)<br />

v Un ejemplo (si los hay)<br />

Este evento se produce cuando una ventana se convierte en la ventana activa. Ello<br />

ocurre cuando el usuario pulsa en ella con el puntero del ratón o selecciona un<br />

componente de la misma.<br />

Se aplica a los componentes<br />

Ventana<br />

Atributos de evento<br />

%EventName %Part %Window<br />

* Restricción: Este evento no está soportado en las aplicaciones Windows.<br />

Este evento se produce siempre que se produce un evento de bean Java.<br />

Se aplica a los componentes<br />

Bean Java<br />

Atributos de evento<br />

%EventName %Part %Window<br />

© Copyright <strong>IBM</strong> Corp. 1994, 2000 465


Change<br />

Click<br />

Este evento se produce al cambiar el contenido o el valor de un componente. Para<br />

cada tipo de componente, este evento se produce cuando se realiza el siguiente<br />

cambio:<br />

Recuadro de combinación<br />

El usuario escribe en el campo de entrada o selecciona un elemento de la<br />

lista desplegable.<br />

Campo de entrada<br />

El usuario escribe en el campo de entrada.<br />

Edición de múltiples líneas<br />

El usuario escribe en el campo de edición de múltiples líneas.<br />

Panel de medios<br />

El usuario cambia la posición de un graduador del panel.<br />

Graduador<br />

El usuario cambia la posición del graduador.<br />

Selector cíclico<br />

El usuario selecciona uno de los selectores cíclicos o escribe un valor en el<br />

campo de entrada.<br />

Subarchivo<br />

El usuario cambia los datos de una casilla de subarchivo y abandona la<br />

casilla.<br />

Tenga en cuenta que también puede modificarse el valor de un componente como<br />

resultado de establecer ciertos atributos, por ejemplo, el componente está definido<br />

como un componente destino y responde a un evento Link.<br />

Se aplica a los componentes<br />

Recuadro de<br />

Campo de entrada Panel de medios Edición de múltiples<br />

combinación<br />

líneas<br />

Graduador Selector cíclico Subarchivo<br />

Atributos de evento<br />

%ColNumber %EventName %Index %Part<br />

%Window<br />

Este evento se produce cuando el usuario coloca el puntero del ratón encima del<br />

componente y pulsa y suelta uno de los botones del ratón.<br />

El componente debe estar habilitado para recibir este evento.<br />

Nota: El evento Click no se señala si hay un componente Contenedor en la vista<br />

de Detalles.<br />

Se aplica a los componentes<br />

Calendario Lienzo Contenedor Campo de entrada<br />

Gráfica Imagen Edición de múltiples<br />

líneas<br />

Texto estático<br />

466 <strong>VisualAge</strong> <strong>RPG</strong> Manual de consulta de componentes


Close<br />

Collapsed<br />

ColSelect<br />

Complete<br />

Atributos de evento<br />

%Button %EventName %MouseX %MouseY<br />

%Part %Window<br />

Este evento se produce solamente cuando una ventana se cierra a través del menú<br />

del sistema. El código de operación CLSWIN no tiene ningún efecto.<br />

Se aplica a los componentes<br />

Ventana<br />

Atributos de evento<br />

%EventName %Part %Window<br />

Este evento se produce al contraer un nodo de un contenedor de la vista de árbol.<br />

Este evento se puede utilizar para cambiar el icono de un registro para que<br />

muestre el estado.<br />

Se aplica a los componentes<br />

Contenedor<br />

Atributos de evento<br />

%EventName %Part %Window<br />

Este evento se produce al seleccionar una cabecera de columna con el ratón. Debe<br />

haber un componente contenedor en la vista de detalles. El atributo de evento<br />

%ColNumber devuelve el número de la columna seleccionada.<br />

Se aplica a los componentes<br />

Contenedor Subarchivo<br />

Atributos de evento<br />

%ColNumber %EventName %Part %Window<br />

Este evento se produce cuando el componente medios ha procesado un archivo de<br />

audio. El atributo de evento %Complete indica si la operación se ha realizado de<br />

manera correcta.<br />

Capítulo 3. Eventos de componentes 467


Create<br />

Data<br />

Se aplica a los componentes<br />

Medios<br />

Atributos de evento<br />

%Complete %EventName %Part %Window<br />

Este evento se produce cuando se crea el componente.<br />

En el caso de un componente ventana, el evento Create sólo después de que se<br />

hayan creado todos los componentes de dicha ventana y se hayan producido sus<br />

eventos Create.<br />

En este momento se pueden establecer los atributos del componente. Por ejemplo,<br />

tal vez le interese cambiar el valor por omisión de un campo de entrada antes de<br />

que el campo aparezca en la ventana.<br />

Se aplica a los componentes<br />

ActiveX Control de animación Calendario Lienzo<br />

Recuadro de selección Recuadro de<br />

Referencia a<br />

Contenedor<br />

combinación<br />

componente lógico<br />

Cliente DDE Campo de entrada Gráfica Pulsador gráfico<br />

Recuadro de grupo Barra de<br />

desplazamiento<br />

horizontal<br />

Imagen Bean Java<br />

Recuadro de lista Medios Panel de medios Barra de menús<br />

Opción de menú Subarchivo de Edición de múltiples Cuaderno<br />

mensajes<br />

líneas<br />

Página de cuaderno Interfaz ODBC/JDBC Recuadro de contorno Barra de progreso<br />

Pulsador Botón de selección Graduador Selector cíclico<br />

Texto estático Barra de estado Subarchivo Submenú<br />

Temporizador Barra de<br />

desplazamiento<br />

vertical<br />

Ventana<br />

Atributos de evento<br />

%EventName %Part %Window<br />

Este evento se produce cuando los datos están disponibles de la aplicación<br />

servidor en una conversación DDE. Se genera como resultado de un mandato<br />

Request, o si los datos han cambiado o el componente Cliente DDE está definido en<br />

una conversación de enlace dinámico con otro componente mediante el atributo<br />

AllowLink.<br />

Se aplica a los componentes<br />

Cliente DDE<br />

468 <strong>VisualAge</strong> <strong>RPG</strong> Manual de consulta de componentes


DblClick<br />

DeActivate<br />

Destroy<br />

Atributos de evento<br />

%Data %EventName %Item %Part<br />

%Window<br />

Este evento se produce cuando el usuario pulsa y suelta el botón del ratón dos<br />

veces de forma rápida y sucesiva.<br />

Se aplica a los componentes<br />

Calendario Lienzo Contenedor Campo de entrada<br />

Gráfica Imagen Edición de múltiples<br />

líneas<br />

Texto estático<br />

Atributos de evento<br />

%Button %EventName %MouseX %MouseY<br />

%Part %Window<br />

Este evento se produce cuando la ventana ya no está activa. Una ventana se<br />

desactiva cuando se activa otro componente.<br />

Este evento se produce al ejecutar un código de operación CLSWIN.<br />

Se aplica a los componentes<br />

Ventana<br />

Atributos de evento<br />

%EventName %Part %Window<br />

Este evento se produce cuando se cierra la ventana que contiene el componente,<br />

sea porque el usuario ha seleccionado la opción de menú Cerrar del menú del<br />

sistema en la ventana, o mediante el código de operación CLSWIN.<br />

Este evento también se producirá en todos los componentes del programa al<br />

terminar éste.<br />

Se aplica a los componentes<br />

ActiveX Control de animación Calendario Lienzo<br />

Recuadro de selección Recuadro de<br />

Referencia a<br />

Contenedor<br />

combinación<br />

componente lógico<br />

Cliente DDE Campo de entrada Gráfica Pulsador gráfico<br />

Recuadro de grupo Barra de<br />

desplazamiento<br />

horizontal<br />

Imagen Bean Java<br />

Recuadro de lista Medios Panel de medios Barra de menús<br />

Capítulo 3. Eventos de componentes 469


Drop<br />

DropDown<br />

Opción de menú Subarchivo de Edición de múltiples Cuaderno<br />

mensajes<br />

líneas<br />

Página de cuaderno Interfaz ODBC/JDBC Recuadro de contorno Barra de progreso<br />

Pulsador Botón de selección Graduador Selector cíclico<br />

Texto estático Barra de estado Subarchivo Submenú<br />

Temporizador Barra de<br />

desplazamiento<br />

vertical<br />

Ventana<br />

Atributos de evento<br />

%EventName %Part %Window<br />

Este evento se produce al arrastrar y soltar un objeto en este componente. El<br />

atributo DropEnable debe establecerse para este componente para que responda a<br />

este evento. Puede consultar el valor asociado con el componente soltado<br />

verificando el atributo de evento %Data.<br />

Se aplica a los componentes<br />

Recuadro de<br />

combinación*<br />

Edición de múltiples<br />

líneas<br />

Campo de entrada<br />

Texto estático<br />

Recuadro de lista* Subarchivo de<br />

mensajes<br />

* Restricción: Este evento no está soportado en tiempo de ejecución en las<br />

aplicaciones Java para este componente.<br />

Atributos de evento<br />

%Data %EventName %Part %Window<br />

* Restricción: Este evento no está soportado en las aplicaciones Java.<br />

Para un recuadro de combinación, este evento se produce cuando tiene lugar lo<br />

siguiente:<br />

v El usuario pulsa con el ratón en la flecha abajo que hay a la derecha del<br />

recuadro.<br />

Se aplica a los componentes<br />

Recuadro de<br />

combinación<br />

Atributos de evento<br />

%EventName %Part %Window<br />

470 <strong>VisualAge</strong> <strong>RPG</strong> Manual de consulta de componentes


Enter<br />

ExecuteAck<br />

Expanded<br />

En un recuadro de combinación, contenedor, recuadro de lista, subarchivo de<br />

mensajes y subarchivo, este evento se produce cuando:<br />

v El usuario efectúa una doble pulsación en el componente.<br />

v El usuario pulsa la tecla Intro cuando el componente tiene el foco y se ha<br />

seleccionado un elemento.<br />

En el caso de un botón de selección, este evento se produce cuando se efectúa una<br />

doble pulsación en el componente.<br />

Se aplica a los componentes<br />

Recuadro de<br />

Contenedor Recuadro de lista* Subarchivo de<br />

combinación<br />

mensajes<br />

Botón de selección Subarchivo<br />

* Restricción: Este evento no está soportado en tiempo de ejecución en las<br />

aplicaciones Java para este componente.<br />

Atributos de evento<br />

%EventName %Part %Window<br />

Este evento se produce cuando la aplicación servidor ha procesado un mandato<br />

Execute. El atributo de evento %Complete indica si la ejecución ha sido correcta.<br />

Se aplica a los componentes<br />

Cliente DDE<br />

Atributos de evento<br />

%Complete %Data %EventName %Part<br />

%Window<br />

Este evento se produce al ampliar un nodo de un contenedor de la vista de árbol.<br />

Este evento se puede utilizar para cambiar el icono de un registro para que<br />

muestre el estado.<br />

Se aplica a los componentes<br />

Contenedor<br />

Atributos de evento<br />

%EventName %Part %Window<br />

Capítulo 3. Eventos de componentes 471


FirstRec<br />

GotFocus<br />

KeyPress<br />

Este evento se produce cuando se selecciona el botón de ″primer registro″ de la<br />

barra de navegación.<br />

Se aplica a los componentes<br />

Subarchivo<br />

Atributos de evento<br />

%EventName %Part %Window<br />

Este evento se produce cuando el componente recibe el foco de entrada. Esto se<br />

produce cuando el usuario mueve el cursor a un componente habilitado o si se ha<br />

establecido el foco en este componente mediante el atributo Focus. El componente<br />

debe estar habilitado para recibir este evento.<br />

Se aplica a los componentes<br />

Recuadro de<br />

combinación<br />

Contenedor Campo de entrada Pulsador gráfico<br />

Recuadro de lista Edición de múltiples<br />

líneas<br />

Pulsador Graduador<br />

Selector cíclico Subarchivo<br />

Atributos de evento<br />

%EventName %Part %Window<br />

Este evento se produce cuando se pulsa una tecla y el componente tiene foco de<br />

entrada. El componente debe estar habilitado para recibir este evento.<br />

Nota: El atributo ReadOnly no debe estar establecido.<br />

Este evento sólo se produce para teclas de caracteres. Para manejar eventos<br />

generados mediante teclas que no sean de caracteres, como RePág y AvPág,<br />

consulte el evento VKeyPress.<br />

Se aplica a los componentes<br />

Recuadro de<br />

combinación<br />

Edición de múltiples<br />

líneas<br />

Atributos de evento<br />

Contenedor Campo de entrada Recuadro de lista<br />

Subarchivo<br />

%Alt %Character %Control %EventName<br />

%Part %Shift %Window<br />

472 <strong>VisualAge</strong> <strong>RPG</strong> Manual de consulta de componentes


LastRec<br />

LClickTray<br />

Link<br />

LostFocus<br />

Este evento se produce cuando se selecciona el botón de ″último registro″ de la<br />

barra de navegación.<br />

Se aplica a los componentes<br />

Subarchivo<br />

Atributos de evento<br />

%EventName %Part %Window<br />

Este evento se produce cuando un usuario pulsa el icono de bandeja del sistema<br />

de la aplicación con el botón izquierdo del ratón. La aplicación debe estar<br />

registrada como aplicación de bandeja del sistema mediante la API<br />

Shell_NotifyIconA de Windows.<br />

Se aplica a los componentes<br />

Ventana Ventana con lienzo<br />

Atributos de evento<br />

%EventName %Part %Window<br />

* Restricción: Este evento no está soportado en las aplicaciones Java.<br />

Este evento se produce cuando el componente está enlazado a un componente<br />

origen, utilizando el atributo AddLink, y el componente origen ha cambiado. El<br />

atributo AllowLink debe estar establecido para que el componente origen señale<br />

este evento.<br />

Se aplica a los componentes<br />

Campo de entrada Imagen Medios Panel de medios<br />

Graduador Selector cíclico Texto estático Temporizador<br />

Atributos de evento<br />

%EventName %Part %Window<br />

Este evento se produce cuando el componente deja de tener el foco de entrada.<br />

Se aplica a los componentes<br />

Recuadro de<br />

combinación<br />

Contenedor Campo de entrada Pulsador gráfico<br />

Capítulo 3. Eventos de componentes 473


MenuSelect<br />

MouseDown<br />

MouseEnter<br />

Recuadro de lista Edición de múltiples<br />

líneas<br />

Selector cíclico Subarchivo<br />

Atributos de evento<br />

%EventName %Part %Window<br />

Pulsador Graduador<br />

Este evento se produce cuando el usuario selecciona una opción de menú con el<br />

ratón o con la tecla aceleradora.<br />

Este evento no significa que se haya marcado una opción de menú. Para<br />

determinar si se ha marcado o no un elemento de menú, consulte el atributo<br />

Checked del elemento.<br />

Se aplica a los componentes<br />

Opción de menú<br />

Atributos de evento<br />

%EventName %Part %Window<br />

Este evento se produce al pulsar un botón del ratón.<br />

Se aplica a los componentes<br />

Calendario Lienzo Contenedor Campo de entrada<br />

Gráfica Edición de múltiples<br />

líneas<br />

Texto estático<br />

Atributos de evento<br />

%Button %EventName %MouseX %MouseY<br />

%Part %Window<br />

Este evento se produce al llevar por primera vez el puntero del ratón a un<br />

componente.<br />

Se aplica a los componentes<br />

Calendario Recuadro de selección Recuadro de<br />

combinación<br />

Contenedor<br />

Campo de entrada Gráfica Pulsador gráfico Imagen<br />

Recuadro de lista Panel de medios Subarchivo de Edición de múltiples<br />

mensajes<br />

líneas<br />

Pulsador Botón de selección Graduador Selector cíclico<br />

Texto estático Subarchivo<br />

474 <strong>VisualAge</strong> <strong>RPG</strong> Manual de consulta de componentes


MouseExit<br />

MouseMove<br />

Atributos de evento<br />

%EventName %Part %Window<br />

Este evento se produce al sacar por primera vez el puntero del ratón de un<br />

componente.<br />

Se aplica a los componentes<br />

Calendario Recuadro de selección Recuadro de<br />

combinación<br />

Contenedor<br />

Campo de entrada Gráfica Pulsador gráfico Imagen<br />

Recuadro de lista Panel de medios Subarchivo de Edición de múltiples<br />

mensajes<br />

líneas<br />

Pulsador Botón de selección Graduador Selector cíclico<br />

Texto estático Subarchivo<br />

Atributos de evento<br />

%EventName %Part %Window<br />

Este evento se produce cuando el puntero del ratón se sitúa sobre un componente.<br />

Puede utilizar este evento para crear un área de información para informar al<br />

usuario sobre la función del componente.<br />

Se aplica a los componentes<br />

Calendario Lienzo Recuadro de selección Recuadro de<br />

combinación<br />

Contenedor Campo de entrada Gráfica Pulsador gráfico<br />

Imagen Recuadro de lista Panel de medios Subarchivo de<br />

mensajes<br />

Edición de múltiples<br />

líneas<br />

Pulsador Botón de selección Graduador<br />

Selector cíclico Texto estático Subarchivo<br />

Atributos de evento<br />

%EventName %MouseX %MouseY %Part<br />

%Window.<br />

Ejemplo<br />

Crear un área de información cambiando el atributo Label de un<br />

componente texto estático cuando el puntero del ratón se sitúa en un<br />

componente:<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+.<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq<br />

*<br />

C PB1 BEGACT MOUSEMOVE<br />

*<br />

Capítulo 3. Eventos de componentes 475


MouseUp<br />

Moved<br />

MthChange<br />

NextRec<br />

C ST1 SETATR 'Ends program'LABEL<br />

*<br />

C ENDACT<br />

*<br />

Este evento se produce al soltar un botón del ratón.<br />

Se aplica a los componentes<br />

Calendario Lienzo Contenedor Campo de entrada<br />

Gráfica Edición de múltiples<br />

líneas<br />

Texto estático<br />

Atributos de evento<br />

%Button %EventName %MouseX %MouseY<br />

%Part %Window<br />

Este evento se produce siempre que el usuario mueve una ventana.<br />

Se aplica a los componentes<br />

Ventana<br />

Atributos de evento<br />

%EventName %Part %Window<br />

Este evento se produce al seleccionar otro mes pulsando con el ratón en una de las<br />

flechas de mes.<br />

Se aplica a los componentes<br />

Calendario<br />

Atributos de evento<br />

%EventName %Part %Window<br />

Este evento se produce cuando se selecciona el botón de ″siguiente registro″ de la<br />

barra de navegación.<br />

Se aplica a los componentes<br />

Subarchivo<br />

476 <strong>VisualAge</strong> <strong>RPG</strong> Manual de consulta de componentes


Notify<br />

OCXEvent<br />

PageDown<br />

Atributos de evento<br />

%EventName %Part %Window<br />

En el cuaderno de propiedades del componente referencia a componente lógico,<br />

puede especificar un evento asociado con un componente determinado en una<br />

ventana especificada. Cuando se produce un evento, cuyo nombre coincide con el<br />

valor del atributo NotSrcEvt, en el componente especificado de la ventana<br />

especificada, se direcciona un evento Notify al componente referencia a<br />

componente lógico.<br />

Para que se señale un evento Notify, debe existir una subrutina de acción para el<br />

evento supervisado. No es necesario que la subrutina contenga código alguno. Si<br />

no hay ninguna subrutina de acción, el evento Notify no se producirá.<br />

Se aplica a los componentes<br />

Referencia a<br />

componente lógico<br />

Atributos de evento<br />

%EventName %Part %SrcCompName %SrcEvtName<br />

%SrcPartName %SrcWinName Ventana<br />

* Restricción: Este evento no está soportado en las aplicaciones Java.<br />

Este evento se produce siempre que se produce un evento de control de ActiveX.<br />

Se aplica a los componentes<br />

ActiveX<br />

Atributos de evento<br />

%EventName %Part %RealName %Window<br />

Este evento se produce cuando se pulsa la tecla Av Pág o cuando se pulsa con<br />

ratón en el área vacía hacia la parte inferior de la barra de desplazamiento vertical<br />

o si selecciona la barra de navegación del botón Av Pág.<br />

Se aplica a los componentes<br />

Subarchivo<br />

Atributos de evento<br />

%EventName %Part %Window<br />

Capítulo 3. Eventos de componentes 477


PageEnd<br />

PageSelect<br />

PageTop<br />

PageUp<br />

Este evento se produce cuando se pulsa la tecla Av Pág o la tecla Flecha abajo,<br />

cuando se pulsa con el ratón en el área vacía de la parte inferior de la barra de<br />

desplazamiento vertical o cuando se arrastra el graduador por la barra de<br />

desplazamiento hasta el final de la lista de subarchivos cuando se visualiza el<br />

último registro de un subarchivo. En este caso, no se envía el evento PageDown,<br />

ya que ya se ha llegado al final de la lista. En su lugar, se envía un evento<br />

PageEnd.<br />

Se aplica a los componentes<br />

Subarchivo<br />

Atributos de evento<br />

%EventName %Part %Window<br />

Este evento se produce cuando el usuario selecciona una página de cuaderno en<br />

una sección nueva del cuaderno mediante la pestaña correspondiente.<br />

El atributo de evento %Page devolverá el número de la página seleccionada.<br />

Se aplica a los componentes<br />

Página de cuaderno<br />

Atributos de evento<br />

%EventName %Page %Part %Window<br />

Este evento se produce cuando se pulsa la tecla Re Pág o la tecla Flecha arriba,<br />

cuando se pulsa con el ratón en el área vacía de la parte superior de la barra de<br />

desplazamiento vertical o cuando se arrastra el graduador por la barra de<br />

desplazamiento hasta el principio de la lista de subarchivos. En este caso, no se<br />

envía el evento PageUp.<br />

Se aplica a los componentes<br />

Subarchivo<br />

Atributos de evento<br />

%EventName %Part %Window<br />

Este evento se produce cuando se pulsa la tecla Re Pág, si el usuario pulsa el botón<br />

sobre el área vacía de la parte suyperior de la barra de desplazamiento vertical o<br />

bien si seleccione el botón de navegación Re Pág.<br />

478 <strong>VisualAge</strong> <strong>RPG</strong> Manual de consulta de componentes


PokeAck<br />

Popup<br />

Se aplica a los componentes<br />

Subarchivo<br />

Atributos de evento<br />

%EventName %Part %Window<br />

Este evento se produce cuando la aplicación servidor, en una conversación DDE,<br />

ha procesado un mandato Poke. El atributo de evento %Complete indica si el<br />

mandato poke se ha realizado satisfactoriamente.<br />

Se aplica a los componentes<br />

Cliente DDE<br />

Atributos de evento<br />

%Complete %Data %EventName %Item<br />

%Part %Window<br />

Ejemplo<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+.<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq<br />

*<br />

C<br />

*<br />

DDE1 BEGACT POKEACK<br />

C %COMPLETE IFNE *ZERO<br />

C<br />

*<br />

'Poke failed' DSPLY style X<br />

C<br />

*<br />

ENDIF<br />

C<br />

*<br />

ENDACT<br />

Este evento se produce cuando el puntero del ratón se sitúa sobre un componente<br />

y se pulsa el botón derecho del ratón.<br />

Se aplica a los componentes<br />

Lienzo Recuadro de selección Recuadro de<br />

combinación<br />

Contenedor<br />

Campo de entrada Pulsador gráfico Recuadro de lista Panel de medios<br />

Subarchivo de Edición de múltiples Pulsador Botón de selección<br />

mensajes<br />

líneas<br />

Graduador Selector cíclico Texto estático Subarchivo<br />

Atributos de evento<br />

%ColNumber %EventName %Index %MouseX<br />

%MouseY %Part %Window<br />

Capítulo 3. Eventos de componentes 479


Press<br />

PrevRec<br />

RClickTray<br />

ReSize<br />

Este evento se produce cuando el usuario pulsa el botón del ratón en el<br />

componente o cuando pulsa la tecla Intro cuando el componente tiene el foco de<br />

entrada.<br />

Se aplica a los componentes<br />

Pulsador gráfico Panel de medios Pulsador<br />

Atributos de evento<br />

%EventName %Part %Window<br />

Este evento se produce cuando se selecciona el botón de ″registro anterior″ de la<br />

barra de navegación.<br />

Se aplica a los componentes<br />

Subarchivo<br />

Atributos de evento<br />

%EventName %Part %Window<br />

Este evento se produce cuando un usuario pulsa el icono de bandeja del sistema<br />

de la aplicación con el botón derecho del ratón. La aplicación debe estar registrada<br />

como aplicación de bandeja del sistema mediante la API Shell_NotifyIconA de<br />

Windows.<br />

Se aplica a los componentes<br />

Ventana Ventana con lienzo<br />

Atributos de evento<br />

%EventName %Part %Window<br />

Este evento se produce cuando se ha cambiado el tamaño del componente. Por<br />

ejemplo, puede producirse si el usuario cambia el tamaño de una ventana<br />

utilizando el borde para ajustar el tamaño, o si cambia el tamaño del componente<br />

estableciendo el atributo Height o Width.<br />

Puede utilizar este evento para reubicar o mover componentes de una ventana<br />

cuando el usuario cambie el tamaño de la ventana.<br />

Durante el evento ReSize, los atributos Height y Width contienen el tamaño actual<br />

de la ventana, mientras que los atributos de evento %NewHeight y %NewWidth<br />

contienen el tamaño de la ventana una vez completado el evento ReSize.<br />

480 <strong>VisualAge</strong> <strong>RPG</strong> Manual de consulta de componentes


Scroll<br />

Select<br />

ShutDown<br />

Se aplica a los componentes<br />

Ventana<br />

Atributos de evento<br />

%EventName %NewHeight %NewMode* %NewWidth<br />

%Part %Window<br />

*Nota: Consulte la descripción del atributo si desea saber cuáles son las<br />

restricciones.<br />

Este evento se produce al pulsar la flecha de desplazamiento de un componente<br />

barra de desplazamiento horizontal o vertical. El atributo de evento %Position<br />

contiene la posición del recuadro de desplazamiento cuando el usuario deja de<br />

desplazarse.<br />

Se aplica a los componentes<br />

Barra de<br />

desplazamiento<br />

horizontal<br />

Atributos de evento<br />

Barra de<br />

desplazamiento<br />

vertical<br />

%EventName %Part %Position %Window<br />

Este evento se produce cuando el usuario selecciona un componente pulsando<br />

sobre el mismo con el ratón o utilizando las teclas de flechas. En un recuadro de<br />

combinación, contenedor, recuadro de lista, subarchivo de mensajes y subarchivo,<br />

este evento se produce cuando se selecciona un elemento de la lista.<br />

Se aplica a los componentes<br />

Recuadro de selección Recuadro de<br />

combinación<br />

Contenedor Recuadro de lista<br />

Subarchivo de<br />

mensajes<br />

Botón de selección Subarchivo<br />

Atributos de evento<br />

%ColNumber %EventName %Index %Part<br />

%Window<br />

Este evento se produce cuando el constructor GUI finaliza y se ha especificado el<br />

handle de ventana en el mandato de conector NotifyOnClose. Este evento se puede<br />

utilizar para supervisar todos los conectores que se ejecutan desde el constructor<br />

GUI y además cerrarlos.<br />

Capítulo 3. Eventos de componentes 481


SpinDown<br />

SpinEnd<br />

SpinUp<br />

Terminate<br />

Se aplica a los componentes<br />

Ventana<br />

Atributos de evento<br />

%EventName %Part %Window<br />

Este evento se produce cuando el usuario selecciona el botón de flecha abajo de un<br />

componente selector cíclico.<br />

Se aplica a los componentes<br />

Selector cíclico<br />

Atributos de evento<br />

%EventName %Part %Window<br />

Este evento se produce cuando el usuario suelta el botón de flecha arriba o de<br />

flecha abajo de un componente selector cíclico.<br />

Se aplica a los componentes<br />

Selector cíclico<br />

Atributos de evento<br />

%EventName %Part %Window<br />

Este evento se produce cuando el usuario selecciona el botón de flecha arriba de<br />

un componente selector cíclico.<br />

Se aplica a los componentes<br />

Selector cíclico<br />

Atributos de evento<br />

%EventName %Part %Window<br />

Este evento se produce cuando el servidor, en una conversación DDE, ha solicitado<br />

que termine la conversación, o cuando el componente cliente DDE tiene su atributo<br />

DDEMode establecido en Terminate.<br />

482 <strong>VisualAge</strong> <strong>RPG</strong> Manual de consulta de componentes


Tick<br />

Timeout<br />

Se aplica a los componentes<br />

Cliente DDE<br />

Atributos de evento<br />

%EventName %Part %Window<br />

Ejemplo<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+.<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq<br />

*<br />

C PB1 BEGACT TERMINATE<br />

*<br />

C 'Terminating' DSPLY STYLE X<br />

*<br />

C ENDACT<br />

*<br />

Este evento se produce cada vez que transcurre el valor de intervalo del<br />

temporizador. El atributo Multiplier también determina cuándo se generará el<br />

evento Tick.<br />

Se aplica a los componentes<br />

Temporizador<br />

Atributos de evento<br />

%EventName %Part %Window<br />

Ejemplo<br />

Actualizar un componente texto estático con el valor de impulso actual de<br />

un componente temporizador:<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+.<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq<br />

*<br />

C<br />

*<br />

TIMER1 BEGACT TICK<br />

C 'TIMER1' GETATR TIMERTICKS timerticks 6 0<br />

C<br />

*<br />

ST1 SETATR timerticks 'LABEL'<br />

C<br />

*<br />

ENDACT<br />

Este evento se produce cuando no se ha establecido la conversación DDE en el<br />

tiempo definido por el atributo TimeOut.<br />

Se aplica a los componentes<br />

Cliente DDE<br />

Atributos de evento<br />

%EventName %Part %Window<br />

Ejemplo<br />

Capítulo 3. Eventos de componentes 483


VKeyPress<br />

YearChange<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+.<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq<br />

*<br />

C DDE1 BEGACT TIMEOUT<br />

*<br />

C 'DDE Failed!' DSPLY STYLE X<br />

C ENDACT<br />

*<br />

Este evento se produce cuando se pulsa una tecla de mandato. Como ejemplos de<br />

teclas de mandato se pueden citar AvPág, Pausa y Control. Para obtener una<br />

descripción del valor devuelto, consulte el atributo de evento %Character.<br />

Se aplica a los componentes<br />

Recuadro de<br />

combinación<br />

Edición de múltiples<br />

líneas<br />

Atributos de evento<br />

Contenedor Campo de entrada Recuadro de lista<br />

Subarchivo<br />

%Alt %Character %Control %EventName<br />

%Part %Shift %Window<br />

Ejemplo<br />

Borrar un campo de entrada si se pulsa F5 cuando el campo tiene el foco<br />

de entrada:<br />

*...1....+....2....+....3....+....4....+....5....+....6....+....7....+.<br />

CSRN01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq<br />

*<br />

C<br />

*<br />

EF1 BEGACT VKEYPRESS<br />

C %character IFEQ '29'<br />

C 'EF1' SETATR *BLANKS 'TEXT'<br />

C<br />

*<br />

ENDIF<br />

C<br />

*<br />

ENDACT<br />

Este evento se produce al seleccionar otro año pulsando con el ratón en una de las<br />

flechas de año o en una flecha de mes de modo que se cambie el año.<br />

Se aplica a los componentes<br />

Calendario<br />

Atributos de evento<br />

%EventName %Part %Window<br />

484 <strong>VisualAge</strong> <strong>RPG</strong> Manual de consulta de componentes


|<br />

Capítulo 4. Atributos de eventos<br />

Los atributos de evento contienen datos relevantes para el evento que se está<br />

manejando. La aplicación del usuario no puede modificarlos. Deben estar definidos<br />

en la especificación de Definición con el tipo y la longitud correctos. La tabla<br />

siguiente lista los atributos de evento con sus tipos de datos y longitudes<br />

correspondientes:<br />

Atributo de evento Tipo de datos Longitud<br />

%Alt Numérico 1<br />

%Button Numérico 1<br />

%Character Serie 1¹<br />

%ColNumber Numérico *<br />

%Complete Numérico 1<br />

%Control Numérico 1<br />

%Data Serie *<br />

%EventName Serie 10<br />

%Index Numérico *<br />

%Item Serie *<br />

%MouseX Numérico 4<br />

%MouseY Numérico 4<br />

%NewHeight Numérico 4<br />

%NewMode Numérico 1<br />

%NewWidth Numérico 4<br />

%Page Numérico 3<br />

%Part Serie 10<br />

%Position Numérico 4<br />

%RealName Serie 10<br />

%Shift Numérico 1<br />

%SrcCompName Serie 10<br />

%SrcEvtName Serie 10<br />

%SrcPartName Serie 10<br />

%SrcWinName Serie 10<br />

%Window Serie 10<br />

* Defina la longitud como sea necesario.<br />

¹Para VKeyPress, la longitud es 2.<br />

Ejemplo:<br />

DName+++++++++++ETDsFrom+++To/L+++IDc.Keywords++++++++++++++++++++++++++++<br />

*<br />

* Declarar el atributo de evento %Button<br />

© Copyright <strong>IBM</strong> Corp. 1994, 2000 485


%Alt<br />

%Button<br />

%Character<br />

D %Button S 1P 0<br />

*<br />

* Declarar el atributo de evento %Data<br />

D %Data S 32A<br />

Este capítulo describe los atributos de evento. Cada una de las descripciones<br />

contiene lo siguiente:<br />

v El tipo de datos del atributo de evento<br />

v Una descripción general del atributo de evento<br />

v Una lista de los eventos a los que se aplica el atributo<br />

Indica si la tecla Alt estaba pulsada cuando se ha producido el evento:<br />

0 La tecla Alt no se ha pulsado<br />

1 Se ha pulsado la tecla Alt<br />

Tipo Numérico<br />

Eventos a los que puede aplicarse<br />

KeyPress VKeyPress<br />

Indica qué botón del ratón estaba pulsado durante el evento:<br />

1 Botón 1<br />

2 Botón 2<br />

3 Botón 3<br />

4 Botones 1y2<br />

Tipo Numérico<br />

Eventos a los que puede aplicarse<br />

Click DblClick MouseDown MouseUp<br />

Código de carácter generado por el evento.<br />

Durante el evento VKeyPress, el atributo de evento %Character se devolverá como<br />

un valor que representa la tecla no de carácter que se ha pulsado. Los valores son<br />

los siguientes:<br />

00 – Esc 13 – Fin 25 – Inter 37 – F14<br />

01 – Tabulador →| 14 – Retroceso de<br />

página<br />

26–F2 38–F15<br />

02 – Tabulador |← 15 – Avance de<br />

página<br />

27–F3 39–F16<br />

03 – Espacio 16 – ← (Izquierda) 28 – F4 40 – F17<br />

04 – ←Retroceso 17 – → (Derecha) 29 – F5 41 – F18<br />

05 – Intro (teclado<br />

numérico)<br />

18 – ↑ (Arriba) 30 – F6 42 – F19<br />

486 <strong>VisualAge</strong> <strong>RPG</strong> Manual de consulta de componentes


%ColNumber<br />

%Complete<br />

%Control<br />

06 – Intro 19 – ↓ (Abajo) 31 – F7 43 – F20<br />

07 – Mayús 20 – Bloqueo<br />

Mayúsculas<br />

32–F8 44–F21<br />

08 – Control 21 – Bloqueo<br />

Numérico<br />

33–F9 45–F22<br />

09 – Alt 22 – Bloqueo Mayús 34 – F11 46 – F23<br />

10 – Insertar 23 – Pausa 35 – F12 47 – F24<br />

11 – Suprimir<br />

12 – Inicio<br />

24 – PetSis 36 – F13 56 – Alt<br />

Tipo Serie<br />

Eventos a los que puede aplicarse<br />

Keypress VKeyPress<br />

Devuelve el número de columna para un componente subarchivo o contenedor.<br />

Tipo Numérico<br />

Eventos a los que puede aplicarse<br />

Change ColSelect Popup Select<br />

Indica si la operación anterior se ha realizado de manera satisfactoria o no:<br />

0 Operación no satisfactoria<br />

1 Operación satisfactoria.<br />

Tipo Numérico<br />

Eventos a los que puede aplicarse<br />

Complete ExecuteAck PokeAck<br />

Indica si la tecla Control estaba pulsada cuando se ha producido el evento:<br />

0 La tecla Control no se ha pulsado.<br />

1 La tecla Control se ha pulsado.<br />

Tipo Numérico<br />

Eventos a los que puede aplicarse<br />

KeyPress VKeyPress<br />

Capítulo 4. Atributos de eventos 487


%Data<br />

%EventName<br />

%Index<br />

%Item<br />

%MouseX<br />

Contiene los datos enviados por una aplicación de servidor como respuesta a un<br />

mandato Request. El contenido y la estructura de estos datos los determina la<br />

aplicación servidor.<br />

Este atributo de evento también está disponible con el evento PokeAck. Contendrá<br />

los datos originales con los que se ha efectuado la operación Poke.<br />

Tipo Serie<br />

Eventos a los que puede aplicarse<br />

Data Drop ExecuteAck PokeAck<br />

Devuelve el nombre del evento.<br />

Tipo Serie<br />

Eventos a los que puede aplicarse<br />

A todos<br />

Devuelve el número de índice del registro en el que está situado el puntero del<br />

ratón cuando se produce un evento Popup o Select. No es preciso que el registro<br />

tenga el foco.<br />

Tipo Numérico<br />

Eventos a los que puede aplicarse<br />

Change Popup Select<br />

Contiene el nombre del elemento que participa actualmente en una conversación<br />

DDE.<br />

Tipo Serie<br />

Eventos a los que puede aplicarse<br />

Data PokeAck<br />

La coordenada X de la ubicación actual del puntero del ratón en el componente<br />

cuando se ha producido el evento. Se expresa en pixels. Es un valor comprendido<br />

entre cero y la anchura del componente. El valor cero representa el borde izquierdo<br />

del componente.<br />

Nota: En el caso del evento MouseMove, esta coordenada es relativa al escritorio.<br />

Tipo Numérico<br />

488 <strong>VisualAge</strong> <strong>RPG</strong> Manual de consulta de componentes


%MouseY<br />

%NewHeight<br />

%NewMode<br />

%NewWidth<br />

Eventos a los que puede aplicarse<br />

Click DblClick MouseDown MouseMove<br />

MouseUp Popup<br />

La coordenada Y de la ubicación actual del puntero del ratón en el componente<br />

cuando se ha producido el evento. Se expresa en pixels. Es un valor comprendido<br />

entre cero y la altura del componente. El valor cero representa el borde inferior del<br />

componente.<br />

Nota: En el caso del evento MouseMove, esta coordenada es relativa al escritorio.<br />

Tipo Numérico<br />

Eventos a los que puede aplicarse<br />

Click DblClick MouseDown MouseMove<br />

MouseUp Popup<br />

Es la altura del componente después de cambiar el tamaño del mismo.<br />

Nota: El atributo Height del componente no cambia hasta que la subrutina de<br />

acción correspondiente al evento ReSize ha terminado.<br />

Tipo Numérico<br />

Eventos a los que puede aplicarse<br />

ReSize<br />

* Restricción: Este atributo no está soportado en las aplicaciones Java.<br />

Indica en qué modalidad se establecerá la ventana:<br />

1 Maximizada<br />

2 Minimizada<br />

3 Restaurada<br />

Tipo Numérico<br />

Eventos a los que puede aplicarse<br />

ReSize<br />

Es la anchura del componente después de cambiar el tamaño del mismo.<br />

Capítulo 4. Atributos de eventos 489


%Page<br />

%Part<br />

%Position<br />

%RealName<br />

%Shift<br />

Nota: El atributo Width del componente no cambia hasta que la subrutina de<br />

acción correspondiente al evento ReSize ha terminado.<br />

Tipo Numérico<br />

Eventos a los que puede aplicarse<br />

ReSize<br />

Devuelve el número de página de la página seleccionada cuando se produce el<br />

evento PageSelect.<br />

Tipo Numérico<br />

Eventos a los que puede aplicarse<br />

PageSelect<br />

Contiene el nombre del componente que genera el evento.<br />

Tipo Serie<br />

Eventos a los que puede aplicarse<br />

A todos<br />

Devuelve la posición actual del recuadro de desplazamiento cuando el usuario deja<br />

de desplazarse.<br />

Tipo Numérico<br />

Eventos a los que puede aplicarse<br />

Scroll<br />

Devuelve el nombre real del evento de ActiveX que se produce.<br />

Tipo Serie<br />

Eventos a los que puede aplicarse<br />

OCXEvent<br />

Indica si se ha pulsado la tecla Mayús cuando se ha producido el evento:<br />

0 La tecla Mayús no se ha pulsado<br />

1 Se ha pulsado la tecla Mayús<br />

490 <strong>VisualAge</strong> <strong>RPG</strong> Manual de consulta de componentes


|<br />

|<br />

|<br />

|<br />

|<br />

|<br />

|<br />

|<br />

|<br />

|<br />

|<br />

|<br />

|<br />

%SrcCompName<br />

%SrcEvtName<br />

%SrcPartName<br />

%SrcWinName<br />

Tipo Numérico<br />

Eventos a los que puede aplicarse<br />

KeyPress VKeyPress<br />

Cuando se envía un evento Notify al componente referencia a componente lógico,<br />

este atributo de evento devuelve el nombre del componente lógico del evento de<br />

notificación. Si se utiliza un componente referencia a componente lógico para<br />

supervisar varios eventos, este atributo de evento puede determinar el origen<br />

exacto del evento que desencadena el evento Notify utilizando el atributo<br />

%SrcCompName en combinación con los atributos %SrcWinName, %SrcPartName<br />

y %SrcEvtName.<br />

Tipo Serie<br />

Eventos a los que puede aplicarse<br />

Notify<br />

Cuando se envía un evento Notify al componente referencia a componente lógico,<br />

este atributo de evento devuelve el nombre del evento que se estableció en el<br />

atributo NotSrcEvt, junto con un componente y una ventana determinados, para<br />

desencadenar un evento Notify al componente referencia a componente lógico.<br />

Tipo Serie<br />

Eventos a los que puede aplicarse<br />

Notify<br />

Cuando se envía un evento Notify al componente referencia a componente lógico,<br />

este atributo de evento devuelve el nombre del componente que se estableció en el<br />

atributo NotSrcPart, junto con un componente y una ventana determinados, para<br />

desencadenar un evento Notify al componente referencia a componente lógico.<br />

Tipo Serie<br />

Eventos a los que puede aplicarse<br />

Notify<br />

Cuando se envía un evento Notify al componente referencia a componente lógico,<br />

este atributo de evento devuelve el nombre de la ventana que se estableció en el<br />

atributo NotSrcWin, junto con un componente y un evento determinados, para<br />

desencadenar un evento Notify al componente referencia a componente lógico.<br />

Tipo Serie<br />

Capítulo 4. Atributos de eventos 491


%Window<br />

Eventos a los que puede aplicarse<br />

Notify<br />

Indica el nombre de la ventana que contiene el componente que ha generado el<br />

evento.<br />

Tipo Serie<br />

Eventos a los que puede aplicarse<br />

A todos<br />

492 <strong>VisualAge</strong> <strong>RPG</strong> Manual de consulta de componentes


Glosario<br />

A<br />

Este glosario incluye términos y definiciones de:<br />

v El American National Dictionary for Information Systems ANSI X3.172-1990,<br />

copyright 1990 del American National Standards Institute (ANSI). Si desea<br />

adquirir una copia de esta publicación debe dirigirse al American National<br />

Standards Institute, 1430 Broadway, New York, New York, 10018. Las<br />

definiciones se especifican mediante el símbolo (A) después de las mismas.<br />

v El Information Technology Vocabulary desarrollado por el Subcomité 1, Comité<br />

Técnico Conjunto 1, de International Organization for Standardization y el<br />

International Electrotechnical Committee (ISO/IEC JTC1/SC1). Las definiciones<br />

de las partes publicadas de este vocabulario se identifican mediante el símbolo<br />

(|) después de las mismas; las definiciones tomadas de borradores de estándares<br />

internacionales, borradores del comité y documentos de trabajo desarrollados<br />

por ISO/IEC JTC1/SC1 se identifican mediante el símbolo (T) después de las<br />

mismas, lo cual indica que aún no se ha alcanzado un acuerdo definitivo entre<br />

los Organismos Nacionales integrantes del SC1.<br />

v <strong>IBM</strong> Dictionary of Computing, New York: McGraw-Hill, 1994.<br />

v Object-Oriented Interface Design <strong>IBM</strong> Common User Interface Guidelines,<br />

SC34-4399-00, Carmel, IN: Que Corporation, 1992.<br />

acción. (1) Sinónimo de subrutina de acción. (2) Programa ejecutable o archivo de mandatos utilizado para manipular<br />

los componentes de un proyecto o participar en una construcción.<br />

acción por omisión. Acción que se efectúa cuando se realiza otra como, por ejemplo, pulsar la tecla Intro.<br />

alias de servidor. Nombre que el usuario define y que puede utilizarse en lugar del nombre del servidor.<br />

ancla. Cualquier componente que se utiliza como punto de referencia para alinear, dimensionar y espaciar otros<br />

componentes.<br />

anotaciones de error. Realiza un seguimiento de los errores en las anotaciones de error. El editor le lleva al lugar<br />

del código fuente en el que se ha producido el error.<br />

API. Interfaz de programación de aplicaciones.<br />

aplicación. Un grupo de componentes de software utilizados para efectuar tareas de usuario específicas en un<br />

sistema.<br />

applet. Programa escrito en Java que se ejecuta dentro de un navegador compatible con Java o AppletViewer.<br />

archivo. Grupo de datos relacionados que se almacenan y se recuperan mediante un nombre asignado. Un archivo<br />

puede incluir información que inicia un programa (objeto de archivo de programa), contiene texto o gráficos (objeto<br />

de archivo de datos) o procesa una serie de mandatos (archivo por lotes).<br />

archivo de mensajes. Archivo que contiene mensajes de aplicación. Este archivo se crea a partir del archivo fuente<br />

de mensajes durante el proceso de construcción. Véase también construir.<br />

archivo de ondas. Archivo utilizado para sonidos audio en un dispositivo de forma de onda.<br />

archivo de Recurso de Presentación de Información (IPF). Archivo en el que se almacena el fuente de la ayuda de<br />

la aplicación.<br />

archivo MIDI. Archivo de la Interfaz Digital de Instrumentos Musicales.<br />

© Copyright <strong>IBM</strong> Corp. 1994, 2000 493


archivos JAR (.jar). En Java, abreviatura de Java ARchive. Es un formato de archivo que se utiliza para agregar<br />

varios archivos en uno.<br />

área común. Área de almacenamiento proporcionada por el sistema para retener datos temporalmente. Los datos del<br />

área común están disponibles para otras aplicaciones.<br />

área de cliente. La parte de la ventana que es el espacio de trabajo del usuario donde éste teclea información y<br />

selecciona opciones de campos de selección. En ventanas primarias, el área en la que un programador de aplicaciones<br />

presenta los objetos con los que trabaja el usuario.<br />

área de información. Componente de una ventana en el que se visualiza información sobre el objeto o la opción en<br />

los que se encuentra el cursor. El área de información también puede incluir un mensaje sobre la conclusión normal<br />

de un proceso. Véase también barra de estado.<br />

área de trabajo. Área utilizada para organizar objetos de acuerdo a las tareas del usuario. Cuando un usuario cierra<br />

un área de trabajo, todas las ventanas abiertas a partir de objetos contenidos en el área de trabajo se eliminan del<br />

lugar de trabajo.<br />

Arquitectura Common User Access (arquitectura CUA). Directrices para el diálogo entre una persona y una<br />

estación de trabajo o un terminal.<br />

arquitectura CUA. Arquitectura de Acceso Común de Usuario.<br />

arrastrar. Mover o copiar un objeto utilizando el ratón. Por ejemplo, un usuario puede arrastrar el borde de una<br />

ventana para hacerla más grande pulsando un botón del ratón y manteniéndolo pulsado mientras mueve el ratón.<br />

Véase también arrastrar y soltar.<br />

arrastrar y soltar. Manipular directamente un objeto moviéndolo y colocándolo en cualquier lugar utilizando el<br />

ratón.<br />

ASCII (American National Standard Code for Information Interchange). Código estándar, que se compone de un<br />

juego de caracteres codificados de 7 bits (8 bits incluyendo comprobación de paridad), que se utiliza para el<br />

intercambio de información entre sistemas de proceso de datos, sistemas de comunicación de datos y equipo<br />

asociado. El juego de caracteres ASCII se compone de caracteres de control y caracteres gráficos. (A)<br />

atenuado. Atenuación del contraste visual de un componente que indica que el usuario no puede seleccionar ni<br />

manipular directamente ese componente.<br />

B<br />

barra de desplazamiento. Componente que muestra a un usuario que hay más información disponible en una<br />

dirección determinada y que puede moverse para visualizar dicha información utilizando el ratón o las teclas de<br />

página.<br />

barra de estado. Componente de una ventana que visualiza información que indica el estado de la vista o del objeto<br />

actuales. Véase también área de información.<br />

barra de herramientas. Menú que contiene una o más opciones gráficas que representan las acciones que un usuario<br />

puede efectuar utilizando el ratón.<br />

barra de títulos. Área en la parte superior de cada ventana que contiene el símbolo del menú del sistema.<br />

base de datos. (1) Grupo de datos con una estructura determinada para aceptar, almacenar y proporcionar, previa<br />

petición, datos para varios usuarios. (T) (2) Todos los archivos de datos almacenados en el sistema.<br />

Biblioteca de enlace dinámico (DLL). Archivo que contiene código ejecutable y datos enlazados de manera lógica a<br />

un programa durante el tiempo de carga o el de ejecución, en lugar de durante el enlace. Varias aplicaciones pueden<br />

compartir a la vez el código y los datos de una biblioteca de enlace dinámico.<br />

BMP. Extensión de archivo de un archivo bitmap.<br />

borde de dimensionamiento. Borde de un marco alrededor de un componente (o conjunto de componentes) que se<br />

selecciona para cambiar el tamaño del componente (o del conjunto de componentes) utilizando el ratón o el teclado.<br />

494 <strong>VisualAge</strong> <strong>RPG</strong> Manual de consulta de componentes


orde de selección. Borde visual que aparece alrededor de un componente de VA<strong>RPG</strong> o de un componente creado<br />

por el usuario, que permite moverlo con el ratón o el teclado.<br />

botón. (1) Mecanismo en un dispositivo de puntero, como un ratón, utilizado para solicitar o iniciar una acción. (2)<br />

Mecanismo gráfico en una ventana que, cuando se selecciona, produce una acción. Por ejemplo, el pulsador Bien que,<br />

al seleccionarse, inicia una acción.<br />

botón 2 del ratón. Por omisión, el botón derecho del ratón; se utiliza para manipular.<br />

botón 1 del ratón. Por omisión, el botón izquierdo del ratón; se utiliza para seleccionar.<br />

botón de manipulación. Véase botón 2 del ratón.<br />

botón de maximizar. Botón en la parte más a la derecha de una barra de título sobre el que un usuario pulsa el<br />

botón del ratón para aumentar el tamaño de la ventana lo máximo posible. Compárese con botón de minimizar y botón<br />

de ocultar.<br />

botón de minimizar. Botón, ubicado junto al botón que está más a la derecha en una barra de título, que reduce el<br />

tamaño de la ventana lo máximo posible. Compárese con botón de maximizar y botón de ocultar.<br />

botón de ocultar. Botón en una barra de título sobre el que un usuario pulsa el botón del ratón para suprimir una<br />

ventana del lugar de trabajo sin cerrarla. Cuando la ventana está oculta, el estado de la misma, indicado en la lista de<br />

ventanas, cambia. Compárese con botón de maximizar y botón de minimizar.<br />

botón de ratón. Mecanismo en un ratón para seleccionar opciones, iniciar acciones o manipular objetos con el<br />

puntero. Véase también botón 1 del ratón y botón 2 del ratón.<br />

botón de restaurar. Botón que aparece en la esquina más a la derecha de la barra de título después de haber<br />

maximizado una ventana. Cuando se selecciona el botón de restaurar, la ventana vuelve a tener el tamaño y la<br />

posición que tenía antes de que se maximizara. Véase también botón de maximizar.<br />

botón de selección. Véase botón 1 del ratón.<br />

C<br />

campo. (1) Área identificable en una ventana, como un campo de entrada, en la que un usuario escribe texto. (2)<br />

Grupo de bytes relacionados, como un nombre o una cantidad, que se trata como una unidad en un registro.<br />

campo de referencia. Campo de la base de datos de AS/400 cuyas características un componente campo de entrada<br />

puede heredar.<br />

campo de subarchivo. Campo utilizado para definir campos en un componente subarchivo. Véase también campo<br />

subarchivo.<br />

Capa de Sockets Segura (SSL). Esquema de seguridad de gran aceptación desarrollado por Netscape<br />

Communications Corp. y RSA Data Security, Inc. SSL permite al cliente autenticarse en el servidor y cifrar todos los<br />

datos y peticiones. El URL de un servidor seguro protegido mediante SSL empieza por https en lugar de http.<br />

carpeta destino. Objeto en el que se coloca el icono que representa una aplicación VA<strong>RPG</strong>.<br />

catálogo de componentes. Espacio de almacenamiento para todos los componentes utilizados para crear interfaces<br />

gráficas de usuario para aplicaciones VA<strong>RPG</strong>.<br />

cliente. (1) Sistema que depende de un servidor para obtener datos. (2) La PWS donde se ejecutan las aplicaciones<br />

VA<strong>RPG</strong>. Véase también cliente DDE.<br />

cliente DDE. Aplicación que inicia una conversación DDE. Compárese con servidor DDE. Véase también componente<br />

cliente DDE y conversación DDE.<br />

cliente/servidor. Modelo de interacción en el proceso de datos distribuidos en el que un programa en una ubicación<br />

envía una petición a un programa en otra ubicación y espera una respuesta. El programa que efectúa la petición<br />

recibe el nombre de cliente; y el programa que responde, servidor. Véase también cliente, servidor, cliente DDE, servidor<br />

DDE.<br />

Glosario 495


compilar. Convertir un programa fuente en un programa ejecutable (programa objeto).<br />

complemento. Función creada por el usuario o un proveedor externo que se puede utilizar en los programas<br />

VA<strong>RPG</strong>.<br />

componente barra de desplazamiento horizontal. Componente que añade una barra de desplazamiento horizontal<br />

a una ventana. Este componente permite desplazarse por un panel de información de izquierda a derecha o<br />

viceversa.<br />

componente barra de desplazamiento vertical. Componente que añade una barra de desplazamiento vertical a una<br />

ventana. Este componente permite desplazarse por un panel de información verticalmente.<br />

componente barra de estado. Componente de una ventana que puede visualizar información adicional sobre un<br />

proceso o acción de la ventana.<br />

componente barra de menús. Área que está junto a la parte superior de la ventana, debajo de la barra de título y<br />

encima del resto de la ventana, que contiene opciones que proporcionan acceso a otros menús. En <strong>VisualAge</strong> <strong>RPG</strong>, se<br />

señala y pulsa un componente barra de menús de la paleta de componentes o del catálogo de componentes y se<br />

suelta en una ventana de diseño.<br />

componente barra de progreso. Componente que se puede utilizar para indicar el progreso de un proceso como,<br />

por ejemplo, copiar archivos, cargar una base de datos, etc. de forma gráfica.<br />

componente bean Java. Componente que permite a las aplicaciones VA<strong>RPG</strong> acceder a los JavaBean de Sun<br />

Microsystem.<br />

componente botón de selección. Círculo con texto al lado. Los botones de selección se combinan para mostrar a un<br />

usuario un conjunto fijo de opciones de entre las que sólo puede seleccionarse una. Cuando se selecciona una opción,<br />

el círculo se rellena parcialmente. Puede señalar y pulsar un componente botón de selección de la paleta de<br />

componentes o del catálogo de componentes y soltarlo en una ventana de diseño.<br />

componente calendario. Componente que añade un calendario que puede ser modificado por el usuario para incluir<br />

texto, color u otros atributos.<br />

componente campo de entrada. Área de una pantalla donde un usuario pueden entrar información, a menos que el<br />

campo sea de sólo lectura. Normalmente, los límites de un campo de entrada están indicados. En <strong>VisualAge</strong> <strong>RPG</strong>, se<br />

señala y pulsa un componente campo de entrada de la paleta de componentes o del catálogo de componentes y se<br />

suelta en una ventana de diseño.<br />

componente cliente DDE. Componente utilizado para intercambiar datos con otras aplicaciones como, por ejemplo,<br />

aplicaciones de hoja de cálculo, que soportan el protocolo de intercambio de datos dinámico (DDE).<br />

componente *component. Componente que es la “representación de componente” del componente lógico. Para cada<br />

componente lógico se crea un componente *component, que no se visualiza.<br />

componente contenedor. Componente que almacena registros relacionados y los visualiza en una vista de detalles,<br />

de icono o de árbol.<br />

componente control de animación. Componente que permite reproducir archivos de vídeo, con la extensión AVI, en<br />

Windows, o reproducir secuencias GIF de animación en aplicaciones Java.<br />

componente cuaderno. Representación gráfica de un cuaderno. Puede añadir páginas de cuaderno al componente<br />

cuaderno y agrupar las páginas en secciones separadas por hojas separadoras con pestañas. En Windows, a veces se<br />

hace referencia al cuaderno como el control de pestaña de Windows. Véase también componente página de cuaderno y<br />

componente página de cuaderno con lienzo.<br />

componente de activeX. Componente que añade objetos de control ActiveX al proyecto. Las aplicaciones VA<strong>RPG</strong><br />

pueden acceder así a los atributos y supervisar si hay eventos.<br />

componente definido por el usuario. Componente, que se compone de uno o más componentes que el usuario ha<br />

personalizado, que se guarda en la paleta de componentes o en el catálogo de componentes para volver a utilizarlo.<br />

Cuando está en la paleta o en el catálogo, este componente se puede señalar y pulsar en la ventana de diseño tal<br />

como se haría con otro componente de VA<strong>RPG</strong>.<br />

496 <strong>VisualAge</strong> <strong>RPG</strong> Manual de consulta de componentes


componente destino. Componente que, siempre que cambia el estado del componente fuente, recibe un evento link<br />

(de enlace) del componente fuente.<br />

componente de subarchivo. Componente utilizado para visualizar una lista de registros que constan de varios<br />

campos. Este componente es similar a un subarchivo de AS/400. Véase también campo de subarchivo.<br />

componente edición de múltiples líneas (MLE). Componente que representa un campo de entrada que permite al<br />

usuario entrar varias líneas de texto.<br />

componente elemento de menú. Componente que es un elemento gráfico o de texto en un menú. Cuando el<br />

usuario desea trabajar con un objeto, selecciona un elemento de menú.<br />

componente fuente. Componente que, siempre que cambia su estado, puede notificarlo a los componentes de<br />

destino. Un componente origen puede tener varios destinos.<br />

componente graduador. Componente visual de una interfaz de usuario que representa una cantidad y su relación<br />

con el rango de posibles valores para esa cantidad. El usuario también puede modificar el valor de la cantidad.<br />

Puede señalar y pulsar un componente graduador de la paleta de componentes o del catálogo de componentes y<br />

soltarlo en una ventana de diseño.<br />

componente gráfica. Componente que permite al usuario añadir un gráfico a la GUI. Los estilos de gráfico<br />

disponibles son el diagrama de líneas, de barras, de líneas y barras y circular.<br />

componente imagen. Componente utilizado para visualizar una imagen, de un archivo BMP o ICO, en una ventana.<br />

componente lienzo. Componente en el que puede señalar y pulsar otros componentes, colocarlos y organizarlos<br />

para producir una interfaz gráfica de usuario. El componente lienzo ocupa el área de cliente de un componente<br />

ventana o de un componente página de cuaderno. Véase también componente página de cuaderno con lienzo y<br />

componente ventana con lienzo.<br />

componente lógico. Agrupación funcional de archivos relacionados dentro de un proyecto. Un componente lógico<br />

se crea cuando las especificaciones de control no contienen palabras clave NOMAIN y EXE.<br />

componente lógico compartido. Componente lógico al que puede accederse a través de más de un proyecto.<br />

componente medios. Componente que proporciona a un programa la posibilidad de procesar archivos de sonido<br />

(.WAV) y archivos de vídeo (.MID).<br />

componente menú emergente. Componente que, cuando se añade a un objeto en la interfaz, aparece junto al objeto<br />

con el que está asociado cuando se solicita. Puede señalar y pulsar un componente menú emergente de la paleta de<br />

componentes o del catálogo de componentes y soltarlo en una ventana de diseño.<br />

componente odbc/jdbc. Componente que permite a las aplicaciones VAPRG acceder y procesar archivos de base de<br />

datos que den soporte a la API ODBC de Windows o la API JDBC de Sun Microsystem.<br />

componente página de cuaderno. Componente utilizado para añadir páginas a un componente cuaderno. Véase<br />

también cuaderno.<br />

componente página de cuaderno con lienzo. Combinación del componente cuaderno y del componente página con<br />

lienzo. Véase también cuaderno y componente lienzo.<br />

componente panel de medios. Componente utilizado para proporcionar al usuario control sobre otros componentes.<br />

Por ejemplo, un componente panel de medios puede utilizarse para controlar el volumen de un componente medios.<br />

componente pulsador. Botón etiquetado con texto que representa una acción que se inicia cuando un usuario<br />

selecciona el pulsador. Puede señalar y pulsar un componente pulsador de la paleta de componentes o del catálogo<br />

de componentes y soltarlo en una ventana de diseño. Véase también componente pulsador gráfico.<br />

componente pulsador gráfico. Pulsador, etiquetado con un gráfico, que representa una acción que se inicia cuando<br />

un usuario lo selecciona. Compárese con componente pulsador.<br />

componente recuadro de contorno. Componente que es un recuadro rectangular colocado alrededor de un grupo de<br />

componentes para indicar que todos los componentes están relacionados.<br />

Glosario 497


componente recuadro de grupo. Marco rectangular alrededor de un grupo de controles que indica que están<br />

relacionados y que proporciona una etiqueta opcional para el grupo. En <strong>VisualAge</strong> <strong>RPG</strong>, se señala y pulsa un<br />

componente recuadro de grupo de la paleta de componentes o del catálogo de componentes y se suelta en una<br />

ventana de diseño.<br />

componente recuadro de lista. Control que contiene opciones desplazables que un usuario puede seleccionar. En<br />

<strong>VisualAge</strong> <strong>RPG</strong>, se señala y pulsa un componente recuadro de lista de la paleta de componentes o del catálogo de<br />

componentes y se suelta en una ventana de diseño.<br />

componente recuadro de selección. Recuadro de selección con texto asociado que representa una opción. Cuando<br />

un usuario selecciona una opción, aparece un indicador en el recuadro de selección que indica que la opción está<br />

seleccionada. El usuario puede eliminar la marca del recuadro de selección volviendo a seleccionar la opción. En<br />

<strong>VisualAge</strong> <strong>RPG</strong>, se señala y pulsa un componente recuadro de selección de la paleta de componentes o del catálogo<br />

de componentes y se suelta en una ventana de diseño.<br />

componente referencia a componente lógico. Componente que permite que un componente lógico se comunique<br />

con otro en una aplicación VA<strong>RPG</strong>.<br />

componentes. Objetos que componen la GUI de una aplicación VA<strong>RPG</strong>.<br />

componente selector cíclico. Tipo de campo de entrada que muestra un anillo de opciones relacionadas, pero que se<br />

excluyen mutuamente, por el que un usuario puede desplazarse y seleccionar una opción. El usuario también puede<br />

teclear una opción válida en el campo de entrada. Puede señalar y pulsar un componente selector cíclico de la paleta<br />

de componentes o del catálogo de componentes y soltarlo en una ventana de diseño.<br />

componente subarchivo de mensajes. Componente que puede visualizar mensajes predefinidos o texto<br />

suministrado en la lógica del programa.<br />

componente submenú. Componente utilizado para iniciar un submenú a partir de un elemento de menú o de un<br />

menú existente, o para iniciar un menú desplegable a partir de un elemento de menú en una barra de menú. Véase<br />

también submenú y componente elemento de menú.<br />

componente temporizador. Componente utilizado para hacer un seguimiento del intervalo de tiempo entre dos<br />

eventos y desencadenar el segundo evento cuando ha transcurrido el intervalo.<br />

componente texto estático. Componente utilizado como etiqueta para otros componentes, como solicitud para un<br />

componente campo de entrada.<br />

componente ventana. Área con límites visibles que representa una vista de un objeto o con la que un usuario<br />

mantiene un diálogo con un sistema. Puede señalar y pulsar un componente ventana de la paleta de componentes o<br />

del catálogo de componentes y soltarlo en la ventana de proyectos.<br />

componente ventana con lienzo. Combinación del componente ventana y del componente lienzo. Véase también<br />

componente ventana y componente lienzo.<br />

comprobación de sintaxis. Verifica que la sintaxis de cada línea sea correcta mientras se edita el código fuente. Con<br />

ello pueden evitarse errores de compilación. Esta opción puede activarse o desactivarse. Puede visualizarse sólo<br />

determinados tipos de especificación, como especificaciones C, o una línea con una serie específica.<br />

Conectividad de Baes de Datos Java (JDBC). Estándar del sector para la conectividad independiente de la base de<br />

datos entre Java y una amplia gama de bases de datos. JDBC proporciona una interfaz de programación de<br />

aplicaciones (API) a nivel de llamada para el acceso a bases de datos basado en SQL.<br />

CONFIG.SYS. Archivo de configuración, ubicado en el directorio raíz de la unidad de arranque, para los sistemas<br />

operativos DOS, OS/2 o Windows. Contiene información necesaria para instalar y ejecutar hardware y software.<br />

configuración. Manera en que el hardware y el software de un sistema de proceso de información están<br />

organizados y se conectan entre sí (T).<br />

construir. Proceso por el que las diversas partes de un código fuente que forman los componentes lógicos de una<br />

aplicación VA<strong>RPG</strong> se compilan y enlazan para producir una versión ejecutable de la aplicación.<br />

conversación DDE. El intercambio de datos entre un cliente DDE y un servidor DDE. Véase también conversación de<br />

enlace estático y conversación de enlace dinámico.<br />

498 <strong>VisualAge</strong> <strong>RPG</strong> Manual de consulta de componentes


conversación de enlace dinámico. En DDE, actualización automática de un programa cliente por un programa<br />

servidor cuando los datos cambian en el servidor. Compárese con conversación de enlace estático<br />

conversación de enlace estático. En DDE, petición explícita efectuada por un programa cliente a un programa<br />

servidor. El programa servidor responde a la petición. Compárese con conversación de enlace dinámico.<br />

cuaderno de propiedades. Representación gráfica que se asemeja a un cuaderno enlazado que contiene páginas<br />

separadas en secciones por páginas separadoras. Seleccione las pestañas de un cuaderno para ir de una sección a<br />

otra.<br />

cursor. Indicación visible de la posición en la que aparecerá la interacción de usuario con el teclado.<br />

D<br />

DBCS. Juego de caracteres de doble byte.<br />

DDE. Intercambio de datos dinámico.<br />

definición de interfaz de procedimiento. Repetición de la información prototipo dentro de la definición de un<br />

procedimiento. Se utiliza para declarar los parámetros de entrada para el procedimiento y para garantizar que la<br />

definición interna del procedimiento es coherente con la definición externa (el prototipo)<br />

directorio destino. Directorio en el que se almacena la aplicación VA<strong>RPG</strong> compilada después de una creación.<br />

Compárese con carpeta destino.<br />

directorio fuente. Directorio en el que se almacenan todos los archivos fuente para una aplicación VA<strong>RPG</strong>.<br />

Diseñador GUI. Conjunto de herramientas utilizadas para crear interfaces arrastrando y soltando componentes de<br />

la paleta de componentes a la ventana de diseño.<br />

DLL. Biblioteca de enlace dinámico.<br />

DLL de programa de utilidad. Véase módulo NOMAIN<br />

doble pulsación. Pulsar el botón del ratón dos veces rápidamente.<br />

E<br />

EBCDIC. Código de intercambio decimal binario ampliado. Juego de caracteres de 256 caracteres de 8 bits.<br />

edición directa. Utilización de procedimientos que permiten a un usuario trabajar con un objeto arrastrándolo con<br />

un ratón o interactuando con su menú emergente.<br />

elemento. En intercambio de datos dinámico, una unidad de datos. Por ejemplo, la posición de la casilla superior<br />

izquierda en una hoja de cálculo es fila 1, columna 1. Se puede hacer referencia a la posición de la casilla como el<br />

elemento R1C1.<br />

eliminar referencia. Acción de suprimir la asociación entre un componente y un campo de base de datos de<br />

AS/400.<br />

énfasis. Resaltado, cambio de color u otra indicación visible de condiciones relativas a un objeto o una opción que<br />

afecta a la capacidad del usuario de interactuar con ese objeto u opción. El énfasis también puede proporcionar a un<br />

usuario información adicional sobre el estado de una opción o un objeto.<br />

entrada/salida (E/S). Datos proporcionados al sistema o datos que resultan del proceso del sistema.<br />

estación de trabajo. Dispositivo que permite a un usuario efectuar trabajos. Véase también estación de trabajo<br />

programable.<br />

estación de trabajo programable (PWS). Estación de trabajo que tiene un cierto grado de capacidad de proceso y<br />

que permite a un usuario modificar sus funciones.<br />

Glosario 499


evento. Señal generada como resultado de una modificación en el estado de un componente. Por ejemplo, al<br />

accionar un pulsador se genera el evento Press.<br />

evento de enlace. Evento que un componente destino recibe siempre que cambia el estado de un componente<br />

fuente.<br />

excepción. (1) En lenguajes de programación, una situación anormal que se da durante la ejecución, que puede<br />

ocasionar una desviación de la secuencia normal de ejecución, para la que existen recursos en los lenguajes de<br />

programación a fin de definirla, activarla, reconocerla, ignorarla y manejarla. (I) (2) En <strong>VisualAge</strong> <strong>RPG</strong>, un evento o<br />

situación que impide, o puede impedir, que una acción solicitada por un usuario concluya tal como éste espera. Las<br />

excepciones tienen lugar cuando un producto no puede interpretar la entrada de un usuario.<br />

EXE. Extensión de un archivo ejecutable.<br />

exportar. Función que convierte un archivo interno en un formato de archivo estándar para utilizarlo fuera de la<br />

aplicación. Compárese con importar.<br />

F<br />

foco. Sinónimo de foco de entrada.<br />

foco de entrada. Área de una ventana en la que la interacción del usuario puede tener lugar desde el teclado o<br />

desde el ratón.<br />

I<br />

ICO. Extensión de archivo de un archivo de icono.<br />

icono. Representación gráfica de un objeto, que se compone de una imagen, un fondo de imagen y una etiqueta.<br />

importar. Función que convierte objetos de archivo de pantalla de AS/400 al componente VA<strong>RPG</strong> adecuado.<br />

Compárese con exportar.<br />

indicador de progreso. Uno o más controles utilizados para informar a un usuario sobre el curso de un proceso.<br />

índice. Identificador de una entrada en componentes de VA<strong>RPG</strong> como, por ejemplo, recuadros de lista o recuadros<br />

de combinación.<br />

INI. Extensión de archivo para un archivo del sistema operativo OS/2 o Windows que contiene información<br />

específica de la aplicación que necesita conservarse, de una llamada a una aplicación, a otra.<br />

intercambio de datos dinámicos (DDE). Intercambio de datos entre programas o entre un programa y un objeto de<br />

archivo de datos. Cualquier cambio efectuado en la información de un programa o una sesión se aplica a los datos<br />

idénticos creados por el otro programa. Véase también conversación DDE, cliente DDE y servidor DDE.<br />

Interfaz de programación de aplicaciones (API). Interfaz funcional suministrada por el sistema operativo o un<br />

programa bajo licencia que se solicita por separado, que permite que un programa de aplicación escrito en un<br />

lenguaje de alto nivel pueda utilizar datos o funciones específicas del sistema operativo o del programa bajo licencia.<br />

interfaz de usuario gráfica (GUI). Tipo de interfaz de usuario que proporciona las ventajas de los gráficos de alta<br />

resolución. Una interfaz gráfica de usuario incluye una combinación de gráficos, el paradigma de acción de objeto, el<br />

uso de dispositivos de puntero, barras de menú y otros menús, solapamiento de ventanas e iconos.<br />

Interfaz Nativa de Java (JNI). Interfaz de programación que permite al código Java que se ejecuta dentro de una<br />

Máquina Virtual Java (JVM) interoperar con las funciones escritas en otros lenguajes de programación.<br />

IPF. Recurso de Presentación de Información.<br />

J<br />

Java. Lenguaje de programación orientado a objeto para código interpretado portátil que soporta la interacción entre<br />

objetos remotos. Java y sus especificaciones han sido desarrolladas por Sun Microsystems, Incorporated.<br />

500 <strong>VisualAge</strong> <strong>RPG</strong> Manual de consulta de componentes


JavaBean. En Java, un modelo de componente reutilizable, portátil e independiente de la plataforma.<br />

Java Runtime Environment (JRE). Subconjunto del Kit de desarrollo Java para los usuarios finales y desarrolladores<br />

que deseen redistribuir el JRE. El JRE consiste en la Máquina Virtual Java, las Clases de Núcleo de Java y los archivos<br />

de soporte.<br />

Java 2 Software Development Kit (J2SDK). Software que distribuye Sun Microsystems a los desarrolladores de<br />

Java. Este software incluye el interpretador Java, clases Java y herramientas de desarrollo Java. Las herramientas de<br />

desarrollo incluyen un compilador, un depurador, un desensamblador, un AppletViewer, un generador de archivos de<br />

apéndice y un generador de documentación.<br />

juego de caracteres de doble byte (DBCS). Juego de caracteres en el que cada carácter se representa mediante 2<br />

bytes. Algunos idiomas como el japonés, el chino o el coreano, que contienen más símbolos de los que pueden<br />

representarse mediante los 256 elementos de código, necesitan el juego de caracteres de doble byte. Puesto que cada<br />

carácter necesita 2 bytes, la escritura, la visualización y la impresión de caracteres DBCS necesita hardware y<br />

programas que soporten DBCS. El sistema soporta cuatro juegos de caracteres de doble byte: japonés, coreano, chino<br />

simplificado y chino tradicional. Compárese con juego de caracteres de un solo byte (SBCS).<br />

juego de caracteres de un solo byte (SBCS). Juego de caracteres en el que cada carácter se representa mediante un<br />

byte. Compárese con juego de caracteres de doble byte (DBCS).<br />

L<br />

línea de ejecución. La unidad más pequeña de operación que puede efectuarse dentro de un proceso.<br />

lista desplegable. Campo de una sola selección en el que sólo puede verse la opción actual. Las demás opciones<br />

permanecen ocultas hasta que el usuario realiza una acción específica para visualiza el recuadro de lista que las<br />

contiene.<br />

lugar de trabajo. Área que ocupa toda la pantalla y contiene todos los objetos que componen la interfaz del usuario.<br />

M<br />

Máquina Virtual Java (JVM). La parte del Java Runtime Environment (JRE) responsable de interpretar bytecodes de<br />

Java.<br />

marcador de grupo. Marcador que identifica un componente como el primero de un grupo. Cuando el usuario<br />

desplaza el cursor por un grupo de componentes y llega al último, el cursor vuelve a la primera parte del grupo.<br />

mensaje. (1) Información no solicitada por un usuario, pero visualizada por un producto, como respuesta a un<br />

evento no esperado o cuando puede producir algo no deseado. (2) Comunicación enviada por una persona o un<br />

programa a otra persona u otro programa.<br />

menú. Lista de opciones que pueden aplicarse a un objeto. Un menú puede contener opciones que no estén<br />

disponibles para ser seleccionadas en determinados contextos. Estas opciones están atenuadas.<br />

menú desplegable. Menú que aparece al seleccionar una opción en una barra de menú o a partir del símbolo del<br />

menú del sistema. Las opciones de un menú desplegable están relacionadas entre sí.<br />

menú emergente. Menú que, cuando se solicita, aparece junto al objeto con el que está asociado. Contiene opciones<br />

adecuadas para el objeto en su contexto actual.<br />

MID. Extensión de archivo de un archivo MIDI.<br />

migrar. (1) Mover a entorno operativo modificado, generalmente a un nuevo release o versión de un sistema. (2)<br />

Mover datos desde una jerarquía de almacenamiento a otra.<br />

módulo EXE. Un módulo EXE consta de un procedimiento principal y subprocedimientos. Se crea cuando la palabra<br />

clave EXE está presente en la especificación de control. Todas las subrutinas (BEGSR) deben ser locales a un<br />

procedimiento. El EXE debe contener un procedimiento cuyo nombre coincida con el nombre del archivo fuente. Este<br />

será el punto de entrada principal para el EXE; es decir, el procedimiento principal.<br />

Glosario 501


módulo NOMAIN. Módulo que contiene solamente subprocedimientos. No contiene ninguna acción o subrutina de<br />

usuario autónoma. Un módulo NOMAIN se crea cuando la palabra clave NOMAIN se encuentra en la especificación<br />

de control.<br />

N<br />

nemotécnico. Un solo carácter, dentro del texto de una opción, identificado por un subrayado debajo de él. Véase<br />

también selección nemotécnica.<br />

nivel del graduador. Indicador visual en el graduador que un usuario puede mover para modificar el valor<br />

numérico.<br />

O<br />

objeto. (1) Espacio de almacenamiento con nombre que consiste en un conjunto de características que describen el<br />

espacio de almacenamiento en sí y, en algunos casos, datos. Un objeto es algo que existe en el almacenamiento y<br />

ocupa parte de su espacio, y en el que se pueden efectuar operaciones. Algunos ejemplos de objetos son: programas,<br />

archivos, bibliotecas y carpetas. (2) Componente visual de una interfaz de usuario con el que un usuario puede<br />

efectuar una tarea. Un objeto puede aparecer como texto o como un icono.<br />

objeto de datos. Objeto que transporta información, como texto, gráficos, audio o vídeo.<br />

P<br />

paleta de colores. Conjunto de colores que pueden utilizarse para cambiar el color de cualquier componente en la<br />

GUI de la aplicación.<br />

paleta de componentes. El grupo de componentes más adecuado para construir la interfaz gráfica de usuario actual<br />

para una aplicación. Cuando finaliza la GUI, puede vaciar la paleta y añadir los componentes del catálogo de<br />

componentes que necesite para la siguiente aplicación.<br />

paleta de fonts. Conjunto de fonts que pueden utilizarse para cambiar el font de un componente en la GUI de la<br />

aplicación.<br />

panel de navegación. Grupo de botones que se pueden utilizar para controlar la selección visible de registros en un<br />

subarchivo.<br />

paquete. Función utilizada para reunir todos los componentes de una aplicación VA<strong>RPG</strong> para su distribución.<br />

paradigma acción-objeto. Patrón de interacción en el que un usuario selecciona un objeto y a continuación<br />

selecciona una acción para aplicarla a ese objeto.<br />

procedimiento. Un procedimiento es cualquier parte del código a la que pueda llamarse mediante la operación<br />

CALLP.<br />

procedimiento principal. Un procedimiento principal es un subprocedimiento que puede especificarse como<br />

procedimiento de entrada del programa y que recibe el control cuando se le llama por primera vez. El procedimiento<br />

principal sólo se genera cuando se crea un EXE. Consulte módulo EXE<br />

programación orientada a objetos. Método para estructurar programas como clases organizadas jerárquicamente<br />

que describen los datos y las operaciones de objetos que pueden interactuar con otros objetos. (T)<br />

programa destino. Objeto que el proyecto ha de crear, como una biblioteca de enlace dinámico (DLL).<br />

programa objeto. Programa destino adecuado para ser ejecutado. Un programa objeto puede o no necesitar enlace.<br />

(T)<br />

prototipo. Definición de la interfaz de llamada. Incluye información como, por ejemplo, si la llamada está enlazada<br />

(procedimiento) o es dinámica (programa), el nombre externo, el número y la naturaleza de los parámetros, qué<br />

parámetros deben ser pasados y el tipo de datos de cualquier valor de retorno (para un procedimiento)<br />

502 <strong>VisualAge</strong> <strong>RPG</strong> Manual de consulta de componentes


proyecto. Conjunto de datos y acciones completo necesarios para construir un destino único, como una biblioteca de<br />

enlace dinámico (DLL) o un archivo ejecutable (EXE).<br />

pulsar. Pulsar y liberar un botón del ratón sin mover el puntero fuera de la opción o del objeto. Véase también doble<br />

pulsación.<br />

puntero del ratón. Sinónimo de cursor.<br />

PWS. Estación de trabajo programable.<br />

R<br />

ratón. Dispositivo con uno o más pulsadores que se utilizan para colocar un puntero en la pantalla sin usar el<br />

teclado. Se utiliza para seleccionar una opción o una función que se ha de efectuar o para llevar a cabo operaciones<br />

en la pantalla, como dibujar líneas y arrastrarlas de una posición a otra.<br />

recuadro de combinación. Control que combina las funciones de un campo de entrada y de un recuadro de lista.<br />

Un recuadro de combinación contiene una lista de objetos por los que el usuario puede desplazarse y seleccionar<br />

para completar el campo de entrada. Si lo desea, el usuario también puede escribir texto directamente en el campo de<br />

entrada. En <strong>VisualAge</strong> <strong>RPG</strong>, se señala y pulsa un componente recuadro de combinación de la paleta de componentes<br />

o del catálogo de componentes y se suelta en una ventana de diseño.<br />

recuadro de combinación desplegable. Tipo de recuadro de combinación en el que un recuadro de lista está oculto<br />

hasta que un usuario realiza una acción específica para visualizarlo.<br />

Recurso de Presentación de Información (IPF). Herramienta utilizada para crear ayuda en línea en una estación de<br />

trabajo programable.<br />

resaltado de símbolos. Mejora la legibilidad del código. Puede configurar el resaltado de diferentes elementos del<br />

lenguaje con diferentes colores o fonts para identificar las estructuras del programa. Puede activar o desactivar el<br />

resaltado de símbolos.<br />

S<br />

SBCS. Juego de caracteres de un solo byte.<br />

sección fuente principal. En un programa VA<strong>RPG</strong>, la sección que contiene todas las definiciones globales para un<br />

módulo. Para un componente lógico, esta sección también incluye la acción y las subrutinas de usuario.<br />

selección nemotécnica. Método de selección en el que un usuario selecciona una opción tecleando el nemotécnico<br />

de esa opción.<br />

señalar y pulsar. (1) Método de selección que se utiliza para copiar un componente de la paleta o el catálogo de<br />

componentes en la ventana de diseño, la vista de iconos o la vista de árbol de la GUI. (2) Para colocar un<br />

componente en cualquiera de las vistas, señale y pulse el componente; después, mueva el cursor a la ventana elegida<br />

y señale y suelte el componente donde desea que aparezca. En las vistas de iconos y de árbol, el componente se<br />

colocará en el componente padre, y tendrá que moverlo al lugar donde le interese que aparezca en la ventana de<br />

diseño.<br />

servidor. Sistema de una red que maneja las peticiones de otro sistema, llamado cliente.<br />

servidor DDE. Aplicación que proporciona datos a otra aplicación habilitada por DDE. Compárese con cliente DDE.<br />

Véase también conversación DDE.<br />

sistema operativo. Grupo de programas del sistema que controlan la operación general de un sistema.<br />

solicitud. (1) Mensaje visual o audible enviado por un programa para solicitar la respuesta de un usuario. (T) (2)<br />

Símbolo o mensaje que se visualiza para solicitar una entrada del usuario o proporcionar información operativa. El<br />

usuario debe responder a la solicitud para poder proseguir.<br />

SSL. Capa de Sockets Segura.<br />

Glosario 503


submenú. Menú que aparece al seleccionar una opción en cascada en otro menú y que contiene opciones<br />

relacionadas con dicho menú. Los submenús se utilizan para reducir la longitud de un menú desplegable o de un<br />

menú emergente. Véase también componente submenú.<br />

subprocedimiento. Procedimiento especificado después de la sección fuente principal. Debe tener un prototipo<br />

correspondiente en las especificaciones de definición de la sección fuente principal.<br />

subrutina de acción. Lógica que se escribe para responder a un evento específico.<br />

T<br />

tema. En intercambio de datos dinámico (DDE), el conjunto de datos que es el sujeto de una conversación DDE.<br />

tope de tabulador. Atributo utilizado para establecer un tope de tabulador para un componente, de modo que los<br />

usuarios puedan colocar el foco en el mismo cuando utilicen la tecla tabuladora para moverse por la interfaz.<br />

V<br />

valor por omisión. Valor que el sistema o un programa proporciona o presupone automáticamente cuando el<br />

usuario no especifica ninguno. El valor por omisión puede asignarse a un pulsador oaunpulsador gráfico.<br />

ventana activa. Ventana con la que un usuario interactúa actualmente. Esta es la ventana que recibe la entrada del<br />

teclado.<br />

ventana de diseño. Ventana en el diseñador GUI en la que se colocan componentes para crear una interfaz de<br />

usuario.<br />

ventana emergente. Ventana movible, de tamaño fijo, en la que un usuario proporciona información necesaria para<br />

una aplicación de manera que puede continuar procesando una petición de usuario. Sinónimo de ventana secundaria.<br />

ventana inactiva. Ventana que no puede recibir entrada de teclado en un momento dado.<br />

ventana primaria. Ventana en la que tiene lugar la interacción principal entre el usuario y la aplicación. Sinónimo de<br />

ventana principal.<br />

ventana principal. Véase ventana primaria.<br />

ventana secundaria. Ventana que contiene información que depende de la información de una ventana primaria y<br />

se utiliza para complementar la interacción en dicha ventana. Véase también ventana primaria. Sinónimo de ventana<br />

emergente.<br />

vista de árbol. Visualización del contenido de un objeto de manera jerárquica.<br />

vista de detalles. Vista de contenido estándar en la que un icono pequeño se combina con texto para proporcionar<br />

información descriptiva sobre un objeto.<br />

vista de iconos. Vista de contenido estándar en la que cada objeto contenido en un contenedor se visualiza como un<br />

icono.<br />

W<br />

WAV. Extensión de archivo de un archivo de ondas.<br />

504 <strong>VisualAge</strong> <strong>RPG</strong> Manual de consulta de componentes


Bibliografía<br />

Para obtener información adicional sobre temas relacionados con <strong>VisualAge</strong> <strong>RPG</strong> y<br />

CODE (Cooperative Development Environment) para AS/400, consulte las<br />

siguientes publicaciones de <strong>IBM</strong>:<br />

Manuales de WebSphere Development Tools para AS/400:<br />

*Nota: Se han actualizado todas las versiones en línea de las publicaciones de<br />

WebSphere Development Tools para AS/400. Las publicaciones cuyo<br />

número de pedido está marcado con un asterisco (*) no se han vuelto a<br />

imprimir en este release.<br />

v Iniciación a <strong>VisualAge</strong> <strong>RPG</strong> y CODE/400, SC10-3287-01 (SC09-2625-01),<br />

proporciona información sobre WebSphere Development Tools para AS/400,<br />

dando una visión general de las características de CODE/400 y VA<strong>RPG</strong>, de<br />

cómo funcionan juntas y de las ventajas empresariales que se obtienen al<br />

utilizarlas.<br />

Manuales de <strong>VisualAge</strong> <strong>RPG</strong>:<br />

v Iniciación a <strong>VisualAge</strong> <strong>RPG</strong> y CODE/400, SC10-3287-01 (SC09-2625-01)*, describe<br />

los conceptos y las tareas de VA<strong>RPG</strong> que se realizan mientras se utiliza<br />

<strong>VisualAge</strong> <strong>RPG</strong>.<br />

v <strong>VisualAge</strong> <strong>RPG</strong> Manual de consulta del lenguaje, SC10-3066-01 (SC09-2451-01)*,<br />

proporciona información de consulta sobre el lenguaje y el compilador de<br />

VA<strong>RPG</strong>.<br />

v <strong>VisualAge</strong> <strong>RPG</strong> Manual de consulta de componentes, SC10-3065-02 (SC09-2450-02)*,<br />

proporciona una descripción de cada componente, atributo de componente,<br />

evento de componente, atributo de componente y atributo de evento de VA<strong>RPG</strong>.<br />

Es un manual de consulta para todos aquellos que desarrollan aplicaciones con<br />

<strong>VisualAge</strong> <strong>RPG</strong>.<br />

v Programación con <strong>VisualAge</strong> para <strong>RPG</strong>, SC10-3067-02 (SC09-2449-02)*, contiene<br />

información específica sobre cómo crear aplicaciones con <strong>VisualAge</strong> <strong>RPG</strong>.<br />

Describe los pasos a seguir en cada fase del ciclo de desarrollo de aplicaciones,<br />

desde el diseño al empaquetado y la distribución. Se incluyen ejemplos de<br />

programación para clarificar los conceptos y el proceso de desarrollo de<br />

aplicaciones VA<strong>RPG</strong>.<br />

v Java for <strong>RPG</strong> Programmers es una introducción al lenguaje Java (y <strong>RPG</strong> IV)<br />

mediante la comparación con el lenguaje <strong>RPG</strong>. Se trata de un comienzo muy<br />

apropiado en el mundo de Java. También incluye una guía de aprendizaje<br />

interactiva en formato CD sobre Java y <strong>VisualAge</strong> para Java, mediante MINDQ.<br />

v Experience <strong>RPG</strong> IV Tutorial es una guía de aprendizaje interactiva en formato CD<br />

que enseña <strong>RPG</strong> IV e ILE, paso a paso y de un modo divertido. Se trata de un<br />

manual con preguntas y ejercicios que ayudan a adquirir experiencia práctica<br />

con esta nueva y apasionante versión de <strong>RPG</strong>.<br />

v Otra publicación que no es de <strong>IBM</strong> interesante para los usuarios de <strong>VisualAge</strong><br />

<strong>RPG</strong> es <strong>VisualAge</strong> for <strong>RPG</strong> by Example.<br />

Información y publicaciones del AS/400:<br />

v Si tiene conexión con Internet, puede obtener información sobre otras<br />

publicaciones del AS/400 en uno de los siguientes sitios Web:<br />

© Copyright <strong>IBM</strong> Corp. 1994, 2000 505


http://www.as400.ibm.com/infocenter<br />

http://publib.boulder.ibm.com/pubs/html/as400/infocenter.htm<br />

Para obtener una versión en copia software de las publicaciones de AS/400,<br />

consulte la publicación CD-ROM AS/400e Biblioteca en soporte software,<br />

SK3T-1325-04 (SK3T-0118-04).<br />

Manuales de Gestor para el Desarrollo de Aplicaciones ADM:<br />

v ADTS/400: Gestor para el Desarrollo de Aplicaciones ADM Introducción y guía de<br />

planificacion, GC10-9401-00 (GC09-1807-00), describe los conceptos básicos y la<br />

planificación necesaria para hacer un uso efectivo de la función Gestor para el<br />

Desarrollo de Aplicaciones ADM.<br />

v ADTS/400: Gestor para el Desarrollo de Aplicaciones ADM Guía del Usuario,<br />

SC10-9609-01 (SC09-2133-01), describe cómo crear y gestionar proyectos<br />

definidos para la función Gestor para el Desarrollo de Aplicaciones ADM.<br />

v ADTS/400: Gestor para el Desarrollo de Aplicaciones ADM Guía de autoaprendizaje,<br />

SC10-9610-00 (SC09-2138-00), proporciona experiencia práctica en la utilización<br />

de la función Gestor para el Desarrollo de Aplicaciones ADM del producto<br />

ADTS para OS/400. Esta guía muestra cómo utilizar la función Gestor para el<br />

Desarrollo de Aplicaciones ADM guiándole a través de una serie de ejercicios<br />

paso a paso.<br />

v ADTS/400: Application Development Manager API <strong>Reference</strong>, SC09-2180-00, describe<br />

cómo los programadores de aplicaciones pueden escribir su propia interfaz para<br />

la función Gestor para el Desarrollo de Aplicaciones ADM.<br />

Manual Recurso de presentación de información (IPF):<br />

v Information Presentation Facility Programming Guide G25H-7110, describe los<br />

elementos que componen el IPF (Recurso de presentación de información). IPF<br />

es una herramienta que soporta el diseño y el desarrollo de documentos en línea<br />

y de recursos de ayuda en línea.<br />

Manuales de SQL:<br />

v <strong>IBM</strong> SQL <strong>Reference</strong> Version 2 SC26-8416, Volumen 2, compara los recursos de<br />

– DB2<br />

– SQL/DS <br />

– DB2/400 <br />

– DB2/6000 <br />

– <strong>IBM</strong> SQL<br />

– ISO-ANSI (SQL92E)<br />

– X/Open (XPG4-SQL).<br />

v DB2 Universal Database Administration Guide S10J-8157, proporciona la<br />

información necesaria para utilizar y administrar el producto DB2.<br />

v DB2 Universal Database Embedded SQL Programming Guide S10J-8158, describe<br />

cómo diseñar y codificar programas de aplicación para acceder a los servidores<br />

de la familia DB2 Client/Server (como DB2 o DB2/400). Contiene información<br />

detallada sobre la utilización del SQL (Lenguaje de Consulta Estructurada) y<br />

llamadas de API en las aplicaciones.<br />

506 <strong>VisualAge</strong> <strong>RPG</strong> Manual de consulta de componentes


Avisos<br />

Esta información se ha elaborado para productos y servicios que se ofrecen en<br />

Estados Unidos. <strong>IBM</strong> puede no ofrecer los productos, servicios o características que<br />

se tratan en este documento en otros países. Consulte con el representante local de<br />

<strong>IBM</strong> para obtener información sobre los productos y servicios que están<br />

disponibles en su área en la actualidad. Toda referencia hecha a un producto,<br />

programa o servicio de <strong>IBM</strong> no pretende afirmar ni implicar que sólo puede<br />

utilizarse ese producto, programa o servicio de <strong>IBM</strong>. En su lugar puede utilizarse<br />

cualquier producto, programa o servicio funcionalmente equivalente que no<br />

infrinja ningún derecho de propiedad intelectual de <strong>IBM</strong>. Sin embargo, es<br />

responsabilidad del usuario evaluar y verificar el funcionamiento de todos los<br />

productos, programas o servicios que no sean de <strong>IBM</strong>.<br />

<strong>IBM</strong> puede tener patentes o aplicaciones pendientes de patente acerca del tema de<br />

este documento. La entrega de este documento no le otorga ninguna licencia sobre<br />

dichas patentes. Puede enviar consultas sobre licencias, por escrito, a:<br />

Director of Licensing<br />

Intellectual Property & Licensing<br />

International Business Machines Corporation<br />

North Castle Drive, MD - NC119<br />

Armonk, New York 10504-1785<br />

Estados Unidos<br />

El párrafo siguiente no procede en el Reino Unido ni en ningún otro país donde<br />

tales estipulaciones sean contradictorias con las leyes locales: INTERNATIONAL<br />

BUSINESS MACHINES CORPORATION PROPORCIONA ESTA PUBLICACIÓN “<br />

TAL CUAL” SIN GARANTÍA DE NINGUNA CLASE, NI EXPRESA NI<br />

IMPLÍCITA, INCLUSIVE, PERO SIN LIMITARSE A, LAS GARANTÍAS<br />

IMPLÍCITAS DE NO VULNERACIÓN, COMERCIALIZACIÓN O ADECUACIÓN<br />

A UN FIN DETERMINADO. En determinados países no se permite la declaración<br />

de limitación de responsabilidad de las garantías expresas ni implícitas en<br />

determinadas transacciones, por lo tanto, esta declaración puede no ser procedente<br />

en su caso.<br />

Esta información puede contener inexactitudes técnicas o errores tipográficos. Se<br />

efectúan cambios periódicos en la información contenida en este documento; tales<br />

cambios se incorporarán en nuevas ediciones de la publicación. <strong>IBM</strong> puede hacer<br />

mejoras y/o modificaciones en los productos y/o programas descritos en esta<br />

publicación en cualquier momento sin previo aviso.<br />

Las referencias hechas en esta información a páginas Web de terceros se<br />

proporcionan sólo como gentileza para los usuarios y de ninguna manera pueden<br />

interpretarse como aprobación de esas páginas Web. Los materiales que figuran en<br />

esas páginas Web no forman parte de los materiales para este producto de <strong>IBM</strong> y<br />

la utilización de tales páginas Web es responsabilidad del usuario.<br />

Los licenciatarios de este programa que deseen obtener información acerca del<br />

mismo con el fin de: (i) intercambiar la información entre programas creados<br />

independientemente y otros programas (incluyendo éste) y (ii) utilizar mutuamente<br />

la información que se ha intercambiado, deben ponerse en contacto con:<br />

<strong>IBM</strong> Canada Ltd.<br />

© Copyright <strong>IBM</strong> Corp. 1994, 2000 507


Department 071<br />

1150 Eglinton Avenue East<br />

Toronto, Ontario M3C 1H7<br />

Canadá<br />

Dicha información estará disponible de acuerdo con las condiciones oportunas, que<br />

en algunos casos puede incluir el pago de una cantidad.<br />

<strong>IBM</strong> proporciona el programa bajo licencia descrito en esta información y todo el<br />

material bajo licencia disponible para él según los términos del Contrato de Cliente<br />

<strong>IBM</strong>, Contrato de Licencia de Programa Internacional <strong>IBM</strong> o cualquier contrato<br />

equivalente entre nosotros.<br />

Información de interfaz de programación<br />

Esta publicación pretende ayudarle a crear y gestionar aplicaciones e interfaces de<br />

usuario <strong>VisualAge</strong> <strong>RPG</strong> en la estación de trabajo, en un entorno cliente/servidor.<br />

Esta publicación documenta la Interfaz de programación de uso general y la<br />

información de guía asociada que proporciona <strong>VisualAge</strong> <strong>RPG</strong> y CODE/400.<br />

Marcas registradas y marcas de servicio<br />

Los términos siguientes son marcas registradas de International Business Machines<br />

Corporation en Estados Unidos y/o en otros países:<br />

Application System/400 AS/400 AS/400e<br />

Common User Access CUA DATABASE 2<br />

DB2 DB2 Connect DB2 Universal Database<br />

<strong>IBM</strong> OS/400 SQL/DS<br />

<strong>VisualAge</strong> 400<br />

Java y todas las marcas registradas basadas en Java son marcas registradas o<br />

nombres comerciales de Sun Microsystems, Inc. en Estados Unidos y/u otros<br />

países.<br />

ActiveX, Microsoft, Windows y Windows NT son marcas registradas de Microsoft<br />

Corporation en Estados Unidos y/o en otros países.<br />

Otros nombres de empresas, productos y servicios pueden ser marcas registradas o<br />

marcas de servicio de otras firmas.<br />

508 <strong>VisualAge</strong> <strong>RPG</strong> Manual de consulta de componentes


Número de Programa: 5769-CL3<br />

Printed in Denmark by <strong>IBM</strong> Danmark A/S<br />

SC10-3065-04

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!