elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Security Series.XSS. [Cross Site Scripting]


  Mostrar Temas
Páginas: [1]
1  Programación / Programación C/C++ / [DUDA]Propiedades o constantes en: 23 Mayo 2012, 02:40 am
Hola,

Estoy creando un programa que usa varias clases, el problema es que no se como programar las clases. Para que quede mas claro, un ejemplo; tengo una clase Rectangulo, esta clase se encarga de dibujar un rectángulo de dos colores distintos, un color para el contorno y otro color para el relleno. Los colores ya estan definidos dentro de la aplicacion; Rojo para el contorno y Verde para el relleno. Como ya sé que colores quiero que tenga mi rectangulo, deberia de establecerlos como constantes de la clase Rectangulo:
Código
  1. class Rectangulo
  2. {
  3.    public:
  4.        Rectangulo();
  5.    private:
  6.        static const int _penColor = Rojo;
  7.        static const int _brushColor = Verde;
  8. };
  9.  

O debería de establecerlos como propiedades de la clase y ya luego en la función main tener definidas las constantes:
Código
  1. class Rectangulo
  2. {
  3.    public:
  4.        Rectangulo(int penColor, int brushColor);
  5.        // ... getters y setters de los colores ...
  6.    private:
  7.        int _penColor;
  8.        int _brushColor;
  9. };
  10.  
  11. ...
  12.  
  13. #define PENCOLOR Rojo
  14. #define BRUSHCOLOR Verde
  15.  
  16. void main()
  17. {
  18.     Rectangulo rect1(PENCOLOR, BRUSHCOLOR)
  19. }
  20.  
Y otra cosa, en el ultimo código, a pesar de que siempre en mi código voy a utilizar el constructor, para que definir getters y setter, ademas de que ya se establecieron los colores dentro de la aplicación.
2  Programación / Programación C/C++ / [Ayuda]Crear un arrow con GraphicsView de Qt en: 3 Octubre 2011, 04:57 am
En el siguiente codigo tengo implementado una flecha que une dos figuras(shapes). Esta flecha esta dividida por dos secciones; La primera es la linea en si, la que une a las dos figuras y la segunda es la cabeza de flecha o el apuntador.

La linea de la primera sección es dibujada desde el centro del primer elemento hasta el centro del segundo elemento.
La punta principal del apuntador esta posicionada en el centro del segundo elemento. /*[0]*/

/*[0]*/ Este es el problema, si el elemento en el cual se encuentra el apuntador es demasiado grande, el apuntador podria no mostrarse. Por ejemplo:



En el ejemplo el elemento fue configurado para que el color de rellenado fuera transparente y se pudiera ver el apuntador, en otro caso no se veria el apuntador.

Bueno entonces que es lo que pido? Lo que quiero saber es si es posible de alguna forma identificar el punto de interseccion entre la linea de la primera sección y el segundo elemento. Como lo hacen en el ejemplo que viene con QtCreator llamado diagramscene, pero en este ejemplo utilizan la interseccion entre lineas y lo que yo necesito es una linea y alguna figura.

Código
  1. QLineF::IntersectType intersectType =
  2.         polyLine.intersect(centerLine, &intersectPoint);



Aqui el codigo de la funcion paint:
Código
  1. {
  2.    painter->setPen(QPen(Qt::black, 2));
  3.    painter->setBrush(QBrush(Qt::black, Qt::SolidPattern));
  4.  
  5. // Line
  6.    // El primer punto se localiza en el centro del primer elemento
  7.    QPointF p1(_firstShape->pos().x() + (_firstShape->boundingRect().width() / 2),
  8.               _firstShape->pos().y() + (_firstShape->boundingRect().height() / 2));
  9.  
  10.    // El segundo punto se localiza en el centro del segundo elemento
  11.    QPointF p2(_secondShape->pos().x() + (_secondShape->boundingRect().width() / 2),
  12.               _secondShape->pos().y() + (_secondShape->boundingRect().height() / 2));
  13.  
  14.    // Creamos la linea
  15.    QLineF line(p1, p2);
  16.  
  17.    // Dibujamos la linea
  18.    painter->drawLine(line);
  19.  
  20. // Arrow Head
  21.    double angle = ::acos(line.dx() / line.length());
  22.    if (line.dy() >= 0)
  23.        angle = TwoPi - angle;
  24.    qreal arrowSize = 10;
  25.  
  26.    // Calculamos los dos puntos de la arrow head
  27.    QPointF destArrowP1 = p2 + QPointF(sin(angle - Pi / 3) * arrowSize,
  28.                                              cos(angle - Pi / 3) * arrowSize);
  29.    QPointF destArrowP2 = p2 + QPointF(sin(angle - Pi + Pi / 3) * arrowSize,
  30.                                              cos(angle - Pi + Pi / 3) * arrowSize);
  31.  
  32.    // Dibujamos la arrow head
  33.    painter->drawPolygon(QPolygonF() << line.p2()/*[0]*/ << destArrowP1 << destArrowP2);
  34.    // Simplemente cambiando line.p2() por el punto de interseccion estaria solucionado el problema
  35. }

Resultado del codigo:

Como pueden ver solo se puede ver un apuntador porque los otros estan ocultos por el elemento.

Saludos, Sluger.
3  Programación / Programación General / Nuevo proyecto en: 29 Agosto 2011, 04:37 am
*Primero que nada pido disculpas si este tema no debe de ir aquí*

Comento que estoy en busca de personas que gusten de programar en C++/Qt en ratos libres. Que estén deseosas por participar y
aportar a este proyecto que básicamente/inicialmente consiste en un editor de diagramas de flujo utilizando el Framework
Graphics View de Qt.

El proyecto ya esta algo "avanzado" por no decir que esta casi en ceros; por ejemplo ya tengo programado varios módulos
básicos e importantes a utilizar, así como la GUI. Además el proyecto tiene varias "novedades" inexistentes en los editores
actuales(creo).

Tareas a realizar:
    - Buscar y encontrar soluciones a problemas.
    - Programar.
    - Analizar. *
    - Diseñar. *
    (*) No necesariamente.

Requerimientos:
    - Conocer C++/Qt o el Framework Graphics View de Qt.
    - Apegarse a los ideales actuales del proyecto.

Recompensa:
    - Créditos. (Nombre del programador en el "About")

¡Que quede claro que no se requieren de personas que a la semana abandonen el proyecto! de ser así, no se obtendrá la "recompensa".
Ademas cabe destacar que esto no es del todo profesional, solo se busca "aprender" a desarrollar algún software en equipo.
Los detalles del proyecto se darán a conocer a aquellas personas que realmente entren.

Enviar la solicitud por MP o respondiendo esta entrada, se tiene que explicar por que se quiere entrar.

Se espera un ambiente agradable y de aprendizaje y no de presiones.

Saludos :D Cualquier duda comentar....
4  Programación / Programación General / Creen que el lenguaje de programacion D tiene futuro? en: 10 Mayo 2011, 21:32 pm
Buenas, pues eso, ustedes que opinan sobre aprender este lenguaje frente a C++.

En mi opinion este lenguaje es el futuro. Cuando programo en el, no se porque tan pocas personas lo conocen si es como Python y C convinados. Para mi es lo maximo. Pero no se si meterme de lleno en este lenguaje o seguir ampliando los horizontes con C++.

Algunos links con informacion por si estan interesados en saber un poquito mas acerca de este lenguaje para que puedan opinar:
http://es.wikipedia.org/wiki/D_(lenguaje_de_programación)
http://en.wikipedia.org/wiki/D_(programming_language)
http://www.digitalmars.com/d/2.0/index.html
http://www.digitalmars.com/d/2.0/comparison.html
http://www.amazon.com/exec/obidos/ASIN/0321635361/classicempire
5  Programación / Programación C/C++ / [DUDA]Insertar superindice en un QLineEdit en: 21 Julio 2010, 03:45 am
Estoy tratando de insertar en un QLineEdit un superindice pero se insertan caracteres "raros". Como se deben de insertar superidices? Acaso se puede?  :-(.

Código
  1. ui->LineEdit->setText("&#8308;");
  2.  
Aqui mismo tambien se ven caracteres raros asi que pongo una imagen de un superindice(.com ).


PD: Fue la primera imagen que encontre.  :silbar:

EDITO:
Solo lo he conseguido con QTextEdit:
Código
  1. QTextCharFormat format;
  2. format.setVerticalAlignment(QTextCharFormat::AlignSuperScript);
  3. ui->textEdit->mergeCurrentCharFormat(format);

Gracias, si quieren eliminen el post.
6  Programación / Programación C/C++ / [DUDA]Responsabilidad de la clase o del programador. en: 4 Mayo 2010, 02:19 am
Bueno, por ejemplo, tenemos la clase números  :P en donde solo queremos que se ingresen los números del 1-9 y no el 0.
Código
  1. class numeros
  2. {
  3. private:
  4. int numero;
  5. public:
  6. numeros(int numeros);
  7. };
  8.  

Ahora, es responsabilidad de la clase(el constructor que es el que inicializara la variable según el parámetro) verificar que no exista 0, o es responsabilidad del programador que utiliza la clase verificar si existe un 0 y luego si no existe pasarle como parámetro la variable.
7  Programación / ASM / System("pause"); de C en ASM[DUDA] en: 11 Junio 2009, 06:01 am
Código:
Main:
        ;Mostrar mensaje 'Presione una tecla para continuar . . . '
        ORG 100H
        MOV AH, 09H
        MOV EDX, MesG
        INT 21H
        ;Leer caracter
        MOV AH, 08H
        INT 21H
        INT 20H
Datos:
        MesG DB "Presione una tecla para continuar . . . ", 24H

Tengo las siguientes dudas en el code:
1.-¿Que es lo que significa ORG?
2.-¿Porque donde declaro el identificador MesG tengo que poner 24H? (si no me tira unos simbolos raros)
3.-¿Porque el FASM me compila a .COM y no a .EXE?
4.-¿Haci es como se hace?
8  Programación / ASM / Duda Fasm en: 31 Mayo 2009, 01:25 am
¿Porque cuando compilo con Fasm, Avira me salta diciéndome que el .exe es un TR/Crypt.XPACK.Gen?

salu2, SLUGER
Páginas: [1]
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines