• Domingo 11 de Mayo de 2025, 14:57

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

Páginas: [1] 2 3 4
1
Visual C++ / Aplicaciones Debug - Release
« en: Miércoles 3 de Noviembre de 2010, 23:55 »
Cordial saludo a todos...y de antemano gracias por cualquier aporte.

Tengo una aplicacion desarrollada en Microsoft Visual C++ 2008 Express Edition. Esta aplicacion fue desarrollada con Compatibilidad con Common Language Runtime (/clr) ya que fue necesario vincular y consultar una DLL y la compilacion del proyecto se hizo bajo modo Debug...

La cuestion es la siguiente...necesitamos distribuir dicha aplicacion y nos hemos topado que solo funciona en los equipos en donde se encuentra instalado el VC++ Express. Googleando detectamos que podiamos esquivar el problema de varias maneras, entre otras con la aplicacion Microsoft Visual C++ 2008 Redistributable Package (x86), que si mal no estoy instala todas las dll y archivos necesarios para que la aplicacion funcione correctamente...sin embargo esta solucion como todas las demas encontradas solo opera si la aplicacion es Release.

Fuimos al proyecto y cambiamos la configuracion (De Debug a Release)...pero ahora nos topamos con otro problema y es que todas las sentencias y consultas sobre la dll nos la reconoce...como si lo hace en debug....mostrandolos como error

Ejemplos

error C2871: 'System' : no existe ningún espacio de nombres con este nombre
error C2653: 'gcnew' : no es un nombre de clase o espacio de nombres

Asumimos....y esperamos que asi sea...que el problema debe solucionarse configurando algo adicional en las propiedades del proyecto pero realmente, aunque se ha investigado no sabemos que mas hacer para superar al menos este escollo

Infinitas gracias por su colaboracion

2
Visual C++ / Re: IDE
« en: Miércoles 26 de Mayo de 2010, 21:49 »
Excelente aporte

Muchas gracias

3
Visual C++ / IDE
« en: Miércoles 26 de Mayo de 2010, 19:23 »
Saludos a todos

Tengo la siguiente inquietud:

He desarrollado junto con algunos compañeros de trabajo un compilador para un SDK propio orientado a terminales. Actualmente nos encontramos con el inconveniente de que no tenemos un IDE para el mismo y quisieramos evitar el desgaste de tener que armar de ceros uno. Creemos que podrimos integrar nuestro compilador a Visual C++ pero no sabemos como hacerlo. Es decir, nos gustaria poder no solo compilar desde visual con nuestro compilador sino tambien poder generar nuestros scripts con algunas de las propiedades que aqui se ven (Visual)  como por ejemplo, cuando se realiza un llamado a una funcion ansic se despliga un pequeño label indicando el propotipo de esta funcion.

Agradeceria cualquier informacion, links, tutoriales, etc al respecto

Gracias!

4
C/C++ / Re: Paso de estrucciones a funciones
« en: Jueves 15 de Abril de 2010, 00:16 »
Saludos y gracias por contestar

En mi caso concreto si tiene sentido pero desafortundamente lo que deseo hacer sencillamente no se puede. Tuve que definirle a la estructura un tipo y mandarla a un .h

Gracias de nuevo

5
C/C++ / Paso de estrucciones a funciones
« en: Miércoles 14 de Abril de 2010, 15:44 »
Cordial saludo amigos

Dado el siguiente caso

Código: C
  1. int a()
  2. {
  3. struct cosa
  4. {
  5.     int a;
  6.     int b;
  7.     int c;
  8. }datos;
  9.  
  10. .......
  11. .......
  12. a=b(&datos);
  13.  
  14. ........
  15. ........
  16. return 0;
  17. }
  18.  
Donde

Código: C
  1. int b(struct cosa *puntero)
  2. {
  3. ............
  4. return 0;
  5. }
  6.  

Desde la funcion b necesito manipular a mi antojo la estructura pero me genera errores a menos que defina la estructura global y ademas debo definir el parametro con el mismo nombre de la estructura....cosas que no quiero.

Alguien me puede indicar como adecuarlo a mis necesidades?

De antemano, Gracias

6
C/C++ / Re: Eliminacion Multiple de Archivos
« en: Viernes 12 de Marzo de 2010, 17:54 »
Excelente sugerencia. Problema solucionado

Hubiese querido que la solucion fuera ANSI C pero que mas da

Gracias!!!! :good:

7
C/C++ / Eliminacion Multiple de Archivos
« en: Jueves 11 de Marzo de 2010, 18:12 »
Saludos a todos

Me he encontrado con el siguiente problema: Teniendo la ruta de un directorio cualquiera (Ej: C:Pruebas)....y una extension de archivo culquiera (Ej: .txt), necesito ubicarme en dicha carpeta y empezar a eliminar cuanto fichero posea tal extension....

A menos que haya googleado mal y mis conocimientos en ansi c no sean los suficientes...tan solo existen funciones definidas para eliminar ficheros especificos en rutas especificas.

Quisiera amigos, me indicaran que procedimientos, funciones, etc podria utilizar para validar la existencia de un directorio y para leer los nombres de todos los archivos de este directorio.

De antemano, Gracias

8
C/C++ / Re: Deciciones de un nuevo juego...
« en: Jueves 8 de Octubre de 2009, 16:58 »
Se parece al clasIco juego de reversi u othello. Yo lo hice hace algun tiempo en C. Revisa el enlace

http://programasenc.blogspot.com/2009/09/reversi-othello.html

S2

9
C/C++ / Re: Funcion Alta, estructuras.
« en: Jueves 1 de Octubre de 2009, 17:23 »
Hay dos razones

1) La varible cont es local y no global por ende cada valor que posea esta variable muere al ejecutarse la totalidad de cada funcion

2) Las funciones donde interviene esta variable son tipo void....es decir, no devuelven nada, creeria que la funcion Alta deberia ser tipo int y retornar cont para asi pasar este valor a la funcion de imprimir

S2

10
C/C++ / Re: TEXTBACKGROUND
« en: Domingo 27 de Septiembre de 2009, 05:32 »
Varias posibilidades

1) Tu compilador no soporta la libreria conio.h...ya sea porque no pertenece a la linea de borland...turbo c, borland, builder, etc...o porque no tienes la emulacion instalada

2) En caso de que se si la soporte...en algunas emulaciones debes de llamar el color no por un numero sino por su nombre

Ej: textbackground(BLUE);

3) Hay emulaciones que definieron la libreria como conio2

S2

11
C/C++ / Re: Funcion Alta, estructuras.
« en: Sábado 26 de Septiembre de 2009, 19:03 »
Cita de: "Luciano9"
Si te fijas, ahí compila... pero de todas formas la lógica no está funcionando muy bien que digamos.
No entiendo muy bien tu programa y no tengo mucho tiempo ahora, pero te doy un consejo. Identá bien las cosas y comentá un poco que hacen tus funciones ya que sino hay que ser un dios para entender lo que vos quisiste pensar!

Saludos espero que te sirva, ahora fijate como arreglarlo :P

Creo que no leiste nada de lo que puse antes, jejeje....yo creo que si esta claro lo que quiere hacer...quiza lo que hace cansino el codigo es el uso de tantas funciones para algo que no da pa tanto y el hecho de que dentro de funciones llame a otras

S2

12
C/C++ / Re: Funcion Alta, estructuras.
« en: Sábado 26 de Septiembre de 2009, 18:56 »
Se me pasó otra cosa....cuidado con el uso de gets y el manejo del buffer de entrada de datos. Al realizar la captura de datos en la funcion Alta quiza necesites un getchar antes de capturar el nombre y el apellido....esto con el fin de liberar el buffer y no se te salte el codigo a solicitarte el documento

S2

13
C/C++ / Re: Funcion Alta, estructuras.
« en: Sábado 26 de Septiembre de 2009, 18:47 »
Varias cosas

1) Defines
Código: C
  1. int menu();
  2.  
e invocas
Código: C
  1. opc=menu(void);
  2.  
Ese void sobra
2)En cuanto a tu funcion Opcion y el manejo de estructuras anidadas

Tu dices

Código: C
  1.  
  2.  
  3. void opcion(int opc,int cant,treg agenda, FILE *arch);
  4.  
  5. int main ()
  6. {
  7.     FILE *arch;
  8.     treg agenda[CANT];
  9.     int opc=0, cant=0;
  10.     opc=menu();
  11.     opcion(opc,cant,agenda[CANT],arch);
  12.     return 0;
  13. }
  14.  

tu estas aclarando que la variable principal del anidamiento de estructuras es agenda[cant] y luego invocas a opcion.
Aca tienes un primer error. Tu no puedes pasar un arreglo de estructuras atraves de una funcion de esa forma. Necesitas valerte de punteros.

Tu funcion podrias definirla asi

Código: C
  1. void opcion(int opc,int cant,treg *agenda, FILE *arch);
  2.  

Y al invocar puedes hacer

Código: C
  1. opcion(opc,cant,&agenda[0],arch); ó opcion(opc,cant,agenda,arch);
  2.  
, da igual

3) Para el caso de la funcion alta pasa algo similar

Pero ya que estas trabajando con funciones anidades (desde opcion invocas a alta), aca tendras que redefinir tu funcion usando ahora otro puntero, pero esta ves doble.

Tu funcion podrias definirla asi

Código: C
  1. void alta (treg **agenda,int cant);
  2.  

E invocarla asi

Código: C
  1. alta(&agenda,cant);
  2.  

Y para capturar los datos puedes manipular este puntero doble como una simple matriz...en donde la fila 0 corresponde a toda la informacion de las estructuras anidadas y cada columna el indice de agenda, que asumo para eso usas la variable cant

Puedes entonces capturar tus datos asi:

En el caso de los campos de la estructura principal

Código: C
  1. puts("Nombre y Apellido:n");
  2.          gets(agenda[0][cant].nyap);
  3.  

Y en el caso de os campos de la estructura anidada haces

Código: C
  1. printf("dia:n");
  2.          scanf("%d",&agenda[0][cant].fecha.dia);
  3.  

Cuidado al capturar datos...debes tener presente el simbolo & cada que captures datos diferentes a cadenas de caracteres. Ese era otro error.

Realizando estas correcciones el codigo seria el siguiente

Código: C
  1. #include <stdio.h>
  2. #include <string.h>
  3. #define MAX 100
  4. #define CANT 1000
  5.  
  6. typedef struct
  7. {
  8.     char nyap [MAX];
  9.     int doc;
  10.     struct
  11.     {
  12.            int dia;
  13.            int mes;
  14.            int anio;
  15.     }fecha;
  16. }treg;
  17.  
  18. int menu();
  19. void opcion(int opc,int cant,treg *agenda, FILE *arch);
  20. void alta (treg **agenda,int cant);
  21. int main ()
  22. {
  23.     FILE *arch;
  24.     treg agenda[CANT];
  25.     int opc=0, cant=0;
  26.     opc=menu();
  27.     opcion(opc,cant,agenda,arch);
  28.     return 0;
  29. }
  30. int menu ()
  31. {
  32.     int op;
  33.     printf("nnn1- Alta personasn2- Baja personasn3- Verificar si el primer nombre es capicuan4- Imprimir datos personan5- Guardar persona en un archivon6- Modificar personan7- Ordenar por Apellidon8- SalirnnElija la Opcion desada:n");
  34.     scanf("%d",&op);
  35.     return op;
  36.  
  37. }
  38. void opcion(int opc,int cant,treg *agenda, FILE *arch)
  39. {
  40.      while(opc!=8)
  41.      {
  42.         if(opc==1)
  43.         {
  44.            alta(&agenda,cant);
  45.         }
  46.         opc=menu();
  47.      }
  48. }
  49.  
  50. void alta (treg **agenda, int cant)
  51. {
  52.      int i;
  53.      while(cant<CANT || i!=-1)
  54.      {
  55.          puts("Nombre y Apellido:n");
  56.          gets(agenda[0][cant].nyap);
  57.          printf("Numero de documento:n");
  58.          scanf("%d",&agenda[0][cant].doc);
  59.          printf("Fecha de Nacimiento:n");
  60.          printf("dia:n");
  61.          scanf("%d",&agenda[0][cant].fecha.dia);
  62.          printf("mes:n");
  63.          scanf("%d",&agenda[0][cant].fecha.mes);
  64.          printf("anio:n");
  65.          scanf("%d",&agenda[0][cant].fecha.anio);
  66.          printf("Presione 1 para continuar, o -1 para finalizarn");
  67.          scanf("%d",&i);
  68.          cant=cant+1;
  69.      }
  70. }
  71.  
  72.  

Con esto compila perfectamente...la logica del codigo te la dejo a vos

S2

14
Retos / Re: Reto Herramienta Lapiz
« en: Sábado 26 de Septiembre de 2009, 02:43 »
Yo acepté el reto y desarrollé mi aplicación en C utilizando la librería allegro.h. Anexo el ejecutable. Si alguien desea ver el código anexo enlace para que lo conozcan. Está todo comentado así que considero puede ser comprendido por cualquiera

http://programasenc.blogspot.com/2009/09/lapiz-paint-allegro.html



S2

15
C/C++ / Re: Problemita para crear un programa
« en: Viernes 25 de Septiembre de 2009, 05:51 »
Cita de: "vago9023"
No men  eso  no es lo que necesito gracias de todas maneras

Es una base...podras ver como funciona la time.h...lo demas corre por tu cuenta

16
C/C++ / Re: Problemita para crear un programa
« en: Jueves 24 de Septiembre de 2009, 20:36 »
Si la idea es hacerlo en ansi c leete algo sobre la libreria time.h y asunto arreglado...quiza esto te sirva de algo

http://programasenc.blogspot.com/2009/03/fecha-y-hora-de-sistema.html

S2

17
C/C++ / Re: Programa con punteros
« en: Domingo 20 de Septiembre de 2009, 00:33 »
Yo crearia un array de cadenas con los numeros de 1 a 20, 30, 40 y 50.
Algo asi como

Código: C
  1. char *numeros[]={"uno","dos","tres"......};
  2.  

Analizaria el tamaño y las cifras que conforman el dato numerico ingresado y dependiendo de esto me moveria dentro del apuntador numeros

S2

18
C/C++ / Re: Como comparo dos cadenas en C++
« en: Jueves 17 de Septiembre de 2009, 01:04 »
Con strcmp, libreria string.h

Sintaxis

a=strcmp(cadena1,cadena2);
Si a= 0 las cadenas son iguales, sino diferentes

S2

19
C/C++ / Re: Validar un Ciclo EJ: For
« en: Martes 15 de Septiembre de 2009, 19:58 »
Cita de: "krnl64"
scanf si puede leer blancos y algunas cosas más.

Por ejemplo
Código: C
  1.  
  2. scanf("%20[a-z-1-9 ]",buffer);
  3.  
  4.  

Éste scanf lee como máximo 20 caracteres de todo lo que se teclee y además solo acepta caracteres de la a a la z
,números del 1 al 9 y espacios en blanco

De la manera que tu lo propones si....de la manera que cito de la funcion del chico que busca ayuda no.
S2

20
C++ Builder / Re: Ordenar StringGrid
« en: Martes 15 de Septiembre de 2009, 19:06 »
Claro que tienes que hacerla tu...vas leyendo celda a celda y vas comparando...no tiene ciencia

21
C++ Builder / Re: Columnas de un ListBox
« en: Martes 15 de Septiembre de 2009, 19:01 »
Hasta donde recuerdo este componente tiene una unica columna. Te desplazas por las filas.

Si necesitas manipular una tabla para eso esta el StringGrid

Saludos

22
C++ Builder / Re: WaitForData consume memoria ¿?
« en: Martes 15 de Septiembre de 2009, 18:35 »
Estas trabajando con hilos? De esta forma podrias minimizar el consumo de procesador en el hilo correspondiente a la espera de datos y no sobrecargar la máquina. Ahora bien, al abrir el socket manejas algun protocolo?, porque quiza lo que pasa es que se te esta llenando la memoria de basura. Recibes alguna palabra o caracter de inicio en particular?

23
C++ Builder / Re: Bloquear Aplicacion
« en: Martes 15 de Septiembre de 2009, 18:30 »
mmm, yo bloquearia la aplicacion determinando la cantidad de bits copiados. Evidentemente la aplicacion del cliente debera saber el tamaño completo del archivo e ir recibiendo el estado de la copia (tamaño de la misma). Cuando sean iguales lo liberas

24
C++ Builder / Re: ComboBox
« en: Martes 15 de Septiembre de 2009, 18:23 »
Yo lo haria asi

Código: C
  1. //---------------------------------------------------------------------------
  2. #include <vcl.h>
  3. #pragma hdrstop
  4. #include "Combo.h"
  5. //---------------------------------------------------------------------------
  6. #pragma package(smart_init)
  7. #pragma resource "*.dfm"
  8. TForm1 *Form1;
  9. //---------------------------------------------------------------------------
  10. __fastcall TForm1::TForm1(TComponent* Owner)
  11.         : TForm(Owner)
  12. {
  13. }
  14. //---------------------------------------------------------------------------
  15. void __fastcall TForm1::Button1Click(TObject *Sender)
  16. {
  17.  int a=-1;
  18.  ComboBox1->ItemIndex=0;
  19.  while(ComboBox1->ItemIndex!=a)
  20.  {
  21.   if (ComboBox1->Text==Edit1->Text)
  22.    break;
  23.   ComboBox1->ItemIndex++;
  24.   a++;
  25.  }
  26.  if (ComboBox1->ItemIndex==a)
  27.  {
  28.   ComboBox1->ItemIndex=-1;
  29.   Edit1->Text="";
  30.  }
  31. }
  32. //---------------------------------------------------------------------------
  33.  

Si hay dudas preguntas

25
C/C++ / Re: Problema en c++
« en: Domingo 13 de Septiembre de 2009, 22:23 »
Son puros ciclos ese programa...muestra avances

Páginas: [1] 2 3 4