• Domingo 13 de Junio de 2021, 10:06

Mostrar Mensajes

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

Páginas: [1] 2 3 4
1
PHP / Re:Leer php en una plantilla
« en: Miércoles 25 de Abril de 2012, 09:27 »
Necesitas la funcion eval()

http://php.net/manual/es/function.eval.php

2
C++ Builder / Re:Exportar datos a PDF
« 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
C++ Builder / Re:Problema con el DBGrid al conectar con mysql
« en: Miércoles 22 de Febrero de 2012, 22:10 »
¿te has asegurado que en DataSet están todas las columnas?

4
C++ Builder / [Código Fuente] Re:Space Invaders en c++
« 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
SQL Server / Re:Actualizar inventario al eliminar factura
« 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
SQL Server / Re:error en inicio de sesion
« 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
C++ Builder / Re:TCustomWinSocket en c++ builder
« 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
C# / Re:Validación de campo "no vacío"
« 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
C++ Builder / Re:Problema al usar un Query
« 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.



Código: C++
  1. void __fastcall TForm1::Button4Click(TObject *Sender)
  2. {
  3.    AnsiString laConsulta;
  4.    laConsulta = "DELETE FROM tsolicitantes<espacio en blanco>";
  5.  
  6.    // SE BORRA LA PRIMER FILA DE LA TABLA
  7.    laConsulta = laConsulta + "WHERE Id_Solicitantes = '1'";
  8.  
  9.    qPrimario->Close();
  10.    qPrimario->SQL->Clear();
  11.    qPrimario->SQL->Add(laConsulta);     // hasta acá todo bien
  12.    qPrimario->ExecSQL();                     // aparentemente acá se produce el problema y no se como solucionarlo
  13.  
  14.    MessageDlg("Los datos se Borraron exitosamente", mtInformation, TMsgDlgButtons() << mbOK, 0);
  15.  
  16. }
  17.  
  18.  

10
C++ Builder / Re:Acceso a una aplicación con Base de Datos
« 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
C++ Builder / Re: Asignar la fecha actual a un Edit
« en: Domingo 5 de Junio de 2011, 10:59 »
Código: C++
  1. Edit1->Text = Date().FormatString("dd/mm/yyyy");
  2.  

12
C++ Builder / [Código Fuente] Juego del Ahorcado
« 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.es

Descarga: http://www.softevolutions.es/download/Ahorcado.zip

13
C++ Builder / Re: Como crear una rejilla automática con base de datos
« 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
C++ Builder / Re: Uso de la tecla Enter
« 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
C++ Builder / Re: Uso de la tecla Enter
« 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
C++ Builder / Re: Crear boton por codigo
« en: Martes 19 de Abril de 2011, 18:35 »
Así se crea un boton desde codigo:

Código: C++
  1. TButton *mi_boton = new TButton(this);
  2. mi_boton->Name = "mi_boton";
  3. mi_boton->Caption = "mi_boton";
  4. mi_boton->Top = 50;
  5. mi_boton->Left = 100;
  6. this->InsertControl(mi_boton);
  7.  

17
C++ Builder / Re: Mayuscula
« 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
C++ Builder / Re: consultas sql
« 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
C++ Builder / Re: Codificar Botones para una Base de Datos
« 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
C++ Builder / Re: Archivos C++ Builder
« 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
C++ Builder / Re: Asignar evento en tiempo de ejecución
« 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
C++ Builder / Re: Asignar evento en tiempo de ejecución
« 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
C++ Builder / Re: C++ Builder y BD MySQL
« 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
C++ Builder / Re: C++ Builder y BD MySQL
« 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
C++ Builder / Re: Búsqueda y Comparación en Base Datos
« 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.

Páginas: [1] 2 3 4