FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
||||
|
||||
¿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" |
#2
|
||||
|
||||
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" |
#3
|
||||
|
||||
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" |
#4
|
||||
|
||||
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" |
#5
|
||||
|
||||
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" |
#6
|
||||
|
||||
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:
__________________
Un saludo desde Canarias, "El abuelo Cebolleta" |
#7
|
||||
|
||||
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" |
#8
|
||||
|
||||
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. |
#9
|
|||
|
|||
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 |
|
|
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 16:41:33 |
Convertir código "asm" a código Delphi | Stringxpx | ASM y Microcontroladores | 19 | 11-08-2016 19:12:57 |
Porque este código me da error (adjunto código) | David | JAVA | 1 | 12-03-2009 21:07:27 |
contraer por codigo, cxGrid (+) los nodos abiertos cerrarlos por codigo | sakuragi | OOP | 6 | 27-07-2005 19:23:07 |
de codigo VB a codigo Delphi | ingel | Impresión | 2 | 20-07-2004 15:15:44 |
|