Foros del Web » Programación para mayores de 30 ;) » C/C++ »

Orientacion para desarrollo casero

Estas en el tema de Orientacion para desarrollo casero en el foro de C/C++ en Foros del Web. Hola, ando en estos lares por que se me ha puesto en el mate hacer una aplicación sencillita para las actividades que realizo rutinariamente. Lo ...
  #1 (permalink)  
Antiguo 29/07/2008, 06:31
Avatar de zayed_jat  
Fecha de Ingreso: mayo-2006
Mensajes: 121
Antigüedad: 18 años
Puntos: 1
Orientacion para desarrollo casero

Hola,

ando en estos lares por que se me ha puesto en el mate hacer una aplicación sencillita para las actividades que realizo rutinariamente.

Lo que busco es automatizar algunas triquiñuelas que de momento soluciono editando muchos archivitos de texto.
lo que tengo que bajar
links a tutoriales para leer o que estan piolas
y así....

Lo que no se y que
(por falta de tiempo y desconocimiento) Recurro a ustedes.

::Como consigo que mi programa este residente (poquita mem)
con un icono en la barra del lado del reloj
con un menu sencillo PERO
con la posibilidad de apliar las capacidades del programa
mediante la carga dinamica de "secciones"

Como veran estoy ignorante ignorante.
Algun link a tutorial del asunto.... desde ya gracias

Desarrollarlo en c++ es mi desafío pero...
Existe algun entorno visual compatible con Dev C++
o minGW es decir codigo compatible para compilar y linkear
o lo visual es esclusividad de michrochoff?

Bueno, a no enojarse y mandarme al joraka
orientenme para conseguir iniciar este proyectito de free time

otra:
vale la pena encarar con C# y no con C++?
es posible generar codigo compatible con compiladores de otros sistemas

aclaro que uso windows 2000 y xp?

Bien, espero puedan darme un bosquejito para encontrar mi caminito.
  #2 (permalink)  
Antiguo 29/07/2008, 07:38
Avatar de Yaraher  
Fecha de Ingreso: abril-2007
Ubicación: Lima, Perú
Mensajes: 262
Antigüedad: 17 años
Puntos: 9
Respuesta: Orientacion para desarrollo casero

Sería bueno que des más detalles sobre lo que buscas hacer y tu capacidad para realizarlo. C# es una muy buena opción por sobre C++ para desarrollo de aplicaciones de escritorio, y Visual C++ 2008 / Visual C# 2008 ambos dos muy buenos IDEs gratuitos de MS (en particular, opino que Visual Studio es el mejor IDE que existe actualmente, y si usaría IDEs todavía, probablemente estaría utilizándolo).

Sobre el resto de tus dudas, tienes que buscar sobre creación de aplicaciones en el System Tray (que no es su nombre correcto, pero como casi siempre se le conoce) y sobre cómo crear una aplicación "pluggable" o ampliable con el uso de plugins.

Si nos das más detalles podremos darte más ayuda.

¡Saludos!
  #3 (permalink)  
Antiguo 29/07/2008, 18:29
Avatar de Fayca  
Fecha de Ingreso: abril-2008
Mensajes: 164
Antigüedad: 16 años, 1 mes
Puntos: 2
Respuesta: Orientacion para desarrollo casero

Cita:
Iniciado por Yaraher Ver Mensaje
C# es una muy buena opción por sobre C++ para desarrollo de aplicaciones de escritorio
Eso es mentira como C# ba a ser mejor opcion que c++ para aplicaciones de escritorio
  #4 (permalink)  
Antiguo 29/07/2008, 18:34
Avatar de Fayca  
Fecha de Ingreso: abril-2008
Mensajes: 164
Antigüedad: 16 años, 1 mes
Puntos: 2
Respuesta: Orientacion para desarrollo casero

Cita:
Iniciado por zayed_jat Ver Mensaje
Desarrollarlo en c++ es mi desafío pero...
Existe algun entorno visual compatible con Dev C++
o minGW es decir codigo compatible para compilar y linkear
o lo visual es esclusividad de michrochoff?
Puedes usar Code::blocks
por defecto el compilador que tiene es el de minGW pero puedes configurarlo para que use otros

si lo que quieres hacer es un programa con interfas grafica puedes usar wxWidgets pero creeo que ba a ser muy difisil que lo puedas hacer si no sabes ni hacer aplicaciones para consola
  #5 (permalink)  
Antiguo 30/07/2008, 06:36
 
Fecha de Ingreso: abril-2008
Mensajes: 264
Antigüedad: 16 años
Puntos: 2
Respuesta: Orientacion para desarrollo casero

Cita:
Iniciado por Fayca Ver Mensaje
Eso es mentira como C# ba a ser mejor opcion que c++ para aplicaciones de escritorio
No se en que te basas para decir que C# no es mejor opción. Empecemos por enumerar algunas ventajas:
-Garbage collecting
-Completa (o casi) orientación a objetos, pero mucho mas completa que la de c++
-Al no estar parado sobre C, no tienes muchas las limitaciones de este tanto sintácticas como prácticas
-Si quieres puedes usar código como el de c++ y punteros a memoria como los que todos conocemos.

O sea, en realidad no digo que sea mejor, sino que son herramientas distintas. Pero me parece cerrado decir que c++ es mejor que otro... Yo personalmente usaria C#...
Además me parece que C# es un lenguaje de más alto nivel que c++, y eso tiene sus ventajas.
__________________
Saludoss
Guille
  #6 (permalink)  
Antiguo 30/07/2008, 07:54
Avatar de erick_arcini  
Fecha de Ingreso: julio-2005
Ubicación: Jaltenco / DF
Mensajes: 1.723
Antigüedad: 18 años, 9 meses
Puntos: 50
Respuesta: Orientacion para desarrollo casero

Hola zayed_jat si posteaste en este foro, lo más seguro es que te inclines por C++ sino, también te podemos esperar en el de .NET

El desarrollar en C++, al menos en México, es muy retribuido y si lo tomas en serio y con buena practica, lógica y limpieza creeme que estas por una buena opción.

Yo casi o nunca hago preguntas en este foro de C++ (me gusta mucho googlear y buscar las cosas por mi cuenta) yo casi no desarrollo en C o C++, mi fuerte es C# o Visual C++, todo orientado a .NET, yo te podría decir que uses C# otros dirán C++. Si quieres un buen reto, eres paciente y además dedicado yo creo que C++ te va a ayudar mucho en tu "proyecto casero", además de contar con IDE's gratuitos como code::blocks, si te gusta la practicidad y trabajas con herramientas de microsoft como su IDE C# sería otra buena opción, ya aquí es tu verdadera elección, además de que de ambos consigues buena información en internet, tanto en ingles como en español.


Cita:
Iniciado por guille_el3 Ver Mensaje
...
Además me parece que C# es un lenguaje de más alto nivel que c++, y eso tiene sus ventajas.
Simplemente te digo que no... C/C++ es la base de todo, y eso no me lo va a negar nadie.
__________________
Mejoremos nuestro país, ayudemos al planeta... próximamente.
  #7 (permalink)  
Antiguo 30/07/2008, 08:58
Avatar de Fayca  
Fecha de Ingreso: abril-2008
Mensajes: 164
Antigüedad: 16 años, 1 mes
Puntos: 2
Respuesta: Orientacion para desarrollo casero

Cita:
Iniciado por guille_el3 Ver Mensaje
No se en que te basas para decir que C# no es mejor opción. Empecemos por enumerar algunas ventajas:
-Garbage collecting
-Completa (o casi) orientación a objetos, pero mucho mas completa que la de c++
-Al no estar parado sobre C, no tienes muchas las limitaciones de este tanto sintácticas como prácticas
-Si quieres puedes usar código como el de c++ y punteros a memoria como los que todos conocemos.

O sea, en realidad no digo que sea mejor, sino que son herramientas distintas. Pero me parece cerrado decir que c++ es mejor que otro... Yo personalmente usaria C#...
Además me parece que C# es un lenguaje de más alto nivel que c++, y eso tiene sus ventajas.
c++ es mejor que C# por que c++ es independiente de plataforma, independiente sistema operativo y no es propietario.
C# es solo un invento mas de micro$oft
aparte las aplicaciones resultantes son mas rapidas y eficientes
  #8 (permalink)  
Antiguo 30/07/2008, 09:28
 
Fecha de Ingreso: junio-2008
Ubicación: Seattle, USA
Mensajes: 733
Antigüedad: 15 años, 10 meses
Puntos: 61
Respuesta: Orientacion para desarrollo casero

Es una pelea sin sentido.

Los lenguajes de programacion usualmente aparecen como respuesta a alguna necesidad, y casi ninguno resuelve todo bien. Algunos se aproximan mas a la maquina, otros al humano.

En el mundo de los compiladores, los primeros lenguajes inventados eran muy parecidos al Assembly de la maquina donde finalmente se ejecutaban, los compiladores chequeaban pocas cosas y dejaban hacer muchas, El lenguaje C es muy parecido al assembly de unas maquinas precursoras de las Vax, llamadas PDP.

C y C++ suponen que el programador sabe lo que esta haciendo y deja hacer muchas cosas, sin avisar. C es mas permisivo que C++. La experiencia indica que la gente no sabe lo que esta haciendo, no libera la memoria, no sabe usar los recursos, cuando tiene el poder para hacerlo, y por eso lenguajes como java, C#, visual Basic, etc. tienen cabida, pues permiten que muchas labores de mantencion sean hechas automaticamente, permitiendo que los programas sean (mas) faciles de escribir, de entender y mantener en el tiempo.

El C y C++ tienen poder, pero a veces a costa de la legilibilidad de los programas. Es normal que los programas (a nivel profesional) tengan que ser modificados en el futuro, y el que la sintaxis sea criptica va en contra tanto de la adopcion como de la mantencion.

Si requieres hacer algo rapido y legible? Tal vez no uses ni C++ ni C#, sino python. Manejo de expresiones regulares? Tal vez elijas Perl. Grandes volumenes de datos? Tal vez no hagas nada en C++ ni C#, sino que todo sea hecho en SQL del lado de la base de datos y solo dejes al cliente mostrar todo en un browser, usando JavaScript, php, etc.

El usar C++ no garantiza resultados optimos. Un algoritmo naive (cuadratico o superior) no le ganara a un algoritmo lineal, independiente del lenguaje usado.

Es facil hacer software ... malo.
  #9 (permalink)  
Antiguo 30/07/2008, 09:45
Avatar de Xinef  
Fecha de Ingreso: marzo-2007
Mensajes: 202
Antigüedad: 17 años, 1 mes
Puntos: 7
Respuesta: Orientacion para desarrollo casero

Cita:
Iniciado por erick_arcini Ver Mensaje
Simplemente te digo que no... C/C++ es la base de todo, y eso no me lo va a negar nadie.
YO!

El ensamblador.

Y antes de él el código máquina.

:)
  #10 (permalink)  
Antiguo 30/07/2008, 09:55
Avatar de Fayca  
Fecha de Ingreso: abril-2008
Mensajes: 164
Antigüedad: 16 años, 1 mes
Puntos: 2
Respuesta: Orientacion para desarrollo casero

estoy deacuerdo con CalgaryCorpus solo creeo que por ejemplo yo hace tiempo hise un programa en visual basic para la empresa que trabaja mi padre pero para aceptarlo me pidieron licencias hasta del sistema operativo en el que lo compile, eso supusto un gasto -.-, es por eso que estoy empesando con c++ y ahora uso linux solo me evito esos problemas de licencias al no usar lenguajes propietarios. talbes mi aferracion a c++ y linux se debe a que quiero estudiar mecatronica no desarrollo de software
  #11 (permalink)  
Antiguo 30/07/2008, 17:46
 
Fecha de Ingreso: junio-2008
Mensajes: 63
Antigüedad: 15 años, 10 meses
Puntos: 2
Respuesta: Orientacion para desarrollo casero

Cita:
con un icono en la barra del lado del reloj
Asumo que sabes programar y que estás programando en Windows.

Para agregar un icono en la barra, puedes usar la función de la API Win32:
Shell_NotifyIcon
http://msdn.microsoft.com/en-us/library/bb762159(VS.85).aspx

Más o menos se usa de la siguiente forma:
Código:
#define MENSAJE_DE_MI_ICONO (WM_APP+1)
NOTIFYICONDATA nid;
nid.cbSize = sizeof(NOTIFYICONDATA);
nid.hWnd = hwnd;
nid.uID = id_de_mi_icono;
nid.uFlags = NIF_MESSAGE | NIF_ICON;
nid.uCallbackMessage = MENSAJE_DE_MI_ICONO;
nid.hIcon = mi_icono;
Shell_NotifyIcon(NIM_ADD, &nid);
donde hwnd es el apuntador a tu ventana, id_de_mi_icono es el identificador de tu icono (este puede ser cualquier número), MENSAJE_DE_MI_ICONO es el número del mensaje que recibirás a través del bucle de mensajes de la ventana hwnd, mi_icono es el apuntador al icono que deseas agregar.

En el bucle de mensajes de tu ventana tienes que poner lo siguiente:
Código:
case MENSAJE_DE_MI_ICONO:
	switch(lParam) {
		case WM_LBUTTONDOWN:
			break;
		case WM_RBUTTONDOWN:
			break;
		default:
			break;
	}
break;
Cita:
con un menu sencillo
Puedes usar CreatePopupMenu para crear el menú y TrackPopupMenu para mostrarlo en pantalla. Es lo más sencillo que se me ocurre.

Cita:
con la posibilidad de apliar las capacidades del programa
mediante la carga dinamica de "secciones"
Creo que podrías hacerlo al menos de dos formas distintas:

1. Usando librerías dinamicas ( DLL ) es la forma más eficiente, cargas las librerías de acuerdo a la opción elegida.
2. Simplemente creas un programa muy simple que es el que pondrá el icono en la barra de sistema y manejará el menú, luego creas programas separados para cada opción y simplemente los ejecutas cuando se seleccione la opción correspondiente en el menú.

Cita:
Desarrollarlo en c++ es mi desafío pero...
Existe algun entorno visual compatible con Dev C++
o minGW es decir codigo compatible para compilar y linkear
o lo visual es esclusividad de michrochoff?
Particularmente uso Code::Blocks, me permite programar en GNU/Linux y Windows sin necesidad de cambiar de IDE, y es compatible con MinGW.
  #12 (permalink)  
Antiguo 30/07/2008, 19:53
Avatar de Yaraher  
Fecha de Ingreso: abril-2007
Ubicación: Lima, Perú
Mensajes: 262
Antigüedad: 17 años
Puntos: 9
Respuesta: Orientacion para desarrollo casero

Cita:
Iniciado por erick_arcini Ver Mensaje
Simplemente te digo que no... C/C++ es la base de todo, y eso no me lo va a negar nadie.
No veo porque puedes negar su afirmación. No se está comparando quien es el padre o el hijo de cada lenguaje. C# es un lenguaje de alto nivel, como Java. C/C++ son considerados de más bajo nivel y Assembly más todavía. Ser de bajo o alto nivel no implica que sea mejor o peor, simplemente es que tan cercanos están al lenguaje del dominio del problema.

@Layca: Nunca es sabio hablar en términos absolutos. Que C++ siga un estándar y no sea propietario no necesariamente lo hace "mejor".

Digamos que el entorno donde se desarrolla es una empresa que tiene netamente licencias de Windows. En ese caso, la ventaja de ser "multiplataforma" pierde valor.

Por otro lado, C#, si bien fue creado por Microsoft, es de libre disposición, e incluso corre en Linux y Mac.

Y sobre si son más rápidas y eficientes.. pues, en mi experiencia, depende muchísimo del programador. Es muy sencillo olvidar cerrar punteros, dejar abiertos accesos a memoria y similares en C++. En C# esto no se da.

Eso sí, no quiero decir que C# sea mejor. Como bien mencionaron antes, cada lenguaje responde a una necesidad. Personalmente, C# (y .NET) me gustaron bastante cuando los usé. Actualmente, sin embargo, programo casi enteramente en Ruby, porque encontré que se adaptaba mejor a mi flujo de trabajo.

En el comentario que di, simplemente establecí el hecho que tal vez le convendría, si es un desarrollo personal, probar con C# el cual tiene una curva de aprendizaje mucho menor, el soporte de un BCL para acceder a muchas funciones y un buen IDE (VStudio o VC# 2005-2008).

Por cierto, uno de mis amigos es un mecatrónico y es bastante bueno en C++. Parece que hay una regla por ahí ^^.
  #13 (permalink)  
Antiguo 05/08/2008, 19:40
Avatar de zayed_jat  
Fecha de Ingreso: mayo-2006
Mensajes: 121
Antigüedad: 18 años
Puntos: 1
Respuesta: Orientacion para desarrollo casero

gracias por la orientacion, Ya estoy poniendo el timón hacia c++ y me estoy bajando algunas herramientas. Si la ignorancia me puede posteare algunos mensajes mas.
Como ya dije muchisimas gracias por los datos ofrecidos.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 09:56.