Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Pregunta a los Profe´s (https://www.clubdelphi.com/foros/showthread.php?t=94827)

Elias011267 07-08-2020 16:15:07

Pregunta a los Profe´s
 
Buen día..Saludos
Preguntas de un principiante a los Profe's
Ya tengo 30 días programando, de los cuales 25 son de preguntar y documentarme (asi se empieza)
1.- Para operar con los query´s; Cual es la diferencia en usar active:=false o close,
active:=true u open ?
2.- En firedac, no es necesario usar los post u commit (al parecer el lo hace) ?
3.- Que de cierto hay; el Firedac trabaja de manera nativa con el firebird?
4.- Si es cierto, es conveniente hacer todos los querys en su entorno y no
trabajar con las vistas en firebird?
5.- Es conveniente crear un form para colocar todos los componentes de fastreport
al estilo de un modulo de datos?
6.- Existe un componente para mensajería de texto (SMS) en delphi?
7.- Mis usuarios finales están acostumbrados a desplazarse en los formularios con la
tecla Enter, no con Tab. Se puede cambiar esta configuración con poco codigo?

Gracias.

Casimiro Notevi 07-08-2020 19:14:15

Si haces una búsqueda por los foros, por cada una de las preguntas, encontrarás respuestas para todas ellas.
Y vuelvo a recordarte la guía de estilo, gracias.

Casimiro Notevi 07-08-2020 20:18:19

Cita:

Empezado por Elias011267 (Mensaje 538238)
1.- Para operar con los query´s; Cual es la diferencia en usar active:=false o close,
active:=true u open ?

Empecemos por la 1.
Un query se abre con open y se cierra con close.
El active es para saber si está abierto o cerrado, por ejemplo.
Código Delphi [-]
if not query.active then
  query.open;

Neftali [Germán.Estévez] 10-08-2020 09:37:01

Cita:

Empezado por Elias011267 (Mensaje 538238)
2.- En firedac, no es necesario usar los post u commit (al parecer el lo hace) ?

Aquí estás mezclando 2 cosas.
* POST: Está relacionado con guardar registros en la Base de Datos.
* COMMIT: Está relacionado con el uso de transaccione al realizar operaciones en la Base de Datos.


Por lo que yo se, siempre debes utilizar el POST para guardar datos.
Digamos que la estructura para las operaciones en BD sería algo así:
  1. Añadir o editar un registro (APPEND/EDIT/INSERT)
  2. Realizar cambios en los campos
  3. Validar o cancelar los cambios (POST o CANCEL)
Aquí tienes algunos ejemplos de utilización:
http://docwiki.embarcadero.com/RADSt...diting_Records
http://docwiki.embarcadero.com/RADSt...Entire_Records
http://docwiki.embarcadero.com/CodeE...Append_(Delphi)
http://docwiki.embarcadero.com/CodeE...Cancel_(Delphi)

Otro tema diferentes son las transaciones.

Puedes o no utilizarlas y deberías leer algo antes de lanzarte a utilizarlas porque si no se usan bien te pueden traer muchos problemas.
Tal y como hemos dicho antes, las transacciones también tienen una estructura predefinida. Algo asói:
  1. Iniciar la transacción (BEGINTRANS)
  2. Realizar una o varias operaciones sobre la Base de Datos (Inserciones, Updates, Deletes,...)
  3. Validar o cancelarlos TODOS los cambios realizados desde el punto (1) (COMMITTRANS o ROLLBACKTRANS)
NOTA: Hay algunos componentes (en este caso FD también) que tienen propiedades para "modificar" este comportamiento como Autocommit. Pero yo te recomendaría que inicialmente las manejaras tú para evitar "sorpresas" y tener claro lo que haces en cada momento.

Aquí también tienes la explicación completa de uso de transacciones:
http://docwiki.embarcadero.com/RADSt...tions_(FireDAC)

Y algo de código de ejemplo:
http://docwiki.embarcadero.com/CodeE...actions_Sample

Neftali [Germán.Estévez] 10-08-2020 09:55:49

Cita:

Empezado por Elias011267 (Mensaje 538238)
6.- Existe un componente para mensajería de texto (SMS) en delphi?

Si estamos hablando de una aplicación de escritorio, al final por lo que yo se, necesitas un servicio de pago que te haga el envío.

Para ello deberás buscar los servicios/empresas dentro de tu pais que lo ofrezcan.
Una vez tengas uno, tendrás que ver la forma de conectarte a ellos. Lo más lódico es vía una DLL/ActiveX o a través de un servcio REST.

Comunicas con la empresa, le das los datos y haces en el envío.

Busca por "SMS Gateway" + PAIS donde quieres realizar los envíos en Google y te saldrá información de las empresas.

Luego dependiendo del sistema, del volumen de mensajes,... tendrás que ver qué opción/empresa te conviene más.

NOTA: Suponiendo que estemos hablando de aplicaciones de desktop, si se trata de app. móvil el concepto cambia.

Neftali [Germán.Estévez] 10-08-2020 09:58:51

Cita:

Empezado por Elias011267 (Mensaje 538238)
7.- Mis usuarios finales están acostumbrados a desplazarse en los formularios con la
tecla Enter, no con Tab. Se puede cambiar esta configuración con poco codigo?


Esto si lo buscas en los foros, ha salido muchas veces.
El código es trival (revisa o busca por la propiedad KeyPreview del formulario).

Si lo tienes que hacer en todos los formularios de tu aplicación, lo lógico sería crear un formulario "base" con este comportamiento (y otros que puedan salir en el futuro común a todos los formularios de tu aplicación), y que el resto deriven de este. De esta forma sólo debe "programarlo" en un único sitio.

TiammatMX 12-08-2020 17:57:38

Cita:

Empezado por Elias011267 (Mensaje 538238)
...
5.- Es conveniente crear un form para colocar todos los componentes de fastreport
al estilo de un modulo de datos?...

Sí, es posible. Personalmente tengo un receptáculo de datos multiusos, que contiene las querys necesarios para pantallas y reportes, es cuestión de usarlo y enlazarlo al reporte de cualquier tipo y listo, a hacer magia.

TiammatMX 12-08-2020 18:03:01

Cita:

Empezado por Neftali [Germán.Estévez] (Mensaje 538254)
Esto si lo buscas en los foros, ha salido muchas veces.
El código es trival (revisa o busca por la propiedad KeyPreview del formulario).

Si lo tienes que hacer en todos los formularios de tu aplicación, lo lógico sería crear un formulario "base" con este comportamiento (y otros que puedan salir en el futuro común a todos los formularios de tu aplicación), y que el resto deriven de este. De esta forma sólo debe "programarlo" en un único sitio.

Muy de acuerdo en todo lo que Nefalí dice, especialmente el crear "pantallas base" para controlar los comportamientos más usuales y repetitivos, pero entonces llegamos al punto álgido. Si "lo normal" es que el desplazamiento sea por ENTER, ¿por qué carámbanos Borland o Embarcadero no lo han implementado como LO USUAL? Por la razón de que tenemos muy mal acostumbrados a los usuarios a hacer "lo que creen que es lo natural" en lugar de enseñarles que TAB es una tecla de movimiento y ENTER es una tecla de confirmación de los datos entrados...

Filosofía y opinión personal.

Casimiro Notevi 12-08-2020 18:34:19

Microsoft decidió que en windows iban a usar TAB para moverse entre campos. Ese creo que es el gran "culpable".

TiammatMX 12-08-2020 18:45:06

Cita:

Empezado por Casimiro Notevi (Mensaje 538282)
Microsoft decidió que en windows iban a usar TAB para moverse entre campos. Ese creo que es el gran "culpable".

No, Casi, o bueno, casi sí..., SAP, BPCS, Fourth Shift, y algunos programas que se heredaron de UNIX hacia Winbugs usan TAB para moverse entre campos y ENTER para confirmar la captura...

Casimiro Notevi 12-08-2020 18:54:03

Cita:

Empezado por TiammatMX (Mensaje 538283)
.. que se heredaron de UNIX hacia Winbugs usan TAB para moverse entre campos y ENTER para confirmar la captura...

Pero originalmente, qué tecla usaban, porque yo no recuerdo de usar TAB para pasar entre campos en unix/xenix.

TiammatMX 12-08-2020 18:56:57

Cita:

Empezado por Casimiro Notevi (Mensaje 538284)
Pero originalmente, qué tecla usaban...

Pues TAB, y ese esquema era casi exclusivo de los sistemas "grandes". Aunque yo recuerdo que TAB era casí mágica en UNIX, hacía de todo, menos insertar tabuladores...

Casimiro Notevi 12-08-2020 19:17:11

En los programas que yo usaba no era el TAB para cambiar entre campos. Aunque hace ya tantos años :confused:

Neftali [Germán.Estévez] 13-08-2020 10:56:47

Cita:

Empezado por TiammatMX (Mensaje 538281)
Si "lo normal" es que el desplazamiento sea por ENTER, ¿por qué carámbanos Borland o Embarcadero no lo han implementado como LO USUAL?


Es que yo creo que eso no el lo "normal" en aplicaciones Widows.
Por eso Borland en su día no pudo cambiar ese comportamiento.
Otra cosa es que usuarios que venían de aplicaciones DBASE/CLIPPER/... y similares (que muchos acabaron en aplicaciones delphi) estaban acostumbrados a eso, y al pasar a Windows les hubiera gustado.

Pero en Windows el TAB sigue siendo el estandard.

Elias011267 14-08-2020 15:54:02

Pregunta a los Profe's
 
Gracias a todos los profesores por la paciencia y la manera didactica de aclarar mis dudas. De inmediato comenzare a aplicar sus consejos. Lamentablemente acceder a internet en Venezuela es muy dificil (entre un millon de cosas) y no puedo interactuar con la pagina a menudo.

Atte.
Un alumno interesado


La franja horaria es GMT +2. Ahora son las 01:18:52.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi