Javascript: Tipo de Objeto


([N4] mdelgado) #1

Buenas tardes,

 

Tengo un porceso en javascript en el que recorro todos los objetos de un formulario. Mediante la propiedad ObjectInfo ontengo cierta informaciñón de cada objeto pero, ¿Cómo puedo saber quñe tipo de objeto es?. Me refiero a si es un check, un edit, un label, etc.


([N1] aztecmexico) #2

En la página 196 del manual de scripts vienen las enumeraciones de los tipos de objetos:

Tipos de objetos

•TypeTable = 0

•TypeField = 1

•TypeIndex = 2

•TypeIndexPart = 3

•TypePluralBind = 4

•TypeUpdate = 5

•TypeUpdateComponent = 6

•TypeComplexIndex = 7

•TypeComplexIndexPart = 8

•TypeVariable = 9

•TypeStaticTable = 10

•TypeStaticTableItem = 11

•TypeTrigger = 12

•TypePicture = 13

•TypeGrid = 14

•TypeGridCol = 15

•TypeTree = 16

•TypeCasillero = 17

•TypeForm = 18

•TypeControl = 19

•TypeSubcontrol = 20

•TypeMultiView = 21

•TypeLogicPrinter = 22

•TypeReport = 23

•TypeReportSection = 24

•TypeReportControl = 25

•TypeReportGrouping = 26

•TypeReportCalcution = 27

•TypeQuery = 28

•TypeQueryComponent = 29

•TypeFilterGlass = 30

•TypeFinder = 31

•TypeFinderIndex = 32

•TypeBasket = 33

•TypeProcess = 34

•TypeFunction = 35

•TypeEventConnection = 37

•TypeEventSlot = 38

•TypeInstruction = 39

•TypeDll = 40

•TypeAction = 41

•TypeMenu = 42

•TypeToolbar = 43

•TypeActionLauncher = 44

•TypeListPipe = 45

•TypeRecordPipe = 46

•TypeTcpProtocol = 47

•TypeConstant = 51

•TypeFrame = 52 – Marco

•TypeDock = 53

•TypeFormBlock = 54 – Bloque de formularios

•TypeDrop = 55

•TypeQueue = 56 – Cola de procesos

•TypeScheme = 57

•TypeSchemeItem = 58

•TypeDllFunction = 60

•TypeInsertion = 61

•TypeSerialPort = 62

•TypeDllFunctionParam = 63

•TypeAttachedFile = 64

•TypeSvgImage = 65

•TypeSvgControl = 66

•TypeSubindexator = 67

•TypeIntercomunicator = 68 – Intercomunicador del TCP

•TypeStyleCondition = 69 – Condición de estilo en rejilla

•TypeViewFlow = 70

•TypeListAlternator = 71

•TypeComboView = 72

•TypeListView = 73

•TypeQmlList = 74

•TypeUserRole = 75

•TypeAuxModel = 76

•TypeAdvancedGrid = 77

•TypeAdvancedGridCol = 78

•TypeAdvancedGridBand = 79

•TypeQmlForm = 80

•TypeNone = -1

 

Y en la 199 viene el siguiente ejemplo, que creo es lo que necesitas:

// Se muestra la información del objeto

msg = “El objeto en curso tiene la siguiente información:” + “nn” +

"Id: " + obj.id() + “n” +

"IdRef: " + obj.idRef() + “n” +

"Name: " + obj.name() + “n” +

"Tipo: " + obj.type() + “n” +

"¿Es vista de datos? " + obj.isDataView() + “n”;

 

Saludos.

Martin Ibarra.


([N1] wikan) #3

Los controles del formulario son widget, los obtienes con la clase VMainWindow

http://velneo.es/info_v7_712_es/velneo_vdevelop_v7/scripts/clases/vmainwindow

La función que debes usar
widgetType


([N1] aztecmexico) #4

Cierto, perdón por la confusión, lo correcto es lo que indica Manuel.


([N4] mdelgado) #5

Hola, gracias por al respuesta.

No sé si esto servirá. Lo que quiero es pasar a un proceso o evento un IdRef() de un formulario y poder recorrer todos los objectos con un bucle FOR. ¿Se puede hacer?, ¿Me sirve theMainWindows para cualquier ventana o sólo para las modales?.

 

Muchas gracias a los dos por contestar

 


([N4] mdelgado) #6

Hola de nuevo,

No sé si me expliqué correctamente. La pregunta es más simple: ¿Hay alguna forma en JavaScript de recorrer todos los controles de un formulario para evaluar una de sus propiedades?. Por ejemplo, para desabilitar su propiedad de visible.

Os agradezco desde ya vuestra ayuda.