Ir al contenido principal

Entradas

Mostrando entradas de 2014

Dibujar en TImage con C++ Builder y FireMonkey

dibujar a mano libre con C++ Builder suele ser algo confuso , he visto algunos lugares donde publican como hacerlo; sin embargo no se que les sucede a esos programadores hacen las cosas de tal forma que nadie las entiende, algo asi como un programador de JAVA. Bueno aqui les pongo un ejemplo de la forma mas sencilla posible de como hacerlo. primero creamos un proyecto desktop firemonkey , despues le agregamos un TImage y la nombramos img1 despues vamos a crear dos variables publicas TPointF puntoI y puntoF. Despues nos dirigimos al evento MouseMove del control TImage y ponemos el siguiente codigo: if(Shift.Contains(ssLeft)) {    puntoI.X=X;   puntoI.Y=Y; img1->Canvas->BeginScene(); img1->Canvas->DrawLine(puntoI,puntoF,1.0); img1->Canvas->EndScene(); puntoF.X=X; puntoF.Y=Y; } despues en el evento MouseDown img->Canvas->Stroke->Color=claBlack //color negro puntoF.X=X; puntoF.Y=Y; y listo solo falta correr la aplicacion y ver ...

Contpaq y sus sistemas

El otro día escuche una conversación sobre el éxito y la gran utilidad de los sistemas de Contpaq y su facturación electrónica de como los había ayudado y no se que tantas maravillas mas; mientras escuchaba atento, tuve una epifanía,de como seria toda la contabilidad sin estos sistemas tan mal hechos de forma intencional o accidental; de cualquiera de las dos maneras no deja de ser un producto tan mal hecho que me sigue sorprendiendo que las gente lo siga usando. Como desarrollador independiente intento ponerme standares altos para el diseño de mis aplicaciones y que mis clientes estén totalmente satisfechos. Empecemos por analizar estos sistemas, sobretodo el contpaq, que esta hecho en JAVA y con un servidor de base de datos MS-SQLServer, que es como juntar ala actual esposa con la ex "mala idea",sabemos que JAVA es muy lento al momento de su ejecucion, AH! pero es gratis! es una gran ventaja para la empresa que lo diseña, en cuanto a SQLServer para mi es un sistema que e...

UPDATE CON SUBCONSULTAS

suponga que un dia tenemos que acualizar datos de una tabla con datos de otra tabla, bueno esto se soluciona con una sobconsulta es algo muy sencillo con SQL en este ejemplo utilizare SQLServer. vamos a suponer que tenemos dos tablas una llamada "ventas" que contiene estos campos: *idventa (int,autonumerico) *venta (money) *vendedor (varchar(150)) * comision(float) tabla 2 : "vendedores" *nombre(varchar(150)) *estado(varchar(80)) valores(Chihuahua,Monterrey,DF,Toluca) *comision(float) vamos a actualizar el valor de la comision para todos aquellos vendedores que  pertenescan al estado de Chihuahua. vamos hacer un procedimiento que quedaria asi: ALTER PROCEDURE [dbo].[ACTUALIZAR_COMISION] AS BEGIN   UPDATE ventas   SET ventas.comision = vendedores.comision   from vendedores   WHERE vendedores.nombre=ventas.vendedor   AND vendedores.estado='Chihuahua' END espero que les sea de utilidad.

Cambiar Texto en un TDBGrid en C++ Builder

Este es un ejemplo de como podemos cambiar el caption de un grid en c++ builder, y de hecho es muy simple veamos: suponiendo que nuestro Objeto TDBGrid se llama grid en el evento de ::FormCreate de nuestro Formulario ponemos el siguiente codigo.         grid->Columns->Items[0]->Title->Caption="Codigo"; //primera columna grid->Columns->Items[0]->Color= TColor(RGB(247, 252, 24)); //color amarillo asi de simple con esto espero que puedan jugar un poco con los metodos y propiedades de este Grid.

Validar Un RFC

Para cualquier desarrollador de sistemas en algun momento tiene que validar datos en un sistema de base de datos, en este caso el famoso RFC o registro federal de contribuyentes. aqui les muestro una solucion muy simple para validar dicho dato. private static bool EsRFC(string m_RFC)         {             string Patron = @"^[A-ZÑ&]{3,4}[0-9]{2}[0-1][0-9][0-3][0-9][A-Z,0-9][A-Z,0-9][0-9A]$";             Regex loRE = new Regex(Patron);             if (loRE.IsMatch(m_RFC))                 return true;             else                 return false;         }         facil verdad?