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

 

 


Tema destacado: Usando Git para manipular el directorio de trabajo, el índice y commits (segunda parte)


  Mostrar Mensajes
Páginas: [1] 2 3
1  Programación / Programación C/C++ / Re: [DLL] Como crearla y como utilizarla. en: 6 Abril 2017, 01:09 am
En resumen, una DLL contiene funciones, que cualquier programa externo podrá usar.

Para crear una DLL, Code::Blocks tiene un template ya hecho.

Para utilizar una DLL, pues Microsoft mismo tiene un tutorial con ejemplos: https://msdn.microsoft.com/en-us/library/ms810279.aspx

Gracias ivan

Gente les comparto este Tutorial

https://xhrist14n.wordpress.com/2012/04/22/como-crear-una-dll-con-codeblocks/

Saludos
2  Programación / Programación C/C++ / [DLL] Como crearla y como utilizarla. en: 5 Abril 2017, 04:26 am
Buenas estoy interesado en crear mi propia DLL e implementarla en C++.

Por lo que estuve viendo en Visual Studio la implementación es prácticamente muy facil.

Pero estoy interesado en saber como hacerlo a la vieja escuela.
Actualmente trabajo con Code::Blocks

Alguien podría interiorizarme en el funcionamiento de las DLLS, Estuve leyendo pero la verdad es que hay información muy confusa.

Cualquier nocion o conocimiento que tengan respecto a DLLS es bienvenido.

Y ni hablar de documentación...

Muchas gracias gente!

3  Programación / Programación C/C++ / Re: [Consulta] Winsock, envío de binarios. en: 5 Abril 2017, 04:23 am
Gracias, voy a intentarlo!

Saludos. PD= Recuperé mi usuario por eso respondo con jmv1994
4  Programación / Programación C/C++ / Re: [Problema Reto C/C++] Sumatoria de Rangos de Impares en: 14 Marzo 2017, 01:46 am
Me gustaría saber si podrían explicarme el código de la función que compartió ivancea96

Disculpen la molestia.
5  Programación / Programación C/C++ / Re: Error en Ciclo "For" (C) en: 9 Marzo 2017, 06:16 am
Agrega a tus pedidos un campo que se llame int estadoPedido.

Cuando creas tu vector de pedidos tenes que inicializar todos los pedidos en 0.

Despues a la hora de dar de alta un pedido ademas de cargar todos los campos, vas a tener que poner el estado del pedido en 1.

Entonces despues en la función de mostrar usas un if para que solamente muestre los pedidos cuyo estado sea 1.

Es lo más práctico, si no entendes te escribo el código.. lo ideal sería que leas con atención lo que escribí y lo hagas por tu cuenta, creo que en 15 minutos lo tenes.

1. Agregar un int estadoPedido (A la estructura tpedido.
2. Recorrer el array de pedidos poniento todos en estado 0.
3. Modificar la funcion de alta de pedido para que cuando cargue el pedido ponga el estado del mismo en 1.
4. Modificar la funcion de mostrar pedidos para que solo muestre el pedido si su estado es uno.
 
6  Programación / Programación C/C++ / El mejor camino para programar GUI en: 28 Diciembre 2016, 02:45 am
Estoy interesado en que me den su opinion.

Cual es el mejor camino para desarrollar un programa con interface gráfica en c++ y porqué?

Particularmente me interesa saber esto por que estuve codeando interface gráfica sin ningún framework o herramienta que trabaje con etiquetas... es decir, sólo código y la verdad es que resulta un poco tedioso.

7  Programación / Programación C/C++ / Re: ejercicio en c++ en: 10 Diciembre 2016, 01:36 am
Las funciones son principalmente utilizadas para reducir la cantidad de líneas de código, transformar problemas en tareas, re-utilizar el código escrito, tornar la construcción del programa a una forma modular y acotar su corrección a unas pocas líneas.

Una de las principales herramientas de un programador.

Ahora si te interesa ser mucho más organizado, optimo y eficiente tu código deberías introducirte a el paradigma orientado a objetos.

Objetos = Propiedades + Métodos.

De esta forma, aplicando el método de abstracción correspondiente podrías escribir código re-utilizable y óptimo.

No sé que más decirle.
8  Programación / Programación C/C++ / Re: cifrado c++ problema con strings en: 9 Diciembre 2016, 19:41 pm
Ok en primera instancia por lo que ví en el if de la función de cifrar tenes un error, deberías poner '==' en vez de '='.

Ahora, deberías generar una comunicación entre tus funciones es decir, no les pasas argumentos? Una no retorna valores?

Planteate un algoritmo de cifrado y pensá el diagrama de tus funciones.

Algo así.

int recibirString(char *miString) - Funcion que pide el string y lo valida.
//
// La función almacena en miString la cadena obtenida.
// Retorna -1 si hay error o 0 si todo está bien.

char cifrarString(char *miString) - Funcion que agarra caracter a caracter y lo convierte, retorna la cadena cifrada.

Después deberías hacer una función que interprete una cadena cifrada y devuelva la descifrada.


9  Programación / Programación C/C++ / Re: Arreglo dinamico string en: 9 Diciembre 2016, 19:23 pm
Primero asignas el espacio en memoria a tu string y luego le preguntas a el usuario de que tamaño va a ser el string?

Es decir, como puede el string tener como indice maximo N, cuando siquiera inicializaste el valor de n?

Deberías crear el puntero a string --> Pedir la cantidad de indices (valor de n) --> Y después construir el string.
10  Programación / Programación C/C++ / Re: Calificaciones en C - Error al mostrar. en: 9 Diciembre 2016, 16:28 pm
Sí, eso lo entiendo, pero a ver.. recurramos a un poco de teoría básica de punteros.

Supongamos que tenes un entero, este entero lo vas a almacenar en X espacio de memoria, este espacio va a tener su respectiva dirección de memoria.. en fin, lo importante es que una dirección de memoria corresponde a un espacio.

Cuando usas el WHILE, imagino que lo que estás intentando hacer es recorrer varias direcciones de memoria para ir leyendo los diferentes espacios, es decir en donde se encuentran tus "alumnos en este caso".

El tema es el siguiente, vos lo que estás haciendo es cada vez que almacenas un alumno aplicas a el puntero p1 un malloc, asignando un nuevo espacio en memoria para un nuevo alumno, el problema es que al hacer eso perdes la referencia.

Código
  1. alumno *puntero = NULL;
  2. // Actualmente el puntero apunta a null.
  3.  
  4. agregarAlumno(puntero);
  5. // Se agrega un alumno
  6. // Actualmente puntero apunta a la dirección 1.
  7. agregarAlumno(puntero);
  8. // Se agrega otro alumno
  9. // Actualmente puntero apunta a la dirección 2.
  10.  
  11. // Ahora no tenes manera de volver a apuntar a la dirección uno.
  12. // De modo que perdiste la referencia a tu alumno anterior.
  13. // Por lo que no es posible "mostrar tu alumno"
  14.  
  15.  

Para evitar esto vas a tener que trabajar con algún arreglo.
Podría ser un array de punteros del tipo alumno.

Es decir un array que almacene punteros.

Código
  1. int CANTIDAD_DE_ALUMNOS = 10;
  2. alumno **alumnos[CANTIDAD_DE_ALUMNOS];
  3.  
  4. // De esta manera tendrías espacio para almacenar diez alumnos.
  5. // Lo único que deberías hacer es almacenar la dirección de memoria en alguno de //los indices
  6.  
  7. // Por ejemplo.
  8.  
  9. alumno *puntero = NULL;
  10. agregarAlumno(puntero);
  11. // Puntero apunta a la direccion 1 y tiene un alumno cargado.
  12.  
  13. alumnos[0] = p1; // Guardamos la dirección del alumno anterior.
  14. // alumnos[0]  apunta a la direccion 1
  15.  
  16. agregarAlumno(puntero);
  17. // Puntero apunta a 2 y tiene un alumno cargado.
  18.  
  19. alumnos[1] = p1; // Guardamos la dirección del alumno anterior.
  20. // alumnos[0]  apunta a la direccion 2
  21.  
  22.  
Páginas: [1] 2 3
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines