Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 13-12-2022
Avatar de José Luis Garcí
[José Luis Garcí] José Luis Garcí is offline
Miembro Premium
 
Registrado: may 2003
Ubicación: Las Palmas de G.C.
Posts: 1.372
Poder: 22
José Luis Garcí Va camino a la fama
¿Qué aportas en tú código?

Buenos días compañeros, hace tiempo que no participo de forma activa en la comunidad, y ahora que tengo un poco de tiempo quise hacerlo. Como no me puedo meter con grandes proyectos, pensé que esto es algo de lo que a lo mejor alguno se puede beneficiar.

La idea no es poner código en sí, más bien la idea de cosas que hacemos en los programas y su utilidad, por lo que podemos todos beneficiarnos. Yo con los años he ido adoptando códigos y costumbres, que actualmente intento agregar en mayor o menor medida a los programas.

Intentare meterlo en apartados independientes, y explicaré su uso así como la idea. Por su puesto me gustaría saber que os parece, así como que es lo que aportáis vosotros a vuestro código.

Para empezar, es una unit, que tiene las variables fijas y en las que veréis que me refiero a ellas muy a menudo. Esta unit la llamo siempre UVariablesFijas
__________________
Un saludo desde Canarias, "El abuelo Cebolleta"
Responder Con Cita
  #2  
Antiguo 13-12-2022
Avatar de José Luis Garcí
[José Luis Garcí] José Luis Garcí is offline
Miembro Premium
 
Registrado: may 2003
Ubicación: Las Palmas de G.C.
Posts: 1.372
Poder: 22
José Luis Garcí Va camino a la fama
Niveles de usuarios

En mis programas cada usuario suele tener su propia clave y nivel de usuario, aparte de indicar si está activo o no, ya que así pueden impedir el paso de un usuario, si este ya no es trabajador de la empresa.

Suelo ocupar dos esquemas de niveles, el primero es del 5 al 9 y el segundo del 6 al 9

Primer esquema / Segundo esquema
5- --------------- / usuario básico
6- usuario básico / Usuario avanzado
7- Usuario Avanzado / Supervisor
8- Supervisor / Administrador
9- Administrador / Pide que se repita la clave

Las ventajas de este sistema son que al iniciar el usuario llamo a las claves fijas VfNivel y VfUsuario, al acceder a un apartado, compruebo si el nivel es superior o igual al del apartado dejándole o no entrar.
Por otro lado en el OnShow, mediante mirando este mismo nivel permito que se pueda acceder/ver apartados en los form, al que pueden tener acceso usuarios con menos nivel
__________________
Un saludo desde Canarias, "El abuelo Cebolleta"
Responder Con Cita
  #3  
Antiguo 13-12-2022
Avatar de José Luis Garcí
[José Luis Garcí] José Luis Garcí is offline
Miembro Premium
 
Registrado: may 2003
Ubicación: Las Palmas de G.C.
Posts: 1.372
Poder: 22
José Luis Garcí Va camino a la fama
Pendrive de llave de seguridad

Cada programa en su acerca de Tiene un nº de Serie de 12 dígitos, de los cuales 6 son un identificador (cada uno que lo establezca como quiera), que están en la variable fija VFIdentificador, el problema de este sistema es que tengo que cambiar este número mediante un pequeño programa , en cada compilación del programa, creando un registro de a quien ha sido asignado, y por lo tanto teniendo que compilarlo independiente.

El B.D. en la tabla configuración establezco un campo llamado llave, al que le asigno la letra de la unidad.

Luego en un pendrive, creo una carpeta con el nombre LLAVE [Nombre del programa], y dentro añado tres archivos, dos de ellos no sirven para nada y el tercero contiene un código encriptado, que es el número del identificador del programa.
Al pendrive además cambio el nombre del volumen, al valor del identificador.

Al arrancar el programa, lee la tabla configuración, coge la letra del campo LLAVE, y comprueba que este el archivo y que el valor de este una vez desencriptado sea el mismo que el de VFIdentificador, y también que el volumen del pendrive, sea también igual al de VFIdentificador.

Para ello uso otro pequeño programa que me hace automáticamente esto en los pendrive, o casi completamente. Normalmente entrego dos pendrives por si fastidian uno y suelo usar de estos que son muy cortitos, avisándoles que solo son válidos para ese programa, con ese número de serie en exclusiva, con lo que me evito que puedan hacer varias copias, limitando estas a 1 más. Y por supuesto pido el pendrive que está mal para darle uno nuevo, para evitar engaños.

Por cierto los pendrives los tengo marcados en varios sitios, para que no me engañen.
__________________
Un saludo desde Canarias, "El abuelo Cebolleta"
Responder Con Cita
  #4  
Antiguo 13-12-2022
Avatar de José Luis Garcí
[José Luis Garcí] José Luis Garcí is offline
Miembro Premium
 
Registrado: may 2003
Ubicación: Las Palmas de G.C.
Posts: 1.372
Poder: 22
José Luis Garcí Va camino a la fama
Campos por defecto

En las B.D. suelo usar las sedes y dentro de estas puedo meter varios campo que parecen repetidos, pero uno son los datos de la propia sede y el otro los campos por defecto.

Algunos de ellos pueden ser:
PROVINCIA_DEF
POBLACION_DEF
CODIGO_POSTAL_DEF
PAIS_DEF

Al usuario estar en un campo, si pulsa enter sin rellenarlo y tiene asignado un valor por defecto, este se rellena en el campo, ahorrándole trabajo al usuario y permitiendo que sea más rápido. Esto claro está si el campo no va con otro valor.

Y en el onExit de los DbEdit suelo mediante un CASE, comprobar el fieldName del campo y asignar así el valor
__________________
Un saludo desde Canarias, "El abuelo Cebolleta"
Responder Con Cita
  #5  
Antiguo 13-12-2022
Avatar de José Luis Garcí
[José Luis Garcí] José Luis Garcí is offline
Miembro Premium
 
Registrado: may 2003
Ubicación: Las Palmas de G.C.
Posts: 1.372
Poder: 22
José Luis Garcí Va camino a la fama
Pegado de datos de los campos

En este apartado creo un pequeño form bastante estrecho, para poder ponerlo a un lado sin quitar demasiado espacio en la pantalla, con tantos botones como campos necesite, cada botón tiene el nombre del campo, por lo que al pulsarlo copia el valor del contenido de ese campo, permitiendo mediante este método, rellenar una página web, por ejemplo con los datos del clientes/proveedor/etc. que hemos seleccionado.

Simplemente pulsamos en el campo que queremos, y luego en el campo de la página web y le damos a CTRL+V, rellenándolo con el dato.

Pegado de nombre del campos

En el mismo formulario, suelo añadir la opción mediante un radiogrup, que en vez de pegar el contenido del campo, peque el nombre de este, con una apertura y cierre ( ejemplo el campo Código sería [\CODIGO/]), que lo uso para que puedan crearse informes/cartas, etc. con WORD
__________________
Un saludo desde Canarias, "El abuelo Cebolleta"
Responder Con Cita
  #6  
Antiguo 13-12-2022
Avatar de José Luis Garcí
[José Luis Garcí] José Luis Garcí is offline
Miembro Premium
 
Registrado: may 2003
Ubicación: Las Palmas de G.C.
Posts: 1.372
Poder: 22
José Luis Garcí Va camino a la fama
Generador de textos preestablecidos

Este lo suelo usar por ejemplo para rellenar textos para emails, donde el usuario crea un texto en un memo, que archivo como tal, al que puede añadirle los campos de las tablas que se le permite usar para tal fin. Guardándolo en un archivo que puede cargar en cualquier momento, rellenando estos campos con los datos y mandándolo por email o copiándolo al portapapeles.
Estos archivos los guarda en su disco duro y no en ninguna tabla, ya que la experiencia me ha indicado que es mejor que estos los puedan crar ellos individualmente, ya que los que sean estándar de la empresa, suele estar ya metidos en el programa, o por lo menos así los hago yo.

Algunos escritos de este tipo, suelen ser los siguientes:
  • Periodos de vacaciones
  • Email corriente
  • Solicitar documentación
  • Reclamación de pago
  • Entrega de documentación
  • Contestaciones varias
  • etc.
__________________
Un saludo desde Canarias, "El abuelo Cebolleta"
Responder Con Cita
  #7  
Antiguo 13-12-2022
Avatar de José Luis Garcí
[José Luis Garcí] José Luis Garcí is offline
Miembro Premium
 
Registrado: may 2003
Ubicación: Las Palmas de G.C.
Posts: 1.372
Poder: 22
José Luis Garcí Va camino a la fama
Tengo muchas más cosas, pero creo que como idea puede servir.
Ahora ya tengo que salir, un saludo a todos.
__________________
Un saludo desde Canarias, "El abuelo Cebolleta"
Responder Con Cita
  #8  
Antiguo 13-12-2022
Avatar de pgranados
pgranados pgranados is offline
Miembro
 
Registrado: sep 2022
Ubicación: México
Posts: 264
Poder: 2
pgranados Va por buen camino
Yo soy relativamente nuevo en Delphi, tengo unos 2 meses usándolo aproximadamente, trabajo en una empresa de software para contadores en México, estamos en un desarrollo nuevo donde solo participamos 2 devs (mi jefe y yo), realmente hago de todo un poco, creo formas, tablas, bases de datos, entre otros.

En este poco tiempo que tengo conviviendo con Delphi, siento que esta genial

Un saludo.
Responder Con Cita
  #9  
Antiguo 21-01-2023
elrayo76 elrayo76 is offline
Miembro
 
Registrado: ene 2004
Ubicación: En la tierra, por eso mis archivos en la tierra y no en la nuebe...
Posts: 290
Poder: 21
elrayo76 Va por buen camino
Buenas,


Muy buenos los aportes. Algunas de las cosa que tengo como costumbre desde que desarrollo son:


1) Indentar bien el código, ya sea en Delphi, base de datos o el que sea, esto hace que sea mas legible. Esto es algo que veo a menudo que muchos no hacen.
2) Me gusta poner cada ciertas lineas, comentarios para que si otro lee mi código sepa lo que hace.
3) A las variables por lo general como prefijo le pongo dos o tres letras que identifican el tipo de dato de las mismas, asi se pueden identificar a simple vista. Por ejemplo: strApellido, intEdad, blnCorrecto.
4) Cuando tengo muchas clases o funciones en una misma unit trato de separar todo con lo que se llama regiones. En las clases puedo tener las sientes regiones:
- Constructor y Destructor
- Métodos Privados
- Métodos Públicos


Esto si la clase tiene muchos métodos puede ser mas fácil visualizar el código.


5) Otra cosa que me he acostumbrado por mas que tengamos una súper computadora, es asignar a las variables el tipo de dato que corresponde y no uno mas grande por las dudas. Por ejemplo: si vas a tener en la variable chrCaracter un solo carácter porque poner String si corresponde Char. Esto a la larga si se hace bien resulta en que las aplicaciones consumen menos memoria y funcionan correctamente, porque a pesar de lo que dicen los nuevos programadores el poner a una áquina mas hardware no soluciona ciertos problemas si las aplicaciones funcionan mal.


Saludos,
El Rayo
__________________
Si tienes una función o procedimiento con diez parámetros, probablemente hayas olvidado uno
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Como puedo pasar este codigo a delphi el codigo de la imagen es codigo python Javier13 Varios 9 16-11-2017 15:41:33
Convertir código "asm" a código Delphi Stringxpx ASM y Microcontroladores 19 11-08-2016 18:12:57
Porque este código me da error (adjunto código) David JAVA 1 12-03-2009 20:07:27
contraer por codigo, cxGrid (+) los nodos abiertos cerrarlos por codigo sakuragi OOP 6 27-07-2005 18:23:07
de codigo VB a codigo Delphi ingel Impresión 2 20-07-2004 14:15:44


La franja horaria es GMT +2. Ahora son las 21:26:30.


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
Copyright 1996-2007 Club Delphi