Ayuda C++

TonnyORG

I Code Things
Community Support
Messages
5,907
Reaction score
16
Points
38
Buenas,

Pues me estoy adientrando en este nuevo lenguage de programacion y creo que me atore XD
Bueno, para aquellos experimentados en el campo, deseo hacer aplicaciones bajo ventanas de windows y esas cosas NO sobre el famoso MSDOS o consola de comandos.
En fin, tengo el soft "Dev C++" el cual me va de maravilla.
Ya creo que comprendi lo que se refiere al... WinMai() para darle estilo a la ventna y todo eso.
Ahora mi duda es... Donde empiezo a escribirle para que se vea al enos texto dentro de la ventana XD
Veran, quiero hacer algo asi como... bueno noc como describirlo pero es un software que lleve digamos am...

Ook ok, NO es lo que deseo hacer pero les dara una idea:
Digamos un FireFox (sin explorador) un software con menu, pestañas y contenido pero la verdad no encuentro tutoriales que me den la mano, la mayoria que encontre vienen para C++ aplicada a Void Main () (consola MSDOS)

Disculpen mis explicaciones raras pero es a como lo entiendo jeje XD

Bueno, desde ya muchas gracias.
 

miguelkp

Member
Messages
304
Reaction score
7
Points
18
Supongo que el comienzo menos difícil sería aprender a usar la WinApi. Es la opción que estás usando al incluir windows.h y usar la funcion int WINAPI WinMain(). Obviamente, si no te interesa que tu programa sea multiplataforma, te podrías quedar con esta opción aunque yo no lo haría (y me explico más abajo). Aún así, aquí tienes un manual:
http://winapi.conclase.net/curso/index.php

Otra opción:
Usar las bibliotecas GDK+ o Qt. Las ventajas son muy claras respecto a la opción anterior:
  • Son multiplataforma.
  • Son libres. Según la Wikipedia, sobre GDK+ dice "Licenciado bajo los términos de LGPL, GTK+ es software libre y es parte del proyecto GNU". Y en cuanto a Qt, "Distribuida bajo los términos de GNU Lesser General Public License (y otras), Qt es software libre y de código abierto".
  • Son potentes. Para que te hagas una idea, el entorno gráfico Gnome, para sistemas Unix, está basado en GDK+. Y el entorno gráfico KDE, para sistemas Unix también, está basado en Qt. ¡Ahí es nada! Y más abajo te puse una lista de aplicaciones que usan estas bibliotecas, para que te hagas una idea :)
  • Son multilenguaje. GTK+ se ha diseñado para permitir programar con lenguajes como C, C++, C#, Java, Ruby, Perl, PHP o Python y Qt utiliza el lenguaje de programación C++ de forma nativa. Es decir, y resumiendo, ambos te sirven si quieres usar C++ "obligatoriamente". Cosa que también es debatible, si quieres te puedo recomendar otros lenguajes que a mí me han gustado mucho. Obviamente, si ya controlas mucho (realmente mucho) C++, no te merecerá la pena seguramente. Con "controlas mucho C++" me refiero a que dominas el uso de clases y objetos, herencias y demás, etc, que son lo verdaderamente interesante de C++ y si no se usan, es como si estuvieras con C normal XD


Mis conclusiones y recomendación: yo miraría GTK+ y Qt cuanto antes y decidirte por el que más te guste de ambos.
Puede que ahora no necesites que tu programa sea multiplataforma pero, ¿y si en el futuro tienes que hacer uno? Aprendiendo ahora a hacerlo te vas a ahorrar el tiempo que pierdas aprendiendo la WinApi exclusiva de Windows. Y aunque no tengas pensado hacer una aplicación multiplataforma en el futuro, me parece una opción a tener muy en cuenta (básicamente por sus licencias) y son realmente bonitas y agradables a la vista.

Aquí te dejo también los enlaces de GTK+ y Qt en la Wikipedia y un par de extractos que me parecieron muy interesantes y sobre todo alentadores para animarte a usar una de estas dos opciones :)

http://es.wikipedia.org/wiki/GTK+
http://es.wikipedia.org/wiki/Qt_(biblioteca)

Aplicaciones [editar]

Algunas aplicaciones que usan GTK+ como widget incluyen:

* AbiWord - Procesador de textos
* CinePaint (ex FilmGimp) - Raster HDR animated graphics editor
* Ekiga (ex GnomeMeeting) - H.323/SIP VoIP softphone
* Evolution - Cliente de correo
* Firefox - Navegador Web
* GIMP - Raster graphics editor
* Gnumeric - Programa de hoja de cálculo
* Chromium - Navegador Web basado en Webkit y desarrollado en gran medida por Google
* GRAMPS - Genealogy software
* Inkscape - Editor de gráficos vectoriales SVG
* K-3D - Programa de modelado 3D libre
* Marionnet - Un simulador de red interactivo
* Midori - Navegador Web portable
* Nero Linux - An optical disc media authoring program
* Pidgin - Cliente de mensajería instantánea
* VMware Player - Maquina virtual
* Wireshark - Packet capture, decode and analyzer


Aplicaciones escritas en Qt [editar]

Populares ejemplos de aplicaciones que usan Qt:

* Adobe Photoshop Album, aplicacion para organizar imagenes.[22]
* Avidemux, programa libre para la edición y procesamiento de video.
* Doxygen, API generadora de documentación.
* Gadu-Gadu, popular cliente polaco de mensajería instantanea
* Google Earth, simulador de mapas en 3D
* KDE, popular entorno de escritorio para sistemas operativos tipo-Unix.
o KDELibs, una biblioteca base para gran cantidad de aplicaciones KDE, incluyendo Amarok, K3b, KDevelop, KOffice, etc.

* Last.fm Player, the desktop client for the popular internet radio and music community website
* Launchy, programa de código abierto para ejecutar aplicaciones para Windows.
* LMMS, secuenciador y sintetizador de
* LyX, un GUI para LaTeX
* Mathematica, la versión de Linux usa Qt para el GUI
* MythTV, grabador de vídeo digital de código abierto
* Psi, cliente de mensajería instantanea para XMPP
* Qt Creator, el entorno de desarrollo integrado, software libre y multiplataforma de Nokia
* Quantum GIS, sistema de Información Geográfica
* Scribus, aplicación para la publicación de escritorio
* Skype, aplicacion VOIP[23]
* TeamSpeak, aplicación multiplataforma para la comunicación con voz
* Tlen.pl, popular cliente polaco de mensajería instantánea
* TOra, herramienta para la administración de bases de datos[24]
* VirtualBox, aplicación de código abierto para la virtualización x86
* VLC Media Player, reproductor multimedia de código abierto
 

TonnyORG

I Code Things
Community Support
Messages
5,907
Reaction score
16
Points
38
@miguelkp
Jeje si ayer presisamente encontre esa web y ya me baje el curso en formato PDF para tenerlo en casita :)
Sobre las otras librerias si me gustaria aprenderlas, como comentas de momento no tengo que realizar aplicaciones fuera de windows pero en un futuro probablemente si. Y de esho me agrada la idea multiplataforma jeje, pero de momento quiero aprender a crear para windows (para no complicarme la vida).
El C++ apenas voy en base, no se mucho llevo una semana y pues le dedico mi poco tiempo libre por lo que no avanzo mucho al dia, este es el lenguage que me recoemndaron, sin embargo pues yo la verdad no tengo mucha idea. Otro amigo me recomendo Java, el cual iniciare despeus de aprender ya algo de C++. Y claro que si, se aceptan las sugerencias brother :)

Muchas gracias pro tan buen y dedicado reply me sirvio mucho :)
 

miguelkp

Member
Messages
304
Reaction score
7
Points
18
De nada y gracias a ti también :)
Yo creo que empezar con C++ no es lo mejor. La razón: es el lenguaje probablemente más potente y... sí, adivinaste, de los más complicados. Para aprender bien y en profundidad lenguajes como C++ hay que tener conocimientos bastante avanzados de informática, saber cómo se guardan las diferentes variables en el ordenador, etc (esto quizás sea más crítico a la hora de programar a bajo nivel, así que puedes estar tranquilo si dices que no vas a hacer programas MS-DOS, pero aún así, es más complicado que otros lenguajes).
Para empezar a aprender sin liarte ni tener muchas complicaciones yo iría con Java, que es más fácil y aunque podrás hacer muchas cosas, hay algunas que sí podrías con C++ y no con Java (pero son cosas muy avanzadas como sobrecargar operadores. Y un lenguaje casi desconocido pero que a mí me ha dado una grata sorpresa es Ruby.

De hecho, sobre qué lenguajes usar con estas bibliotecas que te puse (GTK y Qt), yo recomendaría Ruby. Es un lenguaje muy potente, también es Orientado a Objetos (como C++. Java no es exactamente OO) y tiene una sintaxis muy muy muy flexible e intuitiva. Es un lenguaje interpretado, no compilado, y tiene características que hacen de este lenguaje uno de mis preferidos por no decir mi preferido.

Descubrí este lenguaje gracias a un programa para hacer videojuegos. Quizás os suena: RPG Maker XP. Usa una variante de Ruby llamada RGSS (Ruby Game Scripting System) muy potente que te permite hacer muchas cosas como menús especiales, cambiar la perspectiva del juego y un largo etcétera. Salió también un RPG Maker VX pero no lo probé. Usaba prácticamente el mismo sistema, pero llamado RGSS-2.



Yo voy a hacer una prueba con esto (es que al buscar y tal me ha entrado el gusanillo de aprender jejeje):
http://ruby-gnome2.sourceforge.jp/
Es lo que se llama un "binding" de Ruby para Gnome. Explicado de otra manera: es como un "enlace" o "unión" del lenguaje de programación Ruby y el entorno Gnome (formado por una serie de bilbiotecas, incluida la biblioteca GTK+). Es decir, lo necesario para programar aplicaciones de ventanas en Ruby usando GTK+ y otras bibliotecas.


Quizás muchas cosas te suenen a chino pero conforme vayas aprendiendo y buscando manuales y tutoriales por Internet, las irás comprendiendo todas, tranquilo :)
 
Last edited:

TonnyORG

I Code Things
Community Support
Messages
5,907
Reaction score
16
Points
38
@miguelkp
:O
Valla que se aprende mucho de leer comentarios de usuarios experimentados.
RPG Maker, me suena, de hecho hace tiempo queria aprender a usarlo pero como no encontre mucho chiste, me opte por meterme mas a php y sql XD
Bueno, la verdad que si, algunas cositas me suenan a chino pero a como salen dudas, mi teacher google me da algunas respuestas, otras en foros como este y asi em ando mareando XD

Bueno, gracias por tus cometanrios y pues voy a investigar esas librerias y a ver como me va jeje

Gracias bro.
 
Last edited:

etohumb

New Member
Messages
200
Reaction score
1
Points
0
Hola Punk.

Pues, de tiempo que veo un post tuyo, yo no soy muy experimentado pero se algo, mi recomendacion seria que aprendieras o le dieras chance al C++ por unos días, ya que en mi experiencia aprendiendo ese lenguaje el resto se te hacen mucho mas sencillos a la hora de abordarlos (osea te da una muy buena base), tambien me topé con el DEVc++ pero como supongo estas trabajando en Windos, y por lo que sé el DEVc++ esta hecho originalmente para linux, te trae algunos problemas, te recomendaria que iniciaras con alguna version libre del Borland c++, yo comence con la versión 3.1, es de libre distribucion y acabo de revisar en san google y hay muchos sitios de donde bajarlo, una vez que te acostumbres puedes comensar con el lenguaje que tu quieras y no se te hara dificil.

Tambien debo acotar que tanto Java como PHP tienen la sintaxis muy parecida al C++ o al C nativo claro que debo advertir que este c++ que te aconcejo solo corre en DOS, pero como te digo te da una muy buena base ademas que puedes agarrar cualquier tuto que te va a responder el codigo de ejemplo que encuentres, yo lo usé en casi toda mi universidad y nunca me falló, lo preferia a las versiones Visual de los otros lenguajes.

Suerte con el aprendizaje.

PD. si bien ahora borland se distribuye con licencia tengo entendido que hasta la version que te recomiendo era libre (con su licencia pero no tenias que pagar) te dejo uno de los enlaces que encontre para que lo pruebes bc++ 3.1, y si alguien sabe que no se puede poner el enlace quitenlo para no causar problemas, y mejor prueba con las versiones Turbo C
 
Last edited:

TonnyORG

I Code Things
Community Support
Messages
5,907
Reaction score
16
Points
38
@etohumb
Si, de hecho en la universidad vi el semestre pasado lo "basico" de c++ en turbo C (pantallita esa msdos) pero este semestre me deskanzaron de programacion y apenas volvere a ello en febrero, pero igual a mi me gusta aprender en mi kasita y bajo foros ke en la eskuela, ya que en la universidad creo... soy el mas avanzado, es logico, vamos entrando pero como yo practico por aqui y pues en mis webs y eso les llevo delantera jeje.
Usar librerias "base" conio.h y otras que no recuerdo de momento, actualmente trabajo en Dev C++ incluyendo la libreria windows.h para crear aplicaciones API (creo asi se llaman) que son las que se ven asi con la ventana de windows jeje.
La verdad que si, el php me ayudo mucho para entender mejor lo poco que entiendo de C++ jeje, bueno ahora ya voy avanzando y me gusta eso de aprendr algo complejo ya que como dices, a la larga el resto de los lenguages "se aprenderian solos" por asi desirlo, sin embargo no cae nada mal expandirme a lo base de otros lenguages para comprender mejor como comento miguelkp.

Bueno, agradesco su ayuda :)
 
Top