- Utilice formularios GUI modernos
Los compiladores modernos de C ++ con IDE (Visual C ++, C ++ Builder, Objective-C, Android Studio, etc.) utilizan una interfaz gráfica según los comportamientos del sistema operativo de la aplicación compilada. Las aplicaciones basadas en consola son buenas, pero en algunos casos, es posible que deba agregar más funciones. Los elementos de la interfaz de usuario facilitan el uso de las aplicaciones y la comprensión del lado del usuario.
Además, estos elementos, gráficos e imágenes de la interfaz de usuario hacen que su aplicación sea visualmente impresionante.
Visual C ++ tiene aplicaciones de terceros que admiten máscaras / estilos para elementos de la interfaz de usuario como SkinFramework y SkinCrafter para versiones anteriores de Visual C ++.
Skin Framework para Visual C ++ MFC proporciona un marco de interfaz de usuario de máscara que se desarrolló teniendo en cuenta los temas de Windows (estilos visuales). Las aplicaciones temáticas se pueden crear con solo unas pocas líneas de código.
SkinCrafter es otra opción para aplicaciones de Visual C ++ más antiguas (2012 o anteriores). El diseño de aplicaciones está disponible para una amplia gama de lenguajes de programación, herramientas y marcos en SkinCrafter. Aparentemente, no tiene soporte para las últimas versiones de Visual C ++.
RAD Studio y C ++ Builder ofrecen una gran variedad de estilos en aplicaciones VCL y FMX. También permiten a los usuarios cambiar el estilo de la aplicación en tiempo de ejecución. Estos estilos se pueden utilizar para aplicaciones multiplataforma y se pueden personalizar utilizando el Diseñador de estilos de mapa de bits incluido en RAD Studio. También puede crear un nuevo estilo desde cero. La forma más sencilla de empezar con un estilo completamente nuevo es utilizar la plantilla de estilo VCL en Bitmap Style Designer como guía. VCL Styles es compatible con el motor de temas de Windows y los estilos FMX para el marco de interfaz de usuario de FireMonkey multiplataforma son compatibles con otros sistemas operativos. Además de las máscaras de elementos de la interfaz de usuario y ventanas, Styles también viene con muchos íconos modernos. La mayoría de los estilos VCL y FMX son gratuitos, y GetIt u otras páginas web en línea también pueden descargar nuevas versiones gratuitas.
Table of Contents
Consejo 6: Desarrolle aplicaciones basadas en GUI para crear aplicaciones fáciles y comprensibles con gráficos asombrosos.
- Utilice las propiedades de los elementos de la interfaz de usuario como salida o utilice los métodos de los elementos de la interfaz de usuario
En C ++, a menudo escribe en la consola a través de std :: cout, un objeto se usa con flujos y, por lo tanto, admite el operador << ; la dirección de las flechas muestra la salida, y cualquier cosa en el lado derecho de este operador va como salida. Por ejemplo:
1 2 3 4 5 6 7 |
include <iostream> int main() { std::cout << "This is in chars"; return 0 } |
En Modern C ++, no use cout. En aplicaciones de back-end u otras aplicaciones del sistema operativo, use std :: wcout como en el siguiente ejemplo. Al igual que las cadenas, esto se debe a que es una salida de caracteres amplia, es decir, Unicode.
1 2 3 4 5 6 7 |
include <iostream> int main() { std::wcout << L"This is in wide chars"; return 0 } |
En general, todo funciona en cadenas Unicode o cadenas anchas en C ++ moderno, y las aplicaciones de interfaz de usuario nunca usan std :: cout o std :: wcout. Debido a que las aplicaciones modernas son compatibles con GUI como botones, cuadros de edición, cuadros de texto, cuadros combinados desplegables, menús, etc., y los IDE de desarrollo de C ++ modernos (como C ++ Builder, Visual C ++) también admiten cadenas Unicode, usamos las propiedades de cualquier componente como salida en lugar de usar cout.
Por ejemplo, podemos generar el nombre y la edad en una propiedad de texto de una etiqueta en C ++ Builder como se muestra a continuación.
1 2 3 4 5 |
String name = L"John"; int age = 25; Label1->Text = name; Label2->Text = IntToStr(age); |
Este ejemplo de función print () a continuación en C ++ Builder genera una cadena Unicode en líneas de un componente Memo.
1 2 3 4 5 |
void print(String txt) { Form1->Memo1->Lines->Add(txt); return 0; } |
Consejo 7: use las propiedades del elemento de la interfaz de usuario como una salida o los métodos del elemento de la interfaz de usuario para generar sus datos.
8. Utilice las propiedades de los elementos de la interfaz de usuario como entrada o utilice los métodos de los elementos de la interfaz de usuario En una aplicación de consola, el objeto std :: cin se utiliza con el operador >> ; la dirección de las flechas muestra la entrada, y cualquier cosa en el lado derecho de este operador va como salida. Por ejemplo:
1 2 3 4 5 6 7 8 9 10 11 |
#include <iostream> int main() { std::string name; std::cout << "Name please:"; std::cin >> name; return 0; } |
Como describimos antes, se necesitan cadenas Unicode o cadenas anchas. En Modern C ++, no use std :: cin en aplicaciones de back-end u otras aplicaciones del sistema operativo; intente usar std :: wcin como en el siguiente ejemplo.
1 2 3 4 5 6 7 8 9 10 11 |
#include <iostream> int main() { std::wstring name; std::wcout << L"Name please:"; std::wcin >> name; return 0; } |
Como se describió anteriormente, en la programación visual agregamos textos, cuadros de texto, botones, etiquetas, etiquetas desplegables, etc., y los llamamos elementos, componentes o herramientas visuales de la interfaz de usuario.
In Modern C++ we use these element properties as an input, or we use their methods to get inputs. For example, we can get input for the name and age from the text property of an edit (text input) component in C++ Builder as below.
1 2 |
String name = Edit1->Text; int age = StrToInt(Edit2->Text) |
Consejo 8: use las propiedades del elemento de la interfaz de usuario como entrada o use los métodos de los elementos de la interfaz de usuario para obtener la entrada.
- Utilice métodos y funciones de bibliotecas estándar
Muchas bibliotecas en C ++ proporcionan funciones para muchas aplicaciones diferentes, mientras que algunas bibliotecas básicas que son como un estándar para todas las aplicaciones de C ++: STL (Biblioteca de plantillas estándar, parte de todas las distribuciones de C ++), que tiene diferentes implementaciones según el proveedor, por ejemplo, GNU Biblioteca estándar de C ++ (libstdc ++), biblioteca estándar de Microsoft C ++ (STL) y biblioteca estándar LLVM C ++ (libc ++).
El STL define sus métodos, tipos, etc. en el espacio de nombres std ::. Puede leer sobre las funciones incluidas en STL aquí. Hay un gran video que muestra la mayoría de los algoritmos de STL aquí .
Los algoritmos de esta biblioteca están bien optimizados para ejecutarse más rápido y son compatibles con muchos tipos de datos. Por ejemplo, en lugar de escribir un método de clasificación para una función (por ejemplo, clasificación de burbujas, clasificación rápida, clasificación de combinación, etc.), puede utilizar algoritmos paralelos para realizar operaciones multitarea para utilizar todos los núcleos de la CPU. Algunos otros ejemplos son montones, permutación, algoritmos numéricos, consulta, búsqueda, relleno, copia, movimiento, eliminación, operaciones únicas en memoria y algoritmos de transformación.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
#include #include #include int main() { std::vector vec{ 36, 11, 9, 5, 15, 45, 5, 3 , 98, 23, 65}; for (auto i: vec) std::cout << i << ','; std::cout << 'n'; std::sort(std::execution::par, vec.begin(), vec.end()); for (auto i: vec) std::cout << i << ','; std::cout << 'n'; getchar(); return 0; } |
Boost Library es otra gran biblioteca para usar más algoritmos. Boost proporciona bibliotecas de código fuente de C ++ portátiles gratuitas y bien revisadas que funcionan bien con la biblioteca estándar de C ++. Las bibliotecas Boost están diseñadas para ser ampliamente útiles y utilizables en un amplio espectro de aplicaciones. La licencia de Boost fomenta el uso comercial y no comercial.
Consejo 9: utilice los métodos y las funciones optimizados de las bibliotecas estándar tanto como sea posible.
Lea la parte 1 de esta publicación de blog aquí
Lea la parte 3 de esta publicación de blog aquí
Design. Code. Compile. Deploy.
Start Free Trial Upgrade Today
Free Delphi Community Edition Free C++Builder Community Edition