top of page

 
Examples

​

The classic first applications 'Hello World'.

​

Console

 

hello_world_console.cpp

​

#include <xtd/xtd>

​

using namespace xtd;

​

int main() {

  console::background_color(console_color::blue);

  console::foreground_color(console_color::white);

  console::write_line("Hello, World!");

}

​

CMakeLists.txt

​

cmake_minimum_required(VERSION 3.3)

 

project(hello_world_console)

find_package(xtd REQUIRED)

add_sources(hello_world_console.cpp)

target_type(CONSOLE_APPLICATION)

​

Build and run

​

Open "Command Prompt" or "Terminal". Navigate to the folder that contains the project and type the following:

​

xtdc run

​

Output

​

Hello, World!

​

Gui

 

hello_world_forms.cpp

​

#include <xtd/xtd>

​

using namespace xtd::forms;

​

class main_form : public form {

public:

  main_form() {

    text("Hello world (message_box)");

​

    button1.location({10, 10});

    button1.parent(*this);

    button1.text("&Click me");

    button1.click += [] {

      message_box::show("Hello, World!");

    };

  }

  

private:

  button button1;

};

​

int main() {

  application::run(main_form());

}

​

CMakeLists.txt

​

cmake_minimum_required(VERSION 3.3)

 

project(hello_world_forms)

find_package(xtd REQUIRED)

add_sources(hello_world_forms.cpp)

target_type(GUI_APPLICATION)

​

Build and run

​

Open "Command Prompt" or "Terminal". Navigate to the folder that contains the project and type the following:

​

xtdc run

​

Output

​

Windows

​

hello_world_message_box_w.png
hello_world_message_box_wd.png

 

macOS

​

hello_world_message_box_m.png
hello_world_message_box_md.png

 

Linux Gnome

​

hello_world_message_box_g.png
hello_world_message_box_gd.png

​

Unit test

 

hello_world_test.cpp

​

#include <xtd/xtd>

#include <string>

 

using namespace std;

using namespace xtd::tunit;

 

namespace unit_tests {

  class test_class_(hello_world_test) {

  public:

    void test_method_(create_string_from_literal) {

      string s = "Hello, World!";

      valid::are_equal(13, s.size());

      assert::are_equal("Hello, World!", s);

    }

 

    void test_method_(create_string_from_chars) {

      string s = {'H', 'e', 'l', 'l', 'o', ',', ' ', 'W', 'o', 'r', 'l', 'd', '!'};

      valid::are_equal(13, s.size());

      string_assert::starts_with("Hello,", s);

      string_assert::ends_with(" World!", s);

    }

  };

}

 

int main() {

  return console_unit_test().run();

}

​

CMakeLists.txt

​

cmake_minimum_required(VERSION 3.3)

 

project(hello_world_test)

find_package(xtd REQUIRED)

add_sources(hello_world_test.cpp)

target_type(TEST_APPLICATION)

​

Build and run

​

Open "Command Prompt" or "Terminal". Navigate to the folder that contains the project and type the following:

​

xtdc run

​

Output

​

Start 2 tests from 1 test case Run tests:

  SUCCEED hello_world_test.create_string_from_literal (0 ms total)

  SUCCEED hello_world_test.create_string_from_chars (0 ms total)

 

Test results:

  SUCCEED 2 tests.

End 2 tests from 1 test case ran. (0 ms total)

 

More examples

 

Example provides over 500 examples to help you use xtd, grouped by libraries and topics.

​

Support

 

If you face any problems feel free to open an issue at the issues tracker, If you feel like there is a missing feature, please raise a ticket on Github. Pull request are also welcome.

​

© 2023 Gammasoft

  • Github
  • SourceForge
  • White Facebook Icon
  • White Twitter Icon
bottom of page