• Viernes 19 de Abril de 2024, 14:08

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 - chenech

Páginas: 1 2 3 [4]
76
C/C++ / Re:Problema para separar numeros en sus digitos
« en: Viernes 14 de Marzo de 2014, 00:51 »
Hola, no entiendo lo que quieres separar, por ejemplo 1,123,1234,12345 como lo quieres separar, por las comas?

77
C++ Builder / Re:Capturar excepciones en c++
« en: Martes 11 de Marzo de 2014, 19:25 »
No, la parte del código que quieras controlas la debes poner en el bloque try, en el catch lo que se debe ejecutar si da una excepción, por norma, yo siempre pongo los tres puntos, a no ser que quieras controlar solo un tipo de excepción, tanto en el bloque try como catch puede meter tanto código como quieras, pero no abuses, creo que penaliza el ejecutable, no recuerdo si en tamaño o velocidad, algo he leído de eso, de todas formas, yo lo uso solo donde creo que pueda tener excepciones, como por ejemplo al grabar un registro en la base de datos, y no siempre, para una división, compruebo antes que no sea cero, por ejemplo, asi me evito las excepciones.
Código: [Seleccionar]
try
{
  dValor = dNumero / dOtro;  // aquí hago una división, si dOtro valiese cero, se ejecutaría el código de catch
}
catch (...)
{
  ShowMessage("Error en la división, valor cero");
}

78
C++ Builder / Re:Capturar excepciones en c++
« en: Martes 11 de Marzo de 2014, 17:32 »
Hola, puedes controlar muchas excepciones específicas, pero para controla todas de golpe puedes usar los tres puntos en el catch, controlas cualquiera, tanto un error en una base de datos, como un cálculo, dividir por cero, etc., el formato es:

Código: [Seleccionar]
try
{
  Código a ejecutar
}
catch (...)
{
  Código a ejecutar en caso de excepción, por ejemplo un ShowMessage de aviso
}

79
C/C++ / Re:consulta sobre un problema en C++
« en: Martes 11 de Marzo de 2014, 17:27 »
Si quieres que salte en el primer bucle si se cumple la condición tendrías que aceptar el dato antes de entrar al while.
Sería poner el código de aceptar los datos en una función aparte y llamarla antes del while y luego dentro de el para no repetir código.
Un saludo.

80
C/C++ / Re:consulta sobre un problema en C++
« en: Martes 11 de Marzo de 2014, 01:39 »
OK, que te parece entonces si lo dejas con el while y quitas el if else como tu lo tenias y dejas solo el:
if (litros != 0)

Así se saldría por el while cuando sea -1.

Un saludo.

81
C/C++ / Re:consulta sobre un problema en C++
« en: Martes 11 de Marzo de 2014, 00:30 »
Hola Nachete, yo usaría un do while ya que la compraración del while que tu haces nunca se cumplirá, ya que rompes el bucle con el break, entonces esta de mas esa comparación en el while, mira a ver que te parece asi:

Código: [Seleccionar]

// Ej. 2.16: ej02_16.cpp
// Calcular los kilometros recorridos por litro y el promedio
#include <iostream>

using std::cout;
using std::cin;
using std::endl;
using std::fixed;

#include <iomanip>

using std::setprecision;

// la función main comienza la ejecución del programa
int main()
{
double distancia;     // declara distancia
double litros;        // declara litros
double resultado;     // declara resultado
double totalkms = 0;  // declara kilometros totales
double totLitros = 0; // inicializa total litros

do
{
// indica la entrada y obtiene el valor a partir del usuario (litros)
// -1 para terminar el ciclo while
cout << "Introduzca los litros utilizados (-1 en adelante): ";
cin >> litros;

if ( litros != -1 ) // comprueba si la entrada es -1
{ // si la entrada no fue -1 continua con este bloque
// indica entrada y obtiene valor del usuario (kilometros recorridos)
cout << "Introduzca los kilometros recorridos: ";
cin >> distancia;

resultado = distancia / litros; // calcula los kilometros por litro
totLitros += litros;            // calcula el total de litros consumido
totalkms += distancia;          // calcula el total de distancia recorrida

// despliega resultados por tanque
cout << fixed << setprecision ( 6 );
cout << "Los kilometros / litro para este tanque fueron " << resultado
<< "\n" << endl;
}

} while ( litros != -1 );

// despliega el promedio a partir de las variables "totLitros" y "totalkms"
cout << "\nEl promedio total de kilometros/litro fue de "
<< totalkms / totLitros << endl;

return 0; // indica terminación exitosa

} // fin de la función main

82
OpenGL / Re:Error en un ejercicio OpenGL
« en: Viernes 21 de Febrero de 2014, 11:19 »
hay una llamada a esta función "___tmainCRTStartup" por lo que veo en el error, que hace una referencia a una librería que no tienes incluida en el proyecto, te falta declarar alguna lib e imagino que es esta "MSVCRTD.lib".

83
OpenGL / Re:Error en un ejercicio OpenGL
« en: Viernes 21 de Febrero de 2014, 00:30 »
Si, fíjate que la llamada a la función glrotatef se le pasan cuatro parámetros, el primero es el angulo y luego 0, 1 y 0, pues angulo debe ser un dato definido, por ejemplo:
int angulo;
Y tener un valor:
angulo = 45;
o lo que sea, pero un dato numérico, también podrias cambiar angulo por el valor y asi no tendrías que definir esa variable, por ejemplo: glrotatef(45, 0, 1, 0).
Ese dato en la llamada a la función especifica el ángulo de rotación, en grados.
Espero haberte podido aclarar. Un saludo.

84
OpenGL / Re:Error en un ejercicio OpenGL
« en: Jueves 20 de Febrero de 2014, 22:47 »
Te falta definir el "angulo", mira que parámetros se le pasan a la llamada a la función glrotatef y define el "angulo", o bien en el cuerpo de la función o bien de manera global y si es integer o short, por ejemplo.

85
C++ Builder / Re:Error desconocido en c++
« en: Miércoles 19 de Febrero de 2014, 19:53 »
Entonces era un problema en la creación del campo en la base de datos, no en el programa, casi seguro que era el formato de la fecha.
Por otro lado, ahí no te puedo ayudar, nunca he trabajado con SQL Server en ninguna de sus versiones y ni siquiera se como va, lo siento.
Un saludo.

86
C++ Builder / Re:Error desconocido en c++
« en: Martes 18 de Febrero de 2014, 20:56 »
Para probar si es la fecha se me ocurre que quites ese campo del grid y del enlace con la conexión con la base de datos, si te hace el insert, entonces esta claro que es ese dato. Seria otra forma de ir depurando, campo por campo que vayas insertando.

87
C++ Builder / Re:Error desconocido en c++
« en: Martes 18 de Febrero de 2014, 01:57 »
OK, a que va a ser el formato de la fecha, como tienes definido el campo en la base de datos?
Date o Timestamp?
si es Date solo debes poner la fecha, pero si es Timestamp, pon fecha mas hora en el formato dd/MM/yyyy, HH:mm. Creo que el separador es la coma o el punto y coma o un espacio entre la fecha y la hora, no he usado ese tipo de campo.
Otra cosa que se me ocurre es el formato de la fecha, separador de / o -.
O el formato dd/MM/yyy o MM/dd/yyy, etc ...
Ve haciendo combinaciones a ver.

88
C++ Builder / Re:Error desconocido en c++
« en: Lunes 17 de Febrero de 2014, 18:24 »
Por lo que dices esta claro que es algún dato en ese campo, pega aquí la parte del código donde te da el error, imagino que cuando vas cargando el grid 2 a ver si vemos algo extraño, un saludo.

89
C++ Builder / Re:Error desconocido en c++
« en: Viernes 14 de Febrero de 2014, 20:08 »
OK, me imagino que para insertar los registros recorrerás las filas del Grid, igual es que lees una línea mas de la que tiene y la ultima es null.
Un saludo.

90
C++ Builder / Re:Error desconocido en c++
« en: Jueves 13 de Febrero de 2014, 22:33 »
Hola, podrias especificar que componentes estas usando y poner la parte del código que te da error?
DBExpress, ADO, BDE, etc.
También prueba el debug y con F8 vas línea a línea a ver cual te da error, suele pasar por dejar algún campo a NULL, por distinto tipo, o sea, a un integer asignar un char, etc.
Podria ser por muchas causas.

91
C++ Builder / Re:relacionar dos tablas de bases de datos diferentes
« en: Martes 21 de Enero de 2014, 20:28 »
Hola, puede poner un ejemplo de las dos tablas, que campos tienen y que campos deseas visualizar?

92
C/C++ / Error con array
« en: Domingo 19 de Enero de 2014, 20:08 »
Código: [Seleccionar]
for (i=0;i<=2;i++)
{
for (j=0;j<=2;j++)
{
printf("A[%d, %d] = ",i,j);
scanf("%d",&A[i][j]);
}
}
printf("Los numeros de la matriz son : \n");
for (i=0;i<=2;i++)
{
for (j=0;j<=2;j++)
{
printf("%d ",A[i][j]);
}
}

93
C/C++ / Re:Violación del segmento core
« en: Lunes 6 de Enero de 2014, 13:04 »
Hola vgonzalez, me imagino que estas intentando compilar para Linux, no dispongo de compilador para ello ni Linux, pero por lo que veo por encima en el código, creo que deberías asignar en la llamada a la función clone un puntero al malloc:

(void*) malloc ... y lo que sigue

Prueba así a ver, un saludo.

94
int cod=StrToInt(Edit1->Text);
AnsiString Consulta="Insert into mitabla values('+Cod+')";

int cod=StrToInt(Edit1->Text);
AnsiString Consulta = "Insert into mitabla values(";
Consulta = Consulta + cod;
Consulta = Consulta + ")";

Si el dato es numérico en la base de datos no te hacen falta las comillas simples en caso de que sea alfanumérico:

int cod=StrToInt(Edit1->Text);
AnsiString Consulta = "Insert into mitabla values('";
Consulta = Consulta + cod;
Consulta = Consulta + "')";

Aunque yo lo haría así:

Query1->SQL->Add("INSERT INTO MITABLA VALUES (:PCAMPO)")
Query1->ParamByName("PCAMPO")->AsInteger = StrToInt(Edit1->Text);

95
C++ Builder / Re:mensaje en evento minimize
« en: Miércoles 18 de Diciembre de 2013, 01:09 »
En el evento OnMinimize del form principal ejecuta:

  Application->Title = "Texto que desees";

96
C++ Builder / Re:Borland c++
« en: Miércoles 18 de Diciembre de 2013, 01:00 »
Yo tengo este código para animar una fuente y que vaya cambiando de tamaño, lo podrías aplicar a cualquier cosa, espero te sirva, te defines un timer y una variable, la inicio con 8 y la voy incrementando hasta 36 que vuelve a empezar, así con el evento del timer voy mostrando un label cambiando de tamaño cada segundo.

  if(sTimer > 36)
    sTimer = 8;
  Label1->Font->Size = sTimer;
  sTimer++;

Páginas: 1 2 3 [4]