viernes, 6 de enero de 2023

Ejemplos con SET_CANVAS_PROPERTY

La forma más rápida de acceder a los valores de las  propiedades de SET_CANVAS_PROPERTY, o de la ventana o los item, es sacar la ventana de ayuda de forms de oracle, y en el campo de busqueda ponemos SET_CANVAS_PROPERTY y nos abre una ventana con todas sus propiedades y los valores que pueden tener.


No se puede usar SET_CANVAS_PROPERTY FOR VISIBLE


YOU CAN NOT USE SET_CANVAS_PROPERTY FOR VISIBLE .

PLEASE SEE Help from properties that you can use with set_canvas_property .

you can use SET_VIEW_PROPERTY .

jueves, 5 de enero de 2023

Código Flexible en Forms oracle

Objetivos:

• Describir un Código Flexible.

• Indicar las ventajas de usar variables de sistema.

• Identificar los built-ins útiles en la codificación flexible.

• Escribir código dinámico mediante la referencia a objetos:

--Por ID interno.

--Indirectamente.

_________________________________________________________________________

¿Qué es el Código Flexible?

Código Flexible: es todo código que puede ser reutilizado en distintos escenarios. El código flexible a menudo es un código genérico que puede usar en cualquier módulo Form en una aplicación. Por lo general, incluye el uso de variables del sistema en lugar de nombres de objetos codificados.


¿Por qué escribir código flexible?

Escribir código flexible te brinda las siguientes ventajas:

• Es reutilizable.

• Es genérico.

• Evita nombres de objetos codificados.

• Es más fácil de mantener.

• Aumenta la productividad.

 

Uso de  Variables de Sistema para el Contexto Actual.

Variables del sistema para localizar el foco de entrada actual:

Variable de Sistema

Funcción

CURSOR_BLOCK

Contiene el Bloque que tiene el foco de entrada.

CURSOR_RECORD

Contiene el registro que tiene el foco de entrada.

CURSOR_ITEM

Contiene el Item y Bloque que tiene el foco de entrada.

CURSOR_VALUE

Contiene el valor del Item que tiene el foco de entrada.

Ejemplo:

IF :SYSTEM.CURSOR_BLOCK = 'ORDERS' THEN

 GO_BLOCK('ORDER_ITEMS');

ELSIF :SYSTEM.CURSOR_BLOCK = 'ORDER_ITEMS' THEN

   GO_BLOCK('INVENTORIES');

ELSIF :SYSTEM.CURSOR_BLOCK = 'INVENTORIES' THEN

   GO_BLOCK('ORDERS');

END IF;

/*El ejemplo anterior muestra un código que podría colocarse en un Trigger When-Button-Pressed para permitir a los usuarios navegar a otro bloque en el Form. Verifica el nombre del bloque actual, luego navega a otro en función del resultado.*/


Nota: asegúrese de establecer la propiedad Mouse Navigate del botón en No; de lo contrario, SYSTEM.CURSOR_BLOCK siempre será el bloque en el que se encuentra el botón.


Variables del sistema para localizar el foco del Trigger.

System Variable

Function

TRIGGER_BLOCK

El bloque en el que estaba el foco de entrada cuando el Trigger se disparó inicialmente.

TRIGGER_RECORD

El número del registro que Forms está procesando.

TRIGGER_ITEM

El bloque y item en el que estaba el foco de entrada cuando el Trigger se disparó inicialmente.

El Uso de las Variables de Enfoque del Trigger.

Las variables para ubicar el foco del trigger son útiles para navegar de regreso al destino inicial una vez que se completa la ejecución del trigger . Por ejemplo, puede que durante la ejecución del trigger se requiere navegar a otros bloques, registros o items y así realizar acciones sobre ellos, y que después de la ejecución de dicho proceso se desee que el cursor retorne en la misma instancia inicial. Debido a que la navegación en el trigger se produce detrás de escenas, el usuario ni siquiera se dará cuenta.

Nota: la mejor manera de aprender sobre las variables del sistema es observar sus valores cuando se está ejecutando un Form. Puede examinar las variables del sistema utilizando el Depurador (Debugger).

Variables de sistema para determinar el estado actual del Form.

También puede usar las siguientes variables de sistema para realizar acciones de acuerdo al valor que estas contengan:

•SYSTEM.RECORD_STATUS

•SYSTEM.BLOCK_STATUS

•SYSTEM.FORM_STATUS

Ejemplo:

BEGIN

 ENTER;

 IF :SYSTEM.BLOCK_STATUS = 'CHANGED' THEN

  COMMIT_FORM;

 END IF;

 CLEAR_BLOCK;

END;

/*En el ejemplo anterior se valida si existen modificaciones en el bloque actual, si las hay se procede a guardar dichas modificaciones (COMMIT_FORM), posteriormente se procede a limpiar dicho bloque (CLEAR_BLOCK).*/

El Uso Built-ins para codificación flexible.

Algunos de los Built-ins de Forms Builder proporcionan el mismo tipo de información que proporcionan las variables de sistema.


Algunos Built-ins:

• GET_APPLICATION_PROPERTY

• GET_FORM_PROPERTY

• GET_BLOCK_PROPERTY

• GET_RELATION_PROPERTY

• GET_RECORD_PROPERTY

• GET_ITEM_PROPERTY

• GET_ITEM_INSTANCE_PROPERTY

• GET_LOV_PROPERTY

• GET_RADIO_BUTTON_PROPERTY

• GET_MENU_ITEM_PROPERTY

• GET_CANVAS_PROPERTY

• GET_TAB_PAGE_PROPERTY

• GET_VIEW_PROPERTY

• GET_WINDOW_PROPERTY

• SET_APPLICATION_PROPERTY

• SET_FORM_PROPERTY

• SET_BLOCK_PROPERTY

• SET_RELATION_PROPERTY

• SET_RECORD_PROPERTY

• SET_ITEM_PROPERTY

• SET_ITEM_INSTANCE_PROPERTY

• SET_LOV_PROPERTY

• SET_RADIO_BUTTON_PROPERTY

• SET_MENU_ITEM_PROPERTY

• SET_CANVAS_PROPERTY

• SET_TAB_PAGE_PROPERTY

• SET_VIEW_PROPERTY

• SET_WINDOW_PROPERTY


Algunos Explicaciones:

• GET_APPLICATION_PROPERTY  devuelve información sobre la aplicación Forms actual.


Ejemplo:

BEGIN

 :GLOBAL.username := GET_APPLICATION_PROPERTY(USERNAME);

 :GLOBAL.o_sys := GET_APPLICATION_PROPERTY(OPERATING_SYSTEM);

END;

/*El ejemplo anterior captura el nombre de usuario y la información del sistema operativo.*/


Nota: GET_APPLICATION_PROPERTY devuelve información sobre la aplicación Forms que se ejecuta en el nivel medio (Servidor Forms). Si necesita información sobre la máquina cliente, puede usar los JavaBean.


• GET_BLOCK_PROPERTY devuelve información sobre un bloque específico.


Ejemplo: 

...GET_BLOCK_PROPERTY('blockname',top_record)...

/*Este ejemplo muestra como determinar el registro actual que está visible en la primera línea (superior) de un bloque.*/


• GET_ITEM_PROPERTY devuelve información sobre un item especificado.


Ejemplo: 

DECLARE cv_name varchar2(30);

BEGIN cv_name := GET_ITEM_PROPERTY(:SYSTEM.CURSOR_ITEM,item_canvas);

...

/*Este ejemplo muestra como determinar el Canvas que contiene el Item donde radica el foco de entrada.*/


....  sigue en el articulo original.



Fuentes.

Artículo:   "Escribiendo Código Flexible en Oracle Forms" Publicado en https://magicplsql.blogspot.com/ por An onimo el 24 de junio de 2018. Consultado el 04/01/2023.

URL: https://magicplsql.blogspot.com/2018/06/escribiendo-codigo-flexible-en-oracle.html


miércoles, 4 de enero de 2023

Comando Sfc scannow en Win 10.

Resumen

Sfc / scannow es un comando de ejecución de sfc (comprobador de archivos del sistema). Con este comando, puede escanear todos los archivos de sistema protegidos y reparar automáticamente los archivos de sistema problemáticos. Lea este artículo y aprenda usar SFC / Scannow en Windows 10.


Sobre SFC

System File Checker (SFC) es una herramienta en Windows de escanear todos los archivos del sistema protegidos y verificar la integralidad de ellos. Si encuentra problemas con cualquiera de estos archivos protegidos, los reemplazará con los correctos.

martes, 3 de enero de 2023

Historia de Tuenti

Vídeo que te explica El caso de la Historia de ascenso y caída de Tuenti.


Vídeo

Título: "Historia de ascenso y caída de Tuenti" 

Enlace:  https://www.youtube.com/watch?v=yZeZpiW2gKw

lunes, 2 de enero de 2023

Canvas y ventanas en oracle Forms

Los Canvases y Los Windows

Con Forms Builder puede mostrar una aplicación en varias ventanas utilizando sus objetos de visualización: Windows y Canvases.


¿Qué es un Window?

Un Window es un contenedor para todos los objetos visuales que forman una aplicación Forms. Es similar a un marco de imagen vacío. El gestor de Windows proporciona los controles de una ventana que permiten que se desplace, se mueva, cambie el tamaño y se minimice. Un solo Form puede incluir varias ventanas.

domingo, 1 de enero de 2023

El caso de las criptomonedas FTX

Vídeo que te explica El caso de las criptomonedas FTX.


Vídeo

Título: "El ASCENSO y CAÍDA de Sam Bankman-Fried y el exchange FTX" 

Enlace:  https://www.youtube.com/watch?v=B3Sjnfuvwv0