Spanish Que es lo que hace SubExists?

roerGarcia

Active Member
Licensed User
Longtime User
Antes de pensar en otras cosas relacionadas con esto, que es exactamente lo que hace esta linea?
SubExists:
 If SubExists(module, Subname) Then CallSubDelayed(module,SubName)

module es que cosa? en español significaria si la subrutina existe, ejecutala?
Una ejecucion condicional de codigo que puede o no existir dentro de la aplicacion?
Si es asi, me sirve.
(el llamado puede ser algo distinto al llamado diferido, un simple call?)
Que hace?
Saludos
 

TILogistic

Expert
Licensed User
Longtime User
significaria si la subrutina existe, ejecutala?
SI
el llamado puede ser algo distinto al llamado diferido, un simple call?
SI

ver:
1615261109580.png

 

edgar_ortiz

Active Member
Licensed User
Longtime User
SubExists (Object As Object, Sub As String) As Boolean
Tests whether the object includes the specified method.
Returns false if the object was not initialized or not an instance of a user class.

Para darte una mejor idea revisa:
 

roerGarcia

Active Member
Licensed User
Longtime User
Ya veo, muy agradecido.

Entonces, mi icono-de-foco-encendido-indicando-una-nueva-idea era controlar las actividades del usuario en una aplicación desde el teclado exclusivamente (no ratón, no clics por aquí y por allá), una línea de comando pues.

La problemática que trataba de dilucidar en mi mente era,

"Como, teniendo el comando en una entrada de texto, digamos -cc- significando -cc- Catalogo de Cuentas, como activar la pagina indicada donde se lleva a cabo la administración del catalogo de cuentas?"

es decir, cada comando tendría su equivalente en una pagina (hablando de Bx4Pages) que lleva a cabo las funciones especificas de ese comando indicado.

Digamos que quiero (quería) encontrar un mecanismo de asociación -comando-string <- > Rutina (o pagina) para no hacer una lista interminable de Select case .... y, partiendo de lo que me acaban de comentar, podría hacer un archivo de texto, tipo config, que contenga los comandos y la rutina/pagina asociada a cada uno, incluso página-función, y lanzarla desde el appear.

¿Le ven posibilidades o estoy fuera de contexto?
Hablamos de B4J, aplicacion desktop en Windows.

Saludos desde México.
 

TILogistic

Expert
Licensed User
Longtime User
Ya veo, muy agradecido.

Entonces, mi icono-de-foco-encendido-indicando-una-nueva-idea era controlar las actividades del usuario en una aplicación desde el teclado exclusivamente (no ratón, no clics por aquí y por allá), una línea de comando pues.

La problemática que trataba de dilucidar en mi mente era,

"Como, teniendo el comando en una entrada de texto, digamos -cc- significando -cc- Catalogo de Cuentas, como activar la pagina indicada donde se lleva a cabo la administración del catalogo de cuentas?"

es decir, cada comando tendría su equivalente en una pagina (hablando de Bx4Pages) que lleva a cabo las funciones especificas de ese comando indicado.

Digamos que quiero (quería) encontrar un mecanismo de asociación -comando-string <- > Rutina (o pagina) para no hacer una lista interminable de Select case .... y, partiendo de lo que me acaban de comentar, podría hacer un archivo de texto, tipo config, que contenga los comandos y la rutina/pagina asociada a cada uno, incluso página-función, y lanzarla desde el appear.

¿Le ven posibilidades o estoy fuera de contexto?
Hablamos de B4J, aplicacion desktop en Windows.

Saludos desde México.
SI
 

josejad

Expert
Licensed User
Longtime User
Hola roerGarcia:

Sólo una idea. Y qué tal un B4XSearchtemplate de las XUI Views en la que al ir escribiendo sólo aparezcan las funciones que quieras?
Por ejemplo al escribir una c aparecería:
-Catálogo de Cuentas
-Confirmar pedido
...

Si escribes algún comando que no existe, pues simplemente indicas: "comando no reconocido" o algo así.
Basado en este ejemplo

B4XSearchTemplate.gif


saludos,
 

roerGarcia

Active Member
Licensed User
Longtime User
De hecho, hay otro mini search, basado en ese ejemplo que mencionas.

Había pensado:
1 crear la lista de comandos en un archivo de texto tipo config. (i.e.: "cat", "Catalogo de Cuentas", "b4xPageCatCon")
2 permitir la introducción de comandos de "modo libre", es decir, texto simple
3. obvio, detectar el comando,
a) la entrada es un comando valido?
b) ejecutar acción específica, mostrar b4xpagina correspondiente

Etcetera.
Saludos y gracias por el aporte.
 

Gabino A. de la Gala

Well-Known Member
Licensed User
Longtime User
Hola roerGarcia:

Sólo una idea. Y qué tal un B4XSearchtemplate de las XUI Views en la que al ir escribiendo sólo aparezcan las funciones que quieras?
Por ejemplo al escribir una c aparecería:
-Catálogo de Cuentas
-Confirmar pedido
...

Si escribes algún comando que no existe, pues simplemente indicas: "comando no reconocido" o algo así.
Basado en este ejemplo

View attachment 109335

saludos,
Me parece una opción muy interesante para ayudar a encontrar el comando deseado e incluso creo que en muchas ocasiones puede ahorrar el escribir todas las letras del comando, ya que al irse filtrando según se escribe, se va quitando la "paja".

En un fichero guardas una lista de mapas con el nombre del comando y el del procedimiento a llamar, lo cargas en B4XSearchTemplate y al picar en la opción seleccionadas obtienes de la lista el procedimiento correspondiente y a lanzarlo...

Lo que no se si en pc el B4XSearchTemplate te deja utilizar las flechas para buscar el comando y luego con el enter seleccionarlo.
 

roerGarcia

Active Member
Licensed User
Longtime User
Aunque conozco esas librerias / codigos el search y el minisearch (que tengo incluido en una seccion de esa aplicacion) habia pensado hacerlo desde cero - la parte de leer la entrada del posible comando a ejecutar, no es tan dificil y tal vez sea mas simple... pero lo vere y les informo con que me topo.
Saludos.
 

TILogistic

Expert
Licensed User
Longtime User
Otra. puedes tomar la idea de JRDC2, como hace para leer un archivo y ejecutar comandos, en este caso SQL.

pero la idea principal es el proceso de como lo hace leyendo un archivo de texto y ejecuta las consultas, en tu caso serian comandos.


Espero que entiendas la idea que quiero comentar.

PD:
Utilice esta idea para ejecutar comando remotos.

Saludos.
 

roerGarcia

Active Member
Licensed User
Longtime User
De hecho, la aplicacion que quiero extender y terminar ya usa jrdc2, es muy veloz, al grado de ejecutar querys en menos de un segundo con un result set de miles de registros (y procesarlos mediante b4j es de ensueño) cosa que antes hacia mediante vba y odbc para mysql en 10 minutos.

La idea principal de este "desarrollo" es presentar una aplicacion tradicional, con sus menus ya sea contextuales o con el menu de b4 y a la par la posibilidad de que el personal verdaderamente operativo pueda usarla sin despegar sus manos del teclado.

Pero si, capto tu idea, gracias!
 
Top