{"id":18860554,"url":"https://github.com/adeccscholar/adecc_scholar","last_synced_at":"2025-04-14T12:30:48.388Z","repository":{"id":41250942,"uuid":"508852692","full_name":"adeccscholar/adecc_Scholar","owner":"adeccscholar","description":"Header-only library for project work in C++ learning group adecc Scholar","archived":false,"fork":false,"pushed_at":"2024-03-24T22:45:38.000Z","size":123,"stargazers_count":3,"open_issues_count":0,"forks_count":1,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-03-28T01:50:30.297Z","etag":null,"topics":["cplusplus","cpp11","cpp14","cpp17","embarcadero","header-only","learning","library","qt","teaching","visual-studio"],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/adeccscholar.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null}},"created_at":"2022-06-29T21:36:31.000Z","updated_at":"2023-10-13T19:42:35.000Z","dependencies_parsed_at":"2024-03-24T23:30:01.736Z","dependency_job_id":null,"html_url":"https://github.com/adeccscholar/adecc_Scholar","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/adeccscholar%2Fadecc_Scholar","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/adeccscholar%2Fadecc_Scholar/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/adeccscholar%2Fadecc_Scholar/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/adeccscholar%2Fadecc_Scholar/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/adeccscholar","download_url":"https://codeload.github.com/adeccscholar/adecc_Scholar/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248881331,"owners_count":21176829,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cplusplus","cpp11","cpp14","cpp17","embarcadero","header-only","learning","library","qt","teaching","visual-studio"],"created_at":"2024-11-08T04:25:41.098Z","updated_at":"2025-04-14T12:30:48.004Z","avatar_url":"https://github.com/adeccscholar.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# adecc_Scholar\n\nIn this archive the sources from the course are shared on the channel \"adecc Scholar\". I have put them under MIT license, so the sources can be used by everyone without any restrictions. It should be noted that these are educational examples, so we do not provide any warranty. The goal was not the safe productive use, but to impart knowledge.\n\nSome of the classes are not complete, but only hint at the learning content. \n\nTo use the headeronly library from the semester break, one of the following constants must be defined\n- BUILD_WITH_VCL, C++Builder or RAD Studio 10.3 or higher with Windows application (VCL)\n- BUILD_WITH_FMX, C++Builder or RAD Studio 10.3 or higher with platform independent application (FMX)\n- BUILD_WITH_QT - for Visual Studio with Qt6 and with the Qt Creator\n\nQuestions and suggestions please via the Discord server for adecc Scholar\n\n# From the wish list to the independent program\n\nAt events and trainings we often claimed that it is easy to start with a wish list and to design a platform independent program in C++ from it. It should be possible to start immediately and it should be possible to integrate it into every project in an uncomplicated way, in order not to have to start again and again on a green field. We had already shown this in the beginning with the two libraries of Embarcadero, the VCL on the one hand and Firemonkey (FMX) on the other hand. Now these two libraries are based on the same, in Delphi written basis, and are structurally similarly developed. So is it at all possible to generalize?\n\nIn the semester break between our lectures on the adecc Scholar platform, we repeated this from the beginning in a semester project and finally extended it to the independent user interface library Qt and Visual Studio 2019 as a development platform.\n\nThis already answers the question, of course it is possible to start with an interface, let's just call it a wish list now, and create an independent solution for standard C++ from it. The C++ language contains all necessary abstractions, data types and containers. The wish list should be as short as possible, we should not orient ourselves on what would be possible with the respective frameworks, but always only on what we really need. This can be extended step by step later.\n\nThereby the various possibilities of the new standards C++11, C++14, C++17 and C++20 help of course considerably to write such a library. By the use of the Embarcadero C++Builder the use of C++20 is unfortunately not yet possible. Concepts would help to make the implementation more compact and robust. Fortunately, however, with the type-treats of C++11 and the possibilities of the compiletime commands of C++17, there are precursors for these that help us with the implementation.\n\nThe project was not about an extensive and complex user interface, but about the use of a few components and features. It was to be shown, how this can be modeled and finally the implementation is possible. Beside the direct access to the components (reading and writing) also C++ Streams were used, in order to arrange expenditures independently of the framework. With these not only text fields (for the VCL Memofelder) can be described, are also tables to be filled. The ListView component was used for the VCL, a StringGrid for FMX and a TableWidget for Qt. \n\n\n\nCopyright 2022 adecc Systemhaus GmbH\nAuthor Volker Hillmann\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in\nall copies or substantial portions of the Software.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fadeccscholar%2Fadecc_scholar","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fadeccscholar%2Fadecc_scholar","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fadeccscholar%2Fadecc_scholar/lists"}