Noutați

TMS FNC Chart Update 1.8

TMS FNC Chart is designed to display different kinds of data such as financial and marketing data, monthly business sales, graphical and math data and much more as a chart. This chart is almost fully customizable. Updated Editor In this new update the editor was changed to work as the other editors in other FNC products. The editor adapts to your theme, it changes according to the Light or Dark style of the IDE. It now has high DPI aware controls that look crisp in run-time and in design-time on Delphi 11 Alexandria.And the editor is available in Visual Studio Code. Works together with TMS Analytics & Physics The TMS Analytics & Physics library is a set of classes that provide functionality for building powerful math applications with Delphi. And you can visualize the data or formulas with the TMS FNC Chart. More information on TMS FNC Chart can be found on the product page.

Read More

A Step-by-Step Guide To One Of The Best Javascript Libraries

Sencha Ext JS is the most comprehensive JavaScript framework for building data-intensive, cross-platform web and mobile applications for any modern device. Ext JS includes 140+ UI components, such as HTML5 calendar, grids, pivot grid, D3 adapter, trees, lists, forms, menus, toolbars, panels, windows, and much more which helps make it one of the best Javascript libraries. The robust data package included in Ext JS decouples the UI components from the data layer. Hundreds of user extensions are also available from the Sencha community. You can accelerate web application development with an enterprise-ready framework, components and tools built to work together seamlessly. You can improve the web app design process with pre-integrated tools like Sencha Architect, Sencha Stencils and Sencha Themer. Sencha Test is the most comprehensive unit and end-to-end testing solution for Ext JS. Additionally, Ext JS includes a flexible layout manager to help organize the display of data and content across multiple browsers, devices, and screen sizes. It helps you to control the display of components, even for the most complex user interfaces. Ext JS also provides a responsive config system that allows application components to adapt to specific device orientation (landscape or portrait) or available browser window size. Ext JS also includes features that align with the ADA Standards for Accessible Design. The Ext JS ARIA package makes it possible to add accessibility support to your applications by providing tools that you need to achieve Section 508 Compliance. Using the ARIA package, you can create apps that can be used by people who need assistive technologies such as screen readers to navigate the web. In this article we will explore the ecosystem of all of the Ext JS libraries and tools that make it one of the best Javascript libraries. What is Sencha Ext JS? Sencha Ext JS is the most comprehensive JavaScript framework and set of libraries for building data-intensive, cross-platform web and mobile applications for any modern device but it also has an ecosystem of supporting tools as well. The Ext JS framework itself includes 140+ pre-integrated and tested high-performance UI components. But the supporting tools include Sencha Cmd, Sencha Architect, Sencha Stencils, Sencha Themer, Sencha Test, Sencha Inspector, and Sencha Fiddle. You can build Ext JS applications using drag-and-drop features and spend less time on manual coding. You can also design customized application themes using graphical tools — without writing code. The included IDE and Code Editor Plugins integrate Sencha frameworks into your enterprise workflow, enabling code completion, inspection, generation, navigation, refactoring and more. Find out more about Sencha Ext JS. What is Sencha Cmd? Sencha Cmd is the cornerstone for building your Ext applications. Sencha Cmd is the cornerstone for building your Sencha Ext JS and Sencha Touch applications, as well as optimizing ExtReact applications. Sencha Cmd provides a full set of lifecycle management features such as scaffolding, code minification, production build generation, and more, to complement your Sencha projects. With an ever-expanding list of command line options, from code generation to native packaging, Sencha Cmd automates many tasks related to the Sencha Ext JS app development lifecycles. The tool also provides a rich set of command line syntax and Ant integration. It can be seamlessly integrated with your enterprise build environments or used as a standalone tool to boost developer productivity and enhance […]

Read More

What You Need To Know – A Beginner’s Guide To Windows UI Toolkits

A control or component is a user interface (UI) element that displays content or enables interaction. Components are the building blocks of the user interface. A ‘pattern’ is a recipe for combining several controls to make something new. This article gives a guide for Windows UI development and design guidance for better UI development with modern Windows UI toolkits. The Delphi VCL and FMX frameworks have dozens of built-in controls for you to use, ranging from various simple buttons to powerful data components like the list view grid view. Moreover, the form designer and the LiveBindings designer in RAD Studio provide a great environment to create a bold, scalable UI that looks great on all devices and screen sizes. Delphi VCL & FMX Delphi’s RAD Studio IDE offers a WYSIWYG design experience with drag-and-drop components for visual GUI design. Let’s suppose you choose the FireMonkey (FMX) framework for building GUI apps? In that case, the designed GUI can be viewed using native Android, iOS, Windows, macOS styling, or custom styles and can simulate app appearances within mobile devices of varying screen sizes. But we have another library called Visual Component Library that creates actual native Windows-based applications with direct access to the hardware. You can benefit from pure native device hardware performance.  Delphi’s VCL has been in active development for more than two and a half decades. At least one application in your Windows device is built with Delphi and Visual Component Library. For instance, KMPlayer, WinRAR, MySQL Admin Tools, AIMP, BurnAware, Dev-C++, EarMaster, FL Studio, Nero Burning Rom, Ultra ISO, Total Commander, TeamSpeak, Hamachi (Gamers know it well), Age of Wonders, and many more applications.  Applications built with Delphi VCL give an authentic, native experience with high performance. The VCL includes a robust OpenTools API and component model making it easy for others to extend the IDE and build reusable components and libraries. That’s why you can see a massive pool of 3rd party component markets. This creates a robust environment for developers to make any application. Microsoft Windows has several design systems that you can follow to create GUI apps. For example, Windows Classic Design, Luna and Aero designs, Microsoft Metro, and the latest and most loved one is the Microsoft Fluent Design System. Fluent Design is used as a guideline for all Windows 10/11 devices, and transition to Fluent is a gradual long-term project. The Fluent Design System preserves the clean look and feels with blurred translucency. With Delphi VCL, you can turn your Windows Classic applications into Fluent Design using styles. Furthermore, it can alter any part of the UI element to something unique. Delphi VCL and FMX components can also be resized and have their properties adjusted in the Object Inspector without touching code, allowing rapid prototyping through visual development. Windows UI or just WinUI is Microsoft Windows’ native layer. Most of the new Windows development tools are utilizing it to create an environment to build desktop apps with their technologies. WinUI contains controls and fluent design systems that designers and developers need to develop Windows applications. WinUI is the latest GUI framework such as WinForms, WPF, and UWP. We can say that WinUI has improved over the years and got all the experiences from other frameworks like UWP XAML apps. For instance, WinUI 2 contains […]

Read More

A Cornucopia of Tools To Leverage

Delphi and C++ developers have a wide spectrum of available tools to help build solutions for their companies and customers. Beyond just the compiler, IDE, components and libraries, Embarcadero and Idera provide tools you can leverage to get the development done faster and with higher quality. Here is a quick rundown of all of the tools. Developer Tools Delphi and C++Builder (Professional, Enterprise, Architect and Community editions) allow developers to rapidly build multi-platform high-performance native code applications using the Visual Component Library (VCL) controls for Windows 11 and FireMonkey (FMX) components to develop single source projects for Windows, Mac, iOS, Android and Linux. Developers can also use components that work with SQL and NoSQL databases, cloud services and broad IoT connectivity. Delphi and C++Builder are supported by a global ecosystem of component and library vendors, consultants, trainers and book authors. InterBase is an ultrafast, scalable, embeddable SQL database with commercial-grade data security, disaster recovery, and change synchronization. InterBase can be used by developers in four editions: IBLite – Cross-platform, zero-install, embedded database as a direct-access library; InterBase ToGo – Cross-platform, zero-install, embedded database with database-level and column-level AES and DES encryption; InterBase Desktop – Concurrent applications/client access to the database on Windows with database-level and column-level AES and DES encryption; InterBase Server – Ultrafast, scalable, SQL server database for Windows and Linux with commercial-grade data security, disaster recovery and change synchronization. ApiLayer provides more than 60 off-the-shelf, cloud-based APIs to help developers integrate with services including AI & machine learning, computer vision, social media, FinTech, messaging, security, text processing and more. UltraEdit includes a suite of text editing tools for Windows, Mac and LINUX users. Editors are included that support HTML, XML, CSS, Markdown, Unix shell scripts, Hex, text and more. Froala Editor is a lightweight WYSIWYG HTML Editor written in Javascript that enables rich text editing capabilities for your applications. Visual LANSA is a low-code, rapid application development mobile, web, and cloud developers Sencha Ext JS includes an IDE, JavaScript framework and components for building data-intensive, cross-platform web and mobile applications. Whole Tomato Visual Assist integrates with Visual Studio to add functionality for navigation, refactoring, code generation, debugging, and more. FusionCharts includes JavaScript Charting Components that offer 100+ interactive charts and 2,000+ data-driven maps for web and mobile projects. Filestack’s APIs enables developers to build automated content processing and analysis via atech stack for uploading, transforming, understanding, and delivering content within applications and interfaces. Yellowfin’s business intelligence and analytics platform provides action based dashboards, automated data discovery, data storytelling and reports via Javascript and WebServices APIs. DevOps Tools TestRail by Gurock is a comprehensive web-based test case management tool that allows users to efficiently manage, track, and organize software testing efforts to boost testing productivity and increase the speed and soundness of software development. Ranorex Studio provides all-in-one test automation across devices, platforms, and technologies. Automation experts can use the product’s powerful test automation API, while its tools for codeless test creation empower testers to grow their automation skills. All members of cross-functional teams can collaborate on solutions by sharing reusable test automation modules. Travis CI is a continuous integration platform for building and testing software applications. Travis CI integrates with most other tools in the software development lifecycle, making the platform extremely popular with developers and highly complementary […]

Read More

How To Make Facebook Posts From Windows And Mobile Apps

At Softacom, as a software company specializing in mobile and Windows app development using Delphi, we often integrate clients’ software with 3rd party services using API. In this article we show you how to automatically create posts on Facebook from your Delphi apps using the Facebook Graph API. Facebook is the world’s most popular social platform used by businesses to communicate with their clients, and not only.The daily amount of information (texts, videos, images, urls) being posted in Facebook business accounts is huge and keeps growing. That’s why big companies often apply software solutions to distribute content effectively and in time.In this article we’ll show you how to automate the process of content posting and updating through Facebook API (namely Facebook Graph API).We’ll develop a Delphi FMX software application to post on a user’s Facebook page.The whole process can be split into the following steps: Create a Facebook app Make the required adjustments in the app Debug and test queries using the built-in Facebook API debugging tool called Graph API Explorer Develop a Delphi Fmx (cross-platform) software application Post some content on a Facebook page To work with Facebook Graph API we’ll use GET, POST and DELETE methods and requests. The server response will be in JSON format. How to create a Facebook application entry To work with Facebook Graph API you first need to sign in with your Facebook account (sign up if you do not have one). Then you need to go https://developers.facebook.com and register as a developer. Then you need to confirm your email address Select the profile type and click “Complete registration”. To start using the Facebook API you need to create a facebook app in My Apps . Select “Company” application type. Next, enter the application name, select its purpose and click Create App. Next enter your Facebook login password Congrats! You’ve just created a Facebook app.  How do I get an access token so I can write my own apps to post to Facebook? Now we need to get a token to access the page and configure the appropriate permissions to start posting. To get the token run Graph API Explorer. The Graph API Explorer will help us get the access token so that we can execute test queries and post to the page ( Softacom’s test page). To work with the Facebook app select it from the drop-down lis. To get the token to access the page, choose Get Page Access Token from the User or Page. Next, click Continue Select the page you need and save the ID for further posting: Both options have to be turned on. In our case Softacom. Click Further. The access token has been generated. How do I check my app can use the Facebook Graph API? We can test the Facebook Graph API with the built-in debugging tool “Graph API Explorer”. First, let’s test a GET request to get the profile name and identification number. Select your page (Softacom) Set up special permissions for posting (publish_to_groups, page_manage_posts). Click “Generate Access Token” to generate an access token in order to save the permissions settings. Permissions are saved successfully and a new access token has been generated. Now select your page from the list Send the GET request to get the page name and ID to ensure the […]

Read More

Delphi is 27, happy birthday and welcome to the new generation

Happy Birthday Delphi It is meanwhile a regular. It is again February 14 and it is the birthday of Delphi. We celebrate today 27 years! Not including its predecessor Turbo Pascal, it’s for a whole generation of software developers already well over the half of a career that Delphi gives us professional satisfaction as well as bread on the table. But today, I wanted to devote this birthday of Delphi to the next generation. The new generation that is at the start of a new software development career. The new generation that discovers Delphi and is feeling enthusiasm and the new generation for which Delphi still is a valuable & productive tool to accomplish real-life software development tasks that has an impact on people’s lives. Enough said, read the article Stephanie Bracke, our intern this year at TMS software wrote herself or watch the video she made herself! See or read & be amazed about what Stephanie accomplished for Delphi apps that can change people’s lives, including people with disabilities. Bruno Stephanie.Introduce(‘Hello world’); When I first started my internship at TMS software, I felt overwhelmed and that still feels like an understatement, but luckily my mentor Bruno repeatedly told me ( and I needed to hear that every time as well ) that in order to be able to run, you should learn how to walk. To get started and prepare myself during the summer holidays, I was given a two book, the first by Marco Cantù and another by Holger Flick. to try to get myself familiar with the Delphi IDE and also the Object Pascal language.  My project For my first real assignment I was given an open source library called Annyang! And was the task was to study this library and turn this into an easy to use speech to text component for TMS WEB Core.  I feel like creating the TSpeechToText component with Annyang! Is like entering a rabbit hole, in school we learned the basics, but the deeper you go, the more there is to learn!  In short, I created a web application with TMS WEB Core and only one button that starts Annyang. But of course, you can start the engine automatically at application startup or in different ways, if you don’t like that button. You’re as free as a bird here! Once the button on my webpage is clicked, the device microphone gets activated (see red little icon the caption) in your browser and Annyang starts to listen to your command. I added a few commands, for example:  Start -> starts the camera Snap ->takes a picture Listen -> Annyang starts listening to sentences and adds it to the memo Once you activate the “Listen” command, Annyang will still listen to single word commands and execute those as a priority instead of adding the recognized words in a TWebMemo control, whenever that single word is used in a sentence, the entire sentence will be written down without execution of said command. There are also commands like zoom, reset, pause and resume but those are for you to find out in the demo!   The more time I spend using Annyang as a component the more I can think of ways to enhance it, there are just so many ways and possibilities of using this component that I can’t wait to see what […]

Read More

Check your overflows

This topic has concerned me forever, but an exploit I read about a month ago triggered me to finally write something. The exploit itself is fascinating, so in case you haven’t read about it, I’ll leave the link here: https://googleprojectzero.blogspot.com/2021/12/a-deep-dive-into-nso-zero-click.html But what can be so fascinating about a vulnerability?, I can hear you say. We find exploits every day in every product, don’t we? To what I have to answer, “yes, we do”. And, while not the focus of this post, that’s exactly the problem. The exploit This was an exploit in a JBIG2 library. JBIG2 is not designed to execute code, so it is not simple to make it execute code. It is not like a flaw in a PDF javascript implementation, where you get access to the javascript engine when you shouldn’t, and once you are in, you just execute commands. There is nothing to execute here. And yet… The exploit starts simple, with an overflow bug. Basically you sum some numbers, say like: MemoryToAllocate := Length(data1) + Length(data2); …AllocatedMemory := AllocateMemory(MemoryToAllocate); FillWithData(AllocatedMemory); But what happens if I maliciously create a file where Length(data1) is near the maximum an integer can hold and then add the length of data2? In most programming languages, what will happen is that the integer will overflow, so 2147483647 + 1 = -2147483648 And of course, since I have control over both lengths, I can create a file that allocates, say 2 bytes, and then tries to write 100 bytes into the allocated memory, corrupting the stack. And now it is where it gets interesting. We want to execute code, not to corrupt the stack, and as mentioned before JBIG2 doesn’t really execute any code. So how do we continue? Simple: We find out a way to emulate a NAND gate with the stack corruption, and then construct our own computer from those NAND gates, where we can execute any code we want. As the article says, it is not as performant as JavaScript, but it gets the job done. Now you can infect a phone just by sending it a message, without the user even having to click on anything.   The takeaway In computing, we always tend to forget about border conditions. Usually, that works fine: I mean, what are the odds that an integer overflows in day-to-day images? The JBIG2 code was probably correct for virtually 100% of naturally occurring JBIG2 files. But when you add someone maliciously trying to break your code, the situation changes. No matter how small a hole you leave on your wall, someone will use it and build a 6-lane highway to enter your place. Give them a small overflow, and they will make a whole computer out of NAND gates. And what can we do about it? First steps first: we should always stay vigilant, not just about how invalid data can break our program, but more important, how maliciously created, completely-unlikely-to-exist-in-the-real-world data can break our apps.  WE NEED TO ALWAYS CONSIDER HOW SOMEONE COULD MALICIOUSLY ATTACK OUR CODE. IT IS NOT ENOUGH WITH JUST MAKING SURE IT WORKS IN THE EXPECTED OR REASONABLE CASES But I firmly believe that staying vigilant is not enough. We are humans, after all, and humans make mistakes. So we need all the extra help we can get, […]

Read More

5 Examples Of Successful ExtJS Tutorials For Beginners

User interface (UI) is a critical component of a web application and having an attractive UI promotes a positive user experience. Several Javascript frameworks allow web developers to build stunning UI with advanced functionalities. ExtJS or Extended JavaScript is a comprehensive JavaScript framework developed by Sencha to develop data-intensive and cross-platform web and mobile applications using JavaScript. Currently, Ext Js provides more than 140+ UI components such as calendars, grids, trees, lists, forms, menus, toolbars, panels, windows, and hundreds of different extensions. So are you aiming to build high-performing web and mobile UIs using ExtJS? Then go through the following five examples of a successful Ext js tutorial for beginners. How to build an Ext Js application using a modern toolkit? The first step in creating an Ext JS application is generating an application using Sencha’s open tooling. You will use Sencha ext-gen as the application generator and ext-build as the build tool based on Sencha cmd. To use those sencha tools, you need to request them from the Sencha website. Go to ExtJS and click on start free trial. You can fill out the form and get the npm package as a zip download to your email account or directly install it using public npm. Using the free trial version, you can install the Ext Js using the following command from your command-line tool.  npm install -g @sencha/ext-gen If you are a registered customer, you can find all the related packages in Sencha’s private npm registry. You need to log in to access the registry using the below command. It will download the npm packages from the private npm registry. npm login –registry=https://npm.sencha.com/ [email protected] npm install -g @sencha/ext-gen After login, you can type in the following command to generate the new application. ext-gen app -a  Then Your project is generated successfully. Now you can go to the project folder by typing the following command. cd ./modern-app Finally, you can execute your project using the following command, which will open your application in a web browser. npm start After executing these steps, you have been successfully generated your first Ext Js application. How to build a basic layout for your application? Ext Js uses Model View Controller (MVC)  and Model–View–ViewModel (MVVM) design pattern for its generated project structure. The video tutorial discusses the basic structure of an Ext JS application, application build profiles, class system, and MVVM pattern. The main sources code of your application resides in the ‘app’ folder, and the build folder contains build-related code such as testing and production build. The app folder consists of the profiles related to phone, desktop, and shared. The shared folder contains the code shared between the desktop and the phone. Each app folder source code is organized into model and view folders. View folder contains the application’s main view, and there can be different view containers based on your application. Next,  you can find the View model of each main view.js file definition. The view models of each child view file are also located in the main view file.  Your ext Js application also contains an Application.js file, and its instance will be included in the app.js file.  Sencha will automatically create the contents of the Application.js file.  How can you use Ext Js Data Package? Ext Js data package consists […]

Read More

5 Compelling Reasons Why You Need IDE Software

Right now, we’re facing one of the most challenging times in IT. Enterprises are looking to accelerate improvements to keep up with rapidly changing market conditions. Hence, impacting the role of IT and piling more pressure on developers to deliver more business solutions, albeit in shorter time frames and with limited budgets. In this case, we must strive to increase efficiency and productivity. For many of us, this means leveraging the right tools. In this article, we’ll show you why using IDE software matches today’s industry needs.  Let’s dive right in. 1. How can I improve code readability using IDE software? Code readability is one of the most important fundamentals in software development. However, many developers, both new and experienced, struggle to write readable code. Great code readability means easy code maintenance. This is particularly true for teams, where the person writing the code is often different from to the person maintaining the code.  With that being said, IDE software takes the load off you, allowing you to focus on the actual code rather than its readability. Using an IDE, you can incorporate language-specific styling tools to improve readability. Generally, IDEs can recognize keywords and symbols in your code then color codes or formats (bold or italics) for better readability.  2. How can I increase productivity using IDE software? During the software development process, developers leverage various tools- text editors, compilers, and debugging tools. Without IDEs, you have to incorporate, deploy and monitor each tool separately, which can end up being time-consuming and error-prone.  An Integrated Development Environment is a software technology that combines common development tools such as a specialized text editor, a compiler to convert the code into something usable by an end-user, a debugger to find mistakes or unplanned behavior in the program – and several other related tools, into a single framework or user interface. Having the majority of the required tools on the same workbench saves time and ultimately increases developer productivity. This is because you can direct the time and effort needed to learn and use each tool individually into useful work. This can also be seen as a great onboarding tool for new developers looking to understand a team’s architecture.  With IDEs, you can also take advantage of features like intelligent code completion and automatic code creation to minimize code or typo errors. Since it recognizes the programming language you’re working in, an IDE can suggest useful completions which saves the developer from remembering the nuances of a particular function’s arguments and parameters or behavior. This can also increase project completion speed as you don’t have to type out every code line yourself. 3. How can I restructure existing code using IDE software? An IDE allows you the luxury of restructuring your code without affecting any elements’ behavior. What does this mean? Software development projects often involve thousands of lines of code and multiple files and folders. Sometimes, this can get too complex or confusing to maintain, and some changes could simplify things. For example, changing file names, moving files to folders, renaming or reassigning variables, breaking down lines of code into different functions, etc.  IDE software makes these processes seamless. Rather than manually renaming elements in different lines of code, you can simply select one element and effect the change on the […]

Read More

The Top 5 Quick Tips About Automating Development

Increasing technological advances are changing the software development world as we know it, whether that is pure native Windows development or a more blended approach targeting multiple device types. If you don’t keep up there’s a definite nagging doubt that you might get left behind. Organizations and developers alike are beginning to realize how critical development process automation is to the success of any project. By automating build processes, you can speed up application development, free up developers to focus on business-critical solutions, boost productivity, reduce human intervention and errors on repetitive tasks, and ultimately increase ROI.  Unfortunately, in my opinion, many enterprises implement automation the wrong way. For example, in a bid to automate build processes, they may employ the wrong tools that, rather than speed up the process, would slow it down, or even worse, combine too many tools and end up over automating. Practically, no automation effort is without challenges. However, it will definitely live up to all its promises if done correctly. With that in mind, here are a few quick tips to guide your automation process.  How Can You Define Your Automation Strategy? Given automation’s inherent benefits, many organizations are guilty of carelessly employing automation where it seems to make sense, without giving any thought to strategy. Like any IT initiative, to yield rewards, you need to plan for using automation — a robust and well-thought strategy that holds everything in place and prevents mishaps due to lack of foresight.  To drive his point home, senior vice president and business head for cloud, infrastructure, and security services at Infosys likened a “strategy-less” automation journey to embarking on a road trip without a defined destination, a GPS, or a map. You’re not quite sure where your journey ends.  Instead of embarking on a dimensionless automation spree, identify problem areas; small operational areas with business potential, for example, repetitive processes, start from there.  What Is The Right Tool To Manage Your Automation? It takes more than “just technical skills” to successfully manage automation. You need to ensure you’re leveraging tools that will improve operational efficiency and performance. RAD Studio Delphi is the most powerful Object Pascal IDE and component library for single-source multi-platform Native App Development with flexible Cloud services and broad IoT connectivity. It provides modernized VCL controls for Windows 11 and enables FMX development for Windows, Mac, and Mobile. Delphi is your choice for ultrafast Enterprise Strong Development. Enhancements include support for high-DPI and 4K+ screens, extended multi-monitor support, improved Object Inspector, and much more. Delphi is 5x faster for development and deployment across multiple desktops, mobile, cloud, and database platforms, including Windows 11. Successful automation projects require communication and organizational skills. With Delphi’s enhanced Remote Desktop support (for VCL and IDE), you easily collaborate remotely with your team. How Can I Build Automated Security Check-ins? Automation can create an attack surface for vulnerability, as we have seen with recent supply chain attacks. Your pipeline can be compromised in different ways. For example, let’s say you’re running a node.js project and you rely on certain npm packages. If you’re pulling these packages from an online registry, you run the risk of your packages being compromised by malicious code. To avoid this type of attack, you can have a local repository of packages and do a […]

Read More