Noutați

The Ultimate Productivity Application: My Shift Planner

Most organizations, particularly in the retail and manufacturing sectors once they go beyond a handful of employees, start to introduce shift working arrangements. Shifts can help to make the most efficient use of work time and ensure a continuous production or service availability. The filling and coordination of shifts, however, also introduces some complexities and before long administrators and the employees can begin to struggle a little to keep on top of things. Helping with the shift scheduling workflow My Shift Planner, from UK developers MyBuzz Technologies, is designed for shift workers to help take back control of their work/life balance and help manage when and what their working hours will be. According to the developer, “My Shift Planner is the most powerful Shift Work Calendar app on the market and the easiest to setup and use. Download today to gain back control of your social calendar.” Making admirable use of RAD Studio Delphi to produce cross-platform mobile code MyBuzz have really packed a host of features into My Shift Planner which extract the real benefits of the Firemonkey FMX framework to leverage the user’s mobile device. It’s a superb tool for shift workers. Key Features of My Shift Planner Easy set up. The most common shift schedules are already pre-configured as well as custom set up The shifts synchronize with the mobile device’s calendar. Flexible enough to cope with almost any type of roster. Allows for recording notes as well as actual worked hours and overtime. Contains work reports so that staff can view and check their worksheets. Lets the staff know which day is pay day. Has sharing facilities to share the roster with family and friends. Has built-in, free backup tools.. Google Play My Shift Planner Screenshot Gallery RAD Studio Delphi powers the “My Shift Planner” app – it can power your apps too. Are you ready to join them making great apps? Reduce development time and get to market faster with RAD Studio, Delphi, or C++Builder. Design. Code. Compile. Deploy.Start Free Trial   Upgrade Today    Free Delphi Community Edition   Free C++Builder Community Edition

Read More

Developer Stories: Roshan Gerard Bolonna And His MySQL Direct Backup Software

Roshan Gerard Bolonna has been using Delphi since 2005. He has a showcase entry (MySQL Direct Backup) submission in the Delphi 26th Showcase Challenge and he explained more about it through an interview. You can checkout their application through MySQL Direct Backup website. When did you start using RAD Studio Delphi and how long have you been using it? My interest in Delphi started after using the Turbo C++ back in 2005, when developing Win32 applications, and found that Delphi has a lot of features and easy-to-use libraries. What was it like building software before you had RAD Studio Delphi? RAD Studio is extremely rapid application-oriented and provides all the necessary components to fulfill a software requirement compared to most solutions provided in Visual Studio and other software solutions. How did RAD Studio Delphi help you create your showcase application? As I mentioned earlier rad studio is extremely rapid application-oriented, this is my very first mobile application developed while learning Firemonkey for the first time. This really proves RAD studio has really good features to get the work done fast and is easy to learn. What made RAD Studio Delphi stand out from other options? Interesting features and interactive software components that allow to development of applications with minimum coding involvement. What made you happiest about working with RAD Studio Delphi? Native performance & complete support for Win32 API and a huge component library. What have you been able to achieve through using RAD Studio Delphi to create your showcase application? Customer requirements that cannot be fulfilled by other software solutions, such as remote MySQL native direct backup application. What are some future plans for your showcase application? A serial port data monitor based on Delphi using the VCL. Thank you, Roshan! Click the link below to view Roshan’s wonderful showcase entry. Showcase

Read More

The Future Of Javascript App Testing Is Through Automation

As a developer, we understand how hard is to test all possible problems of an application, and always if you make an important change on your project you probably would be afraid if the application will be broken after merging your code to production, right? Not counting a lot of time you have to spend with many of tests, since basic and more complex to make sure that your new version will be running perfectly. To solve this problem let’s know the great Sencha WebTestIt what is a great and powerful tool and totally free to use on your project and have great productivity saving time and avoiding big problems like bugs blowing up for the user. How can I test Javascript Applications automatically? As a first step, download and install the Sencha WebTestIt here. Follow the steps and you will receive an email with the link to download the product. Extract the file and install it on your machine simply following the very easy steps that the installer will show you. All steps to install are here. Once you have Sencha WebTestIt installed, open it and click on New Project button and then give it a name like my-first-test. Finally, you can define the language that you will create your tests. For this post, we will select Java. After that, click on the button Save to create the new project and start working on it. You can learn more about the UI of the product here. It will explain each tab and what it is used for. How easy is to to start a Simple Test Project? For this project, we will be testing the Ext JS Admin Dashboard but running it locally and we will be focused on the Email page, the List component specifically that we created easily based on templates on this post. You can also test any Web Application or Web Site independently of the technology or framework used to create it. How to create Objects with Sencha WebTestIt Click on New Page Object File to store the element selectors to get the component references to access on our test and give it the name EmailListPo.java. How can I simulate User Actions on a Test? Here we are going to create the actions that our automated test will run against our Email List. Let’s create an action to simulate the user clicking on the icon heart to remove the email from favorites and check if the cell on the grid was changed based on the cell red mark that Ext JS uses to identify if the value was changed on that cell then we will understand that the record was updated locally as a  non-favorite message. Follow these steps: Select the EmailListPo file from your project’s pageobjects folder. On tab Elements click on Add element. Give it the name iconHeart On selector, type .x-grid-cell-inner .fa-heart referring to the heart icon in the grid cell Click on close to save the selector Drag iconHeart  into the Code tab after getTitle method to it create a new method with our new element. It will open a context menu, click on Do then Click on element option The UI will create automatically the method to simulate the click on the heart. Save the file. How can I write a Javascript test? Let’s create […]

Read More

Developer Stories: Murod Oripov Shares Insights On His Uzbek Crosswords Application

Murod Oripov has been programming with Delphi since 2003. His application (Uzbek Crosswords) was qualified for the Uzbek Crosswords and we asked him to tell us some more about his Delphi experiences. Go on over to Uzbek Crossword in Google Play to download the application. When did you start using RAD Studio/Delphi and have long have you been using it? I have been using Delphi since 2003 when it was Delphi 6. What was it like building software before you had RAD Studio/Delphi? I used Foxpro, Basic and C/C++ as a beginner. But I met Delphi and it liked me very much. How did RAD Studio/Delphi help you create your showcase application? The Delphi language seems a lot more straight-forward to use than other alternatives to me. Delphi has a lot of components and beautiful graphic capabilities. What made RAD Studio/Delphi stand out from other options? I think RAD Studio is more easy to understand than other IDEs. What made you happiest about working with RAD Studio/Delphi? I liked the experience of using Delphi to write code very much. Especially making Android apps. What have you been able to achieve through using RAD Studio/Delphi to create your showcase application? I realized that I must work hard and continue in that spirit. And I will definitely succeed. What are some future plans for your showcase application? I decided to get to know Delphi much more and to teach school children how they can use it to make simple beautiful graphical apps. Thank you, Murod!  Click the link below to view Murad’s showcase entry. Showcase No matter where you live or where you choose to work, the ease and power of RAD Studio and Delphi is a powerful combination to make your apps become a reality. Are you ready to take your ideas and make them real?

Read More

Easily Build Powerful Interactive Data Visualizations Using D3 And JavaScript

The D3 package in Sencha ExtJS enables you to create interactive data visualization easily. By utilizing it, you can present the data more effectively in your web application. As a result, individuals and companies can easily uncover valuable insights. In this post, you will know the details of creating powerful data visualizations using two components: D3 Pack and D3 Hierarchy. What is D3? D3 (Data Driven Components) is an open-source JavaScript library. It enables you to create interactive data visualizations in web browsers using SVG, HTML5, and CSS. D3 allows you to bind any kind of data to the Document Object Model (DOM) and make the data interactive by applying data-driven transformation effectively. It supports a plethora of APIs. As a result, you can create and implement beautiful data visualization to your web application easily. How can I build Interactive Data Visualization with D3 and Ext JS? The Sencha D3 package is completely integrated with Ext JS. So, you can build interactive data visualization conveniently. Also, you can implement it with your Ext JS web application quickly. There are various component types in the D3 package. But in this tutorial, we will focus on two types of components: D3 Pack and D3 Words. D3 Pack As the name suggests, this component utilizes D3’s pack layout. It enables you to visualize hierarchical data as an enclosure diagram. Here is an example: To create the visualization shown above, you have to follow these steps: 1. First, you have to create the View using these codes: Ext.define(‘KitchenSink.view.d3.Pack’, { extend: ‘Ext.panel.Panel’, xtype: ‘d3-view-pack’, controller: ‘pack’,   requires: [ ‘KitchenSink.view.d3.TreeViewModel’, ‘Ext.d3.hierarchy.Pack’ ],   width: 930, height: 900, layout: ‘fit’,   viewModel: { type: ‘tree’ },   items: { xtype: ‘d3-pack’, padding: 20, bind: { store: ‘{store}’ }, tooltip: { renderer: ‘onTooltip’ } }   }); Here, you are defining the height and width of the visualization. Also, you are binding the data to store. 2. Next, you have to create the Controller. Simply add these codes:Ext.define(‘KitchenSink.view.d3.PackController’, { extend: ‘Ext.app.ViewController’, alias: ‘controller.pack’,   requires: [ ‘Ext.util.Format’ ],   onTooltip: function (component, tooltip, node, element, event) { var size = node.get(‘size’), n = node.childNodes.length;   if (size) { tooltip.setHtml(Ext.util.Format.fileSize(size)); } else { tooltip.setHtml(n + ‘ file’ + (n === 1 ? ” : ‘s’) + ‘ inside.’); } }   }); Here, you are defining the function for specifying the size of the nodes. You can find the demo here. D3 Words With the D3 Words component, you can visualize the frequently used words through a customized word cloud where a parent circles contain the child ones. Here is an example: The visualization reveals the most used words of a novel, called “Treasure Island.” You can create it quickly by simply following these steps: 1. Create the View with these codes: Ext.define(‘KitchenSink.view.d3.Words’, { extend: ‘Ext.panel.Panel’, xtype: ‘d3-view-words’, controller: ‘words’,   requires: [ ‘KitchenSink.view.d3.TreeViewModel’, ‘Ext.d3.hierarchy.Pack’ ],   width: 930, height: 900,   layout: ‘fit’, title: ‘”Treasure Island”‘s most used words’,   items: { xtype: ‘d3-pack’, reference: ‘pack’, padding: 0, nodeText: ‘word’, nodeValue: function (node) { // Instead of using `nodeValue: ‘count’` as a config, // take a qubic root of the ‘count’ to downplay // differences in the relative size of nodes. return Math.pow(node.data.count, 1/3); }, colorAxis: { // For this example, we want all nodes to have […]

Read More

Developer Survey: Which Developer Streamers Do You Follow?

Whether you are watching on YouTube or Twitch there is no denying that online streaming of software development and video games is hot. We put together this survey to find out who your favorite developer streaming personalities are so that we can get to know them and possibly build content with them for you! Let us know in the survey below!

Read More

Data Visualization: 5 Ways To Be An Enterprise-Grade Master!

What is data visualization? Data Visualization is an interdisciplinary field that deals with the graphic representation of data. It is a particularly efficient way of communication when the data is diverse and potentially complex. Visualizing data, whether in charts, graphs, or some other form, is important because it can give meaning to the data for a broader audience. “Visualization gives us a way to parse and understand data so that we can add it to our stories, we can incorporate it into our thinking” says Ellie Fields, Senior Vice President of product development at Tableau. How do I start learning data visualization in Windows? With a plethora of online tools and software packages for Data Visualization available, online classes, and resources to help you hone your skills, the entry barrier for creating compelling Data Visualization is lower than ever before. That means you can become proficient in presenting data visually “without a real background” in computer science, data science, or programming. But with so many options, finding a place to start can be overwhelming. In this tutorial, we’ll introduce you to how to integrate any Python’s Data Visualization libraries with Embarcadero’s Delphi, using Python4Delphi (P4D) to get you started in creating Windows GUI apps. How does Python4Delphi help with data visualization? P4D empowers Python users with Delphi’s award-winning VCL functionalities for Windows which enables us to build native Windows apps 5x faster. This integration enables us to create a modern GUI with Windows 10 looks and responsive controls for our Python Data Visualization applications. Python4Delphi also comes with an extensive range of demos, use cases, and tutorials. How to use Matplotlib, Seaborn, Bokeh, NetworkX, and Plotly Python libraries to perform data visualization tasks All of the libraries we show in this demo can be integrated with Python4Delphi for you to easily create Windows Apps with data visualization capabilities. Prerequisites: Before we begin to work, download and install the latest Python for your platform. Follow the Python4Delphi installation instructions mentioned here. Alternatively, you can check out the easy instructions found in the Getting Started With Python4Delphi video by Jim McKeeth. Time to get started! First, open and run our Python GUI using project Demo1 from Python4Delphi with RAD Studio. Then insert the script into the lower Memo, click the Execute button, and get the result in the upper Memo. You can find the Demo1 source on GitHub. The behind the scene details of how Delphi manages to run your Python code in this amazing Python GUI can be found at this link. Open Demo01.dproj. 1. How do I Visualize Data with Matplotlib in Windows?  Matplotlib is one of the most popular and oldest data visualization libraries in Python which is commonly used in exploratory data analysis and machine learning. In data science and machine learning, Matplotlib helps us to gain insights from a huge amount of data through different data visualization techniques. With the growing demand for data science and analytics skill sets, visualizing data programmatically is one of the most crucial tasks these days. You can easily solve these tasks by combining the Matplotlib library with Python4Delphi (P4D). Matplotlib can be used in Python scripts, in the Python and IPython shell, on web application servers, and various graphical user interface toolkits (in this post, Python GUI by Delphi’s VCL using […]

Read More

Use FNC Pack To Easily Build Powerful Dashboard Apps For Windows, Mobile, And The Web

Technology Partner TMS Software provides a wide range of fantastic components for Delphi and C++ builder. Their components have a modern look and are well optimized. All of TMS’ components have a trial version so you can try out the various features and capabilities inside your own applications before you decide to go ahead with a purchase. Are you looking for cross-platform component set for Windows, macOS, iOS, Android, Linux and the web? Among their other offerings TMS has a component pack called The FNC pack. FNC stands for Framework neutral components. If you use the FNC components you can get your Delphi and C++ programs to target Windows, macOS, iOS, Android, Linux and the web without any code changes simply by using the FNC components which then internally handle the various differences between the operating systems for you. What’s in the TMS FNC Pack? TMS FNC Component Studio TMS FNC Blox TMS FNC Chart TMS FNC Cloud Pack TMS FNC Core TMS FNC Dashboard Pack TMS FNC Grid Excel Bridge TMS FNC Maps TMS FNC UI Pack What is TMS FNC Dashboard Pack? TMS FNC Dashboard Pack contains, perhaps obviously, a set of controls which emulate gauges and dials you might find useful for creating dashboard type visualizations. there are a broad range of very customizable components suitable for visualizations and the components work in VCL and FMX apps as well as TMS WEB Core (TMS’ solution for creating native web applications using Delphi code). You can get a free trial of the component pack from this link: https://www.tmssoftware.com/site/tmsfncdashboardpack.asp What comes with the TMS FNC Dashboard Pack? Let’s look at what components packed inside the TMS FNC Dashboard pack. TTMSFNCWidgetProgress This is a circular progress indicator. You can add your own bitmaps to customize it. Also you can convert it to a continuous progress bar. TTMSFNCWidgetSetPoint This is an indicator with a range. We can set a point and set start, end, center point texts. So according to the value it will show relevant text. For example you could use it to indicate temperatures and get it indicate when a maximum or minimum temperature has been achieved. TTMSFNCWidgetMultiProgress This is a circular progress indicator with multiple values. This indicator can also be heavily customized such as with your own bitmaps. TTMSFNCWidgetDistributionIndicator This component can visualize Pie charts, Donut graphs, Funnel types, Horizontal bar or a Vertical bar indicator. It can show values as percentage or an absolute. You can also customize the footer and legend according to your preferences. TTMSFNCWidgetMarqueeProgress / TTMSFNCWidgetMarqueeContinuousProgress Displays as either a continuous or marquee progress indicators. TTMSFNCWidgetLCDLabel This is seven segment LCD indicator. You can adjust the number of digits and the separator positions. TTMSFNCWidgetGauge You can add any number of needles to this gauge control, custom ranges and many more. TTMSFNCWidgetArrow This is a trending indicator arrow. It will adjust it color according to its angle. TTMSFNCWidgetTrendIndicator How to provide data for TMS Dashboard controls? Adding data is easy. You can live bind to a database or add manually in the design time or runtime. Where can I find demo applications of TMS FNC Dashboard Pack? TMS offers a live demo on its website. To check the live version of the TMS FNC Dashboard Pack web version go to the following link: Live […]

Read More

Customer use case: bringing an FMX app to the web with TMS WEB Core

After years of marketing a Delphi Windows/macOS version of my Star Analyzer program, I found that many clients wanted a web-based program which would run on any device, especially a tablet. They also wanted their data stored in the cloud so that several people could use the program at the same time. The macOS version produced by Delphi was often plagued with macOS incompatibilities, and neither version would run on a tablet. So I decided to take the leap to the web. Another deciding factor was the library of 85 Object Pascal code files that I developed over the years for use with all my programs. I definitely did not want to rewrite my library from scratch. I am rather fond of it. My Star Analyzer program included another 100 Object Pascal code files which all use my library files. So far I have not needed to write a single line of JavaScript or HTML code, and about 80% my existing Delphi code works nicely with the WEB Core components. Some of 20% of new code I had to write was relatively straight forward, and some was a bit tricky. I’ll talk about the tricky parts a bit later in in this Blog. Converting my existing FMX forms to TMS WEB Core As we all know, the components on the forms talk to your code through their event handlers. Theoretically then all I would have to do is create new forms, drop FNC and WEB Core components on the new forms, and use hook them up to most of my existing code.  Not too much work, or so I thought, but it turns out it was not quite that simple. If you look at Star Analyzer for the web you’ll see that it is built around tab controls. Click Data Entry and Data Analysis button and you’ll find there are 15 tab controls on the main form and 18 tab controls on the tabs on the main form. The original program was built around one large and complicated main form that held all the components for all 33 tabs, but the program worked nicely, and was easy to code and trouble shoot. In converting my program to WEB Core, I first duplicated this tab structure using the TTMSFNCPageControl. The new layout looked just like the old layout, and was easy to work with in programming, but it would not compile. It turns out that you can’t compile a program with thousands of components and 33 tabs on one main form. It chokes the compiler. Using Hosted Forms to reduce the complexity of browser pages The solution was to use a TTMSFNCTabSet (which has no pages, just tabs) and to use a hosted form as shown in the TMSDemosWebBasicsFormhosting demo provide by TMS. The text and number of tabs on the main TabSet are changed in code, and the controls that used to be on the tabs are now on a Hosted Form. In the image below the area outside the red box is the main form, while the area inside the red box shows one of the 23 different Hosted Forms. The advantage of Hosted Forms is that each web browser page has a small number of components and on it.  This Case statement below shows how the hosted forms […]

Read More

Upcoming Miletus cross platform support

About 3 weeks ago we released TMS WEB Core v1.7 Ancona. One of the new features was Miletus, our new framework to create desktop applications with TMS WEB Core. It was exciting to see that many of you showed interest in Miletus, so we’ll take a look at what you can expect in the future. What’s coming in TMS WEB Core 1.8 We launched Miletus with Windows 32-bit and 64-bit support, but our goal was already set from the beginning: a cross platform alternative that is based on TMS WEB Core. To make this possible, research work has already started before the TMS WEB Core v1.7 release. We are happy to share that as of today here in the labs, we can already target MacOS and Linux! Starting from TMS WEB Core 1.8 you’ll be able to select the MacOS and Linux target. This will mean that you can create MacOS and Linux applications on Windows without an additional connection to the target systems! After the proper setup, you’ll only need to copy your created application to the operating system of your choice. Keep in mind that for distribution it’s recommended to sign your application and that can only be done on the target operating systems. Why choose Miletus? Miletus is not meant to be an Electron replacement, but rather something to co-exists next to our current Electron support as an alternative to those who want: No NodeJS dependency Smaller executable sizes Less deployed files More broad local database support You can take full advantage of web technologies combined with native operating system level operations: There’s a lot of native functionality exposed already. Access to the local file system, operating system menus and notifications, drag and drop functionality, global shortcuts just to name a few. We are always looking to extend the native support based on your feedback!  You don’t necessarily need a DB backend running, you can easily connect to a local DB file or a cloud DB service just like in a VCL or FMX application! For cross platform targets, the following databases will be supported: SQLite, MSSQL, PostgreSQL, mySQL. This if of course only the beginning, we already have plans to expand the supported DB list! The power of HTML5 and CSS3 is at your disposal. There are a huge amount of libraries and templates available for web applications that you can not only reuse in your Miletus application but with their help you can also create visually more pleasing user interfaces!  And did you know? It’s easy to migrate your existing TMS WEB Core application to Miletus. Watch this hands-on video from our colleague Dr. Holger Flick, who explains the process in detail: After the TMS WEB Core v1.8 release the next step will be to bring Miletus to TMS WEB Core VSC too. We already did some further research in this area, and our results are promising to bring a truly cross platform experience! But that’s not the only long-term goal: based on the feedback we got, we’ll also look to add more DB support!  As mentioned earlier, we have full control over this technology which means we can extend the palette of components and functionalities without depending on 3rd party solutions while maintaining the advantages listed above. We are eager to learn what you’d like to […]

Read More