Noutați

What’s New for Makefile Tools in Visual Studio Code Release 0.8: Post-Configure Scripts and more…

What’s New for Makefile Tools in Visual Studio Code Release 0.8: Post-Configure Scripts and more… Sinem Akinci December 14th, 20230 0 The latest version 0.8 of Makefile Tools in Visual Studio Code has shipped and is now available. This release includes two new features: a setting to support adding post-configure scripts and settings to add argument support to parse into your pre- and post-configure scripts. This release also features several bug fixes and improvements, including one from our open-source community. Thank you all for your contributions to this extension! Download the Makefile Tools Extension Post-Configure Scripts In your Visual Studio Code settings, you can now specify a post-configure script to run after your Makefile configure step. Once a post configure script is specified, you can select Makefile: Always Post Configure to automatically run this script after a Makefile configure. To fire the specified post-configure script at any time, you can select Makefile: Post Configure from the VS Code command palette. Argument Support for Pre- and Post-Configure Scripts Both Makefile pre- and post-configure scripts now support arguments that you can pass in from your VS Code settings on both a global level (makefile.preConfigureArgsand makefile.postConfigureArgs) and a per-configuration level (makefile.configurations[].preConfigureArgs and makefile.configurations[].postConfigureArgs). An example of global pre-configure arguments and debug configuration-level post-configure arguments can be seen below for reference: “makefile.preConfigureArgs” : [“install”] “makefile.configurations”: [ { “name”: “Debug”, “postConfigureArgs”: [ “debug” ] } ] Pre-release versions now available Additionally, we have implemented a new pre-release cycle for the extension, so users can opt-in to try out the latest features as they ship before an official release. To opt in at any point, please select Switch to Pre-Release Version under Makefile Tools in the extension marketplace in Visual Studio Code. Other extension updates The C++ extension also recently shipped their 1.18 release which has many new relevant features for C++ Makefile users. For example, if you are having a difficult time installing a compiler to get started with compiling with Makefile on a Mac or Linux machine, you can use the new automated compiler acquisition process. Ensure you have the C/C++ extension downloaded in VS Code to access the latest features and check out the latest blog post to learn more. What do you think? Download the Makefile Tools extension for Visual Studio Code today, give the latest version a try, and let us know what you think. Check out our README documentation to learn more about activating the extension and getting started. If you run into any issues, or have any suggestions, please report them in the Issues section of our GitHub repository. We can be reached via the comments below or in email at VisualC@microsoft.com. You can also find our team’s latest announcements on Twitter at @VisualC. Sinem Akinci Program Manager II, Visual C++ Team Follow

Read More

This Is How To Develop Modern C++ Apps With C++ Builder 12

Hello C++ Developers, I am happy that in the last few years, IDERA Inc. Company and Embarcadero focused on supporting C++ more, which is a good strategy for the software industry. This support started with embracing the hugely popular Visual Assist product from WholeTomato as well as releasing a preview of the 64-bit CLANG compiler. In November, the new RAD Studio 12 with the new C++ Builder 12 and Delphi 12 were released packed full of great features, optimizations, and improvements. We were able to see a lot of big changes in the products. In C++ Builder 12 the new Visual Assist (VA) brought powerful code completion, refactoring, and outstanding navigation features. The CLANG C++ compiler preview is also very encouraging for the future of C++ Builder. It is another big step introducing a new 64bit bcc64x CLANG compiler which supports C++11, C++14, C++17, and partially the C++20 standards. Additional support for C++ comes in the form of LearnCPlusPlus.org, the C++ focused website to help beginners and professionals. It has been 3 years since we started adding posts to LearnCPlusPlus.org, and it has grown into a broad selection of new and unique posts with examples suitable for everyone from beginners to professionals alike. It is growing well because of you, and we have many new readers, thanks to your support! The site features a treasure trove of posts that are great for learning the features of modern C++ compilers with very simple explanations and examples. We have a great Facebook group to support C++ in general that is moderated by Me (Yilmaz), Ian Barker, David Millington, et al. Many useful posts, links, guides, examples, and chat rooms can be used to get help with any C++ compiler such as C++ Builder, Dev-C++, GCC, Visual C, etc. Now we have over 20k followers, please share our Facebook group https://www.facebook.com/groups/cppdev and help us to grow more. At LearnCPlusPlus.org, we have finished posts about C++14 features as same as we have done posts about C++11. This week, we have two posts about C++14 features, and we started to C++17 features. We have 3 new post picks from LearnCPlusPlus.org that can be used with the new C++ Builder 12. The first post pick is about the new rules for auto deduction in C++17. Another post is about the new overloads for ranges in C++14 and the other post is about the member initializers and aggregates features in C++14 RAD Studio’s C++ Builder, Delphi, and their free community editions C++ Builder CE, and Delphi CE are powerful tools for modern application development. Where I can I learn C++ and test these examples with a free C++ compiler? If you don’t know anything about C++ or the C++ Builder IDE, don’t worry, we have a lot of great, easy to understand examples on the LearnCPlusPlus.org website and they’re all completely free. Just visit this site and copy and paste any examples there into a new Console, VCL, or FMX project, depending on the type of post. We keep adding more C and C++ posts with sample code. In today’s round-up of recent posts on LearnCPlusPlus.org, we have new articles with very simple examples that can be used with: The free version of C++ Builder 11 CE Community Edition or a professional version of C++ Builder  or free BCC32C C++ Compiler and BCC32X C++ Compiler or the free Dev-C++ Read the FAQ notes on the CE license and then simply fill out the form to […]

Read More

Azure Networking Team reaches peak productivity with Visual Studio’s new remote Linux capabilities and improvements

Azure Networking Team reaches peak productivity with Visual Studio’s new remote Linux capabilities and improvements Sinem Akinci December 12th, 20230 1 Over the past couple of months, the Microsoft C++ team reached out to a series of customers voting on a suggestion ticket asking for Remote Linux Unit Testing support to better understand their full set of interactions and needs with CMake and Remote Linux scenarios in Visual Studio. After these discussions, we built out a backlog of work items to deliver on any pain points in their experiences. One of the customers we interviewed and worked closely with during the process was John Schultz, an Azure Networking software engineer. Our team helped John not only to be able to F5 run his CTest unit tests for Linux, improving his productivity on the scale of hours per run, but also improved his gdb debugger performance and overall IntelliSense issues with his configurations. These new improvements can be found in Visual Studio 17.9 Preview 2, so feel free to try out using the Test Explorer for your running and debugging your unit tests in remote Linux scenarios and notice the gdb debugger improvements on first breakpoint hit. Below is an interview with John about his overall experience. Thank you, John, for working with us! What does your team do? I work on an Azure Networking team that designs, develops, and operates Azure platform services to support Virtual Networking and PrivateLink features. Our application is cross-platform and we use Visual Studio capabilities to develop for both Windows and Linux. For our application that runs on Linux, the target environment has very limited resources. What was your development experience before working with the Visual C++ team? Initially, we could not build in the IDE because we were using custom msbuild-targets for cross-compiling, which were slower and didn’t support IntelliSense. We had seen several posts online at the time that CMake was supported in both Visual Studio (VS) and VS Code, which drove us to ensure our CMake builds were properly functional. After onboarding to CMakePresets.json and the Ninja generator, we got our CMake projects building in both VS and VS Code. This was awesome for the team as it enabled cross-platform compilation from the IDE integration. At this point, the next friction was running and debugging our unit tests. Due to lack of remote Linux unit test support in the IDE, we attempted to attach to binaries running in our remote emulator, but the performance was much worse. Regardless, we would much prefer to stick with using Visual Studio for our remote Linux workflows because our team is familiar with Windows. The target system is built for a custom Linux image which is not designed for development, and VS has a suite of debugging and editing tools that we like to use such as IntelliSense, CMake Project System, GitMerge, CallStack, and Watches. What was your development experience after working with the Visual C++ team? The Visual C++ team first organized a call to understand our needs – which included adding remote Linux unit test support for CTests, improving upon gdb debugger performance issues, and getting IntelliSense configured for our remote scenarios. The team then got to work on delivering on this set of asks and circling back with me to ensure that our […]

Read More

RAD Studio 12 Questions and Answers!

On Thursday 9 November we held the launch webinar for Delphi, C++Builder and RAD Studio 12. We had an unprecedented number of attendees, to the point of doing a rerun on Nov 30th. This QA represents questions raised in both. If you were unable to attend take a look at our replay here. We got hundreds of questions in the Q&A log. It is amazing seeing the interest and feedback and we reply in text as fast as we can during these webinars, but my favourite part of these webinars is the conversation afterwards, where we review what you wrote in and reply live. Here are some of the most common questions we were asked… Table of Contents VCL and FMX ‘EnableImmersiveDarkMode’: does that make the VCL use the Windows dark style? Does FMX include styles for Windows 10 Dark and Windows 11? Are there any guidelines for migrating our MDI app to the new MDI framework in version 12? We are trying to implement scaling changes when moving one monitor to another, is ScaleForPPI a good approach? Skia Does Skia support C++? How about the VCL? Does Skia add RTL (right to left) support in FMX? Is Skia4Delphi in Delphi 12 based on version 5 or on version 6? In version 6 there are many changes, renamed units etc… Are there Skia demos? C++ When do you expect to ship the new C++ toolchain that’s in Preview? If the new C++ toolchain is a Preview, will we see updates? Is Visual Assist included in the price, or do we need to pay extra? Does Visual Assist create any folders under my project directory? Does Visual Assist work with the classic compiler? Is the classic compiler still available for C++? Is TwineCompile available for C++Builder 12? Delphi Visual Assist and Go To Related would be useful in Delphi! Is the JSON class generator also available for C++Builder? Does the circular uses checking also check external units and components? Debuggers What about the LLDB debugger for the Windows platform? Data Will there be a SQLite encryption feature? Is CData still available? Target Platforms Is Linux a target platform for Delphi and C++? Does C++Builder 12 support iOS and Android development? Is Windows Server 2016 supported? General Can 11.3 and 12.0 coexist on the same machine without issues? What about Parnassus Bookmarks and Navigator for Delphi 12? Will the Docker images for PAServer and RAD Server be updated? If we edit a project in version 12, will it compile in version 11.3? Has the ToolsAPI documentation been updated? Are there new demos / samples for RAD Studio 12? Will the IDE be available as 64-bit? I develop on a Mac using ARM using Parallels. Can I compile for ARM and Intel on that platform? Does RAD Studio 12 allow undocked design? Third Party Is FastReports available for version 12? Other Is there a ‘work from home’ license available? Will there be a 12 Community Edition? Any plans for AI in future? What’s the story behind the ‘Athens’ name? Does that mean Delphi works at sub-zero temperatures? General Feedback VCL and FMX ‘EnableImmersiveDarkMode’: does that make the VCL use the Windows dark style? It does for the title bar and border. This makes VCL apps use dark non-client area colours, without having to […]

Read More

KubeCon 2023: CTO.ai’s Developer Control Plane

Speaker 1: This is Techstrong TV. Alan Shimel: Hey, everyone, we’re back. We’re here in Chicago at KubeKon. We’re wrapping up our day two coverage, our last guest for day two. We’ll be back tomorrow, though. But let me introduce you to Kyle Campbell, right? Kyle Campbell: That’s right. Alan Shimel: Kyle is the founder of cto.ai and we’re going to find out about cto.ai and a little bit about what they’re doing here at KubeKon. But before we do that, Kyle, first of all, welcome. Kyle Campbell: Thank you. Alan Shimel: Second of all, let’s hear a little bit about Kyle. Kyle Campbell: Yeah, thanks. Alan Shimel: Tell us your kind of journey. Kyle Campbell: Yeah, well, first of all, great to meet you in person. I’ve talked in the past. Yeah, so my journey, I’ve told this story before, a little unconventional. I grew up in Nova Scotia in Canada, a small town. Been on the internet since the age of eight and just had no interest in the formal past. So I’ve been building software from the early days of the .com boom. I may not look at it, but I got some of the scar tissue. But I was self-taught software engineer, so open source was the key to my success and good developer tools. Alan Shimel: Sure. Kyle Campbell: And I came up through the cloud and open source era and then started founding developer platforms in 2014. The first company I built was a developer platform, the real estate space. Zillow acquired it in about eight months, which was interesting. Alan Shimel: Very. Kyle Campbell: And then I bootstrapped a DevOps agency quite successfully and started to find that there was a lot of opportunity for next generation developer platforms, which led me to cto.ai. Alan Shimel: Excellent, man. What a great story too. You still up in Nova Scotia? Kyle Campbell: I’m not. I moved to the other side of the country. I live in British Columbia now. Alan Shimel: Good for you. Kyle Campbell: Love the outdoors. Spend a lot of time with my son camping, fishing, and trying to get outdoors and just enjoy the beautiful- Alan Shimel: Loving it. Yeah, no, it’s beautiful. I mean, not that Nova Scotia’s not beautiful. It’s brutal in the winter, but it’s a beautiful country, part of the country. Let’s talk cto.ai now. So look, I’ve founded multiple companies myself. Every founder I’ve ever interviewed or spoken with in 30 years, they don’t just say wake up and say, “Oh, I feel like founding a company today.” There’s kind of like Richard Dreyfuss in Close Encounters of the Third Kind, right? There’s something driving you like, “I got to do this. This needs to get done.” What was driving you that needed to get done here with cto.ai? Kyle Campbell: Yeah. I mean, as I described my past, a lot of my journey was self-taught and stand on the shoulders of giants. And really important thing for me was developer experience and ease of use and tooling early on in my career because that enabled me to really drive my competencies as a developer and keep up with these people that had computer science degrees and master’s and all these things, right? Alan Shimel: […]

Read More

What Is The Filesystem Library In Modern C++ 17

In modern C++, the filesystem library allows portable interaction with directories and directory-like structures providing functions such as listing directory contents and moving files. After the C++17 standard, the contents of the Filesystems Technical Specification are now part of modern C++ and are implemented in the filesystem library. What Is the filesystems library in C++ 17? The Filesystem Library is defined in the  header (as a std::filesystem namespace), it provides operations on file systems and their components, such as paths, regular files, and directories. This library allows portable interaction with directories and directory-like structures by using classes and non-member functions. It is modernized well for C++, it is largely modeled on POSIX, and flexible enough to be implementable for different operating systems. After the C++17 standard, the contents of the Filesystems Technical Specification are now part of modern C++ and are implemented in the filesystem library. The filesystem library was previously being used by the boost.filesystem which was published in 2015. In C++17, they merged this library into modern C++. Note that, the boost implementation libraries are still available on more compilers and platforms for many benefits. The filesystem library consists of a lot of file operations (copy, move, permissions), directory operations (listing, iterating, …), and path operations. Some of classes are path, directory_entry, directory_iterator, perms, file_status, … and some of non-member functions in this library are copy, copy_file, current_path, exists, file_size, rename, remove, status, is_directory, is_empty, … Are there some examples of how to use the filesystems library in C++? Here are some examples that can be used with C++17 and standards beyond it, How can I use std::filesystem::current_path in C++ 17? In C++17, we can use std::filesystem::current_path to get current path on runtime. Here is a simple filesystem example in modern C++ that you can get current path.   #include #include   int main() {   std::cout

Read More

What Can You Do With RAD Studio 12? Webinar

Hello everyone. I hope you’re all keeping safe and well. We’ve had a huge amount of interest in RAD Studio 12 Athens our latest release of the Delphi and C++ IDE from Embarcadero. Thanks for your feedback which is overwhelmingly positive, and also for letting us know anything which is not quite right too. In any release the complexity of the engineering which goes into it always means there are some things to tweak and suboptimal bits ranging from the annoying to the downright broken. With a release like Athens which is absolutely enormous it was inevitable there would be some things which would need some additional love. We plan a patch as soon as we are able to knock out any gremlins. Table of Contents We know you have a personal relationship with your code and the IDE What is RAD Studio and what can I do with it? When are the RAD Studio Winter Webinars on? The first Winter Webinar covered What Can You Do With RAD Studio 12 Where can I find the slides for the “What can you do with RAD Studio 12 webinar”? We know you have a personal relationship with your code and the IDE I can’t emphasize enough; we are not a faceless monolithic corporation. Embarcadero is full of people who are strongly passionate about providing the best IDE for modern software development we can. We listen to the whole truth of anything you have to say, for example when you’re super-happy with something like the new Visual Assist integration, the multiline strings, or my personal favorite the huge integration of Skia into the very fibers of RAD Studio. But the whole truth means we also listen where we are not giving you what you want too, and we take it very seriously. Sometimes we’re not great at making it clear and the lack of a comment on a social media post or quality report can make people feel like we are ignoring you. I want to reiterate, again, and again, we’re here, and we’re listening. You can also email me directly at [email protected] and I will respond to you personally. It is quite literally my job to be there for you. I am not going to provide technical support – there are a load of people much better at doing that than me – and I’m not going to wrangle discounts and freebies – but I am going to be there to make sure your questions are answered, and if I don’t have the answers myself, I will find someone who does. What is RAD Studio and what can I do with it? RAD Studio is an incredible tool for creating apps for Windows, Mac, iOS, Android, and Linux and it does so in what I personally completely believe is the easiest and most efficient way possible with several significant advantages over doing it with other tools. That’s why I am here at Embarcadero. In fact, it’s why we’re all here. With that in mind, for the next couple of months there is going to be a torrent of webinars from me which put that belief to the test and demonstrate how RAD Studio can create apps for all sorts of platforms and devices. The first webinar earlier this week covered an […]

Read More

Insider newsletter digest: How to use GitHub Copilot

This is abridged content from July 2023’s Insider newsletter. Like what you see? Sign up to receive complete, unabridged content in your inbox every month. Sign up now > Welcome to our rebranded GitHub Insider newsletter with tips, technical guides, and best practices to help you boost your productivity and happiness. We heard your feedback and refreshed the newsletter experience. Now, each month, Insider will deliver deep dives into one of GitHub’s products, and provide tips and tricks to take your development to the next level. This month, we’re delving into GitHub Copilot. 92% of developers are already using AI coding tools both in and outside of work (according to our latest survey), and AI could remove major disruptions, delays, and cognitive load that developers previously had to endure. So, we wanted to break down our guide to using GitHub Copilot, and share some prompts, tips, and use cases. Here’s what you’ll find in this post: Three best practices for prompting GitHub Copilot Some additional tips for communicating with the AI pair programmer Once you’ve installed the GitHub Copilot extension in your preferred IDE, it’s best to experiment with how to communicate with the AI programmer to get your desired results. Let’s get started. Setting the stage with a high-level goal is useful when you’re starting with a blank file or empty codebase. It provides GitHub Copilot with the context of what you want to build or accomplish, and it primes the tool with a big picture description of what you want it to generate before you jump in with the details. /* Create a basic markdown editor in Next.js with the following features: – Use react hooks – Create state for markdown with default text “type markdown here” – A text area where users can write markdown – Show a live preview of the markdown text as I type – Support for basic markdown syntax like headers, bold, italics – Use React markdown npm package – The markdown text and resulting HTML should be saved in the component’s state and updated in real time */ A detailed comment like the one above can prompt GitHub Copilot to generate a very simple, unstyled, but functional, markdown editor in less than 30 seconds. Keep in mind, though, that outputs from a generative AI tool are non-deterministic, so the responses may vary. A simple, specific ask goes a long way. Though this might result in shorter outputs from GitHub Copilot, it helps to break down the steps and logic that the AI pair programmer needs to follow to achieve your goal. Then, let GitHub Copilot generate the code after each step instead of asking it to generate a bunch of code all at once. Think of it as writing a recipe: You break the cooking process down into simple, succinct steps, rather than writing a paragraph that describes the dish you want to make. Learning from examples is not only useful for humans, but also for an AI pair programmer, so throw a bone or two to GitHub Copilot. Let’s say you want to extract the names from the array of data below and store it in a new array. A prompt that doesn’t provide an example might look something like this: // Map through an array of arrays of objects to […]

Read More

PagerDuty Previews Generative AI Copilot for ITSM

Under an early access program, PagerDuty, Inc. is making available a tool that brings generative artificial intelligence (AI) capabilities to its IT service management (ITSM) platform. Jonathan Rende, senior vice president of products for PagerDuty, said PagerDuty Copilot for the PagerDuty Operations Cloud extends previous investments in machine learning algorithms the company has made as part of an ongoing effort to apply AI to ITSM. Designed to be invoked via Slack, PagerDuty Copilot makes use of multiple large language models (LLMs) to automate tasks ranging from providing summarization of IT incidents to creating code to automate workflows. PagerDuty plans to transparently swap LLMs in and out of its platforms as AI advances continue to be rapidly made, noted Rende. PagerDuty Copilot provides a level of abstraction for invoking AI models along with appropriate guardrails that make it simpler to manage IT operations without IT teams needing to have AI expertise, said Rende. The overall goal is to boost the productivity of IT operations teams by eliminating much of the drudgery and toil that conspires to make working in IT tedious, noted Rende. AI technologies are not likely to replace the need for IT personnel as much as they will enable IT teams to focus on tasks that add more value to the business, he added. It’s now only a matter of time before generative AI capabilities are pervasively applied across both ITSM and DevOps workflows. Less clear is the impact those capabilities will have on the best practices currently relied on to manage those workflows as more tasks are automated. Ultimately, however, AI should make it easier for more organizations to embrace those best practices as the level of skill and expertise required to manage IT at scale is reduced. In addition, the whole concept of issuing tickets to manage tasks tracked by a central system of record may need to evolve simply because AI has automated requests for service. There will naturally need to be some system of record for tracking requests. Still, ultimately that process will be managed via copilots rather than by a ticket created by an end user that is then tracked via an ITSM platform. Savvy IT teams, in the meantime, are already moving to determine which tasks and workflows will be automated in anticipation of AI becoming more widely embedded in ITSM and DevOps platforms. Roles and responsibilities within IT teams will inevitably evolve as AI increasingly automates mainly mundane tasks, such as creating reports that many IT professionals would rather not spend time writing. The biggest IT management platform challenge in the future might not necessarily be adjusting to AI as much as it will be orchestrating requests that are likely to be generated by multiple types of copilots that have been embedded into almost every application. One way or another, AI is about to transform how IT operations are managed. As disruptive as those advances will be, AI, more importantly, will also enable organizations to manage IT at levels of scale that were previously unimaginable.

Read More

How to Use Basic String and Unicode String in Modern C++

In programming, one of the most used variable types are text strings, and they are sometimes really important when storing and retrieving valuable data. It is important to store your data safely in its language and localization. Most programming languages have issues when storing texts and letters. In C++, there is very old well-known string type (arrays of chars) and modern types of std::basic_string types such as std::string, and std::wstring. In addition to these modern string types, C++ Builder has another amazing string feature, UnicodeString. In this post, we explain what a basic string and UnicodeString are in modern C++ and how to use them. What are the string types in C++? In general there are 3 type of alphanumeric string declarations in C++; Array of chars (See Fundamental Types)chars are shaped in ASCII forms which means each character has 1 byte (8 bits) size (that means you have 0 to 255 characters) Basic String (std::basic_string)The basic_string (std::basic_string and std::pmr::basic_string) is a class template that stores and manipulates sequences of alpha numeric string objects (char, w_char,…). A basic string can be used to define string, wstring, u8string, u16string and u32string data types. String or UnicodeStringThe UnicodeString string type is a default String type of RAD Studio, C++ Builder, Delphi that is in UTF-16 format that means characters in UTF-16 may be 2 or 4 bytes. In C++ Builder and Delphi; Char and PChar types are now WideChar and PWideChar, respectively. There is a good article about Unicode in RadStudio. In addition, there were some old string types that we used in C++ Builder and Delphi before, AnsiStringPreviously, String was an alias for AnsiString. For RAD Studio, C++ Builder and Delphi, the format of AnsiString has changed. CodePage and ElemSize fields have been added. This makes the format for AnsiString identical for the new UnicodeString. WideStringWideStrings were previously used for Unicode character data. Its format is essentially the same as the Windows BSTR. WideString is still appropriate for use in COM applications. What is basic_string? The basic_string (std::basic_string and std::pmr::basic_string) is a class template that stores and manipulates sequences of alpha numeric string objects (char, w_char,…). For example, str::string and std::wstring are the data types defined by the std::basic_string. In other words, basic_string is used to define different data_types which means a basic_string is not a string only, it is a namespace for a general string format. A basic string can be used to define string, wstring, u8string, u16string and u32string data types. The basic_string class is dependent neither on the character type nor on the nature of operations on that type. The definitions of the operations are supplied via the Traits template parameter (i.e. a specialization of std::char_traits) or a compatible traits class. The basic_string  stores the elements contiguously. Several string types for common character types are provided by basic string definitions as below. String Type Basic String Definition Standard std::string std::basic_string std::wstring std::basic_string std::u8string std::basic_string (C++20) std::u16string std::basic_string (C++11) std::u32string std::basic_string (C++11) Several string type in std::pmr namespace for common character types are provided by the basic string definitions too. Here are more details about basic string types and their literals. Note that you can use both std::basic_string (std::string, std::wstring, std::u16string, …) and UnicodeString in C++ Builder. Here are more details about basic string types and their literals. What is UnicodeString (String) in C++ Builder? The Unicode standard for UnicodeString provides a unique number for every character (8, 16 or 32 bits) more […]

Read More