|
Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.
Mensajes - softevolutions
1
« en: Miércoles 25 de Abril de 2012, 09:27 »
2
« en: Sábado 10 de Marzo de 2012, 07:25 »
Yo llevo años usando Report Manager. Es un conjunto de componentes muy faciles de utilizar que entre otros aspectos permiten la exportación a PDF.
3
« en: Miércoles 22 de Febrero de 2012, 22:10 »
¿te has asegurado que en DataSet están todas las columnas?
4
« en: Lunes 14 de Noviembre de 2011, 20:07 »
cc3260.DLL
Esto es una librería de C++ Builder.
Necesitarás tener instalado el C++ Builder para que te funione.
Cuando se distribuye una aplicación, esa y otras dos librerias deben ir adjuntas en la instalación, sino, poco se puede hacer.
5
« en: Domingo 6 de Noviembre de 2011, 12:01 »
Lo tienes MUUUUUUUUUUCHO mas facil.
Yo trabajo todo en base de datos mediante instrucciones SQL, no hago lo mismo que has hecho tu, linea a linea de detalle, lo trabajo en bloque.
Te pongo un ejemplo.
Si tu tabla de detalle se llama "detalle" y entre otros campos tienes el id_articulo y la cantidad, puedes hacer esto:
update inventario set existencias = existencias + detalle.cantidad from detalle where detalle.id_articulo = inventario.id_articulo and detalle.factura = XXXX
esto vincula ambas tablas, detalle e inventario mediante el id_articulo.
Espero te sirva de orientacion.
6
« en: Domingo 6 de Noviembre de 2011, 11:42 »
¿accedes desde el propio equipo que hace de server?
¿accedes desde un equipo de la red?
¿tienes habilitada la gestión de dominios mediante server?
A ver si puedes indicarnos un poco mejor el escenario donde trabajas
7
« en: Domingo 6 de Noviembre de 2011, 10:51 »
La creación dinámica de componentes se realiza con la palabra reservada "new".
Ejemplo para crear un TEdit dinámicamente:
TEdit *miedit = new TEdit(this); //this hace referencia al formulario donde lo vas a colocar, sería su Owner
Una vez creado, debes incluirlo en el TPanel, TForm o donde quieras, con la función InsertControl o InsertComponent, según sea lo que vayas a incluir.
Esto no es exáctamente lo que pides, pero espero que te sirva de guía. Sino, vuelve a preguntar e intentaremos ser más concisos.
Por cierto, ¿por que no usas mejor el componente TClientSocket?
8
« en: Domingo 6 de Noviembre de 2011, 10:42 »
Yo trabajo con formularios que cargan los componentes dinámicamente leyendo de una base de datos y trabajo siempre con bucles que recorren componentes y haciendo en cada uno algún proceso, como por ejemplo las validaciones.
La respuesta de gabio2 es la que mejor te puede ayudar.
9
« en: Sábado 15 de Octubre de 2011, 19:12 »
El error lo tienes al concatenar la consulta, ya que no dejas un espacio en blanco al concatenar el WHERE. Si haces un showmessage de la cadena lo verás mejor. void __fastcall TForm1::Button4Click(TObject *Sender) { AnsiString laConsulta; laConsulta = "DELETE FROM tsolicitantes<espacio en blanco>"; // SE BORRA LA PRIMER FILA DE LA TABLA laConsulta = laConsulta + "WHERE Id_Solicitantes = '1'"; qPrimario->Close(); qPrimario->SQL->Clear(); qPrimario->SQL->Add(laConsulta); // hasta acá todo bien qPrimario->ExecSQL(); // aparentemente acá se produce el problema y no se como solucionarlo MessageDlg("Los datos se Borraron exitosamente", mtInformation, TMsgDlgButtons() << mbOK, 0); }
10
« en: Sábado 15 de Octubre de 2011, 19:09 »
¿No puedes acceder a la base de datos desde ningún equipo que no sea desde el propio servidor?
Si es así es que debes indicar a MySQL que acepte conexiones externas.
11
« en: Domingo 5 de Junio de 2011, 10:59 »
Edit1->Text = Date().FormatString("dd/mm/yyyy");
12
« en: Sábado 14 de Mayo de 2011, 11:08 »
Codigo fuente de una version particular del juego del ahorcado. Permite jugar tanto con palabras como con frases. Util para ver el uso de TStringList arrays y Canvas. Ejemplo muy util tambien para ver como se generan y gestionan componentes creados en tiempo de ejecucion y su posteriro localizacionn. Autor: Manuel Rodriguez http://www.softevolutions.esDescarga: http://www.softevolutions.es/download/Ahorcado.zip
13
« en: Jueves 5 de Mayo de 2011, 11:08 »
Puedes generar automaticamente las imagenes creanto dinámicamente los correspondientes componentes TImage de cada imagen. Puedes empezar mirando el siguiente mensaje que muestra como crear dinamicamente un boton, usa el mismo principio para las imagenes. http://www.solocodigo.com/foros/viewtopic.php?f=16&t=45660
14
« en: Miércoles 27 de Abril de 2011, 09:34 »
Disculpa si te lié más que ayudar, pero creo que se aprende más con pistas que con el codigo exacto.
La sentencia se construye de la siguiente forma:
SendMessage(Handle del componente que recibe el mensaje, CM_DIALOGKEY, VK_TAB, 0);
En el caso de un TEdit sería;
SendMessage(Edit1->Handle, CM_DIALOGKEY, VK_TAB, 0);
Pon este codigo para que se ejecute cuando pulses en el Edit1 la tecla enter. Hazlo en el evento OnKeyDown. Verás que el foco pasará a otro componente, siempre y cuando tengas en el formulario de prueba algun componente que pueda recibir el foco.
15
« en: Martes 26 de Abril de 2011, 10:25 »
Recuerda que en windows, para que el foco pase de un componente a otro, se utiliza el TABULADOR.
De todas formas, aquí tienes una pista:
Utilizo el mensaje CM_DIALOGKEY y el parametro VK_TAB para enviarselo al componente TEdit en cuestion cuando se pulse la tecla ENTER.
Para envair mensajes usa la funcion SendMessage.
Esto hará que cuando pulses la tecla ENTER, el programa envie un mensaje indicando que se ha pulsado la tebla TABULADOR. Eso hará que el foco pase al siguiente componente que pueda recibirlo.
16
« en: Martes 19 de Abril de 2011, 18:35 »
Así se crea un boton desde codigo: TButton *mi_boton = new TButton(this); mi_boton->Name = "mi_boton"; mi_boton->Caption = "mi_boton"; mi_boton->Top = 50; mi_boton->Left = 100; this->InsertControl(mi_boton);
17
« en: Martes 5 de Abril de 2011, 08:48 »
Busca la propiedad CharCase y ponla a UpperCase, eso hace que se escriba en mayusculas.
Los objetos de tipo AnsiString tienen también una funcion UpperCase() que devuelve el contenido del objeto en mayusculas.
18
« en: Lunes 7 de Marzo de 2011, 09:43 »
Para poder ayudarte, muestra aquí la estructura de las tablas y las claves primarias y ajenas de las mismas que las relacionan. Así podremos tener una mejor idea de lo que necesitas.
Por cierto, este mensaje te lo podrán responder mejor en el foro de la base de datos correspondiente ya que al parecer tu problema es con SQL, no con c++builder.
19
« en: Miércoles 16 de Febrero de 2011, 20:25 »
Puedes hacerlo de muchas maneras diferentes.
¿Muestras la informacion en un DBGRid?
¿Muestras solo un formulario vacio con esos botones y los huecos para que se rellene la informacion que solicitas?
¿Usas componentes conectados a datos como los DataControl? Cambia mucho si los usas o no
Boton 1 Puedes hacerlo vinculando tu formulario a otro con un DBGrid y al hacer dobleclick, que el segundo formulario le indique al primero el ID del registro seleccionado y muestre la informacion en consecuencia
Boton 2 Si usas componentes conectados a datos, solo tienes que hacer un Update de la informacion con el componente que uses para la conexion a los datos.
Boton 3 Busca la funcion Delete del componente que uses para la conexion a datos
Boton 4 Igual que el Boton 3 pero buscando Insert o Append, segun donde esté el cursos y donde quieras insertar el registro
Boton 5 Usa Post
Como digo al principio, lo que quieres hacer hay MIL formas para hacerlo. Y todas muy distintas
20
« en: Miércoles 16 de Febrero de 2011, 20:18 »
Usa como referencia la carpeta donde se ha instalado el programa.
Puedes obtenerla con la funcion ExtractFilePath(Application->ExeName);
Application->ExeName devuelve el nombre y ruta completa de la instancia de tu aplicacion
21
« en: Martes 15 de Febrero de 2011, 13:20 »
Incluye la funcion SenalClick en el .h
Esta funcion incluye el componente Boton a la lista de componentes del TForm this->InsertControl(Boton);
Es lo mismo que haces con la linea Boton->Parent=Panel1; que quedaría Panel1->InsertControl(Boton);
Antes de cerrar el TForm con Close();, debes liberar la memoria que ocupa el componente Boton.
22
« en: Viernes 11 de Febrero de 2011, 19:10 »
Puedes usar estos pasos como guia:
1) Si conoces la ruta donde estan las imagenes, crea un array de componentes TImage o prueba a hacerlo con un bucle e indicando en el nombre el id de la imagen que estás mostrando
for( int i = 1; i < cuantas_imagenes+1; i++) { //creo el componente TImage * img * new TImage(this); //indico el nombre al componente, concatenando el codigo de imagen img->Name = "Imagen_" + String(i); //cargo la imagen img->Picture->LoadFromFile(ruta_imagen); //ten en cuenta que tienes que reubicar las imagenes o puedes tambien alinearlas a la izquierda, derecha o arriba //asigno el evento OnClick en tiempo de ejecucion img->OnClick = MiEventoOnClick; //incluyo el componente a la lista de componentes del TForm en cuestion this->InsertControl(img); }
Por otro lado debes tener creado el evento OnClick, pero uno personalizado
void __fastcall MiEventoOnClick(TObject *sender) { //hago lo que quiero al pulsar en la imagen }
Espero que te ayude
23
« en: Lunes 24 de Enero de 2011, 20:03 »
En algún sitio debe estar la base de datos. Recuerda que MySQL es la base de datos más comun en los alojamientos web. Instala en tu equipo XAMPP, es super facil de instalar. Ahí tienes MySQL. Es descomprimir un .zip y levantar los servicios de MySQL. Una vez termines las pruebas, preparar una distribucion con la base de datos es relativamente sencillo. MySQL te permitirá muchas mas cosas que Paradox, como estabas usando antes. Mira este post viewtopic.php?f=16&t=44839
24
« en: Lunes 24 de Enero de 2011, 19:02 »
Te recomiendo que uses MySQL, pero no hace falta virtualizar nada. Usa los componentes ADO y para la conexión usa el ultimo ODBC de MySQL.
Busca información sobre cadenas de conexion de TADOConnection y MySQL. Esto te permite trabajar con una base de datos ubicada en un servidor web y acceder a los datos desde cualquier parte del mundo.
25
« en: Jueves 20 de Enero de 2011, 20:28 »
Lo harás según la forma que uses para conectarte. ¿Con que componentes te conectas a la base de datos? Busca en esta direccion http://www.marteens.com/caraoculta.htm el libro de "La cara oculta de c++Builder". A mi me ayudó a empezar en su dia.
|
|
|