Entrar
¿Nuevo usuario? Inscribirme
cbuilderdeargentinaparaelmundo · C++ Builder de Argentina para el Mundo
? ¿Ya estás suscrito? Entra a Yahoo!

Consejos

¿Sabías que...?
Podés cambiar el orden de los mensajes. Simplemente hacé clic en el enlace de columna fecha. Tus preferencias se guardarán, por lo tanto no necesitarás hacerlo otra vez cuando vuelvas a entrar.

Mensajes

  Mensajes Ayuda
Avanzado
Mensajes 21 - 50 de 81   Más reciente  |  < Más reciente  |  Más antiguo >  |  Más antiguo
Mensajes: Mostrar resúmenes de los mensajes   (Agrupar por tema) Clasificar por fecha v  
#50 De: "casobrero" <casobrero@...>
Fecha: Lun, 12 de May, 2008 2:07 pm
Asunto: Re: Utilizar WinExec + TEdit
casobrero
Sin conexión Sin conexión
Enviar correo Enviar correo
 
Hola , la solución más simple y anticuada seria que incluyeras la
carpeta donde esta el programa en la variable de entorno %PATH%,
entonces WinExec lo encontrará, al notepad.exe lo encuentra porque la
carpeta de Windows o System32 siempre entan en %PATH%.
Para agregarla manualmente edita la varialbe PATH en "Propiedades del
Sistema"->"Variables de Entorno"  para hacerlo automaticamente podes
hacer que tu programa verifique si existe la ruta de winamp en %PATH% y
en todo caso añadirla usando GetEnvironmentVariable() y
SetEnvironmentVariable(nombre, valor), recuerda que primero debes leer
la variable, verificar si contiene la ruta que necesitas, añadirla al
final si es necesario y finalmente volver a añadir la cadena
modificada. (caso contrario la unica ruta en el path será la tuya y
otros programas pueden dejar de funcionar)

Saludos

Alejandro

#49 De: Oscar Darío Perdiguero <dperdisysa@...>
Fecha: Jue, 8 de May, 2008 11:51 pm
Asunto: Venta de Code Gear
dperdisysa
Sin conexión Sin conexión
Enviar correo Enviar correo
 
Hola amigos.

Les paso esta nueva noticia, que probablemente algunos ya hayan visto: http://dn.codegear.com/es/article/38132

Se trata de la venta de nuestra nueva querida Code Gear a una empresa que por ahora es una total desconocida pero que aparenta querer hacer bien las cosas. Escucho opiniones.

Un abrazo.

Oscar Darío Perdiguero
Administrador

#48 De: "manuonda" <manuonda@...>
Fecha: Jue, 8 de May, 2008 1:11 am
Asunto: Utilizar WinExec + TEdit
manuonda
Sin conexión Sin conexión
Enviar correo Enviar correo
 
Hola que tal mi nombre es manu y no puedo lograr obtener el texto de
que paso a TEdit y utilizarlo en WinExec.Por ejemplo
Quisiera ejecutar Winamp colocarlo en un TEdit y con un boton Ejecutar
lo paso a WinExec que me abre la ventana. Pero WinExec tiene la
siguiente estructura UINT WinAPI WinExec (__in LPCSTR lpCmdLine, __in
UINT uCmdShow); Se que sabiendo la ruta podria ejecutarlo y funciona
de esta manera.WinExec("\\ruta\",SW_MAXIMIZADE); pero
yo quiero hacerlo como arriba ingresar el nombre buscar la ruta y
ejecutarlo tambien se que solamente poniendo
WinExec("notepad.exe",SW_MAXIMIZE) lo realiza pero si pongo winamp.exe
no lo ejecuta no se

Gracias aunque sea por leerlo si me podria ayudar se los agradeceria y
despues les mostraria para mostrar lo que hice para aportar muchas
gracias

KAKAK

#47 De: "manuonda" <manuonda@...>
Fecha: Jue, 8 de May, 2008 12:37 am
Asunto: Re: [bcb-arg] conectar C++ Builder con SQL SERVER O ACCES Y OTRA MAS
manuonda
Sin conexión Sin conexión
Enviar correo Enviar correo
 
Quiero conectarlo con Access y Sql server utilizo Borland C++ Builder
2007 solo es una plataforma cliente La base la tengo en mi computadora
mucha gracias

#46 De: Oscar Darío Perdiguero <dperdisysa@...>
Fecha: Vie, 25 de Abr, 2008 11:58 am
Asunto: Bienvenida
dperdisysa
Sin conexión Sin conexión
Enviar correo Enviar correo
 
Hola a todos los nuevos miembros.

La verdad lo que quiero es agradecer su llegada a nuestra comunidad y también darles la calurosa bienvenida que se merecen.

Alguno de Uds. bautizó a esta comunidad como "2.0" ya que la primera de nombre igual estaba en MSN desde la cual algunos migraron y la que mantengo suspendida solo para consultar contenidos.

Espero que esta sea aún más provechosa que aquella otra. Y después del 3rd Days in spanish que nos brindó Code Gear y del cual fui un orgulloso disertante, me gustaría escuchar propuestas para ir desarrollando material que sirva para todo el mundo y hasta contar con más gente que pueda hacer tareas administrativas o hasta organizar nuestros propios eventos online.

En fin estoy abierto a cualquier propuesta y seguro que si hacemos un buen trabajo podremos contar con el apoyo de otras comunidades de habla hispana y por que no? hasta con la colaboración de Code Gear.

Un abrazo grande a todos y los espero.


Oscar Darío Perdiguero
Administrador
C++ Builder de Argentina para el Mundo

#45 De: Oscar Darío Perdiguero <dperdisysa@...>
Fecha: Vie, 25 de Abr, 2008 11:51 am
Asunto: Re: [bcb-arg] Como utilizo GDI+ en C++ Builder 2006 o 2007
dperdisysa
Sin conexión Sin conexión
Enviar correo Enviar correo
 
Hola josé, podrías mandarnos un pedacito de tu código o bien preparar un ejemplo de lo que quieres hacer así podemos ver que es y en base a eso ayudarte mejor?

Gracias

Darío Perdiguero

josedc99 escribió:

Mi pregunta es como inicializo GDI+ en C++ Builder 2006 o 2007...
incluyo las lineas #define STRICT e #include <gdiplus.h> pero no
compila. Obtengo un mensaje unresolved external... me podrian decir que
tengo que hacer o configurar para que compile... les agradezco
anticipadamente....


#44 De: Oscar Darío Perdiguero <dperdisysa@...>
Fecha: Vie, 25 de Abr, 2008 11:50 am
Asunto: Re: [bcb-arg] Base de datos
dperdisysa
Sin conexión Sin conexión
Enviar correo Enviar correo
 
Hola Willy.

Me gustaría saber con que motor "SQL" estás trabajando ya que de ello depende que librerías vayas a usar. BDE es el motor de bases de datos de borland (Borland Database Engine) y ya está obsoleto, por lo cual te sugiero que descartes su uso al menos que sea indispensable usar ese formato. Te sugiero que trabajes con FireBird, o MySQL o PostgreSQL o incluso Progress (aunque al momento de escribirte no pude encontrar de donde bajarlo). También creo que existe una versión free de MS-SQL Server y hast existe una versión Express de Oracle. Así que, como verás las opciones son muchas, yo te las puse en orden de confiabilidad y familiaridad para mi y esta clasificación es meramente personal. Aclaro que puse a oracle al final solo por que me acordé al final y por que no la uso yo, pero para mi es lejos el mejor motor de Bases de Datos Relacionales (RDBMS). Espero esto te sirva y podamos seguir contando con tu presencia en la comunidad.

Un abrazo

Darío Perdiguero

willy_gd escribió:

Hola, mi nombre es Guillermo, y necesito saber que libreria, o
complemento puedo usar para trabajar con SQL. Uso el Borland C++
Builder Version 6.0.

Ya probe con una libreria de Postgres y con otra llamada "SQLAPI++"
pero ninguna de las 2 me funciono. Que hay con BDE?? Si sirve, podrian
pasarme alguna pagina que tenga manuales?. Desde ya MUCHISIMAS
GRACIAS. Saludos.


#43 De: Oscar Darío Perdiguero <dperdisysa@...>
Fecha: Vie, 25 de Abr, 2008 11:21 am
Asunto: Re: [bcb-arg] Hola a todos desde Perú
dperdisysa
Sin conexión Sin conexión
Enviar correo Enviar correo
 
Gracias José por tus felicitaciones y gracias a todos los que estuvieron presentes ese día. Espero en próximas oportunidades, que la cosa vaya saliendo mejor.

Darío Perdiguero

josedc99 escribió:

Mi nombre es Jose Diaz Camacho de Perú, un saludo a todos y en Especial
a Oscar Darío Perdiguero, estuve presente en el Developer Days III y
mis sinceras felicitaciones a Oscar, espero que podamos compartir
muchas experiencias... vengo de trabajar en Delphi por varios años y
ahora estoy incursionando en C++ Builder...... hasta pronto.. saludos.


#42 De: Oscar Darío Perdiguero <dperdisysa@...>
Fecha: Vie, 25 de Abr, 2008 11:18 am
Asunto: Re: [bcb-arg] conectar C++ Builder con SQL SERVER O ACCES Y OTRA MAS
dperdisysa
Sin conexión Sin conexión
Enviar correo Enviar correo
 
Hola, como estás?

para poder ayudarte, sería bueno saber en que versión de C++ builder trabajas, con que base de datos en concreto quieres hacerlo e incluso hasta en que esquema trabaja tu aplicación, si es local, cliente/servidor, o multicapa.

Un abrazo.

Darío Perdiguero

manuonda escribió:

SI PODRIAN AYUDAR PARA CONECTAR UNA BASE DE DATOS A MI APLICACION
TENGO ENTENDIDO QUE SE UTILIZAN UNAS DLL PARA ESTO
ADEMAS QUISIERA SABER COMO PUEDO OBTENER INFORMACION Y MOSTRAR EN MI
APLICACION DE LOS DISPOSITIVOS QUE TENGO INSTALADO EN MI COMPUTADORA
SI YA EXISTE ALGUNA VLC PARA ESTO O NO SE.


#41 De: "Javier L" <jvlachman@...>
Fecha: Jue, 24 de Abr, 2008 12:46 pm
Asunto: Re: Como utilizo GDI+ en C++ Builder 2006 o 2007
jlblackmore
Sin conexión Sin conexión
Enviar correo Enviar correo
 
En este sitio puedes encontrar todos los pasos para poder usar GDI+
con el C++ Builder:
http://www.leunen.com/cbuilder/gdiplus.html
Saludos.

--- En cbuilderdeargentinaparaelmundo@..., "josedc99"
<josedc99@...> escribió:
>
> Mi pregunta es como inicializo GDI+ en C++ Builder 2006 o 2007...
> incluyo las lineas #define STRICT e #include <gdiplus.h> pero no
> compila. Obtengo un mensaje unresolved external... me podrian decir
que
> tengo que hacer o configurar para que compile... les agradezco
> anticipadamente....
>

#40 De: "josedc99" <josedc99@...>
Fecha: Mié, 23 de Abr, 2008 10:40 pm
Asunto: Como utilizo GDI+ en C++ Builder 2006 o 2007
josedc99
Sin conexión Sin conexión
Enviar correo Enviar correo
 
Mi pregunta es como inicializo GDI+ en C++ Builder 2006 o 2007...
incluyo las lineas #define STRICT e #include <gdiplus.h> pero no
compila. Obtengo un mensaje unresolved external... me podrian decir que
tengo que hacer o configurar para que compile... les agradezco
anticipadamente....

#39 De: "willy_gd" <willy_gd@...>
Fecha: Mié, 23 de Abr, 2008 9:16 pm
Asunto: Base de datos
willy_gd
Sin conexión Sin conexión
Enviar correo Enviar correo
 
Hola, mi nombre es Guillermo, y necesito saber que libreria, o
complemento puedo usar para trabajar con SQL. Uso el Borland C++
Builder Version 6.0.

Ya probe con una libreria de Postgres y con otra llamada "SQLAPI++"
pero ninguna de las 2 me funciono. Que hay con BDE?? Si sirve, podrian
pasarme alguna pagina que tenga manuales?. Desde ya MUCHISIMAS
GRACIAS. Saludos.

#38 De: "josedc99" <josedc99@...>
Fecha: Mié, 23 de Abr, 2008 3:27 pm
Asunto: Hola a todos desde Perú
josedc99
Sin conexión Sin conexión
Enviar correo Enviar correo
 
Mi nombre es Jose Diaz Camacho de Perú, un saludo a todos y en Especial
a Oscar Darío Perdiguero, estuve presente en el Developer Days III y
mis sinceras felicitaciones a Oscar, espero que podamos compartir
muchas experiencias... vengo de trabajar en Delphi por varios años y
ahora estoy incursionando en C++ Builder......  hasta pronto..  saludos.

#37 De: "francisco_benavides_murillo" <francisco_benavides_murillo@...>
Fecha: Mar, 22 de Abr, 2008 8:52 pm
Asunto: Errores de mi parte
francisco_be...
Sin conexión Sin conexión
Enviar correo Enviar correo
 
Parece que me presente en la seccion de los temas.
Las disculpas del caso.

Ya vi que los mensajes se escriben aquí
(n)

#36 De: "francisco_benavides_murillo" <francisco_benavides_murillo@...>
Fecha: Mar, 22 de Abr, 2008 8:47 pm
Asunto: OpenGL en C++ Builder
francisco_be...
Sin conexión Sin conexión
Enviar correo Enviar correo
 
Me gustaría compartir con ustedes una clase que he llamado TglCanva
para tener la funcionalidad de OpenGL en un Panel de C++ Builder.

He visto que existen otros códigos al respecto, pero me parecen muy
complicados con muchas funciones innecesarias.

La filosofía es mantener un panel (en negro o en otro color) que me
permita utilizar, en dos eventos básicos, los comandos propios de
OpenGL. Me gustaría escuchar sugerencias sobre todo en algunos
detalles que aún no tengo muy claros sobre esta implementación.

A mi este codigo me ha funcionado bien, en mi maquina, hasta ahora.

Por favor, me pueden escribir las obervaciones al correo
fbenavm@...

Una última observación. En anteriores versiones de Borland, debía
invocar el comando implib para acceder la funcionalidad de OpenGL en
Borland. Pero en esta ultima version, ya eso no es necesario.
Esto es algo que realmente todavía no entiendo.

Saludos !!!



************* TglCanva.h *********************

#ifndef TglCanvaH
#define TglCanvaH
//--------------------------------------------------------------------
-------
#include <SysUtils.hpp>
#include <Classes.hpp>
#include <Controls.hpp>
#include <ExtCtrls.hpp>
//--------------------------------------------------------------------
-------

#include <math.h>
#include <GL/glu.h>
#include <GL/gl.h>

#include "Col3.h"
#include "TransColor.h"

/*
	 No es necesario definir un nuevo tipo de evento para esto tan
simple
	 He incorporado el PanelNumber para informar el número de
panel que está
	 siendo renderizado al momento de llamar el evento
*/

typedef void __fastcall (__closure *TglEvent)(TObject* Sender, int
PanelNumber);


/*
	 Quizás sea mas conveniente heredar la clase TglCanva de una
clase más simple.
	 La clase TPanel fue la que menos problemas me dió en este
caso.
*/
class PACKAGE TglCanva : public TPanel
{
private:

/*
	 Estos handles son los que aparecen en casi todas las ayudas
para crear una
	 ventana de OpenGL usando Win32.
*/
	 HDC hdc;
	 HGLRC hrc;

	 int pixelFormat;
	 /*
		 Col3 es una estructura de tres componentes double
para crear los colores
	 */
	 Col3 backColor;

	 /*
		 El renderizado se hace con dos eventos: p y r.
		 p es el evento que se dispara en OnSetParameters.
		 r OnRender
	 */
	 TglEvent p;
	 TglEvent r;

	 /*
		 Decidí dar dos booleanos para inicializar los
gráficos y para renderizar
		 Sólo con el objeto de agregar un mecanismo de control
adicional
	 */
	 bool init;
	 bool render;

	 /*
		 Debo sobreescribir el evento OnResize de Panel.
		 La idea es evitar el flickering durante el cambio de
tamaños.
	 */
	 TNotifyEvent resizeEvent;

	 /*
		 Es posible desplegar varios paneles con la
funcionalidad de OpenGL
		 El panelnumbre mantiene esta informacion.
	 */
	 unsigned int panelNumber;

	 /*
		 Para tener la posibilidad de usar varios paneles creo
una seccion critica
		 para hacer los renderizados de cada uno de ellos, sin
que Windows "confunda"
		 los distintos Handles o el refrescamiento sea llamado
de forma asincrónica
	 */
	 static unsigned int panelCounter;
	 static CRITICAL_SECTION  criticalSection;

	 /*
		 Los metodos setPixelFormatDescriptor, setParams y
setHandlers aparecen
		 en la ayuda de Borland con OpenGL y son bien
conocidos. Establecen
		 los handles para las areas en donde se despliegan los
openGL
	 */
	 void setPixelFormatDescriptor();
	 void setParams();
	 void setHandlers();

	 /*
		 Se sobreescriben estos metodos en el objeto Panel.
		 No se ocupa el refrescamiento de la VCL sino el que
refresca de acuerdo
		 al renderizado de OpenGL
	 */
	 void __fastcall CreateWnd();
	 void __fastcall Paint();

	 /*
		 El manejo de los colores en el IDE me decido hacerlo
de manera un poco
		 diferente, para que aparezca el color de fondo que me
decido a usar
		 en la imagen.
		 Aparece el color usado en el comando glClearColor(**);
	 */

	 TColor __fastcall getBackColor();
	 void __fastcall setBackColor(TColor color);


	 /*
		 Para evitar el "flicker" desagradable producido por
el refrescamiento
		 de Windows. Este Mesage_Map se encarga del mensaje
EraseBackground
		 de Windows, para que refresque de acuerdo a OpenGL
evitando ese
		 flickering.
	 */

	 MESSAGE void __fastcall EraseBackground(TMessage& message);

	 BEGIN_MESSAGE_MAP

		 MESSAGE_HANDLER
(WM_ERASEBKGND,TMessage,EraseBackground);

	 END_MESSAGE_MAP(TPanel);

protected:
	 void __fastcall ResizeGraphics(TObject* sender);

public:
	 __fastcall TglCanva(TComponent* Owner);
	 __fastcall ~TglCanva();
	 void __fastcall parameters(TglEvent p);
	 /*
		 Se sobreescribe el método Refresh
	 */
	 void __fastcall Refresh();
	 /*
		 Este método llama los eventos SetParameters y Render
en ese orden
	 */
	 void __fastcall Reset();
	 /*
		 Inicializa el Panel con la funcionalidad de OpenGL
	 */
	 void initGraphics();
	 /*
		 Cada vez que se llama a este proceso, el panel se
pone en modo de
		 renderizado o no renderizado, según sea el caso.
	 */
	 void switchRender();

	 /*
		 Total de paneles con la funcionalidad de OpenGL
	 */
	 static unsigned int totalPanels();

__published:
	 __property TColor Color = {read = getBackColor , write =
setBackColor};

/*
	 Se sobreescribe este metodo sobre el Panel
*/
	 __property TNotifyEvent OnResize = {read = resizeEvent, write
= resizeEvent};

/*
	 Eventos que aparecen en el IDE para imprimir.
	 La idea es usar OnSetParams para definir el tipo de
proyección, luces u
	 otros aspectos que no cambian con el refrescado
*/

	 __property TglEvent OnSetParameters = {read = p , write =
parameters};

/*
	 En OnRender se despliega la escena
*/
	 __property TglEvent OnRender = {read = r, write = r};
};


#endif

************* TglCanva.cpp *********************

#include <vcl.h>
#include <float.h>

#pragma hdrstop

#pragma package(smart_init)

#include "TglCanva.h"
#include "TransColor.h"
//--------------------------------------------------------------------
-------
// ValidCtrCheck is used to assure that the components created do not
have
// any pure virtual functions.
//

static inline void ValidCtrCheck(TglCanva *)
{
	 new TglCanva(NULL);
}

unsigned int TglCanva::panelCounter = 0;
CRITICAL_SECTION TglCanva::criticalSection;

//--------------------------------------------------------------------
-------
__fastcall TglCanva::TglCanva(TComponent* Owner)
	 : TPanel(Owner)
{
	 this->init = false;
	 this->render = false;
	 this->hdc = 0;
	 this->hrc = 0;
	 this->p = 0;
	 this->r = 0;
	 this->resizeEvent = 0;
	 this->TPanel::OnResize = this->ResizeGraphics;
	 /*
		 Se inicializa la seccion critica. Se utiliza cada vez
que se hace
		 un refrescamiento en alguno de los paneles
	 */
	 if (TglCanva::panelCounter == 0)
	 {
		 InitializeCriticalSection(&TglCanva::criticalSection);
	 }
	 /*
		 Para evitar errores de redondeo en Borland
	 */
	 _control87(MCW_EM, MCW_EM);
	 /*
		 Contador de paneles. Se usa para liberar, al final,
la seccion critica.
	 */
	 TglCanva::panelCounter++;
	 this->panelNumber = TglCanva::panelCounter;
}

void TglCanva::setHandlers()
{
	 /*
		 Este handle los solicita OpenGL
	 */
	 this->hdc = this->GetDeviceContext(this->WindowHandle);
	 this->setPixelFormatDescriptor();
	 this->hrc = wglCreateContext(hdc);
	 this->setParams();
}

void TglCanva::initGraphics()
{
	 this->init = true;
	 this->setHandlers();
	 this->Refresh();
}

__fastcall TglCanva::~TglCanva()
{
	 if (this->hdc)
	 {
		 wglMakeCurrent(hdc,0);
		 ReleaseDC(this->hdc,this->hrc);
		 wglDeleteContext(this->hrc);
	 }
	 TglCanva::panelCounter--;
	 if (TglCanva::panelCounter == 0)
	 {
		 DeleteCriticalSection(&TglCanva::criticalSection);
	 }
}

void TglCanva::setPixelFormatDescriptor()
{

	 PIXELFORMATDESCRIPTOR pfd = {
		 sizeof(PIXELFORMATDESCRIPTOR),
		 1,
		 PFD_DRAW_TO_WINDOW | PFD_SUPPORT_OPENGL |
PFD_DOUBLEBUFFER,
		 PFD_TYPE_RGBA | PFD_SUPPORT_COMPOSITION ,
		 24,
		 0,0,0,0,0,0,
		 0,0,
		 0,0,0,0,0,
		 32,
		 0,
		 0,
		 PFD_MAIN_PLANE,
		 0,
		 0,0,0
		 };
	 this->pixelFormat = ChoosePixelFormat(hdc, &pfd);
	 SetPixelFormat(this->hdc, this->pixelFormat, &pfd);
}

void __fastcall TglCanva::CreateWnd()
{
	 this->TPanel::CreateWnd();
	 if (this->init)
	 {
		 this->setHandlers();
	 }
}

void TglCanva::setParams()
{
	 /*
		 Cada vez que se hacen llamadas a OpenGL se entra en
la seccion critica.
		 En set Parameterse se establece el color de fondo,
asi como otras llamadas
		 que no se hace necesario repetir durante el
refrescamiento.
	 */

	 EnterCriticalSection(&TglCanva::criticalSection);
	 wglMakeCurrent(this->hdc,this->hrc);
	 glClearColor(this->backColor.R,this->backColor.G,this-
>backColor.B, 1);
	 if (this->p != 0)
	 {
		 this->p(this, this->panelNumber);
	 }
	 LeaveCriticalSection(&TglCanva::criticalSection);
}

void __fastcall TglCanva::Paint()
{
	 if (this->init)
	 {
		 /*
			 Aquí sí se hace el renderizado. Por esta
razón se entra en la
			 sección crítica, se establece el ViewPort y
el contexto.
			 Naturalmente, se limpia la pantalla
		 */
		 EnterCriticalSection(&TglCanva::criticalSection);
		 wglMakeCurrent(this->hdc,this->hrc);
		 glViewport(0,0,this->Width,this->Height);
		 glClear(GL_COLOR_BUFFER_BIT);
		 if ((this->r != 0)&&(this->render))
		 {
			 this->r(this, this->panelNumber);
		 }
		 glFlush();
		 SwapBuffers(hdc);
		 LeaveCriticalSection(&TglCanva::criticalSection);
	 }
	 else
	 {
		 this->TPanel::Paint();
	 }
}

void TglCanva::switchRender()
{
	 /*
		 Se enciende o se apaga el renderizado
	 */
	 if ((this->hdc)&&(!render))
	 {
		 this->render = true;
	 }
	 else
	 {
		 this->render = false;
	 }
	 this->Paint();
}

void __fastcall TglCanva::parameters(TglEvent p)
{
	 this->p = p;
}


TColor __fastcall TglCanva::getBackColor()
{
	 return(Col3ToColor(this->backColor));
}


void __fastcall TglCanva::setBackColor(TColor color)
{
	 this->backColor = ColorToCol3(color);
	 if (this->init)
	 {
		 this->setParams();
	 }
	 else
	 {
		 this->TPanel::Color = Col3ToColor(this->backColor);
		 this->Refresh();
	 }
}

/*
	 El reset, refresca los parametros. El Refresh, solo el
renderizado
*/
void __fastcall TglCanva::Reset()
{
	 this->setParams();
	 this->Paint();
}

void __fastcall TglCanva::Refresh()
{
	 this->Paint();
}

void __fastcall TglCanva::ResizeGraphics(TObject* sender)
{
	 if (this->init)
	 {
		 this->Reset();
		 if (this->resizeEvent)
		 {
			 this->resizeEvent(this);
		 }
	 }
	 else
	 {
		 this->TPanel::Paint();
	 }
}

/*
	 El mensaje de borrar el fondo, no se procesa
*/
MESSAGE void __fastcall TglCanva::EraseBackground(TMessage& message)
{
	 if (this->init)
	 {
		 message.Result = 1;
	 }
}

unsigned int TglCanva::totalPanels()
{
	 return(TglCanva::panelCounter);
}






//--------------------------------------------------------------------
-------
namespace Tglcanva
{
	 void __fastcall PACKAGE Register()
	 {
		 TComponentClass classes[1] = {__classid(TglCanva)};
		 RegisterComponents("glPanels", classes, 0);
	 }
}
//--------------------------------------------------------------------
-------

************* TCol3.h *********************

//--------------------------------------------------------------------
-------

#ifndef Col3H
#define Col3H
//--------------------------------------------------------------------
-------

__declspec (dllexport) struct Col3
{
	 long double R;
	 long double G;
	 long double B;
	 long double alpha;
	 Col3();
	 Col3(long double, long double, long double);
};

#endif

************* TCol3.cpp *********************

//--------------------------------------------------------------------
-------


#pragma hdrstop

#include "Col3.h"

//--------------------------------------------------------------------
-------

#pragma package(smart_init)

Col3::Col3()
{
	 this->R = 0;
	 this->G = 0;
	 this->B = 0;
	 this->alpha = 1;
}


Col3::Col3(long double R, long double G, long double B)
{
	 this->R = R;
	 this->G = G;
	 this->B = B;
	 this->alpha = 1;
}

//--------------------------------------------------------------------
-------

************************ TransColor.h **************************

#ifndef TransColorH
#define TransColorH
//--------------------------------------------------------------------
-------

#include <vcl.h>
#include "Col3.h"

const int bconst = 65536;
const int gconst = 256;


Col3 ColorToCol3(TColor color)
{
	 Col3 ret;
	 int R,G,B;

	 int y = abs(color);
	 if (y > 16777216)
	 {
		 int u = (int)((double)y / 16777216);
		 y = y - u * 16777216;
	 }
	 B = (int)((double)y / (double)bconst);
	 y = y - B*bconst;
	 G = (int)((double)y / (double)gconst);
	 y = y - G*gconst;
	 R = (int)(y);

	 ret.R = (double)(R)/256;
	 ret.G = (double)(G)/256;
	 ret.B = (double)(B)/256;
	 return(ret);
}

TColor Col3ToColor(Col3 color)
{
	 TColor c;
	 c = (TColor)((int)(color.B * (double)gconst * (double)bconst)
		 + (int)(color.G * (double)bconst)
		 + (int)(color.R * (double)gconst));
	 return(c);
}

#endif

#35 De: "francisco_benavides_murillo" <francisco_benavides_murillo@...>
Fecha: Mar, 22 de Abr, 2008 8:12 pm
Asunto: Hola a todos !!
francisco_be...
Sin conexión Sin conexión
Enviar correo Enviar correo
 
Hola a todos !

Mi nombre es Francisco Benavides y soy de Costa Rica. Tengo una Msc en
Matemática Aplicada de la Universidad de Costa Rica y estoy interesado
en temas de graficación por computadora.

Me gusta el Borland C++ por que es el entorno de desarrollo con el que
he aprendido a programar. La posibilidad de tener un verdadero RAD y el
entorno en general, me parece verdaderamente amigable.

Actualmente estoy interesado en graficacion por computadora y los
metodos matematicos que la soportan: multirresolucion, ondeletas,
elementos finitos, radiosidad.

Temas todos ellos que estoy estudiando con mucho interés. Mis
debilidades siempre están en algunos detalles técnicos del lenguaje
(todavía programo con el libro en la mano) y deseo, honoestamente,
conocer mejor todas las reconditeces de ese lindo entorno de desarrollo
que es C++ Builder.

#34 De: "manuonda" <manuonda@...>
Fecha: Lun, 14 de Abr, 2008 5:23 pm
Asunto: conectar C++ Builder con SQL SERVER O ACCES Y OTRA MAS
manuonda
Sin conexión Sin conexión
Enviar correo Enviar correo
 
SI PODRIAN AYUDAR PARA CONECTAR UNA BASE DE DATOS A MI APLICACION
TENGO ENTENDIDO QUE SE UTILIZAN UNAS DLL PARA ESTO
ADEMAS QUISIERA SABER COMO PUEDO OBTENER INFORMACION Y MOSTRAR EN MI
APLICACION DE LOS DISPOSITIVOS QUE TENGO INSTALADO EN MI COMPUTADORA
SI YA EXISTE ALGUNA VLC PARA ESTO O NO SE.

#33 De: Oscar Darío Perdiguero <dperdisysa@...>
Fecha: Dom, 6 de Abr, 2008 11:37 am
Asunto: Re: [bcb-arg] conectar el builder c++ con postgres
dperdisysa
Sin conexión Sin conexión
Enviar correo Enviar correo
 
Que versión de Builder estás usando¿?

Darío Perdiguero

soulchicano escribió:

Hola mi nombre es rensso mora y tengo un problema, jeje la verdad es
que no encuentro la forma de conectarme con una base de datos postgres,
y tengo que hacer un aplicativo para una empresa y ya tiene esa bd, les
agradecere mucho si pueden ayudarme con eso


#32 De: "soulchicano" <soulchicano@...>
Fecha: Dom, 6 de Abr, 2008 3:10 am
Asunto: conectar el builder c++ con postgres
soulchicano
Sin conexión Sin conexión
Enviar correo Enviar correo
 
Hola mi nombre es rensso mora y tengo un problema, jeje la verdad es
que no encuentro la forma de conectarme con una base de datos postgres,
y tengo que hacer un aplicativo para una empresa y ya tiene esa bd, les
agradecere mucho si pueden ayudarme con eso

#31 De: Oscar Darío Perdiguero <dperdisysa@...>
Fecha: Jue, 3 de Abr, 2008 1:22 am
Asunto: Re: [bcb-arg] Hola a todos, me presento
dperdisysa
Sin conexión Sin conexión
Enviar correo Enviar correo
 
Hola Nicolás.

Veo que estás un poco complicado. Pero lamentablemente, a distancia es díficil brindarte una solución de este tipo. Si vos querés, yo tengo algún apunte que si no está publicado en la sección documentos, puedo publicarlo y luego te puedo ir sacando de algunas dudas, pero en realidad prepararte como lo dice la palabra está fuera de mi alcance dadas las distancias. En todo caso me escribes a mi mail y te voy ayudando, pero te digo algo: es indispensables que desarrolles la lógica de la programación antes de usar cualquier lenguaje y como eso está fuera de tus intereses (por los objetivos de tu carrera) entiendo la dificultad de que "te guste" el asunto. Por otro lado si me tomás en cuenta y aprendés la lógica de la programación, vas a ver que a la larga te sirve de mucho y que tenés en tus manos una herramienta de trabajo mental y creativo invalorable.

Un abrazo

Darío Perdiguero
Administrador

Nicolás Palacio escribió:

Que tal todos soy Nicolás Palacio y soy estudiante de ingenieria
industrial en la U.C.A. Este año, lamentablemente, estoy cursando
Informática por 3ra vez. Necesito apoyo para preparar la materia y
quería saber si alguno de ustedes me podía decir de alguien o
recomendarme un profesor particular de C++ que sea de Capital Federal.
Muchas Gracias,

Nico Palacio


#30 De: Nicolás Palacio <nikpalacio@...>
Fecha: Mar, 18 de Mar, 2008 4:07 am
Asunto: Hola a todos, me presento
nikpalacio
Sin conexión Sin conexión
Enviar correo Enviar correo
 
Que tal todos soy Nicolás Palacio y soy estudiante de ingenieria
industrial en la U.C.A. Este año, lamentablemente, estoy cursando
Informática por 3ra vez. Necesito apoyo para preparar la materia y
quería saber si alguno de ustedes me podía decir de alguien o
recomendarme un profesor particular de C++ que sea de Capital Federal.
Muchas Gracias,

Nico Palacio

#29 De: "Almu" <almupeich_pg1982@...>
Fecha: Sáb, 8 de Mar, 2008 11:14 pm
Asunto: Re: DBGrid
almupeich_pg...
Sin conexión Sin conexión
Enviar correo Enviar correo
 
--- En
cbuilderdeargentinaparaelmundo@..., "jlocaranza"
<jlocaranza@...> escribió:
>
> Buenas,
>
> Dos preguntas,
> 1- Querria saber de un buen libro del Builder 2006 que me
recomienden,
> busque en Cuspide y en el ateneo y no lo tienen (por lo menos en la
web).
>
> 2- Necesito la siguiente funcionalidad pero no encuentro el
componente
> adecuado:
>   La aplicacion es un facturador, y me falta armar el cuerpo de la
> factura:
>    CodProd, Desc, Cant, P.Unit, Total
>   Quiero armarlo con una grilla y en el campo del codigo q el
usuario
> al hacer doble click se abra el popup de busqueda de productos.
>   La grabacion al SQL se realiza al clickear un boton y no sobre el
> mismo Grid, o sea el grid es para cargar nomas, no tendria q estar
> atado a ningun datasource o Tabla, el resto, ventana y las busqueda
de
> prods ya estan hechas, me falta el grid este u otra forma de lograr
lo
> mismo.
>
> Saludos y muchas gracias!!
>


Puedes usar el control DBGrid, que te sirve para mostrar ( y si
quieres editar también) los datos de una tabla. Este control tienes
que vincularlo a la tabla que quieres mostrar, ya que asi te la
muestra automaticamente, luego para sacar el form de búsqueda, usa el
evento OnDblClick del control para lanzar el form. Asi mismo, puedes
usar el control navegador para moverte por el grid y para editar y
gestionar la informacion de forma que no tendrias que sacar otro form
para esos cometidos.

Espero que esto te sirva. Si lo ves algo enredado, ponme un mail y te
mando un ejemplito que tengo por ahi de una tabla de presupuestos.

Un Saludo desde España. Almu

#28 De: "jlocaranza" <jlocaranza@...>
Fecha: Vie, 7 de Mar, 2008 5:59 pm
Asunto: DBGrid
jlocaranza
Sin conexión Sin conexión
Enviar correo Enviar correo
 
Buenas,

Dos preguntas,
1- Querria saber de un buen libro del Builder 2006 que me recomienden,
busque en Cuspide y en el ateneo y no lo tienen (por lo menos en la web).

2- Necesito la siguiente funcionalidad pero no encuentro el componente
adecuado:
   La aplicacion es un facturador, y me falta armar el cuerpo de la
factura:
    CodProd, Desc, Cant, P.Unit, Total
   Quiero armarlo con una grilla y en el campo del codigo q el usuario
al hacer doble click se abra el popup de busqueda de productos.
   La grabacion al SQL se realiza al clickear un boton y no sobre el
mismo Grid, o sea el grid es para cargar nomas, no tendria q estar
atado a ningun datasource o Tabla, el resto, ventana y las busqueda de
prods ya estan hechas, me falta el grid este u otra forma de lograr lo
mismo.

Saludos y muchas gracias!!

#27 De: "mlitorichard" <litorichard@...>
Fecha: Mar, 4 de Mar, 2008 5:55 pm
Asunto: Teechart mediciones
mlitorichard
Sin conexión Sin conexión
Enviar correo Enviar correo
 
Hola:
Quisiera saber como realizar mediciones sobre el componente teechart.
Ya tengo los datos, que me vienen desde un archivo, pero necesito hacer
mediciones sobre ellos.
Estas mediciones además se deben poder hacer cuando se hace un zoom.

Saludos y gracias.

#26 De: "nykuong" <nykuong@...>
Fecha: Jue, 28 de Feb, 2008 4:39 pm
Asunto: [bcb-arg] Re: Qhick Reports
nykuong
Sin conexión Sin conexión
Enviar correo Enviar correo
 
Que tal Oscar acerca del Quick report si lo tengo ligado el data set a
la consulta del SQL, la forma como hago la consulta es la siguiente:
en esta consulta me selecciona las facturas pagadas de las fechas que
selecciono,
así como por número de serie.
efsele->Text: es una campo para tomar las fechas que consulto
ep->Text: es un campo donde se si las facturas estan pagadas, no
pagadas o canceladas
Con esta consulta ya solo la mando al Quick Report y me da los datos
que requiero.
Query1->SQL->Add("Select * from factura where Pfecha like '"+efsele-
>Text+"%'and Status like '"+ep->Text+"' and Nfactura is not null and
like '"+eserie->Text+"%'");

Gracias de antemano

#25 De: Oscar Darío Perdiguero <dperdisysa@...>
Fecha: Sáb, 23 de Feb, 2008 10:35 am
Asunto: Re: [bcb-arg] Re: Qhick Reports
dperdisysa
Sin conexión Sin conexión
Enviar correo Enviar correo
 
Hola,

Me parece que estás encarando mal el asunto desde el lado del sql ya que tu consulta debiera (según mi entender) ser algo com esto:

SELECT
    C.NROCLIENTE,
    C.APELLIDO,
    C.NOMBRE,
    C.T O D O S  L O S  C A M P O S  Q U E  Q U I E R A S  I N C L U I R  D E  L A  T A B L A  C L I E N T E S,

    F.TOTAL,
    F.
T O D O S  L O S  C A M P O S  Q U E  Q U I E R A S  I N C L U I R  D E  L A  T A B L A  F A C T U R A S
FROM
    FACTURAS F
    INNER JOIN
       CLIENTES C
    ON
       (F.NROCLIENTE = C.NROCLIENTE)
WHERE
    F.STATUS = 'PAGADO' (O EL VALOR QUE CORRESPONDA)

En principio esto te traería todo lo necesario para crear el reporte

En segundo lugar necesito saber cual es la estructura del reporte, y lo que quiero saber puntualmente es:

1.- si pusiste como dataset del reporte la consulta que contiene los datos a imprimir
2.- si pusiste al menos un nivel de agrupamiento por cliente

espero te sirva de algo todo esto

Te mando un abrazo cordial

Oscar Darío Perdiguero
Administrador

      

nykuong escribió:

Hola que tal, fijate que no he podido resolver mi problema, no hago la
consulta en un inner join, hago una consulta primero ejemplo:
selecciono a todos los clientes que no han pagado alguna factura, la
tabla seria algo asi: Ncliente (Numero de Cliente) factura (número de
factura) status (pagado, no pagado, cancelado); me da mi conjunto de
resultados que envio a un quick report, pero necesito que de la tabla
de clientes (se encuentra tambien Ncliente y sus generales del mismo)
me pueda hacer la subbusqueda del resultante de mi primer consulta, par
que en el quick report muestre El nombre del cliente y sus adeudos y no
solamente el número de cliente con los adeudos, lo que complica saber
que clientes son.

O si hay otra forma de realizarlo

Agradezco de antemano todo el apoyo que se me pueda brindar
Muchas gracias


#24 De: "nykuong" <nykuong@...>
Fecha: Mié, 20 de Feb, 2008 8:56 pm
Asunto: Re: Qhick Reports
nykuong
Sin conexión Sin conexión
Enviar correo Enviar correo
 
Hola que tal, fijate que no he podido resolver mi problema, no hago la
consulta en un inner join, hago una consulta primero ejemplo:
selecciono a todos los clientes que no han pagado alguna factura, la
tabla seria algo asi: Ncliente (Numero de Cliente) factura (número de
factura) status (pagado, no pagado, cancelado); me da mi conjunto de
resultados que envio a un quick report, pero necesito que de la tabla
de clientes (se encuentra tambien Ncliente y sus generales del mismo)
me pueda hacer la subbusqueda del resultante de mi primer consulta, par
que en el quick report muestre El nombre del cliente y sus adeudos y no
solamente el número de cliente con los adeudos, lo que complica saber
que clientes son.

O si hay otra forma de realizarlo

Agradezco de antemano todo el apoyo que se me pueda brindar
Muchas gracias

#23 De: Oscar Darío Perdiguero <dperdisysa@...>
Fecha: Mar, 5 de Feb, 2008 7:38 pm
Asunto: Re: Qhick Reports
dperdisysa
Sin conexión Sin conexión
Enviar correo Enviar correo
 
Hola. Perdón por la demora. Lograste solucionar este problema? si no
es así, con gusto te doy una mano para que lo logres. Pero en
principio me gustaría saber si estás haciendo una consulta uniendo las
dos tablas con un join.

Atte

Oscar Darío Perdiguero
Administrador.


--- En cbuilderdeargentinaparaelmundo@..., "nykuong"
<nykuong@...> escribió:
>
> Ayuda con quick reports, el problema que tengo es que genero un un
> quick report en base a una consulta SQL y me genera bien los datos,
> pero requiero sacar otro dato en base a esa consula SQL, ejemplo hago
> la consula SQL por numero de cliente(en mi tabla de facturas) y
> requiero hacer la busqueda de la consulta SQL para poder saber el
> nombre en mi tabla de clientes, se puede decir que mi llave es numero
> de cliente, he intentado con un reporte  master/detail pero no logro
> hacer este reporte, cualquier ayuda se los agradezco.
>
> Gracias
>

#22 De: "nykuong" <nykuong@...>
Fecha: Jue, 6 de Dic, 2007 3:36 pm
Asunto: Qhick Reports
nykuong
Sin conexión Sin conexión
Enviar correo Enviar correo
 
Ayuda con quick reports, el problema que tengo es que genero un un
quick report en base a una consulta SQL y me genera bien los datos,
pero requiero sacar otro dato en base a esa consula SQL, ejemplo hago
la consula SQL por numero de cliente(en mi tabla de facturas) y
requiero hacer la busqueda de la consulta SQL para poder saber el
nombre en mi tabla de clientes, se puede decir que mi llave es numero
de cliente, he intentado con un reporte  master/detail pero no logro
hacer este reporte, cualquier ayuda se los agradezco.

Gracias

#21 De: Oscar Darío Perdiguero <dperdisysa@...>
Fecha: Vie, 9 de Nov, 2007 10:42 am
Asunto: Fw: Borland CodeGear - Capacitación Oficial Rad Studio 2007 by UNISOLUTIONS
dperdisysa
Sin conexión Sin conexión
Enviar correo Enviar correo
 
Señores. Atentos a este evento. No pude enviarlo antes pero hace mucho que se esperaba buena capacitacón oficial en nuestro pais. A no quedarse afuera.
 
Oscar Darío Perdiguero
Administrador
C++ Builder de Argentina para el Mundo
 
----- Original Message -----
Sent: Monday, November 05, 2007 5:40 PM
Subject: Borland CodeGear - Capacitación Oficial Rad Studio 2007 by UNISOLUTIONS


Mensajes 21 - 50 de 81   Más reciente  |  < Más reciente  |  Más antiguo >  |  Más antiguo
Avanzado

Copyright © 2009 Yahoo! de Argentina S.R.L. Todos los derechos reservados.
Política de privacidad - Condiciones del Servicio - Reglas de la comunidad de Yahoo! - Ayuda